6 # This small filter converts a hyphenation exception log article for
7 # TUGBoat to a real \hyphenation block.
9 # Written by Werner Lemberg <wl@gnu.org>.
11 # Version 1.2 (2003/04/15)
18 # sh hyphenex.sh < tugboat-article > hyphenation-exceptions
22 % Hyphenation exceptions for US English, based on the hyphenation exception\
23 % log article in TUGBoat.\
25 % This is an automatically generated file. Do not edit!\
27 % Please contact Barbara Beeton <bnb@ams.org> for corrections and omissions.\
38 s/\\tabalign *[^ ][^ ]*.*& *\(.*\)$/ \1/p
47 s/\\1 [^ ][^ ]* {\(.*\)}$/\1/
48 s/\\2 [^ ][^ ]* {\(.*\) \(.*\),\(.*\),\(.*\)}$/\1\n \1\2\n \1\3\n \1\4/
49 s/\\2 [^ ][^ ]* {\(.*\) \(.*\),\(.*\)}$/\1\n \1\2\n \1\3/
50 s/\\2 [^ ][^ ]* {\(.*\) \(.*\)}$/\1\n \1\2/
51 s/\\3 [^ ][^ ]* {\(.*\) \(.*\) \(.*\)}$/\1\2\n \1\3/
52 s/\\1 [^ ][^ ]* {\(.*\)} .*$/\1/
53 s/\\2 [^ ][^ ]* {\(.*\) \(.*\),\(.*\),\(.*\)} .*$/\1\n \1\2\n \1\3\n \1\4/
54 s/\\2 [^ ][^ ]* {\(.*\) \(.*\),\(.*\)} .*$/\1\n \1\2\n \1\3/
55 s/\\2 [^ ][^ ]* {\(.*\) \(.*\)} .*$/\1\n \1\2/
56 s/\\3 [^ ][^ ]* {\(.*\) \(.*\) \(.*\)} .*$/\1\2\n \1\3/
57 s/\\1 {.*} {\(.*\)}$/\1/
58 s/\\2 {.*} {\(.*\) \(.*\),\(.*\),\(.*\)}$/\1\n \1\2\n \1\3\n \1\4/
59 s/\\2 {.*} {\(.*\) \(.*\),\(.*\)}$/\1\n \1\2\n \1\3/
60 s/\\2 {.*} {\(.*\) \(.*\)}$/\1\n \1\2/
61 s/\\3 {.*} {\(.*\) \(.*\) \(.*\)}$/\1\2\n \1\3/
62 s/\\1 {.*} {\(.*\)} .*$/\1/
63 s/\\2 {.*} {\(.*\) \(.*\),\(.*\),\(.*\)} .*$/\1\n \1\2\n \1\3\n \1\4/
64 s/\\2 {.*} {\(.*\) \(.*\),\(.*\)} .*$/\1\n \1\2\n \1\3/
65 s/\\2 {.*} {\(.*\) \(.*\)} .*$/\1\n \1\2/
66 s/\\3 {.*} {\(.*\) \(.*\) \(.*\)} .*$/\1\2\n \1\3/
67 s/\\1 [^ ][^ ]* \([^ ][^ ]*\)$/\1/
68 s/\\2 [^ ][^ ]* \([^ ][^ ]*\) \([^ ][^ ]*\),\([^ ][^ ]*\),\([^ ][^ ]*\)$/\1\n \1\2\n \1\3\n \1\4/
69 s/\\2 [^ ][^ ]* \([^ ][^ ]*\) \([^ ][^ ]*\),\([^ ][^ ]*\)$/\1\n \1\2\n \1\3/
70 s/\\2 [^ ][^ ]* \([^ ][^ ]*\) \([^ ][^ ]*\)$/\1\n \1\2/
71 s/\\3 [^ ][^ ]* \([^ ][^ ]*\) \([^ ][^ ]*\) \([^ ][^ ]*\)$/\1\2\n \1\3/
72 s/\\1 [^ ][^ ]* \([^ ][^ ]*\) .*$/\1/
73 s/\\2 [^ ][^ ]* \([^ ][^ ]*\) \([^ ][^ ]*\),\([^ ][^ ]*\),\([^ ][^ ]*\) .*$/\1\n \1\2\n \1\3\n \1\4/
74 s/\\2 [^ ][^ ]* \([^ ][^ ]*\) \([^ ][^ ]*\),\([^ ][^ ]*\) .*$/\1\n \1\2\n \1\3/
75 s/\\2 [^ ][^ ]* \([^ ][^ ]*\) \([^ ][^ ]*\) .*$/\1\n \1\2/
76 s/\\3 [^ ][^ ]* \([^ ][^ ]*\) \([^ ][^ ]*\) \([^ ][^ ]*\) .*$/\1\2\n \1\3/
78 s/\\llap *{\(.*\)}/\1/