又读了几个小时后,我还是找不到获得以下引用样式的解决方案:
[Senarclens de Grancy 和 Reimann 2014]
以及参考书目中的以下格式
[Senarclens de Grancy 和 Reimann,2014] Senarclens de Grancy,G. 和 Reimann,
M.:“具有时间窗口和多名服务人员的车辆路线问题:ACO 和 GRASP 之间的系统比较”;《中欧运筹学杂志》123,1-20
请注意引文和参考书目中的方括号。在参考书目中,冒号后面加上引号,这样会更好。理想情况下,我希望坚持调整 biblatex 的作者年份样式,但是我最接近上述做法的是使用常规 bibtex 和 \bibliographystyle{apalike}。一个很好的提示是Biblatex,作者年份,方括号,但我无法进行剩余的调整。如能得到任何帮助,我将不胜感激。
编辑:根据要求,这里是如何呈现参考书目的屏幕截图。
EDIT2:我目前正在努力解决的一个代码片段(复制了几个我不太明白的例子)
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\usepackage{filecontents}
\makeatletter
\newrobustcmd*{\parentexttrack}[1]{%
\begingroup
\blx@blxinit
\blx@setsfcodes
\blx@bibopenparen#1\blx@bibcloseparen
\endgroup}
\AtEveryCite{%
\let\parentext=\parentexttrack%
\let\bibopenparen=\bibopenbracket%
\let\bibcloseparen=\bibclosebracket}
\def\act@on@bibmacro#1#2{%
\expandafter#1\csname abx@macro@\detokenize{#2}\endcsname
}
\def\patchbibmacro{\act@on@bibmacro\patchcmd}
\def\pretobibmacro{\act@on@bibmacro\pretocmd}
\def\apptobibmacro{\act@on@bibmacro\apptocmd}
\def\showbibmacro{\act@on@bibmacro\show}
\makeatother
\begin{filecontents}{\jobname.bib}
@Article{ SenarclensAndReimann:2014,
author={{Senarclens~{d}e~Grancy}, Gerald and Reimann, Marc},
title={Vehicle routing problems with time windows and multiple service
workers: a systematic comparison between ACO and GRASP},
issn={1435-246X},
year={2014},
journal={Central European Journal of Operations Research},
publisher={Springer Berlin Heidelberg},
doi={10.1007/s10100-014-0341-z},
pages={1-20}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\textcite{SenarclensAndReimann:2014} \\
\parencite{SenarclensAndReimann:2014} \\
\autocite{SenarclensAndReimann:2014} \\
\printbibliography
\end{document}
答案1
引用部分使用你的代码。参考书目部分可以修改样式的宏。
A。书目风格authortitle
与问题中的风格比较相似authoryear
。建议bibstyle=authortitle
在的负载中 使用biblatex
。
b.该示例仅使用名字的首字母,因此需要使用firstinits=true
C。样式书目需要打印所有作者。这可以使用maxbibnames=99
。(括号内的名称将在下面处理)。
d.书目条目的第一部分是作者姓名组成的“标签”。如果作者人数大于 2,则姓名会被截断。然后可以重新定义begentry
宏。 IE
\renewbibmacro*{begentry}{%`
\mkbibbrackets{% Print between brackets
% Fist author only, if num. of authors is greater to 2.
\printnames[][1-\ifnumgreater{\value{labelname}}{2}{1}{\value{maxnames}}]{labelname}
\space\printfield{year}}\space%
\renewcommand{\newunitpunct}{\addsemicolon\space}%
}
e.该@article
条目没有使用in:
betweentitle
和 journal 这个词。然后该in:
宏被重新定义为:
\newbibmacro*{in:}{}
F。期刊名称不再被强调。然后journaltitle
格式被重新定义为:
\DeclareFieldFormat{journaltitle}{{#1}}
G。页面部分不使用页面词缩写,则pages
和的格式pagetotal
重新定义为:
\DeclareFieldFormat{pages}{{#1}}
\DeclareFieldFormat{pagetotal}{{#1}}
H。最后,作者姓名的排序为'lastname'-'firstname',然后定义格式为author
,editor
并且 translator
形式与格式相同last-first
。
\DeclareNameAlias{author}{last-first}
\DeclareNameAlias{editor}{last-first}
\DeclareNameAlias{translator}{last-first}
上面的“代码”不会重现问题中图片中的所有条目,因为很难猜测仅查看图片的样式规则。但它回答了如何在参考书目中添加括号部分以及如何编辑默认样式。我试图重现“[Hicks et al. 1998]”和[[Senarclens de Grancy and Reimann, 2014]”引文。最后我不明白“123”是什么。这部分不在 MWE 的文献目录中。
梅威瑟:
\documentclass{article}
\usepackage[style=authoryear, maxbibnames=99, bibstyle=authortitle, firstinits=true,doi=false]{biblatex}
\usepackage{filecontents}
\makeatletter
\newrobustcmd*{\parentexttrack}[1]{%
\begingroup
\blx@blxinit
\blx@setsfcodes
\blx@bibopenparen#1\blx@bibcloseparen
\endgroup}
\AtEveryCite{%
\let\parentext=\parentexttrack%
\let\bibopenparen=\bibopenbracket%
\let\bibcloseparen=\bibclosebracket}
\def\patchbibmacro{\act@on@bibmacro\patchcmd}
\def\pretobibmacro{\act@on@bibmacro\pretocmd}
\def\apptobibmacro{\act@on@bibmacro\apptocmd}
\def\showbibmacro{\act@on@bibmacro\show}
\makeatother
\renewbibmacro*{begentry}{%
\mkbibbrackets{%
\printnames[][1-\ifnumgreater{\value{labelname}}{2}{1}{\value{maxnames}}]{labelname}%
\space\printfield{year}}\space%
\renewcommand{\newunitpunct}{\addsemicolon\space}%
}
\newbibmacro*{in:}{}
\DeclareFieldFormat{journaltitle}{{#1}}
\DeclareFieldFormat{pages}{{#1}}
\DeclareFieldFormat{pagetotal}{{#1}}
\DeclareNameAlias{author}{last-first}
\DeclareNameAlias{editor}{last-first}
\DeclareNameAlias{translator}{last-first}
\begin{filecontents}{\jobname.bib}
@Article{ SenarclensAndReimann:2014,
author={{Senarclens~{d}e~Grancy}, Gerald and Reimann, Marc},
title={Vehicle routing problems with time windows and multiple service
workers: a systematic comparison between ACO and GRASP},
issn={1435-246X},
year={2014},
journal={Central European Journal of Operations Research},
publisher={Springer Berlin Heidelberg},
doi={10.1007/s10100-014-0341-z},
pages={1-20},
}
@Article{othercite,
author={Hicks, D. and Leggett, J. and N{\"u}rnberg, P. and Schnase, J.},
title={A hypermedia version control framework},
number={2},
year={1998},
month={4},
journal={ACM Trans. Inf. Sys.},
publisher={Springer},
volume={16},
pages={127-160},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\renewcommand*{\labelnamepunct}{\addcolon\space}
\newbibmacro*{volume+number+eid}{%
\isdot\setunit*{\addcomma\space}%
\printfield{volume}%
\setunit*{\addcomma\space}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
\begin{document}
\textcite{SenarclensAndReimann:2014} \\
\parencite{SenarclensAndReimann:2014} \\
\autocite{SenarclensAndReimann:2014} \\
\cite{othercite}
\printbibliography
\end{document}
图片: