Babel, a multilingual package for use with LATEX's ... - linsrv.net
Babel, a multilingual package for use with LATEX's ... - linsrv.net
Babel, a multilingual package for use with LATEX's ... - linsrv.net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
• Using a character mathematically active (ie, <strong>with</strong> math code "8000) as a<br />
shorthand can make T E X enter in an infinite loop. (Another issue in the ‘to do’<br />
list, although there is a partial solution.)<br />
• Also in the ‘to do’ list is a <strong>use</strong>r interface to set the way scripts are switched,<br />
to avoid the current problem of languages trying to define \text〈script〉 in<br />
different ways.<br />
The following <strong>package</strong>s can be <strong>use</strong>ful, too (the list is still far from complete):<br />
csquotes Logical markup <strong>for</strong> quotes.<br />
iflang Tests correctly the current language.<br />
hyphsubst Selects a different set of patters <strong>for</strong> a language.<br />
translator An open plat<strong>for</strong>m <strong>for</strong> <strong>package</strong>s that need to be localized.<br />
siunitx Typesetting of numbers and physical quantities.<br />
biblatex Programmable bibliographies and citations.<br />
bicaption Bilingual captions.<br />
babelbib Multilingual bibliographies.<br />
microtype Adjusts the typesetting according to some languages (kerning and<br />
spacing). Ligatures can be disabled.<br />
substitutefont Combines fonts in several encodings.<br />
1.12 Future work<br />
Useful additions would be, <strong>for</strong> example, time, currency, addresses and personal<br />
names. 13 . But that is the easy part, beca<strong>use</strong> they don’t require modifying the L A T E X<br />
internals.<br />
More interesting are differences in the sentence structure or related to it. For<br />
example, in Basque the number precedes the name (including chapters), in<br />
Hungarian “from (1)” is “(1)-ből”, but “from (3)” is “(3)-ból”, in Spanish an item<br />
labelled “3. o ” may be referred to as either “ítem 3. o ” or “3. er ítem”, and so on.<br />
Even more interesting is right-to-left, vertical and bidi typesetting. <strong>Babel</strong> provided<br />
a basic support <strong>for</strong> bidi text as part of the style <strong>for</strong> Hebrew, but it is somewhat<br />
unsatisfactory and internally replaces some hardwired commands by other<br />
hardwired commands (generic changes would be much better).<br />
Handling of “Unicode” fonts is also problematic. There is fontspec, but special<br />
macros are required (not only the NFSS ones) and it doesn’t provide “orthogonal<br />
axis” <strong>for</strong> features, including those related to the language (mainly language and<br />
script). A couple of tentative macros, which solve the two main cases, are provided<br />
by babel<strong>with</strong> a partial solution (only xetex and luatex, <strong>for</strong> obvious reasons), but <strong>use</strong><br />
them at your own risk, as they might be removed in the future. For this very<br />
reason, they are described here:<br />
• \babelFSstore{〈babel-language〉} sets the current three basic families (rm,<br />
sf, tt) as the default <strong>for</strong> the language given. In most cases, this macro will be<br />
enough.<br />
• \babelFSdefault{〈babel-language〉}{〈fontspec-features〉} patches<br />
\fontspec so that the given features are always passed as the optional<br />
argument or added to it (not an ideal solution). Use it only if you select some<br />
fonts in the document <strong>with</strong> \fontspec.<br />
So, <strong>for</strong> example:<br />
13 See <strong>for</strong> example POSIX, ISO 14652 and the Unicode Common Locale Data Repository (CLDR).<br />
17