我正在编写一份需要图表列表的文档(在 Overleaf 中),因此我\listoffigures
在目录之后添加了图表,但出现了错误。我认为问题与我在图表标题中Missing number, treated as zero
使用图表有关。但是,出于某种原因,如果我删除该包,一切都会正常。\SI{number}{unit}
amsmath
以下是重现此问题的 MWE
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{amsmath} % <- Remove this and the error goes away
\usepackage{siunitx}
\begin{document}
\listoffigures
\begin{figure}[t]
\centering
\includegraphics{example-image-a}
\caption{Let's test it \SI{30}{\square\deg}}
\label{fig:my_label}
\end{figure}
\end{document}
我尝试搜索类似的问题,但没有一个能解决我的问题(据我所知)。
您知道如何解决这个问题吗?
答案1
该命令\deg
不是 接受的单位名称之一siunitx
,而是 之类的操作员名称\log
。
您可以定义自己的单位或覆盖的标准输出\degree
。
\documentclass{book}
\usepackage{amsmath}
\usepackage{siunitx}
\DeclareSIUnit{\degree}{deg}
\begin{document}
\listoffigures
\begin{figure}[t]
\centering
\fbox{figure}
\caption{Let's test it \SI{30}{\square\degree} or \SI{30}{\degree\squared}}
\label{fig:my_label}
\end{figure}
\end{document}