我需要为学生项目对参考文献进行特殊格式处理。(见示例)
我尝试使用BibTex与这些-style,几乎达到了我的目标。但是,我无法以粗体打印作者和年份,并且不带括号和参考书目中的小写字母,因为我不知道如何编辑 .bst 文件。
这是我现在在文本中得到的内容:[Gothäll 2017]
并且在参考书目中:
[Diegel 2019]“标签”Diegel,Olaf;......
我该如何编辑文件或者是否有其他解决方案来实现所需的格式?
提前致谢。
如果我尝试使用 biblatex,我只能得到缩写而不是全名,其中完整年份以空格分隔,也不会以粗体显示。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber,style=alphabetic]{biblatex}
\addbibresource{Bibliography.bib}
\begin{document}
Example for citation \cite{Loftin1980}
\printbibliography
\end{document}
我的.bib 文件:
@book{Loftin1980,
title={Subsonic Aircraft: Evolution and the Matching of Size to Performance},
author={Laurence K. Loftin},
year={1980},
series={Reference Publication 1060},
publisher={NASA}
}
答案1
我可以提供两个biblatex-ext
-根据您的具体要求提供解决方案。(请注意,无论如何,我只实现了样式的粗略外观,而不是更精细的细节 - 无论如何,这些问题的一个屏幕截图中并不全是可见的。)
如果你只想重复参考书目中的引用标签,你可以biblatex-ext
使用introcite
功能。
任何一个introcite=plain
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{lmodern}
\usepackage{csquotes}
\usepackage[backend=biber,
citestyle=ext-authoryear,
bibstyle=ext-authortitle,
sorting=nyt,
introcite=plain,
]{biblatex}
\DeclareFieldFormat{bbx@introcite}{\mkbibbold{#1}}
\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\mkbibnamefamily}{\textsc}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
ipsum \autocite{worman}
dolor \autocite{nussbaum}
sit \autocite{geer}
\printbibliography
\end{document}
或者introcite=label
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{lmodern}
\usepackage{csquotes}
\usepackage[backend=biber,
citestyle=ext-authoryear,
bibstyle=ext-authortitle,
sorting=nyt,
introcite=label,
]{biblatex}
\DeclareFieldFormat{bbx@introcite}{\mkbibbold{#1}}
\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\mkbibnamefamily}{\textsc}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
ipsum \autocite{worman}
dolor \autocite{nussbaum}
sit \autocite{geer}
\printbibliography
\end{document}
如果你想要一个真正的表格书目,你可以使用biblatex-ext-tabular
并重复使用一些代码introcite
。
请注意,您需要定义一个新的表格书目环境,然后使用\printbibtabular
而不是\printbibliography
。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{lmodern}
\usepackage{csquotes}
\usepackage[backend=biber,
citestyle=ext-authoryear,
bibstyle=ext-authortitle,
sorting=nyt,
]{biblatex}
\usepackage{biblatex-ext-tabular}
\usepackage{longtable}
\usepackage{array}
\newcolumntype{L}[1]{%
>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
\defbibtabular{bibtabular}
{\setlength{\LTpre}{0pt}%
\setlength{\LTpost}{0pt}%
\renewcommand*{\arraystretch}{2}%
\begin{longtable}{%
@{}
L{\dimexpr0.3\textwidth-\tabcolsep\relax}
L{\dimexpr0.7\textwidth-\tabcolsep\relax}
@{}}}
{\end{longtable}}
{\anchorlang{\usebibmacro{introcite:typeset}} &
\driver{} \\}
\DeclareFieldFormat{bbx@introcite}{\mkbibbold{#1}}
\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\mkbibnamefamily}{\textsc}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
ipsum \autocite{worman}
dolor \autocite{nussbaum}
sit \autocite{geer}
\printbibtabular
\end{document}