我怎样才能使边注自动缩进文本,并将文本移位?

我怎样才能使边注自动缩进文本,并将文本移位?

我希望将外边距注释推入文本中,并且文本围绕它们流动,如下图所示: 在此处输入图片描述

我正在使用 scrbook,我仍然希望边距注释具有与通常相同的对齐方式(奇数页左对齐,偶数页反之亦然)。

我希望边注和常规文本基本上具有相同的边距,但推送的文本显然具有更大的边距。

我有一个带有许多边注的大文档,因此我无法手动执行某种命令,例如\marginnoteindent{note}{paragraphToIndent}强制将我选为#2 的段落移动,我需要它通过例如来工作\marginnoteindent{note},如果这种事情可能的话。

答案1

这需要手动将注释放在行尾。它要求您先打印没有注释的段落,然后确定要将注释放在何处(按顺序一次一个)。

您可以在带连字符的单词中间插入注释。

\documentclass{article}
\usepackage{lipsum}% fake text

\newlength{\insertwidth}
\setlength{\insertwidth}{1.5cm}
\newcommand{\insertcount}{}% reserve global names
\newsavebox{\insertbox}

\newcommand{\insertnote}[1]% #1 = text to insert
{\bgroup
  \sbox0{\footnotesize\parbox[t]{\insertwidth}{\raggedright #1}}% measure height
  \dimen0=\dimexpr \ht0+\dp0+1.2\baselineskip\relax
  \count1=\numexpr \dimen0/\baselineskip\relax% round down
  \dimen1=\baselineskip
  \multiply\dimen1 by \count1
  \dimen2=\dimexpr \dimen1-\ht0-\dp0\relax% extra top and bottom margin
  \xdef\insertcount{-\the\count1}%
  \global\setbox\insertbox=\hbox{\raisebox{\dimexpr \dp\strutbox-0.5\dimen2}[0pt][0pt]{\usebox0}\hskip\columnsep}%
\egroup
{\parskip=0pt\parfillskip=0pt\par}%
\hangafter=\insertcount
\hangindent=\dimexpr \insertwidth+\columnsep\relax
\noindent\llap{\usebox\insertbox}%
\ignorespaces}
  

\begin{document}
\lipsum[2]

Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat at,
\insertnote{Resistance of the government}
tincidunt tristique, libero. Vivamus viverra fermentum felis. Donec nonummy
pellentesque ante. Phasellus adipiscing semper elit. Proin fermentum massa
ac quam. Sed diam turpis, molestie vitae, placerat a, molestie nec, leo. Maecenas
lacinia. Nam ipsum ligula, eleifend at, accumsan nec, suscipit a, ipsum.
Morbi blandit ligula feugiat magna.  Nunc eleifend consequat lorem. Sed lacinia
nulla vitae enim. Pellentesque tin-\insertnote{Riots}
cidunt purus vel magna. Integer non enim.
Praesent euismod nunc eu purus. Donec bibendum quam in tellus. Nullam cursus
pulvinar lectus. Donec et mi. Nam vulputate metus eu enim. Vestibulum
pellentesque felis eu massa.


\lipsum[4]
\end{document}

答案2

调整答案以适应 Latex这里

\documentclass{article}


\begin{document}

\def\hangpad{.25cm}
\newcount\hangcount
\def\inindent#1{%
    \hangcount=0\relax%
    \setbox0=\vbox to 0pt{%
        \tabskip=0pt plus 1fil\relax%
        \everycr={\noalign{\global\advance\hangcount by -1\relax}}%
        \halign{\hfil\bf##\hfil\crcr%
            #1\crcr
        }%
        \vss%
    }%
    \hangindent=\dimexpr\wd0 + \hangpad * 2\relax%
    \hangafter=\hangcount%
    \noindent\kern-\hangindent\hbox{\kern\hangpad\relax\box0\kern\hangpad\relax}%
}

\inindent{La premiére partie\cr (chap.~1--29)}%
Après avoir donné une brève définition du monde (1,1), Ampélius utilise le rappel de la
théorie des quatre éléments (1,2) comme schéma directeur de l'exposé d'astronomie et de
géographie qui forme la première section de cette première partie\thinspace:
Après avoir donné une brève définition du monde (1,1), Ampélius utilise le rappel de la
théorie des quatre éléments (1,2) comme schéma directeur de l'exposé d'astronomie et de
géographie qui forme la première section de cette première partie\thinspace:

\end{document}

相关内容