我想在自己的 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}