a2x: pdf output fails with german umlauts in labels
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
asciidoc (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Description: Ubuntu 12.10
Release: 12.10
asciidoc:
Installiert: 8.6.7-1
Kandidat: 8.6.7-1
Versionstabelle:
*** 8.6.7-1 0
500 http://
100 /var/lib/
Using german umlauts in headers or labels makes a2x -f pdf test.asciidoc fail. test.asciidoc is written in UTF-8.
...
pdflatex -interaction=
pdflatex failed
test.aux:25: Missing \endcsname inserted.
test.aux:25: leading text: ...ne erste �berschrift\relax }{section.1}{}}
test.aux:30: Missing \endcsname inserted.
test.aux:30: leading text: ...1}{1}{\refname \relax }{subsection.
Unexpected error occured
Error: pdflatex compilation failed
a2x: ERROR: "dblatex" -t pdf -p "/etc/asciidoc/
...
Trying the same with tex output (a2x -f tex test.asciidoc) shows, that umlauts in labels are not converted to latin1.
The bug seems to be known in Debian:
Changed in asciidoc (Ubuntu): | |
assignee: | nobody → Joseph HERLANT (herlantj) |
status: | New → Opinion |
assignee: | Joseph HERLANT (herlantj) → nobody |
At least on Ubuntu 12.04 it seems there are two Problems involved:
1. asciidoc does not convert german-umlauts in xref-labels for the xml-output.
A workaround is to manually give plain ascii xref-labels if a header contains german umlauts and you need the xreference. Otherwise just ignore them.
2. texlive is not installed with utf-support by default, so pdflatex are unable to parse the generated output from asciidoc.
On Ubuntu you have to install the cyrillic-texlive package, which includes utf8 support.
sudo apt-get install texlive- lang-cyrillic
Now you have to tell asciidoc and dblatex to use it
a2x -a encoding=utf-8 -a lang=de --dblatex-opts='-P latex.encoding=utf8 -P latex.unicode. use=1' -v test.asciidoc
This works well with umlauts, but probably fails with the german sharp s (ß). So you have to set manual xrefs here, even if you don't use them.