4

the problem I have is the "?" that shows instead of appropriate quotation marks (signs) when citing/quoting text in foregin language. I have searched manuals for the packages such as polyglossia or csquotes.

Unfortunately I haven't found a command that would allow me to declare quotation marks (signs) for the languages I am intending to use in my doc.

In the plain text I could of course use the ,, or '' to mimic the behavior of enquote but the bibliographic entries ale also affected by this unpleasant phenomena :(

% !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}

enter image description here

7

The problem is that csquotes does not know Polish and Latin as you can see in the log file.

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

So you will have to tell csquotes what kind of quotation marks you would like to see in a Polish text.

You might issue

\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}

in the preamble.

In general, you have to have a \DeclareQuoteStyle for each language csquotes does not know. The list of supported languages is in csquotes.def (you can find that file with kpsewhich csquotes.def). You can find other definitions for comparison there.

The syntax for the command is as follows (see csquotes documentation, esp. §8.1 Defining Quote Styles).

\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}

If you know how to set up your language's quotation marks with csquotes and your language is not currently supported by that package, you may want to consider suggesting the maintainer to include it https://github.com/josephwright/csquotes/issues

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.