参考文献未显示(Latex)

时间:2018-01-10 22:28:50

标签: label latex ref

我有一个非常奇怪的问题。在我的一篇论文中,对部分的引用根本就不打印。我使用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}

我不知道它可能来自哪里。任何提示都会非常受欢迎。

非常感谢!

1 个答案:

答案 0 :(得分:1)

来自apa6 documentation 3.4标题级别,第5页):

  

请注意,自APA风格以来,部分不能\ref   不使用编号的部分。所以\label命令是不必要的   除非您希望使用\refname

\refname只允许您访问“参考”部分标题(如果您使用它)。 apa6文档中的所有部分都是打印的,没有数字(来自课程中的\setcounter{secnumdepth}{0}),因此\label\ref没有多大意义:

enter image description here

\documentclass{apa6}

\begin{document}

\section{A section}
\label{sec:section}

\section*{Another section}
See section~\ref{sec:section}.

\end{document}

您可以使用以下\label选项手动设置\setlabel{<stuff>}{<label>}应存储的内容并在以后引用它:

enter image description here

\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

enter image description here

\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}