背景
该软件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}
但我不确定这有什么用处。