
На следующем изображении показано то, что я ищу:
По сути, я хочу, чтобы нумерация происходила так, как показано выше, но с использованием пакета multicol
and enumitem
. Но когда я пробую это с помощью следующего кода:
\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}
Я получил:
По сути, я хочу, (b)
чтобы было там, где (c)
есть. Я знаю, что это уже было сделано, но я не могу это найти.
решение1
Вот вариант использования определенной \newitem
команды. Содержимое задается в , \parbox
которое естественным образом течет слева направо, предоставляя перечисление в нужном вам стиле:
\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}
Учет интервалов осуществляетсяsetspace
и может быть изменен (также \topsep
при необходимости удалены некоторые дополнительные пробелы " ").
Для более автоматизированного подхода к изменению количества столбцов добавьте
\usepackage[nomessages]{fp}% http://ctan.org/pkg/fp
в преамбулу вашего документа и используйте
\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%
}
как ваше определение для \newitem
. Измените 1/4
на , 1/<col nums>
чтобы увеличить количество столбцов.
решение2
\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}
Чтобы увидеть, что здесь происходит, если вы хотите, чтобы нумерация шла справа налево, а затем вниз, то это обычный порядок слов в абзаце, поэтому нужно просто создать ряд блоков фиксированной ширины. Если они, скажем, составляют 1/3 ширины текста, и вы создаете абзац из таких блоков в абзаце, выровненном по левому краю, то Tex естественным образом разместит абзац в трех блоках на строке, и они будут выровнены по вертикали, поскольку все они имеют одинаковую ширину. Остальная часть кода просто увеличивает счетчик и помещает (\the...) в начало блока, а также скрывает синтаксис, \makebox[0.3\textwidth]{...}
чтобы использовать стандартный \item
синтаксис, чтобы было легко переключаться между типами списков.
Другими словами, сравните со следующим кодом, который является тем же самым, за исключением косметических изменений синтаксиса.
\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}
Несмотря на то, что результат выглядит как текст в три колонки, это всего лишь набранный абзац с автоматическим выравниванием, поскольку каждое «слово» в абзаце представляет собой рамку одинакового размера.
решение3
Это легко сexsheets
пакет иtasks
Пакет. Следующий пример, надеюсь, говорит сам за себя:
\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}
решение4
Вот скучный вариант, который использует resume
функциональностьenumitem
package. Это не самый эффективный вариант, так как запуск кода enumerate
слишком сильно останавливает среду. Но визуально результат приемлем. Вы можете вводить всевозможные дополнительные настройки, так как это просто табличная среда.
\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}