4

LaTeX初心者はこちら。

\subsectionすべてのタイトルに背景色を設定する必要があります。テキストのある部分だけでなく、行全体の色を変更する必要があります。

これは機能します:

\subsection{\colorbox{Gray}{Title}}

ただし、線全体を着色するわけではありません。また、すべての人に1か所で設定したいと思います\subsections

私のグーグルフーは私を失敗させています。私がやりたいことをする方法について何か提案はありますか?

4

2 に答える 2

5

\colorbox線の幅を作成するには、次を使用し\makeboxます。

\subsection{\colorbox{Gray}{\makebox[\hfill][l]{Title}}}

\hfill最初の角かっこに「」を入れる必要があるかどうかは100%わかりません。その部分を試す必要があるかもしれません。試す価値のある代替案は

\subsection{\colorbox{Gray}{\makebox[\width][s]{Title\hfill}}}

すべてのサブセクションに対して1つの場所で構成するには、ラッパーコマンドを定義するのが最も簡単な方法です。

\newcommand{\mysubsection}[1]
  {\subsection{\colorbox{Gray}{\makebox[\hfill][l]{#1}}}}

を再定義することもでき\subsectionますが、その場合は、それが使用する内部コマンドについて学習し、ドキュメントクラスの他のフォーマットと一致するように注意する必要があります。私はそれをお勧めしません。

于 2010-08-26T23:20:45.567 に答える
3

ザックの答えを拡張すると、これが私の解決策です。

テキストを左揃えにしたい場合

\newcommand{\mysubsection}[1]{
    \setlength\fboxsep{4pt} %% spacing around box contents
    \subsection*{\colorbox{bgcol}{\makebox[\textwidth][l]{\color{textcol}#1\hfill}}}
}

または中央に配置したい場合

\newcommand{\mysubsection}[1]{
    \setlength\fboxsep{4pt} %% spacing around box contents
    \subsection*{\colorbox{bgcol}{\makebox[\textwidth]{\color{textcol}#1}}}
}

グローバル設定を使用している場合は、\ setlength\fboxsepのローカル宣言を削除できます。明らかに、bgcolとtextcolは、ドキュメントの前文の前半で定義する必要があります。

multicols環境にある場合は、レイアウトや外観に応じて、\textwidthまたは\columnwidth、あるいはこれらの相対的な量を使用できます。

列の100%にまたがるテキストでマルチ列を使用しています。しかし、\textwidthまたは\columnwidthのいずれかを使用すると、見出しが下のテキスト本文の幅と比較して右側に張り出していることがわかりました。これを修正するために、実際には次を使用することになりました。

\newcommand{\mysubsection}[1]{
    \setlength\fboxsep{4pt} %% spacing around box contents
    \subsection*{\colorbox{bgcol}{\makebox[0.97\textwidth]{\color{textcol}#1}}}
}

注意:このコードを使用すると、「Overfull\hbox」からエラーメッセージが表示されます。これを解決する方法はわかりませんが、出力は正常に機能しているため、問題にはなりません。別のプログラムまたはビルドでは、これにより問題が発生する可能性があります。

于 2011-02-23T15:14:55.243 に答える