替换引号(或者:使用 < 和 >> 作为 csquote 类似自动引号)

替换引号(或者:使用 < 和 >> 作为 csquote 类似自动引号)

我在许多文档中使用法语引号(<<>>)。我是否可以在样式文件中定义将所有法语引号替换为英语引号?

此外,无论我输入<<hello>>或,我都希望有英文引号"hello"。这可能吗?

编辑:我读了关于这个包裹的信息csquotes,但没能更换我的法国马克,因为似乎只有单身的允许使用字符。

\documentclass[a4paper]{article}
\usepackage{polyglossia}
\setdefaultlanguage[]{english}

\setsansfont[Ligatures=TeX,Mapping=tex-text]{Open Sans}
\setmainfont[Ligatures=TeX,Mapping=tex-text]{Open Sans}
\setmonofont[]{Consolas}

\usepackage[autostyle=true,english=british]{csquotes}
\MakeOuterQuote{"}
\MakeAutoQuote{<}{>}

\begin{document}


"An example using normal quotes"

< Example >

<<Second Example using french quotes>>

``Should look like this''

\end{document}

enter image description here

如果我将<>设为自动引号分隔符,则原始引号将被视为嵌套引号。有什么建议可以解决这个问题吗?

答案1

使用\MakeOuterQuote(和\MakeInnerQuote)你可以定义一个单身的字符,例如"用于打开和关闭引号的字符。\MakeAutoQuote您必须定义两个不同的字符,例如><用于打开和关闭引号的字符。在后一种情况下,csquotes可以找到引号级别本身。

下面是一个如何使用的示例\MakeAutoQuote。默认情况下,输出引号取决于语言设置,但可以通过选项进行更改。

\documentclass[english]{article}

\usepackage{babel}

\usepackage{csquotes}
    \MakeOuterQuote{"}
    \MakeAutoQuote{>}{<}

\begin{document}
>Test automatic outer and >inner< quotes<

"Test manual outer quotes"
\end{document}

result

无法使用>><<作为分隔符,因为它必须是单个字符。因此,您可以使用编辑器的搜索和替换功能来更改此设置……

相关内容