我想在尽可能的环境中自动化这个过程:
\documentclass[12pt,ngerman]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\begin{document}
\begin{tabular}{llllll}
\textbf{a)} $a^{-3}+b^{7}$ &~
\textbf{b)} $a^{-3}+b^{7}$ &~
\textbf{c)} $a^{-3}+b^{7}$ &~
\textbf{d)} $a^{-3}+b^{7}$ &~
\textbf{e)} $a^{-3}+b^{7}$ &~
\textbf{f)} $a^{-3}+b^{7}$ \\
\textbf{g)} $a^{-3}+b^{7}$ &~
\textbf{h)} $a^{-3}+b^{7}$ &~
\textbf{i)} $a^{-3}+b^{7}$ &~
\textbf{j)} $a^{-3}+b^{7}$ &~
\textbf{k)} $a^{-3}+b^{7}$ &~
\textbf{l)} $a^{-3}+b^{7}$ \\
\end{tabular}
\end{document}
- 对于每个新元素,都有一个自动编号(a);b);c);等等)
- 一行中的元素数量只需指定一次,或者(更好的是)取决于一行中适合的元素数量。
- 只需要添加项目(可能用
/additem #1
分号或其他东西分隔)在这种情况下$a^{-3}+b^{7}$
是一个项目
如果有更好的解决方案,则不必将其放在表格中。对我来说,重要的是
- 空间相同
- 这是每个元素之间的额外空格(我用 来实现的
&~
) - “编号”位于其下方/垂直对齐
编辑:这是一次没有表格的尝试(感谢@David Carlisle)
\documentclass[12pt,ngerman]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\newcommand\z[2][0.25]{%
\noindent \baselineskip1.5\normalbaselineskip
\makebox[#1\textwidth][l]{%
\refstepcounter{enumi}%
\makebox[1.42em][l]{\alph{enumi})}%
$\displaystyle#2$}\linebreak[0]\hfill\ignorespaces}
\begin{document}
\z[0.25]{ax^2+bx+c}
\z[0.25]{ax^2+bx+c}
\z[0.25]{ax^2+bx+c}
\z[0.25]{ax^2+bx+c}
\z[0.25]{ax^2+bx+c}
\z[0.25]{ax^2+bx+c}
\z[0.25]{ax^2+bx+c}
\z[0.25]{ax^2+bx+c}
\end{document}
- 这
\hfill
会阻止水平左对齐,如果元素不足以填满行,则会均匀分布元素 - 我需要为每个元素指定行:例如
\z[0.25]{ax^2+bx+c}
每行四个元素 - 我仍然需要手动重置计数器;这是没有列举或环境
也许一些带有\newlist
? 的东西会很棒:
\begin{z}[0.25] % 4 items per row
\item abcdef
\item abcdef
\item abcdef
\end{z}
编辑:我提供了可编译的代码,感谢 cfr
答案1
不确定这是不是 OP 想要的,或者是否有点过头,但使用tcbraster
(from tcolorbox
) 可以做到:
\documentclass{article}
\usepackage[most]{tcolorbox}
\newenvironment{myitemize}%
{\begin{tcbitemize}[raster columns=4, raster equal height=rows, title={\thetcbrasternum}, attach title to upper={)\quad}, coltitle=black, empty, size=minimal]}
{\end{tcbitemize}}
\begin{document}
\begin{myitemize}
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\end{myitemize}
\end{document}
它不计算列数,而是一个参数。所有列具有相同的宽度,并且所有行具有相同的高度(使用选项)raster equal height=rows
。
答案2
修改@Ignasi 答案做得很好:
\documentclass[12pt,ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage[most]{tcolorbox}
\newenvironment{myitemize}[1][4]%
{\begin{tcbitemize}[raster columns=#1, raster equal height=rows, title={\refstepcounter{enumi} \alph{enumi}}, attach title to upper={)\quad}, coltitle=black, empty, size=minimal]}
{\end{tcbitemize}\setcounter{enumi}{0}}
\begin{document}
\begin{myitemize}[3]
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\end{myitemize}
~\\
\begin{myitemize}
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\tcbitem $a^{-3}+b^{7}$
\end{myitemize}
\end{document}