不完整 \iffalse,所有文本被忽略

不完整 \iffalse,所有文本被忽略

请问这段代码有什么问题?当我删除第二、第三和第四个 mylisting 时,它运行正常。

错误:

!不完整 \iffalse;第 18 行后的所有文本均被忽略。\fi<> ./xxxxx1.tex当我跳过条件文本时文件已结束。当您输入\if...' and forgetthe matching\fi' 时会发生此类错误。我已插入“\fi”;这可能会起作用。!紧急停止。<> ./xxxxx1.tex (作业中止,未找到合法的 \end)这是您使用的 TeX 内存量:492970288300 个字符串字符中 15397 个字符串,3135863541153 个字内存中 300000019012 个多字母控制序列中 15000+2000006105 个字字体信息中 19 种字体,90001141 个连字异常中 819154i、5n、80p、836b、2515s 个堆栈位置中 5000i、500n、10000p、200000b、50000s!==> 发生致命错误,未生成输出 PDF 文件!

以下是代码:

\documentclass[12pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[czech]{babel}
\usepackage{listings}
\usepackage{natbib}
\renewcommand{\lstlistingname}{Soubor}
\newcommand{\listingsfont}{\ttfamily}

\usepackage{tcolorbox}
\tcbuselibrary{breakable}
\tcbuselibrary{listings}
\newtcbinputlisting[auto counter]{\mylisting}[2][]{listing file={#2},title=Listing,colback=red!5!white,colframe=gray!75!black,,fonttitle=\bfseries,listing only,breakable,title=Soubor \thetcbcounter: #1}
\begin{document}


\mylisting[\textbf{A \texttt{B}}, label=A]{file0.txt}

\mylisting[\textbf{C \texttt{D} \texttt{E} }, label=F]{file1.txt}

\mylisting[\textbf{G}, label=H]{file2.txt}

\mylisting[\textbf{I}, label=J]{file3.txt}
\end{document}

不起作用的文件之一:

 57297.54820 4271.0000  1.010  0.753   16384
   1.00001   1.00001   1.00001   1.00001   1.00001   1.00001   1.00001   1.00001
   1.00001   1.00001   1.00001   1.00001   1.00001   1.00000   1.00000   1.00000
   1.00000   1.00000   1.00000   0.99999   0.99999   0.99999   0.99999   0.99998
   0.99998   0.99998   0.99998   0.99997   0.99997   0.99997   0.99997   0.99996
   0.99996   0.99996   0.99995   0.99995   0.99995   0.99995   0.99994   0.99994
   0.99994   0.99993   0.99993   0.99993   0.99992   0.99992   0.99992   0.99991

答案1

这是捷克语和斯洛伐克语 babel 的一个老问题,它总是会导致问题,请参阅:[1][2]。babel 软件包将所有连字符“-”替换为破折号或其他字符,这会破坏大量其他软件包。要关闭此“功能”,只需将其添加到序言中:

\AtBeginDocument{\shorthandoff{-}}

相关内容