我想修改 Elsevier 使用的页脚elsarticle.cls
无需直接编辑类文件。我想删除第一页的页脚,该页脚标明“预印本已提交给 Elsevier”(或您使用可选命令指定的期刊\journal{}
)。显然,我可以从类文件中删除它,但如果我没有提供对类文件的明确修改,此更改将不会延续到其他文件。我尝试将修改后的类文件行添加到.tex
documentclass 声明之前,但它们被忽略了:
\def\ps@pprintTitle{%
\let\@oddhead\@empty
\let\@evenhead\@empty
\def\@oddfoot{\footnotesize\itshape
% line below modified from elsarticle.cls
\ifx\@journal\@empty Elsevier
\else\@journal\fi\hfill\today}%
\let\@evenfoot\@oddfoot}
\documentclass{elsarticle}
有什么方法可以在不编辑文件的情况下删除该页脚吗.cls
?
答案1
你已经给出了你的定义前调用 elsarticle,所以较新的会覆盖较旧的。您需要更改定义的顺序!
这对我有用:
\documentclass{elsarticle}
\usepackage{lipsum}
\makeatletter
\def\ps@pprintTitle{%
\let\@oddhead\@empty
\let\@evenhead\@empty
\def\@oddfoot{}%
\let\@evenfoot\@oddfoot}
\makeatother
\begin{document}
\title{Paper}
\author{A. U. Thor}
\date{\today}
\maketitle
\lipsum[1-2]
\end{document}
答案2
或者你可以用页码替换预印本的脚注,这样第一页的脚注样式就与后面的页面一致了。要做到这一点,只需:
\documentclass[review]{elsarticle}
\makeatletter
\def\ps@pprintTitle{%
\let\@oddhead\@empty
\let\@evenhead\@empty
\def\@oddfoot{\centerline{\thepage}}%
\let\@evenfoot\@oddfoot}
\makeatother
答案3
\patchcmd
您可以尝试以下代码,它使用包提供的指令etoolbox
。(代码的作用是将定义的长参数替换为@oddfoot
... \relax
)
\documentclass{elsarticle}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\ps@pprintTitle}{\footnotesize\itshape
Preprint submitted to \ifx\@journal\@empty Elsevier
\else\@journal\fi\hfill\today}{\relax}{}{}
\makeatother
[rest of preamble]
答案4
另一种方法是保留日期并使标题页不编号。
\makeatletter
\def\ps@pprintTitle{%
\let\@oddhead\@empty
\let\@evenhead\@empty
\def\@oddfoot{\centerline{\hspace*{\fill} \raggedright \today} }%
\let\@evenfoot\@oddfoot}
\makeatother
\journal{}
\setcounter{page}{0}