texlive[60289] trunk: tikztosvg (21aug21)

commits+karl at tug.org commits+karl at tug.org
Sat Aug 21 00:52:20 CEST 2021


Revision: 60289
          http://tug.org/svn/texlive?view=revision&revision=60289
Author:   karl
Date:     2021-08-21 00:52:20 +0200 (Sat, 21 Aug 2021)
Log Message:
-----------
tikztosvg (21aug21)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/tikztosvg/tikztosvg
    trunk/Master/texmf-dist/doc/man/man1/tikztosvg.1
    trunk/Master/texmf-dist/doc/man/man1/tikztosvg.man1.pdf
    trunk/Master/texmf-dist/doc/support/tikztosvg/CHANGELOG.md
    trunk/Master/texmf-dist/doc/support/tikztosvg/Makefile
    trunk/Master/texmf-dist/doc/support/tikztosvg/README.md
    trunk/Master/texmf-dist/doc/support/tikztosvg/example.svg
    trunk/Master/texmf-dist/doc/support/tikztosvg/example.tikz
    trunk/Master/texmf-dist/doc/support/tikztosvg/man.adoc
    trunk/Master/texmf-dist/doc/support/tikztosvg/tikztosvg.pdf
    trunk/Master/texmf-dist/scripts/tikztosvg/tikztosvg

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/support/tikztosvg/install.sh

Modified: trunk/Build/source/texk/texlive/linked_scripts/tikztosvg/tikztosvg
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/tikztosvg/tikztosvg	2021-08-20 22:52:01 UTC (rev 60288)
+++ trunk/Build/source/texk/texlive/linked_scripts/tikztosvg/tikztosvg	2021-08-20 22:52:20 UTC (rev 60289)
@@ -38,7 +38,7 @@
 
 showVersion()
 {
-  echo 0.2.1
+  echo 0.3.0
   exit 0
 }
 
@@ -46,16 +46,9 @@
 packages="tikz tikz-cd pgfplots amsmath amssymb"
 libraries=""
 
-if ! [ -x "$(command -v xelatex)" ]
-then
-  error "xelatex could not be found"
-fi
+# The default TeX engine
+texengine='lualatex'
 
-if ! [ -x "$(command -v pdf2svg)" ]
-then
-  error "pdf2svg could not be found"
-fi
-
 # Parsing the arguments
 while [ $# -gt 1 ]
 do
@@ -113,6 +106,27 @@
       quiet=1
       shift
       ;;
+    --lualatex)
+      shift
+      ;;
+    --xelatex)
+      if command -v xelatex > /dev/null
+      then
+        texengine='xelatex'
+      else
+        error "Couldn't find xelatex: required by the --xelatex option"
+      fi
+      shift
+      ;;
+    --pdflatex)
+      if command -v pdflatex > /dev/null
+      then
+        texengine='pdflatex'
+      else
+        error "Couldn't find pdflatex: required by the --pdflatex option"
+      fi
+      shift
+      ;;
     *) 
       error "Unexpected token: \"$1\""
       ;;
@@ -126,10 +140,10 @@
   -v|--version)
     showVersion
     ;;
-  "")
+  '')
     error "No input path provided"
     ;;
-  "-")
+  -)
     input=/dev/stdin
     ;;
   *)
@@ -145,11 +159,8 @@
     ;;
 
   # If no output path is provided, use the basename of the input
-  "") 
-    if [ -x "$(command -v dirname)" ]
-    then
-      output="$(dirname "$input")/$(basename "$input" | cut -d "." -f1).svg" 
-    fi
+  '') 
+    output="$(dirname "$input")/$(basename "$input" | cut -d "." -f1).svg" 
     ;;
 
   # If the output path is provided, but it resolves to directory, output a 
@@ -163,14 +174,14 @@
 tex_file="$tmp_dir/tmp.tex"
 
 # Generate the LaTeX document
-printf "\documentclass[crop,tikz,multi=false]{standalone}\n" > "$tex_file"
+printf '\\documentclass[crop,tikz,multi=false]{standalone}\n' > "$tex_file"
 
-for package in $(echo "$packages" | tr " " "\n" | sort | uniq)
+for package in $packages
 do
   printf '\\usepackage{%s}\n' "$package" >> "$tex_file"
 done
 
-for library in $(echo "$libraries" | tr " " "\n" | sort | uniq) 
+for library in $libraries
 do
   printf '\\usetikzlibrary{%s}\n' "$library" >> "$tex_file"
 done
@@ -189,11 +200,12 @@
 if [ -z "$quiet" ]
 then
   message "Rendering the LaTeX document. . ."
-  xelatex -halt-on-error -output-directory="$tmp_dir" "$tex_file"
+  $texengine -halt-on-error -output-directory="$tmp_dir" "$tex_file"
 else
-  xelatex -halt-on-error -output-directory="$tmp_dir" "$tex_file" 1> /dev/null 2>&1
+  $texengine -halt-on-error -output-directory="$tmp_dir" "$tex_file" 1> /dev/null 2>&1
 fi
 
+# TODO: Make this less horrible?
 S=$?
 if [ $S -ne 0 ]
 then
@@ -200,7 +212,7 @@
   rm "$tmp_dir" -r
   if [ -z "$quiet" ]
   then
-    error "xelatex exited with code $S" $S
+    error "$texengine exited with code $S" $S
   else
     exit $S
   fi
@@ -213,6 +225,7 @@
 
 pdf2svg "$tmp_dir/tmp.pdf" "$output" 1
 
+# TODO: Make this less horrible?
 S=$?
 if [ $S -ne 0 ]
 then

Modified: trunk/Master/texmf-dist/doc/man/man1/tikztosvg.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/tikztosvg.1	2021-08-20 22:52:01 UTC (rev 60288)
+++ trunk/Master/texmf-dist/doc/man/man1/tikztosvg.1	2021-08-20 22:52:20 UTC (rev 60289)
@@ -1,13 +1,13 @@
 '\" t
 .\"     Title: tikztosvg
 .\"    Author: [see the "AUTHOR(S)" section]
