我正在写一本书,在书的脚注中加入了所引用科学家的传记。现在我想将这些脚注条目列在词汇表“书中引用作者词典”中。谁对这项任务有想法?
我举一个简单的例子来说明我的目标
\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}
编译后结果如下
答案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 在他的物理学书中写道:“物理学是物理学家深夜所做的事情。”