抑制由包创建的虚假空白/换行符

抑制由包创建的虚假空白/换行符

我使用的包会产生错误的换行符。

\documentclass{minimal}
\usepackage{tikz}
\begin{document}
  ()(\usepgflibrary{arrows.meta})()% spurious line break
  ()(\tikzset{mytip /.tip = {Computer Modern Rightarrow}})()
\end{document}

预期输出:

()()()()()()

电流输出

()(
)()()()()`

我该如何抑制这种情况?我尝试用 包装宏\rlap,但这也会消除包的预期效果。

答案1

TikZ 库文件非常慷慨地使用空行。\par垂直模式下的 A 会被忽略(其实不是,但效果与当前问题无关)。因此你必须在序言中加载 TikZ 库或之间段落。

有人可能会认为

\documentclass{minimal}
\usepackage{tikz}
\begin{document}
  ()(\let\savedpar\par\let\par\relax\usepgflibrary{arrows.meta}\let\par\savedpar)()% 
  ()(\tikzset{mytip /.tip = {Computer Modern Rightarrow}})()
\end{document}

可以解决问题。可惜,它不能,因为会出现虚假空格。而且,将空格设为忽略字符也无济于事,主要是因为 TikZ/PGF 在键名中使用空格。

按照我之前的建议去做就行了。不,没有办法解决这个问题,除非编辑所有库文件,使其没有未受保护的行尾和空行。

相关内容