答案1
当然可以。但你需要先从保留字符列表中删除引号。
但是如果你取消注释,l'enfer
你就会明白为什么 csquotes 将字符放入列表中(并因此阻止你将其用作\MakeInnerQuote
字符)。
我建议你避免这样的伎俩。当你没有预料到的时候,它们会咬你一口。使用\enquote
虽然需要多一点打字工作,但更安全。与其尝试调整 LaTeX,不如花点时间设置编辑器,让它\enquote
用快捷键插入。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[autostyle]{csquotes}
\MakeOuterQuote{"}
\MakeAutoQuote{«}{»}
\makeatletter
%Remove \do\' from the list of reserved chars
\def\csq@resrvdchars{%
\do\[\do\]\do\*\do\@\do\~\do\-\do\`\do\.\do\,\do\;\do\:%
\do\!\do\?\do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9}
\makeatother
\MakeInnerQuote{'}
\begin{document}
"quote" 'quote' %l'enfer
\enquote{quote}
\enquote*{quote}
«quote «inner quote» quote»
\end{document}