我希望边注的第一行(已设置\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
\pagesense
R
L
\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}
它将确保边注的第一行与文本的第一行具有相同的高度,从而对齐。