-.\" Generator: Asciidoctor 2.0.15
-.\"      Date: 2021-07-29
+.\" Generator: Asciidoctor 2.0.16
+.\"      Date: 2021-08-19
 .\"    Manual: \ \&
 .\"    Source: \ \&
 .\"  Language: English
 .\"
-.TH "TIKZTOSVG" "1" "2021-07-29" "\ \&" "\ \&"
+.TH "TIKZTOSVG" "1" "2021-08-19" "\ \&" "\ \&"
 .ie \n(.g .ds Aq \(aq
 .el       .ds Aq '
 .ss \n[.ss] 0
@@ -63,6 +63,22 @@
 Silence application log messages and script warnings.
 .RE
 .sp
+\fB\-\-lualatex\fP
+.RS 4
+Use LuaTeX as the TeX engine. LuaTeX is already the
+default, so this option doesn\(cqt really do much.
+.RE
+.sp
+\fB\-\-xelatex\fP
+.RS 4
+Use XeTeX as the TeX engine.
+.RE
+.sp
+\fB\-\-pdflatex\fP
+.RS 4
+Use pdfTeX as the TeX engine.
+.RE
+.sp
 \fB\-h, \-\-help\fP
 .RS 4
 Print a help message.
@@ -118,6 +134,24 @@
 .RS 4
 .URL "https://www.ctan.org/pkg/tikztosvg" "" ""
 .RE
+.sp
+TeXLive
+.RS 4
+.URL "https://tug.org/texlive/" "" ""
+.RE
+.sp
+LuaTeX
+.RS 4
+.URL "http://luatex.org/" "" ""
+.RE
+.sp
+XeTeX
+.RS 4
+.URL "http://xetex.sourceforge.net/" "" ""
+.RE
+.sp
+\fBpdfTeX\fP \c
+.URL "https://www.tug.org/applications/pdftex/" "" ""
 .SH "COPYING"
 .sp
 Copyright (C) 2021 Pablo.

Modified: trunk/Master/texmf-dist/doc/man/man1/tikztosvg.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/support/tikztosvg/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/support/tikztosvg/CHANGELOG.md	2021-08-20 22:52:01 UTC (rev 60288)
+++ trunk/Master/texmf-dist/doc/support/tikztosvg/CHANGELOG.md	2021-08-20 22:52:20 UTC (rev 60289)
@@ -1,10 +1,18 @@
 # CHANGELOG
 
+## Release 0.3.0
+
+* Made the TeX engine configurable via command-line flags (see the updated
+  manpage)
+* Made LuaTeX the default TeX engine (the previous one was XeTeX)
+* Removed runtime checks for dependencies
+* Removed the install shell script from the repo
+
 ## Release 0.2.1
 
 * Fixed #1
 * Improved the installation scripts
-* Added aditional links in the documentation
+* Added additional links in the documentation
 
 ## Release 0.2.0
 

Modified: trunk/Master/texmf-dist/doc/support/tikztosvg/Makefile
===================================================================
--- trunk/Master/texmf-dist/doc/support/tikztosvg/Makefile	2021-08-20 22:52:01 UTC (rev 60288)
+++ trunk/Master/texmf-dist/doc/support/tikztosvg/Makefile	2021-08-20 22:52:20 UTC (rev 60289)
@@ -1,14 +1,17 @@
 .PHONY: package install
 
+BIN_TARGET ?= /usr/bin/
+MAN_TARGET ?= /usr/share/man/man1/
+
 # Packages the application for CTAN
 package: tikztosvg.tar.gz
 
 install: man/tikztosvg.1 tikztosvg
 	# Install the executable
-	install -g 0 -o 0 -m 755 tikztosvg /usr/bin/
+	install -g 0 -o 0 -m 755 tikztosvg "$(BIN_TARGET)"
 	 
 	# Install the manpage
-	install -g 0 -o 0 -m 644 man/tikztosvg.1 /usr/share/man/man1/
+	install -g 0 -o 0 -m 644 man/tikztosvg.1 "$(MAN_TARGET)"
 
 man/tikztosvg.1: man/man.adoc
 	asciidoctor -b manpage -o $@ $^
@@ -20,7 +23,7 @@
 	sh ./tikztosvg -p xfrac -p relsize -o $@ $^
 	
 	# Try to compress the image with svgo
-	svgo --pretty --enable=sortAttrs $@ || exit 0
+	svgo --pretty $@ || exit 0
 
 # Packages the application for CTAN
 tikztosvg.tar.gz: tikztosvg man/tikztosvg.1 tikztosvg.pdf README.md example/example.tikz example/example.svg CHANGELOG.md LICENSE

Modified: trunk/Master/texmf-dist/doc/support/tikztosvg/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/support/tikztosvg/README.md	2021-08-20 22:52:01 UTC (rev 60288)
+++ trunk/Master/texmf-dist/doc/support/tikztosvg/README.md	2021-08-20 22:52:20 UTC (rev 60289)
@@ -1,7 +1,7 @@
 # tikztosvg(1)
 
 The `tikztosvg(1)` command renders TikZ diagrams to SVG, using
-[XeTeX](http://xetex.sourceforge.net/) and
+[TeXLive](https://tug.org/texlive/) and
 [pdf2svg](https://github.com/dawbarton/pdf2svg).
 
 ## Usage
@@ -14,66 +14,77 @@
 
 ### Options
 
-**-o, --output**=*OUTPUT\_PATH*  
+**-o, \-\-output**=*OUTPUT\_PATH*  
 Write output to file *OUTPUT\_PATH*. If set to *-* the output will be written
 to stdout. Defaults to the base name of the input file suffixed with the *.svg*
 extension. The file is resolved relative to the working directory.
 
-**-p, --package**=+*PACKAGE*  
+**-p, \-\-package**=+*PACKAGE*  
 Include `\usepackage{PACKAGE}` when rendering the diagram. The tikz, tikz-cd,
 pgfplots, amsmath and amssymb packages are always included by default.
 
-**-l, --library**=+*LIBRARY*
+**-l, \-\-library**=+*LIBRARY*
 Include `\usetikzlibrary{LIBRARY}` when rendering the diagram.
 
-**-q, --quiet**  
+**-q, \-\-quiet**  
 Silence application log messages and script warnings.
 
-**-h, --help**  
+**\-\-lualatex**
+Use [LuaTeX](http://luatex.org/) as the TeX engine. LuaTeX is already the
+default, so this option doesn't really do much.
+
+**\-\-xelatex**
+Use [XeTeX](http://xetex.sourceforge.net/) as the TeX engine.
+
+**\-\-pdflatex**
+Use [pdfTeX](https://www.tug.org/applications/pdftex/) as the TeX engine.
+
+**-h, \-\-help**  
 Print a help message.
 
-**-v, --version**  
+**-v, \-\-version**  
 Print version information.
 
 ## Example
 
-Let’s say you want to convert the file `example.tikz` to SVG:
+Let’s say you want to convert the file `example.tikz` to SVG
 
 ``` latex
 \begin{tikzcd}
-     G \arrow[r, "\varphi"] \arrow[d, "\psi"', two heads] & H \\
-  \mathlarger{\sfrac{G}{\ker \varphi}} \arrow[ru, dotted] &
+                  G \arrow{r}{\varphi} \arrow[two heads]{d} & H \\
+  \mathlarger{\sfrac{G}{\ker \varphi}} \arrow[dotted]{ru}   &
 \end{tikzcd}
 ```
 
-You could achieve this by running:
+You could achieve this by running
 ``` sh
-# xfrac and relsize are only there so that we can 
-# call \sfrac and \mathlarger
+$ # xfrac and relsize are only there so that we can 
+$ # call \sfrac and \mathlarger
 $ tikztosvg -p xfrac -p relsize example.tikz
 ```
 
 The results will be stored in the file `example.svg`.
 
+## Dependencies
+
+* A regular TeXLive installation: you'll need LuaTeX and optionally XeTeX and
+  pdfTeX
+* pdf2svg
+
 ## Installation
 
 The `tikztosvg(1)` command and it’s man page can be installed in Unix systems
-by running
-
+via Git by running
 ``` sh
-$ curl -s https://git.sr.ht/~pablo-pie/tikztosvg/blob/master/install.sh | sudo sh
-```
-
-or it can be installed via Git with
-
-``` sh
 $ git clone https://git.sr.ht/~pablo-pie/tikztosvg
 $ cd tikztosvg
 $ sudo make install
 ```
 
-The executable is installed in `/usr/bin/` and the man-page is
-installed in `/usr/share/man/man1/`.
+The `BIN_TARGET` Make variable (defaults to `/usr/bin/`) controls the
+directory the binary is installed in, while the `MAN_TARGET` Make variable
+(defaults to `/usr/share/man/man1/`) controls the directory the man page
+is installed in.
 
 ## Resources
 
@@ -83,6 +94,14 @@
 
 **CTAN package:** <https://www.ctan.org/pkg/tikztosvg>
 
+**TeXLive** <https://tug.org/texlive/>
+
+**LuaTeX** <http://luatex.org/>
+
+**XeTeX** <http://xetex.sourceforge.net/>
+
+**pdfTeX** <https://www.tug.org/applications/pdftex/>
+
 ## Authors
 
 **tikztosvg** was written by [Pablo](mailto:pablo-escobar at riseup.net).

Modified: trunk/Master/texmf-dist/doc/support/tikztosvg/example.svg
===================================================================
--- trunk/Master/texmf-dist/doc/support/tikztosvg/example.svg	2021-08-20 22:52:01 UTC (rev 60288)
+++ trunk/Master/texmf-dist/doc/support/tikztosvg/example.svg	2021-08-20 22:52:20 UTC (rev 60289)
@@ -1,48 +1,46 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="78.29pt" height="66.92" viewBox="0 0 78.29 50.19">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="104.385" height="66.916" viewBox="0 0 78.289 50.187">
     <defs>
-        <symbol id="a" overflow="visible">
-            <path d="M7.578-6.922c0-.031-.016-.11-.11-.11-.03 0-.046.016-.155.126l-.688.765c-.094-.14-.547-.89-1.656-.89C2.734-7.031.5-4.828.5-2.516.5-.922 1.61.22 3.219.22c.437 0 .89-.094 1.25-.235.5-.203.687-.406.86-.609.093.25.359.61.452.61.047 0 .078-.032.078-.032.016-.015.11-.406.157-.61l.187-.765.14-.516c.11-.437.11-.468.688-.468.047 0 .157-.016.157-.203 0-.079-.047-.11-.125-.11-.235 0-.829.031-1.047.031-.313 0-1.094-.03-1.407-.03-.078 0-.203 0-.203.202 0 .11.078.11.297.11.016 0 .297 0 .531.015.266.032.313.063.313.188 0 .094-.11.531-.219.906C5.047-.203 3.766-.094 3.406-.094c-.953 0-2-.562-2-2.094 0-.312.094-1.953 1.14-3.25.548-.671 1.517-1.28 2.5-1.28 1.016 0 1.61.765 1.61 1.921 0 .406-.031.406-.031.516 0 .093.11.093.14.093.126 0 .126-.015.188-.203zm0 0"/>
+        <symbol overflow="visible" id="a">
+            <path style="stroke:none" d="M7.578-6.922c0-.031-.016-.11-.11-.11-.03 0-.046.016-.155.126l-.688.765c-.094-.14-.547-.89-1.656-.89C2.734-7.031.5-4.828.5-2.516.5-.922 1.61.22 3.219.22c.437 0 .89-.094 1.25-.235.5-.203.687-.406.86-.609.093.25.359.61.452.61.047 0 .078-.032.078-.032.016-.015.11-.406.157-.61l.187-.765.14-.516c.11-.437.11-.468.688-.468.047 0 .157-.016.157-.203 0-.079-.047-.11-.125-.11-.235 0-.829.031-1.047.031-.313 0-1.094-.03-1.407-.03-.078 0-.203 0-.203.202 0 .11.078.11.297.11.016 0 .297 0 .531.015.266.032.313.063.313.188 0 .094-.11.531-.219.906C5.047-.203 3.766-.094 3.406-.094c-.953 0-2-.562-2-2.094 0-.312.094-1.953 1.14-3.25.548-.671 1.517-1.28 2.5-1.28 1.016 0 1.61.765 1.61 1.921 0 .406-.031.406-.031.516 0 .093.11.093.14.093.126 0 .126-.015.188-.203zm0 0"/>
         </symbol>
-        <symbol id="b" overflow="visible">
-            <path d="M7.61-6.047c.093-.36.109-.453.827-.453.266 0 .344 0 .344-.203 0-.11-.11-.11-.14-.11-.282 0-1 .032-1.282.032-.28 0-.984-.032-1.28-.032-.079 0-.188 0-.188.204 0 .109.093.109.28.109.016 0 .204 0 .376.016.187.03.266.03.266.171 0 .032 0 .047-.032.188l-.593 2.422H3.14l.593-2.344c.079-.36.11-.453.829-.453.265 0 .343 0 .343-.203 0-.11-.11-.11-.14-.11-.282 0-1 .032-1.282.032-.28 0-.984-.032-1.28-.032-.079 0-.188 0-.188.204 0 .109.093.109.28.109.017 0 .204 0 .376.016.172.03.265.03.265.171 0 .032 0 .063-.03.188L1.561-.781c-.093.39-.109.469-.906.469-.172 0-.265 0-.265.203C.39 0 .516 0 .53 0c.281 0 .985-.031 1.266-.031.203 0 .422.015.64.015.22 0 .438.016.641.016.078 0 .203 0 .203-.203 0-.11-.094-.11-.281-.11-.375 0-.64 0-.64-.171 0-.063.015-.11.015-.172l.688-2.735h3.03c-.405 1.657-.64 2.61-.687 2.75-.093.329-.281.329-.906.329-.14 0-.234 0-.234.203 0 .109.125.109.14.109.282 0 .985-.031 1.266-.031.203 0 .422.015.64.015.22 0 .438.016.641.016.078 0 .203 0 .203-.203 0-.11-.093-.11-.281-.11-.36 0-.64 0-.64-.171 0-.063.015-.11.03-.172zm0 0"/>
+        <symbol overflow="visible" id="b">
+            <path style="stroke:none" d="M7.61-6.047c.093-.36.109-.453.827-.453.266 0 .344 0 .344-.203 0-.11-.11-.11-.14-.11-.282 0-1 .032-1.282.032-.28 0-.984-.032-1.28-.032-.079 0-.188 0-.188.204 0 .109.093.109.28.109.016 0 .204 0 .376.016.187.03.266.03.266.171 0 .032 0 .047-.032.188l-.593 2.422H3.14l.593-2.344c.079-.36.11-.453.829-.453.265 0 .343 0 .343-.203 0-.11-.11-.11-.14-.11-.282 0-1 .032-1.282.032-.28 0-.984-.032-1.28-.032-.079 0-.188 0-.188.204 0 .109.093.109.28.109.017 0 .204 0 .376.016.172.03.265.03.265.171 0 .032 0 .063-.03.188L1.561-.781c-.093.39-.109.469-.906.469-.172 0-.265 0-.265.203C.39 0 .516 0 .53 0c.281 0 .985-.031 1.266-.031.203 0 .422.015.64.015.22 0 .438.016.641.016.078 0 .203 0 .203-.203 0-.11-.094-.11-.281-.11-.375 0-.64 0-.64-.171 0-.063.015-.11.015-.172l.688-2.735h3.03c-.405 1.657-.64 2.61-.687 2.75-.093.329-.281.329-.906.329-.14 0-.234 0-.234.203 0 .109.125.109.14.109.282 0 .985-.031 1.266-.031.203 0 .422.015.64.015.22 0 .438.016.641.016.078 0 .203 0 .203-.203 0-.11-.093-.11-.281-.11-.36 0-.64 0-.64-.171 0-.063.015-.11.03-.172zm0 0"/>
         </symbol>
-        <symbol id="d" overflow="visible">
-            <path d="M4.375-7.094c.047-.14.047-.172.047-.187 0-.11-.078-.203-.188-.203-.078 0-.14.03-.171.093l-3.47 9.5c-.046.141-.046.172-.046.188 0 .11.094.203.203.203.125 0 .156-.078.219-.25zm0 0"/>
+        <symbol overflow="visible" id="d">
+            <path style="stroke:none" d="M4.375-7.094c.047-.14.047-.172.047-.187 0-.11-.078-.203-.188-.203-.078 0-.14.03-.171.093l-3.47 9.5c-.046.141-.046.172-.046.188 0 .11.094.203.203.203.125 0 .156-.078.219-.25zm0 0"/>
         </symbol>
-        <symbol id="c" overflow="visible">
-            <path d="M5.875-4.813c0-.03-.016-.093-.094-.093-.047 0-.062.015-.125.093l-.5.532c-.062-.078-.453-.625-1.312-.625-1.703 0-3.36 1.5-3.36 3.078C.484-.75 1.313.14 2.641.14c.625 0 1.265-.157 1.625-.547.078.14.265.406.343.406.063 0 .079-.031.11-.188l.14-.53c.032-.126.125-.548.157-.626.078-.312.078-.328.5-.328.046 0 .156 0 .156-.14 0-.079-.063-.11-.11-.11-.234 0-.53.031-.765.031-.172 0-.406 0-.578-.015-.172 0-.375-.016-.547-.016-.063 0-.156 0-.156.156 0 .094.078.094.25.094.125 0 .265 0 .406.016.219.015.219.047.219.125 0 .031 0 .047-.047.234-.047.188-.125.5-.157.578-.187.422-.843.61-1.39.61-.688 0-1.61-.344-1.61-1.516 0-.75.36-1.672.875-2.203.72-.703 1.454-.813 1.844-.813.813 0 1.281.579 1.281 1.36 0 .187-.015.25-.015.281 0 .094.094.094.125.094.11 0 .11-.016.14-.156zm0 0"/>
+        <symbol overflow="visible" id="c">
+            <path style="stroke:none" d="M5.875-4.813c0-.03-.016-.093-.094-.093-.047 0-.062.015-.125.093l-.5.532c-.062-.078-.453-.625-1.312-.625-1.703 0-3.36 1.5-3.36 3.078C.484-.75 1.313.14 2.641.14c.625 0 1.265-.157 1.625-.547.078.14.265.406.343.406.063 0 .079-.031.11-.188l.14-.53c.032-.126.125-.548.157-.626.078-.312.078-.328.5-.328.046 0 .156 0 .156-.14 0-.079-.063-.11-.11-.11-.234 0-.53.031-.765.031-.172 0-.406 0-.578-.015-.172 0-.375-.016-.547-.016-.063 0-.156 0-.156.156 0 .094.078.094.25.094.125 0 .265 0 .406.016.219.015.219.047.219.125 0 .031 0 .047-.047.234-.047.188-.125.5-.157.578-.187.422-.843.61-1.39.61-.688 0-1.61-.344-1.61-1.516 0-.75.36-1.672.875-2.203.72-.703 1.454-.813 1.844-.813.813 0 1.281.579 1.281 1.36 0 .187-.015.25-.015.281 0 .094.094.094.125.094.11 0 .11-.016.14-.156zm0 0"/>
         </symbol>
-        <symbol id="h" overflow="visible">
-            <path d="M2.203.063h.235c1.25 0 2.406-1.016 2.406-2.126 0-.609-.375-1.015-.907-1.015-.968 0-1.484 1.234-1.671 1.75-.094.266-.25.75-.282.875C1.22-.547.72-.906.72-1.422c0 0 .047-.781.61-1.406.046-.047.062-.063.062-.094C1.39-3 1.297-3 1.28-3c-.062 0-.093 0-.234.156-.39.469-.563 1.203-.563 1.5C.484-.719.938-.187 1.828 0c-.344 1.094-.39 1.219-.39 1.281 0 .188.171.219.234.219.078 0 .219-.047.281-.14.047-.11.11-.47.25-1.298zm.094-.47c.14-.812.187-1.124.531-1.577.313-.422.672-.61 1.031-.61.47 0 .735.313.735.672 0 .703-.875 1.516-2.078 1.516h-.22zm0 0"/>
+        <symbol overflow="visible" id="h">
+            <path style="stroke:none" d="M2.203.063h.235c1.25 0 2.406-1.016 2.406-2.126 0-.609-.375-1.015-.907-1.015-.968 0-1.484 1.234-1.671 1.75-.094.266-.25.75-.282.875C1.22-.547.72-.906.72-1.422c0 0 .047-.781.61-1.406.046-.047.062-.063.062-.094C1.39-3 1.297-3 1.28-3c-.062 0-.093 0-.234.156-.39.469-.563 1.203-.563 1.5C.484-.719.938-.187 1.828 0c-.344 1.094-.39 1.219-.39 1.281 0 .188.171.219.234.219.078 0 .219-.047.281-.14.047-.11.11-.47.25-1.298zm.094-.47c.14-.812.187-1.124.531-1.577.313-.422.672-.61 1.031-.61.47 0 .735.313.735.672 0 .703-.875 1.516-2.078 1.516h-.22zm0 0"/>
         </symbol>
-        <symbol id="i" overflow="visible">
-            <path d="M3.797-4.64c.015-.079.015-.11.015-.11 0-.094-.093-.094-.109-.094-.11 0-.11.032-.14.157L2.421-.141c-.563-.062-.875-.312-.875-.78 0-.11 0-.298.344-1.157.062-.156.109-.281.109-.39 0-.376-.313-.61-.656-.61C.64-3.078.328-2.125.328-2c0 .078.094.078.125.078.094 0 .094-.031.125-.11.156-.562.469-.843.735-.843.125 0 .171.078.171.234 0 .172-.046.297-.125.516-.343.875-.343 1.031-.343 1.156 0 .797.843 1 1.359 1.031a47.669 47.669 0 00-.313 1.266c0 .094.079.094.11.094.094 0 .11-.031.14-.14L2.61.061c.282 0 .922 0 1.657-.718a2.42 2.42 0 00.5-.75C4.859-1.641 5-2.203 5-2.531c0-.547-.328-.547-.344-.547a.403.403 0 00-.375.375c0 .11.063.172.094.187.11.094.281.266.281.579 0 .578-.797 1.812-2 1.812zm0 0"/>
+        <symbol overflow="visible" id="e">
+            <path style="stroke:none" d="M2.25-1.89c.86-.657 1.094-.844 1.563-.86V-3c-.141.016-.329.031-.47.031-.28 0-.562-.015-.827-.031v.25c.078.016.125.063.125.125 0 .11-.141.234-.22.297l-1.03.797v-3.313l-1.047.078v.25c.469 0 .515.063.515.391v3.578C.86-.25.797-.25.344-.25V0c.25-.016.515-.031.765-.031.266 0 .516.015.782.031v-.25c-.454 0-.532 0-.532-.297v-.672l.516-.39.75.953c.078.078.156.187.156.281 0 .11-.125.125-.187.125V0c.094 0 .578-.031.781-.031.203 0 .406.015.61.031v-.25c-.25 0-.407-.016-.61-.266zm0 0"/>
         </symbol>
-        <symbol id="e" overflow="visible">
-            <path d="M2.25-1.89c.86-.657 1.094-.844 1.563-.86V-3c-.141.016-.329.031-.47.031-.28 0-.562-.015-.827-.031v.25c.078.016.125.063.125.125 0 .11-.141.234-.22.297l-1.03.797v-3.313l-1.047.078v.25c.469 0 .515.063.515.391v3.578C.86-.25.797-.25.344-.25V0c.25-.016.515-.031.765-.031.266 0 .516.015.782.031v-.25c-.454 0-.532 0-.532-.297v-.672l.516-.39.75.953c.078.078.156.187.156.281 0 .11-.125.125-.187.125V0c.094 0 .578-.031.781-.031.203 0 .406.015.61.031v-.25c-.25 0-.407-.016-.61-.266zm0 0"/>
+        <symbol overflow="visible" id="f">
+            <path style="stroke:none" d="M3.063-1.594c.156 0 .203 0 .203-.14 0-.625-.344-1.375-1.391-1.375a1.59 1.59 0 0 0-1.61 1.578c0 .89.782 1.593 1.704 1.593.937 0 1.297-.75 1.297-.906 0-.015-.016-.094-.125-.094-.094 0-.11.047-.125.11-.22.562-.75.672-1 .672-.329 0-.641-.14-.844-.406-.266-.329-.266-.75-.266-1.032zM.905-1.766c.078-.984.703-1.14.969-1.14.86 0 .89.969.906 1.14zm0 0"/>
         </symbol>
-        <symbol id="f" overflow="visible">
-            <path d="M3.063-1.594c.156 0 .203 0 .203-.14 0-.625-.344-1.375-1.391-1.375a1.59 1.59 0 00-1.61 1.578c0 .89.782 1.593 1.704 1.593.937 0 1.297-.75 1.297-.906 0-.015-.016-.094-.125-.094-.094 0-.11.047-.125.11-.22.562-.75.672-1 .672-.329 0-.641-.14-.844-.406-.266-.329-.266-.75-.266-1.032zM.905-1.766c.078-.984.703-1.14.969-1.14.86 0 .89.969.906 1.14zm0 0"/>
+        <symbol overflow="visible" id="g">
+            <path style="stroke:none" d="M1.39-1.594c0-.578.266-1.281.938-1.281a.325.325 0 0 0-.125.25c0 .234.188.313.313.313.171 0 .328-.11.328-.313 0-.234-.235-.453-.563-.453-.344 0-.734.219-.937.75v-.75L.344-3v.25c.469 0 .515.047.515.39v1.813C.86-.25.797-.25.344-.25V0c.031 0 .5-.031.797-.031.296 0 .593.015.906.031v-.25h-.14c-.516 0-.516-.078-.516-.313zm0 0"/>
         </symbol>
-        <symbol id="g" overflow="visible">
-            <path d="M1.39-1.594c0-.578.266-1.281.938-1.281a.325.325 0 00-.125.25c0 .234.188.313.313.313.171 0 .328-.11.328-.313 0-.234-.235-.453-.563-.453-.344 0-.734.219-.937.75v-.75L.344-3v.25c.469 0 .515.047.515.39v1.813C.86-.25.797-.25.344-.25V0c.031 0 .5-.031.797-.031.296 0 .593.015.906.031v-.25h-.14c-.516 0-.516-.078-.516-.313zm0 0"/>
-        </symbol>
     </defs>
-    <use x="14.432" y="11.346" xlink:href="#a"/>
-    <use x="64.904" y="11.346" xlink:href="#b"/>
-    <use x="4.293" y="41.808" xlink:href="#c"/>
-    <use x="9.942" y="44.05" xlink:href="#d"/>
-    <use x="15.177" y="44.05" xlink:href="#e"/>
-    <use x="19.153" y="44.05" xlink:href="#f"/>
-    <use x="22.695" y="44.05" xlink:href="#g"/>
-    <use x="27.165" y="44.05" xlink:href="#h"/>
-    <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".398" d="M26.758 8.855h33.254"/>
-    <path fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".398" d="M58.14 6.465c.38 1.433 1.223 2.11 2.07 2.39-.847.278-1.69.957-2.07 2.391"/>
-    <use x="40.965" y="5.152" xlink:href="#h"/>
-    <path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width=".398" d="M18.348 15.195v17.137"/>
-    <path fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".398" d="M20.738 29.023c-1.433.38-2.11 1.223-2.39 2.07-.278-.847-.953-1.69-2.391-2.07"/>
-    <path fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".398" d="M20.738 30.457c-1.433.379-2.11 1.223-2.39 2.074-.278-.851-.953-1.695-2.391-2.074"/>
-    <use x="10.481" y="25.705" xlink:href="#i"/>
-    <path fill="none" stroke="#000" stroke-dasharray=".39848,1.99255" stroke-miterlimit="10" stroke-width=".398" d="M32.145 32.73l27.93-17.878"/>
-    <path fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width=".39801990000000004" d="M57.207 13.848c1.094 1.004 2.168 1.117 3.035.894-.566.695-.91 1.719-.457 3.133"/>
+    <use xlink:href="#a" x="14.433" y="11.342" style="fill:#000;fill-opacity:1"/>
+    <use xlink:href="#b" x="64.904" y="11.342" style="fill:#000;fill-opacity:1"/>
+    <use xlink:href="#c" x="4.294" y="41.805" style="fill:#000;fill-opacity:1"/>
+    <use xlink:href="#d" x="9.943" y="44.046" style="fill:#000;fill-opacity:1"/>
+    <use xlink:href="#e" x="15.178" y="44.046" style="fill:#000;fill-opacity:1"/>
+    <g style="fill:#000;fill-opacity:1">
+        <use xlink:href="#f" x="19.154" y="44.046"/>
+        <use xlink:href="#g" x="22.697" y="44.046"/>
+    </g>
+    <use xlink:href="#h" x="27.166" y="44.046" style="fill:#000;fill-opacity:1"/>
+    <path style="fill:none;stroke-width:.39848;stroke-linecap:butt;stroke-linejoin:miter;stroke:#000;stroke-opacity:1;stroke-miterlimit:10" d="M-12.386 16.684h33.254" transform="matrix(1 0 0 -1 39.144 25.536)"/>
+    <path style="fill:none;stroke-width:.39848;stroke-linecap:round;stroke-linejoin:round;stroke:#000;stroke-opacity:1;stroke-miterlimit:10" d="M-2.07 2.39C-1.693.958-.849.278 0 0c-.848-.277-1.692-.957-2.07-2.39" transform="matrix(1 0 0 -1 60.211 8.851)"/>
+    <use xlink:href="#h" x="40.965" y="5.149" style="fill:#000;fill-opacity:1"/>
+    <path style="fill:none;stroke-width:.39848;stroke-linecap:butt;stroke-linejoin:miter;stroke:#000;stroke-opacity:1;stroke-miterlimit:10" d="M-20.796 10.345V-6.792" transform="matrix(1 0 0 -1 39.144 25.536)"/>
+    <path style="fill:none;stroke-width:.39848;stroke-linecap:round;stroke-linejoin:round;stroke:#000;stroke-opacity:1;stroke-miterlimit:10" d="M-2.072 2.389C-1.694.955-.85.279.002-.001-.85-.28-1.694-.956-2.072-2.393" transform="matrix(0 1 1 0 18.35 31.092)"/>
+    <path style="fill:none;stroke-width:.39848;stroke-linecap:round;stroke-linejoin:round;stroke:#000;stroke-opacity:1;stroke-miterlimit:10" d="M-2.073 2.389C-1.695.955-.851.279 0-.001-.851-.28-1.695-.956-2.073-2.393" transform="matrix(0 1 1 0 18.35 32.527)"/>
+    <path style="fill:none;stroke-width:.39848;stroke-linecap:butt;stroke-linejoin:miter;stroke:#000;stroke-opacity:1;stroke-dasharray:.39848,1.99255;stroke-miterlimit:10" d="m-7-7.19 27.93 17.878" transform="matrix(1 0 0 -1 39.144 25.536)"/>
+    <path style="fill:none;stroke-width:.39848;stroke-linecap:round;stroke-linejoin:round;stroke:#000;stroke-opacity:1;stroke-miterlimit:10" d="M-2.074 2.392C-1.694.957-.852.279 0-.001c-.85-.277-1.692-.954-2.072-2.39" transform="scale(.99994 -.99994) rotate(32.622 55.311 95.57)"/>
 </svg>

Modified: trunk/Master/texmf-dist/doc/support/tikztosvg/example.tikz
===================================================================
--- trunk/Master/texmf-dist/doc/support/tikztosvg/example.tikz	2021-08-20 22:52:01 UTC (rev 60288)
+++ trunk/Master/texmf-dist/doc/support/tikztosvg/example.tikz	2021-08-20 22:52:20 UTC (rev 60289)
@@ -1,4 +1,4 @@
 \begin{tikzcd}
-     G \arrow[r, "\varphi"] \arrow[d, "\psi"', two heads] & H \\
-  \mathlarger{\sfrac{G}{\ker \varphi}} \arrow[ru, dotted] &
+                  G \arrow{r}{\varphi} \arrow[two heads]{d} & H \\
+  \mathlarger{\sfrac{G}{\ker \varphi}} \arrow[dotted]{ru}   &
 \end{tikzcd}

Deleted: trunk/Master/texmf-dist/doc/support/tikztosvg/install.sh
===================================================================
--- trunk/Master/texmf-dist/doc/support/tikztosvg/install.sh	2021-08-20 22:52:01 UTC (rev 60288)
+++ trunk/Master/texmf-dist/doc/support/tikztosvg/install.sh	2021-08-20 22:52:20 UTC (rev 60289)
@@ -1,66 +0,0 @@
-#!/bin/sh
-# 
-# 2021 (C) Pablo
-# Free use of this software is granted under the terms of the GPL-3.0 License
-
-puts ()
-{
-    printf "\033[1m\033[38;5;%sm[%s]\033[m %s\n\n" "$3" "$1" "$2"
-}
-
-error ()
-{
-    puts ERROR "$1" 9
-    exit 1
-}
-
-dependencyWarning () 
-{
-    puts WARNING "$(printf "The command '%s' could not be found.\nPlease make sure it is included in the \$PATH enviroment variable or follow the installation instructions on %s." "$1" "$2")" 3
-}
-
-message ()
-{
-    puts INSTALLER "$1" 2
-}
-
-if [ "$(id -u)" -ne "0" ]
-then
-    error "This script requires administrator-privileges"
-fi
-
-if ! [ -x "$(command -v xelatex)" ]
-then
-    dependencyWarning "xelatex" "https://tug.org/texlive/"
-fi
-
-if ! [ -x "$(command -v pdf2svg)" ]
-then
-    dependencyWarning "pdf2svg" "https://github.com/dawbarton/pdf2svg"
-fi
-
-message "Installing tikztosvg(1)"
-
-if [ -f "$HOME/.local/bin/tikztosvg" ]
-then
-    rm "$HOME/.local/bin/tikztosvg"
-fi
-
-tmp="$(mktemp -d)"
-wget https://git.sr.ht/~pablo-pie/tikztosvg/blob/master/tikztosvg -P "$tmp" \
-    && install -g 0 -o 0 -m 755 "$tmp/tikztosvg" /usr/bin/ \
-    || exit 1
-	 
-message "Installing manual entry for tikztosvg(1)"
-wget https://git.sr.ht/~pablo-pie/tikztosvg/blob/master/man/tikztosvg.1 -P "$tmp" \
-    && install -g 0 -o 0 -m 644 "$tmp/tikztosvg.1" /usr/share/man/man1/ \
-    || exit 1
-
-if [ -f "/usr/share/man/man1/tikztosvg.1.gz" ]
-then
-    rm "/usr/share/man/man1/tikztosvg.1.gz"
-fi
-
-gzip "/usr/share/man/man1/tikztosvg.1"
-rm "$tmp" -r
-

Modified: trunk/Master/texmf-dist/doc/support/tikztosvg/man.adoc
===================================================================
--- trunk/Master/texmf-dist/doc/support/tikztosvg/man.adoc	2021-08-20 22:52:01 UTC (rev 60288)
+++ trunk/Master/texmf-dist/doc/support/tikztosvg/man.adoc	2021-08-20 22:52:20 UTC (rev 60289)
@@ -1,7 +1,7 @@
 = tikztosvg(1)
 :doctype: manpage
 :man-manual: tikztosvg Manual
-:man-source: tikztosvg 0.2.1
+:man-source: tikztosvg 0.3.0
 :page-layout: base
 
 == NAME
@@ -36,6 +36,16 @@
 *-q, --quiet*::
   Silence application log messages and script warnings.
 
+*--lualatex*::
+  Use LuaTeX as the TeX engine. LuaTeX is already the
+  default, so this option doesn't really do much.
+
+*--xelatex*::
+  Use XeTeX as the TeX engine.
+
+*--pdflatex*::
+  Use pdfTeX as the TeX engine.
+
 *-h, --help*::
   Print a help message.
 
@@ -70,7 +80,13 @@
 Git source repository on sourcehut:: https://git.sr.ht/~pablo-pie/tikztosvg
 Bug tracker:: https://todo.sr.ht/~pablo-pie/tikztosvg
 CTAN package:: https://www.ctan.org/pkg/tikztosvg
+TeXLive:: https://tug.org/texlive/
+LuaTeX:: http://luatex.org/
+XeTeX:: http://xetex.sourceforge.net/
 
+**pdfTeX** <https://www.tug.org/applications/pdftex/>
+
+
 == COPYING
 
 Copyright \(C) 2021 Pablo.

Modified: trunk/Master/texmf-dist/doc/support/tikztosvg/tikztosvg.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/scripts/tikztosvg/tikztosvg
===================================================================
--- trunk/Master/texmf-dist/scripts/tikztosvg/tikztosvg	2021-08-20 22:52:01 UTC (rev 60288)
+++ trunk/Master/texmf-dist/scripts/tikztosvg/tikztosvg	2021-08-20 22:52:20 UTC (rev 60289)
@@ -38,7 +38,7 @@
 
 showVersion()
 {
-  echo 0.2.1
+  echo 0.3.0
   exit 0
 }
 
@@ -46,16 +46,9 @@
 packages="tikz tikz-cd pgfplots amsmath amssymb"
 libraries=""
 
-if ! [ -x "$(command -v xelatex)" ]
-then
-  error "xelatex could not be found"
-fi
+# The default TeX engine
+texengine='lualatex'
 
-if ! [ -x "$(command -v pdf2svg)" ]
-then
-  error "pdf2svg could not be found"
-fi
-
 # Parsing the arguments
 while [ $# -gt 1 ]
 do
@@ -113,6 +106,27 @@
       quiet=1
       shift
       ;;
+    --lualatex)
+      shift
+      ;;
+    --xelatex)
+      if command -v xelatex > /dev/null
+      then
+        texengine='xelatex'
+      else
+        error "Couldn't find xelatex: required by the --xelatex option"
+      fi
+      shift
+      ;;
+    --pdflatex)
+      if command -v pdflatex > /dev/null
+      then
+        texengine='pdflatex'
+      else
+        error "Couldn't find pdflatex: required by the --pdflatex option"
+      fi
+      shift
+      ;;
     *) 
       error "Unexpected token: \"$1\""
       ;;
@@ -126,10 +140,10 @@
   -v|--version)
     showVersion
     ;;
-  "")
+  '')
     error "No input path provided"
     ;;
-  "-")
+  -)
     input=/dev/stdin
     ;;
   *)
@@ -145,11 +159,8 @@
     ;;
 
   # If no output path is provided, use the basename of the input
-  "") 
-    if [ -x "$(command -v dirname)" ]
-    then
-      output="$(dirname "$input")/$(basename "$input" | cut -d "." -f1).svg" 
-    fi
+  '') 
+    output="$(dirname "$input")/$(basename "$input" | cut -d "." -f1).svg" 
     ;;
 
   # If the output path is provided, but it resolves to directory, output a 
