Jak stworzyć połączoną „Listę Quadros”?

Nov 27 2020

Mam długą listę zagrożeń, które chcę umieścić w moim dokumencie.

Udaje mi się sprawić, że będzie działać z długim stołem, jak widać na rys. 1 (jest w języku portugalskim, ponieważ jest to rozprawa moich mistrzów).

Problem, z którym się tutaj zmagam, polega na tym, że w szablonie istnieje konfiguracja, która oddziela tabele od „Quadros” (które są używane głównie dla tekstu i mają zewnętrzne linie). Ta tabela powinna być tabelą „Quadro”, a nie tabelą „Table” i powinna znajdować się na tej liście.

Stoję w obliczu tego problemu, ponieważ używam klasy dokumentu o nazwie, abntex2która bierze wszystko do odpowiedniego formatowania dla moich mistrzów, a jedną z utworzonych rzeczy był nowy float Quadro, który zajmie się tym zróżnicowaniem

Oto jak zwykle tworzy się instancję 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}

Jeśli spróbuję zamknąć długi stół w pływaku Quadro, po prostu się nie pojawi, I jestem prawie pewien, że to dlatego, że jest po prostu za długi.

Więc zastanawiałem się:

Czy istnieje sposób na to, aby tabele były liczone i nazywane jako quadros oraz aby mieć połączoną listę quadros ? Nie mam żadnych tabel w moim dokumencie, tylko quadros. Więc gdybym mógł po prostu nazwać wszystkie te pływaki tak samo i policzyć jako to samo, byłoby idealnie!

Używam na odwrocie, więc próbuję uzyskać coś, co działałoby w dokumencie klasy .cls dla .tex, ale byłbym zadowolony z wszystkiego, co pomaga. A tak przy okazji, tak wygląda quadro config:

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

Odpowiedzi

2 Mico Nov 27 2020 at 14:12

Napisałeś,

Czy istnieje sposób na to, aby tabele były liczone i nazywane jako quadros oraz aby mieć połączoną listę quadros? Nie mam żadnych tabel w moim dokumencie, tylko quadros. Więc gdybym mógł po prostu nazwać wszystkie te pływaki tak samo i policzyć jako to samo, byłoby idealnie!

Ponieważ Twój dokument nie zawiera elementów tablezmiennoprzecinkowych, które muszą być oddzielone od elementów quadrozmiennoprzecinkowych, dlaczego nie zamapować po prostu niektórych ciągów, które są powiązane ze środowiskami tablei longtablena ciągi, które są powiązane ze quadrośrodowiskami?

Dodatek: przypuszczam, że inne, znacznie bardziej wyszukane rozwiązanie mogłoby polegać na stworzeniu longquadrośrodowiska opartego na longtableśrodowisku. W ten sposób dokument mógł zatrudnić cuadroi longcuadrośrodowiska - a także zatrudnienie tablei longtable(oznaczony jako „Tabelas”) środowiskach powinna potrzeba do tego wyniknąć.

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