15.04.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!