summaryrefslogtreecommitdiff
path: root/support
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-27 03:01:41 +0000
committerNorbert Preining <norbert@preining.info>2021-06-27 03:01:41 +0000
commita090105758cdab68b58246a8aea7cb79dc168501 (patch)
tree367d8c9718710cbba51d660b61273b20fb056080 /support
parent3d1055e1e00548f29b9d4ba0a79c717b9b6b2ae3 (diff)
CTAN sync 202106270301
Diffstat (limited to 'support')
-rw-r--r--support/arara/README.md2
-rw-r--r--support/arara/doc/arara-manual.pdfbin1962631 -> 1976977 bytes
-rw-r--r--support/arara/doc/arara-quickstart.pdfbin245754 -> 253135 bytes
-rw-r--r--support/arara/doc/arara.12
-rw-r--r--support/arara/doc/version.tex2
-rw-r--r--support/ctanbib/README.md2
-rwxr-xr-xsupport/ctanbib/ctanbib110
-rw-r--r--support/ctanbib/ctanbib-doc.pdfbin35575 -> 35307 bytes
-rw-r--r--support/ctanbib/ctanbib-doc.tex62
9 files changed, 107 insertions, 73 deletions
diff --git a/support/arara/README.md b/support/arara/README.md
index 2f86065827..41675e89a9 100644
--- a/support/arara/README.md
+++ b/support/arara/README.md
@@ -1,6 +1,6 @@
![arara](https://i.stack.imgur.com/hjUsN.png)
-# arara v6.1.0
+# arara v6.1.1
![Language: Kotlin](https://img.shields.io/badge/Language-Kotlin-blue.svg?style=flat-square)
![Minimum JRE: 8.0](https://img.shields.io/badge/Minimum_JRE-8-blue.svg?style=flat-square)
diff --git a/support/arara/doc/arara-manual.pdf b/support/arara/doc/arara-manual.pdf
index 342ebace9d..650404820f 100644
--- a/support/arara/doc/arara-manual.pdf
+++ b/support/arara/doc/arara-manual.pdf
Binary files differ
diff --git a/support/arara/doc/arara-quickstart.pdf b/support/arara/doc/arara-quickstart.pdf
index 315dc0d4fa..f6ced644cb 100644
--- a/support/arara/doc/arara-quickstart.pdf
+++ b/support/arara/doc/arara-quickstart.pdf
Binary files differ
diff --git a/support/arara/doc/arara.1 b/support/arara/doc/arara.1
index 08960a6576..ac6c678ec2 100644
--- a/support/arara/doc/arara.1
+++ b/support/arara/doc/arara.1
@@ -1,4 +1,4 @@
-.TH ARARA 1 "04 April 2021" "v6.1.0"
+.TH ARARA 1 "26 June 2021" "v6.1.1"
.SH NAME
arara \- a TeX automation tool based on rules and directives.
.SH SYNOPSIS
diff --git a/support/arara/doc/version.tex b/support/arara/doc/version.tex
index 358e78e607..132c6def58 100644
--- a/support/arara/doc/version.tex
+++ b/support/arara/doc/version.tex
@@ -1 +1 @@
-6.1.0 \ No newline at end of file
+6.1.1 \ No newline at end of file
diff --git a/support/ctanbib/README.md b/support/ctanbib/README.md
index 263cd82a1a..a6147f125d 100644
--- a/support/ctanbib/README.md
+++ b/support/ctanbib/README.md
@@ -10,7 +10,7 @@ This script can generate BibTeX records for LaTeX packages hosted on CTAN.
More details can be found on [TeX.sx](https://tex.stackexchange.com/a/200856/2891)
-Copyright: 2019 Michal Hoftich
+Copyright: 2021 Michal Hoftich
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/support/ctanbib/ctanbib b/support/ctanbib/ctanbib
index a16976acdc..f54e1691ca 100755
--- a/support/ctanbib/ctanbib
+++ b/support/ctanbib/ctanbib
@@ -1,7 +1,7 @@
#!/usr/bin/env texlua
kpse.set_program_name("luatex")
-- ctanbib -- export ctan entries to bib format
--- Copyright: Michal Hoftich <michal.h21@gmail.com> (2014-2018)
+-- Copyright: Michal Hoftich <michal.h21@gmail.com> (2014-2021)
--
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -15,40 +15,48 @@ kpse.set_program_name("luatex")
--
-- The Current Maintainer of this work is Michal Hoftich
+local lapp = require "lapp-mk4"
+
local bibtype = "manual"
local pkgurl = false
-if #arg < 1 or arg[1]=="--help" or arg[1]=="-h" then
- print([[ctanbib - convert ctan package information to bibtex format
+local msg = [[ctanbib - convert ctan package information to bibtex format
Usage:
-ctanbib [options] <package name>
+ctanbib [options] name1 name2 ...
Available options:
- -c,--ctan Use @ctan type instead of @manual and long url
- -C,--CTAN Use @ctan type and short ... /pkg/url
+ -c,--ctan Use CTAN URL instead of the package homepage
+ -e,--entrytype (default manual) Change entry type
-h,--help Print this message
-v,--version Print version info
- ]])
+ ]]
+local args = lapp(msg)
+if args.help then
+ print(msg)
os.exit(0)
-elseif arg[1]=="--version" or arg[1]=="-v" then
- print "ctanbib version 0.1e"
+elseif args.version then
+ print "ctanbib version 0.2"
os.exit(0)
-elseif arg[1]=="--ctan" or arg[1]=="-c" then
- table.remove(arg, 1)
- bibtype = "ctan"
-elseif arg[1]=="--CTAN" or arg[1]=="-C" then
- table.remove(arg, 1)
- bibtype = "ctan"
+elseif args.ctan then
pkgurl = true
end
-local pkgname = arg[1]
+-- manual is set by default in --entrytype, we don't want it to override the --ctan option
+if args.entrytype~="manual" then
+ bibtype = args.entrytype
+end
+
+
+
+
+local pkgname = args[1]
if not pkgname then
print "[ctanbib] Error: missing package name"
+ print(msg)
os.exit(1)
end
-local url = "https://ctan.org/xml/2.0/pkg/" .. pkgname .. "?author-name=true"
local authors_url = "https://ctan.org/xml/2.0/authors"
+local license_url = "http://www.ctan.org/xml/2.0/licenses"
-- change that for different title scheme
local titleformat = "The %s package"
@@ -61,7 +69,7 @@ author = {$author},
url = {$url},
urldate = {$urldate},
date = {$date},
-version = {$version}
+version = {$version},
}
]]
@@ -77,7 +85,7 @@ local load_xml = function(url)
if string.len(info) == 0 then
return false
end
- return dom.parse(info)
+ return dom.parse(info ), info
end
local bibtex_escape = function(a)
@@ -149,8 +157,13 @@ local get_title = function(record)
return string.format(titleformat, bibtex_escape(title))
end
+local function verify_record(record)
+ -- verify that we found a package
+ if not record then return false end
+ return #record:query_selector("name") > 0
+end
-local get_url = function(record)
+local get_url = function(record,pkgname)
local home = record:query_selector("home")[1]
if home then return home:get_attribute("href") end
return "https://ctan.org/pkg/"..pkgname
@@ -169,12 +182,8 @@ local get_version = function(record)
end
end
-local ctan_url = function(record)
- local ctan = record:query_selector("ctan")[1]
- -- some package don't contain the CTAN path
- if not ctan then return get_url(record) end
- local path = ctan:get_attribute("path")
- return path
+local ctan_url = function(record, pkgname)
+ return "https://ctan.org/pkg/"..pkgname
end
@@ -184,32 +193,35 @@ local compile = function(template, records)
end)
end
-local record = load_xml(url)
+for _, pkgname in ipairs(args) do
+ local url = "https://ctan.org/xml/2.0/pkg/" .. pkgname .. "?author-name=true"
+ local record, info = load_xml(url)
-if not record then
- print("Cannot find entry for package "..pkgname)
- os.exit(1)
-end
+ if not verify_record(record) then
+ print("% Cannot find entry for package "..pkgname)
+ break
+ end
--- root element is also saved, so we use this trick
--- local record = entry.entry
+ -- root element is also saved, so we use this trick
+ -- local record = entry.entry
-local e = {}
+ local e = {}
-e.author = get_authors(record:query_selector("authorref"))
-e.package = pkgname
-e.title = get_title(record)
-e.subtitle = get_caption(record)
-e.url = get_url(record)
--- use the CTAN path as url for the CTAN type
-if (bibtype == "ctan") and not pkgurl then
- e.url = ctan_url(record)
-end
-e.version, e.date = get_version(record)
-e.urldate = os.date("%Y-%m-%d")
+ e.author = get_authors(record:query_selector("authorref"))
+ e.package = pkgname
+ e.title = get_title(record)
+ e.subtitle = get_caption(record)
+ e.url = get_url(record, pkgname)
+ -- use the CTAN path as url for the CTAN type
+ if pkgurl then
+ e.url = ctan_url(record, pkgname)
+ end
+ e.version, e.date = get_version(record)
+ e.urldate = os.date("%Y-%m-%d")
-local result = compile(bibtexformat, e)
--- update the bibliography type
-result = result:gsub("^@manual", "@" .. bibtype)
+ local result = compile(bibtexformat, e)
+ -- update the bibliography type
+ result = result:gsub("^@manual", "@" .. bibtype)
-print(result)
+ print(result)
+end
diff --git a/support/ctanbib/ctanbib-doc.pdf b/support/ctanbib/ctanbib-doc.pdf
index ec58084d27..1fb514277c 100644
--- a/support/ctanbib/ctanbib-doc.pdf
+++ b/support/ctanbib/ctanbib-doc.pdf
Binary files differ
diff --git a/support/ctanbib/ctanbib-doc.tex b/support/ctanbib/ctanbib-doc.tex
index 89b99279b5..c9d2a96abe 100644
--- a/support/ctanbib/ctanbib-doc.tex
+++ b/support/ctanbib/ctanbib-doc.tex
@@ -25,7 +25,11 @@ This package provides script named \package{ctanbib} which can be used for retri
It can be used in the following way:
-\noindent\package{ctanbib [options] $\langle$packagename$\rangle$ > filename.bib}
+\medskip
+
+\noindent\package{ctanbib [options] $\langle$packagename1$\rangle$ \ldots\ $\langle$packagenameX$\rangle$ > filename.bib}
+
+\medskip
The \texttt{curl} utility needs to be installed on the user's system in order to support the package info download.
@@ -33,10 +37,8 @@ The \texttt{curl} utility needs to be installed on the user's system in order to
\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[-C,-\/-CTAN] like \verb|--ctan| option, but use original url instead of CTAN path.
+ \item[-c,-\/-ctan] use the CTAN package entry as package URL instead of URL provided by the package.
+ \item[-e,-\/-entrypoint] explicitly set the Bib\TeX\ entry type.
\item[-h,-\/-help] print the help message.
\item[-v,-\/-version] print the version info.
\end{description}
@@ -55,31 +57,44 @@ ctanbib latex
@manual{latex,
title = {The Latex package},
subtitle = {A TeX macro package that defines LaTeX},
-author = {Lamport, Leslie and The LaTeX Team},
+author = {{The LaTeX Team} and Lamport, Leslie},
url = {http://www.latex-project.org/},
-urldate = {2018-08-23},
-date = {2018-04-01},
-version = {PL 5}
+urldate = {2021-06-26},
+date = {},
+version = {2021-06-01},
}
\end{verbatim}
-The \texttt{--ctan} option:
+\noindent The \texttt{--ctan} option:
\begin{verbatim}
-ctanbib -c hyperref
+ctanbib -c latex
\end{verbatim}
-\noindent This produces a bib record with the \texttt{@ctan} type:
+\noindent This produces a bib record that uses the CTAN package entry for the URL,
+instead of the original package URL.
+
\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}
+@manual{latex,
+title = {The Latex package},
+...
+url = {https://ctan.org/pkg/latex},
+...
+}
+\end{verbatim}
+
+\noindent The \texttt{--entrytype} option:
+
+\begin{verbatim}
+ctanbib -e ctan latex
+\end{verbatim}
+
+\noindent It selects different entry type for the record:
+
+\begin{verbatim}
+@ctan{latex,
+...
}
\end{verbatim}
@@ -100,6 +115,13 @@ it's eventual release on CTAN. Herbert Voss added the \verb|--CTAN| option.
\section{Changelog}
\begin{changelog}
+ \change{2021-06-26}{Version 0.2 released}
+ \change{2021-06-26}{Removed the \verb|--CTAN| option, entry type can be set using \verb|--entrytype| and CTAN URL is requested using \verb|--ctan|}
+ \change{2021-06-26}{Added \verb|--entrytype| option for explicit specification of the Bib\TeX\ entry type}
+ \change{2021-06-26}{Fixed package name verification}
+ \change{2021-06-26}{Added support for multiple package names}
+ \change{2021-06-26}{Print \verb|https://www.ctan.org/pkg/<pkgname>| with the \texttt{-c} option}
+ \change{2021-06-20}{Version 0.1e released}
\change{2021-06-20}{Added \verb|--CTAN| option, thanks to Herbert Voss}
\change{2019-12-23}{Don't return non-zero exit codes for non-error runs}
\change{2019-12-23}{Test for the packagename with the \texttt{-c} option}