From f2705e9be414cd3c3bffc90919fea7c70cd3a0c5 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 22 Apr 2010 17:01:53 +0000 Subject: protocol update (21apr10), + texinfo.tex git-svn-id: svn://tug.org/texlive/trunk@17962 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/protocol/README | 3 +- Master/texmf-dist/doc/latex/protocol/protest.tex | 3 +- Master/texmf-dist/doc/latex/protocol/protocol.pdf | Bin 283897 -> 319131 bytes .../texmf-dist/source/latex/protocol/protocol.dtx | 51 ++- .../texmf-dist/source/latex/protocol/protocol.ins | 4 +- Master/texmf-dist/tex/latex/protocol/protocol.cls | 29 +- Master/texmf-dist/tex/texinfo/texinfo.tex | 438 ++++++++++----------- 7 files changed, 288 insertions(+), 240 deletions(-) diff --git a/Master/texmf-dist/doc/latex/protocol/README b/Master/texmf-dist/doc/latex/protocol/README index 65bcc99ac63..6fd597a367b 100644 --- a/Master/texmf-dist/doc/latex/protocol/README +++ b/Master/texmf-dist/doc/latex/protocol/README @@ -13,7 +13,7 @@ The files in this directory (protocol distribution) are Copyright (C) 1997 Projektgruppe ACIT, Lehrstuhl VII, Fachbereich Informatik, Universit"at Dortmund - 1997-1999,2006,2009 Thomas Leineweber (protocol@tleine.de) + 1997-1999,2006,2009-2010 Thomas Leineweber (protocol@tleine.de) This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 @@ -84,3 +84,4 @@ K.D. Braune and R. Gussmann Boris Majowski made a better implementation for the next meeting Ludger Humbert and Christoffer Timm showed me an error in the next meeting logic. +Johannes Pieper had many nice enhancement requests. diff --git a/Master/texmf-dist/doc/latex/protocol/protest.tex b/Master/texmf-dist/doc/latex/protocol/protest.tex index 10f75909839..e44c504564c 100644 --- a/Master/texmf-dist/doc/latex/protocol/protest.tex +++ b/Master/texmf-dist/doc/latex/protocol/protest.tex @@ -1,4 +1,4 @@ -\documentclass[a4paper]{protocol} +\documentclass[signatures,a4paper]{protocol} \usepackage{german} \usepackage[T1]{fontenc} @@ -7,6 +7,7 @@ \groupname{Arbeitsgruppe 08/15} \chair{Lothar Laber} \writer{Siggi Schreiber} +\place{woauchimmer} \date{9. Juni 1997} \begintime{9:30} \endtime{10:30} diff --git a/Master/texmf-dist/doc/latex/protocol/protocol.pdf b/Master/texmf-dist/doc/latex/protocol/protocol.pdf index d043edc3cef..d857423aac8 100644 Binary files a/Master/texmf-dist/doc/latex/protocol/protocol.pdf and b/Master/texmf-dist/doc/latex/protocol/protocol.pdf differ diff --git a/Master/texmf-dist/source/latex/protocol/protocol.dtx b/Master/texmf-dist/source/latex/protocol/protocol.dtx index a655fdda29e..7c86ce2896f 100644 --- a/Master/texmf-dist/source/latex/protocol/protocol.dtx +++ b/Master/texmf-dist/source/latex/protocol/protocol.dtx @@ -2,7 +2,7 @@ % % Copyright (C) 1997 Projektgruppe ACIT, Lehrstuhl VII, % Fachbereich Informatik, Universit"at Dortmund -% 1997-1999,2006,2009 Thomas Leineweber (protocol@tleine.de) +% 1997-1999,2006,2009-2010 Thomas Leineweber (protocol@tleine.de) % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -25,7 +25,7 @@ % der LaTeX-Klasse `protocol'. % \fi % -% \CheckSum{289} +% \CheckSum{349} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -59,7 +59,7 @@ % Nenne den Klassennamen und die Version. % \begin{macrocode} %<+protocol>\ProvidesClass{protocol} -%<+protocol> [2009/04/24 v1.10 +%<+protocol> [2010/04/21 v1.11 %<+protocol> LaTeX-Class fuer Sitzungs-Protokolle TL] % \end{macrocode} % @@ -100,9 +100,10 @@ % \changes{v1.6}{1999/02/05}{"Anderungen von Norbert G"overt eingebaut.} % \changes{v1.6a}{1999/02/19}{Versuch, die Befehlsnamen anzugleichen} % \changes{v1.7}{1999/07/30}{Endg"ultige Befehlsnamen festgelegt} +% \changes{v1.11}{2010/04/21}{Neues Macro \cs{place}, um den Ort der Sitzung anzugeben} % \iffalse % Copyright (C) 1997 Projektgruppe ACIT, Universit"at Dortmund -% 1997-1999,2006,2009 Thomas Leineweber (protocol@tleine.de) +% 1997-1999,2006,2009-2010 Thomas Leineweber (protocol@tleine.de) % all rights reserved. % \fi % @@ -136,6 +137,14 @@ \DeclareOption{nonext} {\AtBeginDocument{\let\@makefoot\relax}} % \end{macrocode} +% Die Option [signatures] sorgt daf"ur, dass am Ende des Protokolls Platz +% für die Unterschriften von Sitzungsleiter und Protokollführer eingebaut wird. +% \changes{v1.11}{2010/04/21}{Zus"atzliche Option signatures f"ur Unterschriftenzeile} +% \begin{macrocode} +\DeclareOption{signatures} + {\AtBeginDocument{\AtEndDocument{\protocol@signatures}}} +% \end{macrocode} + % Alle anderen Optionen werden an die Klasse scrartcl weitergegeben. % \changes{v1.8}{2004/02/05}{Basisklasse article durch scrartcl ersetzt.} % \begin{macrocode} @@ -170,6 +179,8 @@ % \begin{macro}{\writer} % \changes{v1.6a}{1999/02/19}{\cs{protokoll} in \cs{writer} umbenannt} % \begin{macro}{\date} +% \begin{macro}{\place} +% \changes{v1.11}{2010/04/21}{Neues Makro \cs{place}} % \begin{macro}{\begintime} % \changes{v1.6a}{1999/02/19}{\cs{beginn} in \cs{begintime} umbenannt} % \begin{macro}{\endtime} @@ -200,6 +211,10 @@ % \item |\date{10. Juni 1997}| : Das Datum der Sitzung. Hierf"ur wird die % Standarddeklaration aus der Klasse article genommen. Wenn |\date| % nicht deklariert wird, wird das aktuelle Datum genommen. +% \item |\place{Raum 4711}| : Ort der Sitzung, wenn nicht gesetzt, wird kein Sitzungsort ausgegeben. +% \begin{macrocode} +\def\place#1{\gdef\protocol@place{#1}} +% \end{macrocode} % \item |\begintime{08:30}| : Beginn der Sitzung. Mu"s ebenfalls % gesetzt werden. % \begin{macrocode} @@ -234,6 +249,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % \subsection{Interne Befehle zur Umsetzung} % \begin{macro}{\@groupname} @@ -241,6 +257,7 @@ % \changes{v1.5}{1998/01/22}{\cs{@pgname} in \cs{@groupname} geaendert} % \begin{macro}{\@chairman} % \begin{macro}{\@writer} +% \begin{macro}{\protocol@place} % \begin{macro}{\@nextdate} % \begin{macro}{\@nextplace} % \changes{v1.6}{1999/02/05}{Neues Makro \cs{@nextplace}} @@ -256,6 +273,7 @@ \def\@groupname{\ClassWarning{protocol}{No \noexpand\groupname given}} \def\@chair{\ClassWarning{protocol}{No \noexpand\chair given}} \def\@writer{\ClassWarning{protocol}{No \noexpand\writer given}} +\global\let\protocol@place\@empty \global\let\@nextdate\@empty \gdef\@nextplace{\ClassWarning{protocol}{No \noexpand\nextplace given}} \gdef\@nexttime{\ClassWarning{protocol}{No \noexpand\nexttime given}} @@ -270,6 +288,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % % \subsection{Deklarationen zur Ausgabe der Daten} @@ -309,9 +328,11 @@ \global\let\makehead\relax \global\let\@makehead\relax \global\let\chairman\relax - \global\let\@chair\@empty + %\global\let\@chair\@empty \global\let\writer\relax - \global\let\@writer\@empty + %\global\let\@writer\@empty + \global\let\place\relax + \global\let\protocol@place\@empty \global\let\begintime\relax \global\let\@begintime\@empty \global\let\endtime\relax @@ -341,10 +362,18 @@ \end{center}% \par \vskip 2em{% + \ifx\protocol@place\@empty \noindent\begin{tabular}{@{}ll} Beginn: & \@begintime\ Uhr \\ Ende: & \@endtime\ Uhr \\ - \end{tabular}\par}\vskip 0.5cm} + \end{tabular} + \else + \noindent\begin{tabular}{@{}ll} + Beginn: & \@begintime\ Uhr \\ + Ende: & \@endtime\ Uhr \\ + Ort: & \protocol@place \\ + \end{tabular} + \fi\par}\vskip 0.5cm} % \end{macrocode} % \end{macro} % \end{macro} @@ -370,6 +399,14 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\protocol@signatures} +% \begin{macrocode} +\newcommand{\protocol@signatures}{\vspace{20mm}\par\noindent\hrulefill\hrulefill\hfill\hrulefill\hrulefill\\ + \@chair\hfill\@writer\\ + (Sitzungsleitung)\hfill{}(Protokoll)\\[-1cm]\mbox{}} +% \end{macrocode} +% \end{macro} + % \subsection{Die Umgebung Persons} % % \begin{environment}{Persons} diff --git a/Master/texmf-dist/source/latex/protocol/protocol.ins b/Master/texmf-dist/source/latex/protocol/protocol.ins index 5773e5146db..4998260971a 100644 --- a/Master/texmf-dist/source/latex/protocol/protocol.ins +++ b/Master/texmf-dist/source/latex/protocol/protocol.ins @@ -5,7 +5,7 @@ %% %% Copyright (C) 1997 Projektgruppe ACIT, Lehrstuhl VII, %% Fachbereich Informatik, Universit"at Dortmund -%% 1997-1999,2006,2009 Thomas Leineweber (protocol@tleine.de) +%% 1997-1999,2006,2009-2010 Thomas Leineweber (protocol@tleine.de) %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -32,7 +32,7 @@ This is a generated file. Copyright (C) 1997 Projektgruppe ACIT, Lehrstuhl VII, Fachbereich Informatik, Universit"at Dortmund - 1997-1999,2006,2009 Thomas Leineweber (protocol@tleine.de) + 1997-1999,2006,2009-2010 Thomas Leineweber (protocol@tleine.de) This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 diff --git a/Master/texmf-dist/tex/latex/protocol/protocol.cls b/Master/texmf-dist/tex/latex/protocol/protocol.cls index 896f9566379..9f8c8d03858 100644 --- a/Master/texmf-dist/tex/latex/protocol/protocol.cls +++ b/Master/texmf-dist/tex/latex/protocol/protocol.cls @@ -9,7 +9,7 @@ %% This is a generated file. %% Copyright (C) 1997 Projektgruppe ACIT, Lehrstuhl VII, %% Fachbereich Informatik, Universit"at Dortmund -%% 1997-1999,2006,2009 Thomas Leineweber (protocol@tleine.de) +%% 1997-1999,2006,2009-2010 Thomas Leineweber (protocol@tleine.de) %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -43,7 +43,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{protocol} - [2009/04/24 v1.10 + [2010/04/21 v1.11 LaTeX-Class fuer Sitzungs-Protokolle TL] \DeclareOption{a5paper} {\ClassError{protocol}{Option `a5paper' not supported}{}} @@ -55,6 +55,9 @@ {\ClassError{protocol}{Option `titlepage' not supported}{}} \DeclareOption{nonext} {\AtBeginDocument{\let\@makefoot\relax}} +\DeclareOption{signatures} + {\AtBeginDocument{\AtEndDocument{\protocol@signatures}}} + \DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} \ProcessOptions\relax \PassOptionsToClass{halfparskip}{scrartcl} @@ -62,6 +65,7 @@ \def\groupname#1{\gdef\@groupname{#1}\gdef\ProtocolGroupName{#1}} \def\chair#1{\gdef\@chair{#1}} \def\writer#1{\gdef\@writer{#1}} +\def\place#1{\gdef\protocol@place{#1}} \def\begintime#1{\gdef\@begintime{#1}} \def\endtime#1{\gdef\@endtime{#1}} \def\nextdate#1{\gdef\@nextdate{#1}} @@ -70,6 +74,7 @@ \def\@groupname{\ClassWarning{protocol}{No \noexpand\groupname given}} \def\@chair{\ClassWarning{protocol}{No \noexpand\chair given}} \def\@writer{\ClassWarning{protocol}{No \noexpand\writer given}} +\global\let\protocol@place\@empty \global\let\@nextdate\@empty \gdef\@nextplace{\ClassWarning{protocol}{No \noexpand\nextplace given}} \gdef\@nexttime{\ClassWarning{protocol}{No \noexpand\nexttime given}} @@ -102,9 +107,11 @@ \global\let\makehead\relax \global\let\@makehead\relax \global\let\chairman\relax - \global\let\@chair\@empty + %\global\let\@chair\@empty \global\let\writer\relax - \global\let\@writer\@empty + %\global\let\@writer\@empty + \global\let\place\relax + \global\let\protocol@place\@empty \global\let\begintime\relax \global\let\@begintime\@empty \global\let\endtime\relax @@ -130,10 +137,18 @@ Protokoll der Sitzung vom \@date \par}% \end{center}% \par \vskip 2em{% + \ifx\protocol@place\@empty \noindent\begin{tabular}{@{}ll} Beginn: & \@begintime\ Uhr \\ Ende: & \@endtime\ Uhr \\ - \end{tabular}\par}\vskip 0.5cm} + \end{tabular} + \else + \noindent\begin{tabular}{@{}ll} + Beginn: & \@begintime\ Uhr \\ + Ende: & \@endtime\ Uhr \\ + Ort: & \protocol@place \\ + \end{tabular} + \fi\par}\vskip 0.5cm} \newcommand{\@makefoot}{ \ifx\@nextdate\@empty \section*{N\"achste Sitzung} @@ -143,6 +158,10 @@ Protokoll der Sitzung vom \@date \par}% findet am \@nextdate\ um \@nexttime\ Uhr statt. Ort:~\@nextplace. \fi } +\newcommand{\protocol@signatures}{\vspace{20mm}\par\noindent\hrulefill\hrulefill\hfill\hrulefill\hrulefill\\ + \@chair\hfill\@writer\\ + (Sitzungsleitung)\hfill{}(Protokoll)\\[-1cm]\mbox{}} + \newenvironment{Persons}{\section*{Anwesenheit:}}{} \newenvironment{Absent}{\section*{Abwesenheit:}}{} \AtBeginDocument{\makehead} diff --git a/Master/texmf-dist/tex/texinfo/texinfo.tex b/Master/texmf-dist/tex/texinfo/texinfo.tex index 9bff20bebf4..cb29cc68c02 100644 --- a/Master/texmf-dist/tex/texinfo/texinfo.tex +++ b/Master/texmf-dist/tex/texinfo/texinfo.tex @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2010-03-25.16} +\def\texinfoversion{2010-04-22.18} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -65,7 +65,6 @@ \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} - \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. @@ -198,36 +197,7 @@ % that mark overfull boxes (in case you have decided % that the text looks ok even though it passes the margin). % -\def\finalout{\overfullrule=0pt} - -% @| inserts a changebar to the left of the current line. It should -% surround any changed text. This approach does *not* work if the -% change spans more than two lines of output. To handle that, we would -% have adopt a much more difficult approach (putting marks into the main -% vertical list for the beginning and end of each change). -% -\def\|{% - % \vadjust can only be used in horizontal mode. - \leavevmode - % - % Append this vertical mode material after the current line in the output. - \vadjust{% - % We want to insert a rule with the height and depth of the current - % leading; that is exactly what \strutbox is supposed to record. - \vskip-\baselineskip - % - % \vadjust-items are inserted at the left edge of the type. So - % the \llap here moves out into the left-hand margin. - \llap{% - % - % For a thicker or thinner bar, change the `1pt'. - \vrule height\baselineskip width1pt - % - % This is the space between the bar and the text. - \hskip 12pt - }% - }% -} +\def\finalout{\overfullrule=0pt } % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, @@ -266,7 +236,6 @@ \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} -% For @cropmarks command. % Do @cropmarks to get crop marks. % \newif\ifcropmarks @@ -598,85 +567,6 @@ \newhelp\EMsimple{Press RETURN to continue.} -%% Simple single-character @ commands - -% @@ prints an @ -% Kludge this until the fonts are right (grr). -\def\@{{\tt\char64}} - -% This is turned off because it was never documented -% and you can use @w{...} around a quote to suppress ligatures. -%% Define @` and @' to be the same as ` and ' -%% but suppressing ligatures. -%\def\`{{`}} -%\def\'{{'}} - -% Used to generate quoted braces. -\def\mylbrace {{\tt\char123}} -\def\myrbrace {{\tt\char125}} -\let\{=\mylbrace -\let\}=\myrbrace -\begingroup - % Definitions to produce \{ and \} commands for indices, - % and @{ and @} for the aux/toc files. - \catcode`\{ = \other \catcode`\} = \other - \catcode`\[ = 1 \catcode`\] = 2 - \catcode`\! = 0 \catcode`\\ = \other - !gdef!lbracecmd[\{]% - !gdef!rbracecmd[\}]% - !gdef!lbraceatcmd[@{]% - !gdef!rbraceatcmd[@}]% -!endgroup - -% @comma{} to avoid , parsing problems. -\let\comma = , - -% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent -% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. -\let\, = \c -\let\dotaccent = \. -\def\ringaccent#1{{\accent23 #1}} -\let\tieaccent = \t -\let\ubaraccent = \b -\let\udotaccent = \d - -% Other special characters: @questiondown @exclamdown @ordf @ordm -% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. -\def\questiondown{?`} -\def\exclamdown{!`} -\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} -\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} - -% Dotless i and dotless j, used for accents. -\def\imacro{i} -\def\jmacro{j} -\def\dotless#1{% - \def\temp{#1}% - \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi - \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi - \else \errmessage{@dotless can be used only with i or j}% - \fi\fi -} - -% The \TeX{} logo, as in plain, but resetting the spacing so that a -% period following counts as ending a sentence. (Idea found in latex.) -% -\edef\TeX{\TeX \spacefactor=1000 } - -% @LaTeX{} logo. Not quite the same results as the definition in -% latex.ltx, since we use a different font for the raised A; it's most -% convenient for us to use an explicitly smaller font, rather than using -% the \scriptstyle font (since we don't reset \scriptstyle and -% \scriptscriptstyle). -% -\def\LaTeX{% - L\kern-.36em - {\setbox0=\hbox{T}% - \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% - \kern-.15em - \TeX -} - % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and @@ -872,7 +762,7 @@ where each line of input produces a line of output.} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion -% class. WHICH is `l' or `r'. +% class. WHICH is `l' or `r'. Not documented, written for gawk manual. % \newskip\inmarginspacing \inmarginspacing=1cm \def\strutdepth{\dp\strutbox} @@ -919,6 +809,36 @@ where each line of input produces a line of output.} \temp } +% @| inserts a changebar to the left of the current line. It should +% surround any changed text. This approach does *not* work if the +% change spans more than two lines of output. To handle that, we would +% have adopt a much more difficult approach (putting marks into the main +% vertical list for the beginning and end of each change). This command +% is not documented, not supported, and doesn't work. +% +\def\|{% + % \vadjust can only be used in horizontal mode. + \leavevmode + % + % Append this vertical mode material after the current line in the output. + \vadjust{% + % We want to insert a rule with the height and depth of the current + % leading; that is exactly what \strutbox is supposed to record. + \vskip-\baselineskip + % + % \vadjust-items are inserted at the left edge of the type. So + % the \llap here moves out into the left-hand margin. + \llap{% + % + % For a thicker or thinner bar, change the `1pt'. + \vrule height\baselineskip width1pt + % + % This is the space between the bar and the text. + \hskip 12pt + }% + }% +} + % @include FILE -- \input text of FILE. % \def\include{\parseargusing\filenamecatcodes\includezzz} @@ -1094,109 +1014,6 @@ where each line of input produces a line of output.} } -% @asis just yields its argument. Used with @table, for example. -% -\def\asis#1{#1} - -% @math outputs its argument in math mode. -% -% One complication: _ usually means subscripts, but it could also mean -% an actual _ character, as in @math{@var{some_variable} + 1}. So make -% _ active, and distinguish by seeing if the current family is \slfam, -% which is what @var uses. -{ - \catcode`\_ = \active - \gdef\mathunderscore{% - \catcode`\_=\active - \def_{\ifnum\fam=\slfam \_\else\sb\fi}% - } -} -% Another complication: we want \\ (and @\) to output a \ character. -% FYI, plain.tex uses \\ as a temporary control sequence (why?), but -% this is not advertised and we don't care. Texinfo does not -% otherwise define @\. -% -% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. -\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} -% -\def\math{% - \tex - \mathunderscore - \let\\ = \mathbackslash - \mathactive - % make the texinfo accent commands work in math mode - \let\"=\ddot - \let\'=\acute - \let\==\bar - \let\^=\hat - \let\`=\grave - \let\u=\breve - \let\v=\check - \let\~=\tilde - \let\dotaccent=\dot - $\finishmath -} -\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. - -% Some active characters (such as <) are spaced differently in math. -% We have to reset their definitions in case the @math was an argument -% to a command which sets the catcodes (such as @item or @section). -% -{ - \catcode`^ = \active - \catcode`< = \active - \catcode`> = \active - \catcode`+ = \active - \catcode`' = \active - \gdef\mathactive{% - \let^ = \ptexhat - \let< = \ptexless - \let> = \ptexgtr - \let+ = \ptexplus - \let' = \ptexquoteright - } -} - -% Some math mode symbols. -\def\bullet{$\ptexbullet$} -\def\geq{\ifmmode \ge\else $\ge$\fi} -\def\leq{\ifmmode \le\else $\le$\fi} -\def\minus{\ifmmode -\else $-$\fi} - -% @dots{} outputs an ellipsis using the current font. -% We do .5em per period so that it has the same spacing in the cm -% typewriter fonts as three actual period characters; on the other hand, -% in other typewriter fonts three periods are wider than 1.5em. So do -% whichever is larger. -% -\def\dots{% - \leavevmode - \setbox0=\hbox{...}% get width of three periods - \ifdim\wd0 > 1.5em - \dimen0 = \wd0 - \else - \dimen0 = 1.5em - \fi - \hbox to \dimen0{% - \hskip 0pt plus.25fil - .\hskip 0pt plus1fil - .\hskip 0pt plus1fil - .\hskip 0pt plus.5fil - }% -} - -% @enddots{} is an end-of-sentence ellipsis. -% -\def\enddots{% - \dots - \spacefactor=\endofsentencespacefactor -} - -% @comma{} is so commas can be inserted into text without messing up -% Texinfo's parsing. -% -\let\comma = , - % @refill is a no-op. \let\refill=\relax @@ -2505,7 +2322,7 @@ end % Font commands. -% #1 is the font command (\sl vs. \it), #2 is the text to slant. +% #1 is the font command (\sl or \it), #2 is the text to slant. % If we are in a monospaced environment, however, 1) always use \ttsl, % and 2) do not add an italic correction. \def\dosmartslant#1#2{% @@ -2830,8 +2647,178 @@ end \fi } +% @asis just yields its argument. Used with @table, for example. +% +\def\asis#1{#1} + +% @math outputs its argument in math mode. +% +% One complication: _ usually means subscripts, but it could also mean +% an actual _ character, as in @math{@var{some_variable} + 1}. So make +% _ active, and distinguish by seeing if the current family is \slfam, +% which is what @var uses. +{ + \catcode`\_ = \active + \gdef\mathunderscore{% + \catcode`\_=\active + \def_{\ifnum\fam=\slfam \_\else\sb\fi}% + } +} +% Another complication: we want \\ (and @\) to output a \ character. +% FYI, plain.tex uses \\ as a temporary control sequence (why?), but +% this is not advertised and we don't care. Texinfo does not +% otherwise define @\. +% +% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. +\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} +% +\def\math{% + \tex + \mathunderscore + \let\\ = \mathbackslash + \mathactive + % make the texinfo accent commands work in math mode + \let\"=\ddot + \let\'=\acute + \let\==\bar + \let\^=\hat + \let\`=\grave + \let\u=\breve + \let\v=\check + \let\~=\tilde + \let\dotaccent=\dot + $\finishmath +} +\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. + +% Some active characters (such as <) are spaced differently in math. +% We have to reset their definitions in case the @math was an argument +% to a command which sets the catcodes (such as @item or @section). +% +{ + \catcode`^ = \active + \catcode`< = \active + \catcode`> = \active + \catcode`+ = \active + \catcode`' = \active + \gdef\mathactive{% + \let^ = \ptexhat + \let< = \ptexless + \let> = \ptexgtr + \let+ = \ptexplus + \let' = \ptexquoteright + } +} + \message{glyphs,} +% and logos. + +% @@ prints an @. +\def\@{\char64 } + +% Used to generate quoted braces. Unless we're in typewriter, use +% \ecfont because the CM text fonts do not have braces, and we don't +% want to switch into math. +\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}} +\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}} +\let\{=\mylbrace +\let\}=\myrbrace +\begingroup + % Definitions to produce \{ and \} commands for indices, + % and @{ and @} for the aux/toc files. + \catcode`\{ = \other \catcode`\} = \other + \catcode`\[ = 1 \catcode`\] = 2 + \catcode`\! = 0 \catcode`\\ = \other + !gdef!lbracecmd[\{]% + !gdef!rbracecmd[\}]% + !gdef!lbraceatcmd[@{]% + !gdef!rbraceatcmd[@}]% +!endgroup + +% @comma{} to avoid , parsing problems. +\let\comma = , + +% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent +% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. +\let\, = \c +\let\dotaccent = \. +\def\ringaccent#1{{\accent23 #1}} +\let\tieaccent = \t +\let\ubaraccent = \b +\let\udotaccent = \d + +% Other special characters: @questiondown @exclamdown @ordf @ordm +% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. +\def\questiondown{?`} +\def\exclamdown{!`} +\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} +\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} + +% Dotless i and dotless j, used for accents. +\def\imacro{i} +\def\jmacro{j} +\def\dotless#1{% + \def\temp{#1}% + \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi + \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi + \else \errmessage{@dotless can be used only with i or j}% + \fi\fi +} + +% The \TeX{} logo, as in plain, but resetting the spacing so that a +% period following counts as ending a sentence. (Idea found in latex.) +% +\edef\TeX{\TeX \spacefactor=1000 } + +% @LaTeX{} logo. Not quite the same results as the definition in +% latex.ltx, since we use a different font for the raised A; it's most +% convenient for us to use an explicitly smaller font, rather than using +% the \scriptstyle font (since we don't reset \scriptstyle and +% \scriptscriptstyle). +% +\def\LaTeX{% + L\kern-.36em + {\setbox0=\hbox{T}% + \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% + \kern-.15em + \TeX +} + +% Some math mode symbols. +\def\bullet{$\ptexbullet$} +\def\geq{\ifmmode \ge\else $\ge$\fi} +\def\leq{\ifmmode \le\else $\le$\fi} +\def\minus{\ifmmode -\else $-$\fi} + +% @dots{} outputs an ellipsis using the current font. +% We do .5em per period so that it has the same spacing in the cm +% typewriter fonts as three actual period characters; on the other hand, +% in other typewriter fonts three periods are wider than 1.5em. So do +% whichever is larger. +% +\def\dots{% + \leavevmode + \setbox0=\hbox{...}% get width of three periods + \ifdim\wd0 > 1.5em + \dimen0 = \wd0 + \else + \dimen0 = 1.5em + \fi + \hbox to \dimen0{% + \hskip 0pt plus.25fil + .\hskip 0pt plus1fil + .\hskip 0pt plus1fil + .\hskip 0pt plus.5fil + }% +} + +% @enddots{} is an end-of-sentence ellipsis. +% +\def\enddots{% + \dots + \spacefactor=\endofsentencespacefactor +} % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. % @@ -4149,11 +4136,14 @@ end \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% % - % Need these in case \tex is in effect and \{ is a \delimiter again. - % But can't use \lbracecmd and \rbracecmd because texindex assumes - % braces and backslashes are used only as delimiters. - \let\{ = \mylbrace - \let\} = \myrbrace + % Need these unexpandable (because we define \tt as a dummy) + % definitions when @{ or @} appear in index entry text. Also, more + % complicated, when \tex is in effect and \{ is a \delimiter again. + % We can't use \lbracecmd and \rbracecmd because texindex assumes + % braces and backslashes are used only as delimiters. Perhaps we + % should define @lbrace and @rbrace commands a la @comma. + \def\{{{\tt\char123}}% + \def\}{{\tt\char125}}% % % I don't entirely understand this, but when an index entry is % generated from a macro call, the \endinput which \scanmacro inserts @@ -8951,8 +8941,8 @@ directory should work if nowhere else does.} % Prevent underfull vbox error messages. \vbadness = 10000 -% Don't be so finicky about underfull hboxes, either. -\hbadness = 2000 +% Don't be very finicky about underfull hboxes, either. +\hbadness = 6666 % Following George Bush, get rid of widows and orphans. \widowpenalty=10000 -- cgit v1.2.3