Como fazer uma “Lista de Quadros” combinada?

Nov 27 2020

Tenho uma longa lista de riscos que desejo incluir em meu documento.

Consigo fazer funcionar com longtable como pode ser visto na foto 1 (está em português porque é a minha dissertação de mestrado).

O problema que estou enfrentando aqui é que há uma configuração no modelo que separa as tabelas de "Quadros" (que são usadas principalmente para texto e têm as linhas externas). Esta tabela deve ser um "Quadro", não uma "Tabela" e deve ser incluída nessa lista.

Estou enfrentando esse problema porque estou usando uma classe de documento chamada abntex2que leva tudo na formatação certa para meus mestres e uma das coisas criadas foi um novo flutuante Quadro para cuidar dessa diferenciação

É assim que um Quadro geralmente é instanciado:

\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}

Se tento encapsular a mesa longa no flutuador Quadro, ela simplesmente não aparece, e tenho certeza de que é porque é muito longa.

Então, eu estava pensando:

Existe uma maneira de fazer as tabelas serem contadas e nomeadas como quadros e ter uma lista combinada de quadros ? Não tenho nenhuma tabela no meu documento, apenas quadros. Então, se eu pudesse fazer com que todos esses carros alegóricos fossem chamados do mesmo e contados como iguais, seria perfeito!

Estou usando o verso, então estou tentando obter algo que funcione em um documento de classe .cls para o .tex, mas ficaria feliz com qualquer coisa que ajudasse. BTW, esta é a aparência da configuração do 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}

Respostas

2 Mico Nov 27 2020 at 14:12

Você escreveu,

Existe uma maneira de fazer as tabelas serem contadas e nomeadas como quadros e ter uma lista combinada de quadros? Não tenho nenhuma tabela no meu documento, apenas quadros. Então, se eu pudesse fazer com que todos esses carros alegóricos fossem chamados do mesmo e contados como iguais, seria perfeito!

Visto que seu documento não apresenta tableflutuadores que precisam ser mantidos separados dos quadroflutuantes, por que não mapear apenas algumas das strings que acompanham tablee longtableambientes em strings que vão com quadroambientes?

Adendo: Suponho que outra solução, muito mais elaborada, poderia consistir na criação de um longquadroambiente baseado no longtableambiente. Dessa forma, seu documento pode empregar cuadroe longcuadroambientes - e também empregar tablee longtable(rotulado como "Tabelas") ambientes caso seja necessário.

\documentclass{abntex2}
\addto\captionsbrazil{%
     \renewcommand{\tablename}{Quadro}
     \renewcommand{\listtablename}{Lista de quadros}
     }
\usepackage{longtable} % for 'longtable' environment

\hypersetup{colorlinks,linktocpage} % optional

%% enable advanced cross-referencing commands
\usepackage[brazilian,nameinlink,capitalize]{cleveref}
\crefname{table}{quadro}{quadros} % default is 'tabela' and 'tabelas'

\begin{document}
\listoftables

\bigskip\hrule

\begin{table}[h]     \caption{Olá}   \label{tab:1} \end{table}
\begin{longtable}{c} \caption{Mundo} \label{tab:2} \end{longtable}

\noindent
Algumas referências cruzadas para \Cref{tab:1,tab:2}.
\end{document}