我在向期刊提交论文时遇到了一些问题。更准确地说,《南美逻辑学杂志》要求使用以下形式的模板
\documentclass[pdftex]{sajl}
\volume{X}
\issue{X}
\year{20XX}
\setcounter{page}{1}
\usepackage{latexsym, amssymb, amsfonts,amsmath}
\usepackage{graphicx}
\newtheorem{definition}{Definition}[section]
\newtheorem{theorem}[definition]{Theorem}
\newtheorem{lemma}[definition]{Lemma}
\newtheorem{proposition}[definition]{Proposition}
\newtheorem{remark}[definition]{Remark}
\newtheorem{remarks}[definition]{Remarks}
\newtheorem{example}[definition]{Example}
\newtheorem{examples}[definition]{Examples}
\newtheorem{corollary}[definition]{Corollary}
\newcommand{\negr}[1]{\boldsymbol{#1}}
\newenvironment{proof}{\noindent\bf Proof. \rm}{\hfill $\negr{\blacksquare}$ \\}
\title{Template for SAJL}{Template for South American Journal of Logic}
\author{J.-Y. B\'eziau and M. E. Coniglio}{Jean-Yves B\'eziau and Marcelo E. Coniglio}
\begin{document}
\maketitle
......
其中 sajl.cls 是
\NeedsTeXFormat{LaTeX2e}[2009/09/24]
\ProvidesClass{sajl} [2014/08/12 v1.0 LaTeX document class for South American Journal of Logic]
% Toma como base la clase "article.cls"
\LoadClass[12pt]{article}
\usepackage{graphicx,float,multicol}
% Definición de comandos propios de sajl
\newcommand{\volume}[1]{\gdef\@volume{#1}}
\global\let\@volume\@empty
\newcommand{\issue}[1]{\gdef\@issue{#1}}
\global\let\@issue\@empty
\renewcommand{\year}[1]{\gdef\@year{#1}}
\global\let\@year\@empty
\newcommand{\authorname}[1]{\noindent {#1} \newline}
\newcommand{\address}[1]{#1 \newline}
\newcommand{\email}[1]{ \textit{E-mail: }\texttt{#1} \vspace{0.5cm}}
\newcommand{\keywords}[1]{\vspace{0.5cm}\noindent \textbf{Keywords:}\ #1}
% redefinición de la generación del título
\renewcommand*{\title}[2]{\gdef\@shorttitle{#1}\gdef\@title{#2}}
\renewcommand*{\author}[2]{\gdef\@shortauthor{#1}\gdef\@author{#2}}
\renewcommand{\maketitle}{
\begingroup
\centering
\Large\textbf\@title\normalsize\vskip\baselineskip\par
\@author\vskip\baselineskip\par
\endgroup
}
% Define el tamaño de página y las márgenes
\usepackage{calc}
\usepackage[letterpaper,top=3cm, left=3cm, right=3cm, bottom=3cm, includehead]{geometry} % incluiyendo encabezados en las márgenes
%\usepackage[letterpaper,top=3cm, left=3cm, right=3cm, bottom=3cm, includehead, includefoot]{geometry} % incluyen encabezados y pié de página en las márgenes
% define los encabezados de las páginas
\@twosidetrue
\renewcommand{\@oddhead}{\hfill \textsc{\@shorttitle} \hfill \thepage}%
\renewcommand{\@evenhead}{\thepage \hfill \textsc{\@shortauthor} \hfill}%
\renewcommand{\@oddfoot}{}%
\renewcommand{\@evenfoot}{\@oddfoot}%
% Incluye la información de la revista al comienzo del artículo
\RequirePackage{lastpage}
\AtBeginDocument{%
\label{FirstPage}
{
\begin{multicols}{2}
{
\small
\thispagestyle{empty}
\noindent {\em South American Journal of Logic} \newline
\textsf{Vol. \ifx\@volume\@empty??\relax\else\@volume\fi, n. \ifx\@issue\@empty??\relax\else\@issue\fi,
pp. \pageref{FirstPage}--\pageref{LastPage}, \ifx\@year\@empty??\relax\else\@year\fi} \newline
\textsf{ISSN: 2446-6719} % (Print) \ \ \textsf{2446-6719} (Online)
}
\begin{flushright}
\includegraphics[scale=0.05]{logo-sajl1}
\end{flushright}
\end{multicols}
\vspace{1cm}
}
}
\endinput
但是我的模板是
\documentclass[12pt, a4 paper, twoside]{article}
\usepackage{amssymb, amsmath, amscd, amsthm, latexsym, amsfonts}
\usepackage{mathrsfs}
\usepackage{indentfirst}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{matrix, arrows, decorations.pathmorphing}
\usepackage{tikz-cd}
\usepackage{fancyhdr}
\usepackage[letterpaper, margin=1in]{geometry}
\usepackage{enumitem}
\usepackage{mathtools}
\usepackage{hyperref}
\usepackage{aliascnt}
\usepackage[titletoc]{appendix}
\usepackage{graphicx}
\newcommand{\negr}[1]{\boldsymbol{#1}}
\renewenvironment{proof}{\noindent\bf Proof. \rm}{\hfill $\negr{\blacksquare}$ \\}
\newcommand{\nsubset}{\not \subset}
\newcommand{\Hom}{\textnormal{Hom}}
\newcommand{\mono}{\rightarrowtail}
\newcommand{\epi}{\twoheadrightarrow}
\newcommand{\incl}{\hookrightarrow} %inclusion%
\newcommand{\fib}{\twoheadrightarrow} %fibration%
\newcommand{\cofib}{\rightarrowtail} %cofibration%
\newcommand{\Sub}{\textnormal{Sub}} %subobject%
\newcommand{\Quot}{\textnormal{Quot}} %quotient%
\newcommand{\Sk}{\textnormal{Sk}} %skeleton%
\newcommand{\Set}{\mathbf{Set}}
\newcommand{\Ob}{\textnormal{Ob}}
\newcommand{\Type}{\textnormal{Type}}
\newcommand{\Mono}{\textnormal{Mono}}
\newcommand{\OX}{\ensuremath{\mathscr{O}}}
\newcommand{\aff}{\ensuremath{\mathbb{A}^n}}
\newcommand{\Spmax}{\textnormal{Spmax}}
\newcommand{\Spec}{\textnormal{Spec}}
\newcommand{\Open}{\textnormal{Open}}
\newcommand{\Proj}{\textnormal{Proj}}
\newcommand{\Sch}{\ensuremath{\mathbf{Sch}}}
\newcommand{\sob}{\textnormal{sob}}
\newcommand{\Ker}{\textnormal{Ker}}
\newcommand{\Coker}{\textnormal{Coker}}
\newcommand{\Sym}{\textnormal{Sym}}
\newcommand{\colim}{\textnormal{colim}}
\newcommand{\Supp}{\textnormal{Supp}}
\newcommand{\AffSch}{\ensuremath{\mathbf{AffSch}}}
\newcommand{\QCoh}{\ensuremath{\mathbf{QCoh}}}
\newcommand{\Frac}{\textnormal{Frac}}
\newcommand{\charac}{\textnormal{char}}
\newcommand{\Der}{\textnormal{Der}}
\newcommand{\ad}{\textnormal{ad}}
\newcommand{\Inn}{\textnormal{Inn}}
\newcommand{\Ho}{\textnormal{H}}
\newcommand{\im}{\textnormal{Im}}
\newcommand{\coim}{\textnormal{Coim}}
\newcommand{\Rng}{\ensuremath{\mathbf{CRing}}}
\newcommand{\sSet}{\ensuremath{\mathbf{sSet}}}
\newcommand{\Sing}{\textnormal{Sing}}
\newcommand{\Top}{\textnormal{Top}}
\newcommand{\Lan}{\textnormal{Lan}}
\newcommand{\Ran}{\textnormal{Ran}}
\newcommand{\PrSh}{\ensuremath{\mathbf{PrSh}}}
\newcommand{\Res}{\textnormal{Res}}
\newcommand{\SC}{\ensuremath{\mathbb{S}}}
\newcommand{\LRS}{\ensuremath{\mathbf{LRS}}}
\newcommand{\RS}{\ensuremath{\mathbf{RS}}}
\newcommand{\Cat}{\ensuremath{\mathbf{Cat}}}
\newcommand{\Sh}{\ensuremath{\mathbf{Sh}}}
\newcommand{\Mod}{\ensuremath{\mathbf{Mod}}}
\newcommand{\Ab}{\ensuremath{\mathbf{Ab}}}
\newcommand{\Grp}{\ensuremath{\mathbf{Grp}}}
\newcommand{\ie}{{\it i.e.}}
\newcommand{\resp}{{\it resp.}}
\newcommand{\Um}{\textnormal{Um}}
\newcommand{\SR}{\textnormal{SR}}
\newcommand{\GL}{\textnormal{GL}}
\newcommand{\F}{\ensuremath{\mathcal{F}}}
\newcommand{\E}{\ensuremath{\mathcal{E}}}
\newcommand{\G}{\ensuremath{\mathcal{G}}}
\newcommand{\Li}{\ensuremath{\mathcal{L}}}
\newcommand{\A}{\textnormal{Aut}}
\begin{document}
\title{blah blah}
\author{blah}
\date{2016}
\maketitle
\theoremstyle{definition}
\newtheorem{defi}{Definition}
\providecommand*{\defiautorefname}{Definition}
\newtheorem{ax}{Axiom}[subsection]
\providecommand*{\axautorefname}{Axiom}
\theoremstyle{plain}
\newtheorem{thm}{Theorem}
\providecommand*{\thmautorefname}{Theorem}
\newtheorem{prop}{Proposition}[section]
\providecommand*{\propautorefname}{Proposition}
\newtheorem{lem}{Lemma}
\providecommand*{\lemautorefname}{Lemma}
\newtheorem{cor}{Corollary}
\providecommand*{\corautorefname}{Corollary}
\newtheorem{conj}{Conjecture}[subsection]
\providecommand*{\conjautorefname}{Conjecture}
\theoremstyle{remark}
\newtheorem{rem}{Remark}
\providecommand*{\remautorefname}{Remark}
\newtheorem{ex}{Exercise}[subsection]
\providecommand*{\exautorefname}{Exercise}
\end{document}
当我尝试简单地添加
\documentclass[pdftex]{sajl}
\volume{X}
\issue{X}
\year{20XX}
\setcounter{page}{1}
并排除
\documentclass[12pt, a4 paper, twoside]{article}
它无法编译。它给出了错误Missing \begin{document}
。
有人能帮我吗?
编辑
排除软件包hyperref
和tikz
(以及相关软件包)后,我可以成功编译。现在我想知道是什么导致了“sajl.cls”中的这种冲突。
编辑
正如 jon 所注意到的,确实,为了成功编译它,已经排除了“geometry”包。但是,我忘了提到它。
答案1
与hyperref
包冲突:类sajl
执行一些代码\AtBeginDocument
,就像\label
命令一样。 hyperref 包重新定义了\label
命令,但仅限于\AtBeginDocument
。由于包是在类之后加载的,因此第一个\label
命令在重新定义之前执行,因此不一致的信息会写入 aux 文件。
底线:sajl.cls
与包装不兼容hyperref
。
和...有冲突tikz
:该类sajl
重新定义\year
:
\renewcommand{\year}[1]{\gdef\@year{#1}}
这并不明智,因为\year
是包含当前年份的预定义宏;\showthe\year
目前给出2017
(除非重新定义)。 中的随机数生成代码tikz
依赖于 的原始含义\year
。
底线:sajl.cls
与所有使用 的包不兼容\year
,其中包括tikz
。