与期刊发表模板冲突

与期刊发表模板冲突

我在向期刊提交论文时遇到了一些问题。更准确地说,《南美逻辑学杂志》要求使用以下形式的模板

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

有人能帮我吗?

编辑

排除软件包hyperreftikz(以及相关软件包)后,我可以成功编译。现在我想知道是什么导致了“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

相关内容