Estoy tratando de construir una función para extenderla \cite{}
a fin de admitir citas con múltiples puntos (aún usando el apacite
paquete). Estoy intentando tener un documento LaTeX marcado que pueda representar un PDF ordenado en ShareLaTex que también pueda analizarse sin una maraña de \citeNP
comandos dentro del documento.
La sintaxis estándar para \cite{}
es:
\cite<preliminarytext>[pinpoint]{bibtexref1,bibtexref2,...}
Estoy intentando crear este comando:
\myapacite[pinpoint1,pinpoint2,...][additionaloptions]{bibtexref1,bibtexref2,...}
Dónde:
Si el número de parámetros "bibtexref" separados por comas
\myapacite
no es igual al número de parámetros "bibtexref" separados por comas, ignórelos e inserte un\cite{}
comando normalSi el número de parámetros "pinpoint" y "bibtexref" separados por comas es el mismo, recorra e inserte estos como:
(\citeNP[pinpoint1]{bibtexref1}; \citeNP[pinpoint2]{bibtexref2}; ...)
Este es el diseño básico de lo que estoy tratando de lograr, aunque habrá múltiples problemas con TeX (como muchos, tengo experiencia en programación y solo estoy aprendiendo TeX/LaTeX lentamente). Cualquier consejo sería muy apreciado.
\documentclass[apacite]{apa6}
\usepackage{xparse,expl3}
\NewDocumentCommand\myapacite{O{}O{}m}{%
\if\equals{\clist_count:n {#1}}{\clist_count:n {#3}}%
\cite[#1]{#3}%
\else%
\if\equals{1}{\clist_count:n {#3}}%
\cite[#1]{#3}%
\else%
\if\equals{2}{\clist_count:n {#3}}%
(\citeNP[\clist_item:Nn {1} {#2}]{\clist_item:Nn {1} {#3}}; \citeNP[\clist_item:Nn {2} {#2}]{\clist_item:Nn {2} {#3}})\fi\fi\fi%
}
\begin{document}
Single cite with no pinpoints: \myapacite{goossens93}
\\
\\
Double cite with both pinpoints: \myapacite[p.123,p.456]{greenwade93,goossens93}
\\
\\
Double cite with no pinpoints: \myapacite{greenwade93,goossens93}
\\
\\
\bibliography{ testbib }
\end{document}
Este es el testbib.bib
archivo (no pude entender cómo usar el contenido del archivo en ShareLaTeX):
@article{greenwade93,
author = "George D. Greenwade",
title = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
year = "1993",
journal = "TUGBoat",
volume = "14",
number = "3",
pages = "342--351"
}
@book{goossens93,
author = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
title = "The LaTeX Companion",
year = "1993",
publisher = "Addison-Wesley",
address = "Reading, Massachusetts"
}