我使用 BibLaTeX 进行书目管理,bibstyle=gost-numeric
这并不常见,但问题与更常见的相同bibstyle=numeric
。我希望用 生成的列表\printbibliography
具有以下属性:每个列表条目的文本应以特定的(固定的)水平移位显示。我需要它与书目标题对齐。
目前,它有点未能对齐,正如您在此处看到的那样:
(我正在使用自定义parindent
)。有什么想法可以实现这一点吗?
MWE 如下
\documentclass [fontsize=14pt, paper=a4, pagesize, DIV=calc] {scrartcl}
\usepackage[english,russian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage{paratype}
\usepackage{indentfirst}
\usepackage{csquotes}
\usepackage[
backend=biber,
hyperref=auto,
language=auto,
citestyle=numeric,
bibstyle=numeric,
]{biblatex}
\addbibresource{biblio.bib}
\newlength\MyIndent
\setlength\MyIndent{1.25cm}
\setlength{\parindent}{\MyIndent}
\addtokomafont{sectioning}{\hspace{\MyIndent}}
\begin{document}
\addsec{Заключение}
We hope you find write\LaTeX\ useful, and please let us know if you have any feedback using the help menu above.
Помните, что на все пункты списка литературы должны быть ссылки. \LaTeX\ просто не добавит информацию об издании из bib-файла, если на это издание нет ссылки в тексте.
Для дальнейшего изучения \LaTeX\ рекомендуем книгу Львовского~\autocite{Lvo2003}.%~\autocite{BrPi2005}
\printbibliography
\end{document}
biblio.bib:
@MVBOOK{Lvo2003,
author = {Львовский, Сергей Михайлович},
title = {Набор и вёрстка в системе \LaTeX},
year = {2006},
language = {russian},
publisher = {МЦНМО},
location = {М.},
hyphenation = {russian},
url = {http://www.mccme.ru/free-books/llang/newllang.pdf}
}
答案1
您需要重新定义bibliography
环境来实现您的目标。
因此,在你的序言中添加以下几行
\defbibenvironment{bibliography}
{\list
{\printtext[labelnumberwidth]{%
\printfield{prefixnumber}%
\printfield{labelnumber}}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\dimexpr1.25cm-\labelwidth\relax}% <----- default is \biblabelsep
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\item}
它适用于numeric
bibstyle 和 one gost-numeric
,因为两者具有相同的原始定义。
MWE(注意babel
必须加载后 fontenc
)
\documentclass [fontsize=14pt, paper=a4, pagesize, DIV=calc] {scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[english,russian]{babel}
\usepackage{paratype}
\usepackage{indentfirst}
\usepackage{csquotes}
\usepackage[
backend=biber,
hyperref=auto,
language=auto,
citestyle=numeric,
bibstyle=numeric,
]{biblatex}
\addbibresource{biblio.bib}
\newlength\MyIndent
\setlength\MyIndent{1.25cm}
\setlength{\parindent}{\MyIndent}
\addtokomafont{sectioning}{\hspace{\MyIndent}}
\defbibenvironment{bibliography}
{\list
{\printtext[labelnumberwidth]{%
\printfield{prefixnumber}%
\printfield{labelnumber}}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\dimexpr1.25cm-\labelwidth\relax}% <----- default is \biblabelsep
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\item}
\begin{document}
\addsec{Заключение}
We hope you find write\LaTeX\ useful, and please let us know if you have any feedback using the help menu above.
Помните, что на все пункты списка литературы должны быть ссылки. \LaTeX\ просто не добавит информацию об издании из bib-файла, если на это издание нет ссылки в тексте.
Для дальнейшего изучения \LaTeX\ рекомендуем книгу Львовского~\autocite{Lvo2003}.%~\autocite{BrPi2005}
\printbibliography
\end{document}
输出