我见过本网站在段落旁边添加一行有几种可能。像这样:(行是连续的)
text text text |
text text text |
text text text |
但是,我想在页边距上打印该行,这样原始段落就不会受到任何修改。在其他示例中,段落与下一个和前一个段落之间有额外的间距,并且文本稍微向一侧移动。
我见过的另一个选项是使用 pdfcomments 包,但我只想要一个真正的行,而不是会在打印时引起问题的注释。这可能吗?也许使用 Tikz?
答案1
这changebar
软件包已经这样做了:
\documentclass{article}
\usepackage[color]{changebar}
\usepackage{lipsum}
\setlength\changebarsep{10pt}
\begin{document}
\lipsum[4]
\cbstart
\lipsum[4]
\cbend
\lipsum[4]
\cbcolor{red}
\setlength\changebarwidth{6pt}
\cbstart
\lipsum[4]
\cbend
\end{document}
想要更精致的版本,你可以看看this answer
到用波浪线标记(突出显示)某个段落(\item{...}),以便稍后注意。
答案2
谢谢贡萨洛·梅迪纳的回应经过一些修改,我最终得到:
\newcounter{tmp}
\newcommand\tikzmark[1]{%
\tikz[overlay,remember picture] \node (#1) {};}
\def\separacionBarraInicial{.51}
\def\separacionBarraFinal{.53}
\newcommand\Startsquiggly{%
\stepcounter{tmp}%
\tikzmark{a}\label{a\thetmp}%
\ifnum\getpagerefnumber{a\thetmp}=\getpagerefnumber{b\thetmp} \else
\begin{tikzpicture}[overlay, remember picture]
%\draw [decoration={coil,aspect=0},decorate,ultra thick,gray]
\draw [decorate,ultra thick,black]
let \p1 = (a.north), \p2 = (b), \p3 = (current page.center) in
( $ (\x3,\y1) + (\separacionBarraInicial\textwidth,1ex) $ ) --
( $ (\x3,\y1) + (\separacionBarraFinal\textwidth,1ex) $ ) --
( $ (\x3,\y3) + (\separacionBarraFinal\textwidth,-0.51\textheight) $ );
\end{tikzpicture}%
\fi%
}
\newcommand\Endsquiggly{%
\tikzmark{b}\label{b\thetmp}
\ifnum\getpagerefnumber{a\thetmp}=\getpagerefnumber{b\thetmp}
\begin{tikzpicture}[overlay, remember picture]
%\draw [decoration={coil,aspect=0},decorate,ultra thick,gray]
\draw [decorate,ultra thick,black]
let \p1 = (a.north), \p2 = (b), \p3 = (current page.center) in
( $ (\x3,\y1) + (\separacionBarraInicial\textwidth,1ex) $ ) --
( $ (\x3,\y1) + (\separacionBarraFinal\textwidth,1ex) $ ) --
( $ (\x3,\y2) + (\separacionBarraFinal\textwidth,-0.75ex) $ ) --
( $ (\x3,\y2) + (\separacionBarraInicial\textwidth,-0.75ex) $ );
\end{tikzpicture}%
\else
\begin{tikzpicture}[overlay, remember picture]
%\draw [decoration={coil,aspect=0},decorate,ultra thick,gray]
\draw [decorate,ultra thick,black]
let \p1 = (a.north), \p2 = (b), \p3 = (current page.center) in
( $ (\x3,\y3) + (\separacionBarraFinal\textwidth,.495\textheight) $ ) --
( $ (\x3,\y2) + (\separacionBarraFinal\textwidth,-0.75ex) $ ) --
( $ (\x3,\y2) + (\separacionBarraInicial\textwidth,-0.75ex) $ );
\end{tikzpicture}%
\fi
}
\newcommand\Squ[1]{\Startsquiggly#1\Endsquiggly}
我基本上去掉了“线圈”装饰,并使其稍长一些(包括其上部和下部)。这是最终结果
最后我想说一句,就是“changebar”调整位置时会出现问题(可能是因为与其他包冲突)。所以 Tikz 的解决方案似乎是最好的。
答案3
下一个代码产生的结果与Alvaro的selfanswer类似,但有tcolorbox
帮助。
\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage{lipsum}
\newtcolorbox{markbox}{%
enhanced, breakable, size=minimal, parbox=false, after={\par},
before upper={\indent}, colback=white,
overlay = {\draw[line width=2pt] (frame.north east) -|
([xshift=3mm]frame.east)|-(frame.south east);},
overlay first={\draw[line width=2pt] (frame.north east) -|
([xshift=3mm]frame.south east);},
overlay middle={\draw[line width=2pt] ([xshift=3mm]frame.north east) --
([xshift=3mm]frame.south east);},
overlay last={\draw[line width=2pt] ([xshift=3mm]frame.north east)|-
(frame.south east);},
}
\begin{document}
\lipsum[1]
\begin{markbox}
\lipsum[2-11]
\end{markbox}
\lipsum[12]
\begin{markbox}
\lipsum[13]
\end{markbox}
\lipsum[14-15]
\end{document}
下图中标记段落周围的细线是观看者看到的痕迹,并非打印出来的。