私は宿題の問題に対して非常にシンプルなカスタム環境を定義しました。これは基本的にenumerate
インデントなしのものです。
\newcounter{hwprob}
\newenvironment{hwprob}{\refstepcounter{hwprob} \textbf{\thehwprob.} ~ }{}
enumerate
内部で実際の環境を開くとhwprob
、次のようになります。
\begin{hwprob}
\begin{enumerate}
\item Some text.
\item Some other text.
\end{enumerate}
\end{hwprob}
最初の項目1.がなぜ同じ行で始まっていないのか分かりません。1.チルダを削除しようとしましたが、効果はありませんでした。私を困惑させるのは、環境enumerate
内で使用する場合proof
、最初の項目が次の行と同じになることを知っていることです。証拠。、インデントもすべて正しく行われます。
これを修正するにはどうすればいいでしょうか? これは の定義方法の結果でしょうかhwprob
、それとも に固有のものなのでしょうかenumerate
?
答え1
「方法」の部分は次のとおりです。 をhwprob
リスト環境として定義し、\item
の先頭に を自動的に挿入しますhwprob
。
\documentclass{article}
\usepackage{enumitem}
\newlist{hwprob}{enumerate}{1}
\setlist[hwprob]{label=\textbf{\arabic*.}, first*=\item}
\begin{document}
\begin{hwprob}
\begin{enumerate}
\item Some text.
\item Some other text.
\end{enumerate}
\end{hwprob}
\end{document}
「なぜ」の部分については、リスト環境と定理環境の両方で使用される共通基数である と関係があると思われます\trivlist
(おそらく と関係があると思われます)。\parshape
答え2
希望する書式設定 (enumerate
リストの最初の項目を改行後ではなく現在の行から開始する) は、enumerate
環境が 1 つの LaTeXlist
またはtrivlist
環境内で開始された場合に実行されます。
\newlist
フォーマットの目的を達成するには、enumitem パッケージをロードし、そのマクロと\setlist
マクロを使用して、と呼ばれるカスタムの列挙型リスト環境を作成することをお勧めしますhwprob
。
\documentclass{article}
\usepackage{enumitem}
\newlist{hwprob}{enumerate}{1}
\setlist[hwprob,1]{label=\bfseries\arabic*.,left=0pt}
\begin{document}
\begin{hwprob}
\item
\begin{enumerate}
\item Some text.
\item Some other text.
\end{enumerate}
\end{hwprob}
\end{document}