引号(引号符号) xelatex + polyglossia + csquotes

引号(引号符号) xelatex + polyglossia + csquotes

我的问题是““在引用/引述外语文本时,显示而不是适当的引号(符号)。我已经在手册中搜索了诸如polyglossia或之类的软件包csquotes

不幸的是,我还没有找到允许我为我打算在文档中使用的语言声明引号(符号)的命令。

在纯文本中,我当然可以使用,,''来模仿的行为,enquote但书目条目也会受到这种不愉快的现象的影响:(

% !TEX TS-program = arara
% !TEX encoding = UTF-8 Unicode

% arara: xelatex: { shell: true }
% arara: biber
% arara: xelatex: { shell: true }

\documentclass[12pt]{article}

\usepackage[no-math]{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\newfontfamily\greekfont[Script=Greek,Scale=MatchUppercase]{Linux Libertine O}
\newfontfamily\cyrillicfont[Script=Cyrillic,Scale=MatchUppercase]{Linux Libertine O}

\usepackage{polyglossia}
\setdefaultlanguage{polish}
\setotherlanguages{english,latin,greek,russian,german}

\usepackage[strict=false,autostyle=true,english=american,german=guillemets]{csquotes}

\PassOptionsToPackage{%
        natbib=true,
        style=authoryear-comp,
        hyperref=true,
        backend=biber,
        maxbibnames=99,
        firstinits=true,
        uniquename=init,
        maxcitenames=1,
        citetracker=true,
        parentracker=true,
        backref=true,
        backrefstyle=two,
            }   {biblatex}
\usepackage{biblatex}

\usepackage{filecontents}
\begin{filecontents}{bibliography.bib}
@article{Author2014,
    author      = {Joe, Smith},
    title       = {Publication title in polish language},
    journal     = {Journal of Journals},
    pages       = {1},
    year        = {2014},
    month       = {March}
    }
\end{filecontents}

\addbibresource{bibliography.bib}

\begin{document}

    \noindent{}{\enquote{\languagename{} \today}}\\
    \textenglish{\enquote{\languagename{} \today}}\\
    \textgerman{\enquote{\languagename{} \today}}\\
    \textlatin{\enquote{\languagename{} \today}}\\
    \textgreek[variant=ancient]{\enquote{\languagename{} \today}}\\
    \textrussian{\enquote{\languagename{} \today}}\\
    \textpolish{\enquote{\languagename{} \today}}\\
    \cite{Author2014}

    \printbibliography

\end{document}

在此处输入图片描述

答案1

问题是,csquotes正如您在日志文件中看到的那样,它不懂波兰语和拉丁语。

Package csquotes Warning: No style for language 'polish'.

所以你必须告诉csquotes你希望在波兰语文本中看到什么样的引号。

你可能会发出

\DeclareQuoteStyle{polish}% I looked it up on Wikipedia, no idea if it's right
  {\quotedblbase}
  {\textquotedblright}
  [0.05em]
  {\textquoteleft}
  {\textquoteright}

\DeclareQuoteStyle{latin}% this is just a copy of the German definition
  {\quotedblbase}
  {\textquotedblleft}
  [0.05em]
  {\quotesinglbase}
  {\fixligatures\textquoteleft}

在序言中。

一般来说,\DeclareQuoteStyle对于每种您csquotes不知道的语言,您都必须有一个。受支持的语言列表位于csquotes.def(您可以使用 找到该文件kpsewhich csquotes.def)。您可以在那里找到其他定义以供比较。

该命令的语法如下(请参阅csquotes文档,特别是第 8.1 条定义引文样式)。

\DeclareQuoteStyle[variant]{styl}[outer init][inner init]%
  {opening outer mark}
  [middle outer mark]
  {closing outer mark}
  [kern]
  {opening inner mark}
  [middle inner mark]
  {closing inner mark}

如果你知道如何设置语言的引号,csquotes并且该包目前不支持你的语言,你可能需要考虑建议维护者将其包括在内https://github.com/josephwright/csquotes/issues

在此处输入图片描述

相关内容