我正在使用ipython nbconvert
(使用pandoc
)来转换 IPython 笔记本,文档代码包含以下几行
\subsection{Vytvářeni polí
čísel}\label{vytvuxe1ux159eni-poluxed-ux10duxedsel}
它可以正确编译,但是当我添加
\usepackage[czech]{babel}
我收到以下错误
[8] (./Python_NumPy.aux
! Missing \endcsname inserted.
<to be read again>
\unhbox
l.33 ...vářeni polí čísel}{subsection.3.1}{}}
?
整个冒犯的路线Python_NumPy.aux
似乎是
\newlabel{vytvuxe1ux159eni\unhbox \voidb@x \kern \z@ \char `\discretionary {-}{}{}poluxed\unhbox \voidb@x \kern \z@ \char `\discretionary {-}{}{}ux10duxedsel}{{3.1}{2}{Vytvářeni polí čísel}{subsection.3.1}{}}
奇怪的是,当我通过包将边距更改geometry
为某个较大的值时,错误就消失了。
我怀疑该babel
包出于某种原因将标签中的连字符视为连字符模式(这可能是边距产生这种效果的原因)。我不确定如何进一步调试它。
答案1
我通过使用相应的babel
包选项禁用简写来解决这个问题
\usepackage[czech,shorthands=off]{babel}
我也尝试禁用字符-
(因为它在标签中)
\shorthandoff*{-}
但那没有用。