自定义词汇表

自定义词汇表

我想更改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} 

相关内容