可以按类型细分参考书目(https://www.overleaf.com/learn/latex/Articles/Getting_started_with_BibLaTeX):
\printbibheading
\printbibliography[type=book,heading=subbibliography,title={Book Sources}]
\printbibliography[nottype=book,heading=subbibliography,title={Other Sources}]
也可以按部分进行细分,如带章节名称的分段书目。
最后一个更有趣,另外我想快速看看哪些是书,哪些是文章。
是否有某种方法可以将这些物品标记为书籍或文章(或在线或其他类型)?
可能存在如下情况:
[1] [book] Leslie Lamport, LaTeX: A Document Preparation System, ...
[2] [article] Joel Falcou, Designing HPC libraries in the modern C++ world,
...
或者可以稍微定制一下,例如:
[1] BOOK Leslie Lamport, LaTeX: A Document Preparation System, ...
[2] ARTICLE Joel Falcou, Designing HPC libraries in the modern C++ world,
...
或者:
[1] 书Leslie Lamport,LaTeX:一种文档准备系统,......
[2] 文章Joel Falcou,在现代 C++ 世界中设计 HPC 库,
要求为不同类型的文章使用不同的颜色,比如文章用红色,书籍用蓝色,这样要求过分吗?或者自动选择颜色。
答案1
biblatex
保存字段中每个条目的条目类型entrytype
。可以使用 打印\printfield{entrytype}
。可以使用 设置输出样式\DeclareFieldFormat{entrytype}
。
begentry
所有标准风格和大多数优秀的贡献风格都知道在每个书目驱动程序开始时执行的通用 bibmacro 。
你可能想尝试一下
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric, defernumbers, backend=biber]{biblatex}
\DeclareFieldFormat{entrytype}{\texttt{@#1}}
\renewbibmacro*{begentry}{\printfield{entrytype}\setunit{\addspace}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson,worman,nussbaum,geer,cicero}
\printbibheading
\printbibliography[type=book,heading=subbibliography,title={Book Sources}]
\printbibliography[nottype=book,heading=subbibliography,title={Other Sources}]
\end{document}
如果你想要一个漂亮的对齐方式,你可能需要测量琴弦的宽度。这可以使用一些内部命令来完成
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric, defernumbers, backend=biber]{biblatex}
\listcsgadd{blx@datamodel@labelfields}{entrytype}
\newlength{\entrytypewidth}
\makeatletter
\AtDataInput{%
\abx@flfw@getfieldformat{abx@flfw@entrytypewidth}{entrytypewidth}{entrytype}%
\blx@setlabwidth{\entrytypewidth}{%
\csuse{abx@flfw@entrytypewidth}{\abx@field@entrytype}}}
\makeatother
\DeclareFieldFormat{entrytypewidth}{\textbf{#1}}
\DeclareFieldFormat{entrytype}{\makebox[\the\entrytypewidth][r]{\textbf{#1}}}
\renewbibmacro*{begentry}{\printfield{entrytype}\printunit{\enskip}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson,worman,nussbaum,geer,cicero}
\printbibheading
\printbibliography[type=book,heading=subbibliography,title={Book Sources}]
\printbibliography[nottype=book,heading=subbibliography,title={Other Sources}]
\end{document}