51

ビーマークラスのマニュアル(PDFファイル)を確認しました。

\itemizeに割り当てるインデントの箇条書きを変更する方法がわかりません。

[2列のスライドを使用しているので、これはちょっと重要です。ビーマーが水平方向のスペースをあまり奪ってほしくないのです]。

4

5 に答える 5

79

Beamer は、環境のレイアウトを管理する責任をitemize基本的な LaTeX パッケージに委任するだけなので、リストの外観/レイアウトを変更するために Beamer 自体で行う必要があるファンキーなことは何もありません。

Beamer は itemize、item などを再定義するため、インデントなどを操作する完全に適切な方法は、Beamer テンプレートを再定義することです。あなたはそこまでする気はないように感じますが、そうでない場合はお知らせください。詳しく説明します。

Beamer テンプレートをいじることなく、ドキュメント内から目標を達成する方法が少なくとも 3 つあります。

itemize

次のコード スニペットでは、\itemindentfromの値0emを任意の値に変更できます (負の値も含む)。 0emデフォルトのアイテムのインデントです。

この方法の利点は、リストが通常どおりスタイルされることです。欠点は、Beamer の と の再定義は、リストのレイアウトを変更するために操作できるパラメーターの数が制限されることを意味しますitemize\item複数行のアイテムで適切なスペースを確保するのは非常に難しい場合があります。

\begin{itemize}
  \setlength{\itemindent}{0em}
  \item This is a normally-indented item.
\end{itemize}

list

次のコード スニペットでは、2 番目のパラメーター\listは使用する箇条書きで、3 番目のパラメーターは変更するレイアウト パラメーターのリストです。この\leftmarginパラメーターは、リスト項目全体とそのすべての行のインデントを調整します。\itemindent後続の行のインデントを変更します。

この方法の利点は、Beamer 以外の LaTeX のリストのすべての柔軟性があることです。欠点は、箇条書きのスタイル (およびその他の視覚要素) を手動で設定する (または、使用しているテンプレートに適したコマンドを特定する) 必要があることです。2 番目の引数を空のままにすると、箇条書きは表示されず、水平方向のスペースを節約できることに注意してください。

\begin{list}{$\square$}{\leftmargin=1em \itemindent=0em}
  \item This item uses the margin and indentation provided above.
\end{list}

customlist環境の定義

このソリューションの欠点は、基本的にBeamer から環境を再定義するだけでなく、and (など) パラメータも組み込むlist新しい環境を定義することで改善できます。次の文をプリアンブルに入れます。customlistitemize\leftmargin\itemindent

\makeatletter
\newenvironment{customlist}[2]{
  \ifnum\@itemdepth >2\relax\@toodeep\else
      \advance\@itemdepth\@ne%
      \beamer@computepref\@itemdepth%
      \usebeamerfont{itemize/enumerate \beameritemnestingprefix body}%
      \usebeamercolor[fg]{itemize/enumerate \beameritemnestingprefix body}%
      \usebeamertemplate{itemize/enumerate \beameritemnestingprefix body begin}%
      \begin{list}
        {
            \usebeamertemplate{itemize \beameritemnestingprefix item}
        }
        { \leftmargin=#1 \itemindent=#2
            \def\makelabel##1{%
              {%  
                  \hss\llap{{%
                    \usebeamerfont*{itemize \beameritemnestingprefix item}%
                        \usebeamercolor[fg]{itemize \beameritemnestingprefix item}##1}}%
              }%  
            }%  
        }
  \fi
}
{
  \end{list}
  \usebeamertemplate{itemize/enumerate \beameritemnestingprefix body end}%
}
\makeatother

ここで、カスタム インデント付きの項目別リストを使用するには、次の環境を使用できます。最初の引数は for\leftmarginで、2 番目の引数は for です\itemindent。デフォルト値はそれぞれ 2.5em と 0em です。

\begin{customlist}{2.5em}{0em}
   \item Any normal item can go here.
\end{customlist}

customlistの標準的なビーマー メカニズムを使用して、カスタムの弾丸スタイルをソリューションに組み込むことができます\setbeamertemplate。(詳細については、TeX Stack Exchange でこの質問への回答を参照してください。)

または、箇条書きのスタイルを環境内で直接変更することもできます。\usebeamertemplate{itemize \beameritemnestingprefix item}使用したい箇条書きのスタイル (例: $\square$) に置き換えます。

于 2010-04-10T08:59:42.753 に答える
18

パッケージenumitemを使用します。次に、リストを宣言するときにそのようなマージンを設定できます(列挙、説明、項目化)。

\begin{itemize}[leftmargin=0cm]
    \item Foo
    \item Bar
\end{itemize}

当然、このパッケージはリストに他の多くの優れたカスタマイズを提供します(「label =」を使用して箇条書きを変更し、「itemsep =」を使用して項目間の間隔を変更するなど...

于 2010-04-10T12:44:23.007 に答える
1

使用せずにインデントをグローバルに設定するにはenumitem(Beamer では機能しません)、プリアンブルに次のように記述します。

\setlength{\leftmargini}{0.5cm}
\setlength{\leftmarginii}{0.5cm}

leftmargini1 番目とleftmarginii2 番目のリスト レベルをそれぞれ変更します。

このソリューションはhereに記載されています。

于 2022-02-18T09:15:18.333 に答える