apalike와 유사한 BibTeX 스타일의 편집기(소문자)를 편집기(이탤릭체)로 변경

apalike와 유사한 BibTeX 스타일의 편집기(소문자)를 편집기(이탤릭체)로 변경

나는 BibTeX가 특정 저널의 표준을 따르도록 노력하고 있습니다(APA와 매우 유사합니다). 나는 두 가지를 제외하고 매우 잘 작동하는 멋진 패키지 custom-bib를 사용하여 사용자 정의 .bst 파일을 만들었습니다.

저자는 없고 편집자는 없는 책의 경우 내 .bst 파일은 다음을 생성합니다.

Cook, E. 및 Kariukstis, L. (편집자), 1990.연륜연대기의 방법: 환경 과학에의 응용, Kluwer 학술 출판사

하지만 나는 그것을 생산하고 싶다

Cook, E. 및 Kariukstis, L. (편집자), 1990. 연연대학법 방법: 환경 과학의 응용, Kluwer Academic Publishers

(편집자)의 차이점과 제목 이탤릭체의 부족에 유의하세요. 실제 .bst 파일 없이는 재현할 수 없다는 점을 이해하지만 누군가가 올바른 방향을 알려줄 수 있기를 바랍니다. 아마도 다음 기능이 관련이 있을 것입니다. BST 구문은 제가 직접 이해하기가 매우 어렵습니다.

FUNCTION {bbl.editors}
{ "editors" }

FUNCTION {format.editors}
{editor "editor" format.names duplicate$ empty$ 'skip$
    {
      " " *
      get.bbl.editor
   "(" swap$ * ")" *
      *
    }
  if$
}

FUNCTION {format.names}
{ 'bibinfo :=
  duplicate$ empty$ 'skip$ {
  's :=
  "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{vv~}{ll}{, jj}{, f{.}.}"
      format.name$
      bibinfo bibinfo.check
      't :=
      nameptr #1 >
        {
          namesleft #1 >
            { ", " * t * }
            {
              s nameptr "{ll}" format.name$ duplicate$ "others" =
                { 't := }
                { pop$ }
              if$
              numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
                {
                  " " * bbl.etal *
                }
                {
                  bbl.and
                  space.word * t *
                }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
  } if$
}

관련 정보