我有以下使用 biblatex 的最少代码:
测试.tex
\documentclass[twoside,twocolumn,10pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber,style=alphabetic]{biblatex}
\addbibresource{bibliography.bib}
\begin{document}
\nocite{*}
\raggedright
\printbibliography
\end{document}
参考书目
@article{thorvarson61,
author={Þorvarson, Æsir},
title={Using \LaTeX{} in Norse Linguistics},
journal={J Nor Ling},
volume={1},
year=1981,
pages={1--10}
}
由于我的参考书目中有包含非 ASCII UTF-8 字符的作者姓名,因此需要 Biber。但是,我得到的缩进如下:
虽然我希望缩进看起来像:
后者来自一个包含以下代码和手动创建的参考书目列表的文件(该代码似乎不会影响 bibtex 或 biblatex 生成的参考书目)
\renewenvironment{thebibliography}[1]
{\section{\refname}%
\@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\setlength{\itemsep}{-0.5\parsep}
\wscgraggedright
\setlength{\parsep}{1.0ex}
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy
\clubpenalty4000
\@clubpenalty \clubpenalty
\widowpenalty4000%
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist}
我尝试复制\defbibenvironment
并alphabetic.bst
修改它,但无法实现类似的风格,因为所有的更改似乎\leftmargin
都会以不良的方式影响标签。
答案1
您可以尝试以下方法
\setlength{\biblabelsep}{\labelsep}% <-- adjust this to your liking, the standard is 2\labelsep
\defbibenvironment{bibliography}
{\list
{\printtext[labelalphawidth]{%
\printfield{prefixnumber}%
\printfield{labelalpha}%
\printfield{extraalpha}}}
{\setlength{\labelsep}{\biblabelsep}%
\setlength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{##1\hss}}
{\endlist}
{\item}