外国語で csquotes を使用したイタリック体

外国語で csquotes を使用したイタリック体

csquotesパッケージを使用してpolyglossia、フランス語で斜体のみに変換したいです\foreignquote{english}{my text is write in english italics with « » typography}

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

たとえば、Wikipediaのフランス語の引用ページでは、「«»のみを使用してください」と書かれています。Voici « une citation en français », mais «英語の引用文はこちら»。

アップデート1:

egreg が示す例は、現時点ではネストされた引用の 1 レベルのみに有効であり、次のような引用がよく使用されます。

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

次のようなものを入力します: « 私のテキストは英語のイタリック体で書かれており、タイポグラフィは「」で、引用のネストレベルは次のようになっています »

答え1

\emがスイッチであるという事実を利用できます。

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

ここに画像の説明を入力してください

答え2

これはどうでしょう? という名前の新しい (cs-)quote スタイルfquotesと、 という名前の対応するコマンドを作成します\myfquote。 (ただし、csquote コマンドをすぐに定義できるかどうかはわかりません。)

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

出力

答え3

私は最近、まったく同じ問題に遭遇しましたが、ロードされたパッケージの機能のみを使用する、よりシンプルで(私が思うに)クリーンな解決策を見つけました。

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

基本的には、\setotherlanguage{english}この言語の新しいフォント ファミリを宣言して作成し、斜体フォントを選択します\newfontfamily{\englishfont}{Linux Libertine O Italic}

次に、 csquotes パッケージを読み込むときに、少なくともautostyle=trueオプションを削除します。 こうすることで、 default にフォールバックしautostyle=tryonce、ドキュメント内のどこかで別の言語に切り替えた場合でも、メイン言語の引用符 (この場合はフランス語) が使用されるようになります。

french=guillemets私はまた、あなたが明らかに誤解しているので、まずは後ろを離れることをお勧めしますあなたが参照しているWikipediaのページそして外国語を入力するとしなければならないこの言語の表記規則に従ってください(英語では引用符の疑問符の前に改行なしのスペースを入れないですよね?)英語で引用符を使用する場合は、英語の引用符を使用する必要があります。したがって、パッケージのデフォルト ( french=quotes) を使用すると、フランス語と英語の両方の内部引用符が適切になります。

関連情報