Выравнивание текста в среде детализации

Выравнивание текста в среде детализации

Я хотел бы создать список "Целей" (1,2,3... и т.д.) в качестве \itemметки, с текстом для цели, расположенным рядом (с \hspace{Xmm}). Для элементов, которые превышают ширину строки, выравнивание второй строки нежелательно. Я хотел бы, чтобы она была на одном уровне.

Вот что у меня есть на данный момент:

\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, что было очень близко к желаемому результату, однако вторая цель не переносилась на ширину страницы:

\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опция for 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}

выход

P.S. Я не помню, откуда я изначально взял этот код, но он не мой. (Если вы узнаете, что это что-то, написанное вами или кем-то другим, дайте мне знать; тогда я удалю свой ответ и позволю вам опубликовать его.)

Связанный контент