項目化環境におけるテキストの配置

項目化環境におけるテキストの配置

ラベルとして「目的」(1、2、3...など) のリストを生成し\item、目的のテキストを隣に ( で\hspace{Xmm}) 配置したいと思います。行の幅を超える項目の場合、2 行目の配置は望ましくありません。フラッシュにしたいと思います。

これまでのところ、次のものがあります:

\documentclass{article}
\usepackage{enumitem}
\usepackage[top=1in, bottom=1.5in, left=1in, right=1in]{geometry}
\begin{document}
\begin{itemize}[leftmargin=*,align=left]
\item[Aim 1] \hspace{10mm} This aim fits nicely on to a single line.
\item[Aim 2] \hspace{10mm} Unfortunately, the details of this aim are such that they will not fit on to a single line. Instead, the text aligns strangely beneath the "Aim 2" item label :(
\end{itemize}
\end{document}

以前、 でこれを試したところtabbing、目的の出力に非常に近いものになりましたが、2 番目の目的はページ幅に折り返されませんでした。

\documentclass{article}
\usepackage{enumitem}
\usepackage[top=1in, bottom=1.5in, left=1in, right=1in]{geometry}
\begin{document}
\begin{tabbing}
\= \hspace{20mm} \= \\
\> {\bf Aim 1:} \> This aim fits nicely on to a single line.\\[10pt]
\> {\bf Aim 2:} \> Unfortunately, the details of this aim are such that they willnot fit on to a single line. Instead, the text aligns strangely beneath the "Aim 2" item label :(
\end{tabbing}
\end{document}

ご協力やご指摘をいただければ幸いです。

答え1

もう一つの選択肢は、enumitemパッケージを使用して、希望するレイアウトを持つ新しいリストを定義します (showframeのオプションはgeometry視覚的なガイドラインとしてのみ使用されます)。

\documentclass{article}
\usepackage{enumitem}
\usepackage[showframe]{geometry}

\newlist{aims}{enumerate}{1}
\setlist[aims,1]{
  label={Aim~\arabic*},
  leftmargin=*,
  align=left,
  labelsep=10mm,
  itemindent=\dimexpr\labelsep+\labelwidth+7pt\relax
}

\begin{document}

\begin{aims}
\item This aim fits nicely on to a single line.
\item The details of this aim are such that they will not fit on to a single line. Now the text aligns with the margin.
\item This aim fits nicely on to a single line.
\item The details of this aim are such that they will not fit on to a single line. Now the text aligns with the margin.
\end{aims}

\end{document}

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

望ましい配置がわからなかったので、別の可能性として次のことが考えられます。

\documentclass{article}
\usepackage{enumitem}
\usepackage[showframe]{geometry}

\newlist{aims}{enumerate}{1}
\setlist[aims,1]{
  label={Aim~\arabic*},
  leftmargin=*,
  align=left,
  labelsep=10mm,
}

\begin{document}

\begin{aims}
\item This aim fits nicely on to a single line.
\item The details of this aim are such that they will not fit on to a single line. Now the text aligns with the margin.
\item This aim fits nicely on to a single line.
\item The details of this aim are such that they will not fit on to a single line. Now the text aligns with the margin.
\end{aims}

\end{document}

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

答え2

正確に何を望んでいるのか分かりませんが、ここで試してみます:

\documentclass{article}

\newcounter{myenumi}
\renewcommand{\themyenumi}{(\roman{myenumi})}
\newenvironment{myenumerate}{%
% stuff for beginning of environment goes here
\setlength{\parindent}{0pt}% don't indent paragraphs
\setcounter{myenumi}{0}% restart numbering
\bigskip% skip a line
\renewcommand{\item}{% new definition of item
\par% start a new line
\refstepcounter{myenumi}% advance counter
\makebox[2.5em][l]{\themyenumi}% print counter to width of 3em, aligned to left
}% end of definition of item
}{% at end of environment
\par% start new paragraph
\bigskip% skip a line
\noindent% don't indent new paragraph
\ignorespacesafterend% ignore spaces after environment
}

\pagestyle{empty}

\begin{document}

\noindent Here is some regular text, and I'm going to go on a bit just to see where it wraps and all that.
\begin{myenumerate}
\item Here is the first item which goes on a bit so we can see how it wraps, and it still needs to be longer.
\item Here is another item.
\item Here is yet another item.
\item And this item is going to be much much longer so we can see another example of one that wraps.
\end{myenumerate}
Here is some more regular text, and let's go on a bit here too, just in case it's important how that looks too.

\end{document}

出力

追伸: このコードを最初にどこで入手したかは思い出せませんが、これは私自身のものではありません。(このコードを自分が書いたものだと認識できる場合、または誰が書いたかがわかる場合は、私に知らせてください。そうすれば、私の回答を削除して、投稿していただきます。)

関連情報