marginpar 的文本样式

marginpar 的文本样式

有没有办法使用标准 LaTeX 宏来更改字体、字体大小等\marginpar,即不需要诸如\let\oldmarginpar\marginpar(cp.自定义 Marginpar 的问题(与 ToMarginpar 结合). 该\marginnote包例如提供\marginfont

梅威瑟:

\documentclass{book}

\begin{document}
Text text text\marginpar{A short note.}
\end{document}

答案1

要打印边距,内容将保存在保存框中。因此,您可以操作其默认实现,latex.ltx如下所示:

\long\def\@ympar#1{%
  \@savemarbox\@marbox{#1}%
  \global\setbox\@currbox\copy\@marbox
  \@xympar}

必填参数是内容。因此使用方法很简单:

\long\def\@ympar#1{%
  \@savemarbox\@marbox{\tiny #1}%
  \global\setbox\@currbox\copy\@marbox
  \@xympar}

根据@您必须使用的特殊符号\makeatletter...。\makeatother

答案2

最简单的方法是\RenewDocumentCommand

\NewCommandCopy{\oldmarginpar}{\marginpar}
\RenewDocumentCommand{\marginpar}{om}{%
  \IfNoValueTF{#1}
    {\oldmarginpar{\mymparsetup #2}}
    {\oldmarginpar[\mymparsetup #1]{\mymparsetup #2}}}

\newcommand{\mymparsetup}{\itshape}

\mymparsetup命令中,您可以输入所需的所有自定义内容。这样,我们就可以保留带有可选参数的行为\marginpar

注:请参阅旧版本的编辑历史\let

相关内容