我必须遵循示例中的代码,这些代码似乎可以按我的需要工作。
我一直在阅读有关文学的文章,可以修复我的长行,但想了解为什么是“0”。似乎无法理解语法。
literate={\#}}{0\discretionary{\#}{}{}},
在以下示例中,只有在调用前包含零“0”时,代码才会编译\discretionary
。以我有限的知识来说,这并不明显,但很好奇为什么需要它?
仅当我取消注释上面的行时,“literate”键的设置才会编译。
错误信息是:
! Missing number, treated as zero. <to be read again> \discretionary A number should have been here; I inserted '0'. (If you can't figure out why I needed to see a number, look up `weird error' in the index to The TeXbook.) ! Missing number, treated as zero.
以下是一个示例文档:
\documentclass[10pt]{article}
\usepackage{listings}
\begin{document}
\lstset{
breakatwhitespace=true,
%literate={\#}{}{0\discretionary{\#}{}{}},
literate={\#}{}{\discretionary{\#}{}{}} % not working
}
\begin{lstlisting}
#####################################################################################################################################################33
\end{lstlisting}
\end{document}
答案1
语法literate
是
{ replace }{ replacement text }{ length }
第三个参数指定长度 替换文本的文本在您的示例中为空。您必须插入0