natbibapa 및 \shortcite 관련 문제

natbibapa 및 \shortcite 관련 문제
\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{c,
  author  = "Anne Author and Bert Buthor and Carla Cuthor",
  title   = "Final Thoughts",
  journal = "Circularity Today",
  year    = 3009,
  volume  = 9,
  number  = 10,
  pages   = "11--12",
}
\end{filecontents}
\documentclass{article}
\usepackage[natbibapa]{apacite}
\begin{document}
\citet{c} says something.

\bibliographystyle{apacite}
\bibliography{mybib}
\end{document} 

논문을 작성할 때 저자의 이름과 연도를 기재해야 하므로 natbib을 사용합니다. 하지만 저자가 2명 이상인 경우에는 이름만 표시하고 et.al이 표시되기를 바랍니다. 하지만 저는 natbib을 사용하기 때문에 \shortcite를 사용할 수 없습니다. 이 문제를 극복할 수 있는 다른 방법이 있나요?

답변1

성명서,

저자의 이름과 연도를 인용해야 해서 [natbibapa 옵션]을 사용합니다.

포함잘못된 결론: 저자 연도 스타일의 인용 콜아웃을 쉽게 만들 수 있습니다.없이옵션 을 지정합니다 natbibapa. \citeA대신 \citet\cite대신에 사용하십시오 \citep. apacite자세한 내용은 패키지 사용자 가이드의 섹션 4.1, "'클래식' apacite 명령"을 참조하세요 .

이 설정을 사용하면 잘린 저자 목록이 있는 텍스트 스타일 및 괄호 스타일 인용 콜아웃을 사용 \shortciteA하고 생성하는 것이 전혀 문제가 되지 않습니다.\shortcite


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

\documentclass{article}
\begin{filecontents}[overwrite]{mybib.bib}
@article{c,
  author  = "Anne Author and Bert Buthor and Carla Cuthor",
  title   = "Final Thoughts",
  journal = "Circularity Today",
  year    = 3009,
  volume  = 9,
  number  = 10,
  pages   = "11--12",
}
\end{filecontents}
\usepackage{apacite}
\bibliographystyle{apacite}

\begin{document}
\shortciteA{c} says something.
\bibliography{mybib}
\end{document}

답변2

APA 스타일(6판, 구현)의 특징은 apacite첫 번째 인용 시 3~5명의 저자 목록을 모두 첫 번째 저자 + "et al."로만 표시하는 것입니다. 후속 인용에서.

일회성 발생의 경우 apacite와 같이 이를 재정의하는 명령을 정의합니다 \shortcite.


를 사용하여 인용 명령에 대한 일부 제어권을 에 넘겨주겠다는 의미 apacite인 경우 이는 일반적으로 정의된 전문 인용 명령 중 일부를 더 이상 사용할 수 없음을 의미합니다. 이들 중 하나는 입니다 .natbibapaapacitenatbibapacite\shortcite

그만큼apacite선적 서류 비치라고 (§4.2natbib인용에 사용, p. 15)

전체 작성자 목록은 명령 뒤에 별표를 추가하여 얻습니다(예: ) \citet*{key}. 짧은 저자 목록에 대한 별도의 명령어는 없으나, 구축을 통해 얻을 수 있다 \shortcites{key}\citet{key}.

따라서 한 가지 옵션은 다음과 같습니다.

\shortcites{c}\citet{c}

당신이 처음으로 인용한 c. 이후 인용은 첫 번째 저자 + "et al."로 축약됩니다. 그래도. 그러나 물론 이는 매우 지루하고 오류가 발생하기 쉬우며 전반적으로 옳다고 느껴지지 않습니다.

apacite그러나 위에서 인용한 매뉴얼 섹션에는 더 많은 정보가 포함되어 있습니다.

natbibapa옵션 을 사용하면 옵션 및 와 함께 apacite로드됩니다 .natbiblongnamesfirstsort

따라서 natbibapa옵션 덕분에 첫 번째 인용 시 긴 저자 목록을 얻을 수 있습니다 longnamesfirst. 해당 옵션을 끌 수 있다면 다시 사업을 시작하게 됩니다.

안타깝게도 natbib이 옵션을 끌 수 있는 인터페이스는 제공되지 않습니다. 일단 natbib로드되면 longnamesfirst다시 끌 수 있는 옵션이 없습니다. 그래서 우리는 내부 명령에 의지해야 합니다. 이 옵션은 true로 호출되는 내부 부울을 설정하므로 NAT@longnamesfalse로 설정합니다.

\documentclass{article}
\usepackage[natbibapa]{apacite}
\makeatletter
\NAT@longnamesfalse
\makeatother

\begin{filecontents}{\jobname.bib}
@article{c,
  author  = {Anne Author and Bert Buthor and Carla Cuthor},
  title   = {Final Thoughts},
  journal = {Circularity Today},
  year    = 3009,
  volume  = 9,
  number  = 10,
  pages   = {11--12},
}
\end{filecontents}


\begin{document}
\citet{c} says something.

\citet{c} says something.

\bibliographystyle{apacite}
\bibliography{\jobname}
\end{document} 

저자 등. (3009)는 뭔가를 말합니다.//Author et al. (3009)는 뭔가를 말합니다.


동일한 문제에 대한 답을 찾고 있지만 옵션이 없는 경우 natbibapa(예: 를 사용하여 apaciteclassic) 제가 찾을 수 있는 가장 간단한 답은 다음과 같습니다.

\let\cite\shortcite
\let\citeA\shortciteA
\let\citeNP\shortciteNP
\let\citeauthor\shortciteauthor
\let\citeauthorNP\shortciteauthorNP

\let\maskcite\maskshortcite
\let\maskciteA\maskshortciteA
\let\maskciteNP\maskshortciteNP
\let\maskciteauthor\maskshortciteauthor
\let\maskciteauthorNP\maskshortciteauthorNP

관련 정보