\markboth 里面的 tikz \node 文本不起作用

\markboth 里面的 tikz \node 文本不起作用

如果\markboth在 tikz 节点文本中使用,\markboth则不执行任何操作。

  • pdflatex、xelatex 和 lualatex 的输出相同。
  • 这能按预期工作吗?
  • \markboth我注意到,像这样的内部组{\markboth{lefthead}{righthead}}仍然有效。那么 tikz 做了什么来“阻止” \markboth
\documentclass{book}
\usepackage{tikz}

\begin{document}
\tikz\node[red] {\markboth{tikz left}{tikz right}};
contents \newpage contents
\end{document}

这个问题从何而来:

  • 标准文档类使用类似\chapter*{...\martboth{...}{...}}内部的东西\tableofcontents来生成目录的标题并改变标记。
  • 在一些花哨的部分标题样式中,的参数\chapter[*]{arg}被传递给tikz图纸。
  • 因此,使用这些部分样式,\tableofcontents无法更改标记。

我知道如何解决问题,但我很好奇它失败的原因和方式。

答案1

一切tikzpicture都在一个盒子里,正如@UlrikeFischer 评论的那样,

\mark命令无法逃脱框

这在TeXbook,第23章第259页,第一段。

相关内容