[Tex/LaTex] Comma separator for \citet and semicolon separator for \citep (in the last reference with \citet)

natbibpunctuation

I need an answer about this problem and many of the accepted solution herein (StackExchange) do not work for me!

For example

  1. A comma separator for \citet and a semicolon separator for \citep simultaneously?

  2. natbib, hyperref and citation inside a float figure

The \citet command doesn't changes to add commas when there are multiple references and LaTeX keeps adding semicolons..

If I have \citet{Mark:2001a,John:2003a,Bob:2011b,Chris:2012a} -> I would like to get

Bob (2011), Chris (2012), Mark (2001) and John (2003)

Note, how LaTeX could add an and in the last reference as above – automatically?!

while if I have \citep{Mark:2001a,John:2003a,Bob:2011b,Chris:2012a} -> I would like to get

(Bob, 2011; Chris, 2012; Mark, 2001; John, 2003)

Thanks a ton for your answers!

Best Answer

Use \citet{Mark:2001a}, \citet{John:2003a}, \citet{Bob:2011b}, and \citet{Chris:2012a}

See for your \citep{} issue the Reference sheet for natbib usage from CTAN. http://tug.ctan.org/macros/latex/contrib/natbib/natnotes.pdf

=> Use the command \setcitestyle with a list of comma-separated keywords (without spaces) as argument ... . Between citations: semicolon or comma or citesep={char}

In your case: \setcitestyle{citesep={;}}

Related Question