尝试使用 longtable 使其跨越多个页面,但无法控制它进入哪个列表

尝试使用 longtable 使其跨越多个页面,但无法控制它进入哪个列表

我有一长串的风险清单想要写在我的文件中。

我设法让它与 longtable 一起工作,如图 1 所示(它是葡萄牙语的,因为这是我的硕士论文)。

在此处输入图片描述

我在这里遇到的问题是模板中有一个配置将表格与“Quadros”(主要用于文本并带有外线)分开。此表格应为“Quadro”而不是“Tabela”,并且应包含在该列表中。

我之所以遇到这个问题,是因为我正在使用一个名为 ABNTex2 的包,它将所有内容转换为适合我的主人的正确格式,并且创建的内容之一是一个新的浮点 Quardo 来处理这种区分

Quadro 通常实例化的方式如下:

\begin{quadro}[htb]
\caption{Editores de Texto Livres}
\label{quadro:editores_texto_livres}
\centering
\begin{tabular}{|l|l|r|}        \hline
Editor     & Multiplataforma & Específico para Latex \\ \hline
Kwriter    & Sim             & Não                   \\
Texmaker   & Sim             & Sim                   \\
Kile       & Sim             & Sim                   \\
Geany      & Sim             & Não                   \\ \hline
\end{tabular}
\end{quadro}

如果我尝试将长表封装在 Quadro 浮点中,它根本就不会显示出来,而且我很确定这是因为它太长了。

因此,我请求帮助的是:

1- 有没有办法更改此代码,以允许 quadro 跨越多个页面,从而允许长表位于其中? 或者另一种方法只是让浮点接受长表?

\newcommand{\listquadroname}{Lista de quadros}
\newcommand{\quadroname}{Quadro}
\newcommand{\quadrorefname}{Quadro}
\newcommand{\chartautorefname}{Quadro}

\addto\captionsenglish{% ingles
    \renewcommand{\listquadroname}{List of charts}
    \renewcommand{\quadroname}{Chart}
    \renewcommand{\quadrorefname}{Chart}
    \renewcommand{\chartautorefname}{Chart}
}

\newfloat{quadro}{htbp}{loq}[chapter]
\floatname{quadro}{\quadroname}
\floatstyle{plaintop}
\restylefloat{quadro}
\newlistof{listofquadros}{loq}{\listquadroname}
\newlistentry{quadro}{loq}{0}
\renewcommand{\thequadro}{\thechapter.\@arabic\c@quadro}
\setfloatadjustment{quadro}{\centering}

\renewcommand{\cftquadroname}{\quadroname\space}
\renewcommand*{\cftquadroaftersnum}{\hfill\textendash\hfill}

2-有没有办法只更改此特定表所属的名称和列表?

3- 最后的办法是,我该如何去除外面的垂直线?(这样才能算作“Tabela”)

答案1

第一次尝试。这仅显示需要修补的内容,并且可能确实需要根据您的 mwe 进行更改。

\documentclass{report}

% \usepackage[strut=off]{caption}
\usepackage{float}
\usepackage{longtable}
\usepackage{xpatch}

\newcommand{\listquadroname}{Lista de quadros}
\newcommand{\quadroname}{Quadro}
\newcommand{\quadrorefname}{Quadro}
\newcommand{\chartautorefname}{Quadro}

\newfloat{quadro}{htbp}{loq}[chapter]
\floatname{quadro}{\quadroname}
\floatstyle{plaintop}
\restylefloat{quadro}

\makeatletter
\renewcommand{\thequadro}{\thechapter.\@arabic\c@quadro}

% patch longtable internal macros to use counter "quadro" and write to ".loq"
\xpatchcmd\LT@array
  {\refstepcounter{table}}
  {\refstepcounter{quadro}}
  {}{\fail}

% handle compatibility with caption package
\@ifpackageloaded{caption}{
  \renewcommand\LTcaptype{quadro}
}{
  \xpatchcmd\LT@c@ption
    {\fnum@table}
    {\fnum@quadro}
    {}{\fail}

  \xpatchcmd\LT@c@ption
    {\addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}
    {\addcontentsline{loq}{quadro}{\protect\numberline{\thequadro}{#2}}}
    {}{\fail}
}
\makeatother


\begin{document}
\listof{quadro}{\listquadroname}

\chapter{title}

\begin{quadro}[htb]
  \caption{Editores de Texto Livres}
  \label{quadro:editores_texto_livres}
  \centering
  \begin{tabular}{|l|l|r|}        \hline
    Editor     & Multiplataforma & Específico para Latex \\ \hline
    Kwriter    & Sim             & Não                   \\
    Texmaker   & Sim             & Sim                   \\
    Kile       & Sim             & Sim                   \\
    Geany      & Sim             & Não                   \\ \hline
  \end{tabular}
\end{quadro}

\begin{longtable}{cc}
  \caption{This is a longtable title} \\
  a & b \\
  c & d
\end{longtable}
\end{document}

在此处输入图片描述

相关内容