Itálico usando csquotes com idioma estrangeiro

Itálico usando csquotes com idioma estrangeiro

Usando o csquotespacote e polyglossiacom o francês, quero transformar apenas \foreignquote{english}{my text is write in english italics with « » typography}em itálico.

\documentclass[a4paper, 12pt,twoside, openright]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{fontspec}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[autostyle=true,french=guillemets,maxlevel=3]{csquotes}
\usepackage{xparse}
\usepackage{graphicx}
\usepackage[protrusion=true]{microtype}
\sidecapmargin{outer}
\setsidecappos{t}

\usepackage[backend=biber,backref=true, natbib=true, isbn=false, doi=false, url=false, style=authoryear,maxcitenames=1, maxbibnames=999, sorting=nyt, refsection=chapter, hyperref]{biblatex}

\addbibresource[datatype=bibtex]{library.bib}

\begin{document}

\chapterstyle{bringhurst}

\foreignquote{english}{my text is write in english italics with « » typography}

\printbibliography

\end{document}

Por exemplo, na Wikipedia, a página de citação em francês diz " use apenas «» ": Voici « une citation en français », mais «aqui está uma citação em inglês».

Atualização 1:

Exemplo dado por egreg funciona apenas para um nível de citação aninhada neste momento, e muitas vezes você pode ter alguma citação como esta:

\foreignquote{english}{my text is write in english italics with « » typography, and a \foreignquote{english}{ nested level of citation like this }  }

Dê algo assim: « meu texto está escrito em itálico inglês com « » tipografia e um "nível de citação aninhado" como este »

Responder1

Podemos explorar o fato de que \emé uma mudança:

\documentclass[a4paper, 12pt,twoside, openright]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\setotherlanguage{english}
\usepackage{fontspec}
\usepackage[autostyle=true,french=guillemets,maxlevel=3]{csquotes}

\DeclareQuoteStyle{english}
  {\mkfrenchopenquote{\guillemotleft}\em}
  {\em\mkfrenchclosequote{\guillemotright}}
  {\textquotedblleft\em}
  {\em\textquotedblright}


\begin{document}

Des mots français \foreignquote{english}{with an English quote} suivi
par mots français.

\end{document}

insira a descrição da imagem aqui

Responder2

Que tal agora? Ele cria um novo estilo de cotação (cs-) denominado fquotese um comando correspondente denominado \myfquote. (No entanto, não sei se é possível definir o comando csquote imediatamente.)

\documentclass{article}
\usepackage{csquotes}

\DeclareQuoteStyle{fquotes}
  {\em}{}{\em}{}

\newcommand*{\myfquote}[1]{%
  \begingroup%
    \setquotestyle{fquotes}%
    \enquote{#1}%
  \endgroup%
}

\begin{document}
  bla bla bla \enquote{testing \myfquote{foreign quote}} bla bla bla 
\end{document}

saída

Responder3

Recentemente me deparei com o mesmo problema, mas encontrei uma solução mais simples e (eu acho) mais limpa, pois usa apenas os recursos dos pacotes carregados.

\documentclass[a4paper, 12pt,twoside, openright]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\setotherlanguage{english}
\newfontfamily{\englishfont}{Linux Libertine O Italic}
\usepackage{fontspec}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[autopunct,french=guillemets]{csquotes}
%\usepackage[autostyle=true,french=guillemets,maxlevel=3]{csquotes}
\usepackage{xparse}
\usepackage{graphicx}
\usepackage[protrusion=true]{microtype}
\sidecapmargin{outer}
\setsidecappos{t}

\usepackage[backend=biber,backref=true, natbib=true, isbn=false, doi=false, url=false, style=authoryear,maxcitenames=1, maxbibnames=999, sorting=nyt, refsection=chapter, hyperref]{biblatex}

\addbibresource[datatype=bibtex]{library.bib}

\begin{document}

\chapterstyle{bringhurst}

Essai de texte en français \foreignquote{english}{my text is write in english italics with « » typography \textquote[][]{still quoted in english}}.

\printbibliography

\end{document}

Basicamente, você declara \setotherlanguage{english}e depois cria uma nova família de fontes para este idioma, escolhendo uma fonte em itálico : \newfontfamily{\englishfont}{Linux Libertine O Italic}.

Então, você remove pelo menos a autostyle=trueopção ao carregar o pacote csquotes. Dessa forma, ele voltará ao default autostyle=tryonce, o que significa que usará as aspas do idioma principal (no seu caso, o francês), mesmo se você mudar para outro idioma em algum lugar do documento.

Eu também recomendaria que você deixasse isso para french=guillemetstrás, primeiro porque você claramente interpreta mala página da Wikipedia à qual você está se referindoe então porque uma vez que você insere uma língua estrangeira vocêdeveuse as convenções tipográficas deste idioma (você não colocaria um espaço inseparável antes de um ponto de interrogação em uma citação em inglês, colocaria?), entãoemuma citação em inglês, você deve usar aspas em inglês. Portanto, usar o pacote default ( french=quotes) será correto tanto para aspas internas em francês quanto em inglês.

informação relacionada