我正在尝试使用来自https://www.ctan.org/tex-archive/macros/latex/contrib/els-cas-templates,但是当我尝试交叉引用一个方程时遇到了一个问题,结果变成了Eq. (1)
如下图所示:
我希望它之间的差距更小,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。
(编辑:或者删除nameinlink
cleverref 选项?)
\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}
给出
在前两行,我没有看到任何巨大的差距。