![换行符后跟括号](https://linux22.com/image/293570/%E6%8D%A2%E8%A1%8C%E7%AC%A6%E5%90%8E%E8%B7%9F%E6%8B%AC%E5%8F%B7.png)
我试图在这里找到有关这个(可能的问题)的主题,但没有找到。
我报告了TeXstudio SF但 Tim Hoffmann 告诉我这不是编辑器的问题。经过测试后nano
,pdflatex
我在这里发布。
最小代码会产生错误。好的,我们可以使用来解决它\\{}
。
但这是 TeXlive 2014 的问题吗?或者有充分的理由导致这种行为。
\documentclass{report}
\begin{document}
test\\ [foo]
test\linebreak [foo]
test\newline [foo]
\end{document}
! 缺失数字,视为零。 f l.3 test\ [foo]
答案1
\\
和都\linebreak
带有可选参数,因此您需要以 结束扩展\relax
,以便将括号视为文本,而不是可选参数。\\
如果使用 的可选参数,则应为长度维度,表示要提供的额外垂直空间。 因此[foo]
不符合条件,因此会产生错误。
对于\linebreak
,可选参数是 0 到 4 之间的数字。根据 Lamport 的说法,“ 的值越大,[num]
越强烈地鼓励或阻止换行。”默认值相当于 4。因此,[foo]
同样会中断 的扩展\linebreak
。
\newline
另一方面,不接受可选参数,因此[foo]
遵循它可以正常工作。
\documentclass{report}
\begin{document}
test\\\relax [foo]
test\linebreak\relax [foo]
test\newline [foo]
\end{document}
例如,将在之后和之前test\\[12pt][foo]
添加更大的间隙:test
[foo]
\documentclass{report}
\begin{document}
test\\[12pt][foo]
test\linebreak\relax [foo]
test\newline [foo]
\end{document}