使用此代码:
\RequirePackage[l2tabu, orthodox]{nag}
\documentclass[a4paper,twoside]{memoir}
% Unix options
\isopage
\usepackage{etex,setspace,excludeonly,ifthen,etoolbox,logreq,makeidx,cals,graphicx}
\usepackage[english]{babel}
\usepackage[style=british]{csquotes}
\usepackage[style=philosophy-classic,firstinits,uniquename=init,natbib=true,backend=biber,indexing=true,defernumbers=true]{biblatex}
\DeclareNameAlias{sortname}{last-first}
\DeclareBibliographyCategory{cited}
\AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}}
\defbibcheck{Thinking}{%
\iffieldequalstr{journaltitle}{Thinking}
{}
{\skipentry}}
\defbibcheck{noThinking}{%
\iffieldequalstr{journaltitle}{Thinking}
{\skipentry}
{}}
\addbibresource{thesis.bib}
% Style alterations: parentheses around place: publisher and colon between vol
% and no
\renewbibmacro*{publisher+location+date}{%
\printtext[parens]{% ADDED
\printlist{location}%
\iflistundef{publisher}
{\setunit*{\addcomma\space}}
% {\setunit*{\addcolon\space}}%
{\setunit*{\addcomma\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
}\nopunct% ADDED
\newunit}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\adddot}% DELETED
% \setunit*{\addcolon}% ADDED
\printfield{number}%
\setunit{\space}%
\printfield{eid}}
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{#1\isdot}
\renewcommand{\labelnamepunct}{\addspace}
\begin{document}
\printbibliography[category=cited,check=noThinking,prenote={JoPE},title={Bibliography excluding articles in \emph{Thinking: The Journal of Philosophy for Children}}]
\end{document}
以及 thesis.bib 中的此书目条目
@article{Allhoff2005,
author = {Allhoff, Fritz},
file = {:Users/study\_mini/Documents/Mendeley Desktop/Allhoff - 2005 - A Defense of Torture Separation of Cases, Ticking Time-bombs, and Moral Justification.pdf:pdf},
journal = {International Journal of Applied Philosophy},
keywords = {ch5},
mendeley-tags = {ch5},
number = {2},
pages = {243--264},
title = {{A Defense of Torture: Separation of Cases, Ticking Time-bombs, and Moral Justification}},
volume = {19},
year = {2005}
}
@inbook{1Almond2010,
year={2010},
Crossref = {9BaileyHandbook2010},
booktitle={The Sage Handbook of Philosophy of Education},
title={The Value of Knowledge},
author={Brenda Almond},
chapter={20},
pages={297--306}
我在我的参考书目中得到:
卷号,页...
我希望删除数字后的逗号,但删除\addcomma
对最终输出没有任何影响。我是否需要替换\renewcommand
或调整现有代码?
答案1
你只需要一行
\renewcommand*{\bibpagespunct}{\addspace}
这告诉biblatex
仅在页面前放置一个空格,不需要其他标点符号。
您可以@article
使用以下方式强制仅对 s 执行此操作
\renewcommand*{\bibpagespunct}{%
\ifentrytype{article}
{\addspace}
{\addcomma\space}}
平均能量损失
\documentclass[a4paper,twoside]{memoir}
\usepackage[english]{babel}
\usepackage[style=british]{csquotes}
\usepackage[style=philosophy-classic,firstinits,uniquename=init,natbib=true,backend=biber,indexing=true,defernumbers=true]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{Allhoff2005,
author = {Allhoff, Fritz},
journal = {International Journal of Applied Philosophy},
keywords = {ch5},
mendeley-tags = {ch5},
number = {2},
pages = {243--264},
title = {{A Defense of Torture: Separation of Cases, Ticking Time-bombs, and Moral Justification}},
volume = {19},
year = {2005}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit*{\adddot}% DELETED
% \setunit*{\addcolon}% ADDED
\printfield{number}%
\setunit{\space}%
\printfield{eid}}
\renewcommand*{\bibpagespunct}{\addspace}
\begin{document}
\nocite{*}
\printbibliography
\end{document}