Glosarios: supresión de abreviaturas en el primer uso para acrónimos seleccionados

Glosarios: supresión de abreviaturas en el primer uso para acrónimos seleccionados

Esta es mi primera publicación, ¡así que me disculpo si rompo alguna convención! Decidí escribir mi tesis doctoral en LaTeX y tengo algunos problemas para formatear las siglas/glosarios como me gustaría. Estoy usando el glossariespaquete y quiero usarlo para dos casos de uso distintos, uno de los cuales (el uso estándar) funciona bien.

El problema se relaciona con el intento de utilizar glosarios para tratar con fabricantes/empresas cuando se hace referencia, por ejemplo, a una sustancia química. Convencionalmente, cuando se enumera una sustancia química por primera vez, se debe hacer referencia a ella como "Producto químico X (Compañía Y, Sometown, EE. UU.)". Si utiliza varios productos de una empresa, las referencias posteriores a la empresa pueden simplemente mencionar el nombre de la empresa sin necesidad de ubicación. Estas referencias de empresas no deben aparecer en la lista de siglas.

Con la ayuda de respuestas anteriores en este sitio, logré suprimir el nombre de la empresa de la lista de acrónimos definiendo un nuevo glosario "falso" que no está impreso. Intenté usarlo \newignoredglossary, pero esto también parecía ocultar el acrónimo en el texto, no estoy seguro de por qué, pero estoy contento con la solución del glosario falso.

Sin embargo, el primer uso de estas siglas de empresa \gls{}produce, por ejemplo, "Compañía, Sometown, EE. UU. (Compañía)". Me gustaría que esto se muestre sin que el nombre de la empresa se repita entre paréntesis al final.

Me doy cuenta de que podría usar:

\glsdesc{company} 

seguido por

\glsunset{company} \gls{company} 

para lograr exactamente el efecto que busco, pero esto implicaría tener que buscar y etiquetar manualmente el primer uso de cada nombre de empresa con \glsdesc{}seguido de \glsunset{}, y dado que es probable que el orden de los párrafos cambie durante la redacción de la tesis, lo haría más bien, esto se manejó automáticamente.

Aquí hay un ejemplo de trabajo mínimo:

\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 una manera fácil de lograr esto en glossaries? Me he preguntado si glossaries-extrapodría manejar esto mejor, pero la documentación no es 100% clara para mí y me preocupa que intentar convertir pueda romper lo que actualmente es una lista de acrónimos generalmente efectiva en lo que ya es complejo. documento de varios archivos, ¡y no necesariamente solucionar mi problema!

Respuesta1

Aquí hay un enfoque alternativo:

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

Esto produce:

imagen del documento

Respuesta2

Usar la first=opción cuando se define el acrónimo de cada empresa produce exactamente el resultado que busco:

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

El paquete de glosarios es fantástico, pero está tan repleto de funciones que puede resultar difícil para un principiante como yo apreciar todas las opciones.

información relacionada