![Erros ao usar "Lista de Símbolos" para uma tese usando arquivos .bib?](https://rvso.com/image/392354/Erros%20ao%20usar%20%22Lista%20de%20S%C3%ADmbolos%22%20para%20uma%20tese%20usando%20arquivos%20.bib%3F.png)
Tenho o desejo de utilizar um método eficaz para criar um glossário e poder classificar os diferentes "tipos" de entradas em diferentes listas (abreviaturas, siglas, símbolos, glossário, etc.).
Acompanhei dois posts que são fantásticos e que aconselho:
Oprimeiro, mostra como classificar as diferentes entradas usando arquivos .bib para símbolos. Eu segui usando o método 4. Osegunda postagemmostra como seguir este método gerando um glossário que conteria símbolos, siglas, definições, etc.
Sou novo no LaTex, mas aprendi muito seguindo esses métodos (muito obrigado Nicola Talbot). Estou quase lá, mas ainda tenho alguns erros no resultado. Criei arquivos de teste para testar o que gostaria de alcançar.
Aqui está o código que estou testando:
\documentclass{report}
\usepackage{amssymb}
\usepackage{siunitx}
\usepackage[record,abbreviations,acronyms,symbols,stylemods={tree},style=treegroup]{glossaries-extra}
% always set the abbreviation style before \GlsXtrLoadResources
\setabbreviationstyle{short-long-desc}
\setabbreviationstyle[acronym]{short-long}
% Assign group titles:
\glsxtrsetgrouptitle{latin}{Latin Symbols}
\glsxtrsetgrouptitle{greek}{Greek Symbols}
\GlsXtrLoadResources[
src={no-interpret-preamble,glossary},% bib files
sort={en-US},% sort according to this locale
set-widest,% needed for 'alttree' styles
% save-locations=false % use this command to pring only the acronyms you are using
selection=all% select all entries in the .bib files
]
\GlsXtrLoadResources[
src={symbols-greek},
sort={letter-case}, % sort according Unicode value
field-aliases={
unitname=name,
unitsymbol=symbol,
measurement=description
},
symbol-sort-fallback=name,
type=symbols,
group=greek,
set-widest,% needed for 'alttree' styles
save-locations=false % pring only used symbols.
]
\GlsXtrLoadResources[
src={symbols-latin},
sort={letter-case},% sort according Unicode value
symbol-sort-fallback=name,
type=symbols,
group=latin,
set-widest,% needed for 'alttree' styles
selection=all% select all entries in the .bib files
]
\begin{document}
\section*{Examples}
In this section, I will use the following greek symbols: \gls{alpha}, \gls{alphalin} and \gls{delta}.
One acronym is for example \glstext{ad} and one abbreviation is given by \glstext{html}.
\printunsrtglossary[type=acronyms,style=alttree,title={List of Acronyms}]
\printunsrtglossary[type=abbreviations,style=alttree,title={List of Abbreviations}]
\printunsrtglossary[style=alttree,title={Glossary}] % By not specifing the type, I pring only the entries
\printunsrtglossary[type=symbols,style=alttreegroup,title={List of Symbols}]
\end{document}
Você pode encontrar o arquivono-interpret-preamble.bib
aqui. Os arquivos e glossary.bib
ficam assim (symbols-latin.bib
symbols-greek.bib
inspirado no trabalho de Nicola Talbot):
glossário.bib:
% glossary.bib
% This file is public domain. See the "Examples" chapter
% in the bib2gls user manual for a more detailed description
% of this file.
% Encoding: UTF-8
@preamble{"\providecommand{\abbrvtag}[1]{#1}"}
@string{markuplang="\abbrvtag{m}arkup \abbrvtag{l}anguage"}
@entry{TeX,
name={{}\TeX},
description={a format for describing complex type and page layout
often used for mathematics, technical, and academic publications},
identifier={markuplanguage}
}
@entry{LaTeX,
name={{}\LaTeX},
description={a format of \glstext{TeX} designed to separate
content from style},
identifier={markuplanguage}
}
@entry{markdown,
name={markdown},
description={a lightweight markup language with plain text
formatting syntax},
identifier={markuplanguage}
}
@acronym{ad,
short={AD},
long={Affinity Diagram},
description={Tool that gathers large amounts of language data and organizes them into groupings based on their natural relationships},
identifier={acronym}
}
@acronym{dom,
short={DOM},
long={Document Object Model},
description={Cross-platform and language-independent application programming interface},
identifier={acronym}
}
@acronym{spa,
short={SPA},
long={Single Page Application},
description={Web applicaiton of web site that interacts with the user by dynanically rewriting the current page},
identifier={acronym}
}
@acronym{svp,
short={SVG},
long={Scalable Vector Graphics},
description={{}\glstext{xml}-based vector image format for two-dimensional graphics with support for interactivity and animation},
identifier={acronym}
}
@abbreviation{xml,
short={XML},
long={e\abbrvtag{x}tensible }#markuplang,
description={a markup language that defines a set of rules for
encoding documents},
identifier={markuplanguage}
}
@abbreviation{html,
short={HTML},
long={\abbrvtag{h}yper\abbrvtag{t}ext }#markuplang,
description={the standard markup language for creating web pages},
identifier={markuplanguage}
}
@abbreviation{mathml,
short={MathML},
long={\abbrvtag{m\NoCaseChange{ath}}ematical }#markuplang,
description={markup language for describing mathematical notation},
identifier={markuplanguage}
}
@abbreviation{xhtml,
short={XHTML},
long={e\abbrvtag{x}tensible \abbrvtag{h}yper\abbrvtag{t}ext }
# markuplang,
description={{}\glstext{xml} version of \glstext{html}},
identifier={markuplanguage}
}
símbolos-grego.bib:
% symbols-greek.bib
% Put here all greek symbols
% Encoding: UTF-8
@symbol{alpha,
name={\ensuremath{\alpha}},
description={angular acceleration},
indentifier={mathgreek}
}
@symbol{alphalin,
name={\ensuremath{\alpha_{L}}},
description={linear coefficient of thermal expansion},
indentifier={mathgreek}
}
@symbol{delta,
name={\ensuremath{\delta}},
description={Kronecker delta},
indentifier={mathgreek}
}
@symbol{lambda,
name={\ensuremath{\lambda}},
description={Lagrange multiplier},
indentifier={mathgreek}
}
@symbol{chi,
name={\ensuremath{\chi}},
description={chromatic number},
indentifier={mathgreek}
}
@symbol{rho,
name={\ensuremath{\rho}},
description={density},
indentifier={mathgreek}
}
@symbol{zeta,
name={\ensuremath{\zeta}},
description={Riemann zeta function},
indentifier={mathgreek}
}
símbolos-latino.bib:
% symbols-latin.bib
% Put here all latin symbols
% Encoding: UTF-8
@symbol{x,
name={\ensuremath{x}},
description={position},
indentifier={mathlatin}
}
@symbol{v,
name={\ensuremath{v}},
description={velocity},
indentifier={mathlatin}
}
@symbol{a,
name={\ensuremath{a}},
description={acceleration},
indentifier={mathlatin}
}
@symbol{t,
name={\ensuremath{t}},
description={time},
indentifier={mathlatin}
}
@symbol{E,
name={\ensuremath{E}},
description={Young's modulus},
indentifier={mathlatin}
}
@symbol{F,
name={\ensuremath{F}},
description={force},
indentifier={mathlatin}
}
@symbol{Tm,
name={\ensuremath{T_{m}}},
description={melting point temperature},
indentifier={mathlatin}
}
@symbol{KIC,
name={\ensuremath{K_{IC}}},
description={stress intensity factor},
indentifier={mathlatin}
}
@symbol{Z,
name={\ensuremath{Z}},
description={atomic number},
indentifier={mathlatin}
}
Contudo, o resultado obtido não é satisfatório.
O que estou fazendo de errado? Por que não consigo obter uma lista de siglas? Como posso tornar a lista de abreviações legível?
Eu ficaria muito grato pela sua ajuda. Estou quase lá...
Responder1
Você deve encontrar alguns avisos na transcrição:
Package glossaries-extra Warning: Glossary type `acronyms' doesn't exist on input line 65.
Package glossaries-extra Warning: No entries defined in glossary `acronyms' on input line 65.
O rótulo do glossário de siglas acronym
não é acronyms
necessário:
\printunsrtglossary[type=acronym,style=alttree,title={List of Acronyms}]
ou
\printunsrtglossary[type=\acronymtype,style=alttree,title={List of Acronyms}]
A set-widest
opção tenta determinar qual entrada tem o nome mais amplo, mas bib2gls
não conhece as name
abreviaturas/acrônimos (uma vez que não tem acesso às informações de estilo definidas no documento), então assume que o nome é apenas a forma abreviada por padrão, para que não leve em consideração o formato longo ao realizar as medições. No entanto, o alttree
estilo não é adequado para abreviações com descrições porque você acabaria com apenas uma pequena quantidade de espaço para a descrição. É melhor usar um estilo de execução (como tree
) ou um estilo que coloque uma pausa antes da descrição (como altlist
).
Por exemplo:
\printunsrtglossary[type=abbreviations,style=altlist,title={List of Abbreviations}]
Aliás, é melhor não usar \glstext
abreviações. Se você deseja apenas que o formato abreviado seja mostrado (independentemente de a abreviatura ter sido usada), use \gls
com um dos short-nolong
estilos.¹ (Se você deseja garantir o formato abreviado para legendas ou títulos, use \glsfmtshort
.) Usar \gls
em vez de \glstext
ajuda a garantir o o estilo da abreviatura está correto.
¹Há um bug no short-nolong-desc
estilo que foi corrigido na glossaries-extra
v1.39.