目前我正在写一份小报告。因此,我不得不重新定义命令\marginpar{}
new,因为我希望它的字体大小比“普通文本”小。我编写的代码如下:
\documentclass{scrbook}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{mparhack}
\usepackage{calc}
\setlength{\fboxsep}{1pt}
\makeatletter
\let\oldmarginpar\marginpar
\renewcommand\marginpar[1]{\oldmarginpar[\color{black}\scriptsize #1]%
{\color{black}\scriptsize #1}}
\makeatother
\begin{document}
\chapter{Hello everybody!}
... but anyway, it's interesting. \marginpar{I don't know why there's some space ... ?}
\end{document}
现在,有一张图片来显示出现的问题:
我不知道为什么,但在我重新定义之后,添加的边距之前有一些垂直空间。它不再像“普通文本”那样从同一行开始。
所以我的问题是,我如何才能重新定义它,\marginpar
使它始终从“普通文本”的“上线”开始。在上面给出的图像中,我希望文本\marginpar
出现在蓝线上 - “普通文本”和\marginpar
文本应该使用相同的第一个“上线”。(不幸的是,我不知道我在这里描述的内容的确切印刷名称,但我希望你能帮助我并理解我的意思......)
提前致谢,eniem
答案1
您必须使用\textcolor
而不是\color
:
\documentclass{scrbook}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{mparhack}
\usepackage{calc}
\setlength{\fboxsep}{1pt}
\makeatletter
\let\oldmarginpar\marginpar
\renewcommand\marginpar[1]{\oldmarginpar[\textcolor{black}{\scriptsize #1}]%
{\textcolor{black}{\scriptsize #1}}}
\makeatother
\begin{document}
\chapter{Hello everybody!}
... but anyway, it's interesting. \marginpar{I don't know why there's some space ... ?}
\end{document}