抱歉!我下面的“解决方案”实际上并没有解决问题,我认为它能解决问题的原因太令人尴尬了,无法发布。我确实设法解决了这个问题,通过总共运行了四次 TeX,而不是通常的三次。
我一直在根据展示的精美“双语词典”制作一本词典式的参考书这里。我在侧面添加了标签,并在黑色矩形中用白色标出了当前字母。
在我使用“natbib”包添加参考资料之前,它一直运行良好。从那时起,只有 ODD 页面上的选项卡出现在错误的 x 坐标上,尽管它们的 y 坐标是正确的。许多选项卡位于正确的页面中,但有些选项卡向右移动,甚至完全超出页面,有些则向左移动,遮住了文本。当我注释掉 natbib includepackage(并放入虚拟宏以便编译)时,选项卡再次正常工作。
我还没有提出一个最小的例子,但我希望有人能有一些想法来解决这个问题,而不需要花时间去做。
以下是代码的可执行部分:
\newcommand{\oddthumb}[1]{%
\begin{tikzpicture}[remember picture, overlay]
\node [thumb,fill=\BoxColor, anchor=north east,] at ($%
(current page.north east)-%
(0,\thumbtopmargin+\value{letternum}*\thumbheight)%
$) {#1};
\end{tikzpicture}
}
\newcommand{\eventhumb}[1]{%
\begin{tikzpicture}[remember picture, overlay]
\node [thumb,fill=\BoxColor, anchor=north west,] at ($%
(current page.north west)-%
(0,\thumbtopmargin+\value{letternum}*\thumbheight)%
$) {\hspace*{.375in}#1};%was .125
\end{tikzpicture}
}
% this macro is invoked at the beginning of each new letter, i.e., A, B, C, etc
\newcommand{\lettergroup}[1]{%
\fancyhead[LE]{\eventhumb{#1}{\sffamily\selectfont{\textbf{\thepage\hspace{1 em}\rightmark}}}}%
\fancyhead[RO]{\oddthumb{#1}{\sffamily\selectfont{\textbf{\leftmark\hspace{1 em}\thepage}}}}%
\stepcounter{letternum}%step the counter of the letters
}
答案1
因为 tikz 依赖于辅助文件中写入的结果,所以添加参考书目需要通过 TeX 引擎进行额外运行。运行 BibTex 后,BibTex 需要运行两次(总共运行三次)。我已经进行了两次 BibTex 后运行,但事实证明我需要再添加一次运行(总共四次),以便将正确的信息发送到辅助文件中,从而使 tikz 图片再次正常工作。