Comando de localización múltiple para apacita

Comando de localización múltiple para apacita

Estoy tratando de construir una función para extenderla \cite{}a fin de admitir citas con múltiples puntos (aún usando el apacitepaquete). 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 \citeNPcomandos 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 \myapaciteno es igual al número de parámetros "bibtexref" separados por comas, ignórelos e inserte un \cite{}comando normal

  • Si 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.bibarchivo (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"
}

información relacionada