(tcbdoc)marginnote 忽略 twoside 选项

(tcbdoc)marginnote 忽略 twoside 选项

我使用 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这会激活页面上所有注释的反向行为。

相关内容