表格列表中附录表格的对齐(批号)

表格列表中附录表格的对齐(批号)

对于我的论文,我需要创建一个表格列表,其中包含主要章节的表格和每个章节的相应附录。对于每个附录表格,在章节和节号前设置大写字母 A,以将其与正文中的表格区分开来。不幸的是,这种设置导致表格列表中的表格编号错位,此外还与附录表格 10+ 的表格标题重叠(如下所示)。

在此处输入图片描述

理想情况下,我会让所有表格沿着表格列表中的点对齐。我查看了 tocloft 包,但无法弄清楚如何仅减少附录表格的左缩进。我还尝试遵循类似于允许表格列表中的 A 具有零宽度,但我从未成功让它运行。

任何帮助都将不胜感激。以下是生成上述图像的代码。

\documentclass[11pt,oneside,english,doublespacing,liststotoc,toctotoc]{MastersDoctoralThesis}%
\begin{document}

\listoftables

\chapter{1}

\section{1}

\begin{table}
\caption{Table}%
\label{table1}
\end{table}

\section*{Appendix}
\setcounter{table}{0}
\renewcommand{\thetable}{A\thechapter.\arabic{table}}

\begin{table}
\caption{Table in appendix}%
\label{tablea1}
\end{table}

\setcounter{table}{9}

\begin{table}
\caption{Another table in appendix}%
\label{tablea10}
\end{table}

\end{document} 

更新:

好的,我可以重新利用上面提到的方法用于表格列表内的表格编号对齐(参见下图和代码)。

在此处输入图片描述

\documentclass[11pt,oneside,english,doublespacing,liststotoc,toctotoc]{MastersDoctoralThesis}%
\usepackage{xparse}
\usepackage{kantlipsum}

\NewDocumentCommand{\optionaltable}{O{#3}om}{%
  \renewcommand{\thetable}{\opta\standardthetable}%
  \optzerotrue
  \IfNoValueTF{#2}{\table[#1]{#3}}{\table[#1][#2]{#3}}%
  \optzerofalse
  \renewcommand{\thetable}{\standardthetable}%
}
\AtBeginDocument{\let\standardthetable\thetable}

\NewDocumentCommand{\opta}{}{%
  \ifoptzero\makebox[0pt][r]{A}\else A\fi
}
\newif\ifoptzero

\begin{document}

\optzerotrue
\listoftables
\optzerofalse

\chapter{1}

\section{1}

\begin{table}
\caption{Table}%
\label{table1}
\end{table}

\section*{Appendix}
\setcounter{table}{0}
\renewcommand{\thetable}{\opta\standardthetable}

\begin{table}
\caption{Table in appendix}%
\label{tablea1}
\end{table}

\setcounter{table}{9}

\begin{table}
\caption{Another table in appendix}%
\label{tablea10}
\end{table}

\end{document} 

我仍然不太确定代码到底在做什么,尤其是以下部分:

\NewDocumentCommand{\optionaltable}{O{#3}om}{%
  \renewcommand{\thetable}{\opta\standardthetable}%
  \optzerotrue
  \IfNoValueTF{#2}{\table[#1]{#3}}{\table[#1][#2]{#3}}%
  \optzerofalse
  \renewcommand{\thetable}{\standardthetable}%
}

尽管如此,现在这已经可以达到我的目的了。

答案1

我认为这tocloft对解决您的对齐问题没有帮助,但请尝试下面的 MWE(将 documentclass 更改为book因为我无权访问您使用的类)。

% apptocprob.tex SE 546892

%\documentclass[11pt,oneside,english,doublespacing,liststotoc,toctotoc]{MastersDoctoralThesis}%
\documentclass{book}
\usepackage{tocloft}
\setlength{\cfttabnumwidth}{3em} % choose this to suit

\begin{document}

\listoftables

\renewcommand{\thetable}{\phantom{A}\thechapter.\arabic{table}}
\chapter{1}

\section{1}

\begin{table}
\caption{Table}%
\label{table1}
\end{table}

\section*{Appendix}
\setcounter{table}{0}
\renewcommand{\thetable}{A\thechapter.\arabic{table}}

\begin{table}
\caption{Table in appendix}%
\label{tablea1}
\end{table}

\setcounter{table}{9}

\begin{table}
\caption{Another table in appendix}%
\label{tablea10}
\end{table}

\end{document} 

我曾经tocloft为长表格编号留出额外的空间。在文档正文中,我已将常规表格编号更改为在数字前添加一个相当于 A 的空格。这一切都有效,至少在 LoT 中是这样。

相关内容