주석이 달린 참고문헌의 새 필드를 기반으로 항목 뒤에 텍스트 추가

주석이 달린 참고문헌의 새 필드를 기반으로 항목 뒤에 텍스트 추가

첨가

\DeclareDatamodelFields[type=field,datatype=literal]{cstatement}
\AtEveryBibitem{[\printfield{cstatement}]}

biblatex.cfg~ 이다거의내가 원하는 것. 키워드가 있는 모든 bibtex 항목에 대해 cstatement="This is a foo"이 코드는 biblatex가 "This is a foo"를 미리 사용하여 참고문헌 항목에 인쇄하도록 합니다.

하지만 내가 무엇을실제로주석이 달린 참고문헌에서와 같이 이 새로운 항목이 항목 바로 뒤에 나타나도록 하는 것이 필요합니다. ``부록'' 항목도 다음과 같습니다.거의내가 원하는 것은 1) 이 맞춤 키워드를 사용하고 싶고 2) 형식을 더 세밀하게 제어하고 싶기 때문입니다. 즉, cstatement의 리터럴 텍스트가 다음과 같이 나타나기를 바랍니다.

\item [bibentry here]\\\ \\[cstatement literal text here]

여기서 \\\ \\cstatement의 텍스트와 bibentry 사이에 빈 줄이 생깁니다. (cstatement가 존재하지 않는 한 개행 문자가 있어서는 안 됩니다.) 이는 모든 bibtex 항목 유형(article, inproceedings 등)에서 작동해야 합니다.

어떤 조언이라도 주시면 감사하겠습니다.

답변1

나는 \par현장 전에 a를 발행 할 것입니다. 그런 다음 를 사용하여 실제 항목과 주석 사이의 거리를 제어할 수 있습니다 \bibparsep. 참고문헌 항목의 끝에 무언가를 추가하는 매우 간단한 방법은 finentry모든 좋은 참고문헌 스타일이 사용해야 하는 bibmacro를 재정의하는 것입니다.

여기 예제에서는 annotation대신 필드를 사용했지만 cstatement데이터 모델 파일에서 필드를 선언하면 annotation에 대한 모든 언급을 간단하게 교환할 수 있습니다 cstatement.

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}

\setlength{\bibparsep}{.5\baselineskip}

\renewbibmacro*{finentry}{%
  \setunit{\finentrypunct\par}%
  \printfield{annotation}%
  \finentry}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
  author     = {Humphrey Appleby},
  title      = {On the Importance of the Civil Service},
  date       = {1980},
  annotation = {This is a foo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\cite{appleby}
\printbibliography
\end{document}

주석이 달린 참고문헌 항목.

관련 정보