본문에서 2명의 저자가 "and"로 구분되도록 bst 파일을 수정합니다.

본문에서 2명의 저자가 "and"로 구분되도록 bst 파일을 수정합니다.

저는 논문용 사용자 정의 .bst 파일로 작업해야 합니다. 참고할 저자가 정확히 두 명인 경우, 이 저자들은 분리됩니다.텍스트로와 함께 " , ".
예를 들어 (Simonyan, Zisserman, 2014). 나는 그렇게 되기를 원한다(Simonyan 및 Zisserman, 2014).
내 참고문헌의 스타일은 정확합니다. 그렇다면 .bst 파일을 변경해야 합니까?
내 생각에 관련 내용은 다음과 같습니다.

INTEGERS { nameptr namesleft numnames }

FUNCTION {format.names}
{ 's :=
  'f :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr f format.name$ 't :=
      nameptr #1 >
        { namesleft #1 >
            { ", " * t * }
            { t "others" =
                { " et~al." * }
                { ", " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

FUNCTION {format.authors}
{ author empty$
    { "" }
    { "{vv~}{ll}{, jj}{, f.}" author format.names }
  if$
}

답변1

관련 매크로는 format.lab.names.abbr. "and"는 다음과 같이 읽어야 합니다.

FUNCTION {format.lab.names.abbr}
{ 's :=
  s num.names$ 'numnames :=
  numnames #1 >
    { numnames #2 >
        { s #1 "{vv~}{ll}" format.name$ " et al." * }
        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
            { s #1 "{vv~}{ll}" format.name$ " et al." * }
            { s #1 "{vv~}{ll}" format.name$ " and " *
              s #2 "{vv~}{ll}" format.name$ * 
            }
          if$
        }
      if$
    }
    { s #1 "{vv~}{ll}" format.name$ }
  if$
}

변경 사항은 가장 안쪽 조건문의 두 번째 분기에 있습니다. isprs.bst현재 사용 가능한 버전은 다음과 같습니다.http://www.isprs.org/documents/orangebook/app5.aspx가지다

s #1 "{vv~}{ll}" format.name$ " , " * % replaced and with ,

거기서 우리는 그것을 읽게 만듭니다

s #1 "{vv~}{ll}" format.name$ " and " *

다시. 해당 설명과 쉼표 앞의 가짜 공백을 확인하세요.


물론 이 문제를 템플릿 관리자에게 보고해야 하며 파일을 .bst직접 수정해서는 안 됩니다. 수정하고 이름을 변경한 경우에만 isprs-and.bst변경 사항을 복사하고, 말하고, 문서화하세요.

관련 정보