\newcommand での改行

\newcommand での改行

いくつかのテキスト部分を強調表示するための新しいコマンドを定義しました。

\newcommand{\keyword}[1]{\colorbox{black!5}{#1}}

残念ながら、テキストが長くなりすぎると余白が重なってしまいます。キーワードは、表の余白だけでなく、ドキュメント全体の余白も無視します。

\keyword{exp: c=wordExp \{ if(\$c.matches(``a string'')\{ 
\textbackslash\textbackslash do something \}) \}}

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

コマンドに改行を指示したり、X センチメートル後に強制的に改行するように指示したりできますか?

THX。

答え1

@barbarabeeton のアドバイスを使用できます。ただし、 という名前は\keyword、一部のクラスの他の場所で定義されているため、お勧めしません。したがって、 はnewcommand次のようになります。

\newcommand{\KEY}[1]{\colorbox{black!5}{\parbox{\dimexpr\linewidth-2\fboxsep}{#1}}}

この に注目してください。これは を上下のテキストに-2\fboxsep揃える役割を果たします。完全な例を以下に示します。colorbox

\documentclass{article}
\usepackage{xcolor}
\begin{document}

\newcommand{\KEY}[1]{\colorbox{black!5}{\parbox{\dimexpr\linewidth-2\fboxsep}{#1}}}

\begin{tabular}{|p{.4\linewidth}|p{.5\linewidth}|}
\hline
Something here to fill half & 
Something here to fill half the line width
\KEY{exp: c=wordExp \{ if(\$c.matches(``a string'')\{ 
\textbackslash\textbackslash do something \}) \}}
\\ \hline
\end{tabular}

\end{document}

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

関連情報