我经常想在页边空白处添加一个小图来说明正文中的某个观点。
为此,我将 scrlayer-notcolumn 与 komascript 结合使用。特别是\makenote*
宏,因为它非常强大,例如,如果使用 tikz 创建图像,则需要它。
我还使用了captionof
标题包,以便在浮点数之外添加标题。
我正在使用 cleveref 来引用数字。
我的图片和标题显示正常。但是,当我将 放入\Cref{fig:myfig}
中的标签时makenote
,它不起作用,只显示??
。但是普通的\ref
可以正常工作
示例代码:
\documentclass{scrartcl}
\usepackage{scrlayer-scrpage}
\usepackage{scrlayer-notecolumn}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{cleveref}
\begin{document}
\section{start}
Do not forget to consider the image in \Cref{fig:foo} or \Cref{fig:bar}.
Or more plainly Figure \ref{fig:foo} or Figure \ref{fig:bar}
\begin{minipage}{\textwidth}
\includegraphics{dummy}
\captionof{figure}{Here is the inline figure caption}
\label{fig:foo}
\end{minipage}
\makenote*{
\includegraphics{dummy}
\captionof{figure}{Here is the side figure caption}
\label{fig:bar}
}
\end{document}
答案1
scrlayer-notecolumn
\label
在命令之后恢复\makenote
到加载包后找到的版本,这是\label
-cleveref
更改之前的版本 - 这样,cleveref
就无法将交叉引用信息写入文件.aux
,也不会存储自己的标签版本;也\cref
找不到\Cref
任何有用的东西来处理和显示??
。
一个可能的(也许是最快的)解决方案是加载scrlayer-notecolumn
后 cleveref
,使其成为少数需要最后加载的软件包之一。
\documentclass{scrartcl}
\usepackage{scrlayer-scrpage}
\usepackage[demo]{graphicx}
\usepackage{caption}
\usepackage{cleveref}
\usepackage{scrlayer-notecolumn}
\begin{document}
\section{start}
Do not forget to consider the image in \Cref{fig:foo} or \Cref{fig:bar}.
Or more plainly Figure \ref{fig:foo} or Figure \ref{fig:bar}
\begin{minipage}{\textwidth}
\includegraphics{dummy}
\captionof{figure}{Here is the inline figure caption}
\label{fig:foo}
\end{minipage}
\makenote*{
\includegraphics{dummy}
\captionof{figure}{Here is the side figure caption}
\label{fig:bar}
}
\end{document}