From eb74e117c784423ac31845a83be69d27ac41fb26 Mon Sep 17 00:00:00 2001 From: Marc Hiatt Date: Thu, 7 Dec 2023 13:32:08 +0100 Subject: [PATCH] Small code fixes --- worddiv.fish | 125 ++++++++++++++++++++++++++------------------------- 1 file changed, 63 insertions(+), 62 deletions(-) diff --git a/worddiv.fish b/worddiv.fish index f300968..c962f54 100644 --- a/worddiv.fish +++ b/worddiv.fish @@ -35,81 +35,82 @@ function worddiv --description "Interact with TeX and babel (LaTeX) to show word # interact set -f expression "" while test $expression != "q" + read -f --prompt hyphenation_prompt expression + if test ! -e $tmpdir - mkdir -p "$tmpdir" || echo "Unable to create temporary directory!" + mkdir -p "$tmpdir" || echo "Unable to create temporary directory!" end - - if test $expression != "q" - - ## latex+babel - # generate input and output - cp $project_path/$template_filename $tmpdir/ - - # for now, $language just = american - sed "s/language/$language/g" $tmpdir/$template_filename | - sed "s/expression/$expression/g" | - - # modify template: uncomment its \input ushyphex line so that - # the exceptions list for AE will be included - sed "s/% \\\input/\\\input/g" > $tmpdir/$expression_filename - - # let's check and see if british english divides this expression differently - # for now, $secondary_language just = british - sed "s/language/$secondary_language/g" $tmpdir/$template_filename | - sed "s/expression/$expression/g" > $tmpdir/$secondary_filename - - # american - set -f babel_output ( - latex -draftmode $tmpdir/$expression_filename | - grep "\\[\\] .OT1" | sed 's_\\[\\] .OT1/cmr/m/n/10 __' ) - - # british - set -f babel_output_british ( - latex -draftmode $tmpdir/$secondary_filename | - grep "\\[\\] .OT1" | sed 's_\\[\\] .OT1/cmr/m/n/10 __' ) - - - ## tex+showhyphens - # generate output - set -f tex_untrimmed (echo -e "\showhyphens{$expression}" | - tex --output-directory "$tmpdir" | tail -n +4 | head -n -10 | - sed 's/^\[\] \\\tenrm //' ) - - # $tex_untrimmed has trailing whitespace; trim it - set -f tex_output (string trim "$tex_untrimmed") - - ## run comparisons ... - # babel AE vs plain TeX - if test "$babel_output" = "$tex_output" - # babel AE vs babel BE - if test "$babel_output" != "$babel_output_british" - set_color yellow ; echo -en "\nbabel (AE): " - else - set_color yellow ; echo -en "\nbabel (AE & BE): " - end - # ... and output results - set_color normal ; echo -e "$babel_output\n" - else - set_color yellow ; echo -en "\nbabel (AE): " ; set_color normal ; echo $babel_output - set_color yellow ; echo -en "\nplain TeX (AE): " ; set_color normal ; echo -e "$tex_output\n" - end - # one more comparison + ## latex+babel + # generate input and output + # grab a copy of the template + cp $project_path/$template_filename $tmpdir/ + + # modify the template, inserting our two variables + # for now, $language just = american + sed "s/language/$language/g" $tmpdir/$template_filename | + sed "s/expression/$expression/g" | + # also uncomment its \input ushyphex line so that + # the exceptions list for AE will be included + # output to a new file + sed "s/% \\\input/\\\input/g" > $tmpdir/$expression_filename + + # let's check and see if british english divides this expression differently + # modify the template with a different language + # for now, $secondary_language just = british + # output to a new file + sed "s/language/$secondary_language/g" $tmpdir/$template_filename | + sed "s/expression/$expression/g" > $tmpdir/$secondary_filename + + ## operate on the files and filter the output + # american + set -f babel_output ( + latex -draftmode $tmpdir/$expression_filename | + grep "\\[\\] .OT1" | sed 's_\\[\\] .OT1/cmr/m/n/10 __' ) + + # british + set -f babel_output_british ( + latex -draftmode $tmpdir/$secondary_filename | + grep "\\[\\] .OT1" | sed 's_\\[\\] .OT1/cmr/m/n/10 __' ) + + ## tex+showhyphens + # generate output + set -f tex_untrimmed (echo -e "\showhyphens{$expression}" | + tex --output-directory "$tmpdir" | tail -n +4 | head -n -10 | + sed 's/^\[\] \\\tenrm //' ) + + # $tex_untrimmed has trailing whitespace; trim it + set -f tex_output (string trim "$tex_untrimmed") + + ## run comparisons ... + # babel AE vs plain TeX + if test "$babel_output" = "$tex_output" # babel AE vs babel BE if test "$babel_output" != "$babel_output_british" - set_color yellow ; echo -en "babel (BE): " - set_color normal ; echo -e "$babel_output_british\n" + set_color yellow ; echo -en "\nbabel (AE): " + else + set_color yellow ; echo -en "\nbabel (AE & BE): " end + # ... and output results + set_color normal ; echo -e "$babel_output\n" + else + set_color yellow ; echo -en "\nbabel (AE): " ; set_color normal ; echo $babel_output + set_color yellow ; echo -en "\nplain TeX (AE): " ; set_color normal ; echo -e "$tex_output\n" + end + + # one more comparison + # babel AE vs babel BE + if test "$babel_output" != "$babel_output_british" + set_color yellow ; echo -en "babel (BE): " + set_color normal ; echo -e "$babel_output_british\n" end end -end echo -e "\nQuitting...\n" # clean up - if -e $tmpdir + if test -e $tmpdir rm -r $tmpdir end end -