#! /bin/bash # # Greg Marks # URL: gmarks.org/u2l.txt # # This script converts UTF-8 characters into LaTeX equivalents. It does # not convert letters in various alphabets, such as Cyrillic or Greek, # for which words in the corresponding language would not typically be # written using English LaTeX code for each letter. Some characters might # require an appropriate LaTeX package to display. # # Save file as "u2l" (for "Unicode to LaTeX") somewhere in PATH and add # "execute" permissions. # # Possible usage: cat file.tex | u2l > revised_file.tex # # Alternatively, when editing a LaTeX file using vi, a command such as # the following can be used: # # :.,.+2!u2l # # (Converts current line and the next two.) # sed 's/ä/\\"a/g' | \ sed 's/Ä/\\"A/g' | \ sed 's/ë/\\"e/g' | \ sed 's/Ë/\\"E/g' | \ sed 's/ï/\\"{\\i}/g' | \ sed 's/Ï/\\"I/g' | \ sed 's/ö/\\"o/g' | \ sed 's/Ö/\\"O/g' | \ sed 's/ü/\\"u/g' | \ sed 's/Ü/\\"U/g' | \ sed "s/á/\\\\'a/g" | \ sed "s/Á/\\\\'A/g" | \ sed "s/ć/\\\\'c/g" | \ sed "s/Ć/\\\\'C/g" | \ sed "s/é/\\\\'e/g" | \ sed "s/É/\\\\'E/g" | \ sed "s/í/\\\\'i/g" | \ sed "s/Í/\\\\'I/g" | \ sed "s/ń/\\\\'n/g" | \ sed "s/Ń/\\\\'N/g" | \ sed "s/ó/\\\\'o/g" | \ sed "s/Ó/\\\\'O/g" | \ sed "s/ś/\\\\'s/g" | \ sed "s/Ś/\\\\'S/g" | \ sed "s/ú/\\\\'u/g" | \ sed "s/Ú/\\\\'U/g" | \ sed "s/ẃ/\\\\'w/g" | \ sed "s/Ẃ/\\\\'W/g" | \ sed "s/ý/\\\\'y/g" | \ sed "s/Ý/\\\\'Y/g" | \ sed "s/ź/\\\\'z/g" | \ sed "s/Ź/\\\\'Z/g" | \ sed 's/à/\\\`a/g' | \ sed 's/À/\\\`A/g' | \ sed 's/è/\\\`e/g' | \ sed 's/È/\\\`E/g' | \ sed 's/ì/\\\`i/g' | \ sed 's/Ì/\\\`I/g' | \ sed 's/ò/\\\`o/g' | \ sed 's/Ò/\\\`O/g' | \ sed 's/ù/\\\`u/g' | \ sed 's/Ù/\\\`U/g' | \ sed 's/â/\\^a/g' | \ sed 's/Â/\\^A/g' | \ sed 's/ĉ/\\^c/g' | \ sed 's/Ĉ/\\^C/g' | \ sed 's/ê/\\^e/g' | \ sed 's/Ê/\\^E/g' | \ sed 's/î/\\^i/g' | \ sed 's/Î/\\^I/g' | \ sed 's/ô/\\^o/g' | \ sed 's/Ô/\\^O/g' | \ sed 's/û/\\^u/g' | \ sed 's/Û/\\^U/g' | \ sed 's/ŵ/\\^w/g' | \ sed 's/Ŵ/\\^W/g' | \ sed 's/ŷ/\\^y/g' | \ sed 's/Ŷ/\\^Y/g' | \ sed 's/ç/\\c\{c\}/g' | \ sed 's/Ç/\\c\{C\}/g' | \ sed 's/ß/\{\\ss\}/g' | \ sed 's/ã/\\~a/g' | \ sed 's/ñ/\\~n/g' | \ sed 's/õ/\\~o/g' | \ sed 's/č/\\v\{c\}/g' | \ sed 's/Č/\\v\{C\}/g' | \ sed 's/Ď/\\v\{D\}/g' | \ sed 's/ř/\\v\{r\}/g' | \ sed 's/Ř/\\v\{R\}/g' | \ sed 's/š/\\v\{s\}/g' | \ sed 's/Š/\\v\{S\}/g' | \ sed 's/ě/\\v\{e\}/g' | \ sed 's/ĝ/\\v\{g\}/g' | \ sed 's/Ĝ/\\v\{G\}/g' | \ sed 's/ĥ/\\v\{h\}/g' | \ sed 's/Ĥ/\\v\{H\}/g' | \ sed 's/ǔ/\\v\{u\}/g' | \ sed 's/ž/\\v\{z\}/g' | \ sed 's/Ÿ/\\"Y/g' | \ sed 's/Ž/\\v\{Z\}/g' | \ sed 's/ő/\\H\{o\}/g' | \ sed 's/Ő/\\H\{O\}/g' | \ sed 's/ű/\\H\{u\}/g' | \ sed 's/Ű/\\H\{U\}/g' | \ sed 's/ł/\{\\l\}/g' | \ sed 's/Ł/\{\\L\}/g' | \ sed 's/æ/\{\\ae\}/g' | \ sed 's/Æ/\{\\AE\}/g' | \ sed 's/œ/\{\\oe\}/g' | \ sed 's/Œ/\{\\OE\}/g' | \ sed 's/Ð/\{\\DH\}/g' | \ sed 's/đ/\{\\dj\}/g' | \ sed 's/ğ/\\u\{g\}/g' | \ sed 's/Ğ/\\u\{G\}/g' | \ sed 's/ç/\\c\{c\}/g' | \ sed 's/Ç/\\c\{C\}/g' | \ sed 's/ş/\\c\{s\}/g' | \ sed 's/Ş/\\c\{S\}/g' | \ sed 's/ţ/\\c\{t\}/g' | \ sed 's/Ţ/\\c\{T\}/g' | \ sed 's/ı/\{\\i\}/g' | \ sed 's/İ/\\.\{I\}/g' | \ sed 's/ă/\\u\{a\}/g' | \ sed 's/ą/\\k\{a\}/g' | \ sed 's/Ą/\\k\{A\}/g' | \ sed 's/ę/\\k\{e\}/g' | \ sed 's/Ę/\\k\{E\}/g' | \ sed 's/ż/\\.\{z\}/g' | \ sed 's/Ż/\\.\{Z\}/g' | \ sed 's/‘/\`/g' | \ sed "s/’/'/g" | \ sed 's/“/\`\`/g' | \ sed "s/”/\'\'/g" | \ sed 's/–/--/g' | \ sed 's/—/---/g' | \ sed 's/⁓/\\~\{\}/g' | \ sed 's/…/\{\\ldots\}/g' | \ sed 's/å/\{\\aa\}/g' | \ sed 's/Å/\{\\aa\}/g' | \ sed 's/ø/\{\\o\}/g' | \ sed 's/Ø/\{\\O\}/g' | \ sed 's/ā/\\=\{a\}/g' | \ sed 's/ē/\\=\{e\}/g' | \ sed 's/ī/\\=\{\\i\}/g' | \ sed 's/ō/\\=\{o\}/g' | \ sed 's/ū/\\=\{u\}/g' #| \