/[bibulus]/bibulus/LaTeX/LaTeX.pm
ViewVC logotype

Diff of /bibulus/LaTeX/LaTeX.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by twid, Sun Apr 6 21:16:46 2003 UTC revision 1.3 by twid, Fri Apr 18 19:58:06 2003 UTC
# Line 12  our @ISA = qw(Exporter Bibulus); Line 12  our @ISA = qw(Exporter Bibulus);
12    
13  my $DEBUG = 0;  my $DEBUG = 0;
14    
15  my %lang = (en => 'english',  # The following translates an ISO language code into a babel language
16              da => 'danish',  # name.  Often there is more than one possible name, in which case
17              de => 'german',  # I have more or less chosen one at random.  There are many languages
18              eo => 'french',  # that can be typeset with LaTeX but that aren't handled by the babel
19  );  # system -- what should be done in these cases?
20    my %iso2babel =
21      (
22       'af' => 'afrikaans',
23       'bg' => 'bulgarian',
24       'br' => 'breton',
25       'ca' => 'catalan',
26       'cs' => 'czech',
27       'cy' => 'welsh',
28       'da' => 'danish',
29       'de' => 'ngermanb',
30       'de_DE' => 'ngermanb',
31       'de_AT' => 'naustrian',
32       'el' => 'greek',
33       'en' => 'english',
34       'en_CA' => 'canadian',
35       'en_UK' => 'british',
36       'en_US' => 'american',
37       'eo' => 'esperanto',
38       'es' => 'spanish',
39       'et' => 'estonian',
40       'eu' => 'basque',
41       'fi' => 'finnish',
42       'fr' => 'frenchb',
43       'fr_CA' => 'canadien',
44       'ga' => 'irish',
45       'gd' => 'scottish',
46       'gl' => 'galician',
47       'he' => 'hebrew',
48       'hr' => 'croatian',
49       'hu' => 'hungarian',
50       'hu' => 'magyar',
51       'id' => 'bahasa',
52       'is' => 'icelandic',
53       'it' => 'italian',
54       'la' => 'latin',
55       'nl' => 'dutch',
56       'nno' => 'nynorsk',
57       'no' => 'norsk',
58       'pl' => 'polish',
59       'pt' => 'portuguese',
60       'pt_BR' => 'brazil',
61       'ro' => 'romanian',
62       'ru' => 'russian',
63       'ru' => 'russianb',
64       'sk' => 'slovak',
65       'sl' => 'slovene',
66       'smi' => 'samin',
67       'sr' => 'serbian',
68       'sv' => 'swedish',
69       'tr' => 'turkish',
70       'uk' => 'ukraineb',
71       'wen' => 'usorbian', # or 'lsorbian',
72      );
73    
74    # The following translates babel language names into ISO language codes.
75    my %babel2iso =
76      (
77       UKenglish => 'en_UK',
78       acadian => 'fr_CA',
79       afrikaans => 'af',
80       american => 'en_US',
81       austrian => 'de_AT',
82       bahasa => 'id',
83       basque => 'eu',
84       brazil => 'pt_BR',
85       brazilian => 'pt_BR',
86       breton => 'br',
87       british => 'en_UK',
88       bulgarian => 'bg',
89       canadian => 'en_CA',
90       canadien => 'fr_CA',
91       catalan => 'ca',
92       croatian => 'hr',
93       czech => 'cs',
94       danish => 'da',
95       dutch => 'nl',
96       english => 'en',
97       esperanto => 'eo',
98       estonian => 'et',
99       finnish => 'fi',
100       francais => 'fr',
101       french => 'fr',
102       frenchb => 'fr',
103       galician => 'gl',
104       german => 'de',
105       germanb => 'de',
106       greek => 'el',
107       hebrew => 'he',
108       hungarian => 'hu',
109       icelandic => 'is',
110       irish => 'ga',
111       italian => 'it',
112       latin => 'la',
113       lsorbian => 'wen', # ISO code for Sorbian, Lower variant desig. unknown
114       magyar => 'hu',
115       naustrian => 'de_AT',
116       ngerman => 'de',
117       ngermanb => 'de',
118       norsk => 'no', # Bokmaal
119       nynorsk => 'nno',
120       polish => 'pl',
121       portuges => 'pt',
122       portuguese => 'pt',
123       romanian => 'ro',
124       russian => 'ru',
125       russianb => 'ru',
126       samin => 'smi', # this really is North Sami, ISO code unknown
127       scottish => 'gd',
128       serbian => 'sr',
129       slovak => 'sk',
130       slovene => 'sl',
131       spanish => 'es',
132       swedish => 'sv',
133       turkish => 'tr',
134       ukraineb => 'uk',
135       ukrainian => 'uk',
136       usorbian => 'wen', # ISO code for Sorbian, Upper variant desig. unknown
137       welsh => 'cy',
138      );
139    
140  sub procaux {  sub procaux {
141    my $self = shift;    my $self = shift;
# Line 43  sub procaux { Line 161  sub procaux {
161        # an external file, but at present it's OK just to do it here.        # an external file, but at present it's OK just to do it here.
162        if ($1 eq 'plain') {        if ($1 eq 'plain') {
163          $self->{STYLE} = {          $self->{STYLE} = {
164                              cite => 'numerical', # undef might be better                            cite => 'numerical', # undef might be better
165                              titlefont => "emph",                            titlefont => "emph",
166                              # More definitions are needed, of course!                            # More definitions are needed, of course!
167                             };                           };
168        } else {        } else {
169          croak "Unknown style '$1'";          croak "Unknown style '$1'";
170        }        }
# Line 149  sub language { Line 267  sub language {
267    my $self = shift;    my $self = shift;
268    my ($lang, $t) = @_;    my ($lang, $t) = @_;
269    my $r;    my $r;
270    if ($lang and defined($lang{$lang})) {    if ($lang and defined($iso2babel{$lang})) {
271      # also add a test for the bibliography language (perhaps no need      # also add a test for the bibliography language (perhaps no need
272      # to switch)      # to switch)
273      $r = "\\foreignlanguage{$lang{$lang}}{$t}";      $r = "\\foreignlanguage{$iso2babel{$lang}}{$t}";
274    } else {    } else {
275      warn "Unknown language code $lang" if $lang;      warn "Unknown language code $lang" if $lang;
276      $r = $t;      $r = $t;

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26