提问于:
浏览数:
2762
## 编译环境
操作系统
* [x] Windows 10
* [ ] macOS
* [ ] Linux
Tex发行版
* [x] TexLive `2020`
* [ ] MikTeX `版本号`
* [ ] CTeX
## 我的问题
正常情况下,正文或命令中数字和汉字之间会有一定间隔,但是某些命令中,当数字在命令结尾而正文紧接着是汉字的时候,就需要手动加间隔了,有没有什么办法修改它让它自动加间隔?
例如,下面的图片中,使用了 `\autoref` 就必须手动加间隔,但是如果我在命令中就加上间隔的话,一旦命令和文字之间有个空格的话,又会导致间隔太大
![](https://wenda.latexstudio.net/data/attach/200921/GQZppWjS.png)
而自定义的命令 `\numbber` 则总是会自动处理间距,如何能重新定义 `\autoref` 让它也能自动处理间距呢?
```latex
\documentclass{ctexart}
\setlength{\abovecaptionskip}{0.2cm}
\setlength{\belowcaptionskip}{0.2cm}
\usepackage{hyperref}
\renewcommand\figureautorefname{图}%
\renewcommand\tableautorefname{表}%
\let\oldautoref\autoref
\renewcommand{\autoref}[1]{\oldautoref{#1} }
\newcommand{\numbber}[1]{数字#1}
\begin{document}
参见\oldautoref{表格一}所示的内容。
参见\oldautoref{表格一} 所示的内容。
参见\autoref{表格一}所示的内容。
参见\autoref{表格一} 所示的内容。
\begin{table}[ht]
\centering
\caption{表格一}
\label{表格一}
\begin{tabular}{cc}
\hline 一 & 二 \\\hline 三 & 四 \\\hline
\end{tabular}
\end{table}
\numbber{1}汉字
\numbber{2} 汉字
\end{document}
```