Klammer und Textzeile in derselben Zeile anzeigen

Klammer und Textzeile in derselben Zeile anzeigen

Ich möchte folgendes bekommen:

Bildbeschreibung hier eingeben

Dazu habe ich folgenden Code verwendet:

\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}

was ergibt:
Bildbeschreibung hier eingeben

Wie kann ich genau das gewünschte Ergebnis erzielen?

Antwort1

Ich weiß nicht, ob du für Vorschläge zu haben bist, aber hier ist einer:

Bildbeschreibung hier eingeben

\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}

Die hintsUmgebung setzt einen regulären Absatz mit \itemdem Ausdruck des nächsten Hinweises, während \item*sie nur den Hinweiszähler weiterschaltet, ohne etwas auszudrucken.


Hier ist eine Implementierung der hintsUmgebung, deren Ausgabe mit Ihrer aktuellen Anforderung übereinstimmt:

Bildbeschreibung hier eingeben

\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

Antwort2

Eine weitere Möglichkeit wäre die Verwendung vonenumitemPaket mit seiner inlineOption und einem enumerate*für die innere Liste. Eine neue Liste kann einfach eingerichtet werden, um die gewünschte Ausgabe zu erzeugen:

\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}

Bildbeschreibung hier eingeben

verwandte Informationen