\mkbibquote 用于引用论文的标题是“论文”。那么‘论文’呢?

\mkbibquote 用于引用论文的标题是“论文”。那么‘论文’呢?

如何制作论文标题来自:

NoiseSpeech, a noise of living bodies : towards Attali's "Composition"

NoiseSpeech, a noise of living bodies : towards Attali's 'Composition'

我在用:

  title={NoiseSpeech, a noise of living bodies: towards Attali's \mkbibquote{Composition}},

在此处输入图片描述

我的 MWE:

% \documentclass[12pt,oneside]{book}  % Remove draft option to show figures (for final draft), otherwise keep for faster production
\documentclass{article}
\usepackage{enumitem} % macros to modify appearance of 'itemize' environments

\usepackage{xpatch}

\usepackage[backend=biber, 
% style=authoryear, 
 style=authoryear-comp,
% citestyle=authoryear, 
dashed=false,
maxcitenames=2,
maxbibnames=99,
giveninits,
uniquename=init]{biblatex}


\DeclareNameAlias{sortname}{family-given} %for second and third author name

\renewcommand{\labelnamepunct}{\space} %to delete . after (1997)

\DeclareFieldFormat[article, incollection, unpublished]{title}{#1}

\DeclareFieldFormat*{title}{#1} %for conference title delete ".."
\DeclareFieldFormat[incollection]{title}{\mkbibemph{#1}} %for incollecion title italic ONLY
\DeclareFieldFormat[thesis]{title}{\mkbibemph{#1}} %for phdthesis title italic ONLY



\renewbibmacro{in:}{%
  \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}



\newcommand*{\volnumdelim}{}
\DeclareFieldFormat[article,periodical]{number}{\mkbibparens{#1}}

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit*{\volnumdelim}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

\newcommand*{\jourvoldelim}{\addcomma\space}
\newcommand*{\jourserdelim}{\newunitpunct}
\newcommand*{\servoldelim}{\jourvoldelim}
\newcommand*{\volnumdatedelim}{\addspace}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\jourvoldelim}%
  \iffieldundef{series}
    {}
    {\setunit*{\jourserdelim}%
     \printfield{series}%
     \setunit{\servoldelim}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\volnumdatedelim}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}  
% to make volume (number), eg. 4(2)



% for delete comma after Author A and Aurhor b
\DefineBibliographyExtras{english}{%
   \let\finalandcomma\empty
   \let\finalandsemicolon\empty
 }

\renewcommand{\compcitedelim}{\addsemicolon\space}
\DeclareNameAlias{editorin}{given-family}

\newbibmacro*{byeditor:in}{%
  \ifnameundef{editor}
    {}
    {\printnames[editorin]{editor}%
     \setunit{\addcomma\space}%
     \usebibmacro{editorstrg}%
     \clearname{editor}}}     


\xpatchbibdriver{inbook}
  {\usebibmacro{in:}%
   \usebibmacro{bybookauthor}%
   \newunit\newblock
   \usebibmacro{maintitle+booktitle}%
   \newunit\newblock
   \usebibmacro{byeditor+others}}
  {\usebibmacro{in:}%
   \usebibmacro{bybookauthor}%
   \newunit\newblock
   \usebibmacro{byeditor:in}%
   \newunit\newblock
   \usebibmacro{maintitle+booktitle}%
   \newunit\newblock
   \usebibmacro{byeditor+others}}
  {}{}



% \usepackage{parskip}  

\usepackage[hypcap=false]{caption}

\usepackage{csquotes}

\usepackage[unicode,colorlinks,citecolor=blue]{hyperref}




\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}


@article{dean2005noisespeech,
  title={NoiseSpeech, a noise of living bodies: towards Attali's \mkbibquote{Composition}},
  author={Dean, Roger T},
  journal={NMEDIAC: Journal of New Media \& Culture},
  year={2005},
  number={1},
  volume={3}
}


\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}


 in \textcite{dean2005noisespeech} 


\printbibliography
\end{document}

答案1

有几种不同的方法可以实现此目的:

您可以将语言更改为british(或australian),使用单引号作为外部标记。即,

\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage{biblatex}

请记住,这也会改变其他与语言相关的内容,例如日期格式。

另一个选项是直接使用csquotes. 指定引用样式,即,

\usepackage[english]{babel}
\usepackage[style=british]{csquotes}
\usepackage{biblatex}

这将使用英国风格的单引号作为外引号,但将其他语言设置保留为babel默认值english(基本上是美式英语)。

相关内容