我使用 KOMA-Script 来管理页面布局,需要使用twoside=semi
。对于脚注等,我使用scrlayer-notecolumn
,它非常适合我的任务。正如您在下图\tcbdocmarginnote
(和通常的\marginnote
)中看到的那样,请忽略该twoside=semi
设置。
所以我的问题是:我怎样才能强制\tcbdocmarginnote
使用右边距(仅右侧,而不是外部)?这等于:我怎样才能强制\tcbdocmarginnote
服从twoside=semi
?
\documentclass[twoside=semi,DIV=calc,BCOR=1mm,a7paper]{scrreprt}
\usepackage{showframe} % for demonstration
\usepackage{scrlayer-notecolumn,xparse,tcolorbox,marginnote} % for implementation
\tcbuselibrary{documentation}
\begin{document}
This is a test\tcbdocmarginnote{\tcbdocnew{1.0}}\\[2em]
Marginnote\marginnote{Test}\clearpage
This is a test\tcbdocmarginnote{\tcbdocnew{1.0}}\\[2em]
Marginnote\marginnote{Test}
\end{document}
答案1
marginnote
确实理解了。您可以使用以下方法在偶数页上\reversemarginpar
自动使用:\reversemarginpar
\ifthispageodd
\documentclass[twoside=semi,DIV=calc,BCOR=1mm,a7paper]{scrreprt}
\usepackage{showframe} % for demonstration
\usepackage{scrlayer-notecolumn,xparse,tcolorbox,marginnote} % for implementation
\tcbuselibrary{documentation}
\let\originalmarginnote\marginnote
\renewcommand{\marginnote}{%
\ifthispageodd{\normalmarginpar}{\reversemarginpar}\originalmarginnote
}
\begin{document}
This is a test\tcbdocmarginnote{\tcbdocnew{1.0}}\\[2em]
Marginnote\marginnote{Test}\clearpage
This is a test\tcbdocmarginnote{\tcbdocnew{1.0}}\\[2em]
Marginnote\marginnote{Test}
\end{document}
不幸的是,\reversemarginpar
这会激活页面上所有注释的反向行为。