3

I was trying to cite two papers written in the same year but by different authors. The bibliography package I used was \usepackage{natbib}.

...
\usepackage{natbib}
\begin{document}

\cite{pchan02} argues that.... However, \cite{mchan02} points out a problem...

\bibliography{listwork} \bibliographystyle{custom1} \end{document}

However, the output I got was:

'Chan (2002a) argues that.... However, Chan (2002b) points out a problem...'

The same with the bibliography list at the end: 'Chan, Peter. 2002a. ...' 'Chan, Mary. 2002b. ...'

It seems that natbib judges whether two authors are the same just by the family name. In this case, the two Chan's are actually different authors ('Peter Chan' vs. 'Mary Chan'). So, the desired output for me would be:

'Chan (2002) argues that.... However, Chan (2002) points out a problem...'

Is there a way I can change things so two authors would be taken to be the same only when the both the first and surnames are identical? That is, if I'm citing two works by Susan Chan in the same year, I'd like the outputs of \cite{schan07a} and \cite{schan07b} to be exactly 'Chan (2007a)' and 'Chan (2007b)' (and I have no problem with this; my compiler gave me exactly these outputs.) The problem I have is that two different authors with the same surname are also treated the same person, incorrectly.

Any help would be greatly appreciated. Thanks! (I searched for similar questions on StackExchange, but the solutions are inapplicable in my case. I'm using natbib.)

Here's a list of entries from the listwork.bib file:

@article{pchan02,
  title={The meaning of life},
  author={Chan, Peter},
  journal={Journal of Happiness},
  pages={1--3},
  year={2002},
}

@article{mchan02, title={On the meaning of the meaning of life}, author={Chan, Mary}, journal={Journal of Happiness}, pages={4--6}, year={2002}, }

@article{schan07a, title={On meaning}, author={Chan, Susan}, journal={Journal of Happiness}, pages={10--13}, year={2007}, }

@article{schan07b, title={On the meaning of meaning}, author={Chan, Susan}, journal={Journal of Happiness}, pages={14--16}, year={2007}, }

Here's the code from the custom1.bst file:

ENTRY
  { address
    author
    booktitle
    chapter
    edition
    editor
    howpublished
    institution
    journal
    key
    month
    note
    number
    organization
    pages
    publisher
    school
    series
    title
    type
    url
    volume
    year
  }
  {}
  { label extra.label sort.label short.list }

INTEGERS { output.state before.all mid.sentence after.sentence after.block }

FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := }

STRINGS { s t }

FUNCTION {output.nonnull} { 's := output.state mid.sentence = { ", " * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s }

FUNCTION {output} { duplicate$ empty$ 'pop$ 'output.nonnull if$ }

FUNCTION {output.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ }

FUNCTION {fin.entry} { add.period$ write$ newline$ }

FUNCTION {new.block} { output.state before.all = 'skip$ { after.block 'output.state := } if$ }

