diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /graphics/pgf/contrib/pgfplots/scripts/matlab2pgfplots.sh |
Initial commit
Diffstat (limited to 'graphics/pgf/contrib/pgfplots/scripts/matlab2pgfplots.sh')
-rwxr-xr-x | graphics/pgf/contrib/pgfplots/scripts/matlab2pgfplots.sh | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/pgfplots/scripts/matlab2pgfplots.sh b/graphics/pgf/contrib/pgfplots/scripts/matlab2pgfplots.sh new file mode 100755 index 0000000000..c821171940 --- /dev/null +++ b/graphics/pgf/contrib/pgfplots/scripts/matlab2pgfplots.sh @@ -0,0 +1,79 @@ +#!/bin/sh + + +CONVERT_STYLES=1 +CONVERT_AXES=1 +OUTFILE="" +MAXPOINTS=100000 + +echoHelp() +{ + echo "matlab2pgfplots.sh [--maxpoints N] [--styles [0|1] ] [ --axes [0|1] ] [ -o OUTFILE ] INFILE ..." + echo "converts Matlab figures (.fig-files) to pgfplots-files (.pgf-files)." + echo "This script is a front-end for matlab2pgfplots.m (which needs to be in matlab's search path)" + echo "type" + echo " >> help matlab2pgfplots" + echo "at your matlab prompt for more information." + exit 0 +} + +LONGOPTS="styles:,axes:,help,maxpoints:" +SHORTOPTS="o:" +ARGS=`getopt -l "$LONGOPTS" "$SHORTOPTS" "$@"` +if [ $? -ne 0 ]; then + echo "`basename $0`: Could not process command line arguments. Use the '--help' option for documentation." + exit 1 +fi + +eval set -- "$ARGS" +while [ $# -gt 0 ]; do + ARG=$1 + # echo "PROCESSING OPTION '$ARG' (next = $@)" + case "$ARG" in + --maxpoints) shift; MAXPOINTS=$1; shift;; + --styles) shift; CONVERT_STYLES="$1"; shift;; + --axes) shift; CONVERT_AXES="$1"; shift;; + -o) shift; OUTFILE="$1"; shift;; + --help) shift; echoHelp;; + --) shift; break;; + *) break; + esac +done + +if [ $# -eq 0 ]; then + echo "No input files specified." + exit 1 +fi + +HAS_OUTFILE=0 +if [ $# -gt 1 -a -n "$OUTFILE" ]; then + HAS_OUTFILE=1 +fi + +for A; do + INFILE="$A" + if [ $HAS_OUTFILE -eq 0 ]; then + OUTFILE="${INFILE%%.*}.pgf" + fi + echo "$INFILE -> $OUTFILE ... " + + M_LOGFILE=`mktemp` + matlab -nojvm -nodesktop -nosplash 1>/dev/null 2>&1 -logfile $M_LOGFILE <<-EOF + f=hgload( '$INFILE' ); + matlab2pgfplots( '$OUTFILE', 'fig', f, 'styles', $CONVERT_STYLES, 'axes', $CONVERT_AXES, 'maxpoints', $MAXPOINTS ); + exit + EOF + grep -q "Error" $M_LOGFILE + CODE=$? + if [ $CODE -eq 0 ]; then + echo "Matlab output:" 1>&2 + cat $M_LOGFILE 1>&2 + CODE=1 + else + CODE=0 + fi + rm -f $M_LOGFILE + if [ $CODE -ne 0 ]; then + exit $CODE + fi +done |