summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/dvisirule/dvisirule.sh
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/dvisirule/dvisirule.sh')
-rw-r--r--macros/latex/contrib/dvisirule/dvisirule.sh179
1 files changed, 0 insertions, 179 deletions
diff --git a/macros/latex/contrib/dvisirule/dvisirule.sh b/macros/latex/contrib/dvisirule/dvisirule.sh
deleted file mode 100644
index 20969abf8f..0000000000
--- a/macros/latex/contrib/dvisirule/dvisirule.sh
+++ /dev/null
@@ -1,179 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 2012-2022 Jiro Senju
-#
-# This package is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# any later version.
-#
-# This package is distributed in the hope that it will be useful,
-# 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 package. If not, see <http://www.gnu.org/licenses/>.
-#
-
-# Superimpose the hidden or covered `\hline` and `\vline` in a LaTeX
-# tabular / colortbl environment.
-
-set -eu
-
-usage()
-{
- cat <<- EOF
- $(basename $0) [option] in.dvi [out.dvi]
- option:
- -j jobs
- number of jobs in parallel.
- a job means handling the extracted page.
- default: the number of processors online
- -t dvitype-cmd
- 'dvitype' command.
- default: dvitype or \$DIVTYPE
- -c dviconcat-cmd
- 'dviconcat' command.
- default: dviconcat or \$DIVCONCAT
- -s dviselect-cmd
- 'dviselect' command.
- default: dviselect or \$DIVSELECT
- -l library-dir
- library path where dvisirule-bin, \*.awk and \*.mk
- are located.
- default: a dir kpsewhich(1) returned.
- if you set "library-dir" by this option, then
- "kpsewhich -path \"library-dir\"" is used.
- Also this command creates a temporary directory under \$TMPDIR
- or /tmp. For details, refer to dvisirule.pdf.
- EOF
-}
-
-jobs=0
-dvitype=${DVITYPE:-dvitype}
-dviconcat=${DVICONCAT:-dviconcat}
-dviselect=${DVISELECT:-dviselect}
-libdir=""
-# posix compliant builtin
-while getopts j:t:c:s:l:h i
-do
- case $i in
- j)
- {
- test "$2" -eq $(($2 + 0))
- test "$2" -ge 1
- } || {
- echo Bad arg "$2" 1>&2
- exit 1
- }
- jobs="$2"
- shift
- ;;
- t) dvitype="$2"
- shift
- ;;
- c) dviconcat="$2"
- shift
- ;;
- l) libdir="-path \"$2\""
- shift
- ;;
- h) usage
- exit 0
- ;;
- *) usage 1>&2
- exit 1
- ;;
- esac
- shift
-done
-shift $(($OPTIND - 1))
-
-find_lib() # file
-{
- eval kpsewhich $libdir $1 ||
- kpsewhich $1
-}
-
-pgnum="$(find_lib dvisirule-pgnum.awk)"
-expg="$(find_lib dvisirule-expg.mk)"
-marker="$(find_lib dvisirule-marker.awk)"
-sirule="$(find_lib dvisirule-bin)"
-
-# find the input file
-f=$(realpath "$1")
-d=$(dirname "$f")
-b=$(basename "$f" .dvi)
-tables="$d/$b.sirule"
-test -e "$tables" ||
-{
- echo No "$tables" 1>&2
- exit 1
-}
-# no need to handle it
-test -s "$tables" || exit 0
-
-# decide the output file
-out="$d/$b-si.dvi"
-test $# -eq 2 &&
-out=$(realpath -m "$2")
-test $# -ge 3 &&
-{
- echo Bad arg 1>&2
- exit 1
-}
-
-d="${TMPDIR:-/tmp}"
-test -d "$d" ||
-{
- echo "$d" is not a directory 1>&2
- exit 1
-}
-tmp="$d/$(basename $0).$$"
-mkdir "$tmp"
-cd "$tmp"
-
-# parallel processing per page
-test $jobs -eq 0 &&
-jobs=$(getconf _NPROCESSORS_ONLN)
-# set +eu
-# if [ "$MAKEFLAGS" ]
-# then
-# echo "$MAKEFLAGS" | fgrep -q -- -j
-# if [ $? -eq 1 ]
-# then
-# MAKEFLAGS="$MAKEFLAGS -j$jobs"
-# fi
-# else
-# MAKEFLAGS="-j$jobs"
-# fi
-# export MAKEFLAGS
-# set -eu
-
-# which pages to handle?
-npages=$("$dvitype" -max-pages=1 "$f" |
- fgrep totalpages= |
- sed -e 's/^.*totalpages=//')
-uniq "$tables" |
-awk -v npages=$npages -f "$pgnum" |
-tee tables2 |
-xargs -r make -s -j$jobs -f "$expg" \
- DVITYPE="$dvitype" \
- Input="$f" \
- Marker="$marker" \
- SIRULE="$sirule" \
- DVISELECT="$dviselect"
-
-# concatenate all pages
-err=0
-"$dviconcat" -o "$out" $(cat tables2) 2> err ||
-err=$?
-test $err -ne 0 &&
-grep -vx 'Wrote [0-9]* pages, [0-9]* bytes' err
-#test $err -eq 0 # debugging
-
-cd $OLDPWD
-rm -fr "$tmp"
-
-exit $err