scontents 内の項目化によりエラーが発生する

scontents 内の項目化によりエラーが発生する

背景

ソフトウェアは、xournal++LaTeX を使用してコンテンツを視覚化できます。そのために、テンプレートstandaloneファイルを使用し、ユーザー入力を環境に入力しますscontents。ここでは、mwe (または最小限の失敗例?) としてエラーを生成する縮小されたテンプレート ファイルを提供します。

問題

scontents 内で 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}

ただし、これが何の役に立つのかはわかりません。

関連情報