我想弄清楚如何划掉(在文本上画一条斜线或对角线)一些行(特别是一个段落)。有人知道执行此操作的简单命令吗?我期望存在像 \begin{comment} 和 \end{comment} 命令这样简单的命令,它只会隐藏一定数量的文本。
我将非常感激任何帮助。
答案1
您可以使用 来执行此操作tikzmark
。请注意,这不会跨分页符起作用。
\documentclass{article}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{tikzmark, calc}
\newenvironment{scratch}{\pgfmark{A}}{\pgfmark{B}\tikz[remember picture, overlay]{\draw[thick] let \p1=(pic cs:A), \p2=(pic cs:B) in (\x1,\y2)--([shift={(\linewidth,-1ex)}]\x1,\y1);}}
\begin{document}
\lipsum[1]
\begin{scratch}
\lipsum[2]
\end{scratch}
\lipsum[3]
\end{document}
答案2
另一个想法是使用tcolorbox
允许带有划痕的段落跨页的包(但如果您想在其他框或表格中使用它,可能会出现问题):
\documentclass{article}
\usepackage{lipsum}
\usepackage{tcolorbox}
\tcbuselibrary{breakable, skins}
\NewTColorBox{scratch}{ }{
enhanced,
breakable,
size=minimal,
colback=transparent!0,
colframe=transparent!0,
overlay={
\draw (frame.south west)
-- (frame.north east);
}
}
\begin{document}
\lipsum[1]
\begin{scratch}
\lipsum[2]
\end{scratch}
\lipsum[3]
\begin{scratch}
\lipsum[5-7]
\end{scratch}
\end{document}