Отображение скобок и текстовой строки на одной строке

Отображение скобок и текстовой строки на одной строке

Я хочу получить следующее:

введите описание изображения здесь

Для этого я использовал следующий код:

\documentclass{book}
\usepackage{enumerate}
\begin{document}
\begin{enumerate}
\item First item
\item Second item
\end{enumerate}
[Hint:
\begin{enumerate}
 \item Hint for first item
 \item Hint for Second item
\end{enumerate}]
\end{document}

который производит:
введите описание изображения здесь

Как мне добиться именно того результата, который я хочу?

решение1

Не знаю, готовы ли вы к предложениям, но вот одно из них:

введите описание изображения здесь

\documentclass{article}
\newcounter{hintcntr}
%\renewcommand{\thehintcntr}{\arabic{hintcntr}}
\makeatletter
\newenvironment{hints}
  {% \begin{hints}
    \setcounter{hintcntr}{0}% Restart numbering
    \renewcommand{\item}{\stepcounter{hintcntr}\@ifstar\@itemstar\@itemnostar}
    \def\@itemstar{\ignorespaces}% \item*
    \def\@itemnostar{\ignorespaces\thehintcntr.~}% \item
    \par%
    [~Hint:%
  }
  {\unskip~]}% \end{hints}
\makeatother
\begin{document}
\begin{enumerate}
  \item First item
  \item Second item
  \item Third item
  \item Last item
\end{enumerate}
\begin{hints}
 \item Hint for first item in list
 \item Hint for second item in list
 \item*% no hint here
 \item Hint for last item in list
\end{hints}
\end{document}

Среда hintsустанавливает обычный абзац с \itemпечатью следующей подсказки, при этом \item*просто увеличивает счетчик подсказок, ничего не печатая.


Вот реализация среды hints, которая по выходным данным соответствует тому, что вы в данный момент запрашиваете:

введите описание изображения здесь

\newcounter{hintcntr}
%\renewcommand{\thehintcntr}{\arabic{hintcntr}}
\makeatletter
\newenvironment{hints}
  {% \begin{hints}
    \setcounter{hintcntr}{0}% Restart numbering
    \def\newpar{\def\newpar{\par}}% http://tex.stackexchange.com/a/89187/5764
    \renewcommand{\item}{\stepcounter{hintcntr}\@ifstar\@itemstar\@itemnostar}
    \def\@itemstar{\ignorespaces}% \item*
    \def\@itemnostar{\ignorespaces\newpar\noindent\thehintcntr.~}% \item
    \par\noindent%
    [~Hint:%
  }
  {\unskip~]}% \end{hints}
\makeatother

решение2

Другим вариантом было бы использованиеenumitemпакет с его inlineопцией и enumerate*для внутреннего списка. Новый список может быть легко установлен для получения желаемого вывода:

\documentclass{book}
\usepackage[inline]{enumitem}

\newlist{hint}{enumerate*}{1}
\setlist[hint,1]{label=\arabic*.}
\newenvironment{hints}
  {[Hint:~\begin{hint}}
  {\end{hint}]}

\begin{document}

\begin{enumerate}
\item First item
\item Second item
\end{enumerate}
\begin{hints}
 \item Hint for first item \\
 \item Hint for Second item
\end{hints}

\end{document}

введите описание изображения здесь

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