我的书目必须是这样的:
名称,给定名称;名称 2,给定名称 2:标题。版本位置:出版商,年份。
例如
韦克,曼弗雷德;布雷歇尔,克里斯蒂安:机器加工机械。 6.Auflage柏林:Springer,2005年。
我的bib
文件如下所示:
@BOOK{weck,
title = {Werkzeugmaschinen},
publisher = {Springer},
year = {2005},
author = {Manfred Weck and Christian Brecher},
address = {Berlin},
edition = {6.Auflage}
}
我的tex
文件如下:
\usepackage[backend=biber, bibstyle=alphabetic, sorting=nyt]{biblatex}
\DeclareBibliographyDriver{book}{
\printnames{author}%
\setunit{\addcolon}
\newunit\newblock \printfield{title}%
\setunit{\adddot}
\newunit\newblock \printfield{edition}%
\newunit \printlist{location} %
\setunit{\addcolon}
\newunit \printlist{publisher}
\setunit{\addcomma}
\newunit \printfield{year}
\finentry}
但我的书目是这样的
Manfred Weck 和 Christian Brecher。机床。 6.柏林授课。斯普林格。 2005
因此,名字必须放在第一位,如果有多个作者,则;
中间必须有一个。分号和冒号似乎被忽略了,总是有一个点。
答案1
这是一个示例,它不从头开始创建新的书目驱动程序,而是修改现有book
驱动程序。尝试注释掉我的重新定义,看看它们有什么效果。请注意,我已将文件edition
中字段的内容更改.bib
为整数,而是使用babel
包加上biblatex
包选项abbreviate=false
。
注意:在代码片段中的参考书目驱动程序中,分号和冒号不会被忽略,而是会被下面的\newunit
排版\newunitpunct
(默认情况下为句点和空格)覆盖。
更多信息请访问自定义 biblatex 样式的指南。
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[backend=biber,style=alphabetic,sorting=nyt,abbreviate=false]{biblatex}
\DeclareNameAlias{default}{last-first}
\renewbibmacro*{author/editor+others/translator+others}{%
\mkbibbold{% ADDED
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\usebibmacro{author}}
{\ifboolexpr{
test \ifuseeditor
and
not test {\ifnameundef{editor}}
}
{\usebibmacro{editor+others}}
{\usebibmacro{translator+others}}}}
}% ADDED
\renewcommand*{\multinamedelim}{\addsemicolon\space}
\renewcommand*{\finalnamedelim}{\addsemicolon\space}
\renewcommand*{\labelnamepunct}{\mkbibbold{\addcolon\space}}
\renewbibmacro*{publisher+location+date}{%
\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
% {\setunit*{addcolon\space}}% DELETED
{\setunit*{~:\space}}% ADDED
\printlist{publisher}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\DeclareFieldFormat{edition}{%
\ifinteger{#1}
% {\mkbibordedition{#1}~\bibstring{edition}}% DELETED
{\mkbibordedition{#1}\bibstring{edition}}% ADDED
{#1\isdot}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{weck,
author = {Manfred Weck and Christian Brecher},
year = {2005},
title = {Werkzeugmaschinen},
edition = {6},
location = {Berlin},
publisher = {Springer},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}