当我写的时候``something''
,我希望输出是整个文档中的以下内容之一,只需在序言中更改一个设置:
- “某物”
- “ 某物 ”
- “某物”
«
»
一种解决方案是在普通文本中随处使用,并使用sed输出不同的版本。但我想知道是否有莱克斯或者乳胶智能解决方案。
我看过包裹了引用,但我不知道我是否可以用它做到这一点。
答案1
这对你有帮助吗?
% arara: pdflatex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[english, ngerman, french]{babel}
\usepackage[autostyle]{csquotes}
\MakeAutoQuote{<}{>}
\begin{document}
\selectlanguage{english}
\noindent<Outer and <inner quote>>\\
\selectlanguage{ngerman}
<Outer and <inner quote>>\\
\selectlanguage{french}
<Outer and <inner quote>>\\
\end{document}
就您而言,您只需在 中加载一种语言babel
,在任何地方使用<
和>
语法,然后在csquotes
-options 中选择您的引号处理。引号将遵循每种语言,但您仍然可以为每种语言手动定义不同的引号样式。在您的终端中输入texdoc csquotes
,以获取有关此内容的更多信息。第 2 页包含您需要的所有内容。
如果您想用一种或多种语言设置文档,然后更改版本,则可以使用样式和语言变体选项。假设我们为瑞士杂志设置了上面的多语言文本。它看起来会像这样:
% arara: pdflatex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[english, ngerman, french]{babel}
\usepackage[%
,autostyle=false
,style = german
,german = swiss
]{csquotes}
\MakeAutoQuote{<}{>}
\begin{document}
\selectlanguage{english}
\noindent<Outer and <inner quote>>\\
\selectlanguage{ngerman}
<Outer and <inner quote>>\\
\selectlanguage{french}
<Outer and <inner quote>>\\
\end{document}