由于我使用的是chemstyle
由 Joseph Wright 编写的包中,对图形或方案(包定义的浮动环境)的引用始终打印为:
图 XY
或者
方案YZ
通常人们会写类似
Cooking bacon (see figure \ref{fig:Foo bar}) and eggs.
并得到类似的输出
烹饪培根(见图 XY)和鸡蛋。
现在,使用该chemstyle
包,效果如下:
烹饪培根(见图 XY)和鸡蛋。
我怎样才能恢复正常行为\ref
?
如果您看到这个约瑟夫,请考虑实现一个选项来切换此行为,因为有些人可能喜欢自动输出,但其他人,比如我,不喜欢。
平均能量损失
\documentclass{article}
\usepackage{chemstyle}
\usepackage{graphicx}
\begin{document}
\begin{figure}[htb!]
\centering
\includegraphics{example-image}
\caption{Foo figure}
\label{fig:foo}
\end{figure}
Figure \ref{fig:foo} shows a Foo.
\end{document}
答案1
该包chemstyle
有(第 425-434 行)
\ifcst@varioref
\RequirePackage{varioref}
\labelformat{figure}{\figurename~#1}
\labelformat{table}{\tablename~#1}
\AtEndOfPackage{%
\AtBeginDocument{%
\labelformat{scheme}{\schemename~#1}%
}%
}
\fi
默认情况下,它会加载varioref
(这不是问题),然后更改\labelformat
,这是由提供的宏,varioref
其目的正是控制的输出\ref
。此时我认为您有三个选择:
1)你可以chemstyle from loading
使用相应的选项停止 varioref`
\usepackage[varioref=false]{chemstyle}
2)你“撤消”chemstyle
了
\labelformat{figure}{#1}
\labelformat{table}{#1}
3)您喜欢varioref
随意使用\ref{fig:foo}
(或\Ref{fig:foo}
放在句子开头),而不是Figure~\ref{fig:foo}
明确地写出来。