diff options
author | Karl Berry <karl@freefriends.org> | 2017-10-02 00:22:00 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-10-02 00:22:00 +0000 |
commit | 7c2283ba3afd3bbc2e39bd286b9175a9a54325e9 (patch) | |
tree | f95a7297ce166a3585e159d0cedbb48d373fc9ac | |
parent | 41531ce545a96171a6555a97b16858203ede2e7f (diff) |
tl-update-auto
git-svn-id: svn://tug.org/texlive/trunk@45448 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Build/source/build-aux/compile | 335 | ||||
-rwxr-xr-x | Build/source/utils/autosp/autosp-src/compile | 335 | ||||
-rw-r--r-- | Master/doc.html | 49 |
3 files changed, 695 insertions, 24 deletions
diff --git a/Build/source/build-aux/compile b/Build/source/build-aux/compile index c063084c670..f8e99f0fb6f 100755 --- a/Build/source/build-aux/compile +++ b/Build/source/build-aux/compile @@ -12,4 +12,337 @@ scriptversion=2017-09-16.17; # UTC # any later version. # # This program is distributed in the hope that it will be useful, -#
\ No newline at end of file +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to <bug-automake@gnu.org>. +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/Build/source/utils/autosp/autosp-src/compile b/Build/source/utils/autosp/autosp-src/compile index c063084c670..f8e99f0fb6f 100755 --- a/Build/source/utils/autosp/autosp-src/compile +++ b/Build/source/utils/autosp/autosp-src/compile @@ -12,4 +12,337 @@ scriptversion=2017-09-16.17; # UTC # any later version. # # This program is distributed in the hope that it will be useful, -#
\ No newline at end of file +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to <bug-automake@gnu.org>. +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/Master/doc.html b/Master/doc.html index fb007f37402..00c36176afa 100644 --- a/Master/doc.html +++ b/Master/doc.html @@ -4568,6 +4568,11 @@ LaTeX support for the DejaVu fonts <a href="texmf-dist/doc/fonts/dejavu/dejavu.pdf">dejavu.pdf</a>. </small></li> +<li><b><a href="texmf-dist/doc/fonts/dejavu-otf">dejavu-otf</a></b>:<small> +Support for the ttf and otf DejaVu fonts. +<a href="texmf-dist/doc/fonts/dejavu-otf/dejavu-otf-doc.pdf">dejavu-otf-doc.pdf</a>. +</small></li> + <li><b><a href="texmf-dist/doc/latex/delim">delim</a></b>:<small> Simplify typesetting mathematical delimiters <a href="texmf-dist/doc/latex/delim/delim.pdf">delim.pdf</a>. @@ -5069,7 +5074,7 @@ Construct Dynkin tree diagrams <h2 id="letter-E">E</h2> -<ol start="774"> +<ol start="775"> <li><b><a href="texmf-dist/doc/generic/e-french">e-french</a></b>:<small> Comprehensive LaTeX support for French-language typesetting @@ -5918,7 +5923,7 @@ Extend the standard classes' size options <h2 id="letter-F">F</h2> -<ol start="914"> +<ol start="915"> <li><b><a href="texmf-dist/doc/latex/facsimile">facsimile</a></b>:<small> Document class for preparing faxes @@ -6786,7 +6791,7 @@ Get first and last words of a page <h2 id="letter-G">G</h2> -<ol start="1054"> +<ol start="1055"> <li><b><a href="texmf-dist/doc/latex/g-brief">g-brief</a></b>:<small> Letter document class @@ -7494,7 +7499,7 @@ Bundle of classes for "La Gazette des Mathematiciens" <h2 id="letter-H">H</h2> -<ol start="1158"> +<ol start="1159"> <li><b><a href="texmf-dist/doc/latex/h2020proposal/manual">h2020proposal</a></b>:<small> LaTeX class and template for EU H2020 RIA proposal @@ -7813,7 +7818,7 @@ Basic support for multiple languages in Plain TeX <h2 id="letter-I">I</h2> -<ol start="1212"> +<ol start="1213"> <li><b><a href="texmf-dist/doc/latex/ibycus-babel">ibycus-babel</a></b>:<small> Use the Ibycus 4 Greek font with Babel @@ -8183,7 +8188,7 @@ A two-element sans-serif font <h2 id="letter-J">J</h2> -<ol start="1277"> +<ol start="1278"> <li><b><a href="texmf-dist/doc/fonts/jablantile">jablantile</a></b>:<small> Metafont version of tiles in the style of Slavik Jablan @@ -8327,7 +8332,7 @@ A replacement for LaTeX's verbatim package <h2 id="letter-K">K</h2> -<ol start="1296"> +<ol start="1297"> <li><b><a href="texmf-dist/doc/latex/kantlipsum">kantlipsum</a></b>:<small> Generate sentences in Kant's style @@ -8606,7 +8611,7 @@ A two-element sans-serif typeface <h2 id="letter-L">L</h2> -<ol start="1328"> +<ol start="1329"> <li><b><a href="texmf-dist/doc/latex/l2picfaq">l2picfaq</a></b>:<small> LaTeX pictures "how-to" (German) @@ -9915,7 +9920,7 @@ Set of slide fonts based on CM <h2 id="letter-M">M</h2> -<ol start="1523"> +<ol start="1524"> <li><b><a href="texmf-dist/doc/generic/m-tx">m-tx</a></b>:<small> A preprocessor for pmx @@ -11079,7 +11084,7 @@ XeLaTeX template for writing the main body of NSFC proposals <h2 id="letter-N">N</h2> -<ol start="1710"> +<ol start="1711"> <li><b><a href="texmf-dist/doc/xelatex/na-box">na-box</a></b>:<small> Arabic-aware version of pas-cours package @@ -11527,7 +11532,7 @@ Support for the journal "North-Western European Journal of Mathematics" <h2 id="letter-O">O</h2> -<ol start="1781"> +<ol start="1782"> <li><b><a href="texmf-dist/doc/latex/oberdiek">oberdiek</a></b>:<small> A bundle of packages submitted by Heiko Oberdiek @@ -11843,7 +11848,7 @@ Combine LaTeX commands over included graphics <h2 id="letter-P">P</h2> -<ol start="1818"> +<ol start="1819"> <li><b><a href="texmf-dist/doc/latex/pagecolor">pagecolor</a></b>:<small> Interrogate page colour @@ -13568,7 +13573,7 @@ Run Python from within a document, typesetting the results <h2 id="letter-Q">Q</h2> -<ol start="2090"> +<ol start="2091"> <li><b><a href="texmf-dist/doc/latex/qcircuit">qcircuit</a></b>:<small> Macros to generate quantum ciruits @@ -13643,7 +13648,7 @@ An easy way to typeset any part of The Holy Quran <h2 id="letter-R">R</h2> -<ol start="2102"> +<ol start="2103"> <li><b><a href="texmf-dist/doc/latex/raleway">raleway</a></b>:<small> Use Raleway with TeX(-alike) systems @@ -14081,7 +14086,7 @@ Class for Ryerson Unversity Graduate School requirements <h2 id="letter-S">S</h2> -<ol start="2168"> +<ol start="2169"> <li><b><a href="texmf-dist/doc/latex/sa-tikz">sa-tikz</a></b>:<small> TikZ library to draw switching architectures @@ -15340,7 +15345,7 @@ Format systems of equations <h2 id="letter-T">T</h2> -<ol start="2367"> +<ol start="2368"> <li><b><a href="texmf-dist/doc/latex/t-angles">t-angles</a></b>:<small> Draw tangles, trees, Hopf algebra operations and other pictures @@ -17001,7 +17006,7 @@ Print a typographic grid <h2 id="letter-U">U</h2> -<ol start="2591"> +<ol start="2592"> <li><b><a href="texmf-dist/doc/latex/uaclasses">uaclasses</a></b>:<small> University of Arizona thesis and dissertation format @@ -17329,7 +17334,7 @@ University of Washington thesis class <h2 id="letter-V">V</h2> -<ol start="2648"> +<ol start="2649"> <li><b><a href="texmf-dist/doc/bibtex/vancouver">vancouver</a></b>:<small> Bibliographic style file for Biomedical Journals @@ -17533,7 +17538,7 @@ Variable-width multiple text columns <h2 id="letter-W">W</h2> -<ol start="2682"> +<ol start="2683"> <li><b><a href="texmf-dist/doc/fonts/wadalab">wadalab</a></b>:<small> Wadalab (Japanese) font packages @@ -17659,7 +17664,7 @@ Extend LaTeX's cross-reference system <h2 id="letter-X">X</h2> -<ol start="2700"> +<ol start="2701"> <li><b><a href="texmf-dist/doc/latex/xargs">xargs</a></b>:<small> Define commands with many optional arguments @@ -18084,7 +18089,7 @@ Tree macros using XY-Pic <h2 id="letter-Y">Y</h2> -<ol start="2759"> +<ol start="2760"> <li><b><a href="texmf-dist/doc/latex/yafoot">yafoot</a></b>:<small> A bundle of miscellaneous footnote packages @@ -18153,7 +18158,7 @@ Many-featured Young tableaux and Young diagrams <h2 id="letter-Z">Z</h2> -<ol start="2770"> +<ol start="2771"> <li><b><a href="texmf-dist/doc/latex/zed-csp">zed-csp</a></b>:<small> Typesetting Z and CSP format specifications |