使用多语言的 LuaLaTeX 中的德语引号

使用多语言的 LuaLaTeX 中的德语引号

有人可以发布一个完整的最小输入文件供 LuaLaTeX 输出吗

“你好”

也可以四处走走,Hallo''

在 LaTeX 中我会写

``Hallo´´


%% Minimal Inputfile for LuaLaTeX
\documentclass[a4paper]{scrartcl}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new, babelshorthands=true]{german}
\usepackage{fontspec}
\usepackage{csquotes}

\begin{document}

\enquote{Hallo--mit enquote--this is working}

But: how to produce the euivalent Text, based on babelshorthands?

“`Hallo”’  --- is not working

\end{document}

答案1

对于 babel 风格的快捷方式,不要使用“智能”引号:使用“愚蠢”的双引号才是正确的方法。

在此处输入图片描述

\documentclass[a4paper]{scrartcl}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new, babelshorthands=true]{german}
\usepackage{csquotes}

\begin{document}
\enquote{Hallo} --- with \texttt{\string\enquote}, this works

"`Hallo"'  --- with \verb+"`+ and \verb+"'+, this works too
\end{document}

答案2

通过功能文件进行从``Hello''到 的转换。„Hello“

缺点:

  • 复制粘贴将捕获第一个形式。
  • 仅限 LuaTeX。

示例文件:

\documentclass{article}

\usepackage{fontspec}
\usepackage{filecontents}

\begin{filecontents*}{germanquotes.fea}
# germanquotes.fea
languagesystem DFLT dflt ;
languagesystem latn dflt ;

feature liga {
  sub \grave \grave by \quotedblbase;
  sub \quotesingle \quotesingle by \quotedblleft;
} liga;
\end{filecontents*}

\setmainfont[
  Ligatures=TeX,
  FeatureFile={germanquotes.fea},
]{Latin Modern Roman}

\begin{document}
  ``Hello'' -- fi fl

  \textit{``Hello'' -- fi fl}

  \textbf{``Hello'' -- fi fl}
\end{document}

结果

免责声明:我第一次对功能文件进行实验。

相关内容