"et Int" 인용 시스템 사용

"et Int" 인용 시스템 사용

저는 자금 지원 기관이 참고문헌 항목에 대해 다음과 같은 공간 절약 스타일을 지정하는 보조금 제안서를 작성 중입니다.

저자가 여러 명인 출판물은 첫 번째 저자, 두 번째 저자, et int, 마지막 저자로 인용할 수 있습니다.

분명히 이것은 자금 조달 기관이 발명한 것이 아닙니다. "et Int" 인용 스타일은 다음에서 제안되었습니다.과학 편집자2003년에 [1] 그 이후로 분명히 어느 정도 견인력을 얻었습니다. 그러나 나는 평생 동안 Biblatex에서 이 작업을 수행하는 방법(또는 이것이 가능한지 여부)을 알아낼 수 없습니다. 설명서(버전 3.7)에서 간과한 내용이 있습니까? 아니면 자체 솔루션을 출시해야 합니까?

나는 당신이 할 수 있다는 것을 알고 있습니다잘리다minbibnames및 옵션을 사용하여 인쇄된 이름의 수는 잘 maxbibnames렸지만 내가 알 수 있는 한 잘린 이름 목록은 항상 고정 문자열 "로 끝납니다.외."(또는 참고문헌 스타일에 있는 값 andothers). 값을 동적으로 수정하여 andothers"et int, " 다음에 인쇄하려는 참고문헌 항목의 마지막 저자(또는 편집자)의 이름이 옵니까?

[1] Sergei A. Grando와 Jeffrey D. Bernhard."제1저자, 제2저자, et Int, 최종 저자": 생물의학 논문을 위한 제안된 인용 시스템. 과학 편집자26(4):122–123, 2003년 7월~8월.

답변1

불행하게도 제안된 스타일의 실제 세부 사항에 대해 논문이 너무 명확하지 않았기 때문에 당분간은 내 해석에 따라야 할 것입니다.

bbx:etinttrunc이 구현에서는 저자 번호 뒤 와 마지막 저자 앞에 저자가 2명 이상인 경우 '개입 저자'를 제외합니다(한 명의 저자만 'et int.'로 대체하는 것은 불공평한 것으로 보입니다. 전체 이름을 지정하는 것이 좋습니다). 이 예에서는 bbx:etinttrunc귀하의 질문과 같이 2로 설정되었습니다.

Biber가 이것을 기본적으로 지원한다면 일이 더 쉬워질 것이라고 생각하지만, 이렇게도 작동합니다.

MWE

\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric, backend=biber, maxnames=999]{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@inproceedings{cheshkov,
  author    = {Cheshkov, S. and Tajima, T. and Chiu, C. and Breitling, F.},
  title     = {Emittance control in Laser Wakefield Accelerator},
  booktitle = {American Institute of Physics Conference Series},
  date      = {2001-05},
  volume    = {569},
  pages     = {163-176},
}
@article{dehant,
  author = {Veronique Dehant and Bruce Banerdt and Philippe Lognonné and Matthias Grott
            and Sami Asmar and Jens Biele and Doris Breuer and François Forget 
            and Ralf Jaumann and Catherine Johnson and Martin Knapmeyer and Benoit Langlais
            and Le Feuvre, Mathieu and David Mimoun and Antoine Mocquet and Peter Read
            and Attilio Rivoldini and Oliver Romberg and Gerald Schubert and Sue Smrekar
            and Tilman Spohn and Paolo Tortora and Stephan Ulamec and Susanne Vennerstrøm},
  journal = {Planetary and Space Science},
  number  = {1},
  pages   = {123 - 145},
  title   = {Future {Mars} geophysical observatories for understanding its internal structure, rotation, and evolution},
  volume  = {68},
  year    = {2012},
}
\end{filecontents*}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

%\renewcommand*{\finalnamedelim}{\multinamedelim}

\NewBibliographyString{etint}
\DefineBibliographyStrings{english}{etint = {et\addabbrvspace int\adddot}}

\newcounter{bbx:etinttrunc}
\setcounter{bbx:etinttrunc}{2}
\newtoggle{bbx:showetint}
\DeclareNameFormat{given-family-etint}{%
  \ifnumequal{\value{listcount}}{1}
    {\toggletrue{bbx:showetint}}
    {}%
  \ifboolexpr{
    test {\ifnumless{\value{listcount}}{\value{bbx:etinttrunc}+1}}
    or test {\ifnumequal{\value{listcount}}{\value{liststop}}}
    or 
      ( test {\ifnumequal{\value{listcount}}{\value{bbx:etinttrunc}+1}}
        and test {\ifnumequal{\value{liststop}}{\value{bbx:etinttrunc}+2}})
    }
    {\ifgiveninits
       {\usebibmacro{name:given-family}
          {\namepartfamily}
          {\namepartgiveni}
          {\namepartprefix}
          {\namepartsuffix}}
        {\usebibmacro{name:given-family}
          {\namepartfamily}
          {\namepartgiven}
          {\namepartprefix}
          {\namepartsuffix}}}
    {\iftoggle{bbx:showetint}
       {\usebibmacro{name:delim}{\bibstring{etint}}%
        \bibstring{etint}%
        \togglefalse{bbx:showetint}}
       {}}%
  \usebibmacro{name:andothers}}

\DeclareNameAlias{sortname}{given-family-etint}
\DeclareNameAlias{author}{given-family-etint}
\DeclareNameAlias{editor}{given-family-etint}
\DeclareNameAlias{translator}{given-family-etint}

\begin{document}
\cite{aksin,worman,sigfridsson,companion,cotton,cheshkov,dehant}
\printbibliography
\end{document}

예제 출력


4명의 저자 저작물에서 세 번째 저자를 제외해야 한다면 약간 더 간단한 \DeclareNameFormat{given-family-etint}.

\DeclareNameFormat{given-family-etint}{%
  \ifnumequal{\value{listcount}}{1}
    {\toggletrue{bbx:showetint}}
    {}%
  \ifboolexpr{
    test {\ifnumless{\value{listcount}}{\value{bbx:etinttrunc}+1}}
    or test {\ifnumequal{\value{listcount}}{\value{liststop}}}}
    {\ifgiveninits
       {\usebibmacro{name:given-family}
          {\namepartfamily}
          {\namepartgiveni}
          {\namepartprefix}
          {\namepartsuffix}}
        {\usebibmacro{name:given-family}
          {\namepartfamily}
          {\namepartgiven}
          {\namepartprefix}
          {\namepartsuffix}}}
    {\iftoggle{bbx:showetint}
       {\usebibmacro{name:delim}{\bibstring{etint}}%
        \bibstring{etint}%
        \togglefalse{bbx:showetint}}
       {}}%
  \usebibmacro{name:andothers}}

답변2

패키지 에 번들로 포함된 작성자 날짜 및 장황한 스타일은 사용자가 요구하는 작업을 정확하게 수행하는 옵션을 biblatex-archaeology제공합니다 . preservelastauthor표현 은 그곳의 명령 et Int에 의해 지시됩니다 \finalnameellipsis.

관련 정보