[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texi2dvi changes the behavior of ~
From: |
Akim Demaille |
Subject: |
texi2dvi changes the behavior of ~ |
Date: |
Mon, 4 May 2009 18:08:41 +0200 |
Hi all,
texi2dvi has code that looks like this:
# we'd like to handle arbitrary input file names, especially
# foo~bar/a~b.tex, since Debian likes ~ characters.
if $catcode_special; then
# $normaltilde is just to reduce line length in this source file.
# The idea is to define \normaltilde as a catcode other ~
character,
# then make the active ~ be equivalent to that, instead of the
plain
# TeX tie. Then when the active ~ appears in the filename, it will
# be expanded to itself, as far as \input will see. (This is the
# same thing that texinfo.tex does in general, BTW.)
normaltilde="${escape}catcode126=12 ${escape}def$
{escape}normaltilde{~}"
cmd="$cmd '$normaltilde${escape}catcode126=13 ${escape}let~
\normaltilde '"
fi
which is enabled by default (catcode_special=true), therefore, a call
such as:
texi2pdf foo.tex
actually calls something like
pdflatex '\catcode126=12 \def\normaltilde{~}\catcode126=13 \let~
\normaltilde ' '\input' foo.tex
As a result:
$ cat foo.tex
\documentclass{article}
\begin{document}
a~b
\end{document}
$ pdflatex '\catcode126=12 \def\normaltilde{~}\catcode126=13 \let~
\normaltilde ' '\input' foo.tex
This is pdfTeX, Version 3.141592-1.40.3 (Web2C 7.5.6)
entering extended mode
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax,
dumylang, noh
yphenation, arabic, basque, bulgarian, coptic, welsh, czech, slovak,
german, ng
erman, danish, esperanto, spanish, catalan, galician, estonian,
farsi, finnish,
french, greek, monogreek, ancientgreek, croatian, hungarian,
interlingua, ibyc
us, indonesian, icelandic, italian, latin, mongolian, dutch, norsk,
polish, por
tuguese, pinyin, romanian, russian, slovenian, uppersorbian,
serbian, swedish,
turkish, ukenglish, ukrainian, loaded.
(./foo.tex (/opt/local/share/texmf-dist/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/opt/local/share/texmf-dist/tex/latex/base/size10.clo)) (./foo.aux)
[1{/opt/lo
cal/share/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./foo.aux) )</
opt/local/s
hare/texmf-dist/fonts/type1/bluesky/cm/cmr10.pfb>
Output written on foo.pdf (1 page, 4604 bytes).
Transcript written on foo.log.
$ pdftotext foo.pdf
$ cat foo.txt
a˜b
1
i.e., the tilda, which is a nonbreakable space, becomes visible. This
is especially visible when using hyperref's autoref feature which
generate "section~\ref{sec.foo}" for "\autoref{sec.foo}".
How is this code expected to disable the magic tricks it plays with ~?
Thanks in advance.
- texi2dvi changes the behavior of ~,
Akim Demaille <=