在每页顶部索引单词间隔

在每页顶部索引单词间隔

朋友们,我很好奇如何在 LaTeX 中执行以下操作:

字典每页顶部有两个单词,表示在该特定页面上可以找到的单词间隔,例如,

字典

在图中,分析师指的是下限(第一个词),以及附属的指的是上限(此页的最后一个词)。

我想知道如何在 LaTeX 中实现类似的东西。假设我们有以下文档:

\documentclass{article}
\usepackage{multicol}
\usepackage{enumerate}
\usepackage{lipsum}

\begin{document}
\begin{multicols}{2}
\begin{description}
    \item[adequate] \lipsum[1]
    \item[adhere] \lipsum[2]
    \item[adherence] \lipsum[3]
    \item[adhesion] \lipsum[4]
    \item[adhesive] \lipsum[5]
    \item[adjacent] \lipsum[6]
    \item[adjective] \lipsum[1]
    \item[adjoin] \lipsum[2]
    \item[adjourn] \lipsum[3]
    \item[adjournment] \lipsum[4]
    \item[adjunt] \lipsum[5]
    \item[adjust] \lipsum[6]
\end{description}
\end{multicols}
\end{document}

我的例子

对于此页面,我希望同时看到足够的粘合剂在页面顶部(分别是页面上的第一项和最后一项)。其余页面也适用同样的规则。更新:我应该提到,我很好奇如何通过一种“自动”方式来选择在页眉中设置哪些单词。=)

有任何想法吗?

答案1

以下是根据fancyhdr文档:

\documentclass[twoside]{article}
\usepackage{multicol}
\usepackage{ifthen}
\usepackage{fancyhdr}
\usepackage{enumerate}
\usepackage{lipsum}
% empty \sectionmark
\renewcommand{\sectionmark}[1]{}
% create a command to create marks and collapse them if they are identical
\newcommand{\mymarks}{%
\ifthenelse{\equal{\leftmark}{\rightmark}}
{\rightmark} % if equal
{\rightmark--\leftmark}} % if not equal 
\fancyhead[LE,RO]{\mymarks} 
\fancyhead[LO,RE]{\thepage}
% define a wrapper on the description environment to add the marks
% this part is quick and dirty; it would be better to define one's own
% environment to do this, but the basic idea is the same: you need
% to add the \markboth command to each dictionary entry
\def\ditem[#1]{\markboth{#1}{#1}\item[#1]}
\pagestyle{fancy}
\begin{document}
\begin{multicols}{2}
\begin{description}
    \ditem[adequate] \lipsum[1]
    \ditem[adhere] \lipsum[2]
    \ditem[adherence] \lipsum[3]
    \ditem[adhesion] \lipsum[4]
    \ditem[adhesive] \lipsum[5]
    \ditem[adjacent] \lipsum[6]
    \ditem[adjective] \lipsum[1]
    \ditem[adjoin] \lipsum[2]
    \ditem[adjourn] \lipsum[3]
    \ditem[adjournment] \lipsum[4]
    \ditem[adjunt] \lipsum[5]
    \ditem[adjust] \lipsum[6]
\end{description}
\end{multicols}
\end{document}

代码输出

相关内容