我碰到这关于应在哪些情况下使用不间断空格的问题。
为了交叉引用,我使用cleveref
。尽管其文档没有明确指出有关不间断空格的任何内容,但显然使用 cleveref 后,我不再需要在tie
命令前加上\cref{}
。我说得对吗?
我之所以问这个问题,是因为 linterschktex
和lacheck
编辑器的集成警告我引入了平局。现在,在几乎完成论文(使用不间断空格)并重新审视这个问题后,我觉得这是不必要的。此外,删除不间断空格将导致分页出现不可忽略的差异。
关于使用不间断空格的普遍共识是什么cleveref
?它似乎确实没有必要,甚至可能对盒子粘合惩罚模型的间距施加了不必要的限制。如果我必须删除它,是否有regex
可以从命令行运行的快速方法?
强制性MWE
\documentclass{article}
\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}
See~\cref{sec:massenergy} for more details.
\section{Mass-Energy Relationship}\label{sec:massenergy}
According to blah blah ....
\end{document}
答案1
在 a 之前放置一个不间断空格的想法\ref
是,您不希望短语Section 1
跨过两行。cleveref
但是,使用 ,\cref
不仅提供数字,还提供前一个单词。因此,应用前置不间断空格的需要得到了缓解。
例如,在 OP 的案例中,使用See~\cref{...}
可防止“See”和“Section”之间的换行,这不仅是没有必要的,而且正如我们在下面的 MWE 中看到的那样,实际上通过减少可用的断点数量来防止正确的边距。
在第一行中,在 之前使用了不间断空格,\cref
而在第二行中则没有。
\documentclass{article}
\usepackage[showframe,pass]{geometry}
\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}
.\hspace{4.35in minus .1in}See~\cref{sec:massenergy} for more details.
.\hspace{4.35in minus .1in}See \cref{sec:massenergy} for more details.
\section{Mass-Energy Relationship}\label{sec:massenergy}
According to blah blah ....
\end{document}
对于已经使用此类不间断空格编码的源代码,我建议使用编辑器将 全局替换~\cref
为\ \cref
。
答案2
~
简短回答:不,使用时 无需输入 \cref
。
~
请注意,标签名称(例如section
、figure
、 )和标签编号之间需要绑定 。在您给出的示例中, 和之间不需要theorem
绑定 。~
See
section
引自cleveref
文档给了我们一些该包自动使用的提示 ~
:
第 13 页: …
\crefrange{thm1}{thm2}
排版为theorems~\ref{thm1}\crefrangeconjunction\ref{thm2}