\documentclass{ltxdoc} \newcommand\package[1]{\texttt{#1}} \usepackage{longtable} \usepackage{tabularx} \newenvironment{changelog}{\longtable{@{} l p{30em}}}{\endlongtable} \newcommand\change[2]{#1 & #2\\} \title{The \texttt{ctanbib} package} \author{Michal Hoftich\\\url{michal.h21@gmail.com}} \date{\gitdate, version \gitversion} \usepackage{hyperref} \usepackage{fontspec} \setmainfont{TeX Gyre Schola} \setmonofont[Scale=MatchLowercase]{Inconsolatazi4} \usepackage{microtype} \begin{document} \maketitle \section{Introduction} This package provides script named \package{ctanbib} which can be used for retrieving of the bibliographic information for packages hosted on CTAN. \section{Usage} It can be used in the following way: \noindent\package{ctanbib [options] $\langle$packagename$\rangle$ > filename.bib} The \texttt{curl} utility needs to be installed on the user's system in order to support the package info download. \section{Available options} \begin{description} \item[-c,-\/-ctan] use the \texttt{@ctan} type instead of \texttt{@manual}. The difference between the two is that the url field contains packages CTAN path, instead of a link to the package. \item[-h,-\/-help] print the help message. \item[-v,-\/-version] print the version info. \end{description} \section{Examples} \begin{verbatim} ctanbib latex \end{verbatim} \noindent This invocation will print data in the Bib\LaTeX\ format to the standard output: \begin{verbatim} @manual{latex, title = {The Latex package}, subtitle = {A TeX macro package that defines LaTeX}, author = {Lamport, Leslie and The LaTeX Team}, url = {http://www.latex-project.org/}, urldate = {2018-08-23}, date = {2018-04-01}, version = {PL 5} } \end{verbatim} The \texttt{--ctan} option: \begin{verbatim} ctanbib -c hyperref \end{verbatim} \noindent This produces a bib record with the \texttt{@ctan} type: \begin{verbatim} @ctan{hyperref, title = {The Hyperref package}, subtitle = {Extensive support for hypertext in LaTeX}, author = {Rahtz, Sebastian and Oberdiek, Heiko}, url = {/macros/latex/contrib/hyperref}, urldate = {2018-08-27}, date = {}, version = {6.86b} } \end{verbatim} \section{License} Permission is granted to copy, distribute and/or modify this software under the terms of the \LaTeX\ Project Public License, version 1.3. \section{Acknowledgements} This package was created thanks to TeX.sx user Daniel\footnote{\url{https://tex.stackexchange.com/users/3751/daniel}}. Lukas C.~Bossert had useful comments which led to update of the original script and it's eventual release on CTAN. \newpage \section{Changelog} \begin{changelog} \change{2019-09-21}{Try to find the author in full CTAN author list if the author cannot be found in the package info} \change{2019-09-16}{Use the CTAN API 2.0 to fetch the package info} \change{2019-05-04}{Version 0.1c released} \change{2019-05-04}{Use the \texttt{curl} command to download the package info} \change{2019-05-04}{Added information about the need to have the \texttt{curl} command installed} \change{2019-03-11}{Version 0.1b released} \change{2018-09-10}{Added support for institutional names} \change{2018-09-10}{Escape TeX commands in the title and subtitle} \change{2018-08-29}{Added man page} \change{2018-08-27}{Added --ctan option} \change{2018-08-23}{Version 0.1 released.} \change{2018-08-23}{Created documentation.} \change{2018-08-21}{Rewrote the script to use the DOM api provided by LuaXML. This provides greater flexibility in the XML processing.} \change{2018-08-20}{Fixed the script for the current XML format provided by CTAN.} \change{2014-09-12}{Initial version of the script have been released in answer on TeX.sx\footnote{\url{https://tex.stackexchange.com/a/200856/2891}}.} \end{changelog} \end{document}