¿Cómo hacer una "Lista de Quadros" combinada?

Nov 27 2020

Tengo una larga lista de riesgos que quiero incluir en mi documento.

Logré que funcionara con longtable como se puede ver en la foto 1 (está en portugués porque es mi disstertación maestra).

El problema al que me enfrento aquí es que hay una configuración en la plantilla que separa las Tablas de "Quadros" (que se utilizan principalmente para texto y tienen las líneas exteriores). Esta tabla debe ser un "Quadro" no una "Tabela" y debe incluirse en esa lista.

Estoy enfrentando este problema porque estoy usando una clase de documento llamada abntex2que toma todo en el formato correcto para mis maestros y una de las cosas que se crearon fue un nuevo Quadro flotante para encargarse de esta diferenciación

Así es como se suele crear una instancia de 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}

Si trato de encapsular la tabla larga en el flotador Quadro, simplemente no aparece, y estoy bastante seguro de que es porque es demasiado larga.

Entonces me preguntaba:

¿Hay alguna manera de hacer que las tablas se cuenten y se nombren como quadros y tengan una lista combinada de quadros ? No tengo tablas en mi documento, solo quadros. Entonces, si pudiera hacer que todos estos flotadores se llamaran de la misma manera y se contaran como iguales, ¡sería perfecto!

Estoy usando al dorso, así que estoy tratando de obtener algo que funcione en un documento de clase .cls para el .tex, pero estaría contento con cualquier cosa que ayude. Por cierto, así es como se ve la configuración 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}

Respuestas

2 Mico Nov 27 2020 at 14:12

Tu escribiste,

¿Hay alguna manera de hacer que las tablas se cuenten y se nombren como quadros y tengan una lista combinada de quadros? No tengo tablas en mi documento, solo quadros. Entonces, si pudiera hacer que todos estos flotadores se llamaran de la misma manera y se contaran como iguales, ¡sería perfecto!

Dado que su documento no presenta tableflotantes que deben mantenerse separados de los quadroflotantes, ¿por qué no simplemente mapear algunas de las cadenas que van con los entornos tabley longtableen cadenas que van con los quadroentornos?

Anexo: Supongo que otra solución mucho más elaborada podría consistir en crear un longquadroentorno basado en el longtableentorno. De esa manera, su documento podría emplear cuadroy longcuadroentornos - y también emplear tabley longtable(etiquetado como "Tabelas") entornos si surgiera la necesidad de hacerlo.

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