如何突出显示整个段落?

如何突出显示整个段落?

我想突出显示段落,使突出显示颜色显示为整个段落下方的一个完整矩形。我四处寻找,但到目前为止没有任何东西能达到我想要的效果。

例如\fcolorbox{},fromxcolor无法突出显示整个段落;\hl{}fromsoul会忽略行与行之间的间距,而不进行着色。

我想知道如何做到这一点?

答案1

以下是其他可能的解决方案列表

  1. 允许分页的解决方案mdframed

    \documentclass{article}
    \usepackage[framemethod=tikz]{mdframed}
    \usepackage{lipsum}
    
    \begin{document}
    
    \lipsum[4]
    \begin{mdframed}[hidealllines=true,backgroundcolor=blue!20]
    \lipsum[2]
    \end{mdframed}
    \lipsum[4]
    
    \end{document}
    

    在此处输入图片描述

    该包提供的环境mdframed是高度可定制的,因此,例如,使用(inner)leftmargin,(inner)rightmargin选项,您可以生成这样的内容(文本宽度保持不变,框架稍微延伸到边距):

    \documentclass{article}
    \usepackage[framemethod=tikz]{mdframed}
    \usepackage{lipsum}
    
    \begin{document}
    
    \lipsum[4]
    \begin{mdframed}[hidealllines=true,backgroundcolor=blue!20,innerleftmargin=3pt,innerrightmargin=3pt,leftmargin=-3pt,rightmargin=-3pt]
    \lipsum[2]
    \end{mdframed}
    \lipsum[4]
    
    \end{document}
    

    在此处输入图片描述

  2. 现在有一个解决方案,使用framed包及其shaded环境;该解决方案还允许分页符:

    \documentclass{article}
    \usepackage{xcolor}
    \usepackage{framed}
    \usepackage{lipsum}
    
    \colorlet{shadecolor}{blue!20}
    
    \begin{document}
    
    \lipsum[4]
    \begin{shaded}
    \lipsum[2]
    \end{shaded}
    \lipsum[4]
    
    \end{document}
    

    在此处输入图片描述

  3. 现在使用的解决方案tcolorboxtcolorbox包;如果您加载breakable库并使用密钥,此解决方案会允许内部出现分页符breakable

    \documentclass{article}
    \usepackage{xcolor}
    \usepackage{tcolorbox}
    \tcbuselibrary{breakable}
    \usepackage{lipsum}
    
    \begin{document}
    
    \lipsum[4]
    \begin{tcolorbox}[breakable,notitle,boxrule=0pt,colback=blue!20,colframe=blue!20]
    \lipsum[2-20]
    \end{tcolorbox}
    \lipsum[4]
    
    \end{document}
    

    在此处输入图片描述

  4. 使用的解决方案调整框包(不允许分页):

    \documentclass{article}
    \usepackage{xcolor}
    \usepackage{adjustbox}
    \usepackage{lipsum}
    
    \begin{document}
    
    \lipsum[4]
    
    \noindent\adjustbox{bgcolor=blue!20,minipage=[t]{\linewidth}}{\lipsum[4]}
    
    \lipsum[4]
    
    \end{document}
    

    在此处输入图片描述

  5. 最后,一个解决方案是使用fancypar包(该解决方案也不会接受分页符):

    \documentclass{article}
    \usepackage{fancypar}
    \usepackage{lipsum}
    
    \begin{document}
    
    \lipsum[4]
    \ZebraPar[colorone=blue!20,colortwo=blue!20]{\lipsum[4]}
    \lipsum[4]
    
    \end{document}
    

    在此处输入图片描述

答案2

只要您的段落不需要跨页,\colorbox和 的组合就可以起作用。那样不行。\parbox

\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}
\begin{document}
\noindent\colorbox{yellow}{%
    \parbox{\dimexpr\linewidth-2\fboxsep}% a box with line-breaks that's just wide enough
        {% your paragraph here:
        \lipsum[1]%
        }
    }
\end{document}

输出

答案3

是个todonotes包装的可能性?如果是的话,在 LaTeX 中突出显示段落Hinnerk Brügmann 提供了一个解决方案。由于某种原因,该lipsum软件包无法很好地与之配合使用。用户提供了以下代码:

\documentclass[letterpaper]{article}
\usepackage{lipsum}
\usepackage[bordercolor=white,backgroundcolor=gray!30,linecolor=black,colorinlistoftodos]{todonotes}
\newcommand{\rework}[1]{%
\todo[color=yellow,inline]{Rework: {#1}}%
}
\begin{document}
\lipsum[2]
%------------------------------
% Update suggested by @Fran
%------------------------------
\rework{\protect\lipsum[2]}
%------------------------------
\lipsum[2]
\end{document}

相关内容