当我在包表内使用包中\endnote
的命令时,会出现尾注,就好像我多次调用它一样。enotez
tabstackengine
数学家协会
\documentclass{article}
\usepackage{enotez}
\usepackage{tabstackengine}
\begin{document}
\tabbedCenterstack{
foo \endnote{bar} & baz
}
\printendnotes
\end{document}
渲染
如您所见,当我仅调用一次时,注释就会在注释部分出现三次。我认为这是因为\tabbedCenterstack
进程三次,然后注释被加载了三次。
最后
那么我怎样才能避免得到三倍的尾注呢?
答案1
这是先将结束注释保存在临时框中并将其传递到堆栈的方法。虽然我已经升级stackengine
以避免多次(内部)设置内容,但我将不得不重新检查tabstackengine
。根据用于对齐所有内容的技术,可能无法消除多次传递。
无论如何,这种临时盒子方法应该是有效的。
\documentclass{article}
\usepackage{enotez}
\usepackage{tabstackengine}
\begin{document}
\sbox4{\endnote{bar}}
\tabbedCenterstack{
foo\copy4 & baz
}
\printendnotes
\end{document}
如果您担心使用临时框,或者堆栈中有多个尾注,则可以使用\savestack
,它本身会创建一个唯一命名的框来存储其内容。
\documentclass{article}
\usepackage{enotez}
\usepackage{tabstackengine}
\begin{document}
\savestack\tmpA{\endnote{bar}}
\savestack\tmpB{\endnote{barr}}
\tabbedCenterstack{
foo\tmpA & baz\tmpB
}
\printendnotes
\end{document}
更新:我可以确认它tabstackengine
本身正在设置单元格内容三次,作为其测量和对齐内容技术的一部分。我可以轻松地将其减少到两次(并将更新包);但是,消除两种排版将很困难……一次用于测量,另一次用于最终排版。