Existe alguma razão específica pela qual é necessário usar
\cites
for more than onebibtex-key
em vez de\cite
?
Considerando o seguinte MWE:
\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\let\cite\cites
\begin{document}
\cite[12]{westfahl:space}[e.g.][23]{angenendt}
\cites[12]{westfahl:space}[e.g.][23]{angenendt}
\printbibliography
\end{document}
Com \let\cite\cites
não tenho problemas em adicionar outro bibtex-key
ao \cite
-command, então não importa se eu esquecer o s
in \cites
for multiple bibtex-keys
.
Se salvar para fazer isso, não poderia ser um comportamento padrão de biblatex
?
Responder1
É claro que esta é uma decisão de design e não podemos perguntar ao mantenedor original do pacote, já que ele não está mais ativo. Até onde eu sei, a separação entre o comando cite normal e o comando multicite (coms
) está lá desde o início.
O comportamento do \cite
comando biblatex
coincide em grande parte com o comportamento desse comando com outros pacotes. As versões multicite, entretanto, oferecem recursos adicionais que poucos (algum?) outros pacotes oferecem.
A sintaxe dos comandos multicite é totalmente compatível com a sintaxe dos comandos cite padrão. Portanto, \let\cite\cites
não apresentará mais problemas do que você teria se usasse \cites
exclusivamente e nunca se permitisse usar \cite
. (Lembre-se de \let
todos os comandos para suas contrapartes multicitadas, você não quer inconsistências.)
Eu desaconselho fortemente que o multicite seja a norma. O comportamento dos comandos cite e multicite no biblatex é tão conhecido e estabelecido que não deve ser alterado. Finalmente, os comandos multicite são muito mais sofisticados e complicados devido à sua estrutura de argumentos que é melhor usá-los apenas quando necessário e não como padrão.
A configuração necessária para o comando multi cite é obviamente um pouco mais complexa do que os comandos padrão. É por isso que definimos os comandos padrão primeiro e depois os comandos multicite no topo com
\DeclareMultiCiteCommand{\cites}{\cite}{\multicitedelim}
Presumo que uma das razões pelas quais a separação foi mantida é permitir definir primeiro um comando cite simples e depois finalizá-lo com uma estrutura multicite complicada. Isso permite uma abordagem em camadas.
A razão mais convincente para manter a separação entre os dois, entretanto, é que o comando multicite é muito mais complexo e frágil. A natureza do comando multicite determina que ele não conheça previamente o número de argumentos. Portanto, terá que procurar com antecedência coisas que pareçam argumentos. Mesmo que isso seja bastante robusto, há situações em que é preferível um comando mais estável que conheça seu número de argumentos.
Por exemplo
\cite[pre][post]{key} ["this"]
funciona, porque \cite
já leu todo o seu argumento e sabe que esse ["this"]
não pode ser o seu argumento. Mas em
\cites[pre][post]{key} ["this"]
\cites
não sabe que esse ["this"]
não é um dos seus argumentos. Você precisa inserir um \relax
ou \
solicitar que ele pare de digitalizar: \cites[pre][post]{key}\ ["this"]
.