在以下示例中,一些边注即使在 tcolorboxes 之后也不会出现。出现的边注随 tcolorbox 的长度而变化。我怎样才能显示边注?
(我这样设置边距是因为我计划大量使用边距注释)
梅威瑟:
\documentclass[a4paper]{scrbook}
\usepackage{lipsum}
\usepackage{tcolorbox}
\usepackage{marginnote}
\usepackage[a4paper,left=1.9cm,right=7.3cm,top=3.0cm,bottom=4.8cm,marginparwidth=5.4cm,marginparsep=4.5mm,heightrounded]{geometry}
%\setlength\evensidemargin{\oddsidemargin}
\begin{document}
\begin{tcolorbox}[]
\lipsum[2-5]
\marginnote[]{Test1.1}
\marginnote[Test1.2]{}
\end{tcolorbox}
\begin{tcolorbox}[]
\lipsum[2-2]
\marginnote[]{Test2.1}
\marginnote[Test2.2]{}
\end{tcolorbox}
\begin{tcolorbox}[]\lipsum[2-2]
\marginnote[]{Test2.1}
\marginnote[Test2.2]{}
\end{tcolorbox}
Some more Text\marginnote[]{Test3.1}\marginnote[Test3.2]{}
\end{document}
\end{document}
答案1
的第一个可选参数和必选参数\marginnote
与 相同\marginpar
。可选的<左>如果页边距注释打印在左边距上(默认情况下双面文档中的偶数页),则使用参数。强制<右>如果边距注释打印在右边距上(默认情况下双面文档中的奇数页),则使用参数。参数不能用于将使用的边距列从左侧移到右侧或从右侧移到左侧(请参阅我的最后一个例子,如何选择另一个边距)。
因此如果你使用一个空的<左>参数,注释放在左边距,则空白注释将打印为空白,因此不可见。如果使用空白<右>参数并且输出位于右边距。
一切都正如预期的那样。
也许你只想使用强制参数并删除可选参数。但在这种情况下,如果紧随其后有两个参数,则\marginnote
第二个参数将覆盖第一个参数:
\documentclass[a4paper]{scrbook}
\usepackage{lipsum}
\usepackage{tcolorbox}
\usepackage{marginnote}
\usepackage[a4paper,left=1.9cm,right=7.3cm,top=3.0cm,bottom=4.8cm,marginparwidth=5.4cm,marginparsep=4.5mm,heightrounded]{geometry}
%\setlength\evensidemargin{\oddsidemargin}
\begin{document}
\begin{tcolorbox}[]
\lipsum[2-5]
\marginnote{Test1.1}
\marginnote{Test1.2}
\end{tcolorbox}
\begin{tcolorbox}[]
\lipsum[2-2]
\marginnote{Test2.1}
\marginnote{Test2.2}
\end{tcolorbox}
\begin{tcolorbox}[]\lipsum[2-2]
\marginnote{Test2.1}
\marginnote{Test2.2}
\end{tcolorbox}
Some more Text\marginnote{Test3.1}\marginnote{Test3.2}
\end{document}
所以也许你还想要第二个的垂直偏移:
\documentclass[a4paper]{scrbook}
\usepackage{lipsum}
\usepackage{tcolorbox}
\usepackage{marginnote}
\usepackage[a4paper,left=1.9cm,right=7.3cm,top=3.0cm,bottom=4.8cm,marginparwidth=5.4cm,marginparsep=4.5mm,heightrounded]{geometry}
%\setlength\evensidemargin{\oddsidemargin}
\begin{document}
\begin{tcolorbox}[]
\lipsum[2-5]
\marginnote{Test1.1}
\marginnote{Test1.2}[\baselineskip]
\end{tcolorbox}
\begin{tcolorbox}[]
\lipsum[2-2]
\marginnote{Test2.1}
\marginnote{Test2.2}[\baselineskip]
\end{tcolorbox}
\begin{tcolorbox}[]\lipsum[2-2]
\marginnote{Test2.1}
\marginnote{Test2.2}[\baselineskip]
\end{tcolorbox}
Some more Text\marginnote{Test3.1}\marginnote{Test3.2}[\baselineskip]
\end{document}
或水平偏移:
\documentclass[a4paper]{scrbook}
\usepackage{lipsum}
\usepackage{tcolorbox}
\usepackage{marginnote}
\usepackage[a4paper,left=1.9cm,right=7.3cm,top=3.0cm,bottom=4.8cm,marginparwidth=5.4cm,marginparsep=4.5mm,heightrounded]{geometry}
%\setlength\evensidemargin{\oddsidemargin}
\begin{document}
\begin{tcolorbox}[]
\lipsum[2-5]
\marginnote[Test1.1\hphantom{ Test1.2}]{Test1.1}%
\marginnote[Test1.2]{\hphantom{Test1.1 }Test1.2}
\end{tcolorbox}
\begin{tcolorbox}[]
\lipsum[2-2]
\marginnote[Test2.1\hphantom{ Test2.2}]{Test2.1}%
\marginnote[Test2.2]{\hphantom{Test2.1 }Test2.2}
\end{tcolorbox}
\begin{tcolorbox}[]\lipsum[2-2]
\marginnote[Test2.1\hphantom{ Test2.2}]{Test2.1}%
\marginnote[Test2.2]{\hphantom{Test2.1 }Test2.2}
\end{tcolorbox}
Some more Text%
\marginnote[Test3.1\hphantom{ Test3.2}]{Test3.1}%
\marginnote[Test3.2]{\hphantom{Test3.1 }Test3.2}
\end{document}
但也许你只想将一些注释放在左边距,将一些注释放在右边距。在这种情况下,你应该使用\reversemarginpar
和\normalmarginpar
来切换注释使用的边距。但如果注释的内容不依赖于使用的边距,则不需要使用可选参数:
\documentclass[a4paper]{scrbook}
\usepackage{lipsum}
\usepackage{tcolorbox}
\usepackage{marginnote}
\usepackage[a4paper,left=1.9cm,right=7.3cm,top=3.0cm,bottom=4.8cm,marginparwidth=5.4cm,marginparsep=4.5mm,heightrounded]{geometry}
%\setlength\evensidemargin{\oddsidemargin}
\begin{document}
\begin{tcolorbox}[]
\lipsum[2-5]
\marginnote{Test1.1}
\reversemarginpar
\marginnote{Test1.2}
\end{tcolorbox}
\begin{tcolorbox}[]
\lipsum[2-2]
\reversemarginpar
\marginnote{Test2.1}
\normalmarginpar
\marginnote{Test2.2}
\end{tcolorbox}
\begin{tcolorbox}[]\lipsum[2-2]
\reversemarginpar
\marginnote{Test2.1}
\normalmarginpar
\marginnote{Test2.2}
\end{tcolorbox}
Some more Text\reversemarginpar\marginnote{Test3.1}\normalmarginpar\marginnote{Test3.2}
\end{document}
仅当左右内容如示例中水平偏移所示不同时,才需要可选参数。
顺便说一句:KOMA-Script 还提供了scrlayer-notecolumn
能够定义多个注释列的包,例如,一个在左边距,一个在右边距,即使宽度不同,也可以选择应打印注释的注释列。但据我所知,这scrlayer-notecolumn
只是一个概念证明,所以我不知道它是否应该用于实际文档。