例如我想按以下方式引用:
[FHK+2002] U. Fischer、M. Heinzler、R. Kilgus、F. Näher、S. Oesterle、H. Paetzold、W. Röhrer、A. Stephan、R. Winkow:金属表册,欧洲教学出版社,2002 年
[GHS2002] D. Gross、W. Hauger、W. Schnell:力学技术,Band2 Elastostatik,Springer-Verlag,柏林,2002
[MMWW2004] G. Merzinger、G. Mühlbach、D. Wille、T. Wirth:《Formeln + Hilfen zur höheren Mathematik》,Binomi Verlag,2004 年
[QuSa2006] A. Quarteroni、F. Saleri:《用 MATLAB 进行科学计算》,Springer-Verlag,柏林,2006 年
我如何在 LaTeX 中做到这一点?我尝试使用alpha
样式,apa
它只提供第一个作者的名字。我不想那样。有人能帮我吗?我上面给出了多个作者的例子,它需要名字中的首字母和单个作者的前 4 个字母。希望得到好的答案...
答案1
biblatex
alphabetic
在生成标签时,样式非常灵活,使用时可以高度定制比贝尔;所以接下来我们将必须使用 Biber。
以下内容似乎非常接近您的需要。
您必须加载biblatex
选项style=alphabetic, maxnames=999, minalphanames=3, firstinits=true, backend=biber
\usepackage[style=alphabetic, maxnames=999, minalphanames=3, firstinits=true, backend=biber]{biblatex}
使用alphabetic
在参考书目中显示所有名称、标签中至少显示三个名称(如果可用)并且仅显示首字母的样式。
标签格式变为
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field{label}
\field[strwidth=4,strside=left,ifnames=1]{labelname}
\field[strwidth=2,strside=left,ifnames=2]{labelname}
\field[strwidth=1,strside=left]{labelname}
}
\labelelement{
\field{year}
}
}
这将打印单个姓名的前四个字母、两个姓名的前两个字母以及姓氏的第一个字母(如果有多个姓名)。年份将始终以完整形式显示。
\renewcommand*{\finalnamedelim}{\multinamedelim}
\renewcommand*{\labelnamepunct}{\addcolon\space}
我们还重新定义了名称之间的分隔符(没有“和”之类的词,列表中姓氏仅用逗号分隔)和参考书目中名称和标题之间的标点符号以及出版商和位置的顺序:
\renewbibmacro*{publisher+location+date}{%
\printlist{publisher}%
\setunit{\addcomma\space}%
\printlist{location}%
\setunit{\addcomma\space}%
\usebibmacro{date}%
\newunit}
平均能量损失
\documentclass[ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{filecontents}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=alphabetic,maxnames=999,minalphanames=3,firstinits=true]{biblatex}
\usepackage{hyperref}
\begin{filecontents*}{\jobname.bib}
@book{tabmet,
author = {Ulrich Fischer and Max Heinzler and Roland Kilgus and Friedrich Näher and Stefan Oesterle and Heinz Paetzold and Werner Röhrer and Andreas Stephan and Ralf Winkow},
title = {Tabellenbuch Metall},
edition = {42},
year = {2002},
publisher = {Verlag Europa-Lehrmittel},
location = {Haan-Gruiten},
}
@book{techmech:elast,
author = {Walter Schnell and Dietmar Gross and Werner Hauger},
maintitle = {Technische Mechanik},
volume = {2},
title = {Elastostatik},
edition = {4},
publisher = {Springer},
date = {2002},
location = {Berlin},
}
@book{fohi,
title = {Formeln + Hilfen zur höheren Mathematik},
author = {Gerhard Merziger and Günter Mühlbach and Detlef Wille and Thomas Wirth},
location = {Springe},
publisher = {Binomi},
date = {2004},
}
@book{matlab,
author = {Alfio Quarteroni and Fausto Saleri},
title = {Wissenschaftliches Rechnen mit MATLAB},
translator = {Klaus Sapelza},
publisher = {Springer},
date = {2006},
location = {Berlin},
}
\end{filecontents*}
\renewcommand*{\finalnamedelim}{\multinamedelim}
\renewcommand*{\labelnamepunct}{\addcolon\space}
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field{label}
\field[strwidth=4,strside=left,ifnames=1]{labelname}
\field[strwidth=2,strside=left,ifnames=2]{labelname}
\field[strwidth=1,strside=left]{labelname}
}
\labelelement{
\field{year}
}
}
\renewbibmacro*{publisher+location+date}{%
\printlist{publisher}%
\setunit{\addcomma\space}%
\printlist{location}%
\setunit{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{tabmet,techmech:elast,fohi,matlab,wilde}
\printbibliography
\end{document}