Definir um ambiente para alinhar elementos em uma tabela e rotulá-los em ordem alfabética

Definir um ambiente para alinhar elementos em uma tabela e rotulá-los em ordem alfabética

Eu gostaria de automatizar esse processo em um ambiente, tanto quanto possível:

\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}
  • Para cada novo elemento existe uma numeração automatizada (a); b); c); etc.)
  • O número de elementos em uma linha é especificado uma vez ou (melhor ainda) dependendo dos elementos que cabem em uma linha.
  • Só é necessário adicionar itens (talvez com /additem #1ou separados por ponto e vírgula ou algo assim). Neste caso $a^{-3}+b^{7}$é um item

Não precisa estar em uma tabela se houver uma solução melhor. É importante para mim que

  • Os espaços são iguais
  • Esse é um espaço extra entre cada elemento (fiz isso com &~)
  • A 'numeração' está abaixo dela mesma / alinhada verticalmente

Editar: Esta é uma tentativa sem tabular (graças a @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}
  • isso \hfillevita um alinhamento horizontal à esquerda e espalha os elementos uniformemente se não houver o suficiente para preencher a linha
  • Preciso especificar as linhas para cada elemento: por exemplo, \z[0.25]{ax^2+bx+c}para quatro elementos por linha
  • Ainda preciso zerar o contador manualmente; isso ésem enumeração ou ambiente

Talvez algo com \newlist? Impressionante seria:

\begin{z}[0.25] % 4 items per row
 \item abcdef
 \item abcdef
 \item abcdef
\end{z}

Editar: forneci código compilável graças ao cfr

Responder1

Não tenho certeza se é isso que o OP deseja ou se é um pouco exagerado, mas com tcbraster(from tcolorbox) é possível fazer:

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

insira a descrição da imagem aqui

Não calcula o número de colunas, é um parâmetro. Todas as colunas têm a mesma largura e todas as linhas têm a mesma altura com a opção raster equal height=rows.

Responder2

Modificar a resposta do @Ignasi fez um bom trabalho:

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

insira a descrição da imagem aqui

informação relacionada