biblatex는 참고문헌에 "family=, familyi=" 등을 인쇄합니다.

biblatex는 참고문헌에 "family=, familyi=" 등을 인쇄합니다.

내 목표는 BiBLaTeX를 숫자 구성 스타일과 가족 제공/주어진 가족 방식으로 저자 이름을 정렬하고 모든 이름을 굵게 표시하는 것입니다. 내 MWE는 다음과 같습니다.

\documentclass{scrreprt}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}

\usepackage[
backend=biber,
style=numeric-comp,
sorting=none,
]{biblatex}

\addbibresource{test.bib}

\DeclareNameAlias{sortname}{family-given/given-family-bold}
\DeclareNameFormat{family-given/given-family-bold}{\mkbibbold{%
        \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}{given-family-bold}

    \DeclareNameAlias{author}{given-family-bold}
    \DeclareNameAlias{editor}{given-family-bold}
    \DeclareNameAlias{translator}{given-family-bold}

    \usepackage{filecontents}

    \begin{filecontents}{test.bib}
        @book{Doe86,
            author = {Doe, John},
            year = {1986},
            title = {some book},
        }
    \end{filecontents}


\begin{document}

I'm citing \cite{Doe86}

\printbibliography

\end{document}

이상하게도 컴파일 빈도에 관계없이(라텍스와 바이버 모두) 다음과 같은 출력이 생성됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

여기에 이미지 설명을 입력하세요

답변1

현재 버전에서는 biblatex이름 래퍼를 사용하여 이름에 굵은 글씨를 적용합니다. 혼합된 순서를 원하는 경우에도 family-given/given-family이름 형식도 다시 정의해야 합니다(숫자 스타일의 기본값은 given-family순서이기 때문입니다).

\documentclass{scrreprt}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}

\usepackage[
  backend=biber,
  style=numeric-comp,
  sorting=none,
]{biblatex}

\DeclareNameAlias{sortname}{family-given/given-family}

\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}

\DeclareNameWrapperFormat{sortname}{\mkbibbold{#1}}

\DeclareNameWrapperAlias{author}{sortname}
\DeclareNameWrapperAlias{editor}{sortname}
\DeclareNameWrapperAlias{translator}{sortname}

\addbibresource{biblatex-examples.bib}

\begin{document}
I'm citing \cite{sigfridsson,nussbaum}

\printbibliography
\end{document}

**Sigfridsson, Emma 및 Ulf Ryde**. "정전기 전위와 모멘트로부터 원자 전하를 유도하는 방법 비교". In: Journal of Computational Chemistry 19.4(1998), pp. 377–395. doi: 10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P.//**누스바움, 마사**. 아리스토텔레스의 『De Motu Animalium』. Princeton: Princeton University Press, 1978. (이중 별표로 표시된 굵은 글씨)


질문 코드의 문제점은 하나의 이름 형식( family-given/given-family-bold)을 정의했다는 것입니다.사용된존재하지 않는 다른 형식( given-family-bold). 존재하지 않는 형식으로 인해 이상한 출력이 발생합니다. 다음과 같이 재작업할 수 있습니다(그러나 저는 여전히 위의 솔루션을 선호합니다).

\documentclass{scrreprt}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}

\usepackage[
  backend=biber,
  style=numeric-comp,
  sorting=none,
]{biblatex}


\DeclareNameFormat{family-given/given-family-bold}{%
  \mkbibbold{%
    \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}{family-given/given-family-bold}

\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}


\addbibresource{biblatex-examples.bib}

\begin{document}
I'm citing \cite{sigfridsson,nussbaum}

\printbibliography
\end{document}

출력은 동일합니다.

관련 정보