自定义参考书目样式

自定义参考书目样式

此 MWE:

\documentclass[10pt]{book}
\usepackage[paperwidth=5in,paperheight=7.5in, margin=0.7in]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{libertine}

\begin{filecontents}{bib}
@Article{NALE,
  Title                    = {Puzzles: Choose a Curtain, Duelity, Two Point Conversions, and More},
  Author                   = {Barry Nalebuff},
  Journaltitle             = {Journal of Economic Perspectives},
  Volume                   = {1},
  Year                     = {1987},
  Issue                    = {Fall},
  Number                   = {2},
  Pages                    = {157-163}
}

\end{filecontents}

\usepackage[backend=biber]{biblatex}
\DeclareNameAlias{sortname}{first-last}
\DeclareNameAlias{default}{first-last}
\renewbibmacro{in:}{}

\usepackage{filecontents}

\addbibresource{bib}

%\usepackage[tufte, emptyfirstpage]{blackenedtitles}

\begin{document}

\chapter{Test Chapter}

Lorem ipsum dolor sit amet, est alia eirmod no, at has graecis molestie luptatum. Menandri maluisset usu in. Vim cu ceteros luptatum, in mel doming equidem docendi. Timeam volutpat vix ad, vidit albucius duo ne, sed cibo probo ex. No sit meis novum, mel ullum nonumy et, pri an agam eirmod doctus.\footfullcite{NALE}
\end{document}

生成:

enter image description here

我如何进一步定制风格以便:

  1. 作者姓名后面有一个逗号(而不是句号),
  2. 标题后面有一个逗号,但逗号在引号内,
  3. 期刊名称后跟逗号,然后是卷号 ##、期号 ##
  4. 接下来是逗号,其余部分保持原样。

答案1

从描述来看,您似乎希望在参考书目中使用逗号作为单元之间的分隔符。此分隔符的出现已在命令中编码\newunitpunct。因此,我们可以重新定义它,即:

\renewcommand{\newunitpunt}{\addcomma\addspace} 

对于标点符号和引号交互的处理,biblatex建议使用包。所需的行为是传统的美式行为,因此我们可以通过使用选项加载(或使用 的设置)csquotes来实现结果。babelamericancsquotes

最后,期刊标题和出版信息的格式由 bibmacro 控制volume+number+eid。在这里,我们可以首先声明两个辅助宏来设置卷和号的格式,然后我们可以更改宏volume+number+id(取自standard.bbx从 biblatex 分发文件中获取)。

完整的 MWE 现在看起来像:

\documentclass[10pt]{book}
\usepackage[paperwidth=5in,paperheight=7.5in, margin=0.7in]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{libertine}

\begin{filecontents}{bib}
@Article{NALE,
  Title                    = {Puzzles: Choose a Curtain, Duelity, Two Point Conversions, and More},
  Author                   = {Barry Nalebuff},
  Journaltitle             = {Journal of Economic Perspectives},
  Volume                   = {1},
  Year                     = {1987},
  Issue                    = {Fall},
  Number                   = {2},
  Pages                    = {157-163}
}

\end{filecontents}

\usepackage{csquotes}
\usepackage[american]{babel}
\usepackage[backend=biber]{biblatex}
\DeclareNameAlias{sortname}{first-last}
\DeclareNameAlias{default}{first-last}
\renewbibmacro{in:}{}


\newbibmacro{volume}{%
  \iffieldundef{volume}{} 
    {\bibcpsstring{volume}\addnbspace\printfield{volume}}}
\newbibmacro{number}{%
  \iffieldundef{number}{}    
    {\bibcpsstring{number}\addnbspace\printfield{number}}}


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

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addcomma\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}


\renewcommand{\newunitpunct}{\addcomma\addspace}

\usepackage{filecontents}

\addbibresource{bib}

%\usepackage[tufte, emptyfirstpage]{blackenedtitles}

\begin{document}

\chapter{Test Chapter}

Lorem ipsum dolor sit amet, est alia eirmod no, at has graecis molestie luptatum. Menandri maluisset usu in. Vim cu ceteros luptatum, in mel doming equidem docendi. Timeam volutpat vix ad, vidit albucius duo ne, sed cibo probo ex. No sit meis novum, mel ullum nonumy et, pri an agam eirmod doctus.\footfullcite{NALE}
\end{document}

结果是:

enter image description here

相关内容