背景
該軟體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}
不過,我不確定這有什麼用。