Glossários - suprimindo abreviaturas no primeiro uso para siglas selecionadas

Glossários - suprimindo abreviaturas no primeiro uso para siglas selecionadas

Este é meu primeiro post, então peço desculpas se eu quebrar alguma convenção! Decidi escrever minha tese de doutorado em LaTeX e estou tendo problemas para formatar as siglas/glossários como gostaria. Estou usando o glossariespacote e quero usá-lo para dois casos de uso distintos, um dos quais (o uso padrão) está funcionando bem.

A questão está relacionada com a tentativa de utilização de glossários para lidar com fabricantes/empresas quando se faz referência, por exemplo, a um produto químico. Convencionalmente, quando você lista um produto químico pela primeira vez, ele deve ser referenciado como "Produto Químico X (Empresa Y, Sometown, EUA)". Se você usar vários produtos de uma empresa, as referências subsequentes à empresa poderão apenas mencionar o nome da empresa, sem a necessidade de localização. Estas referências de empresas não devem aparecer na lista de siglas.

Com a ajuda das respostas anteriores neste site, consegui suprimir o nome da empresa da lista de siglas, definindo um novo glossário 'falso' que não é impresso. Tentei usar \newignoredglossary, mas isso também pareceu esconder a sigla no texto, não sei por que, mas estou feliz com a solução do glossário falso.

No entanto, o primeiro uso dessas siglas de empresas usando \gls{}produz, por exemplo, "Empresa, Sometown, EUA (Empresa)". Gostaria que isso fosse exibido sem o nome da empresa repetido entre parênteses no final.

Eu percebo que poderia usar:

\glsdesc{company} 

seguido pela

\glsunset{company} \gls{company} 

para obter exatamente o efeito que procuro - mas isso envolveria ter que encontrar e marcar manualmente o primeiro uso de cada nome de empresa \glsdesc{}seguido de \glsunset{}- e dado que é provável que a ordem dos parágrafos possa mudar durante a redação da tese, eu faria muito antes que isso fosse tratado automaticamente.

Aqui está um exemplo mínimo de trabalho:

\documentclass{article}

\usepackage[acronym]{glossaries}

\newglossary[flg]{fake}{fls}{flo}{Fake Entries}

\newacronym[type=fake]{bio}{Biohazard Inc}{Biohazard Inc, MA, USA}
\newacronym{pbs}{PBS}{Phosphate Buffered Saline}

\makeglossaries

\begin{document}

First use - \gls{bio}. Second use - \gls{bio}. Not displayed in glossary, but first use repeats company name in parentheses. 

\gls{pbs} should appear in the glossary. Second use \gls{pbs}.

\printglossary[type=\acronymtype]

\end{document}

Existe uma maneira fácil de conseguir isso glossaries? Eu me perguntei se glossaries-extraseria capaz de lidar melhor com isso, mas a documentação não está 100% clara para mim, e estou preocupado que a tentativa de conversão possa quebrar o que atualmente é uma lista de acrônimos geralmente eficaz no que já é complexo, documento com vários arquivos e não necessariamente corrige meu problema!

Responder1

Aqui está uma abordagem alternativa:

\documentclass{article}

\usepackage[acronym]{glossaries}

\newignoredglossary{ignored}

% syntax: \newcompany[extra options]{label}{name}{location}
\newcommand*{\newcompany}[4][]{%
 \newglossaryentry{#2}{type=ignored,%
  name={#3},%
  first={#3 (#4)},%
  description={#4},%
  #1}%
}

\glssetnoexpandfield{first}

% syntax: \newchemical[extra options]{company}{label}{short}{long}
\newcommand{\newchemical}[5][]{%
 \newglossaryentry{#3}{type=\acronymtype,%
  name={#4},%
  first={#5 (\ifglsused{#2}{\glsentryname{#2}}{\glsentryname{#2},
    \glsentrydesc{#2}\protect\glsunset{#2}})},%
  description={#5},%
  #1}%
}

\makeglossaries

\newcompany{bio}{Biohazard Inc}{MA, USA}
\newchemical{bio}{pbs}{PBS}{Phosphate Buffered Saline}

\begin{document}

First use - \gls{bio}. Second use - \gls{bio}.

\gls{pbs} should appear in the glossary. Second use \gls{pbs}.

Reset\glsresetall[ignored,\acronymtype] and try the other way.

\gls{pbs} should appear in the glossary. Second use \gls{pbs}.

First use - \gls{bio}. Second use - \gls{bio}.

\printglossary[type=\acronymtype]

\end{document}

Isso produz:

imagem do documento

Responder2

Usar a first=opção quando o acrônimo de cada empresa é definido produz exatamente o resultado que procuro:

\newacronym[type=fake, first=\glsdesc{bio}]{bio}{Biohazard Inc}{Biohazard Inc, MA, USA}

O pacote de glossários é fantástico, mas tão repleto de recursos que pode ser difícil para um iniciante como eu apreciar todas as opções.

informação relacionada