Auflisten innerhalb von Scontents erzeugt Fehler

Auflisten innerhalb von Scontents erzeugt Fehler

Hintergrund

Die Software xournal++kann Latex verwenden, um Inhalte zu visualisieren. Dazu verwendet sie eine Vorlagendatei standaloneund füllt Benutzereingaben in eine scontentsUmgebung ein. Ich stelle hier ihre reduzierte Vorlagendatei zur Verfügung, die den Fehler immer noch als MWE (oder minimales Fehlerbeispiel?) erzeugt.

Das Problem

Ich möchte eine Itemize-Umgebung innerhalb von scontents verwenden. Außerdem errechnet die Vorlage vermutlich die Höhe des gespeicherten Inhalts, um zu prüfen, ob ein Problem vorliegt. Allerdings erhalte ich die folgende Fehlermeldung:

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

Unten mein Minimalbeispiel, das den Fehler erzeugt, und am Ende des Beitrags das vollständige Protokoll. Wenn ich keine Itemize-Umgebung verwende, erhalte ich keinen Fehler.

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

Die Protokolldatei (mit Paketversionen):https://pastebin.com/raw/TKu9DvEC

Antwort1

Der Fehler hat nichts damit zu tun scontents.

Minimalbeispiel:

\documentclass{article}
\newlength{\pheight}

\begin{document}

\settoheight{\pheight}{\begin{itemize}\item Text\end{itemize}}

\end{document}

Konsolenausgabe:

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

Der Text \settoheightsollte keine Absätze enthalten.

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

Ich bin mir allerdings nicht sicher, welchen Nutzen das hätte.

verwandte Informationen