我正在用法语写我的论文。在文档中,我使用了规范名称ISO27001:2005
,按照 Babel 惯例,ISO27001 :2005
在分号前会加一个空格。
这种行为在所有文档中都是预期的,但当我写下这个名字时却不是。
告诉引擎忽略默认格式规则并写入:而不留额外空格的最佳方法是什么?
答案1
\documentclass{article}
\usepackage[french]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\newcommand\ISO{ISO27001:2005}
\begin{document}
ISO27001:2005
ISO27001\string:2005
{\NoAutoSpacing ISO27001:2005} %needs frenchb.ldf version 2.5f
{\shorthandoff{:}ISO27001:2005}
\ISO
\end{document}
答案2
\shorthandoff{:}
您可以在代码之前和\shorthandon{:}
之后使用
答案3
用户指南提供了以下建议,用于在、、和之前babel
局部抑制插入的额外空格(当frenchb
设置了选项时) :在相应字符之前立即插入指令。:
;
!
?
\string
以下 MWE 展示了其工作原理:
\documentclass{article}
\usepackage[frenchb]{babel}
\begin{document}
ISO27001:2005
ISO27001\string:2005
\end{document}