múltiplas citações com números de páginas individuais usando natbib

múltiplas citações com números de páginas individuais usando natbib

Estou lutando para combinar várias citações com números de páginas individuais.

Eu tenho usadoesta natbibfolha de referência, mas estou preso (com o que é exibido abaixo). Parece que não consigo combinar várias citações e números de página de referência ao mesmo tempo.

Isto é o que consegui e o que gostaria (exemplo prático abaixo),

insira a descrição da imagem aqui

\documentclass[11pt,letter]{article}
     \usepackage{hyperref}
     \usepackage[round]{natbib}

\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}
@book{Veblen2005:1899,
    author = {Veblen, Thorstein},
    Isbn = {978-81-87879-29-9},
    publisher = {Aakar Books},
    title = {The Theory of the Leisure Class},
    subtitle = {An Economic Study of Institutions},
    Year = {[1899] 2005}}

@book{Weber2013,
    Author = {Weber, Max},
    Isbn = {9781135973988},
    Language = {en},
    Month = {jul},
    Publisher = {Routledge},
    Title = {The Protestant Ethic and the Spirit of Capitalism},
    Year = {[1905] 2013}} 

\end{filecontents*}

\begin{document}

% These citations will work but in the apalike bibstyle they will not be sorted
% in citation order (the first citation is [2]).
According to \citet[p. 19]{Weber2013, Veblen2005:1899}, this paragraph---and certainly this section---should be \ldots \\

\noindent I would like it show up like this,\\

According to Weber (2013, p. 213); Veblen (2005, p. 19), this paragraph---and certainly this section---should be \ldots \\

\noindent Also, why isn't the year in brackets show in the actual text (Weber ([1905] 2013, p. 213); Veblen ([1899] 2005, p. 19))?

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

Responder1

Um comando de citação como este \citet[]{}tem duas partes: a tag obrigatória para a citação e a parte opcional para “identificar” a referência dentro da citação.

Desde que não utilize a parte opcional, \citet{}pode ser utilizada isoladamente para citar vários trabalhos: \citet{a,b,c}. Mas obviamente isso não funciona com o argumento opcional, porque é ambíguo a qual trabalho ele se refere. Em geral, essa ambiguidade é resolvida assumindo que se trata de uma citação precisa para odurarobra citada.

Se quiser identificar citações de várias fontes, você tem (até onde eu sei) três opções:

  1. Mude para o biblatex, que possui comandos de citação especiais destinados exatamente a isso, descritos emcitações em vários locais com páginas usando biblatex. Existem muitas boas razões para fazer essa mudança, das quais esta não pode ser considerada uma das mais importantes. (Pode valer a pena notar que para citações no estilo APA o biblatex tem um pacote particularmente cuidadosamente escrito, estável e mantido ativamente:biblatex-apa.)

  2. Simplesmente faça o que você fez no seu exemplo: em vez de \cites[1]{a}[2]{b}, onde o software insere o "separador" entre as citações, que é o que o biblatex fornece, coloque você mesmo \cite[1]{a}; \cite[2]{b}. A menos que você tenha muitos deles e espere alterar o "separador" com bastante frequência, tudo bem. (Se você acha que pode querer alterar o "separador", você sempre pode definir uma macro para ele, que pode ser redefinida para garantir a consistência. Na maioria dos casos, isso seria um exagero.)

  3. Se você estiver muito entusiasmado, escreva algo que emule o \citescomando biblatex. Isto é deixado, como dizem, como um exercício para o leitor, embora eu tenha certeza de que o código do biblatex lhe dará algumas idéias.

Responder2

Para qualquer outro leitor que tente algo semelhante, mas não exija um estilo de citação complexo, aqui está uma reimplementação simples do \citesfor natbib:

\makeatletter
\newcommand{\citecomment}[2][]{\citenum{#2}#1\citevar}
\newcommand{\citeone}[1]{\citecomment{#1}}
\newcommand{\citetwo}[2][]{\citecomment[,~#1]{#2}}
\newcommand{\citevar}{\@ifnextchar\bgroup{;~\citeone}{\@ifnextchar[{;~\citetwo}{]}}}
\newcommand{\citefirst}{\@ifnextchar\bgroup{\citeone}{\@ifnextchar[{\citetwo}{]}}}
\newcommand{\cites}{[\citefirst}
\makeatother

Uso:

According to \cites[p. 213]{Weber2013}[p. 19]{Veblen2005:1899}, this paragraph---and certainly this section---should be \ldots \\

Resultado:

De acordo com [2, pág. 213; 1, pág. 19], este parágrafo – e certamente esta seção – deveria ser . . .

É tirado deesta resposta TeX.SEde Jean Olivier, apenas ajustei substituindo \citenpor \citenum.

No contexto da presente questão concreta, tem as seguintes limitações:

  • apenas citações numéricas:Não há suporte para estilos de citação complexos com autor/data.
  • sem classificação:As citações aparecerão na ordem mencionada no LaTeX, e não pela ordem na bibliografia.

informação relacionada