@ -13,9 +13,9 @@ function worddiv --description "Interact with TeX and babel (LaTeX) to show word
# set up temporary directory for our own .tex files and LaTeX 's logfiles
# -f : scope our variable to the function
set -f tmpdir show-hyphens_( date -Ins )
mkdir " ./ $tmpdir " || echo "Unable to create temporary directory!"
set -f template_path /home/marc/.config/fish /hyphenation
set -f project_path ~/.config/fish /conf.d/worddiv
set -f tmpdir $project_path /.cache/tempdir_( date -Ins )
mkdir -p " $tmpdir " || echo "Unable to create temporary directory!"
set -f template_filename latex-hyphenation-template.tex
set -f expression_filename latex-hyphenation-target.tex
set -f secondary_filename latex-hyphenation-target-british.tex
@ -36,30 +36,42 @@ function worddiv --description "Interact with TeX and babel (LaTeX) to show word
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!"
end
if test $expression != "q"
# latex+babel: generate input and output
cp $template_path /$template_filename ./$tmpdir /
## latex+babel
# generate input and output
cp $project_path /$template_filename $tmpdir /
sed " s/language/ $language /g " ./$tmpdir /$template_filename |
# for now, $language just = american
sed " s/language/ $language /g " $tmpdir /$template_filename |
sed " s/expression/ $expression /g " |
# uncomment the \i nput ushyphex line to include the exceptions list for AE
sed "s/% \\\input/\\\input/g" > ./$tmpdir /$expression_filename
# modify template: uncomment its \i nput 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 is different
sed " s/language/ $secondary_language /g " ./$tmpdir /$template_filename |
sed " s/expression/ $expression /g " > ./$tmpdir /$secondary_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 |
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 |
latex -draftmode $tmpdir /$secondary_filename |
grep "\\[\\] .OT1" | sed 's_\\[\\] .OT1/cmr/m/n/10 __' )
# tex+showhyphens: generate output
## 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 //' )
@ -67,31 +79,37 @@ function worddiv --description "Interact with TeX and babel (LaTeX) to show word
# $tex_untrimmed has trailing whitespace; trim it
set -f tex_output ( string trim " $tex_untrimmed " )
# echo -n "latex: " ; echo -n $babel_output ; echo "|"
# echo -n " tex: " ; echo -n $tex_output ; echo "|"
## 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): "
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
end
echo -e "\nQuitting...\n"
# clean up
rm -r $tmpdir
if -e $tmpdir
rm -r $tmpdir
end
end