我希望得到前后没有多余空格的点;babel
我想要的是法语的渲染。我需要有分隔空格。
\documentclass{article}
%\usepackage[french]{babel} % TO SEE THE EXPECTED SPACES.
\NewDocumentCommand{\tdocenv}{O{}m}{%
\texttt{\textbackslash{}begin\{#2\}#1 %
\!...\! %
\textbackslash{}end\{#2\}}%
}
\begin{document}
\tdocenv{TEST}
\end{document}
答案1
您只是想\@
避免句末空格,但这不会发生在babel-french
on 中,因为它\frenchspacing
在开头就出现了。
\documentclass{article}
%\usepackage[french]{babel} % TO SEE THE EXPECTED SPACES.
\NewDocumentCommand{\tdocenv}{O{}m}{%
\texttt{\string\begin\string{#2\string}#1 %
\!...\@\! %
\string\end\string{#2\string}}%
}
\begin{document}
\tdocenv{TEST}
\end{document}
我还展示了如何获取真正的打字机字体反斜杠和括号。
\frenchspacing
添加是有意义的\ttfamily
,因此当您使用 时,问题在每种情况下都会消失\texttt
。
\documentclass{article}
%\usepackage[french]{babel} % TO SEE THE EXPECTED SPACES.
\AddToHook{cmd/ttfamily/before}{\frenchspacing}
\NewDocumentCommand{\tdocenv}{O{}m}{%
\texttt{\string\begin\string{#2\string}#1 %
\!...\! %
\string\end\string{#2\string}}%
}
\begin{document}
\tdocenv{TEST}
\end{document}
答案2
你可以使用包裹ellipsis
:
\documentclass{article}
\usepackage{ellipsis}
\NewDocumentCommand{\tdocenv}{O{}m}{%
\texttt{\string\begin\string{#2\string}#1%
\;\textellipsis\;%
\string\end\string{#2\string}}%
}
\begin{document}
\tdocenv{TEST}
\end{document}