答案1
答案2
里面l3doc.cls
有两行硬编码
\AtBeginDocument
{
\MakeShortVerb \"
\MakeShortVerb \|
}
这样,2 个字符"
和|
将被转换为短动词字符。(注:的文档\MakeShortVerb
可以在中找到texdoc doc
。使用的fancyvrb
包l3doc
具有类似的命令,\DefineShortVerb
)
"
任何在序言中重新定义的尝试都将被覆盖,并且csquotes
不支持在文档本身中定义它们。
我可以找到一种方法来覆盖该行为,但它相当丑陋:
\RemoveFromHook{begindocument}[l3doc]
\MakeOuterQuote{"}
附注:\RemoveFromHook
在较新的 LaTeX 版本中可用。在较旧的版本中,您可能需要手动操作\@begindocumenthook
...?
至少在当前版本中,它不会产生任何意外的后果,可以通过执行以下命令来显示
\ShowHook{begindocument}
这表明上面的 2 个命令是唯一被 删除的命令\RemoveFromHook
。
(这意味着在未来的某些版本中,l3doc 可能会执行其他操作,\AtBeginDocument
并且上述代码将会中断。请小心使用。)
(尽管您可能希望\MakeShortVerb \|
事后手动执行此操作。)