FUNCTION {new.sentence} { output.state after.block = 'skip$ { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } if$ }

FUNCTION {add.blank} { " " * before.all 'output.state := }

FUNCTION {date.block} { new.block }

FUNCTION {not} { { #0 } { #1 } if$ }

FUNCTION {and} { 'skip$ { pop$ #0 } if$ }

FUNCTION {or} { { pop$ #1 } 'skip$ if$ }

FUNCTION {new.block.checkb} { empty$ swap$ empty$ and 'skip$ 'new.block if$ }

FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ }

FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } { "{\em " swap$ * "/}" * } if$ }

FUNCTION {capitalize} { "u" change.case$ "t" change.case$ }

FUNCTION {space.word} { " " swap$ * " " * }

% Here are the language-specific definitions for explicit words. % Each function has a name bbl.xxx where xxx is the English word. % The language selected here is ENGLISH FUNCTION {bbl.and} { "and"}

FUNCTION {bbl.etal} { "et~al." }

FUNCTION {bbl.editors} { "ed." } %% < eds. (Alexis)

FUNCTION {bbl.editor} { "ed." }

FUNCTION {bbl.edby} { "edited by" }

FUNCTION {bbl.edition} { "edition" }

FUNCTION {bbl.volume} { "volume" }

FUNCTION {bbl.of} { "of" }

FUNCTION {bbl.number} { "number" }

FUNCTION {bbl.nr} { "no." }

FUNCTION {bbl.in} { "in" }

FUNCTION {bbl.pages} { "" }

FUNCTION {bbl.page} { "" }

FUNCTION {bbl.chapter} { "chapter" }

FUNCTION {bbl.techrep} { "Technical Report" }

FUNCTION {bbl.mthesis} { "Master's thesis" }

FUNCTION {bbl.phdthesis} { "Doctoral Dissertation" }

MACRO {jan} {"January"}

MACRO {feb} {"February"}

MACRO {mar} {"March"}

MACRO {apr} {"April"}

MACRO {may} {"May"}

MACRO {jun} {"June"}

MACRO {jul} {"July"}

MACRO {aug} {"August"}

MACRO {sep} {"September"}

MACRO {oct} {"October"}

MACRO {nov} {"November"}

MACRO {dec} {"December"}

MACRO {acmcs} {"ACM Computing Surveys"}

MACRO {acta} {"Acta Informatica"}

MACRO {cacm} {"Communications of the ACM"}

MACRO {ibmjrd} {"IBM Journal of Research and Development"}

MACRO {ibmsj} {"IBM Systems Journal"}

MACRO {ieeese} {"IEEE Transactions on Software Engineering"}

MACRO {ieeetc} {"IEEE Transactions on Computers"}

MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}

MACRO {ipl} {"Information Processing Letters"}

MACRO {jacm} {"Journal of the ACM"}

MACRO {jcss} {"Journal of Computer and System Sciences"}

MACRO {scp} {"Science of Computer Programming"}

MACRO {sicomp} {"SIAM Journal on Computing"}

MACRO {tocs} {"ACM Transactions on Computer Systems"}

MACRO {tods} {"ACM Transactions on Database Systems"}

MACRO {tog} {"ACM Transactions on Graphics"}

MACRO {toms} {"ACM Transactions on Mathematical Software"}

MACRO {toois} {"ACM Transactions on Office Information Systems"}

MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}

MACRO {tcs} {"Theoretical Computer Science"}

INTEGERS { nameptr namesleft numnames }

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

              &quot; &quot; * bbl.etal *
            }
            { bbl.and
              space.word * t *
            }
          if$
        }
      if$
    }
    't
  if$
  nameptr #1 + 'nameptr :=
  namesleft #1 - 'namesleft :=
}

while$ }

FUNCTION {format.key} { empty$ { key field.or.null } { "" } if$ }

FUNCTION {format.authors} { author empty$ { "" } { author format.names } if$ }

FUNCTION {format.editors} { editor empty$ { "" } { editor format.names editor num.names$ #1 > { ", " * bbl.editors * } { ", " * bbl.editor * } if$ } if$ }

FUNCTION {format.in.editors} { editor empty$ { "" } { editor format.names.ed } if$ }

FUNCTION {format.note} { url empty$ 'skip$ { "\urlprefix\url{" url * "}" * output } if$ note empty$ { "" } { note #1 #1 substring$ duplicate$ "{" = 'skip$ { output.state mid.sentence = { "l" } { "u" } if$ change.case$ } if$ note #2 global.max$ substring$ * } if$ }

FUNCTION {format.title} { title empty$ { "" } { title "t" change.case$ } if$ }

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

FUNCTION {author.editor.key.full} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.full.names } if$ } { author format.full.names } if$ }

FUNCTION {author.key.full} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.full.names } if$ }

FUNCTION {editor.key.full} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.full.names } if$ }

FUNCTION {make.full.names} { type$ "book" = type$ "inbook" = or 'author.editor.key.full { type$ "proceedings" = 'editor.key.full 'author.key.full if$ } if$ }

FUNCTION {output.bibitem} { newline$ "\bibitem[{" write$ label write$ ")" make.full.names duplicate$ short.list = { pop$ } { * } if$ "}]{" * write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := }

FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ }

FUNCTION {word.in} { bbl.in capitalize " " * }

FUNCTION {format.date} { year duplicate$ empty$ { "empty year in " cite$ * "; set to ????" * warning$ pop$ "????" } 'skip$ if$ extra.label * before.all 'output.state := after.sentence 'output.state := }

FUNCTION {format.btitle} { title "t" change.case$ emphasize %% < title emphasize (Alexis) }

FUNCTION {tie.or.space.connect} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ * * }

FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ }

FUNCTION {format.bvolume} { volume empty$ { "" } { bbl.volume volume tie.or.space.connect series empty$ 'skip$ { bbl.of space.word * series emphasize * } if$ "volume and number" number either.or.check } if$ }

FUNCTION {format.number.series} { volume empty$ { number empty$ { series field.or.null } { series empty$ { number } { output.state mid.sentence = { bbl.number } { bbl.number capitalize } if$ number tie.or.space.connect bbl.in space.word * series * } if$ } if$ } { "" } if$ }

FUNCTION {format.edition} { edition empty$ { "" } { output.state mid.sentence = { edition "l" change.case$ " " * bbl.edition * } { edition "t" change.case$ " " * bbl.edition * } if$ } if$ }

INTEGERS { multiresult }

FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult }

FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check { pages n.dashify } { pages } if$ } if$ }

FUNCTION {format.journal.pages} { pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * } if$ } if$ }

FUNCTION {format.vol.num.pages} { volume field.or.null format.journal.pages }

FUNCTION {format.chapter.pages} { chapter empty$ 'format.pages { type empty$ { bbl.chapter } { type "l" change.case$ } if$ chapter tie.or.space.connect pages empty$ 'skip$ { ", " * format.pages * } if$ } if$ }

% The original format.in.ed.booktitle (capitalize proceedings titles)--Alexis FUNCTION {format.in.ed.proctitle} { booktitle empty$ { "" } { editor empty$ { word.in booktitle emphasize * } { word.in booktitle emphasize * ", " * editor num.names$ #1 > { bbl.editors } { bbl.editor } if$ * " " * format.in.editors * } if$ } if$ }

FUNCTION {format.in.ed.booktitle} { booktitle empty$ { "" } { editor empty$ %% Added: "t" change.case$ (Alexis) { word.in booktitle "t" change.case$ emphasize * } { word.in booktitle "t" change.case$ emphasize * ", " * editor num.names$ #1 > { bbl.editors } { bbl.editor } if$ * " " * format.in.editors * } if$ } if$ }

FUNCTION {format.thesis.type} { type empty$ 'skip$ { pop$ type "t" change.case$ } if$ }

FUNCTION {format.tr.number} { type empty$ { bbl.techrep } 'type if$ number empty$ { "t" change.case$ } { number tie.or.space.connect } if$ }

FUNCTION {format.article.crossref} { word.in " \cite{" * crossref * "}" * }

FUNCTION {format.book.crossref} { volume empty$ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ word.in } { bbl.volume capitalize volume tie.or.space.connect bbl.of space.word * } if$ " \cite{" * crossref * "}" * }

FUNCTION {format.incoll.inproc.crossref} { word.in " \cite{" * crossref * "}" * }

FUNCTION {format.org.or.pub} { 't := "" address empty$ t empty$ and 'skip$ { address empty$ 'skip$ { address * } if$ t empty$ 'skip$ { address empty$ 'skip$ { ": " * } if$ t * } if$ } if$ }

FUNCTION {format.publisher.address} { publisher empty$ { "empty publisher in " cite$ * warning$ "" } { publisher } if$ format.org.or.pub }

FUNCTION {format.organization.address} { organization empty$ { "" } { organization } if$ format.org.or.pub }

FUNCTION {article} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check new.block crossref missing$ { journal emphasize "journal" output.check add.blank format.vol.num.pages output } { format.article.crossref output.nonnull format.pages output } if$ new.block format.note output fin.entry }

FUNCTION {book} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ format.date "year" output.check date.block format.btitle "title" output.check crossref missing$ { format.bvolume output new.block format.number.series output new.sentence format.publisher.address output } { new.block format.book.crossref output.nonnull } if$ format.edition output new.block format.note output fin.entry }

FUNCTION {booklet} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.title "title" output.check new.block howpublished output address output new.block format.note output fin.entry }

FUNCTION {inbook} { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ format.date "year" output.check date.block format.btitle "title" output.check crossref missing$ { format.bvolume output format.chapter.pages "chapter and pages" output.check new.block format.number.series output new.sentence format.publisher.address output } { format.chapter.pages "chapter and pages" output.check new.block format.book.crossref output.nonnull } if$ format.edition output new.block format.note output fin.entry }

FUNCTION {incollection} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check new.block crossref missing$ { format.in.ed.booktitle "booktitle" output.check format.bvolume output format.number.series output format.chapter.pages output new.sentence format.publisher.address output format.edition output } { format.incoll.inproc.crossref output.nonnull format.chapter.pages output } if$ new.block format.note output fin.entry }

FUNCTION {inproceedings} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check new.block crossref missing$ %% Was: format.in.ed.booktitle (need different capitalization-- Alexis) { format.in.ed.proctitle "booktitle" output.check format.bvolume output format.number.series output format.pages output new.sentence publisher empty$ { format.organization.address output } { organization output format.publisher.address output } if$ } { format.incoll.inproc.crossref output.nonnull format.pages output } if$ new.block format.note output fin.entry }

FUNCTION {conference} { inproceedings }

FUNCTION {manual} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.btitle "title" output.check organization address new.block.checkb organization output address output format.edition output new.block format.note output fin.entry }

FUNCTION {mastersthesis} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check new.block bbl.mthesis format.thesis.type output.nonnull school "school" output.check address output new.block format.note output fin.entry }

FUNCTION {misc} { output.bibitem format.authors output author format.key output format.date "year" output.check date.block format.title output new.block howpublished output new.block format.note output fin.entry }

FUNCTION {phdthesis} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check new.block bbl.phdthesis format.thesis.type output.nonnull school "school" output.check address output new.block format.note output fin.entry }

FUNCTION {proceedings} { output.bibitem format.editors output editor format.key output format.date "year" output.check date.block format.btitle "title" output.check format.bvolume output format.number.series output new.sentence publisher empty$ { format.organization.address output } { organization output format.publisher.address output } if$ new.block format.note output fin.entry }

FUNCTION {techreport} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check new.block format.tr.number output.nonnull institution "institution" output.check address output new.block format.note output fin.entry }

FUNCTION {unpublished} { output.bibitem format.authors "author" output.check author format.key output format.date "year" output.check date.block format.title "title" output.check new.block format.note "note" output.check %% --> begin: changes by Alexis address empty$ 'skip$ { address output.nonnull } if$ month empty$ 'skip$ { month " " * year * output.nonnull } if$ %% <-- end: changes by Alexis
fin.entry }

FUNCTION {default.type} { misc }

READ

FUNCTION {sortify} { purify$ "l" change.case$ }

INTEGERS { len }

FUNCTION {chop.word} { 's := 'len := s #1 len substring$ = { s len #1 + global.max$ substring$ } 's if$ }

FUNCTION {format.lab.names} { 's := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > { pop$ " " * bbl.etal * } { #2 < 'skip$ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " " * bbl.etal * } { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ * } if$ } if$ } if$ }

