如何标记书目项目、书籍和文章等?

如何标记书目项目、书籍和文章等?

可以按类型细分参考书目(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}

与上面的设置类似。条目类型现在在框中右对齐。

相关内容