脚注词汇表

脚注词汇表

我正在写一本书,在书的脚注中加入了所引用科学家的传记。现在我想将这些脚注条目列在词汇表“书中引用作者词典”中。谁对这项任务有想法?

我举一个简单的例子来说明我的目标

\documentclass{book}

\begin{document}
The Maxwell\footnote{James Clerk
Maxwell, english physicist, 1831-1869}-Boltzmann\footnote{Ludwig Boltzmann,
english physicist and science philosoph, 1844-1906} model.
\end{document}

编译后结果如下

在此处输入图片描述

我想要一些像这篇文章第 2 页那样排序的内容。 在此处输入图片描述

答案1

这里有一个glossaries解决方案,其中条目存储在词汇表本身中,可以使用 更改链接显示(即在正文中)\defglsentryformat。但是,目前使用的是页码,而不是脚注编号。

\documentclass{book}

\usepackage{hyperref}
\usepackage{glossaries}

\newglossaryentry{Maxwell}{%
name={James Clerk Maxwell},
description={english physicist,1831-1869}
}

\newglossaryentry{Boltzmann}{%
  name={Ludwig Boltzmann},
  description={Austrian physicist,1844-1906}
}

\newglossaryentry{Einstein}{%
  name={Albert Einstein},
  description={German physicist,1879-1955}
}


\makeglossaries

\defglsentryfmt{\glsentryname{\glslabel}, \glsentrydesc{\glslabel}}

\begin{document}

The Maxwell\footnote{\gls{Maxwell}}-Boltzmann\footnote{\gls{Boltzmann}}
 model.

\clearpage
Einstein\footnote{\gls{Einstein}}-Bose-Condensate

\printglossary[title={Dictionary of Authors}]

\end{document}

更新带有脚注编号和附加词汇表键

\documentclass{book}

\usepackage[hypertexnames=false]{hyperref}
\usepackage[nomain]{glossaries}


\newglossary[aul]{authordict}{aus}{aug}{Dictionary of Authors}[Hfootnote]  %Note: Hfootnote, not just footnote

\makeglossaries


\glsaddkey{birthyear}{\glsentrytext{\glslabel}}{\glsentrybirthyear}{\GLsentrybirthyear}{\glsbirthyear}{\Glsbirthyear}{\GLSbirthyear}
\glsaddkey{deathyear}{}{\glsentrydeathyear}{\GLsentrydeathyear}{\glsdeathyear}{\Glsdeathyear}{\GLSdeathyear}




\newglossaryentry{Maxwell}{%
name={James Clerk Maxwell},
birthyear={1831},
deathyear={1869},
description={English physicist},
type=authordict,
}

\newglossaryentry{Boltzmann}{%
  name={Ludwig Boltzmann},
  birthyear={1844},
  deathyear={1906},
  description={Austrian physicist},
  type=authordict
}

\newglossaryentry{Einstein}{%
  name={Albert Einstein},
  birthyear={1879},
  deathyear={1955},
  description={German physicist},
  type=authordict
}



\defglsentryfmt[authordict]{\glsentryname{\glslabel} (\glsentrybirthyear{\glslabel} -- \glsentrydeathyear{\glslabel}), \glsentrydesc{\glslabel}}



\begin{document}

The Maxwell\footnote{\gls{Maxwell}}-
Boltzmann\footnote{\gls{Boltzmann}}
 model.


\clearpage
Einstein\footnote{\gls{Einstein}}
-Bose-Condensate


\printglossary[type=authordict]

\end{document}

在此处输入图片描述

答案2

您可以使用索引来实现。我认为重复信息是没有意义的。如果您还加载hyperref(之后imakeidx),页码将变成指向包含相关脚注的页面的超链接。

\documentclass[
  openany, % just for this example
]{book}

\usepackage[a5paper]{geometry} % just for this example

\usepackage{imakeidx}

\makeindex[title=Dictionary of the authors cited in the book]

\begin{document}

\chapter{Models}

The Maxwell%
  \footnote{James Clerk Maxwell, english physicist, 1831--1869}%
  \index{Maxwell, James Clerk}%
--Boltzmann%
  \footnote{Ludwig Boltzmann, austrian physicist and philosopher of science, 1844--1906}%
  \index{Boltzmann, Ludwig}
model.

\printindex

\end{document}

在此处输入图片描述

请注意,“physician”是指医生;Jay Orear 在他的物理学书中写道:“物理学是物理学家深夜所做的事情。”

相关内容