FUNCTION {author.key.label} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { author format.lab.names } if$ }

FUNCTION {author.editor.key.label} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ } { author format.lab.names } if$ }

FUNCTION {editor.key.label} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } { editor format.lab.names } if$ }

FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.label 'author.key.label if$ } if$ 'short.list := }

FUNCTION {calc.label} { calc.short.authors short.list "("

year duplicate$ empty$ { pop$ "????" } 'skip$ if$

'label := }

FUNCTION {sort.format.names} { 's := #1 'nameptr := "" s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := nameptr #1 > { " " * namesleft #1 = t "others" = and { "zzzzz" * } { t sortify * } if$ } { t sortify * } if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ }

FUNCTION {sort.format.title} { 't := "A " #2 "An " #3 "The " #4 t chop.word chop.word chop.word sortify #1 global.max$ substring$ }

FUNCTION {author.sort} { author empty$ { key empty$ { "to sort, need author or key in " cite$ * warning$ "" } { key sortify } if$ } { author sort.format.names } if$ }

FUNCTION {author.editor.sort} { author empty$ { editor empty$ { key empty$ { "to sort, need author, editor, or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ } { author sort.format.names } if$ }

FUNCTION {editor.sort} { editor empty$ { key empty$ { "to sort, need editor or key in " cite$ * warning$ "" } { key sortify } if$ } { editor sort.format.names } if$ }

FUNCTION {presort} { calc.label label sortify " "

type$ "book" = type$ "inbook" = or 'author.editor.sort { type$ "proceedings" = 'editor.sort 'author.sort if$ } if$ #1 entry.max$ substring$ 'sort.label := sort.label

" "

title field.or.null sort.format.title

#1 entry.max$ substring$ 'sort.key$ := }

ITERATE {presort}

SORT

STRINGS { last.label next.extra }

INTEGERS { last.extra.num number.label }

FUNCTION {initialize.extra.label.stuff} { #0 int.to.chr$ 'last.label := "" 'next.extra := #0 'last.extra.num := #0 'number.label := }

FUNCTION {forward.pass} { last.label label = { last.extra.num #1 + 'last.extra.num := last.extra.num int.to.chr$ 'extra.label := } { "a" chr.to.int$ 'last.extra.num := "" 'extra.label := label 'last.label := } if$ number.label #1 + 'number.label := }

FUNCTION {reverse.pass} { next.extra "b" = { "a" 'extra.label := } 'skip$ if$ extra.label 'next.extra := extra.label duplicate$ empty$ 'skip$ { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := label extra.label * 'label := }

EXECUTE {initialize.extra.label.stuff}

ITERATE {forward.pass}

REVERSE {reverse.pass}

FUNCTION {bib.sort.order} { sort.label " "

year field.or.null sortify

" "

title field.or.null sort.format.title

#1 entry.max$ substring$ 'sort.key$ := }

ITERATE {bib.sort.order}

SORT

FUNCTION {begin.bib} { preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ "\begin{thebibliography}{" number.label int.to.str$ * "}" * write$ newline$ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" write$ newline$ "\expandafter\ifx\csname url\endcsname\relax" write$ newline$ " \def\url#1{{\tt #1}}\fi" write$ newline$ "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" write$ newline$ }

EXECUTE {begin.bib}

EXECUTE {init.state.consts}

ITERATE {call.type$}

FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ }

EXECUTE {end.bib}

Mico
  • 506,678

2 Answers2

2

Try this code. No change was done to your .bib file to use biblatex.

\documentclass{article}

\usepackage[style=apa, backend=biber, natbib=true, ] {biblatex}

\begin{filecontents*}{\jobname37.bib} @article{pchan02, title={The meaning of life}, author={Chan, Peter}, journal={Journal of Happiness}, pages={1--3}, year={2002}, }

@article{mchan02, title={On the meaning of the meaning of life}, author={Chan, Mary}, journal={Journal of Happiness}, pages={4--6}, year={2002}, }

@article{schan07a, title={On meaning}, author={Chan, Susan}, journal={Journal of Happiness}, pages={10--13}, year={2007}, }

@article{schan07b, title={On the meaning of meaning}, author={Chan, Susan}, journal={Journal of Happiness}, pages={14--16}, year={2007}, }

\end{filecontents*}

\addbibresource{\jobname37.bib}

\begin{document}

CITE

\cite{pchan02} argues that.... However, \cite{mchan02} points out a problem...

CITEP

\citep{pchan02} argues that.... However, \citep{mchan02} points out a problem...

\printbibliography \end{document}

output

Simon Dispa
  • 39,141
2

If you're free to use biblatex and biber instead of natbib and BibTeX, the formatting you seek for names in citation call-outs is enabled by default.

enter image description here

\documentclass{article}
% create a bib file 'on the fly'
\begin{filecontents}[overwrite]{mybib.bib}
@misc{pchan02,
  title={The meaning of life}, author={Chan, Peter}, year=2002}   
@misc{mchan02,
  title={On the meaning of the meaning of life}, author={Chan, Mary}, year=2002}   
@misc{tchan03a,
  title="Thoughts", author="Ted Chan", year=2004}
@misc{tchan03b,
  title="Further thoughts", author="Tim Chan", year=2004}
@misc{schan07a,
  title={On meaning}, author={Chan, Susan}, year=2007}   
@misc{schan07b,
  title={On the meaning of meaning}, author={Chan, Susan}, year=2007}   
\end{filecontents}

\usepackage[style=authoryear,natbib=true]{biblatex} % option 'natbib' enables use of \citet and \citep \addbibresource{mybib.bib}

\begin{document} \noindent \citep{pchan02,mchan02}, \citep{tchan03a,tchan03b} \citep{schan07a,schan07b} \printbibliography \end{document}

Mico
  • 506,678