改变字体族和字体形状的命令与前后文之间需要插入空格吗?

发布于 2021-10-17 15:01:44

编译环境

  • Windows 10
  • TeX Live 2019

我的问题

\documentclass[UTF8]{ctexart}
\usepackage{hyperref}

\begin{document}
% 等宽
啊啊啊\texttt{https}

啊啊啊\url{https}

啊啊啊 \texttt{https}

啊啊啊 \url{https}

\texttt{https}啊啊啊

\texttt{https} 啊啊啊

% sf
啊啊啊\textsf{https}

啊啊啊 \textsf{https}

\textsf{https}啊啊啊

\textsf{https} 啊啊啊

% bf
啊啊啊\textbf{https}

啊啊啊 \textbf{https}

\textbf{https}啊啊啊

\textbf{https} 啊啊啊

\end{document}

XeLaTeX编译结果如下:
image.png

可以看到

  • 这四种命令(\texttt\url\textsf\textbf后面写不写空格貌似无影响
  • \texttt\textbf前面若无空格,反而与前文间距较大
  • \textsf前面有无空格却貌似都一样
  • \url前面有空格时与前文的间距貌似与\texttt前有空格的情况差不多

所以说写代码时

  • 改变字体族或字体形状的带参数的命令(\texttt{}\textbf{}之类的)后面加不加空格效果都一样?而这些命令之前到底应不应该加空格呢?(我个人理解是不该加,好像不加空格才能保证汉字与英文的正确间距;\texttt\textbf\textsf的情况不一样,这是有出于什么考量吗?)
  • \url{}命令之前应不应该加空格呢?(假如\texttt前不加空格才是对的,那\url{}前加了空格也没法达到这种间距,这咋整?)

可能表述有点啰嗦,谢谢解答!

查看更多

关注者
0
被浏览
1.2k
2 个回答
啸行
啸行 2021-10-17
这家伙很懒,什么也没写!

其实我习惯于在所有的汉字、英文之间加上空格,不过这只是一种习惯,不知道现在 xeCJK 到底怎么规定的汉字、英文之间的间隙

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览