Annotation of ttbar/p20_taujets_note/ednmath0.sty, revision 1.1

1.1     ! uid12904    1: %% Macro package `ednmath0.sty' for LaTeX2e, 
        !             2: %% copyright (C) 2004 Uwe L\"uck, 
        !             3: %% http://www.contact-ednotes.sty.de.vu 
        !             4: %% --author-maintained; 
        !             5: %% math support for `lineno.sty' and `ednotes.sty'. 
        !             6: %% 
        !             7: \def\fileversion{v0.2b} \def\filedate{2005/01/10}
        !             8: %% This program can be redistributed and/or modified under the 
        !             9: %% terms of the LaTeX Project Public License distributed from 
        !            10: %% CTAN archives in directory macros/latex/base/lppl.txt; either
        !            11: %% version 1.3a of the License, or any later version.
        !            12: %% The latest version of this license is in
        !            13: %%   http://www.latex-project.org/lppl.txt
        !            14: %% There is NO WARRANTY. 
        !            15: %% This code is very EXPERIMENTAL! 
        !            16: %%
        !            17: %% Please report bugs, problems, and suggestions via 
        !            18: %% 
        !            19: %%   http://www.contact-ednotes.sty@web.de 
        !            20: % 
        !            21: %% * MAIN FEATURE * 
        !            22: % 
        !            23: % lineno.sty's \linelabel and ednotes.sty's commands are enabled 
        !            24: % to work in math mode if it's "entered in outer mode" 
        !            25: % (including `displaymath' and `equation' environments). 
        !            26: % (lineno.sty is the package by Stephan Boettcher.) 
        !            27: % They will even work in tabular environments that are adjusted 
        !            28: % to notes by package `edtable.sty'. 
        !            29: % 
        !            30: % CAVEATS: 
        !            31: % -- Does not work yet in environments like LaTeX's 
        !            32: % `eqnarray'. (This could probably repaired along the lines 
        !            33: % of Edtable.sty--we're short of time and will try later.) 
        !            34: % -- Useful error messages when (i) math mode is entered from 
        !            35: % inner mode or when (ii) a math display gets not line number 
        !            36: % are missing at present. 
        !            37: % 
        !            38: %% * USAGE: *
        !            39: % 
        !            40: % * Most simple: * 
        !            41: % --If you are working with ednotes and want to use its 
        !            42: % commands in math mode, load ednotes.sty--version 0.8 
        !            43: % onwards--with its package option `mathnotes'. 
        !            44: % --If you don't work with ednotes, only with lineno, you 
        !            45: % get the main feature of making \linelabel work in math mode 
        !            46: % by loading lineno.sty--version 4.1 onwards--with its 
        !            47: % package option `mathrefs'. 
        !            48: % 
        !            49: % * Switch off and on: * 
        !            50: % To reduce danger resulting from missing error messages 
        !            51: % ("caveat" above), you may switch these new math facilities 
        !            52: % off by \NoNotesToMath where you don't expect to need them. 
        !            53: % You may switch them on again by \NotesToMath where you want 
        !            54: % to use them, being aware of the danger. Both commands work 
        !            55: % locally, so you can replace one of them by enclosing it in 
        !            56: % a group. E.g., even, after \NoNotesToMath you can use an 
        !            57: % environment as follows: 
        !            58: %   \begin{NotesToMath}
        !            59: %     <text> 
        !            60: %   \end{NotesToMath} 
        !            61: % (I am not quite sure that this is useful.)
        !            62: % 
        !            63: % * Customize ellipsis: * 
        !            64: % ednotes' \lemmaellipsis is changed to expand to 
        !            65: % \mathlemmaellipsis when entering math, and this is preset 
        !            66: % to be LaTeX's \mathellipsis. (This is three dots as 
        !            67: % \mathinner.) You can change this by redefining 
        !            68: % \mathlemmaellipsis, e.g.: 
        !            69: %   \renewcommand{\mathlemmaellipsis}{\cdots}
        !            70: % If you need \cdots as the ellipsis at a single place only, 
        !            71: % you may, of course, use the `<...>' option of \<, e.g.: 
        !            72: %   $ x = \Anote{a\<<\cdots>bcd\>e}{Indeed?} - y $
        !            73: % 
        !            74: % * Customize note mode: *
        !            75: % For variant readings, you may want that the note is 
        !            76: % usually set in math mode--so you may want that you 
        !            77: % needn't type the dollar signs in the note text. 
        !            78: % Note that you can do this by customizing \notefmt, 
        !            79: % and you can do this by customizing \Anotefmt (e.g.) 
        !            80: % to have this feature for \Anote only. 
        !            81: % 
        !            82: 
        !            83: \NeedsTeXFormat{LaTeX2e}
        !            84: \ProvidesPackage{ednmath0}[\filedate\space\fileversion\space 
        !            85:   math support for lineno/ednotes (ul)] 
        !            86: % 
        !            87: %% User commands: 
        !            88: \def\NotesToMath{\let\@LN@mathhook\@LN@labelinmath
        !            89:   \@bsphack \@esphack 
        !            90: % For \begin{NotesToMath}
        !            91: } 
        !            92: \def\NoNotesToMath{\@bsphack
        !            93:   \def\@LN@mathhook{\@parmoderr\@gobble}% 
        !            94:   \@esphack 
        !            95: } 
        !            96: \def\endNotesToMath{\@bsphack\@Esphack}
        !            97: \let\endNoNotesToMath\endNotesToMath 
        !            98: % 
        !            99: %% Core code for lineno.sty: 
        !           100: \@ifundefined{@LN@postlabel}{% 
        !           101:   \PackageError{ednmath0}{% 
        !           102:     Bad lineno.sty version% 
        !           103:   }{% 
        !           104:     lineno.sty from 2004/08/16 or later 
        !           105:     must be loaded earlier.% 
        !           106:   }%
        !           107: }{% 
        !           108:   \def\@LN@labelinmath#1{% 
        !           109:     \ifmmode 
        !           110:       \@LN@postlabel{#1}% 
        !           111:     \else 
        !           112:       \@parmoderr 
        !           113:     \fi 
        !           114:   }
        !           115: } 
        !           116: % 
        !           117: %% Core code for ednotes.sty: 
        !           118: \@ifundefined{@EN@note}{% 
        !           119: % v0.01 sent a warning in this case. Considered superfluous now. 
        !           120: }{% 
        !           121:   \def\@EN@themathlemmatag{%
        !           122:     \ifmmode 
        !           123:       \toks@\expandafter{\@EN@lemmatag}% 
        !           124:       \edef\@EN@lemmatag{%
        !           125:         $% 
        !           126:           \def\noexpand\lemmaellipsis{% 
        !           127:             \noexpand\mathlemmaellipsis}% 
        !           128:           \the\toks@ 
        !           129:         $% 
        !           130:       }% 
        !           131: %       \expandafter \def \expandafter \@EN@lemmatag 
        !           132: %         \expandafter {\expandafter $\expandafter 
        !           133: %         \def \expandafter \lemmaellipsis \expandafter {% 
        !           134: %           \expandafter \mathlemmaellipsis \expandafter }% 
        !           135: %         \@EN@lemmatag $}% 
        !           136:     \fi 
        !           137:   } 
        !           138: % To be sure, \lemmaellipsis doesn't need to be changed when 
        !           139: % ednotes `\<...\>' feature is not used. Though I prefer to 
        !           140: % use one hook only in ednotes for both situations, with and 
        !           141: % without `\<...\>'. 
        !           142: % 
        !           143: % The final \unskip in ednotes' \@EN@lemmatag would undo a final 
        !           144: % \quad. That's OK: outside math the same happens. 
        !           145: % In v0.01, \NoNotesToMath undid ednotes changes for math mode. 
        !           146: % However, re-appearence of \linelabel error messages suffices. 
        !           147: % 
        !           148: % Now add lemma switch to the left of \[No]NotesToMath: 
        !           149:   \toks@\expandafter{\NotesToMath}
        !           150:   \edef\NotesToMath{% 
        !           151:     \let \noexpand\@EN@mathlemmatag \noexpand\@EN@themathlemmatag 
        !           152:     \the\toks@
        !           153:   }
        !           154: %  \typeout{\string\NotesToMath: \meaning\NotesToMath}
        !           155:   \toks@\expandafter{\NoNotesToMath}
        !           156:   \edef\NoNotesToMath{% 
        !           157:     \let \noexpand\@EN@mathlemmatag \relax 
        !           158:     \the\toks@
        !           159:   }
        !           160: %  \typeout{\string\NoNotesToMath: \meaning\NoNotesToMath}
        !           161: } 
        !           162: % We need no extra device for a choice for users whether the *note* 
        !           163: % should be set in math mode or in horizontal mode by default 
        !           164: % (which might depend on the kind ["layer"] of notes). 
        !           165: % This can be done already by customization of ednotes' \notefmt. 
        !           166: % However, we might change ednotes' default \notefmt to default 
        !           167: %   \renewcommand*{\notefmt}[1]{$#1$}
        !           168: % 
        !           169: \let\mathlemmaellipsis\mathellipsis 
        !           170: %% TODO: Since when has LaTeX provided \mathellipsis? 
        !           171: %% -> \Needs... 
        !           172: % 
        !           173: % Default: 
        !           174: \NotesToMath
        !           175: % 
        !           176: \endinput 
        !           177: 
        !           178: %% TODO: Without \linenumberdisplaymath, in displaymath, 
        !           179: %% an error should be shown. Use, e.g., that in a displaymath 
        !           180: %% \ifinner is false. 
        !           181: %% TODO: E.g., by changing \everymath, perhaps can be warned 
        !           182: %% that the math group is in a box already, so the vertical 
        !           183: %% items will get lost. 
        !           184: %% TODO: Adjust `eqnarray' (in Edtable?) as well. 
        !           185: 
        !           186: %% VERSION HISTORY: 
        !           187: v0.01 2004/08/16  First version, sent to Christian. 
        !           188: v0.02 2004/08/16  Considerably simplified for ednotes. 
        !           189:       2004/08/19  Added ellipsis stuff, documentation, and 
        !           190:                   instructions. Uncapitalized package names. 
        !           191:                   Added \end[No]NotesToMath. 
        !           192:       2004/08/20  Added \@bsphack and \@esphack; corrected 
        !           193:                   ednotes extension (too much deleted, completely 
        !           194:                   wrong), introducing \@EN@themathlemmatag. 
        !           195: v0.02b .../08/31  Rearranged preamble concerning maintenance. 
        !           196: v0.1  2004/09/20  Removed mentions of `linenox0.sty'. 
        !           197: v0.2  2004/10/07  Removed another mention of `linenox0.sty'; 
        !           198:                   Instructions: `lineno' or `ednotes.sty' option. 
        !           199: v0.2a 2004/11/07  LPPL v1.3a. 
        !           200: v0.2b 2005/01/10  Contact via http. 
        !           201: 
        !           202: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>