使用 elsarticle 类时,我收到错误消息“\bibsection undefined”。使用标准“article”文档类时不会出现此错误。
此外,我收到两个有关 hyperref.sty 包的错误(“\x 的 \Argument 有一个多余的 }”和“段落在 \x 完成之前结束”)。当我使用其他文档类时,这两个错误也不会出现。
以下是我的文件的 MWE:
\documentclass[11pt,english,authoryear]{elsarticle}
\usepackage{mathpazo}
\renewcommand{\sfdefault}{lmss}
\renewcommand{\ttdefault}{lmtt}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\geometry{verbose,tmargin=2.5cm,bmargin=2.5cm,lmargin=2.5cm,rmargin=2.5cm}
\usepackage{color}
\usepackage{babel}
\usepackage{array}
\usepackage{float}
\usepackage{rotfloat}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage[unicode=true,pdfusetitle, bookmarks=true,bookmarksnumbered=false,bookmarksopen=false, breaklinks=false,pdfborder={0 0 1},backref=false,colorlinks=false, hidelinks]
{hyperref}
\usepackage{breakurl}
\usepackage{multirow}
\usepackage{tikz}
\usetikzlibrary{patterns,decorations.pathreplacing}
\usetikzlibrary{arrows}
\usepackage{rotating}
\usepackage{pdflscape}
\usepackage{makecell}
\usepackage{booktabs}
\usepackage{geometry}
\usepackage{standalone}
\usepackage{tabularx}
\usepackage{graphicx}
\usepackage{adjustbox}
\usepackage{multicol}
\usepackage{fixltx2e}
\usepackage{fancyhdr}
\usepackage{siunitx}
\usepackage{dcolumn}
\usepackage{lastpage}
\usepackage{caption}
\usepackage[nottoc]{tocbibind}
\usepackage{longtable}
\usepackage{bookmark}
\usepackage{subfig}
\usepackage{pstool}
\usepackage{lscape}
\setstretch{1.5}
\makeatletter
\providecommand{\tabularnewline}{\\}
\DeclareSymbolFont{operators} {OT1}{lmr} {m}{n}
\DeclareSymbolFont{letters} {OML}{cmm} {m}{it}
\DeclareSymbolFont{symbols} {OMS}{cmsy}{m}{n}
\SetSymbolFont{operators}{bold}{OT1}{cmr}{b}{n}
\SetSymbolFont{letters}{bold}{OML}{cmm}{b}{it}
\SetSymbolFont{symbols}{bold}{OMS}{cmsy}{b}{n}
\bibliographystyle{authoryear}
\makeatother
\begin{document}
\hypersetup{colorlinks, citecolor=black, filecolor=black, linkcolor=black, urlcolor=black}
\begin{frontmatter}{}
\title{xyz}
\author{xy}
\address{xyz}
\ead{[email protected]}
\vspace{1cm}
\begin{abstract}
Lorem ipsum
\vspace{1cm}
\noindent \textbf{Classification}: lalala
\end{abstract}
\begin{keyword}
\noindent Lalala
\end{keyword}
\end{frontmatter}{}
Lorem ipsum
\end{document}
有人知道我该如何解决这个问题吗?
答案1
关于 的错误\x
是由于 造成的pdfusetitle
,因为假设了和hyperref
的标准定义,但却改变了它们。\title
\author
elsarticle
由于是elsarticle
用于向 Elsevier 期刊投稿,我认为您不应该加载会改变布局的包。特别是字体包tocbibind
、、geometry
和。fancyhdr
setspace
请注意breakurl
和fixltx2e
是无用的,应该删除。
如此长的软件包列表可能包含几个特定文档不需要的软件包。
还应hyperref
加载最后的bookmark
,但(以及这里未提及的一些其他内容)除外。
答案2
我通过删除一些我正在使用的软件包来解决这个问题 - 太多了,我知道这是一个坏习惯。
特别是,elsarticle
已经包含了主要hyperref
选项,因此所有的\usepackage{hyperref}
行都是不必要的,这解决了第二个问题(错误hyperref
)。
通过删除该行,第一个问题(bibsection 错误)已得到修复\usepackage[nottoc]{tocbibind}
。
非常感谢 moewe 和 Mico 的热情帮助。祝一切顺利。