diff options
Diffstat (limited to 'language/typingtex/email.dir/email-sp.sty')
-rw-r--r-- | language/typingtex/email.dir/email-sp.sty | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/language/typingtex/email.dir/email-sp.sty b/language/typingtex/email.dir/email-sp.sty new file mode 100644 index 0000000000..54af20bc71 --- /dev/null +++ b/language/typingtex/email.dir/email-sp.sty @@ -0,0 +1,248 @@ + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%% email-sp.sty: master posting on ftp matups.matups.fr + %%%% Support: Laurent Siebenmann lcs@matups.matups.fr + %%%% After \endinput see an alternate paste-in header version + %%%% suitable for real email messages. + %%%% There is documentation toward the end of this file. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% Succinct Spanish accentuation for Plain TeX (LS'93) + %% After \input email-sp.sty, \spanishemail activates macros. + %% Then '`^_ for \' \` \^ \c respectively and / for apostrophe. + %% T\" is unchanged. The command \SmartQuotes permits syntax + %% "#1" for smart quotes; \noSmartQuotes annuls (makes " inactive). + %% Warning: \input is forbidden with these macros in effect. + %% Suggestion: To avoid such problems use the syntax: + %% \begingroup \spanishemail <your succinct typing> \endgroup + %% for each block of succinct typing. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + \chardef\SPemailAt=\catcode`@ \catcode`@=11 + + \def\gobble#1{} \let\EX@\expandafter + + \def\doSPemailChars@{\do/\do_\do^\do'\do`} + + \def\SPemailChActive{\edef\do##1{\EX@\catcode\string`##1=13}% + \doSPemailChars@} + \def\SPemailChOther{\edef\do##1{\EX@\catcode\string`##1=12}% + \doSPemailChars@} + + \bgroup\catcode`\"=13\relax\SPemailChActive + \gdef\@ActiveDQuote{"} + \gdef\@ActiveSlash{/} + \gdef\@ActiveULine{_} + \gdef\@ActiveHat{^} + \gdef\@ActiveRQuote{'} + \gdef\@ActiveLQuote{`} + \gdef\lqmole@{\ifx`\next\lq\lq\EX@\gobble\else\EX@\`\fi} + \gdef\rqmole@{\ifx'\next\rq\rq\EX@\gobble\else\EX@\'\fi} + \egroup + + \def\@@pprime{\futurelet\next\rqmole@} + \edef\Excl@{\string!\string!\string!\string!} + \bgroup\EX@\let\@ActiveDQuote\relax + \xdef\@SmartDQ{\def\@ActiveDQuote##1\@ActiveDQuote + {\lq\lq##1\rq\rq}} + \egroup + \def\SmartQuotes{\@SmartDQ\catcode`\"=13\relax} + \def\noSmartQuotes{\catcode`\"=12\relax} + + \let\priminput\input + %%% Special \input is needed with email-sp macros on: + %% (a) If <file> needs /_^'` active + %% \SPemailChOther \priminput <file> \SPemailChActive + %% (b) If <file> needs /_^'` other + %% \priminput <file> + %%% Similarly for " if active. + + \def\spanishemail{\SPemailChActive\noSmartQuotes + \EX@\def\@ActiveULine{\ifmmode\sb\else\EX@\c\fi}% + \EX@\def\@ActiveSlash{\ifmmode\string/\else\EX@\rq\fi}% + \EX@\def\@ActiveHat{\ifmmode\sp\else\EX@\^\fi}% + \EX@\def\@ActiveLQuote{\futurelet\next\lqmole@} + \EX@\def\@ActiveRQuote{\@prime}% + \def\@prime{\ifmmode\EX@\@@prime\else\EX@\@@pprime\fi}% + \def\@@prime{\sp\bgroup\prim@s}% + \def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else + \ifx^\next\let\nxt\pr@@@t\else\let\nxt\egroup\fi\fi \nxt}% + \edef\input{\immediate\write16{} \errmessage{\Excl@ No \string + \input\space please during email-sp typing \Excl@ }}% + } + + \endinput + + + + %%% Header version for real email messages. + %%% + %%% + %%% Insert the following header by cut and paste after your macros + %%% and \input's, just before the Spanish typing + +VERSION 1. + + %-------- select + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% email-sp: header form : Succinct Spanish accenuation for TeX + %% allowing pleasant and readable typing (L.Siebenmann 4-93) + %% Syntax: \begingroup <these macros> <succinct typing> \endgroup + %% The succinct typing: (bug reports to lcs@matups.matups.fr) + %% 'n for \~n; ''u for \"u; and + %% 'a, 'e, 'i, 'o, 'u for \'a, \'e, \'i, \'o, \'u + %% No single quotes allowed: \lq...\rq instead + %% No apostrophes: \rq instead + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% "#1" for smart double quotes if you activate the next line + %\catcode`\"=13 \edef"#1"{\lq\lq#1\rq\rq}% + \count255=\catcode`@ \catcode`@=11 \catcode`\'=13 + \def'{\@prime} \let\EX@\expandafter \def\g@bble#1{} + \def\@prime{\ifmmode\EX@\@@prime\else\EX@\@@pprime\fi}% + \def\@@prime{\sp\bgroup\prim@s}% + \def\@@pprime{\futurelet\next\rqmole@} + \def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else + \ifx^\next\let\nxt\pr@@@t\else\let\nxt\egroup\fi\fi \nxt}% + \def\rqmole@{\ifx'\next + \EX@\EX@\EX@\rqrq@\EX@\g@bble\else\EX@\TildeOrAccute@\fi} + \def\TildeOrAccute@{\ifx n\next\EX@\~\else\EX@\'\fi} + \def\rqrq@{\futurelet\next\rqrqmole@} + \def\rqrqmole@{\ifx\next u\EX@\"\else\rq\rq\fi} + \catcode`@=\count255\let\currinput\input + \def\input#1 {\catcode`\'=12\currinput#1 \catcode`\'=13} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %-------- copy + +VERSION 2. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% email-sp (header form) Larry S.17-4-93 <lcs@matups.matups.fr> + %% Succinct Spanish-English typing: '<letter> for \'<letter>; + %% Hence ' NOT apostrophe, \rq instead (only no-no for typist!) + %% ~n for \~n; (BUT ~ mostly kern; \~N for the rare capital ene) + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \count255=\catcode`@\catcode`@=11\catcode`\'=13 + \let\EX@\expandafter \def\g@bble#1{} \let\FL@\futurelet + \def'{\ifmmode\EX@\@prime\else\EX@\@pprime\fi}% + \def\@prime{\sp\bgroup\prim@s}\def\@pprime{\FL@\next\rqmole@} + \def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else + \ifx^\next\let\nxt\pr@@@t\else\let\nxt\egroup\fi\fi \nxt}% + \def\rqmole@{\ifcat a\next\EX@\'\else\EX@\rq@\fi} + \def\rq@{\FL@\next\rqmole@@} + \def\rqmole@@{\ifx\next'\rq\EX@\EX@\EX@\rq\EX@\g@bble\else\EX@\rq\fi} + \let\oldtild@ ~\def~{\ifmmode\oldtild@\else\EX@\prosetild@\fi} + \def\prosetild@{\FL@\next\tildemole@} + \def\tildemole@{\ifx n\next\EX@\~\else\EX@\oldtild@\fi} + \let\emailinput\input \def\IW@{\immediate\write16} + \def\macroinput#1 {\catcode`\'=12\currinput#1 \catcode`\'=13} + \edef\input{\IW@{}\IW@{ !!!! With email-sp macros use + \string\macroinput} \IW@{ !!!! or \string\emailinput\space + for \string\input\space} \errmessage{}} \catcode`@=\count255 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +VERSION 3. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% email-sp (header form) Larry S.19-4-93 <lcs@matups.matups.fr> + %% Succinct Spanish-English typing: '<letter> for \'<letter>, + %% EXCEPT that 's and 'S give apostrophes (for English). + %% ~n for \~n; (BUT ~ mostly kern; \~N for the rare capital ene) + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \count255=\catcode`@\catcode`@=11\catcode`\'=13\let\EX@\expandafter + \def\EX@@{\EX@\EX@\EX@}\def\g@bble#1{} \let\FL@\futurelet + \def'{\ifmmode\EX@\@prime\else\EX@\@pprime\fi}% + \def\@prime{\sp\bgroup\prim@s}\def\@pprime{\FL@\next\rqmole@} + \def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else + \ifx^\next\let\nxt\pr@@@t\else\let\nxt\egroup\fi\fi \nxt}% + \def\rqmole@{\ifx\next'\rq\EX@@\rq\EX@\g@bble\else\EX@\rqmole@@\fi} + \def\rqmole@@{\ifcat a\noexpand\next\EX@\rqmole@@@\else\EX@\rq\fi} + \def\rqmole@@@#1{\ifnum\lccode`#1=`s\EX@\rq #1\else\EX@\'#1\fi} + \let\oldtild@ ~\def~{\ifmmode\oldtild@\else\EX@\prosetild@\fi} + \def\prosetild@{\FL@\next\tildemole@} + \def\tildemole@{\ifx n\next\EX@\~\else\EX@\oldtild@\fi} + \let\emailinput\input \def\IW@{\immediate\write16} + \def\macroinput#1 {\catcode`\'=12\currinput#1 \catcode`\'=13} + \edef\input{\IW@{}\IW@{ !!!! With email-sp macros use + \string\macroinput} \IW@{ !!!! or \string\emailinput\space + for \string\input\space} \errmessage{}} \catcode`@=\count255 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +VERSION 4. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %% email-sp (header form) Larry S.19-4-93 <lcs@matups.matups.fr> + %% Succinct Spanish-English typing: '<letter> for \'<letter>, + %% EXCEPT that (i) 's and 'S give apostrophes (for English) + %% (ii) 'n or \~n gives <ntilde>; 'N or \~N gives <Ntilde>. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \count255=\catcode`@\catcode`@=11\catcode`\'=13\let\EX@\expandafter + \def\EX@@{\EX@\EX@\EX@}\def\g@bble#1{} \let\FL@\futurelet + \def'{\ifmmode\EX@\@prime\else\EX@\@pprime\fi}% + \def\@prime{\sp\bgroup\prim@s}\def\@pprime{\FL@\next\rq@} + \def\pr@m@s{\ifx'\next\let\nxt\pr@@@s \else + \ifx^\next\let\nxt\pr@@@t\else\let\nxt\egroup\fi\fi \nxt}% + \def\rq@{\ifx\next'\rq\EX@@\rq\EX@\g@bble\else\EX@\rq@@\fi} + \def\rq@@{\ifcat a\noexpand\next\EX@\rq@@@\else\EX@\rq\fi} + \def\rq@@@#1{\ifnum\lccode`#1=`s\EX@\rq #1% + \else\ifnum\lccode`#1=`n\~#1\else\'#1\fi\fi} + \let\emailinput\input \def\IW@{\immediate\write16} + \def\macroinput#1 {\catcode`\'=12\currinput#1 \catcode`\'=13} + \edef\input{\IW@{}\IW@{ !!!! With email-sp macros use + \string\macroinput} \IW@{ !!!! or \string\emailinput\space + for \string\input\space} \errmessage{}} \catcode`@=\count255 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +Notes on email-sp: + + --- email-sp is for Spanish in the the ASCII world of email and +ftp and telnet. The restriction to 7bit characters gives +portability. Other features are immediate TeXing, easy typing, +and readability. + + --- email-sp typing can replace eight-bit typing. The converse +is impossible since email is 7bit and the only universal standard +is 7bit ASCII. + + --- Why are 'n and 'N proposed as typing for <ntilde> and +<Ntilde>? It seems impossible to use ~n for <ntilde>! Indeed +\uppercase{~n} should then give the same as ~N. But longstanding +TeX custom reserves ~N for <unbreakable space>N, as in +R.~Nixon! + + --- primes in math are OK (**) + + --- \uppercase{'e} is <Eaccute> etc. (**) + + --- English Apostrophe (rare): type O'{}Hara. + + --- French Apostrophe: To type small amounts of French with +email-sp note that the line + + \catcode`\/=13 \def/{\ifmmode\string/\else\string'\fi}% + +would make / an apostrophe in prose. This allows efficient +typing: L/'eternel vs L'{}'eternel. + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%% Spanish terminology; Maria Dolores 4239-1754 + %% \~n is called e\~ne (tilde) + %% \' is called agudos; past of verbs tom\'o + %% \" is called di'eresis; example g\"uito=kernel, antig\"uedad + + Ref: Grammaire Espagnol, licence et classes preparatoires, + par Jean Bouzet, E Belin, 8 r Ferou, Paris reimpression 1978 35F. + + Ref Curso de gram'atica hist'orica espa'nola, +The evolution of Spanish, an introductory historical grammar, +T.A. Lathrup, 1980 c/o dept of languages and literature +univ delaware, app'endices y commentarios +Juan Guti'errez Cuandrado y Ana Blas, 1984 +Ariel (C'orciega, 270, Barcelona 8. + +. el punto ... los puntos suspensivos +, comma << >> las comillas +; el punto y coma --- el gui'on +: los dos puntos () entre par'entesis +?? ? signos de interrogati'on !! ! signos de admirati'on + |