avoiding babel shorthands
Babel allows LaTeX to speak multiple languages. It also introduces shorthands, one- or two-character sequences, which help non-English authors to type language-specific letters easily. Unfortunately, this feature leads to problems when generating LaTeX-files automatically.
A simple example:
\\documentclass{article} \\usepackage[english,german]{babel} \\begin{document} Variant "111de000" System\\par Variant "111de000"~System\\par \\chaptername \\end{document}
Do you see an error here? No, unless you have experience typesetting German documents. Problem is here:
" S "~S
Quote has a special meaning when German babel is activated. In the example above, it produces "SS" and "-S". There are more such shorthands, and there is a lot of languages. I can't add all of them to my script.
For automatic generation, it's better to switch shorthands off. But there is no such option. I haven't found it in documentation and asked in comp.text.tex. It seems that there is no nice way, the only thing I can do is to hook babel internals. There is a proposal from Morten Hogholm (see the thread), but I like my solution better:
File "lessbabel.sty":
\\NeedsTeXFormat{LaTeX2e} \\ProvidesPackage{lessbabel}[2005/10/04 Babel without shorthands] \\DeclareOption*{\\PassOptionsToPackage{\\CurrentOption}{babel}} \\ProcessOptions\\relax \\RequirePackage{babel} \\def\\bbl@activate#1{}
My generated documents now use
\\usepackage[english,german]{lessbabel}
instead of
\\usepackage[english,german]{babel}