引用部分を強調表示するにはどうすればいいですか?

引用部分を強調表示するにはどうすればいいですか?

を使用して文書内の引用セクションを強調表示しようとしました\colorbox{}{}が、そこに大きなセクションを配置すると、ページに収まらなくなります。

\colorbox{yellow}{
Quote from very very very very loooooooooongs section:
The properties of depth-first search depend strongly on whether the 
}

取得したい出力は次のようになります。

非常に非常に非常に非常に長いセクションからの引用:
深さ優先探索の特性は、

答え1

\colorboxは、引数として指定されたすべてのテキストを収容するのに十分な幅の 1 行ボックスを作成します。このテキストが 1 行より長い場合、は行\colorboxに対して長くなりすぎて余白に達します。また、\colorboxは 1 行のみであるため、 inside は使用できません\\

この問題を解決する 1 つの方法は、強調表示したいテキストを に配置することです\parbox。 は指定された幅のボックスを作成し、その幅に合わせて内部の行を折り返します。この例では、幅 の\parboxを作成します。ここで、 はカラーボックスの左右に空けられた内側の余白です。したがって、このボックスはページ余白内に正確に収まります。\parbox\textwidth-2\fboxsep\fboxsep

\documentclass{article}
\usepackage{showframe}
\usepackage{xcolor}
\setlength\parindent{0pt}
\begin{document}
\colorbox{yellow}{
Quote from very very very very loooooooooongs section:
The properties of depth-first search depend strongly on whether the 
}

\colorbox{yellow}{\parbox{\dimexpr\textwidth-2\fboxsep}{
Quote from very very very very loooooooooongs section:\\
The properties of depth-first search depend strongly on whether the 
}}
\end{document}

ここに画像の説明を入力してください


ただし、同じことを実現するには、強力なtcolorboxパッケージを使用する方がおそらく簡単です。以下は、上記と同じ出力が得られる環境を定義した例ですmyboxが、ユーザー インターフェイスはより簡単です。

\documentclass{article}
\usepackage{showframe}
\usepackage{tcolorbox}
\newtcolorbox{mybox}{colback=yellow,boxsep=0pt,left=\fboxsep,right=\fboxsep,top=\fboxsep,bottom=\fboxsep,boxrule=0pt,arc=0pt,outer arc=0pt}
\setlength\parindent{0pt}
\begin{document}
\begin{mybox}
Quote from very very very very loooooooooongs section:
The properties of depth-first search depend strongly on whether the 
\end{mybox}
\end{document}

ここに画像の説明を入力してください

関連情報