【问题标题】:glossaries package and footnote in LaTeXLaTeX 中的词汇表包和脚注
【发布时间】:2009-10-27 19:09:13
【问题描述】:

我目前陷入困境,有两个单独的词汇表:mainacronymsAcronyms 词汇表在文本中首次使用时会打印脚注,但 main 词汇表不会。除了acronyms,还有什么方法可以在第一次使用该术语时打印脚注?我不知道该怎么做。

这是使用 TeXnic Center 和 MiKTeX 2.7 编译的代码示例:

\documentclass{article}
\usepackage{index}
\usepackage[toc,style=long3colheaderborder,footnote,acronym]{glossaries} 

\makeindex 
\makeglossaries


\newglossaryentry{appdomain}{name={application domain}, description={app Domain Description...}}
\newglossaryentry{sample}{name={[has been inserted aaa]},description={testing testing 123}}

\newacronym{aca}{aca}{a contrived acronym}

\begin{document}
\section{this is a test section}
This is the test line... a \gls{sample} \gls{appdomain} 
\index{entry} and \gls{aca}
\thispagestyle{empty}\cleardoublepage

\printglossary[type=main,title={Glossary},toctitle={Glossary}]
\thispagestyle{empty}\cleardoublepage
\printglossary[type=\acronymtype,title={List of Abbreviations},toctitle={List of Abbreviations}]

\printindex
\thispagestyle{empty}\cleardoublepage
\end{document}

我希望 sample 和 appdomain 包含带有描述的脚注或脚注说明:请参阅词汇表

非常感谢,
风向标

【问题讨论】:

  • 你能发一个sn-p来说明你的问题吗?
  • 您使用的是标准的\glossary 命令还是tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=glossaries 之类的包?
  • 我使用的是\glossaries包,它是\glossary的进一步发展。我会尝试做一个 sn-p,但我不确定它是否真的需要,因为当导入包时: \usepackage[toc,style=long3colheaderborder,footnote,acronym]{glossaries} 声明首字母缩略词在单独的词汇表。在文本中第一次出现首字母缩略词后,我得到一个脚注,但如果出现正常的词汇表短语,我看不到它。 Doc 声明 \acronym 是 smth。就像对 \newglossaryentry 的前向声明。如何使正常的词汇表条目第一次出现脚注?
  • 你可以在tex.stackexchange.com找到整个TeX用户社区

标签: latex footnotes glossaries


【解决方案1】:

简而言之,使用 glossaries 包,您无法在首次使用非首字母缩写词词汇表时获得脚注。

但是,您可以在序言中重新定义一些命令(在您\usepackage{glossaries} 之后)以获得您想要的:

\makeatletter
\renewcommand{\gls@main@displayfirst}[4]{
  #1#4\protect\footnote{#2}
}
\makeatother

但这真的很脆弱。

【讨论】:

  • 哇!这正是我一直在寻找的。为什么它很脆弱?
  • 对不起,来晚了,我没有立即得到。我现在明白了“脆弱”的意思。如果我更改词汇表名称或类型,它将中断。但无论如何,谢谢!
  • 没错!也许这应该作为功能请求提交给包的维护者……
【解决方案2】:

我认为有一种更简单的方法可以做到这一点。也许它是新的,但是

\defglsdisplayfirst[main]{#1#4\protect\footnote{#2}}

似乎达到了完全相同的效果(如果我错了,请纠正我)。请参阅glossaries 手册,2.03 版,第 2.4.1 小节更改文本格式

不幸的是,\gls\autoref 之类的命令在这些脚注中似乎不起作用。

【讨论】:

【解决方案3】:

以下是一种很好的技巧,可以在脚注中说明定义的位置:

\label{nom} %put this on the page your term appears, so that it can collect page number

\newcommand{\g}{\footnote{For all abbreviations see the glossary on page \pageref{nom}.}}

我是从here 找到的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 2022-08-09
    • 1970-01-01
    相关资源
    最近更新 更多