LaTeX で環境を作成する

LaTeX で環境を作成する

灰色のボックスにテキストを書き込むことができるカスタム環境を作成したいと思います。基本的には次のようになります。

\begin{center}
\noindent\fcolorbox{black}{gray!30}{%
    \parbox{33em}{%
        \vspace{15pt}
         text
        \vspace{15pt}
    }%
}
\end{center}

ただし、\beginand\endステートメントは 1 つだけです。

答え1

ここでは、 を使用した例を示しmdframed、このようなボックス環境を構成するための多数のオプションの一部を示します。

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

\newmdenv[linecolor=black, leftmargin=2em,rightmargin=2em,innertopmargin=2em,innerbottommargin=2em]{infobox}

\begin{infobox}[backgroundcolor={lightgray}]
foo foo foo
\end{infobox}

\end{document}

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

答え2

独自の環境を作成するには

\newenvironment{name}{begin code}{end code}

そしてそれを

\begin{name}
...
\end{name}

これはあなたのケースでは機能しません。なぜなら、中括弧のペアを分割して、開き括弧を にbegin code、閉じ括弧を に入れることができないからですend code。このような場合、パッケージenvironの が役立ちます。と\NewEnvironの間にあるすべてを に入れ、環境を定義するコードで使用できるようにします。\begin{name}\end{name}\BODY

\documentclass{article}
\usepackage{xcolor}
\usepackage{environ}
\NewEnviron{graybox}%
  {\begin{center}%
   \noindent\fcolorbox{black}{gray!30}%
     {\parbox{33em}%
       {\vspace{15pt}\par
        \BODY
        \vspace{15pt}\par
       }%
     }%
   \end{center}%
  }
\begin{document}
\begin{graybox}
text
\end{graybox}
\end{document}

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

答え3

\documentclass{article}

\usepackage[most]{tcolorbox}

\newtcolorbox{mybox}[1][]{%
  %
  enhanced jigsaw,
  width=33em, % Width of the box
  boxsep=0pt, % No extra spacing
  top=15pt, % top spacing
  bottom=15pt, % bottom spacing
  sharp corners,
  colframe={black},
  colback={gray!30},
  #1
}
\begin{document}

\begin{mybox}
  And now for something completely different
\end{mybox}

\begin{mybox}[colback=green, colframe=blue,boxrule=2pt]
  And now for something completely different and nicer!
\end{mybox}


\end{document}

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

関連情報