我有一个非常奇怪的问题。在我的一篇论文中,对部分的引用根本就不打印。我使用pdflatex编译,它没有任何投诉,并且它吐出pdf,但没有任何对部分的引用。
我只是在一个部分之后使用\ label {sec:mysec},在文本中的任何地方使用\ ref {sec:mysec},这是典型用法。我已经使用了多年,但在这个特定的文档中,必须与某些东西进行交互,以防止乳胶显示引用。
如果它有帮助,这些是我导入的包:
\documentclass[a4paper,man,natbib,floatsintext]{apa6}
\usepackage[utf8]{inputenc}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage{rotating}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{color}
\usepackage{array}
我不知道它可能来自哪里。任何提示都会非常受欢迎。
非常感谢!
答案 0 :(得分:1)
来自apa6
documentation( 3.4标题级别,第5页):
请注意,自APA风格以来,部分不能
\ref
不使用编号的部分。所以\label
命令是不必要的 除非您希望使用\refname
。
\refname
只允许您访问“参考”部分标题(如果您使用它)。 apa6
文档中的所有部分都是打印的,没有数字(来自课程中的\setcounter{secnumdepth}{0}
),因此\label
和\ref
没有多大意义:
\documentclass{apa6}
\begin{document}
\section{A section}
\label{sec:section}
\section*{Another section}
See section~\ref{sec:section}.
\end{document}
您可以使用以下\label
选项手动设置\setlabel{<stuff>}{<label>}
应存储的内容并在以后引用它:
\documentclass{apa6}
\makeatletter
\newcommand{\setlabel}[1]{\edef\@currentlabel{#1}\label}
\makeatother
\begin{document}
\section{A section}
\setlabel{A section}{sec:section}
\section*{Another section}
See section~\ref{sec:section}.
\end{document}
如果您希望自动执行此过程,可以通过以下方式在LaTeX kernel内修补\@sect
和\@ssect
:
\documentclass{apa6}
\usepackage{etoolbox}
\makeatletter
% \pretocmd{<cmd>}{<prefix>}{<success>}{<failure>}
\pretocmd{\@sect}{\def\@currentlabel{#8}}{}{}% Store title of \section
\pretocmd{\@ssect}{\def\@currentlabel{#5}}{}{}% Store title of \section*
\makeatother
\begin{document}
\section{A section}
\label{sec:section}
\section*{Another section}
See section~\ref{sec:section}.
\end{document}