CiteProc es el nombre genérico que reciben las librerías de programación que producen bibliografías y citas formateadas, basadas en los metadatos de los objetos o documentos que se citan. Para ello cumplen las instrucciones de formato proporcionadas por los estilos descritos con el Citation Style Language (CSL). La primera implementación de CiteProc usó XSLT 2.0, pero se han escrito implementaciones para otros lenguajes de programación, incluidos JavaScript,[1] Java,[2] Haskell[3] PHP,[4] Python,[5] Ruby[6] y Emacs Lisp.[7]
CiteProc, CSL y Cite Schema conforman el proyecto Citation Style Language, un esfuerzo con licencia Creative Commons Attribution Share-Alike "para proporcionar un marco común para formatear bibliografías y citas a través de lenguajes de marcado y estándares de documentos. En una situación ideal, se podrían usar los mismos archivos CSL para formatear citas y referencias en documentos DocBook, TEI, OpenOffice, WordML ... o incluso documentos LaTeX".[8][9]
Las diferentes implementaciones de CiteProc son capaces de utilizar datos tomados de diferentes bases de datos bibliográficas; muchos pueden usar también MODS XML.