\raggedouter 用于在双面书中排版边注文字

\raggedouter 用于在双面书中排版边注文字

我们使用了以下代码片段changepage包裹:

\newcommand{\raggedouter}{%
    \checkoddpage%
        \ifoddpage%
        \RaggedRight%
        \else%
        \RaggedLeft%
        \fi%
}

提供一个\raggedouter命令,受类启发tufte-latex。请参见下图以演示双面书中的效果。

在此处输入图片描述

The Elements of Typographic Style这并不罕见,Bringhurst甚至在德国的Mittelbach 和 Goosens 也做过这样的事情Der LaTeX-Begleiter。我怀疑 这样的包中的函数ragged2e。上面的代码片段是否涵盖了所有可能的情况?如果有好的解决方案,它是否是 的合适功能请求ragged2e

答案1

该命令\marginpar已经检查了奇数页或偶数页,因此更简单的说法是

\newcommand{\mymarginpar}[1]{%
  \marginpar[\raggedleft#1]{\raggedright#1}}

和 用来\mymarginpar插入边注。当然,如果您认为它们更适合您,您也可以使用 提供的类似命令来更改\raggedright和。\raggedleftragged2e

您可能也想加载mparhack,可能。

答案2

你看过raggedrightboxes套餐选项了吗ragged2e几乎实现了您所寻找的。:-)不幸的是,没有raggedboxes选择,但这很容易解决,正如本示例的其余部分所解释的那样。

创建 的副本ragged2e.sty(应位于 TEXHOME/texmf-dist/tex/latex/ms/ 下)并将新文件命名为(例如)newragged2e.sty。包文件的相关行是 84 到 115(至少在我的包副本中)。首先,逐字复制并粘贴此范围的行到紧接在此范围之后。接下来,将第一行更改为

\newcommand*{\@raggedtwoe@raggedrightboxes@opt}{

\newcommand*{\@raggedtwoe@raggedboxes@opt}{

并改变最后一行,

\DeclareOption{raggedrightboxes}{\@raggedtwoe@raggedrightboxes@opt}

\DeclareOption{raggedboxes}{\@raggedtwoe@raggedboxes@opt}

三、更换指令

  \RaggedRight

\@arrayparboxrestore位于命令末尾

  \raggedouter

\raggedouter代码示例中定义了什么。(请注意,除了 OP 之外的读者:命令\checkoddpage定义中使用的命令raggedouter由包提供changepage。)运行texhash(如果需要)以使您的 TeX 系统知道新包myragged2e。最后,myragged2e使用raggedboxes选项集加载包,您就可以开始工作了。:-)

相关内容