我像这样创建我的参考资料
\documentclass[12pt,a4paper]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{bibgerm} % literatur deutsch
\begin{filecontents*}{reffile.bib}
@article{doe:1996,
author = {John Doe and Jane McDoe},
title = {my bibtex example},
journal = {Journal of Testing},
year = {1996},
volume = {15},
number = {2},
pages = {22--44}
}
\end{filecontents*}
\begin{document}
Some Text with a reference~\cite{doe:1996},
but additionally I need something like
"`citet"' (natbib) or "`textcite"' (biblatex) working with "`gerplain.bst"'.
\bibliographystyle{gerplain}
\bibliography{reffile}
\end{document}
我仍然非常喜欢这种风格(并且不得不使用它)。但现在我需要一个引用,例如
Doe and McDoe [1]
所以我必须访问作者姓名。我可以通过natbib
oderbiblatex
使用\citet{doe:1996)
或来处理这个问题,\textcite{doe:1996}
但之后我就不能再使用了gerplain.bst
。
是否有可能直接访问 bibtex 字段?或者一起使用natbib
和gerplain.bst
?或者将“转换”bibtex-bst
为biblatex-bbx
?
答案1
重做gerplain
当然biblatex
是一种方法,而且可能更适合未来。另一种方法是添加gerplain.bst
使其与 兼容所需的小改动natbib
。这些大多是从 复制而来plainnat.bst
。所以这里是gerplainnat.bst
。
答案2
到目前为止,这就是我所做的 - 以防有人需要类似的东西
\documentclass[12pt,a4paper]{scrreprt}
\usepackage[ngerman]{babel}
\begin{filecontents*}{reffile.bib}
@article{doe:1996,
author = {John Doe and Jane McDoe},
title = {my bibtex example},
journal = {Journal of Testing},
year = {1996},
volume = {15},
number = {2},
pages = {22--44}
}
@inproceedings{jacobs:2005,
author = {Jacobs, Katrien and Nahmias, Jean-Daniel and Angus, Cameron and Reche, Alex and Loscos, Celine and Steed, Anthony},
title = {Automatic generation of consistent shadows for augmented reality},
booktitle = {Proceedings of Graphics Interface 2005},
series = {GI '05},
year = {2005},
isbn = {1-56881-265-5},
location = {Victoria, British Columbia},
pages = {113--120},
numpages = {8},
acmid = {1089527},
publisher = {Canadian Human-Computer Communications Society},
address = {School of Computer Science, University of Waterloo, Waterloo, Ontario, Canada},
}
@proceedings{obrien:2009,
editor = {O`Brien, W.J. and Formoso, C.T. and Vrijhoef, R. and London, K.A.},
title = {Construction Supply Chain Management - HANDBOOK},
year = {2009},
publisher = {CRC Press}
}
@inproceedings{formoso:2009,
author = {Formoso, C.T. and Isatto, E.L.},
pages = {181--193},
title = {Production Planning and Control and the Coordination of Project Supply Chains},
crossref = {obrien:2009}
}
\end{filecontents*}
\usepackage{csquotes}
\usepackage[style=numeric,
backend=biber,maxbibnames=12,
maxcitenames=2,isbn=false,doi=false,
firstinits,abbreviate=false]{biblatex}
\addbibresource{reffile.bib}
% change some names
\DefineBibliographyStrings{ngerman}{%
bibliography = {Literaturverzeichnis},
andothers = {\textsc{et\,al\adddot}},
phdthesis ={Dissertation},
byeditor = {\addspace\mkbibparens {Herausgeber}},
editor = {\addspace\mkbibparens {Herausgeber}},
editor = {\addspace\mkbibparens {Herausgeber}}
}
\renewcommand*{\finalnamedelim}{\addsemicolon\space}
% authors in small caps
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamefirst}[1]{\textsc{#1}}
\renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}
\renewcommand*{\mkbibnameaffix}[1]{\textsc{#1}}
% small caps for the "and"
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\textsc{\bibstring{and}}\space}
\AtBeginBibliography{%
% no small caps for "and" in references
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}
\DeclareNameAlias{default}{last-first/first-last}%
\renewcommand{\labelnamepunct}{\addcolon\space} % colon after authors
\DeclareFieldFormat{title}{\emph{#1\isdot}}
\DeclareFieldFormat[book]{title}{\emph{#1}\isdot} % no quotes
\DeclareFieldFormat[incollection]{title}{\emph{#1}\isdot} % no quotes
\DeclareFieldFormat[thesis]{title}{\emph{#1}\isdot} % no quotes
\DeclareFieldFormat[inproceedings]{title}{\emph{#1}\isdot} % no quotes
\DeclareFieldFormat{journaltitle}{#1} % Journal-Titel not italic
\DeclareFieldFormat{pages}{S.\ppspace#1}
\DeclareFieldFormat[article]{pages}{#1}
\DeclareFieldFormat[article]{title}{\emph{#1}\isdot} % no quotes
}
\newbibmacro*{article:note+pages}{%
\printfield{note}%
\iffieldundef{number}{\setunit{\addcomma\space S.\ppspace}}{\setunit{\addcolon}}%
\printfield{pages}%
\newunit}
\renewbibmacro*{journal+issuetitle}{% % change order
\usebibmacro{journal}%
\setunit*{\addperiod\space}%
\iffieldundef{series}
{}
{\newunit
\printfield{series}%
\setunit{\addspace}}%
\printfield{volume}%
\setunit*{}%
\printfield[parens]{number}%
\setunit{\addcomma\space}%
\printfield{eid}%
\setunit{\addspace}%
\usebibmacro{issue}%
\newunit}
\renewbibmacro*{issue+date}{%
\printtext[]{% % remove parens
\iffieldundef{issue}
{\printdate}
{\printfield{issue}%
\setunit{\addspace}%
\printfield{year}}}%
\newunit}
%%%article
\DeclareBibliographyDriver{article}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
%\printlist{language}% % remove language
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bytranslator+others}%
\newunit\newblock
\printfield{version}%
\newunit\newblock
%\usebibmacro{in:}% % remove 'In:'
\usebibmacro{journal+issuetitle}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{article:note+pages}%
\newunit\newblock
\usebibmacro{issue+date} % <<< moved it here
\newunit\newblock % <<< moved it here
\iftoggle{bbx:isbn}
{\printfield{issn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\newunit\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}
\renewbibmacro*{byeditor+others}{%
\ifnameundef{editor}
{}
{
\setunit{\addspace}%
\printnames[byeditor]{editor}%
\clearname{editor}%
\usebibmacro{byeditor+othersstrg}% <<< moved it here
\newunit}%
\usebibmacro{byeditorx}%
\usebibmacro{bytranslator+others}}
\DeclareBibliographyDriver{inproceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{byeditor+others}% <<< moved it here
\newunit\newblock % <<< moved it here
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{event+venue+date}%
\newunit\newblock
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\printlist{organization}%
\newunit
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
%\iftoggle{bbx:related}
%{\usebibmacro{related:init}%
%\usebibmacro{related}}
%{}%
\usebibmacro{finentry}}
\begin{document}
Some Text with references~\cite{doe:1996,formoso:2009,jacobs:2005}.
Also \textcite{doe:1996} and \textcite{jacobs:2005} are now able to use "`textcite"'.
\printbibliography
\end{document}
欢迎提出意见和改进。