今日、私に起こった最も奇妙な出来事:
略語から用語集のエントリにリンクする方法を探していたところ、この答え私のコードでエミュレートすると、機能せず、属性がpdflatex
無視されますsee
。
いろいろいじってみると、これはglossaries
パッケージが属性に含まれている場合にのみ発生することがわかりましたnonumberlist
。これはリンクにはまったく影響しないはずです。
最小限のコード例:
\documentclass{article}
\usepackage{hyperref}
\usepackage[nonumberlist, acronym]{glossaries}
\makeglossaries
%%% define the acronym and use the see= option
\newglossaryentry{css}{type=\acronymtype, name={CSS}, description={Cascading Style Sheets}, first={Cascading Style Sheets (CSS)}, see=[Glossary:]{cssg}}
\newglossaryentry{cssg}{name={Cascading Style Sheets},
description={A language for specifying presentation attributed of XML documents.}}
\begin{document}
\glsaddall
% Acronyms
\printglossary[type=\acronymtype]
% Glossary
\printglossary[style=altlist,title=Glossary]
\end{document}
これを修正するにはどうすればいいでしょうか? また、なぜこのようなことが起こるのでしょうか?
答え1
これは文書化された動作です。マニュアル:
番号なしリストこのオプションは、用語集内の関連する番号リストを抑制します (セクション 5 も参照)。
自動番号リストを参照番号リストを非表示にする場合は番号なしリスト
\newglossaryentry
前述のように、これはまたはのseeキーによって提供される相互参照情報も抑制します\glssee
。自動番号リストを参照の場合、see キーはnonumberlist=false
そのエントリに対して自動的に実装されます。(これは には影響しません\glssee
。) 詳細については、セクション 8 を参照してください。
したがって、 も設定するという解決策も考えられます。これにより、当初seeautonumberlist
避けたかったページ番号が頭字語エントリに設定されるという望ましくない効果が生じる可能性があります。nonumberlist
% arara: pdflatex
% arara: makeglossaries
% arara: pdflatex
\documentclass{article}
\usepackage{hyperref}
\usepackage[nonumberlist,seeautonumberlist,acronym]{glossaries}
\makeglossaries
%%% define the acronym and use the see= option
\newglossaryentry{css}{
type=\acronymtype,
name={CSS},
description={Cascading Style Sheets},
first={Cascading Style Sheets (CSS)},
see=[Glossary:]{cssg}
}
\newglossaryentry{cssg}{
name={Cascading Style Sheets},
description={A language for specifying presentation attributed of XML documents}
}
\begin{document}
\glsaddall
% Acronyms
\printglossary[type=\acronymtype]
% Glossary
\printglossary[style=altlist,title=Glossary]
\end{document}
別の方法としては、頭字語の説明に参照を手動で追加する方法があります。この方法でも、頭字語のエントリにページ番号は表示されません。
% arara: pdflatex
% arara: makeglossaries
% arara: pdflatex
\documentclass{article}
\usepackage{hyperref}
\usepackage[nonumberlist,acronym]{glossaries}
\makeglossaries
%%% define the acronym
\newglossaryentry{css}{
type=\acronymtype,
name={CSS},
description={Cascading Style Sheets. \textit{Glossary:} \gls{cssg}},
first={Cascading Style Sheets (CSS)}
}
\newglossaryentry{cssg}{
name={Cascading Style Sheets},
description={A language for specifying presentation attributed of XML documents}
}
\begin{document}
\glsaddall
% Acronyms
\printglossary[type=\acronymtype]
% Glossary
\printglossary[style=altlist,title=Glossary]
\end{document}