용어집 - 선택한 두문자어에 대해 처음 사용할 때 약어 억제

용어집 - 선택한 두문자어에 대해 처음 사용할 때 약어 억제

이것은 내 첫 번째 게시물이므로 규칙을 어기면 사과드립니다! 저는 LaTeX로 박사 학위 논문을 쓰기로 결정했는데, 약어/용어집 형식을 원하는 대로 지정하는 데 문제가 있었습니다. 나는 glossaries패키지를 사용하고 있으며 두 가지 서로 다른 사용 사례에 사용하고 싶습니다. 그 중 하나(표준 사용)는 잘 작동하고 있습니다.

문제는 예를 들어 화학 물질을 언급할 때 제조업체/회사를 다루기 위해 용어집을 사용하려는 것과 관련이 있습니다. 일반적으로 화학물질을 처음 나열할 때 "화학물질 X(회사 Y, 미국 Sometown)"라는 줄을 따라 참조해야 합니다. 한 회사의 여러 제품을 사용하는 경우 이후에 해당 회사를 참조할 때 위치가 필요 없이 회사 이름만 언급할 수 있습니다. 이러한 회사 참조는 약어 목록에 표시되어서는 안 됩니다.

이 사이트의 이전 답변의 도움으로 인쇄되지 않는 새로운 '가짜' 용어집을 정의하여 약어 목록에서 회사 이름을 표시하지 않을 수 있었습니다. 사용해 보았지만 \newignoredglossary텍스트에 약어가 숨겨져 있는 것 같았습니다. 이유는 모르겠지만 가짜 용어집 솔루션에 만족합니다.

\gls{}그러나 "회사, Sometown, USA (회사)"와 같은 생산물을 사용하여 이러한 회사 약어를 처음 사용했습니다 . 마지막에 괄호 안에 회사 이름을 반복하지 않고 표시하고 싶습니다.

나는 다음을 사용할 수 있다는 것을 알고 있습니다.

\glsdesc{company} 

이어서

\glsunset{company} \gls{company} 

내가 추구하는 효과를 정확히 얻으려면 - 하지만 이렇게 하려면 각 회사 이름의 첫 번째 사용을 수동으로 찾아 태그를 지정해야 하며, \glsdesc{}논문 \glsunset{}을 작성하는 동안 단락 순서가 변경될 수 있다는 점을 고려하면 오히려 이것은 자동으로 처리되었습니다.

다음은 최소한의 작업 예입니다.

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

에서 이것을 달성하는 쉬운 방법이 있습니까 glossaries? 이 문제를 더 잘 처리할 수 있을지 궁금했지만 glossaries-extra문서가 100% 명확하지 않으며 변환하려고 하면 이미 복잡한 약어 목록에서 현재 일반적으로 효과적인 약어 목록이 깨질 수 있다는 점이 걱정됩니다. 여러 파일 문서가 있지만 반드시 문제가 해결되는 것은 아닙니다!

답변1

대체 접근 방식은 다음과 같습니다.

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

이는 다음을 생성합니다.

문서 이미지

답변2

각 회사의 약어가 정의될 ​​때 이 옵션을 사용하면 first=내가 원하는 결과가 정확히 나옵니다.

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

용어집 패키지는 환상적이지만 기능이 너무 많아서 나 같은 초보자가 모든 옵션을 이해하기 어려울 수 있습니다.

관련 정보