"item faltando" na tabela apesar do item claro

"item faltando" na tabela apesar do item claro

Preciso ter listas compactas em um ambiente de tabela. Preciso do tabularyambiente para tabelas e estou usando itemizecom opções para as listas.

Minhas tentativas retornam o erro "Algo está errado - talvez esteja faltando um \item".

O seguinte MWE replica o problema. Acabei de atualizar todos os pacotes no MikTeX (no Windows).

\documentclass{article} 
\usepackage{tabulary} 
\begin{document} 
  \begin{tabulary}{\linewidth}{L L}  
  test &  \begin{itemize} \item table item 1 \end{itemize} \\  
  \end{tabulary}
\end{document}

Como foi apontado, o código acima funciona ao agrupar o itemize-environment em um minipageambiente.

Para economizar tempo e espaço, criei um compactitemtambiente para envolver automaticamente itemizeo minipage. Inicialmente, isso gerou um erro, mas a redefinição do ambiente como no código a seguir agora está funcionando.

\documentclass{scrbook}

\usepackage[inline]{enumitem} 
\usepackage{tabulary}

\newenvironment{compactitemt}{
    \begin{minipage}[t]{\hsize}\begin{itemize}[nosep, wide=0pt]
    }{ \end{itemize}\end{minipage} }

\begin{document}

    \begin{tabulary}{\linewidth}{| J | J |} 
        other column & 
            top line 1
            \begin{compactitemt}
                \item table item 1
            \end{compactitemt}
            bottom line 1
        \\ 
    \end{tabulary}

\end{document}

O objetivo final é ter Jcolunas com espaçamento uniforme que contenham listas, como esta:

insira a descrição da imagem aqui

Teria sido ideal se, no exemplo acima, a segunda coluna fosse tão larga quanto o texto dentro, se o texto fosse tão curto que não houvesse quebras de linha, mas acredito que posso lidar com isso manualmente usando tabularxe então coluna l, quando a tabela é tão pequena que deveria ter menos de uma linha de largura.

insira a descrição da imagem aqui

Responder1

tabularyusa hmode para medir a quantidade de dados de cada célula, isso significa que construções verticais, como listas, não funcionam. ele torna localmente \[seguro durante os testes (agindo como $nada mais. Uma modificação muito básica para itemixe seria como abaixo, mas a saída não é tão boa. Eu usaria um normal tabulare escolheria a largura da p{...}coluna manualmente.

\documentclass{article}
\usepackage{tabulary}
\makeatletter
\def\TY@list#1#2{%
  \renewcommand\item[1][]{ }%
  }
\def\TY@tab{%
  \setbox\z@\hbox\bgroup
  \let\[$\let\]$%
% new bit to make itemize safe
  \let\list\TY@list
  \let\enditemize\relax
  \let\endlist\relax
% end change
  \let\equation$\let\endequation$%
    \col@sep\tabcolsep
    \let\d@llarbegin\begingroup\let\d@llarend\endgroup
    \let\@mkpream\TY@mkpream
      \def\multicolumn##1##2##3{\multispan##1\relax}%
    \CT@start\TY@tabarray}
\makeatother
\begin{document}
\centering
\begin{tabulary}{\linewidth}{L L} 
test & 
\begin{itemize}
\item table item 1
\end{itemize}
\\ 
\end{tabulary}
\end{document}

insira a descrição da imagem aqui

informação relacionada