在乳胶中更改长表的名称时遇到问题

在乳胶中更改长表的名称时遇到问题

当我尝试将一个长表从“表 11”(由 latex 自动分配)重命名为“表 A.5”时,使用 \renewcommand{\thetable}{A.5} 时遇到了问题。问题是标题文本超出范围,Latex 报告错误“错位未对齐”和“错位省略”。

希望能够足够清楚地解释这个问题,您能帮我解决这个问题吗?

提前致谢。

我报告了我的代码的屏幕截图,以帮助您理解问题。请注意,当然在长表的末尾我编码了:“end{\longtable}。

在此处输入图片描述

答案1

下次,请以文本形式(而不是屏幕截图)提供 MWE 来帮助我们帮助您,以便我们可以复制代码并尝试我们的答案。

这看起来像xy问题对我来说。难道你实际上是在尝试在每次增加另一个计数器时重置表计数器,并使用两个计数器来引用表?如果是这样新浮点数包可以帮助您。

在下面的例子中,表格计数器在每个部分结束时重置,并且部分计数器和表格计数器都由 \caption 打印。

请注意,我已经重新定义了\thesection而不\thetable是以匹配请求的格式,同时避免了对同一计数器有时使用数字有时使用字母之间的不一致。

\documentclass{article}
\usepackage{longtable}
\usepackage[within=section]{newfloat}
% see https://en.wikibooks.org/wiki/LaTeX/Counters#Counter_style
\renewcommand{\thesection}{\Alph{section}}

\begin{document}
    \section{Abcdef}
    \begin{longtable}{ll}
        \caption{Abc}
    \end{longtable}
    \begin{longtable}{ll}
        \caption{Def}
    \end{longtable}

    \section{Ghijkl}
    \begin{longtable}{ll}
        \caption{Ghi}
    \end{longtable}
    \begin{longtable}{ll}
        \caption{Jkl}
    \end{longtable}
\end{document}

在此处输入图片描述

顺便提一下,我建议你看一下书签包文档给出了一些关于如何格式化表格的建议。


回答你提出的问题:

问题是\renewcommand在 之前插入了不可扩展的标记\caption。如果您确实只想更改单个表的编号(在不了解上下文的情况下,我不会鼓励这样做),请\thetable在表之前重新定义,并使用显式的 保持本地定义\begingroup ...\endgroup

\documentclass{article}
\usepackage{longtable}

\begin{document}
    \begingroup
    \renewcommand{\thetable}{A.5}
    \begin{longtable}{ll}
        \caption{Abc}
    \end{longtable}
    \endgroup

    \begin{longtable}{ll}
        \caption{Def}
    \end{longtable}
\end{document}

在此处输入图片描述

相关内容