对于嵌套引号的情况,法语印刷术中有以下规则:如果两个或多个右引号彼此相连,则我们只会写一个右引号。
因此:
«啦啦«啦啦啦«啦啦»»»
会变成
«啦啦«啦啦啦«啦啦»
但
«啦啦«布拉«啦啦»布拉»布拉»
停留
«啦啦«布拉«啦啦»布拉»布拉»
你如何在 LaTeX 中做到这一点?
这就是我遇到的困难:我无法实现“引号必须互相跟随”的条件。
\documentclass{article}
\usepackage[french]{babel}
\usepackage{ifthen}
\makeatletter
\newcounter{nesting@depth}
\providecommand{\guillemets}[1]{%
\addtocounter{nesting@depth}{1}%
\og%
#1%
\ifthenelse%
{\value{nesting@depth}>1}%
{}%
{\fg{}}%
\addtocounter{nesting@depth}{-1}%
}
\makeatother
\begin{document}
\guillemets{Bla bla \guillemets{ bla bla bla \guillemets{bla bla}}}
\end{document}
答案1
使用csquotes
包:
\documentclass{article}
\usepackage[french]{babel}
\usepackage[autostyle,maxlevel=3,french=guillemets]{csquotes}
\begin{document}
\enquote{Bla bla \enquote{bla bla bla \enquote{bla bla}}}
\end{document}