PdfLaTex:使用 Elsevier 模板时出现方程问题

PdfLaTex:使用 Elsevier 模板时出现方程问题

我正在尝试使用来自https://www.ctan.org/tex-archive/macros/latex/contrib/els-cas-templates,但是当我尝试交叉引用一个方程时遇到了一个问题,结果变成了Eq. (1)如下图所示:

A

我希望它之间的差距更小,Eq.例如(1)

在此处输入图片描述

但我不知道该怎么办。我已经试过了\Crefname{equation}{}{}。这是因为空间大小吗?

下面是一个最小示例,请用它来替代cas-dc-template.tex从网站下载的。

% -------------------------------- Class -------------------------------- %

\documentclass[a4paper,fleqn]{cas-dc}

% If the frontmatter runs over more than one page
% use the longmktitle option.

% \documentclass[a4paper,fleqn,longmktitle]{cas-dc}

% -------------------------------- And -------------------------------- %

\usepackage{xparse}
\ExplSyntaxOn
\RenewDocumentCommand \stmauthors { } 
{
    \group_begin:
    \stmAuthorSetup { type = authors }
    \l_stm_au_setup_tl
    \par \vskip\l_stm_augroup_before_dim
    \l_stm_augroup_align_tl
    \l_stm_augroup_size_tl
    \l_stm_augroup_shape_tl
    \l_stm_augroup_weight_tl
    \color{ \l_stm_augroup_color_tl }
    \bool_if:NTF \g_stm_augr_bool
    { \seq_use:Nn \g_stm_augr_seq { \par } }
    {
        \seq_use:cnnn { g_stm_au\int_use:N\g_stm_augr_int _seq }
        { ,~ } { ,~ } { ,~ }
    }
    \par\vskip\l_stm_augroup_after_dim
    \group_end:
}   
\ExplSyntaxOff

% -------------------------------- Packages -------------------------------- %

% \usepackage[numbers]{natbib}
\usepackage[authoryear]{natbib}
% \usepackage[authoryear,longnamesfirst]{natbib}
\usepackage{amssymb} % Add
\usepackage{bbding} % Add
\usepackage{color} % Add
\usepackage{caption,setspace} % Add
\usepackage[nameinlink]{cleveref} % Add
\usepackage[export]{adjustbox}
\usepackage{array}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{cellspace}
\usepackage{longtable}

% \usepackage{times} % Times

% \usepackage{helvet} % Arial
% \renewcommand{\familydefault}{\sfdefault}

\def\tabularxcolumn#1{m{#1}}

%%%Author macros
\def\tsc#1{\csdef{#1}{\textsc{\lowercase{#1}}\xspace}}
\tsc{WGM}
\tsc{QE}
%%%

\begin{document}

\captionsetup[figure]{labelfont={bf},name={Fig.},labelsep=period} % Add

\Crefname{figure}{Fig.}{Figs.} % For Fig.
% \Crefname{equation}{Eq.}{Eqs.}
\Crefname{equation}{}{}

\let\WriteBookmarks\relax
\def\floatpagepagefraction{1}
\def\textpagefraction{.001}

\shorttitle{Short Title}
\shortauthors{A et al}
\title [mode = title]{Title}

% -------------------------------- Authors -------------------------------- %

\author[a]{Author}
\credit{Conceptualization} % Credit authorship

% -------------------------------- Abstract -------------------------------- %

\begin{abstract}
B
\end{abstract}

% -------------------------------- Introduction -------------------------------- %
\maketitle

\section{Introduction}\label{1}

Eq.~\Cref{eq1}

\begin{equation}
This is an equation.
\label{eq1}
\end{equation}

%% Loading bibliography style file
%\bibliographystyle{model1-num-names}
\bibliographystyle{cas-model2-names}

% Loading bibliography database
\bibliography{refs}

\end{document}

提前感谢大家,祝大家有愉快的一天!

答案1

据我所知,问题是由于经过使用\Crefname{equation}{}{},并且不是特定于 Elsevier 模板的;我甚至使用该类也能得到它article

如果您将行为保留为默认行为,或者使用\Crefname{equation}{Eq.}{Eqs.},则在任一文档类中看起来都正常。

实际上,问题出在cleverref包上,因为\~不应该导致句子间空格,但他们使用这个选项来做到这一点\Crefname。(我想这与您通常只在句子开头使用\Cref而不是使用有关。)\cref

然而,如果问题是你想要在超链接引用中包含像“Equation”或“Eq.”这样的词,并且不只是\ref因为想要在超链接中使用括号而想要使用,我建议\equationautorefname从超链接包中重新定义,而不是使用 cleverref。

(编辑:或者删除nameinlinkcleverref 选项?)

\documentclass{article}

\usepackage[colorlinks]{hyperref}
\def\equationautorefname~#1\null{(#1)\null}
\usepackage[authoryear]{natbib}
\usepackage[nameinlink]{cleveref} % Add

\begin{document}

Default behavior:

\Cref{eq1} (Looks fine.)

\bigskip

Using `\texttt{\textbackslash Crefname\{equation\}\{Eq.\}\{Eqs.\}}'
\Crefname{equation}{Eq.}{Eqs.}

\Cref{eq1} (Looks fine.)

\bigskip

Using `\texttt{\textbackslash Crefname\{equation\}\{\}\{\}}'
\Crefname{equation}{}{}

Eq.~\Cref{eq1} (Big gap.)

Eq.\ \Cref{eq1} (Big gap.)

Eq.\ (\ref{eq1}) (Spacing is fine, but parentheses not in hyperlink.)

Eq.~\autoref{eq1} (Looks fine.)

Eq.\ \autoref{eq1} (Looks fine.)


\bigskip

\begin{equation}
x + y = z
\label{eq1}
\end{equation}

\end{document}

预览

答案2

问题很难重现。

\documentclass[a4paper,fleqn]{cas-dc}
\usepackage[authoryear]{natbib}
\usepackage[nameinlink]{cleveref} 
\Crefname{equation}{Eq.}{Eqs.}
\begin{document}
\Cref{eq1} vs Eq. \eqref{eq1} vs Eq. (\ref{eq1}) vs Eq.~(\ref{eq1})

\frenchspacing

\Cref{eq1} vs Eq. \eqref{eq1} vs Eq. (\ref{eq1}) vs Eq.~(\ref{eq1})

\nonfrenchspacing

\Cref{eq1} vs Eq. \eqref{eq1} vs Eq. (\ref{eq1}) vs Eq.~(\ref{eq1})

\begin{equation}\label{eq1}
a = b
\end{equation}
\end{document}

给出

在此处输入图片描述

在前两行,我没有看到任何巨大的差距。

相关内容