in mehreren Spalten aufzählen

in mehreren Spalten aufzählen

Das folgende Bild veranschaulicht, wonach ich suche:

Bildbeschreibung hier eingeben

Im Wesentlichen möchte ich, dass die Nummerierung wie oben gezeigt erfolgt, aber unter Verwendung des Pakets multicolund enumitem. Aber wenn ich es mit dem folgenden Code versuche:

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{enumitem,multicol}
\begin{document}
\begin{enumerate}
\item Evaluate each of the following if $x$ is a non-zero real number.
    \begin{multicols}{2}
    \begin{enumerate}[itemsep=1cm]% The item sep is my choice here.
    \item $\dfrac{|x|}{x}$
    \item $\dfrac{x}{|x|}$
    \item $\dfrac{|-x|}{-x}$
    \item $|x|-|-x|$
    \end{enumerate} 
    \end{multicols}
\end{enumerate}
\end{document}

Ich bekomme:

Bildbeschreibung hier eingeben

Im Wesentlichen möchte ich, (b)dass das dort ist, wo das (c)ist. Ich weiß, dass dies bereits gemacht wurde, aber ich kann es nicht finden.

Antwort1

Hier ist eine Option, die den definierten \newitemBefehl verwendet. Der Inhalt wird in einer Form gesetzt, \parboxdie natürlich von links nach rechts fließt und die Aufzählung in dem von Ihnen gewünschten Stil bereitstellt:

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{amsmath,amssymb}% http://ctan.org/pkg/{amsmath,amssymb}
\usepackage{enumitem,multicol,setspace}% http://ctan.org/pkg/{enumitem,multicol,setspace}
\newcounter{subenum}[enumi]
\renewcommand{\thesubenum}{\alph{subenum}}
\newcommand{\newitem}[1]{%
  \refstepcounter{subenum}%
  \parbox{\dimexpr.5\linewidth-.5\columnsep}{%
    \makebox[\labelwidth][r]{(\thesubenum)\hspace*{\labelsep}}%
    #1}\hfill%
}
\begin{document}
\begin{enumerate}[start=8]
  \item Evaluate each of the following if $x$ is a non-zero real number.
    \begin{multicols}{2}
      \begin{enumerate}[itemsep=1cm]% The item sep is my choice here.
        \item $\dfrac{|x|}{x}$
        \item $\dfrac{x}{|x|}$
        \item $\dfrac{|-x|}{-x}$
        \item $|x|-|-x|$
      \end{enumerate} 
    \end{multicols}
  \item Evaluate each of the following if $x$ is a non-zero real number.\par
    \setstretch{3}%
    \newitem{$\dfrac{|x|}{x}$}
    \newitem{$\dfrac{x}{|x|}$}
    \newitem{$\dfrac{|-x|}{-x}$}
    \newitem{$|x|-|-x|$}
\end{enumerate}
\end{document}

Die Abstandsberücksichtigung erfolgt durchsetspaceund kann optimiert werden ( \topsepbei Bedarf auch durch Entfernen einiger zusätzlicher " " Leerzeichen).


Für einen etwas automatisierteren Ansatz zum Ändern der Spaltenanzahl fügen Sie hinzu

\usepackage[nomessages]{fp}% http://ctan.org/pkg/fp

in die Präambel Ihres Dokuments ein und verwenden Sie

\FPeval\thecolwidth{round(1/4:4)}% Specify number of columns -> column width
\newcommand{\newitem}[1]{%
  \refstepcounter{subenum}%
  \parbox{\dimexpr\thecolwidth\linewidth-.5\columnsep}{%
    \makebox[\labelwidth][r]{(\thesubenum)\hspace*{\labelsep}}%
    #1}\hfill%
}

als Ihre Definition für \newitem. Ändern Sie 1/4es, 1/<col nums>um die Anzahl der Spalten zu erhöhen.

Antwort2

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{amsmath,amssymb}
%\tracingall
\def\horizlist#1#2#3{%
  \setcounter{enumi}{0}%
  #3%
  \flushleft
  \dimen0 \linewidth
  \divide\dimen0 by #1\relax
  \advance\dimen0 -#2\relax
  \def\item{\hfil\egroup\penalty50 \hfill
  \refstepcounter{enumi}%
  \leavevmode\hbox to \dimen0 \bgroup\space(\theenumi)\space}%
  \leavevmode\bgroup\hskip 0pt plus -1fill }

\def\endhorizlist{\hfil\egroup\endflushleft}

\begin{document}
\begin{enumerate}
\item Evaluate each of the following if $x$ is a non-zero real number.
    \begin{horizlist}{2}{1cm}{\renewcommand\theenumi{\alph{enumi}}}
    \item $\dfrac{|x|}{x}$
    \item $\dfrac{x}{|x|}$
    \item $\dfrac{|-x|}{-x}$
    \item $|x|-|-x|$
    \end{horizlist}
\end{enumerate}
\end{document}

Um zu sehen, was hier passiert: Wenn Sie möchten, dass die Nummerierung von rechts nach links und dann nach unten verläuft, ist das die normale Wortreihenfolge in Absätzen. Sie müssen also einfach eine Reihe von Kästchen mit fester Breite erstellen. Wenn diese (sagen wir) 1/3 der Textbreite haben und Sie einen Absatz mit solchen Kästchen in einem linksbündigen Absatz erstellen, umschließt Tex den Absatz natürlich mit drei Kästchen in einer Zeile und diese werden vertikal ausgerichtet, da sie alle die gleiche Breite haben. Der restliche Code erhöht einfach einen Zähler und setzt (\the...) an den Anfang des Kästchens und verbirgt die \makebox[0.3\textwidth]{...}Syntax, um die Standardsyntax zu verwenden, \itemsodass sich leicht zwischen Listentypen wechseln lässt.

Vergleichen Sie es mit anderen Worten mit dem Folgenden, das bis auf kosmetische Syntaxänderungen gleich ist.

Bildbeschreibung hier eingeben

\documentclass{article}

\begin{document}
\begin{flushleft}

\makebox[.3\textwidth][l]{one one}
\makebox[.3\textwidth][l]{two 2 two 2 two}
\makebox[.3\textwidth][l]{three three 3}
\makebox[.3\textwidth][l]{4 4 4 4 4 }
\makebox[.3\textwidth][l]{fifth box}
\makebox[.3\textwidth][l]{number 6}
\makebox[.3\textwidth][l]{7 7 7 7 }
\makebox[.3\textwidth][l]{eight}
\makebox[.3\textwidth][l]{nine nine}
\makebox[.3\textwidth][l]{10}

\end{flushleft}
\end{document}

Auch wenn das Ergebnis scheinbar dreispaltig ist, handelt es sich lediglich um einen gesetzten Absatz mit automatischer Ausrichtung, da jedes „Wort“ im Absatz ein gleich großes Kästchen ist.

Antwort3

Das geht ganz einfach mit demexsheetsPaket und dietasksPaket. Das folgende Beispiel ist hoffentlich selbsterklärend:

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{mathtools}
\DeclarePairedDelimiter\abs{\lvert}{\rvert}

\usepackage{exsheets}% loads the `tasks' package
\SetupExSheets{
  headings = runin-nr
}
\settasks{
  counter-format = tsk[a]. ,
  label-format = \sffamily\itshape\bfseries
}

\setcounter{question}{43}% only for this example

\begin{document}

\begin{question}
  Evaluate each of the following if $x$ is a non-zero real number.
  \begin{tasks}(2)
    \task $\dfrac{\abs{x}}{x}$
    \task $\dfrac{x}{\abs{x}}$
    \task $\dfrac{\abs{-x}}{-x}$
    \task $\abs{x}-\abs{-x}$
  \end{tasks}
\end{question}

\end{document}

Bildbeschreibung hier eingeben

Antwort4

Hier ist ein langweiliges Beispiel, das die resumeFunktionalität vonenumitemPaket. Es ist nicht das effizienteste, da der Code die enumerateUmgebung zu sehr stoppt. Aber das Ergebnis ist optisch akzeptabel. Sie können alle möglichen zusätzlichen Optimierungen vornehmen, da es sich nur um eine tabellarische Umgebung handelt.

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{enumitem}
\newcommand{\Choices}[4]{\begin{tabular}{p{0.5\textwidth} p{0.5\textwidth}} 
\begin{enumerate*}[series=lafter]
    \item #1
\end{enumerate*} &%
\begin{enumerate*}[resume=lafter]
    \item #2
\end{enumerate*} \\[2\baselineskip]
\begin{enumerate*}[resume=lafter]
    \item #3
\end{enumerate*} &%
\begin{enumerate*}[resume=lafter]
    \item #4
\end{enumerate*}
\end{tabular}}

\begin{document}
\begin{enumerate}
\item Evaluate each of the following if $x$ is a non-zero real number.

\Choices{$\dfrac{|x|}{x}$}{$\dfrac{x}{|x|}$}{$\dfrac{|-x|}{-x}$}{$|x|-|-x|$}

\item Evaluate each of the following if you can.

\Choices{This question is not answerable (is that a real word?)}
{This question does not have any correct answer}
{$\int_0^\pi{\tan\sqrt\theta d\theta}$}
{Whatever is a valid answer!}
\end{enumerate}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen