
다음에 문제가 있습니다. 다음 인용 스타일이 필요합니다.
- 한 작가가 그 작가를 보여주면
- 세 명의 저자가 있는 경우 처음에는 세 사람을 모두 표시하지만 이후 인용에서는 첫 번째 저자만 표시하고외.
- 3명 이상의 저자가 첫 번째 저자를 표시하면외.
다음 문서는 처음으로 3명 이상이면 저자를 표시하고 이후에는 첫 번째 저자와 더한 저자를 표시하도록 올바르게 작동합니다.외.
하지만 저자가 4명 이상인 경우 문제는 첫 번째 저자만 표시하는 방법입니다.외.
\documentclass{article}
\usepackage{etoolbox}
\usepackage{natbib}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{test1,
author = {Author, A. and Buthor, B and Cuthor, C and Duthor, D},
title = {Title},
journal = {Journal},
year = 2013
}
@article{test2,
author = {Author, A. and Buthor, B and Cuthor, C and Duthor, D},
title = {Title},
journal = {Journal},
year = 2012
}
@article{test3,
author = {Author, A. and Buthor, B and Cuthor, C and Duthor, D and wael , mohamed and yafooz },
title = {Title},
journal = {Journal},
year = 2013
}
\end{filecontents}
\newcommand{\citelist}{}
\newcounter{currentcite}
\newcounter{currentcitetotal}
\newcommand{\mycite}[1]{
\setcounter{currentcitetotal}{0}
\renewcommand{\do}[1]{\addtocounter{currentcitetotal}{1}}
\docsvlist{#1}
\renewcommand{\do}[1]{%
\addtocounter{currentcite}{1}%
\ifinlist{##1}{\citelist}
{\citet{##1}}
{\citet*{##1}\listadd{\citelist}{##1}}%
\ifnumcomp{\value{currentcitetotal}}{>}{\value{currentcite}}
{, }
{}%
}
\docsvlist{#1}
}
\begin{document}
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
\mycite{test1,test2}
ffffffffffffffffff
\mycite{test1}
yyyyyyyyyyyyyyyyyyyyyyyyyyyy
\mycite{test2}
ffffffffffffffffff\mycite{test3}
\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}