이것은 내 첫 번째 게시물이므로 규칙을 어기면 사과드립니다! 저는 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}
용어집 패키지는 환상적이지만 기능이 너무 많아서 나 같은 초보자가 모든 옵션을 이해하기 어려울 수 있습니다.