禁用 babel 的简写

禁用 babel 的简写

我想在自己的 sty 文件中禁用 babel 的简写。

但由于我只能在文档环境中使用\shorthands{off},所以我对此很纠结。

有没有办法在序言中禁用 babel 的简写?

答案1

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\let\LanguageShortHands\languageshorthands
\def\languageshorthands#1{}
\begin{document}

"`foo"'

\LanguageShortHands{ngerman}
"`foo"'
\end{document}

答案2

Babel 3.9 现在提供了一个包选项来立即停用简写:

\usepackage[shorthands=off,ngerman]{babel}

其功能仍可通过 获得\babelshorthand

答案3

有一个测试版软件包babeltools,在之前加载babel,计划允许这样做,同时选择性地启用一些简写。

答案4

是的,只需像这样使用PassOptionsToPackage即可:documentclass

\PassOptionsToPackage{shorthands=off}{babel}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\begin{document}

"`foo"'

\LanguageShortHands{ngerman}
"`foo"'
\end{document}

相关内容