使用 scrlayer-notecolumn 根据奇数页或偶数页在注释中左对齐或右对齐文本

使用 scrlayer-notecolumn 根据奇数页或偶数页在注释中左对齐或右对齐文本

我正在尝试让边注 (使用scrlayer-notecolumn) 左对齐或右对齐,具体取决于它们是出现在双面记事本的奇数页还是偶数页上。以下方法到目前为止运行良好:

\documentclass[12pt,a4paper,twoside,mpinclude=true]{scrbook}
\usepackage{lipsum}
\usepackage{changepage} 
\usepackage[left=2 cm,right=2 cm,bottom=6cm]{geometry}

\evensidemargin=4\marginparwidth
%\oddsidemargin=2cm
\setlength{\marginparwidth}{4\marginparwidth}
\setlength{\textwidth}{0.6\textwidth}
\let\oldmarginpar\marginpar

\usepackage{scrlayer-notecolumn}
\DeclareNewNoteColumn[%
    marginpar,
    width=\marginparwidth,%
    font=% 
        \checkoddpage 
        \ifoddpage \raggedright\footnotesize
        \else\raggedleft\footnotesize 
        \fi%
]%
{notes}

\usepackage[autooneside=false]{scrlayer-scrpage}

\emergencystretch=3em


\begin{document}

\lipsum[1-2]\makenote[notes]{\lipsum[1]}
\lipsum[1-4]\makenote[notes]{\lipsum[1]}
\lipsum[1-2]

\end{document}

scrlayer-notecolumn然而,当注释分页(这是我使用它而不是正常方式的主要原因\marginpar)时,文本对齐保持不变。

有没有办法让它自动切换?

答案1

经过一些尝试和错误后猜测边注的排版(右对齐、左对齐等)完全与页面的开始位置对齐。我尝试了类似

\usepackage{everypage}
\AddEverypageHook{%
  \checkoddpage 
  \ifoddpage%
  \RedeclareNoteColumn[font=\RaggedRight]{notes}%
  \else\RedeclareNoteColumn[font=\RaggedLeft]{notes}\fi%
}

...但没有成功。

所以我的答案是,如果不破解 KOMA 脚本的内部结构,您就无法更改分页符处的边注的布局。

然而,在测试时我注意到边注中新行的左侧开头不整齐,不易阅读。

因此我建议打印边注时始终“右侧不齐”。使用 ragged2e 包及其命令\RaggedRight

相关内容