我正在寻找一种以特定方式突出显示 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}