我希望在参考书目条目的地址字段之前使用点代替逗号。参见下图,我已标记应使用点替换的逗号。
梅威瑟:
\documentclass{book}
\usepackage{a4wide}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{polyglossia}
\setmainlanguage[spelling=new,babelshorthands=true]{german}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{b2,
year = {2014},
title = {Redefreiheit: Öffentliche Debatten der Bevölkerung im Herbst 1989},
address = {Leipzig},
edition = {1},
publisher = {Leipziger Uni-Vlg},
isbn = {386583888X},
editor = {Ahbe, Thomas and Stiehler, Volker and Hofmann, Michael},
shorttitle = {Redefreiheit}
}
@Book{geyer2004,
Title = {Religion und Nation, Nation und Religion: Beiträge zu einer unbewältigten Geschichte},
Address = {Göttingen},
Editor = {Geyer, Michael and Lehmann, Hartmut},
Gender = {pm},
ISBN = {3892446687},
Number = {3},
Series = {Bausteine zu einer Europäischen Religionsgeschichte im Zeitalter der Säkularisierung},
Shorttitle = {Religion},
Year = {2004}
}
@Book{beiderwiedenhelge1995,
Title = {VHKM},
Address = {Rostock},
Editor = {{Bei der Wieden, Helge}},
Gender = {sm},
Number = {8},
Shorttitle = {Veröffentlichungen},
Year = {1995}
}
\end{filecontents}
\usepackage[style=authortitle-dw,
edsuper=true,
namefont=smallcaps,
useprefix=true,
ibidemfont=smallcaps,
idemfont=smallcaps,
idembibformat=dash,
shorthandibid=true,
backref=false,
backrefstyle=none,
hyperref=true,
isbn=false,
backend=biber,
citereset=chapter,
bibencoding=utf8]{biblatex}
\addbibresource{\jobname.bib}
\renewcommand*{\mkbibnameprefix}{\mkbibnamegiven}
%
% all authors should be separated by slashes in bib and cites
\renewcommand*{\bibmultinamedelim}{\addnbspace\slash\space}
\renewcommand*{\bibfinalnamedelim}{\bibmultinamedelim}
\renewcommand*{\citemultinamedelim}{\bibmultinamedelim}
\renewcommand*{\citefinalnamedelim}{\citemultinamedelim}
\usepackage{csquotes}
\renewcommand{\labelnamepunct}{\addspace}
\renewbibmacro{in:}{}
\renewcommand*{\postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}
\renewcommand{\bibpagespunct}{\ifentrytype{article}{\addcolon\addspace
{\addcomma\addspace}}}
\DeclareFieldFormat[article,incollection]{pages}{#1}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\addnbspace}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
答案1
有几种选择。
重新定义
\newunitpunct
。这可能会影响更多地方,而不仅仅是发布者块之前的标点符号。这可能是或可能不是所希望的。在示例条目中,其他地方不受影响。\renewcommand*{\newunitpunct}{\addperiod\space}
重新定义
publisher+location+date
在开头添加句点。\makeatletter \renewbibmacro*{publisher+location+date}{% \setunit{\addperiod\space}% \ifbool{bbx:origfields} {\ifbool{bbx:nolocation} {\iffieldundef{origyear} {\usebibmacro{loc+pub+year}} {\usebibmacro{origloc+origpub+origyear}}} {\iflistundef{origlocation} {\iffieldundef{origyear} {\usebibmacro{loc+pub+year}} {\usebibmacro{origloc+origpub+origyear}}} {\iffieldundef{origyear} {\blxdw@warning{% Field 'origlocation' is set, but 'origdate' is \MessageBreak% empty at entry '\abx@field@entrykey'. The 'orig' fields \MessageBreak are omitted for this entry}% \usebibmacro{loc+pub+year}} {\usebibmacro{origloc+origpub+origyear}}}}} {\usebibmacro{loc+pub+year}}} \makeatother
使用
xpatch
添加(\setunit{\addperiod\space}
致谢publisher+location+date
@gusbrs 提出这个建议)\usepackage{xpatch} \xpretobibmacro{publisher+location+date} {\setunit{\addperiod\space}} {}{}