目录中的边注条目

目录中的边注条目

我知道关于此网站的问题与我的标题完全相同,但我追求的却截然不同。

我写过一些课程笔记,其内容可以按两种方式组织:第一种是文档的逻辑内容(主题的自然结构方式),另一种是按讲座(即讲座 1、讲座 2 等)组织。后者对学生很有用,特别是当他们错过讲座并想确切知道他们错过了什么时。

我喜欢在目录中同时标明这两者,我当前的解决方案是使用我创建的名为的命令\newlecture{day}{month}{year},这会在文本中添加一个漂亮的标题并在目录中添加一行:

平均能量损失

以下是 MWE 的代码:

\documentclass{article}

% Packages
\usepackage{lipsum,parskip}
\usepackage[hidelinks]{hyperref}
\usepackage[british]{datetime2}

% Date format
\DTMlangsetup[en-GB]{monthyearsep={,\space}}

% Lecture counter
\newcounter{lecture}
\newcommand\newlecture[3]{%
    \stepcounter{lecture}
    \phantomsection\textbf{LECTURE \thelecture}\hfill{\itshape \DTMdisplaydate{#3}{#2}{#1}{-1}}%
    \addcontentsline{toc}{section}{\normalfont\itshape Lecture \thelecture~(\DTMdisplaydate{#3}{#2}{#1}{-1})}}

\begin{document}
    
    % Contents
    \tableofcontents
    
    \pagebreak
    
    
    \newlecture{14}{10}{2021}
    \section{Introduction}
    \lipsum[1-5]
    \subsection{What this course is about}
    \lipsum[6-10]
    \subsection{The Exam}
    \lipsum[11-15]
    
    \section{Some Basic Techniques}
    \lipsum[16-20]
    \subsection{Arithmetic Functions}
    \lipsum[21-25]
    \subsection{M\"obius Inversion and Dirichlet Convolution}
    \lipsum[26-30]
    \subsection{Partial Summation}
    \lipsum[31-35]
    

    \newlecture{21}{10}{2021}
    
    \lipsum[36-40]
    \subsection{The Euler--Maclaurin Formula}
    \lipsum[41-45]
    
    \section{Proof of the Prime Number Theorem}
    \lipsum[46-50]
    \subsection{Some Initial Bounds}
    \lipsum[51-55]
\end{document}

现在我认为,如果我有一个边注,而不是新的讲座行,那么目录看起来会更干净,如下所示:

在此处输入图片描述

我如何使用类似的命令将这些添加到我的内容中?我知道我可以做类似的事情,\section{Title\marginnote{...}}但这会在部分出现的地方创建一个边注。我宁愿保留边注只是对于目录(另外,有时我必须在中间部分停止,因此命令\newlecture可以出现在任何阶段,不一定出现在某个部分或小节的开头)。

答案1

不幸的是,\addcontentsline我们必须在目录中的项目之间添加新行。

我的解决方案包括重新定义\newlecture以下内容:

\newcommand{\newlecture}[3]{
    \stepcounter{lecture}

    \addcontentsline{toc}{section}{\protect\marginpar{
            \fbox{\parbox[-2]{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}{\centering
                \scriptsize{\scshape Lecture \thelecture}\\
                \DTMdisplaydate{#3}{#2}{#1}{-1}}}}}}

其中,特定命令前面\addcontentstoline需要加上\protect。您可以根据需要随意修改此 MWE。

\documentclass{article}
% Packages
\usepackage{lipsum,parskip}
\usepackage[hidelinks]{hyperref}
\usepackage{datetime2}

% Counter declaration
\newcounter{lecture}

% Date format
\DTMlangsetup[en-GB]{monthyearsep={,\space}}

\reversemarginpar


\newcommand{\newlecture}[3]{
    \stepcounter{lecture}

    \addcontentsline{toc}{section}{\protect\marginpar{
            \fbox{\parbox[-2]{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}{\centering
                \scriptsize{\scshape Lecture \thelecture}\\
                \DTMdisplaydate{#3}{#2}{#1}{-1}}}}}}


\begin{document}
    
    % Contents
    \tableofcontents
    
    \pagebreak
    
    
    \newlecture{14}{10}{2021}
    \section{Introduction}
    \lipsum[1-5]
    \subsection{What this course is about}
    \lipsum[6-10]
    \subsection{The Exam}
    \lipsum[11-15]
    
    \section{Some Basic Techniques}
    \lipsum[16-20]
    \subsection{Arithmetic Functions}
    \lipsum[21-25]
    \subsection{M\"obius Inversion and Dirichlet Convolution}
    \lipsum[26-30]
    \subsection{Partial Summation}
    \lipsum[31-35]
    

    \newlecture{14}{10}{2021}
    
    \lipsum[36-40]
    \subsection{The Euler--Maclaurin Formula}
    \lipsum[41-45]
    \newlecture{14}{10}{2021}
    \section{Proof of the Prime Number Theorem}
    \lipsum[46-50]
    \subsection{Some Initial Bounds}
    \lipsum[51-55]
\end{document}

答案2

这是基于 Georgio 的解决方案,但使用了。marginpar 与前一个或TOC 条目\addtocontents对齐。添加了一个空白行以显示两个讲座之间的间隔。\section\subsection

\documentclass{article}
% Packages
\usepackage{lipsum,parskip}
\usepackage[hidelinks]{hyperref}
\usepackage{datetime2}

% Counter declaration
\newcounter{lecture}

% Date format
\DTMlangsetup[en-GB]{monthyearsep={,\space}}

\newcommand{\newlecture}[3]{% see \DTMdisplaydate
    \stepcounter{lecture}\label{lecture\thelecture}%
    \addtocontents{toc}{\protect\marginpar{%
        \protect\hyperlink{\protect\getrefbykeydefault{lecture\thelecture}{anchor}{Doc-Start}}{%
            \protect\fbox{\protect\parbox[t]{\the\dimexpr\marginparwidth-2\fboxsep-2\fboxrule}{\protect\centering
                \protect\scriptsize{\protect\scshape Lecture \thelecture}\\
                \DTMdisplaydate{#3}{#2}{#1}{-1}}}}}}}%

\begin{document}
    
    % Contents
    \reversemarginpar
    \tableofcontents
    
    \pagebreak
    
    \section{Introduction}\newlecture{14}{10}{2021}
    \lipsum[1-5]
    \subsection{What this course is about}
    \lipsum[6-10]
    \subsection{The Exam}
    \lipsum[11-15]
    
    \section{Some Basic Techniques}
    \lipsum[16-20]
    \subsection{Arithmetic Functions}
    \lipsum[21-25]
    \subsection{M\"obius Inversion and Dirichlet Convolution}
    \lipsum[26-30]
    \subsection{Partial Summation}
    \lipsum[31-35]
    
    \addtocontents{toc}{\protect\vskip 10pt}%
    \phantomsection\newlecture{14}{10}{2021}

    \lipsum[36-40]
    \subsection{The Euler--Maclaurin Formula}
    \lipsum[41-45]
    
    \section{Proof of the Prime Number Theorem}\newlecture{14}{10}{2021}
    \lipsum[46-50]
    \subsection{Some Initial Bounds}
    \lipsum[51-55]
\end{document}

相关内容