tabstackengine 多次重复尾注

tabstackengine 多次重复尾注

当我在包表内使用包中\endnote的命令时,会出现尾注,就好像我多次调用它一样。enoteztabstackengine

数学家协会

\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本身正在设置单元格内容三次,作为其测量和对齐内容技术的一部分。我可以轻松地将其减少到两次(并将更新包);但是,消除两种排版将很困难……一次用于测量,另一次用于最终排版。

相关内容