我使用biblatex
和样式authoryear
。我使用命令\textcite
进行文内引用。目前\textcite
输出的内容如下:
但我想将其用斜体(包括括号)表示,如下所示:
我知道这个类似的帖子如何将文内引用设置为斜体?但是它关注的是\cite
和\parencite
,而不是\textcite
。
我的 MWE:
\documentclass{article}
\usepackage[french]{babel}
\usepackage[
backend=biber,
natbib=true,
bibencoding=utf8,
style=authoryear,
sorting=nyt,
maxcitenames=2,
giveninits=true,
uniquename=init]{biblatex}
% Because of the use of the french option of babel with biblatex, all names are in uppercase. This revert to lowercase except the first letter of the names.
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}
\addbibresource{biblatex-examples.bib}
\begin{document}
\textcite{cicero}
\printbibliography[
title={Bibliographie},
]
\end{document}
答案1
您可以使用与链接的问答中相同的方法。\textcite
从您的样式中复制定义(在本例中authoryear.cbx
,第 126-137 行,v3.18b 版) 并将 添加\mkbibemph
到包装器代码中。
\documentclass{article}
\usepackage[french]{babel}
\usepackage[
backend=biber,
style=authoryear,
maxcitenames=2,
giveninits=true,
uniquename=init,
]{biblatex}
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}
\DeclareCiteCommand{\textcite}[\mkbibemph]
{\boolfalse{cbx:parens}}
{\usebibmacro{citeindex}%
\iffirstcitekey
{\setcounter{textcitetotal}{1}}
{\stepcounter{textcitetotal}%
\textcitedelim}%
\usebibmacro{textcite}}
{\ifbool{cbx:parens}
{\bibcloseparen\global\boolfalse{cbx:parens}}
{}}
{\usebibmacro{textcite:postnote}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\textcite{cicero}
\printbibliography[
title={Bibliographie},
]
\end{document}
请注意, 的定义\textcite
取决于样式。\textcite
在更复杂的样式中, 的实现要复杂得多。 一般方法仍然有效,但可能需要稍作调整。