我一直在寻找合适的 bbx 样式,但一无所获。所以我决定自己制作一个。然后我意识到,所有的\DeclareBibliographyDriver
,\usebibmacro
等等对我来说都太复杂了,我根本看不懂,甚至在阅读手册时也看不懂。所以我唯一能做的就是尝试一下,然后看看它是什么样子,所以我想也许你们中的一位专家可以帮助我。:) 我已经找到了有用的 uni-wtal-lin 样式,但我也想要 authoryear-icomp 标准的某些元素。
\documentclass[%
11pt,
a4paper,
%parskip-,
%titlepage,
onepage,
BCOR5mm,
bibliography=totoc,
footsepline,
bookmarksopen=true,
pdfusetitle]{scrreprt}
…
\usepackage[%
backend=biber,
maxbibnames=4,
maxcitenames=2,
% Pfad: /usr/share/texmf/tex/latex/biblatex/bbx/
style=authoryear-icomp, %uni-wtal-lin // authoryear-icomp
babel=other,
%hyperref=true,
useprefix=true,
url=false,
isbn=false
]{biblatex}
%Anpassungen linguistische Literaturangaben
\renewcommand{\postnotedelim}{\addcolon~} % Doppelpunkt zwischen Jahr und Seite: (Meier 1999:~S. 23)
\DeclareFieldFormat{postnote}{#1} %einleitendes S. weg
\renewcommand{\labelnamepunct}{\addcolon~} %doppelpunkt statt punkt in literaturliste
\renewcommand*{\multicitedelim}{\addsemicolon\space}
\DefineBibliographyStrings{ngerman}{
andothers = {{et\addabbrvspace al\adddot}},
}
我希望输出看起来像这样:
[书籍] 保罗·姓名 (2000):标题。地点:出版商(=系列;Bd. 5)。
[inbook] 姓名,保罗(2000):标题。收录于:Mayer, Peter/Hans Wurst (Hrsg.):书名。地点:出版商(= 系列;第 5 册),第 123–456 页。
[文章] 姓名,保罗(2000):标题。在:期刊名称19/2000,第 123-456 页。
名字在\textsc{}
并且是同一个作者,我想用 – 标记第二行并稍微缩进 :)
谁能帮我解决这个问题?谢谢!:)
附言:我尝试将它写进书里,它看起来是这样的(只需从 uni-wtal-lin 复制粘贴进行测试),无论如何,它不起作用:
%% requires authoryear
\RequireBibliographyStyle{authoryear-icomp}
%% Book
\DeclareBibliographyDriver{book}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{maintitle+title}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit
\printfield{pagetotal}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\newblock
\newunit\newblock
\renewbibmacro*{series+number}{%
\iffieldundef{series}
{}
{\printtext[parens]{%
\iffieldundef{number}
{}
{=\addhpthinspace}%
\printfield{series}%
\setunit*{\addsemicolon\addspace{}Bd.~}%
\printfield{number}%
}}\newunit}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\setunit{\bibpagespunct}
\usebibmacro{finentry}}