배경
소프트웨어는 xournal++
라텍스를 사용하여 콘텐츠를 시각화할 수 있습니다. 이를 위해 템플릿 standalone
파일을 사용하고 사용자 입력을 환경에 채웁니다 scontents
. 나는 여전히 mwe(또는 최소한의 실패 예)로 오류를 생성하는 축소된 템플릿 파일을 여기에 제공합니다.
문제
콘텐츠 내부에서 itemize 환경을 사용하고 싶습니다. 또한 템플릿은 저장된 콘텐츠의 높이를 계산하여 문제가 있는지 확인하는 것 같습니다. 그러나 다음과 같은 오류가 발생합니다.
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.24 ...toheight{\pheight}{\getstored[1]{preview}}
오류를 생성하는 최소한의 예제와 게시물 끝 부분에 전체 로그가 있습니다. itemize 환경을 사용하지 않으면 오류가 발생하지 않습니다.
\documentclass[varwidth=0.999\maxdimen, crop, border=5pt]{standalone}
\newcommand*{\setTextWidthReference}{%
\setlength{\textwidth}{345.0pt}% Same value when you use 'varwidth=true'.
\setlength{\linewidth}{\textwidth}%
\setlength{\columnwidth}{\textwidth}%
}
% for storing in memory verbatim content to be reused later
\usepackage{scontents}
\usepackage{ifthen}
\newlength{\pheight}
% User input
\begin{scontents}[store-env=preview]
\begin{itemize}
\item Text
\end{itemize}
\end{scontents}
\begin{document}
\setTextWidthReference
% Check if the formula is empty
\settoheight{\pheight}{\getstored[1]{preview}}%
\ifthenelse{\pheight=0}{\GenericError{}{blank}{}{}}
\getstored[1]{preview}
\end{document}
로그 파일(패키지 버전 포함):https://pastebin.com/raw/TKu9DvEC
답변1
오류는 와 관련이 없습니다 scontents
.
최소한의 예:
\documentclass{article}
\newlength{\pheight}
\begin{document}
\settoheight{\pheight}{\begin{itemize}\item Text\end{itemize}}
\end{document}
콘솔 출력:
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.6 ...ht}{\begin{itemize}\item Text\end{itemize}}
의 텍스트에는 \settoheight
단락이 없어야 합니다.
\documentclass[varwidth=0.999\maxdimen, crop, border=5pt]{standalone}
\newcommand*{\setTextWidthReference}{%
\setlength{\textwidth}{345.0pt}% Same value when you use 'varwidth=true'.
\setlength{\linewidth}{\textwidth}%
\setlength{\columnwidth}{\textwidth}%
}
% for storing in memory verbatim content to be reused later
\usepackage{scontents}
\usepackage{ifthen}
\newlength{\pheight}
% User input
\begin{scontents}[store-env=preview]
\begin{itemize}
\item Text
\end{itemize}
\end{scontents}
\begin{document}
\setTextWidthReference
% Check if the formula is empty
\settoheight{\pheight}{\begin{varwidth}{\maxdimen}\getstored[1]{preview}\end{varwidth}}%
\ifthenelse{\pheight=0}{\GenericError{}{blank}{}{}}
\getstored[1]{preview}
\end{document}
하지만 이것이 무슨 용도로 사용될지는 잘 모르겠습니다.