@@ -163,14 +174,14 @@
 tex_file="$tmp_dir/tmp.tex"
 
 # Generate the LaTeX document
-printf "\documentclass[crop,tikz,multi=false]{standalone}\n" > "$tex_file"
+printf '\\documentclass[crop,tikz,multi=false]{standalone}\n' > "$tex_file"
 
-for package in $(echo "$packages" | tr " " "\n" | sort | uniq)
+for package in $packages
 do
   printf '\\usepackage{%s}\n' "$package" >> "$tex_file"
 done
 
-for library in $(echo "$libraries" | tr " " "\n" | sort | uniq) 
+for library in $libraries
 do
   printf '\\usetikzlibrary{%s}\n' "$library" >> "$tex_file"
 done
@@ -189,11 +200,12 @@
 if [ -z "$quiet" ]
 then
   message "Rendering the LaTeX document. . ."
-  xelatex -halt-on-error -output-directory="$tmp_dir" "$tex_file"
+  $texengine -halt-on-error -output-directory="$tmp_dir" "$tex_file"
 else
-  xelatex -halt-on-error -output-directory="$tmp_dir" "$tex_file" 1> /dev/null 2>&1
+  $texengine -halt-on-error -output-directory="$tmp_dir" "$tex_file" 1> /dev/null 2>&1
 fi
 
+# TODO: Make this less horrible?
 S=$?
 if [ $S -ne 0 ]
 then
@@ -200,7 +212,7 @@
   rm "$tmp_dir" -r
   if [ -z "$quiet" ]
   then
-    error "xelatex exited with code $S" $S
+    error "$texengine exited with code $S" $S
   else
     exit $S
   fi
@@ -213,6 +225,7 @@
 
 pdf2svg "$tmp_dir/tmp.pdf" "$output" 1
 
+# TODO: Make this less horrible?
 S=$?
 if [ $S -ne 0 ]
 then



More information about the tex-live-commits mailing list.