apalike2 - 여러 작성자

apalike2 - 여러 작성자

나는 apalike2의 수정된 버전을 사용하고 있습니다.

현재 출력은 다음과 같습니다.

Oneal, John R., Russett, Bruce and Berbaum, Michael L. (2003), 평화의 원인: 민주주의, 상호의존 및 국제기구, 1885-1992,국제학분기별, 47(1), 371-393.

그러나 나는 다음과 같이 갖고 싶습니다 :

Oneal, John R., Bruce Russett 및 Michael L. Berbaum (2003), 평화의 원인: 민주주의, 상호의존 및 국제기구, 1885-1992,국제학분기별, 47(1), 371-393.

이 특별한 경우에 두 번째 및 세 번째 저자의 vv/ll/jj/ff 순서를 어떻게 변경합니까?

format.names 함수는 다음과 같습니다.

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=   % last name first
      nameptr #1 >
    { namesleft #1 >
        { ", " * t * }
        { numnames #2 >
        { "," * }
        'skip$
          if$
          t "others" =
        { " et~al." * }
        { " \& " * t * }    % changed from " and " for names -- BJR 10/5/89
          if$
        }
      if$
    }
    't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

답변1

(i) 의 복사본을 만들고 apalike2.bst복사본의 이름을 지정 myapalike2.bst하고 (ii) 전체 names.format함수를 다음 코드로 바꾸는 것이 좋습니다.

FUNCTION {format.names}
{ duplicate$ empty$ 'skip$ {
  's :=
  "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      duplicate$ #1 >
        { "{ff~}{vv~}{ll}{, jj}" }
        { "{vv~}{ll}{, jj}{, ff}" }
      if$
      format.name$
      't :=
      nameptr #1 >
        {
          namesleft #1 >
            { ", " * t * }
            {
              numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
                { " et~al." * }
                { " \& " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
  } if$
}

새로운 코드의 전체 세부사항은 설명하기가 지루하지만, 주요 차이점은 한 줄

s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=

이전 기능에서 다음으로 대체되었습니다.

    { namesleft #0 > }
    { s nameptr
      duplicate$ #1 >
        { "{ff~}{vv~}{ll}{, jj}" }
        { "{vv~}{ll}{, jj}{, ff}" }
      if$
      format.name$
      't :=

결과적으로 형식화되는 최초의 저자 이름인지 아니면 이후 저자의 이름인지에 따라 두 가지 다른 형식 지정 규칙이 제공됩니다.

myapalike2.bst기본 tex 파일과 동일한 디렉토리 또는 BibTeX에서 검색한 디렉토리에 파일을 저장하십시오 . 두 번째 방법을 선택하는 경우 TeX 배포판의 파일 이름 데이터베이스를 적절하게 업데이트하십시오.

지침을 제공하여 새로운 참고문헌 스타일을 사용하십시오 \bibliographystyle{myapalike2}. 모든 변경 사항을 완전히 전파하려면 LaTeX, BibTeX 및 LaTeX를 두 번 더 실행해야 합니다.

즐거운 BibTeXing을 즐겨보세요!

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

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{oneal:2003,
  author = "Oneal, John R. and Russett, Bruce and Berbaum, Michael L.",
  year  =  2003, 
  title = "Causes of Peace: {Democracy}, Interdependence, and International Organizations, 1885--1992", 
  journal = "International Studies Quarterly", 
  volume  = 47,
  number  = 1, 
  pages   = "371-393",
}
\end{filecontents*}
\usepackage{natbib}  % citation management package
\begin{document}
\cite{oneal:2003}
\bibliographystyle{myapalike2}  % the new bibliography style
\bibliography{\jobname} 
\end{document}

관련 정보