我正在写一篇论文,需要一种特定的书目样式,但我发现没有任何软件包直接支持这种样式。具体来说,我需要一个主要采用芝加哥风格的书目,但带有数字引文。这个问题触及了我的目标的核心,但却留下一个未解答的问题。答案满足了 OP 的要求,但并没有完全解决我的问题。
我需要芝加哥风格的作者姓名:Last1、First1、First2 Last2、First3 Last3 等。我还需要一些其他我已经想出来的小修改(引号内的逗号、大写姓名、期刊卷不斜体)。但该答案中的解决方案是在 biblatex 调用后插入 numeric.bbx,它不会保留姓名顺序,而是为所有作者打印 First Last。
我不知道如何将此命名切换为数字样式。我目前的解决方案是其他答案来自那篇文章,但每个条目的标签都未对齐:
我的问题是:如果我使用数字样式(图 1),我该如何更改仅第一作者的命名顺序,或者我该如何调整插入的数字标签以一致对齐我的条目文本(图 2)?
我正在使用 .bib 文件来记录我的条目,我的 BibLaTeX 调用如下:
% Produce modified CMS citations and bibliography using bastardized MLA
\usepackage[
bibstyle=mla, % mla as starting point
citestyle=numeric, % force numeric inline citations
natbib=true, % not sure whether this is required
backend=biber, % compiling stuff
maxnames=7, % DTM guideline is up to 10
minnames=7, % biblatex defaults to minnames when max is exceeded,
% but need 7 per DTM
showmedium=false, % don't print publication medium
sorting=nty, % sort name, title, year
language=american % proper comma inside quotation behavior
]{biblatex}
\addbibresource{thbib.bib}
\AtBeginBibliography{\renewcommand*{\mkbibnamefamily}[1]
{\MakeUppercase{#1}}} % force author names to be uppercase
\AtBeginBibliography{\renewcommand*{\mkbibnamegiven}[1]{\MakeUppercase{#1}}}
\DeclareFieldFormat{journalvolume}{#1} % Remove italicized formatting from
% journal volumes
\DeclareFieldFormat{booktitle}{#1} % Remove italicized formatting from
% book title per CMS
\defbibheading{bibliography}{ % Change "Works Cited" to "Bibliography"
\section*{Bibliography}}
%% SOLUTION FROM ANSWER/PHOTO 1 (does not give correct naming)
%% add citation numbers to bibliography (simulate numeric citation)
%\makeatletter
%\input{numeric.bbx}
%\makeatother
%% SOLUTION FROM ANSWER/PHOTO 2 (does not give correct number alignment)
\AtEveryBibitem{[\printfield{labelnumber}]\addspace}% Numbers in the bib
答案1
我认为这里最简单(也是最合理)的方法是从 moewe 的答案开始,然后简单地将名称格式更改为:
\DeclareNameAlias{default}{family-given/given-family}
在全:
\documentclass{article}
\usepackage[
citestyle=numeric,
bibstyle=authoryear,
maxbibnames=99,
]{biblatex}
\makeatletter
\input{numeric.bbx}
\makeatother
\DeclareNameAlias{default}{family-given/given-family}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{wilde,geer,worman,herrmann}
\printbibliography
\end{document}
但是,我注意到您使用的是mla
书目样式的基础,而不是authoryear
像这两个答案中那样。moewe 的方法将 bibstyle 和 citestyle 调动得更紧密一些。由于这mla
不是标准样式,也许 Ulrike Fisher 的回答中保持事物更加分离的态度可能是明智的。为此,处理书目对齐的解决方案将是:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[citestyle=numeric,bibstyle=mla,maxbibnames=99]{biblatex}
\addbibresource{biblatex-examples.bib}
\defbibenvironment{bibliography}
{\list
{\printtext[labelnumberwidth]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\item}
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
\begin{document}
\cite{wilde,geer,worman,herrmann}
\printbibliography
\end{document}