
Atualmente estou tendo problemas para escrever siglas com múltiplas colunas e cabeçalho de coluna. Consegui escrever siglas apenas com cabeçalhos de coluna, mas não consigo descobrir como escrevê-las em várias colunas. Este é o MWE:
\documentclass[a4paper,openany]{report}
\usepackage[breaklinks,draft]{hyperref}
\usepackage[acronym,section,nopostdot,nonumberlist,nogroupskip,nostyles]
{glossaries}
\usepackage{glossary-mcols}
\makeglossaries
\begin{document}
\newglossaryentry{cur}{name=cur, description={Just a random name.}}
\newglossaryentry{mmee}{name=mmee, description={Just a random name.}}
\newglossaryentry{fsda}{name=fs, description={Just a random name.}}
\newglossaryentry{dcsc}{name=ddad, description={Just a random name.}}
\newglossaryentry{ccs}{name=adax, description={Just a random name.}}
\newglossaryentry{ccc}{name=acDc, description={Just a random name.}}
\newglossaryentry{vfvv}{name=gegfvv, description={Just a random name.}}
\newglossaryentry{fvafv}{name=gdgdfv, description={Just a random name.}}
\newglossaryentry{bgbb}{name=gegvf, description={Just a random name.}}
\newglossaryentry{gfvfv}{name=qefrwfav, description={Just a random name.}}
\gls{cur}
\gls{mmee}
\gls{fsda}
\gls{dcsc}
\gls{ccs}
\gls{ccc}
\gls{vfvv}
\gls{fvafv}
\gls{gfvfv}
\gls{bgbb}
\printglossary[style=mcolindex,title=List of Acronyms]
\end{document}
Responder1
Não é possível ter uma long
versão de um mcols
estilo. O longtable
ambiente não é permitido dentro de um multicols
ambiente nem pode ser usado no twocolumn
modo (com \twocolumn
ou como opção de classe).
A maneira mais simples de implementá-lo seria ter longtable
quatro colunas (como dois pares de Sigla e Descrição):
\documentclass[a4paper,openany]{report}
\usepackage{array}
\usepackage{longtable}
\usepackage[breaklinks,draft]{hyperref}
\usepackage[acronym,section,nostyles,entrycounter]
{glossaries}
\makeglossaries
\newlength\descwidth
\setlength{\descwidth}{0.25\textwidth}
\renewcommand*{\glsentrycounterlabel}{}%
\newglossarystyle{pairedtable}%
{%
\renewenvironment{theglossary}%
{\begin{longtable}{l>{\raggedright}p{\descwidth}l>{\raggedright}p{\descwidth}}}%
{\end{longtable}}%
\renewcommand*{\glossaryheader}{%
\bfseries \entryname & \bfseries
\descriptionname &
\bfseries \entryname & \bfseries
\descriptionname
\tabularnewline\endhead
}%
\renewcommand*{\glsgroupheading}[1]{}% no letter group headings
\renewcommand*{\glsgroupskip}{}% no gap between letter groups
\renewcommand{\glossentry}[2]{%
\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
\glossentrydesc{##1}% number list omitted
\ifodd\value{glossaryentry}\def\next{&}\else\def\next{\tabularnewline}\fi
\next
}%
\renewcommand{\subglossentry}[3]{\glossentry{##2}{##3}}%
}
\newglossaryentry{cur}{name=cur, description={Just a random name.}}
\newglossaryentry{mmee}{name=mmee, description={Just a random
name.}}
\newglossaryentry{fsda}{name=fs, description={Just a random name.}}
\newglossaryentry{dcsc}{name=ddad, description={Just a random
name.}}
\newglossaryentry{ccs}{name=adax, description={Just a random
name.}}
\newglossaryentry{ccc}{name=acDc, description={Just a random
name.}}
\newglossaryentry{vfvv}{name=gegfvv, description={Just a random
name.}}
\newglossaryentry{fvafv}{name=gdgdfv, description={Just a random
name.}}
\newglossaryentry{bgbb}{name=gegvf, description={Just a random
name.}}
\newglossaryentry{gfvfv}{name=qefrwfav, description={Just a random
name.}}
\begin{document}
\gls{cur}
\gls{mmee}
\gls{fsda}
\gls{dcsc}
\gls{ccs}
\gls{ccc}
\gls{vfvv}
\gls{fvafv}
\gls{gfvfv}
\gls{bgbb}
\printglossary[style=pairedtable,title=List of Acronyms]
\end{document}
Infelizmente, a ordem está errada, pois a tabela é construída por linha:
Não há uma maneira fácil de makeindex
classificar as entradas para garantir a ordem de cima para baixo. Se você tiver apenas um pequeno número de entradas, poderá fazer a ordenação manualmente e usar glossaries-extra
's \printunstglossary
(já que não deseja uma lista de números). Exemplo:
\documentclass[a4paper,openany]{report}
\usepackage{array}
\usepackage{longtable}
\usepackage[breaklinks,draft]{hyperref}
\usepackage[acronym,section,nostyles,entrycounter]
{glossaries-extra}
\newlength\descwidth
\setlength{\descwidth}{0.25\textwidth}
\renewcommand*{\glsentrycounterlabel}{}%
\newglossarystyle{pairedtable}%
{%
\renewenvironment{theglossary}%
{\begin{longtable}{l>{\raggedright}p{\descwidth}l>{\raggedright}p{\descwidth}}}%
{\end{longtable}}%
\renewcommand*{\glossaryheader}{%
\bfseries \entryname & \bfseries
\descriptionname &
\bfseries \entryname & \bfseries
\descriptionname
\tabularnewline\endhead
}%
\renewcommand*{\glsgroupheading}[1]{}% no letter group headings
\renewcommand*{\glsgroupskip}{}% no gap between letter groups
\renewcommand{\glossentry}[2]{%
\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
\glossentrydesc{##1}% number list omitted
\ifodd\value{glossaryentry}\def\next{&}\else\def\next{\tabularnewline}\fi
\next
}%
\renewcommand{\subglossentry}[3]{\glossentry{##2}{##3}}%
}
\newglossaryentry{ccc}{name=acDc, description={Just a random
name.}}
\newglossaryentry{fvafv}{name=gdgdfv, description={Just a random
name.}}
\newglossaryentry{ccs}{name=adax, description={Just a random
name.}}
\newglossaryentry{vfvv}{name=gegfvv, description={Just a random
name.}}
\newglossaryentry{cur}{name=cur, description={Just a random name.}}
\newglossaryentry{bgbb}{name=gegvf, description={Just a random
name.}}
\newglossaryentry{dcsc}{name=ddad, description={Just a random
name.}}
\newglossaryentry{mmee}{name=mmee, description={Just a random
name.}}
\newglossaryentry{fsda}{name=fs, description={Just a random name.}}
\newglossaryentry{gfvfv}{name=qefrwfav, description={Just a random
name.}}
\begin{document}
\gls{cur}
\gls{mmee}
\gls{fsda}
\gls{dcsc}
\gls{ccs}
\gls{ccc}
\gls{vfvv}
\gls{fvafv}
\gls{gfvfv}
\gls{bgbb}
\printunsrtglossary[style=pairedtable,title=List of Acronyms]
\end{document}
Isto não é particularmente conveniente se você tiver muitas entradas. Uma alternativa é construir tabular
ambientes lado a lado, mas você terá que determinar o número correto de linhas. No exemplo abaixo, carreguei as entradas de teste fornecidas com o glossaries
pacote para preencher o glossário:
\documentclass[a4paper,openany]{report}
\usepackage{array}
\usepackage[breaklinks,draft]{hyperref}
\usepackage[acronym,section,nostyles]{glossaries}
\makeglossaries
\loadglsentries[\acronymtype]{example-glossaries-acronym}% dummy entries
\newlength\descwidth
\setlength{\descwidth}{0.25\textwidth}
\newcounter{rowcount}
\newglossarystyle{table}%
{%
\renewenvironment{theglossary}%
{%
\setcounter{rowcount}{0}%
\begin{tabular}[t]{l>{\raggedright}p{\descwidth}}%
\bfseries \entryname & \bfseries
\descriptionname \tabularnewline
}
{\end{tabular}}%
\renewcommand*{\glossaryheader}{}%
\renewcommand*{\glsgroupheading}[1]{}% no letter group headings
\renewcommand*{\glsgroupskip}{}% no gap between letter groups
\renewcommand{\glossentry}[2]{%
\stepcounter{rowcount}%
\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
\glossentrydesc{##1}% number list omitted
\ifnum\value{rowcount}=25 % 25 entries per column
\def\next{%
\end{tabular}\hfill
\setcounter{rowcount}{0}%
\begin{tabular}[t]{l>{\raggedright}p{\descwidth}}%
\bfseries \entryname & \bfseries
\descriptionname \tabularnewline
}%
\else
\def\next{\tabularnewline}%
\fi
\next
}%
\renewcommand{\subglossentry}[3]{\glossentry{##2}{##3}}%
}
\begin{document}
\glsaddall
\printglossary[type=\acronymtype,style=table,title=List of Acronyms]
\end{document}