1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
|
# $Id: babel.perl,v 1.12 2001/04/18 01:39:21 RRM Exp $
#
# babel.perl
#
# written by Marek Rouchal <marek@saftsack.fs.uni-bayreuth.de>
# Last modification: Sun Oct 27 20:34:56 MET 1996
#
# extended for more languages by Ross Moore <ross@mpce.mq.edu.au>
# 20 August 1998
#
# $Log:
package main;
# for debugging only
# print "Using babel.perl\n";
sub load_babel_file {
local($lang) = @_;
local($dir) = '';
local($orig_cwd) = ($orig_cwd ? $orig_cwd : '.');
if (-f "$orig_cwd$dd$lang.perl") {
if (require("$orig_cwd$dd$lang.perl")) {
print "\nLoading $orig_cwd$dd$lang.perl";
return;
}
}
foreach $dir (split(/$envkey/,$LATEX2HTMLSTYLES)) {
if (-f "$dir$dd$lang.perl") {
if (require("$dir$dd$lang.perl")) {
print "\nLoading $dir$dd$lang.perl";
return;
};
}
}
&no_lang_support($lang);
}
sub no_lang_support {
$nolang = @_;
print "\n *** No support available for $nolang language \n";
&write_warnings("No support found for $nolang language");
}
sub do_cmd_selectlanguage {
local($_) = @_;
local($lang);
$lang = &missing_braces unless(
(s/$next_pair_pr_rx/$lang=$2;''/eo)
||(s/$next_pair_rx/$lang=$2;''/eo));
local($trans) = "${lang}_translation";
local($titles) = "${lang}_titles";
local($encoding) = "${lang}_encoding";
if (defined &$trans) {
if ($PREAMBLE) {
# ensure the list of languages is up-to-date
&make_language_rx;
$TITLES_LANGUAGE = $lang;
$default_language = $lang;
$CHARSET = $$encoding if ($$encoding);
if (defined &$titles) {
eval "&$titles()";
&translate_titles;
}
local($lcode) = $iso_languages{$lang};
&add_to_body('LANG',$lcode) unless ($HTML_VERSION < 4);
} else {
&set_default_language($lang,$_);
$latex_body .= "\n\n\\selectlanguage{$lang}\n\n";
}
} else { &no_lang_support($lang) }
$_;
}
sub do_cmd_iflanguage {
local($_) = @_;
local($lang, $iflang, $nolang);
$lang = &missing_braces unless(
(s/$next_pair_pr_rx/$lang=$2;''/eo)
||(s/$next_pair_rx/$lang=$2;''/eo));
$iflang = &missing_braces unless(
(s/$next_pair_pr_rx/$iflang=$2;''/eo)
||(s/$next_pair_rx/$iflang=$2;''/eo));
$nolang = &missing_braces unless(
(s/$next_pair_pr_rx/$nolang=$2;''/eo)
||(s/$next_pair_rx/$nolang=$2;''/eo));
local($trans) = "${lang}_translation";
local($lang_out) = ((defined &$trans) ? $iflang : $nolang);
$lang_out = &translate_environments($lang_out);
$lang_out = &translate_commands($lang_out) if ($lang_out =~ /\\/);
join('', $lang_out, $_);
}
# implement usable options from LaTeX
sub do_babel_afrikaan { &load_babel_file("afrikaan") }
sub do_babel_afrikaans { &load_babel_file("afrikaan") }
sub do_babel_american { &load_babel_file("american") }
sub do_babel_austrian { &load_babel_file("austrian") }
sub do_babel_bahasa { &load_babel_file("bahasa") }
sub do_babel_brazil { &load_babel_file("brazil") }
sub do_babel_brazilian { &load_babel_file("brazil") }
sub do_babel_breton { &load_babel_file("breton") }
sub do_babel_catalan { &load_babel_file("catalan") }
sub do_babel_croatian { &load_babel_file("croatian") }
sub do_babel_czech { &load_babel_file("czech") }
sub do_babel_danish { &load_babel_file("danish") }
sub do_babel_dutch { &load_babel_file("dutch") }
sub do_babel_english { &load_babel_file("english") }
sub do_babel_esperant { &load_babel_file("esperant") }
sub do_babel_esperanto { &load_babel_file("esperant") }
sub do_babel_estonian { &load_babel_file("estonian") }
sub do_babel_finnish { &load_babel_file("finnish") }
sub do_babel_francais { &load_babel_file("french") }
sub do_babel_french { &load_babel_file("french") }
sub do_babel_german { &load_babel_file("german") }
sub do_babel_germanb { &load_babel_file("german") }
sub do_babel_galician { &load_babel_file("galician") }
sub do_babel_greek { &load_babel_file("greek") }
sub do_babel_hungarian { &load_babel_file("magyar") }
sub do_babel_irish { &load_babel_file("irish") }
sub do_babel_italian { &load_babel_file("italian") }
sub do_babel_lsorbian { &load_babel_file("lsorbian") }
sub do_babel_magyar { &load_babel_file("magyar") }
sub do_babel_norsk { &load_babel_file("norsk") }
sub do_babel_nynorsk { &load_babel_file("nynorsk") }
sub do_babel_polish { &load_babel_file("polish") }
sub do_babel_portuges { &load_babel_file("portuges") }
sub do_babel_portuguese { &load_babel_file("portuges") }
sub do_babel_romanian { &load_babel_file("romanian") }
sub do_babel_russian { &load_babel_file("russian") }
sub do_babel_russianb { &load_babel_file("russian") }
sub do_babel_scottish { &load_babel_file("scottish") }
sub do_babel_slovak { &load_babel_file("slovak") }
sub do_babel_slovene { &load_babel_file("slovene") }
sub do_babel_spanish { &load_babel_file("spanish") }
sub do_babel_swedish { &load_babel_file("swedish") }
sub do_babel_turkish { &load_babel_file("turkish") }
sub do_babel_usorbian { &load_babel_file("usorbian") }
sub do_babel_welsh { &load_babel_file("welsh") }
&do_require_extension('lang');
%iso_languages = ( %iso_languages
, 'original' , 'en'
, 'afrikaan' , 'af'
, 'american' , 'en-US'
, 'austrian' , 'de-AT'
, 'brazil' , 'pt'
, 'esperant' , 'eo'
, 'francais' , 'fr'
, 'lsorbian' , 'sr'
, 'magyar' , 'hu'
, 'nynorsk' , 'no'
, 'portuges' , 'pt'
, 'scottish' , 'gd'
, 'slovene' , 'sl'
, 'usorbian' , 'sr'
);
# cancel redundant options from LaTeX
# none so far
&process_commands_wrap_deferred (<<_DEFERRED_CMDS_);
#selectlanguage # {}
iflanguage # {} # {} # {}
_DEFERRED_CMDS_
1; # Must be last line
|