垂直突出显示段落

垂直突出显示段落

我正在寻找一种以特定方式突出显示 Latex 中的文本的方法。我已经知道命令 \hl 的存在;但是,它没有提供我想要的结果。

实际上,我想在给定段落的左侧添加一条垂直的灰色刻度线。由于我无法超出文档的授权边距,因此该线应该以某种方式将段落中的文本稍微向右移动。

你知道怎么做吗?

答案1

另一种答案是,让盒子可以跨页面打破

\documentclass{article}
\usepackage{tcolorbox,tikz, lipsum}
\tcbuselibrary{skins}
\tcbuselibrary{breakable}
\begin{document}
\begin{tcolorbox}[breakable, enhanced,colback=yellow!10!white,boxrule=0pt,frame hidden,
borderline west={1mm}{-2mm}{black}]
\lipsum[1-7]
\end{tcolorbox}
\end{document}

在此处输入图片描述

答案2

您还可以使用包leftbar中的环境framed。它可以跨页面。这是一个带有自定义环境的示例:

\documentclass[11pt]{article}
\usepackage{framed} %
\usepackage[table, svgnames]{xcolor}
\usepackage{lipsum} %
\usepackage[defaultlines=2,all]{nowidow}

\colorlet{barcolour}{Lavender!80!Gainsboro}
\renewenvironment{leftbar}{%
\def\FrameCommand{{\color{barcolour}\vrule width 4pt} \hspace{0.25em}}%{\dimexpr\parindent-3pt-\fontdimen2\font \relax}
\MakeFramed {\advance\hsize-\width \FrameRestore}\noindent\hspace{-\fontdimen2\font}}%
{\endMakeFramed}

\begin{document}

\lipsum[1-2]
\begin{leftbar}
  \lipsum[3-5]
\end{leftbar}

\end{document} 

在此处输入图片描述

答案3

请查看基于 mdframed 的回复。这样做的好处是,如果段落较长,则分页会很流畅。这是对本论坛中某个问题的回复。

\documentclass{article}

\usepackage{mdframed} % Add easy frames to paragraphs
\usepackage{lipsum} % For dummy text
\usepackage{xcolor}
\usepackage{xparse} % Add support for \NewDocumentEnvironment
\definecolor{graylight}{cmyk}{.30,0,0,.67} % define color using xcolor syntax

\newmdenv[ % Define mdframe settings and store as leftrule
  linecolor=graylight,
  linewidth=4pt,
  topline=false,
  bottomline=false,
  rightline=false,
  skipabove=\topsep,
  skipbelow=\topsep
]{leftrule}

\NewDocumentEnvironment{parahigh}{O{{}}} % Define example environment
{\begin{leftrule}\noindent\textcolor{graylight}{#1}\par}
{\end{leftrule}}

\begin{document}



\begin{parahigh}
\lipsum
\end{parahigh}
\end{document}

答案4

这种方法不能跨越页面边界。

\documentclass{article}
\usepackage{xcolor}
\usepackage[nopar]{lipsum}
\newcommand\specpar[1]{%
  \edef\svparindent{\the\parindent}%
  \setbox0=\hbox{\parbox[t]{\dimexpr\textwidth-6pt}{\strut\hspace{\svparindent}#1\strut}}%
  \par%
  \noindent\textcolor{gray}{\rule[-\dp0]{2pt}{\dimexpr\dp0+\ht0}}\kern4pt\copy0%
  \par%
}
\begin{document}

\lipsum[1]

\specpar{\lipsum[2]}

\lipsum[3]
\end{document}

在此处输入图片描述

相关内容