如何使用 biblatex 将引用中的作者姓名设为斜体?

如何使用 biblatex 将引用中的作者姓名设为斜体?

我正在使用这个代码:

% arara: pdflatex: { shell: yes }
% arara: biber
% arara: pdflatex: { shell: yes }
% arara: pdflatex: { shell: yes }
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{jobname.bib}
@book{ALEXANDER1977apl,
    Address = {USA},
    Author = {Alexander, Christopher and Ishikawa, Sara and Silverstein, Murray},
    Date-Added = {2010-02-24 11:14:54 +1100},
    Date-Modified = {2010-06-01 12:10:48 +1000},
    Publisher = {{Oxford University Press}},
    Title = {{A Pattern Language: Towns, Buildings, Construction}},
    Year = {1977}}
\end{filecontents}
\usepackage[indexing=cite,style=authoryear,citestyle=authoryear,sorting=none,maxnames=1]{biblatex}
\makeatletter
\AtEveryCite{%
  %\let\parentext=\parentexttrack%
  \let\bibopenparen=\bibopenbracket%
  \let\bibcloseparen=\bibclosebracket}
\makeatother
\addbibresource{jobname.bib}
\begin{document}
\textcite[pp 45]{ALEXANDER1977apl}
\end{document}

我想知道如何改变我的引文的外观以便作者姓名变为斜体?

亚历山大等[1977 年,第 45 页]

答案1

您可以更改格式全部引用文献中出现的姓氏

\renewcommand{\mkbibnamelast}[1]{\mkbibemph{#1}}

...然后重置之前的格式\printbibliography,以便名称以直立字体显示在参考书目中。您的 MWE 将变为:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{jobname.bib}
@book{ALEXANDER1977apl,
    Address = {USA},
    Author = {Alexander, Christopher and Ishikawa, Sara and Silverstein, Murray},
    Date-Added = {2010-02-24 11:14:54 +1100},
    Date-Modified = {2010-06-01 12:10:48 +1000},
    Publisher = {{Oxford University Press}},
    Title = {{A Pattern Language: Towns, Buildings, Construction}},
    Year = {1977}}
\end{filecontents}
\usepackage[backend=bibtex,indexing=cite,style=authoryear,citestyle=authoryear,sorting=none,maxnames=1]{biblatex}
\makeatletter
\AtEveryCite{%
  \let\bibopenparen=\bibopenbracket%
  \let\bibcloseparen=\bibclosebracket}
\makeatother
\addbibresource{jobname.bib}

% Renew formatting of the last name to add emphasis
\renewcommand{\mkbibnamelast}[1]{\mkbibemph{#1}}
% Revert formatting of the last name for bibliography
\AtBeginBibliography{\renewcommand{\mkbibnamelast}[1]{#1}}

\begin{document}


\noindent Text citation: \textcite[pp 45]{ALEXANDER1977apl}

\printbibliography

\end{document}

最终结果: 引文和参考书目

答案2

对我来说,\AtBeginBibliography{\renewcommand{\mkbibnamelast}[1]{#1}}之前的命令和更新命令都不起作用\printbibliography,最后我在参考书目中也得到了斜体姓氏。有帮助的是在两个(s)中替换\mkbibnamelast为。我正在使用。\mkbibnamefamily\renewcommandbiblatex

不幸的是,目前还不能发表评论。

相关内容