我想在我的文档 (babel) 中使用多种语言,并且 和 都ngerman
应该british
启用简写 ("` 和"'
)。英国语言环境应该将 "` 变成 “ 并将 "' 变成 ”。主要语言应该保持为德语。
\documentclass{article}
\usepackage[british,ngerman]{babel}
\usepackage[utf8]{inputenc}
% \defineshorthand[british]{"`}{\glqq}
% \defineshorthand[british]{"'}{\grqq}
\addto\extrasbritish{\languageshorthands{ngerman}}
\begin{document}
"`Guten Tag"'
\begin{otherlanguage*}{british}
"`Hello tag"'
\end{otherlanguage*}
\end{document}
输出:
预期输出:
我感觉自己完全愚蠢了,这似乎是一个初学者的问题。
答案1
文档远非清晰,但我认为除了重新定义简写以根据当前语言执行特定任务之外,没有什么可以做的:
\documentclass{article}
\usepackage[british,ngerman]{babel}
\usepackage[utf8]{inputenc}
\addto\extrasbritish{%
\languageshorthands{ngerman}%
\useshorthands*{"}%
}
\defineshorthand{"`}{\iflanguage{ngerman}{\glqq}{\lq\lq}}
\defineshorthand{"'}{\iflanguage{ngerman}{\grqq}{\rq\rq}}
\begin{document}
"`Guten Tag"'
\begin{otherlanguage*}{british}
"`Hello tag"'
\end{otherlanguage*}
\end{document}
问题在于你正在从 导入简写ngerman
;例如这会起作用:
\documentclass{article}
\usepackage[british,ngerman]{babel}
\usepackage[utf8]{inputenc}
\useshorthands*{"}
\addto\extrasbritish{%
\languageshorthands{british}%
}
\defineshorthand[british]{"`}{\lq\lq}
\defineshorthand[british]{"'}{\rq\rq}
\begin{document}
"`Guten Tag"'
\begin{otherlanguage*}{british}
"`Hello tag"'
\end{otherlanguage*}
\end{document}
当然,其他德语速记方式将会丢失。