![Hyperref:使用像 Eq. 这样的缩写标签,但在句号后保持正确的间距](https://linux22.com/image/397819/Hyperref%EF%BC%9A%E4%BD%BF%E7%94%A8%E5%83%8F%20Eq.%20%E8%BF%99%E6%A0%B7%E7%9A%84%E7%BC%A9%E5%86%99%E6%A0%87%E7%AD%BE%EF%BC%8C%E4%BD%86%E5%9C%A8%E5%8F%A5%E5%8F%B7%E5%90%8E%E4%BF%9D%E6%8C%81%E6%AD%A3%E7%A1%AE%E7%9A%84%E9%97%B4%E8%B7%9D.png)
以下代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{hyperref}
\renewcommand{\equationautorefname}{Eq.}
\renewcommand{\figureautorefname}{Fig.}
\begin{document}
\begin{equation}\label{eq1}
x = 3.
\end{equation}
My reference to \autoref{eq1}.
\end{document}
产生类似“参见公式 1”的输出,其中间距将是句末间距。通常我会输入类似以下内容Eq.\ 1
来防止这种情况。如何实现这一点?
答案1
该空格显然是普通空格(不间断),而不是句末空格。如果您想要一个较小的空格,您可以定义名称以接受一个参数,以便它“吃掉”这个空格,并将其替换为例如 \,:
\documentclass{article}
\usepackage{amsmath}
\usepackage{hyperref}
\renewcommand{\equationautorefname}{Eq.}
\renewcommand{\figureautorefname}{Fig.}
\begin{document}
\begin{equation}\label{eq1}
x = 3.
\end{equation}
My reference to \autoref{eq1}. %normal, non-breaking
\noindent My reference to Eq.\ 1. %normal
\noindent My reference to Eq. 1. %end of sentence
\renewcommand{\equationautorefname}[1]{Eq.\,}
\noindent My reference to \autoref{eq1}. %small
\end{document}