Используя 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}
Например, в Википедии на странице цитирования на французском языке указано «используйте только «»»: Voici « une citation en français », mais «вот цитата на английском».
Обновление 1:
Пример, приведенный egreg, в настоящее время работает только для одного уровня вложенности цитаты, и часто вы можете иметь некоторую цитату, подобную этой:
\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}
.
Затем вы удаляете по крайней мере autostyle=true
опцию при загрузке пакета csquotes. Таким образом, он вернется к значению по умолчанию autostyle=tryonce
, то есть будет использовать кавычки основного языка (в вашем случае французского), даже если вы переключитесь на другой язык где-то в документе.
Я бы также рекомендовал вам оставить « french=guillemets
заднюю часть», во-первых, потому что вы явно неправильно истолковываетестраница Википедии, на которую вы ссылаетесьи затем, поскольку, как только вы входите в иностранный язык, выдолжениспользуйте типографские соглашения этого языка (вы ведь не поставите неразрывный пробел перед вопросительным знаком в цитате на английском языке, не так ли?), поэтомувцитата на английском языке, вы должны использовать английские кавычки. Поэтому использование пакета default ( french=quotes
) будет правильным как для внутренних кавычек на французском, так и на английском языке.