
基本的にショートカットを作成したいのですが
\begin{sometheorem}[optional parameter]
\leavevmode \vspace{-\baselineskip}\vspace{-\baselineskip}\vspace{3pt} %some space adjustments
\begin{leftbar}
some text
\end{leftbar}
\end{sometheorem}
だから私は試しました:
\newenvironment{defi}[1]
{
\begin{definition}[#1]
\leavevmode \vspace{-\baselineskip}\vspace{-\baselineskip}\vspace{3pt}
\begin{leftbar}\noindent
}
{
\end{leftbar}
\end{definition}
}
しかし、これは私にとって
定理()
オプションパラメータ] テキスト
パラメータを適切に渡すにはどうすればいいでしょうか?
編集: leftbar には framed パッケージを使用し、定理には amsthm を使用しています。
答え1
オプションの引数が指定されているかどうかに応じて分岐する必要があります。
\documentclass{article}
\usepackage{framed}
\newtheorem{innertheorem}{Theorem}
\newenvironment{theorem}[1][]
{\if\relax\detokenize{#1}\relax
\begin{innertheorem}%
\else
\begin{innertheorem}[#1]%
\fi
\mbox{}\par\nobreak
\vspace{-\baselineskip}\vspace{3pt}%
\begin{leftbar}\noindent\ignorespaces}
{\end{leftbar}\end{innertheorem}}
\begin{document}
\begin{theorem}
Some statement Some statement Some statement
Some statement Some statement Some statement
Some statement Some statement
\end{theorem}
\begin{theorem}[Something]
Some statement Some statement Some statement
Some statement Some statement Some statement
Some statement Some statement
\end{theorem}
\end{document}