使用 \classicthesis 扩展 \write 中的 \ref

使用 \classicthesis 扩展 \write 中的 \ref

以下代码:

\documentclass{scrbook}
% \usepackage{classicthesis}

\newwrite\myauxfile
\immediate\openout\myauxfile=test.myaux

\begin{document}

\begin{figure}
  This is a figure
  \caption{This is a caption}
  \label{fig:1}
\end{figure}
Figure~\ref{fig:1}
\write\myauxfile{Figure \ref{fig:1}}
\end{document}

test.myaux生成包含以下行的文件:

Figure \relax 0.1\hbox {}

如果我包含该classicthesis包(取消注释第二行),则参考编号不会扩展,并且文件test.myaux包含以下行:

Figure \ref  {fig:1}

这不是我想要的。可以修复这个问题吗?

答案1

也许你想使用\getrefnumber

\documentclass{scrbook}
\usepackage{classicthesis}
\usepackage{refcount}

\newwrite\myauxfile
\immediate\openout\myauxfile=\jobname.myaux

\begin{document}

\begin{figure}
  This is a figure
  \caption{This is a caption}
  \label{fig:1}
\end{figure}
Figure~\ref{fig:1}
\write\myauxfile{Figure \getrefnumber{fig:1}}
\end{document}

新的辅助文件将包含

Figure 1

相关内容