我正在完成一份报告的表格,并发现其中一个脚印标记突出到边缘(MWE 图像):
脚注标记 B 突出,我不知道如何强制将其视为 的一部分protein
,我尝试将它们都包裹起来,{protein\tabularnote{...}}
但毫无效果。B
请问我怎样才能使脚注标记不突出到页边距?
删除单词可能是不可能的,因为我已经将句子缩减到最基本的部分,如果我添加更多单词,该部分2000-04
将变成 5 行而不是 4 行,占用了太多空间(表格刚好适合放在底部,顶部有一张图片,中间有一些正文)。更改顺序会破坏时间顺序,所以我不知道该怎么做。(注意:表格中的文本与我的报告不同,其中包含我为 MWE 删除的biblatex
\cite{...}
等和自定义命令\denovo\
,我只是添加了填充内容来展示问题)。
在 MWE 中,我pdflatex
使用了 3 次进行编译nicematrix
,在我的实际文档中,我的表格比 MWE 更复杂,因此nicematrix
是必要的。
梅威瑟:
\documentclass[oneside]{book}
\usepackage{lipsum} % for dummy text
\usepackage[a4paper,inner=2.5cm,outer=2.5cm,top=3cm,bottom=3cm]{geometry}
\usepackage{booktabs}
\usepackage{nicematrix}
\usepackage{enumitem}
\begin{document}
\begin{table}[tb]
\caption{\lipsum[1][1]}
\footnotesize
\NiceMatrixOptions
{
notes =
{
para,
enumitem-keys-para = { itemjoin = ;\; },
bottomrule,
style = {\textit{\Alph{#1}}},
}
}
\begin{NiceTabularX}{\textwidth}{@{} c @{\hspace{4pt}} X @{}}
\toprule
\textbf{Year} & \textbf{\lipsum[1][1]}\\ \midrule
2000--04 & First \textit{de novo} metalloproteins described with a minimal-model diiron protein\tabularnote{2000} (17), \textit{de novo} diiron diiron protein\tabularnote{2002} (18) and \textit{de novo} diiron phenol oxidase\tabularnote{2004} (19). First computational design procedure.\\ \addlinespace[0.1em]
\bottomrule
\end{NiceTabularX}
\end{table}
\end{document}
我在这个网站上搜索以前的问题没有找到太多结果,主要是涉及不同软件包或方法的问题,例如脚注超出页边距。如果这是重复的,或者有类似的问题用不同的措辞,如果可能的话,我将非常感激链接。
答案1
该nicematrix
包将注释编号设置在\rlap
-box 中,并在其后面添加一个空格。在行末,此空格消失,并且方框插入边距。您可以通过将注释放在方框中来节省空间:protein\mbox{\tabularnote{2002}}
答案2
包装nicematrix
用途
\hbox_overlap_right:n { \box_use:N \l_tmpa_box }
\skip_horizontal:n { \box_wd:N \l_tmpa_box }
将脚注编号明确地设置在边距中,因为\hbox_overlap_right:n
将内容打印到右侧但没有宽度(您可能知道这是\rlap
),并且行末的\skip_horizontal:n
(即)将被忽略。如果您\hskip
绝不想要这种突起,你可以修补nicematrix
使用
\box_use:N \l_tmpa_box
反而:
\documentclass[oneside]{book}
\usepackage{lipsum} % for dummy text
\usepackage[a4paper,inner=2.5cm,outer=2.5cm,top=3cm,bottom=3cm]{geometry}
\usepackage{booktabs}
\usepackage{nicematrix}
\usepackage{enumitem}
\usepackage{xpatch}
\ExplSyntaxOn
\xpatchcmd{\__nicematrix_tabularnote:nn}{%
\hbox_overlap_right:n { \box_use:N \l_tmpa_box }
\skip_horizontal:n { \box_wd:N \l_tmpa_box }
}{%
\box_use:N \l_tmpa_box
}{}{\PatchFailure}
\ExplSyntaxOff
\begin{document}
\begin{table}[tb]
\caption{\lipsum[1][1]}
\footnotesize
\NiceMatrixOptions
{
notes =
{
para,
enumitem-keys-para = { itemjoin = ;\; },
bottomrule,
style = {\textit{\Alph{#1}}},
}
}
\begin{NiceTabularX}{\textwidth}{@{} c @{\hspace{4pt}} X @{}}
\toprule
\textbf{Year} & \textbf{\lipsum[1][1]}\\ \midrule
2000--04 & First \textit{de novo} metalloproteins described with a minimal-model diiron protein\tabularnote{2000} (17), \textit{de novo} diiron diiron protein\tabularnote{2002} (18) and \textit{de novo} diiron phenol oxidase\tabularnote{2004} (19). First computational design procedure.\\ \addlinespace[0.1em]
\bottomrule
\end{NiceTabularX}
\end{table}
\end{document}
答案3
我已经修改nicematrix
以解决该问题。在最新版本(6.20a 2023-06-30)中,cabohah 的回答中描述的机制(为了让脚注的编号在右边距突出)仅当列的对齐模式为c
或时才会激活r
。
因此,就您而言,您可以直接获得预期的输出。
\documentclass[oneside]{book}
\usepackage{lipsum} % for dummy text
\usepackage[a4paper,inner=2.5cm,outer=2.5cm,top=3cm,bottom=3cm]{geometry}
\usepackage{booktabs}
\usepackage{nicematrix}
\usepackage{enumitem}
\begin{document}
\begin{table}[tb]
\caption{\lipsum[1][1]}
\footnotesize
\NiceMatrixOptions
{
notes =
{
para,
enumitem-keys-para = { itemjoin = ;\; },
bottomrule,
style = {\textit{\Alph{#1}}},
}
}
\begin{NiceTabularX}{\textwidth}{@{} c @{\hspace{4pt}} X @{}}
\toprule
\textbf{Year} & \textbf{\lipsum[1][1]}\\ \midrule
2000--04 & First \textit{de novo} metalloproteins described with a minimal-model diiron protein\tabularnote{2000} (17), \textit{de novo} diiron diiron protein\tabularnote{2002} (18) and \textit{de novo} diiron phenol oxidase\tabularnote{2004} (19). First computational design procedure.\\ \addlinespace[0.1em]
\bottomrule
\end{NiceTabularX}
\end{table}
\end{document}