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>