将 \marginnote 中图片的顶部与 \baseline+\height 对齐

将 \marginnote 中图片的顶部与 \baseline+\height 对齐

我的文档在页边空白处包含一些信息图形。我通过包实现了这一点marginnote。如何将图像的顶部与段落的顶部对齐(\baseline+\height)并使用不同的因素\setstretch

以下是 MWE:

\documentclass{scrartcl}

% load packages
\usepackage{blindtext, setspace}
\usepackage{marginnote}
\usepackage{showframe}

\renewcommand*{\marginfont}{\tiny}

\begin{document}
\raggedleft

\blindtext

\marginnote{\rule{5mm}{20mm}}
X

\blindtext

\clearpage
\setstretch{1.6}

\blindtext

\marginnote{\rule{5mm}{20mm}}
X

\blindtext

\end{document}

有趣的部分是 的顶部对齐X到 的顶部\rule

与无的小差异setstretch

没有 <code>setstretch</code>

还有一个更大的区别\setstretch{1.6}

<code>\setstretch{1.6}

我的目标是,通过长度变量将 X 的顶部与图像的顶部对齐,以独立于不同的行空间。

编辑: 不幸的是,我忘记了 MWE 中的一个命令。我添加了这一行,\renewcommand*{\marginfont}{\tiny}因为我希望有一个独立于 marginnote 中所选字体大小的解决方案。我尝试输入正确的长度,raise=但失败了。这可能吗?

答案1

由于时间已晚,很难解释整个故事,但这里有一个使用adjustbox宏的选项。我们定义宏:

\newcommand{\marginfig}[2][scale=0.1]{%
    \includegraphics[#1,valign=T,raise=\fontcharht\font`X]{#2}
    }

并像这样使用它:

\documentclass{scrartcl}

% load packages
\usepackage{blindtext, setspace}
\usepackage[export]{adjustbox}
\usepackage[fulladjust]{marginnote}
\usepackage{showframe}

\newcommand{\marginfig}[2][scale=0.1]{%
    \includegraphics[#1,valign=T,raise=\fontcharht\font`X]{#2}
    }

\begin{document}
\raggedleft

\blindtext

\marginnote{\marginfig[width=1cm]{example-image-a}}
X

\blindtext

\clearpage
\setstretch{1.8}

\blindtext

\marginnote{\marginfig{example-image}}
X

\blindtext

\end{document}

这里我们将图像的顶部与 的基线对齐X,然后raise将其高度设置为X

在此处输入图片描述

在此处输入图片描述

相关内容