Sobrescribir/eliminar carácter anterior en LaTeX

Sobrescribir/eliminar carácter anterior en LaTeX

Estoy buscando un comando en LaTeX que sobrescriba o elimine los caracteres anteriores que fueron creados automáticamente por un paquete que uso.


estoy usando elpaquete jurabibpara mis citas. Por ejemplo con este comando:

\cite[Pages 3-5]{key}

Tiene una opción para crear automáticamente una coma antes del rango de páginas ( commabeforerest). Que es lo que necesito para la mayoría de las citas. Esto se vería así:

Author, Title, Pages 1-3.

Hay una cita en la que no necesito la coma. Entonces quiero saber si hay una manera de sobrescribir los dos caracteres anteriores (el espacio y la coma creados automáticamente), para poder usar algo como este comando para mi cita especial:

\cite[\OverwritePreviousChars{2} Pages 4-6]{key}

Lo que crearía esto:

Author, Title Pages 4-6.

Respuesta1

Puede restablecer el interruptor utilizado por commebeforerest. Pero, naturalmente, es mucho más fácil simplemente escribir la información de las páginas después de \cite.

\documentclass{article}
\usepackage{jurabib}
\bibliographystyle{jurabib}
\jurabibsetup{ commabeforerest,}

\begin{document}
\cite[Pages 3-5]{doody}

{\makeatletter\jb@comma@before@restfalse\makeatother 
\cite[Pages 3-5]{doody}}

\cite{doody} Pages 3-5

\bibliography{biblatex-examples}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

No tengo la reputación para comentar, así que publico como respuesta. ¡En LuaTeX puedes eliminar el carácter anterior que TeX ha visto! Hans habló de ello en esteartículo, curiosamente con el mismo propósito de manejar fragmentos bibliográficos.

información relacionada