我正在尝试使用该包编写文档achemso
,但我的\ref
无法正常工作。achemso
链接到一个名为的包cleveref
,然后将重命名cleveref
为\cref
,\ref
因此任何的答案都cleveref
应该在这里起作用。
示例一:
\documentclass[journal=jacsat,layout=traditional]{achemso}
\usepackage{achemso} %loaded last due to clerverRef
\author{Canageek}
\title{Title}
\email{[email protected]}
\affiliation[University]{University, Canada}
\begin{document}
\section{Introduction \label{intro}}
blah blah blah blah
\section{two}
Will this work? See~\ref{intro}.
\end{document}
产生如下正文:
介绍
啦啦啦啦
二
这会起作用吗?请参阅脚注∗。
下一个例子,因为手册中的章节标题中提到了错误cleveref
。
\documentclass[journal=jacsat,layout=traditional]{achemso}
\usepackage{achemso} %loaded last due to clerverRef
\author{Canageek}
\title{Title}
\email{[email protected]}
\affiliation[University]{University, Canada}
\begin{document}
\section{Introduction}
\label{intro}
blah blah blah blah
\section{two}
Will this work? See~\ref{intro}.
\end{document}
这会产生与上面相同的输出。奇怪的是,在文件中,我发现它们都没有产生任何奇怪的内容.log
。
\documentclass[journal=jacsat,layout=traditional,hyperref]{achemso}
\usepackage{hyperref}
\usepackage{achemso} %loaded last due to clerverRef
\author{Canageek}
\title{Title}
\email{[email protected]}
\affiliation[University]{University, Canada}
\begin{document}
\section{Introduction}
\label{intro}
blah blah blah blah
\section{two}
Will this work? See~\ref{intro}.
\end{document}
给出不同的输出:它将 替换*
为??
。该.log
文件还包含以下消息
LaTeX 警告:输入行 17 上标签类型 `` 的 cref 参考格式未定义。
有人能告诉我我做错了什么吗?今天早上我遇到另一个问题时,我确保更新了我的 TeX Live 安装,所以一切都应该是最新的。哦,是的,我确保在test.tex
编译期间删除了文件夹中除文件之外的所有内容。
答案1
如果您想要交叉引用各个部分,它们应该有一个关联的数字(用于交叉引用),否则,将会选取错误的字符串来生成交叉引用编号(在您的情况下,它将是由它创建的,这\affiliation
解释了为什么您会得到“脚注”)。
achemso
仅在期刊在印刷中使用章节编号时才使用章节编号。您可以使用该\SectionNumbersOn
命令强制章节编号;但是,如果您在向不使用章节编号的期刊提交的文章中使用章节编号,则以后可能会出现一些问题。
你的文档可能是这样的:
\documentclass[journal=jacsat,layout=traditional]{achemso}
\usepackage{achemso}
\SectionNumbersOn
\author{Canageek}
\title{Title}
\email{[email protected]}
\affiliation[University]{University, Canada}
\begin{document}
\section{Introduction}\label{intro}
blah blah blah blah
\section{two}
Will this work? See~\ref{intro}.
\end{document}