将边注的垂直位置调整至正文基线

将边注的垂直位置调整至正文基线

我希望边注的第一行(已设置\small大小)位于正文基线的高度,如下所示:

在此处输入图片描述

我的问题是使用一些简单的东西

\documentclass{article}
\usepackage{marginnote}
\renewcommand{\marginfont}{\small}
\begin{document}
What can I do to align the first line of the marginnote?\marginnote{D-D-D-Drop the baseline!}
\end{document}

结果是

在此处输入图片描述

答案1

您可以使用该软件包编写自己的内容tabto。已编辑以翻转\mynote每页的边距。您可以选择通过删除并将设置为或根据需要设置为或来将固定\mynote在单个边距(左或右)中。\AddEverypageHook\pagesenseRL

\documentclass{article}
\usepackage{marginnote}
\usepackage{lipsum}
\usepackage{tabto,everypage}
\def\pagesense{R}
\AddEverypageHook{\if R\pagesense\gdef\pagesense{L}\else\gdef\pagesense{R}\fi}
\renewcommand{\marginfont}{\small}
\newcommand\mynote[1]{%
  \if R\pagesense%
    \tabto*{\dimexpr\textwidth+\marginparsep\relax}%
  \else%
    \tabto*{\dimexpr-\marginparsep-\marginparwidth\relax}%
  \fi%
  \smash{\parbox[t]{\marginparwidth}{\small#1}}%
  \tabto*{\TabPrevPos}%
  {}%
}
\textwidth=3.9in
\begin{document}
Original marginnote\par
What can I do to align the first line of the marginnote?\marginnote{D-D-D-Drop the baseline!} Here I continue the text.
\vspace{.2in}

Revised mynote\par
What can I do to align the first line of the marginnote?\mynote{D-D-D-Drop the baseline!} Here I continue the text.

\lipsum[1-5]

Another test.\mynote{I should be to the left}

\lipsum[6-10]

Last test.\mynote{I'm back on the right}
\end{document}

在此处输入图片描述

在此处输入图片描述

答案2

您可以用来\marginnotevadjust调整这一点。

\renewcommand{\marginnotevadjust}{0.157ex}

在我看来,的值0.157ex是正确的,但是我的眼睛不太好,所以如果您发现它不正确,请修改该值。

平均能量损失

\documentclass{article}
\usepackage{marginnote}
\renewcommand{\marginfont}{\small}
\renewcommand{\marginnotevadjust}{0.157ex}
\begin{document}
What the \ldots\ldots\ldots\ldots\ldots can I do to align the first line of the marginnote?\marginnote{D-D-D-Drop the baseline!}
\end{document} 

在此处输入图片描述

如果你只需要一个实例,而不是\marginnotevadjust全局重新定义,你可以使用可选\marginnote参数

\marginnote{D-D-D-Drop the baseline!}[0.157ex]

答案3

这是一个快速而肮脏的破解方法来获得预期的结果:只需\marginfont用这个定义替换定义:

\renewcommand{\marginfont}{\noindent\rule{0pt}{0.7\baselineskip}\tiny}

它将确保边注的第一行与文本的第一行具有相同的高度,从而对齐。

相关内容