我想更改glossaries
设置以便有“参见第 x 页”而不仅仅是此条目所在页码。
例如,如果我的文档第 3 页中有首字母缩略词 PC,它将在词汇表中显示为“ PC 个人计算机。3”,而我想要的是“ PC 个人计算机。参见第 3 页”
我该怎么做?我读了软件包的用户指南glossaries
,但没有找到(或理解)任何有关它的内容。
以下是一个例子:
\documentclass[onecolumn,twoside,openright,a4paper,11pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage{makeidx} % package permettant de créer des index
\usepackage[toc,acronym,xindy,section=section]{glossaries}
\newglossary[ntg]{notation}{not}{ntn}{Glossaire}
\newglossary[slg]{symbols}{sym}{sbl}{Nomenclature}
\makeindex %
\makeglossaries %
\begin{document} %
\newglossaryentry{glscard}{%type=main,
name=cardinality,
description={The number of elements in the specified set}}
\printglossary[toctitle=Lexique,type=main]
\newacronym{pc}{PC}{personal computer}
\printglossary[toctitle=Acronyms,type=acronym]
\newglossaryentry{mesh}{type=notation,
name={Mesh},
description={maillage},
sort={m}}
\printglossary[type=notation]
\newglossaryentry{mbb}{type=symbols,
name={\ensuremath{ {M} }},
first={dzq},
firstplural={esfe}
text={ \uuline{M} },
plural={fesfse},
description={matrix},
descriptionplural={desfsf},
sort=m,
see=[see also]{glscard}}
\printglossary[type=symbols]
\chapter{Introduction}
\section{ab}
\gls{pc}; \gls{glscard}; \gls{mbb}; \gls{mesh};
\end{document}
请注意交叉引用不起作用,我不明白为什么。
答案1
词汇表的显示由样式控制。然后您需要声明一个新样式或编辑样式中使用的宏。默认样式是,list
打印词汇表中条目的部分是\glossentry
宏。
这列表样式定义声明\glossentry
宏(第 251 页,词汇表-代码.pdf):
\renewcommand*{\glossentry}[2]{%
\item[\glsentryitem{##1}%
\glstarget{##1}{\glossentryname{##1}}]
\glossentrydesc{##1}\glspostdescription\space ##2}%
然后可以定义一个基于的新样式列表样式(第 179 页,词汇表-用户.pdf)并仅修改\glossentry
宏page list
在部分 (##2)前添加 'see p.' 。其含义为:
\newglossarystyle{mylist}{%
\setglossarystyle{list}% base this style on the list style
\renewcommand*{\glossentry}[2]{%
\item[\glsentryitem{##1}%
\glstarget{##1}{\glossentryname{##1}}]
\glossentrydesc{##1}\glspostdescription\space see p.\space ##2}%
}
最后,需要设置印刷术语表
\setglossarystyle{mylist}
最后一个问题交叉引用newglossaryentry
:如果在中使用,则此方法有效preamble
。我不知道原因,我认为与此有关:
最初,\newglossaryentry ... 只能在序言中使用。(第 83 页,词汇表-用户.pdf)
梅威瑟:
\documentclass[onecolumn,twoside,openright,a4paper,11pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage{makeidx} % package permettant de créer des index
\usepackage[toc,acronym,xindy,section=section]{glossaries}
\newglossarystyle{mylist}{%
\setglossarystyle{list}% base this style on the list style
\renewcommand*{\glossentry}[2]{%
\item[\glsentryitem{##1}%
\glstarget{##1}{\glossentryname{##1}}]
\glossentrydesc{##1}\glspostdescription\space see p.\space ##2}%
}
\newglossary[ntg]{notation}{not}{ntn}{Glossaire}
\newglossary[slg]{symbols}{sym}{sbl}{Nomenclature}
\makeindex %
\makeglossaries %
\newglossaryentry{glscard}{%type=main,
name=cardinality,
description={The number of elements in the specified set}}
\newglossaryentry{mesh}{type=notation,
name={Mesh},
description={maillage},
sort={m}}
\newglossaryentry{mbb}{type=symbols,
name={\ensuremath{ {M} }},
first={dzq},
firstplural={esfe}
text={ \uuline{M} },
plural={fesfse},
description={matrix},
descriptionplural={desfsf},
sort=m,
see=[see also]{glscard}}
\begin{document} %
\setglossarystyle{mylist}
\printglossary[toctitle=Lexique,type=main]
\newacronym{pc}{PC}{personal computer}
\printglossary[toctitle=Acronyms,type=acronym]
\printglossary[type=notation]
\printglossary[type=symbols]
\chapter{Introduction}
\section{ab}
\gls{pc}; \gls{glscard}; \gls{mbb}; \gls{mesh};
\end{document}