항목이 지워졌음에도 불구하고 테이블에 "\item이 누락되었습니다"

항목이 지워졌음에도 불구하고 테이블에 "\item이 누락되었습니다"

테이블 환경에서 간단한 목록이 필요합니다. tabulary테이블 환경이 필요 하고 itemize목록 옵션과 함께 사용하고 있습니다.

시도하면 "뭔가 잘못되었습니다. 아마도 \item이 누락되었을 수 있습니다."라는 오류가 반환됩니다.

다음 MWE는 문제를 재현합니다. 방금 MikTeX(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}

지적했듯이 위의 코드는 환경 itemize에서 -environment를 래핑할 때 작동합니다 minipage.

시간과 공간을 절약 하기 compactitemt위해 . 처음에는 오류가 발생했지만 다음 코드와 같이 환경을 재정의하면 이제 작동합니다.itemizeminipage

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

최종 목표는 J다음과 같이 목록을 포함하는 균등한 간격의 열을 갖는 것입니다.

여기에 이미지 설명을 입력하세요

위의 예에서 텍스트가 너무 짧아서 줄 바꿈이 없다면 두 번째 열의 너비가 내부 텍스트만큼만 넓으면 이상적이었을 것입니다. 그러나 수동으로 다음을 사용하여 이 문제를 처리할 수 있다고 믿습니다 tabularx. l테이블이 너무 작아서 한 줄 너비보다 작아야 하는 경우 열입니다 .

여기에 이미지 설명을 입력하세요

답변1

tabularyhmode를 사용하여 각 셀의 데이터 양을 측정합니다. 이는 목록과 같은 수직 구조가 작동하지 않음을 의미합니다. 그것은 \[시험 중에 로컬로 안전하게 만듭니다( $다른 역할은 하지 않음). itemixe에 대한 매우 기본적인 수정은 아래와 같겠지만 출력은 그다지 좋지 않습니다. 저는 법선을 사용 tabular하고 열 너비를 p{...}손으로 선택하겠습니다.

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

여기에 이미지 설명을 입력하세요

관련 정보