
나는 biblatex (xelatex와 함께)를 사용하고 있습니다. 더 구체적으로 말하면 Zotero를 사용한 다음 Zotero에서 bib 형식으로 내보냅니다.
모든 것이 잘 작동하지만 참고문헌이 검은색으로만 표시됩니다. 물론 그것은 정상적인 동작입니다... 그러나 제 목표는 '볼륨'과 같은 턱받이 요소를 잊지 않았는지 확인하기 위해 테스트 목적으로 각 턱받이 요소에 다르게 색상을 지정하는 것입니다. 예를 들어 다음과 같은 색상 코드를 적용하고 싶습니다.
volume -> dark blue
pages -> turqoise
url -> brown
title -> red
isbn -> yellow
booktitle -> pink
publisher -> orange
author -> grey
date -> black
이것이 가능합니까?
답변1
를 사용하여 필드가 표시되는 방식을 변경할 수 있습니다 \DeclareFieldFormat
.
\DeclareFieldFormat
따라서 관련 필드를 재정의하기만 하면 됩니다 .
몇 가지 주의사항이 있지만,
모든 '필드'가 그런 것은 아닙니다.필드.
biblatex
필드, 목록 및 이름 목록을 알고 있습니다. 이 세 가지 유형은 서로 다른\Declare...Format
지시어를 사용합니다. 그래서 당신은 당신의 분야의 유형을 알아야합니다완전히 재정의하지 않으려면 원래 정의를 알아야 합니다. 여기서는 평소처럼 이탤릭체와 따옴표를 원한다고 가정하고 색상만 변경하면 됩니다.
xpatch
'를 사용하여 필드 형식을 패치하는 것이 가능하더라도\xpretofieldformat
특정 유형이 특별하게 처리되는지 알아야 합니다. 일반 형식이나 유형별 형식만 패치할 수 있지만 동시에 둘 다 패치할 수는 없기 때문입니다.
표준 스타일의 경우 대부분의 형식 지시문은 에서 찾을 수 있습니다 biblatex.def
.
필드의 경우 이는 필드 검색, 복사 및 정의에 명령 \DeclareFieldFormat
추가 만큼 쉬워야 합니다. 동일한 필드에 대해 \color{...}
여러 유형별 가 있을 수 있다는 점을 잊지 마십시오 \DeclareFieldFormat
(표준 스타일에서는 서로 옆에서 찾아야 합니다).
목록의 경우 비슷한 작업을 수행하지만 를 검색합니다 \DeclareListFormat
. ( publisher
아래를 참조하세요.)
이름은 더 복잡합니다. 먼저 색상을 지정하려는 이름이 어떤 이름 형식을 사용하는지 알아내야 합니다. 의 author
형식을 사용합니다 . 그리고 로 정의됩니다 . 그래서 우리는 의 정의를 복사하고 , 그것을 호출하고 , 추가 하고 지금부터 존재하라고 말합니다 .sortname
style=authoryear
sortname
family-given/given-family
family-given/given-family
coloured:family-given/given-family
\colour{...}
sortname
coloured:family-given/given-family
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage[svgnames]{xcolor}
\DeclareFieldFormat{volume}{\color{DarkBlue}\bibstring{volume}~#1}% volume of a book
\DeclareFieldFormat[article,periodical]{volume}{\color{DarkBlue}#1}% volume of a journal
\DeclareFieldFormat{pages}{\color{Turquoise}\mkpageprefix[bookpagination]{#1}}
\DeclareFieldFormat{url}{\mkbibacro{URL}\addcolon\space\color{Brown}\url{#1}}
\DeclareFieldFormat{title}{\color{Red}\mkbibemph{#1}}
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{\color{Red}\mkbibquote{#1\isdot}}
\DeclareFieldFormat
[suppbook,suppcollection,suppperiodical]
{title}{\color{Red}#1}
\DeclareFieldFormat{isbn}{\mkbibacro{ISBN}\addcolon\space \color{Yellow}#1}
\DeclareFieldFormat{booktitle}{\color{Pink}\mkbibemph{#1}}
\DeclareListFormat{publisher}{%
\color{Orange}%
\usebibmacro{list:delim}{#1}%
#1\isdot
\usebibmacro{list:andothers}}
\DeclareNameFormat{coloured:family-given/given-family}{%
\color{Grey}%
\ifnumequal{\value{listcount}}{1}
{\ifgiveninits
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\ifboolexpe{%
test {\ifdefvoid\namepartgiven}
and
test {\ifdefvoid\namepartprefix}}
{}
{\usebibmacro{name:revsdelim}}}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}%
\usebibmacro{name:andothers}}
\DeclareNameAlias{sortname}{coloured:family-given/given-family}
\begin{document}
\cite{sigfridsson,vizedom:related,westfahl:space,worman,geer,nussbaum,ctan}
\printbibliography
\end{document}
--validate-datamodel
항목이 데이터 모델을 준수하는지 확인하는 데 도움이 되도록 컴파일할 때 Biber 옵션을 사용할 수 있습니다 .