mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-28 04:09:31 +03:00
release
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
Fri Aug 28 22:56:47 CEST 2009
|
||||
Releasing libmicrohttpd 0.4.3. -CG
|
||||
|
||||
Sun Aug 23 16:21:35 UTC 2009
|
||||
Allow MHD_get_daemon_info to return the daemon's listen socket.
|
||||
Includes a test case that uses this functionality to bind a server to
|
||||
@@ -11,7 +14,7 @@ Thu Jul 29 21:41:52 CEST 2009
|
||||
Fixed issue with the code not using the "block_size" argument
|
||||
given to MHD_create_response_from_callback causing inefficiencies
|
||||
for values < 2048 and segmentation faults for values > 2048
|
||||
(as reported by Andre Colomb on the mailinglist). -CG
|
||||
(as reported by Andre Colomb on the mailinglist). -CG
|
||||
|
||||
Sun May 17 03:29:46 MDT 2009
|
||||
Releasing libmicrohttpd 0.4.2. -CG
|
||||
|
||||
@@ -2,7 +2,7 @@ Installation Instructions
|
||||
*************************
|
||||
|
||||
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
|
||||
2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
|
||||
This file is free documentation; the Free Software Foundation gives
|
||||
unlimited permission to copy, distribute and modify it.
|
||||
@@ -159,7 +159,7 @@ Particular systems
|
||||
CC is not installed, it is recommended to use the following options in
|
||||
order to use an ANSI C compiler:
|
||||
|
||||
./configure CC="cc -Ae"
|
||||
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
|
||||
|
||||
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
||||
|
||||
@@ -174,6 +174,16 @@ and if that doesn't work, try
|
||||
|
||||
./configure CC="cc -nodtk"
|
||||
|
||||
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
|
||||
directory contains several dysfunctional programs; working variants of
|
||||
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
|
||||
in your `PATH', put it _after_ `/usr/bin'.
|
||||
|
||||
On Haiku, software installed for all users goes in `/boot/common',
|
||||
not `/usr/local'. It is recommended to use the following options:
|
||||
|
||||
./configure --prefix=/boot/common
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
@@ -189,7 +199,8 @@ type, such as `sun4', or a canonical name which has the form:
|
||||
|
||||
where SYSTEM can have one of these forms:
|
||||
|
||||
OS KERNEL-OS
|
||||
OS
|
||||
KERNEL-OS
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
|
||||
+615
-286
@@ -3,11 +3,11 @@
|
||||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{2007-12-02.17}
|
||||
\def\texinfoversion{2009-05-16.16}
|
||||
%
|
||||
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 2007,
|
||||
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
% 2007 Free Software Foundation, Inc.
|
||||
% 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
%
|
||||
% This texinfo.tex file is free software: you can redistribute it and/or
|
||||
% modify it under the terms of the GNU General Public License as
|
||||
@@ -97,6 +97,10 @@
|
||||
\let\ptexslash=\/
|
||||
\let\ptexstar=\*
|
||||
\let\ptext=\t
|
||||
\let\ptextop=\top
|
||||
{\catcode`\'=\active
|
||||
\global\let\ptexquoteright'}% Math-mode def from plain.tex.
|
||||
\let\ptexraggedright=\raggedright
|
||||
|
||||
% If this character appears in an error message or help string, it
|
||||
% starts a new line in the output.
|
||||
@@ -354,7 +358,7 @@
|
||||
% We don't want .vr (or whatever) entries like this:
|
||||
% \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
|
||||
% "\acronym" won't work when it's read back in;
|
||||
% it needs to be
|
||||
% it needs to be
|
||||
% {\code {{\tt \backslashcurfont }acronym}
|
||||
\shipout\vbox{%
|
||||
% Do this early so pdf references go to the beginning of the page.
|
||||
@@ -460,7 +464,7 @@
|
||||
\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
|
||||
\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
|
||||
|
||||
% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
|
||||
% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
|
||||
%
|
||||
% \argremovec might leave us with trailing space, e.g.,
|
||||
% @end itemize @c foo
|
||||
@@ -485,7 +489,7 @@
|
||||
% to get _exactly_ the rest of the line, we had to prevent such situation.
|
||||
% We prepended an \empty token at the very beginning and we expand it now,
|
||||
% just before passing the control to \argtorun.
|
||||
% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
|
||||
% (Similarly, we have to think about #3 of \argcheckspacesY above: it is
|
||||
% either the null string, or it ends with \^^M---thus there is no danger
|
||||
% that a pair of braces would be stripped.
|
||||
%
|
||||
@@ -542,12 +546,12 @@
|
||||
% used to check whether the current environment is the one expected.
|
||||
%
|
||||
% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
|
||||
% are not treated as enviroments; they don't open a group. (The
|
||||
% are not treated as environments; they don't open a group. (The
|
||||
% implementation of @end takes care not to call \endgroup in this
|
||||
% special case.)
|
||||
|
||||
|
||||
% At runtime, environments start with this:
|
||||
% At run-time, environments start with this:
|
||||
\def\startenvironment#1{\begingroup\def\thisenv{#1}}
|
||||
% initialize
|
||||
\let\thisenv\empty
|
||||
@@ -565,7 +569,7 @@
|
||||
\fi
|
||||
}
|
||||
|
||||
% Evironment mismatch, #1 expected:
|
||||
% Environment mismatch, #1 expected:
|
||||
\def\badenverr{%
|
||||
\errhelp = \EMsimple
|
||||
\errmessage{This command can appear only \inenvironment\temp,
|
||||
@@ -649,8 +653,8 @@
|
||||
\def\jmacro{j}
|
||||
\def\dotless#1{%
|
||||
\def\temp{#1}%
|
||||
\ifx\temp\imacro \ptexi
|
||||
\else\ifx\temp\jmacro \j
|
||||
\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
|
||||
}
|
||||
@@ -705,7 +709,7 @@
|
||||
\def\?{?\spacefactor=\endofsentencespacefactor\space}
|
||||
|
||||
% @frenchspacing on|off says whether to put extra space after punctuation.
|
||||
%
|
||||
%
|
||||
\def\onword{on}
|
||||
\def\offword{off}
|
||||
%
|
||||
@@ -916,15 +920,20 @@ where each line of input produces a line of output.}
|
||||
\temp
|
||||
}
|
||||
|
||||
% @include file insert text of that file as input.
|
||||
% @include FILE -- \input text of FILE.
|
||||
%
|
||||
\def\include{\parseargusing\filenamecatcodes\includezzz}
|
||||
\def\includezzz#1{%
|
||||
\pushthisfilestack
|
||||
\def\thisfile{#1}%
|
||||
{%
|
||||
\makevalueexpandable
|
||||
\def\temp{\input #1 }%
|
||||
\makevalueexpandable % we want to expand any @value in FILE.
|
||||
\turnoffactive % and allow special characters in the expansion
|
||||
\indexnofonts % Allow `@@' and other weird things in file names.
|
||||
\edef\temp{\noexpand\input #1 }%
|
||||
%
|
||||
% This trickery is to read FILE outside of a group, in case it makes
|
||||
% definitions, etc.
|
||||
\expandafter
|
||||
}\temp
|
||||
\popthisfilestack
|
||||
@@ -939,6 +948,8 @@ where each line of input produces a line of output.}
|
||||
\catcode`>=\other
|
||||
\catcode`+=\other
|
||||
\catcode`-=\other
|
||||
\catcode`\`=\other
|
||||
\catcode`\'=\other
|
||||
}
|
||||
|
||||
\def\pushthisfilestack{%
|
||||
@@ -1114,6 +1125,16 @@ where each line of input produces a line of output.}
|
||||
\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.
|
||||
@@ -1127,17 +1148,21 @@ where each line of input produces a line of output.}
|
||||
\catcode`< = \active
|
||||
\catcode`> = \active
|
||||
\catcode`+ = \active
|
||||
\catcode`' = \active
|
||||
\gdef\mathactive{%
|
||||
\let^ = \ptexhat
|
||||
\let< = \ptexless
|
||||
\let> = \ptexgtr
|
||||
\let+ = \ptexplus
|
||||
\let' = \ptexquoteright
|
||||
}
|
||||
}
|
||||
|
||||
% @bullet and @minus need the same treatment as @math, just above.
|
||||
% Some math mode symbols.
|
||||
\def\bullet{$\ptexbullet$}
|
||||
\def\minus{$-$}
|
||||
\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
|
||||
@@ -1260,7 +1285,7 @@ where each line of input produces a line of output.}
|
||||
% that's what we do).
|
||||
|
||||
% double active backslashes.
|
||||
%
|
||||
%
|
||||
{\catcode`\@=0 \catcode`\\=\active
|
||||
@gdef@activebackslashdouble{%
|
||||
@catcode`@\=@active
|
||||
@@ -1272,11 +1297,11 @@ where each line of input produces a line of output.}
|
||||
% us) handles it with this amazing macro to replace tokens, with minor
|
||||
% changes for Texinfo. It is included here under the GPL by permission
|
||||
% from the author, Heiko Oberdiek.
|
||||
%
|
||||
%
|
||||
% #1 is the tokens to replace.
|
||||
% #2 is the replacement.
|
||||
% #3 is the control sequence with the string.
|
||||
%
|
||||
%
|
||||
\def\HyPsdSubst#1#2#3{%
|
||||
\def\HyPsdReplace##1#1##2\END{%
|
||||
##1%
|
||||
@@ -1311,7 +1336,10 @@ output) for that.)}
|
||||
\def\cmykDarkRed{0.28 1 1 0.35}
|
||||
\def\cmykBlack{0 0 0 1}
|
||||
%
|
||||
\def\pdfsetcolor#1{\pdfliteral{#1 k}}
|
||||
% k sets the color for filling (usual text, etc.);
|
||||
% K sets the color for stroking (thin rules, e.g., normal _'s).
|
||||
\def\pdfsetcolor#1{\pdfliteral{#1 k #1 K}}
|
||||
%
|
||||
% Set color, and create a mark which defines \thiscolor accordingly,
|
||||
% so that \makeheadline knows which color to restore.
|
||||
\def\setcolor#1{%
|
||||
@@ -1362,8 +1390,11 @@ output) for that.)}
|
||||
\openin 1 #1.jpeg \ifeof 1
|
||||
\openin 1 #1.JPG \ifeof 1
|
||||
\openin 1 #1.pdf \ifeof 1
|
||||
\errhelp = \nopdfimagehelp
|
||||
\errmessage{Could not find image file #1 for pdf}%
|
||||
\openin 1 #1.PDF \ifeof 1
|
||||
\errhelp = \nopdfimagehelp
|
||||
\errmessage{Could not find image file #1 for pdf}%
|
||||
\else \gdef\pdfimgext{PDF}%
|
||||
\fi
|
||||
\else \gdef\pdfimgext{pdf}%
|
||||
\fi
|
||||
\else \gdef\pdfimgext{JPG}%
|
||||
@@ -1377,7 +1408,7 @@ output) for that.)}
|
||||
\closein 1
|
||||
\endgroup
|
||||
%
|
||||
% without \immediate, pdftex seg faults when the same image is
|
||||
% without \immediate, ancient pdftex seg faults when the same image is
|
||||
% included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
|
||||
\ifnum\pdftexversion < 14
|
||||
\immediate\pdfimage
|
||||
@@ -1542,11 +1573,15 @@ output) for that.)}
|
||||
% tried to figure out what each command should do in the context
|
||||
% of @url. for now, just make @/ a no-op, that's the only one
|
||||
% people have actually reported a problem with.
|
||||
%
|
||||
%
|
||||
\normalturnoffactive
|
||||
\def\@{@}%
|
||||
\let\/=\empty
|
||||
\makevalueexpandable
|
||||
% do we want to go so far as to use \indexnofonts instead of just
|
||||
% special-casing \var here?
|
||||
\def\var##1{##1}%
|
||||
%
|
||||
\leavevmode\setcolor{\urlcolor}%
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
|
||||
@@ -1577,6 +1612,7 @@ output) for that.)}
|
||||
\setcolor{\linkcolor}#1\endlink}
|
||||
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
|
||||
\else
|
||||
% non-pdf mode
|
||||
\let\pdfmkdest = \gobble
|
||||
\let\pdfurl = \gobble
|
||||
\let\endlink = \relax
|
||||
@@ -1607,6 +1643,10 @@ output) for that.)}
|
||||
\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
|
||||
\def\tt{\fam=\ttfam \setfontstyle{tt}}
|
||||
|
||||
% Unfortunately, we have to override this for titles and the like, since
|
||||
% in those cases "rm" is bold. Sigh.
|
||||
\def\rmisbold{\rm\def\curfontstyle{bf}}
|
||||
|
||||
% Texinfo sort of supports the sans serif font style, which plain TeX does not.
|
||||
% So we set up a \sf.
|
||||
\newfam\sffam
|
||||
@@ -1941,7 +1981,7 @@ end
|
||||
|
||||
% Definitions for a main text size of 11pt. This is the default in
|
||||
% Texinfo.
|
||||
%
|
||||
%
|
||||
\def\definetextfontsizexi{%
|
||||
% Text fonts (11.2pt, magstep1).
|
||||
\def\textnominalsize{11pt}
|
||||
@@ -2004,8 +2044,6 @@ end
|
||||
\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
|
||||
\font\titlei=cmmi12 scaled \magstep3
|
||||
\font\titlesy=cmsy10 scaled \magstep4
|
||||
\def\authorrm{\secrm}
|
||||
\def\authortt{\sectt}
|
||||
\def\titleecsize{2074}
|
||||
|
||||
% Chapter (and unnumbered) fonts (17.28pt).
|
||||
@@ -2074,7 +2112,7 @@ end
|
||||
% section, chapter, etc., sizes following suit. This is for the GNU
|
||||
% Press printing of the Emacs 22 manual. Maybe other manuals in the
|
||||
% future. Used with @smallbook, which sets the leading to 12pt.
|
||||
%
|
||||
%
|
||||
\def\definetextfontsizex{%
|
||||
% Text fonts (10pt).
|
||||
\def\textnominalsize{10pt}
|
||||
@@ -2137,8 +2175,6 @@ end
|
||||
\setfont\titlesc\scbshape{10}{\magstep4}{OT1}
|
||||
\font\titlei=cmmi12 scaled \magstep3
|
||||
\font\titlesy=cmsy10 scaled \magstep4
|
||||
\def\authorrm{\secrm}
|
||||
\def\authortt{\sectt}
|
||||
\def\titleecsize{2074}
|
||||
|
||||
% Chapter fonts (14.4pt).
|
||||
@@ -2165,7 +2201,7 @@ end
|
||||
\setfont\secsf\sfbshape{12}{1000}{OT1}
|
||||
\let\secbf\secrm
|
||||
\setfont\secsc\scbshape{10}{\magstep1}{OT1}
|
||||
\font\seci=cmmi12
|
||||
\font\seci=cmmi12
|
||||
\font\secsy=cmsy10 scaled \magstep1
|
||||
\def\sececsize{1200}
|
||||
|
||||
@@ -2209,7 +2245,7 @@ end
|
||||
% We provide the user-level command
|
||||
% @fonttextsize 10
|
||||
% (or 11) to redefine the text font size. pt is assumed.
|
||||
%
|
||||
%
|
||||
\def\xword{10}
|
||||
\def\xiword{11}
|
||||
%
|
||||
@@ -2219,7 +2255,7 @@ end
|
||||
%
|
||||
% Set \globaldefs so that documents can use this inside @tex, since
|
||||
% makeinfo 4.8 does not support it, but we need it nonetheless.
|
||||
%
|
||||
%
|
||||
\begingroup \globaldefs=1
|
||||
\ifx\textsizearg\xword \definetextfontsizex
|
||||
\else \ifx\textsizearg\xiword \definetextfontsizexi
|
||||
@@ -2270,7 +2306,7 @@ end
|
||||
\def\curfontsize{title}%
|
||||
\def\lsize{chap}\def\lllsize{subsec}%
|
||||
\resetmathfonts \setleading{25pt}}
|
||||
\def\titlefont#1{{\titlefonts\rm #1}}
|
||||
\def\titlefont#1{{\titlefonts\rmisbold #1}}
|
||||
\def\chapfonts{%
|
||||
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
|
||||
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
|
||||
@@ -2321,6 +2357,16 @@ end
|
||||
\def\lsize{smaller}\def\lllsize{smaller}%
|
||||
\resetmathfonts \setleading{9.5pt}}
|
||||
|
||||
% Fonts for short table of contents.
|
||||
\setfont\shortcontrm\rmshape{12}{1000}{OT1}
|
||||
\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
|
||||
\setfont\shortcontsl\slshape{12}{1000}{OT1}
|
||||
\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
|
||||
|
||||
% Define these just so they can be easily changed for other fonts.
|
||||
\def\angleleft{$\langle$}
|
||||
\def\angleright{$\rangle$}
|
||||
|
||||
% Set the fonts to use with the @small... environments.
|
||||
\let\smallexamplefonts = \smallfonts
|
||||
|
||||
@@ -2334,28 +2380,128 @@ end
|
||||
%
|
||||
% By the way, for comparison, here's what fits with @example (10pt):
|
||||
% 8.5x11=71 smallbook=60 a4=75 a5=58
|
||||
%
|
||||
% I wish the USA used A4 paper.
|
||||
% --karl, 24jan03.
|
||||
|
||||
|
||||
% Set up the default fonts, so we can use them for creating boxes.
|
||||
%
|
||||
\definetextfontsizexi
|
||||
|
||||
% Define these so they can be easily changed for other fonts.
|
||||
\def\angleleft{$\langle$}
|
||||
\def\angleright{$\rangle$}
|
||||
|
||||
\message{markup,}
|
||||
|
||||
% Check if we are currently using a typewriter font. Since all the
|
||||
% Computer Modern typewriter fonts have zero interword stretch (and
|
||||
% shrink), and it is reasonable to expect all typewriter fonts to have
|
||||
% this property, we can check that font parameter.
|
||||
%
|
||||
\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
|
||||
|
||||
% Markup style infrastructure. \defmarkupstylesetup\INITMACRO will
|
||||
% define and register \INITMACRO to be called on markup style changes.
|
||||
% \INITMACRO can check \currentmarkupstyle for the innermost
|
||||
% style and the set of \ifmarkupSTYLE switches for all styles
|
||||
% currently in effect.
|
||||
\newif\ifmarkupvar
|
||||
\newif\ifmarkupsamp
|
||||
\newif\ifmarkupkey
|
||||
%\newif\ifmarkupfile % @file == @samp.
|
||||
%\newif\ifmarkupoption % @option == @samp.
|
||||
\newif\ifmarkupcode
|
||||
\newif\ifmarkupkbd
|
||||
%\newif\ifmarkupenv % @env == @code.
|
||||
%\newif\ifmarkupcommand % @command == @code.
|
||||
\newif\ifmarkuptex % @tex (and part of @math, for now).
|
||||
\newif\ifmarkupexample
|
||||
\newif\ifmarkupverb
|
||||
\newif\ifmarkupverbatim
|
||||
|
||||
\let\currentmarkupstyle\empty
|
||||
|
||||
\def\setupmarkupstyle#1{%
|
||||
\csname markup#1true\endcsname
|
||||
\def\currentmarkupstyle{#1}%
|
||||
\markupstylesetup
|
||||
}
|
||||
|
||||
\let\markupstylesetup\empty
|
||||
|
||||
\def\defmarkupstylesetup#1{%
|
||||
\expandafter\def\expandafter\markupstylesetup
|
||||
\expandafter{\markupstylesetup #1}%
|
||||
\def#1%
|
||||
}
|
||||
|
||||
% Markup style setup for left and right quotes.
|
||||
\defmarkupstylesetup\markupsetuplq{%
|
||||
\expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
|
||||
\ifx\temp\relax \markupsetuplqdefault \else \temp \fi
|
||||
}
|
||||
|
||||
\defmarkupstylesetup\markupsetuprq{%
|
||||
\expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
|
||||
\ifx\temp\relax \markupsetuprqdefault \else \temp \fi
|
||||
}
|
||||
|
||||
{
|
||||
\catcode`\'=\active
|
||||
\catcode`\`=\active
|
||||
|
||||
\gdef\markupsetuplqdefault{\let`\lq}
|
||||
\gdef\markupsetuprqdefault{\let'\rq}
|
||||
|
||||
\gdef\markupsetcodequoteleft{\let`\codequoteleft}
|
||||
\gdef\markupsetcodequoteright{\let'\codequoteright}
|
||||
|
||||
\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
|
||||
}
|
||||
|
||||
\let\markupsetuplqcode \markupsetcodequoteleft
|
||||
\let\markupsetuprqcode \markupsetcodequoteright
|
||||
\let\markupsetuplqexample \markupsetcodequoteleft
|
||||
\let\markupsetuprqexample \markupsetcodequoteright
|
||||
\let\markupsetuplqverb \markupsetcodequoteleft
|
||||
\let\markupsetuprqverb \markupsetcodequoteright
|
||||
\let\markupsetuplqverbatim \markupsetcodequoteleft
|
||||
\let\markupsetuprqverbatim \markupsetcodequoteright
|
||||
|
||||
\let\markupsetuplqsamp \markupsetnoligaturesquoteleft
|
||||
\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
|
||||
|
||||
% Allow an option to not replace quotes with a regular directed right
|
||||
% quote/apostrophe (char 0x27), but instead use the undirected quote
|
||||
% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
|
||||
% the default, but it works for pasting with more pdf viewers (at least
|
||||
% evince), the lilypond developers report. xpdf does work with the
|
||||
% regular 0x27.
|
||||
%
|
||||
\def\codequoteright{%
|
||||
\expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
|
||||
\expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
|
||||
'%
|
||||
\else \char'15 \fi
|
||||
\else \char'15 \fi
|
||||
}
|
||||
%
|
||||
% and a similar option for the left quote char vs. a grave accent.
|
||||
% Modern fonts display ASCII 0x60 as a grave accent, so some people like
|
||||
% the code environments to do likewise.
|
||||
%
|
||||
\def\codequoteleft{%
|
||||
\expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
|
||||
\expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
|
||||
% [Knuth] pp. 380,381,391
|
||||
% \relax disables Spanish ligatures ?` and !` of \tt font.
|
||||
\relax`%
|
||||
\else \char'22 \fi
|
||||
\else \char'22 \fi
|
||||
}
|
||||
|
||||
% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
|
||||
\def\noligaturesquoteleft{\relax\lq}
|
||||
|
||||
% Count depth in font-changes, for error checks
|
||||
\newcount\fontdepth \fontdepth=0
|
||||
|
||||
% Fonts for short table of contents.
|
||||
\setfont\shortcontrm\rmshape{12}{1000}{OT1}
|
||||
\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
|
||||
\setfont\shortcontsl\slshape{12}{1000}{OT1}
|
||||
\setfont\shortconttt\ttshape{12}{1000}{OT1TT}
|
||||
|
||||
%% Add scribe-like font environments, plus @l for inline lisp (usually sans
|
||||
%% serif) and @ii for TeX italic
|
||||
|
||||
@@ -2370,17 +2516,22 @@ end
|
||||
% @var is set to this for defun arguments.
|
||||
\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
|
||||
|
||||
% like \smartslanted except unconditionally use \sl. We never want
|
||||
% @cite is like \smartslanted except unconditionally use \sl. We never want
|
||||
% ttsl for book titles, do we?
|
||||
\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
|
||||
|
||||
\let\i=\smartitalic
|
||||
\let\slanted=\smartslanted
|
||||
\let\var=\smartslanted
|
||||
\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}}
|
||||
\let\dfn=\smartslanted
|
||||
\let\emph=\smartitalic
|
||||
|
||||
% @b, explicit bold.
|
||||
% Explicit font changes: @r, @sc, undocumented @ii.
|
||||
\def\r#1{{\rm #1}} % roman font
|
||||
\def\sc#1{{\smallcaps#1}} % smallcaps font
|
||||
\def\ii#1{{\it #1}} % italic font
|
||||
|
||||
% @b, explicit bold. Also @strong.
|
||||
\def\b#1{{\bf #1}}
|
||||
\let\strong=\b
|
||||
|
||||
@@ -2412,22 +2563,35 @@ end
|
||||
\catcode`@=\other
|
||||
\def\endofsentencespacefactor{3000}% default
|
||||
|
||||
% @t, explicit typewriter.
|
||||
\def\t#1{%
|
||||
{\tt \rawbackslash \plainfrenchspacing #1}%
|
||||
\null
|
||||
}
|
||||
\def\samp#1{`\tclose{#1}'\null}
|
||||
\setfont\keyrm\rmshape{8}{1000}{OT1}
|
||||
\font\keysy=cmsy9
|
||||
\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
|
||||
\raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
|
||||
\vbox{\hrule\kern-0.4pt
|
||||
\hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
|
||||
\kern-0.4pt\hrule}%
|
||||
\kern-.06em\raise0.4pt\hbox{\angleright}}}}
|
||||
\def\key #1{{\nohyphenation \uppercase{#1}}\null}
|
||||
% The old definition, with no lozenge:
|
||||
%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
|
||||
|
||||
% @samp.
|
||||
\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
|
||||
|
||||
% definition of @key that produces a lozenge. Doesn't adjust to text size.
|
||||
%\setfont\keyrm\rmshape{8}{1000}{OT1}
|
||||
%\font\keysy=cmsy9
|
||||
%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
|
||||
% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
|
||||
% \vbox{\hrule\kern-0.4pt
|
||||
% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
|
||||
% \kern-0.4pt\hrule}%
|
||||
% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
|
||||
|
||||
% definition of @key with no lozenge. If the current font is already
|
||||
% monospace, don't change it; that way, we respect @kbdinputstyle. But
|
||||
% if it isn't monospace, then use \tt.
|
||||
%
|
||||
\def\key#1{{\setupmarkupstyle{key}%
|
||||
\nohyphenation
|
||||
\ifmonospace\else\tt\fi
|
||||
#1}\null}
|
||||
|
||||
% ctrl is no longer a Texinfo command.
|
||||
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
|
||||
|
||||
% @file, @option are the same as @samp.
|
||||
@@ -2469,11 +2633,11 @@ end
|
||||
{
|
||||
\catcode`\-=\active \catcode`\_=\active
|
||||
\catcode`\'=\active \catcode`\`=\active
|
||||
\global\let'=\rq \global\let`=\lq % default definitions
|
||||
%
|
||||
\global\def\code{\begingroup
|
||||
\catcode\rquoteChar=\active \catcode\lquoteChar=\active
|
||||
\let'\codequoteright \let`\codequoteleft
|
||||
%
|
||||
\setupmarkupstyle{code}%
|
||||
% The following should really be moved into \setupmarkupstyle handlers.
|
||||
\catcode\dashChar=\active \catcode\underChar=\active
|
||||
\ifallowcodebreaks
|
||||
\let-\codedash
|
||||
@@ -2505,7 +2669,7 @@ end
|
||||
% each of the four underscores in __typeof__. This is undesirable in
|
||||
% some manuals, especially if they don't have long identifiers in
|
||||
% general. @allowcodebreaks provides a way to control this.
|
||||
%
|
||||
%
|
||||
\newif\ifallowcodebreaks \allowcodebreakstrue
|
||||
|
||||
\def\keywordtrue{true}
|
||||
@@ -2525,6 +2689,7 @@ end
|
||||
|
||||
% @kbd is like @code, except that if the argument is just one @key command,
|
||||
% then @kbd has no effect.
|
||||
\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
|
||||
|
||||
% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
|
||||
% `example' (@kbd uses ttsl only inside of @example and friends),
|
||||
@@ -2546,20 +2711,27 @@ end
|
||||
\def\wordexample{example}
|
||||
\def\wordcode{code}
|
||||
|
||||
% Default is `distinct.'
|
||||
% Default is `distinct'.
|
||||
\kbdinputstyle distinct
|
||||
|
||||
\def\xkey{\key}
|
||||
\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
|
||||
\ifx\one\xkey\ifx\threex\three \key{#2}%
|
||||
\else{\tclose{\kbdfont\look}}\fi
|
||||
\else{\tclose{\kbdfont\look}}\fi}
|
||||
\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
|
||||
\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
|
||||
|
||||
% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
|
||||
\let\indicateurl=\code
|
||||
\let\env=\code
|
||||
\let\command=\code
|
||||
|
||||
% @clicksequence{File @click{} Open ...}
|
||||
\def\clicksequence#1{\begingroup #1\endgroup}
|
||||
|
||||
% @clickstyle @arrow (by default)
|
||||
\parseargdef\clickstyle{\def\click{#1}}
|
||||
\def\click{\arrow}
|
||||
|
||||
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
|
||||
% second argument specifying the text to display and an optional third
|
||||
% arg as text to display instead of (rather than in addition to) the url
|
||||
@@ -2609,34 +2781,20 @@ end
|
||||
\let\email=\uref
|
||||
\fi
|
||||
|
||||
% Check if we are currently using a typewriter font. Since all the
|
||||
% Computer Modern typewriter fonts have zero interword stretch (and
|
||||
% shrink), and it is reasonable to expect all typewriter fonts to have
|
||||
% this property, we can check that font parameter.
|
||||
%
|
||||
\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
|
||||
|
||||
% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
|
||||
% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
|
||||
%
|
||||
\def\dmn#1{\thinspace #1}
|
||||
|
||||
\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
|
||||
|
||||
% @l was never documented to mean ``switch to the Lisp font'',
|
||||
% and it is not used as such in any manual I can find. We need it for
|
||||
% Polish suppressed-l. --karl, 22sep96.
|
||||
%\def\l#1{{\li #1}\null}
|
||||
|
||||
% Explicit font changes: @r, @sc, undocumented @ii.
|
||||
\def\r#1{{\rm #1}} % roman font
|
||||
\def\sc#1{{\smallcaps#1}} % smallcaps font
|
||||
\def\ii#1{{\it #1}} % italic font
|
||||
|
||||
% @acronym for "FBI", "NATO", and the like.
|
||||
% We print this one point size smaller, since it's intended for
|
||||
% all-uppercase.
|
||||
%
|
||||
%
|
||||
\def\acronym#1{\doacronym #1,,\finish}
|
||||
\def\doacronym#1,#2,#3\finish{%
|
||||
{\selectfonts\lsize #1}%
|
||||
@@ -2648,7 +2806,7 @@ end
|
||||
|
||||
% @abbr for "Comput. J." and the like.
|
||||
% No font change, but don't do end-of-sentence spacing.
|
||||
%
|
||||
%
|
||||
\def\abbr#1{\doabbr #1,,\finish}
|
||||
\def\doabbr#1,#2,#3\finish{%
|
||||
{\plainfrenchspacing #1}%
|
||||
@@ -2658,6 +2816,44 @@ end
|
||||
\fi
|
||||
}
|
||||
|
||||
|
||||
\message{glyphs,}
|
||||
|
||||
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
|
||||
%
|
||||
% Since these characters are used in examples, they should be an even number of
|
||||
% \tt widths. Each \tt character is 1en, so two makes it 1em.
|
||||
%
|
||||
\def\point{$\star$}
|
||||
\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
|
||||
\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
|
||||
\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
|
||||
\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
|
||||
\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
|
||||
|
||||
% The @error{} command.
|
||||
% Adapted from the TeXbook's \boxit.
|
||||
%
|
||||
\newbox\errorbox
|
||||
%
|
||||
{\tentt \global\dimen0 = 3em}% Width of the box.
|
||||
\dimen2 = .55pt % Thickness of rules
|
||||
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
|
||||
\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
|
||||
%
|
||||
\setbox\errorbox=\hbox to \dimen0{\hfil
|
||||
\hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
|
||||
\advance\hsize by -2\dimen2 % Rules.
|
||||
\vbox{%
|
||||
\hrule height\dimen2
|
||||
\hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
|
||||
\vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
|
||||
\kern3pt\vrule width\dimen2}% Space to right.
|
||||
\hrule height\dimen2}
|
||||
\hfil}
|
||||
%
|
||||
\def\error{\leavevmode\lower.7ex\copy\errorbox}
|
||||
|
||||
% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
|
||||
%
|
||||
\def\pounds{{\it\$}}
|
||||
@@ -2667,52 +2863,59 @@ end
|
||||
% Theiling, which support regular, slanted, bold and bold slanted (and
|
||||
% "outlined" (blackboard board, sort of) versions, which we don't need).
|
||||
% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
|
||||
%
|
||||
%
|
||||
% Although only regular is the truly official Euro symbol, we ignore
|
||||
% that. The Euro is designed to be slightly taller than the regular
|
||||
% font height.
|
||||
%
|
||||
%
|
||||
% feymr - regular
|
||||
% feymo - slanted
|
||||
% feybr - bold
|
||||
% feybo - bold slanted
|
||||
%
|
||||
%
|
||||
% There is no good (free) typewriter version, to my knowledge.
|
||||
% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
|
||||
% Hmm.
|
||||
%
|
||||
%
|
||||
% Also doesn't work in math. Do we need to do math with euro symbols?
|
||||
% Hope not.
|
||||
%
|
||||
%
|
||||
%
|
||||
%
|
||||
\def\euro{{\eurofont e}}
|
||||
\def\eurofont{%
|
||||
% We set the font at each command, rather than predefining it in
|
||||
% \textfonts and the other font-switching commands, so that
|
||||
% installations which never need the symbol don't have to have the
|
||||
% font installed.
|
||||
%
|
||||
%
|
||||
% There is only one designed size (nominal 10pt), so we always scale
|
||||
% that to the current nominal size.
|
||||
%
|
||||
%
|
||||
% By the way, simply using "at 1em" works for cmr10 and the like, but
|
||||
% does not work for cmbx10 and other extended/shrunken fonts.
|
||||
%
|
||||
%
|
||||
\def\eurosize{\csname\curfontsize nominalsize\endcsname}%
|
||||
%
|
||||
\ifx\curfontstyle\bfstylename
|
||||
\ifx\curfontstyle\bfstylename
|
||||
% bold:
|
||||
\font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
|
||||
\else
|
||||
\else
|
||||
% regular:
|
||||
\font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
|
||||
\fi
|
||||
\thiseurofont
|
||||
}
|
||||
|
||||
% Hacks for glyphs from the EC fonts similar to \euro. We don't
|
||||
% use \let for the aliases, because sometimes we redefine the original
|
||||
% macro, and the alias should reflect the redefinition.
|
||||
% Glyphs from the EC fonts. We don't use \let for the aliases, because
|
||||
% sometimes we redefine the original macro, and the alias should reflect
|
||||
% the redefinition.
|
||||
%
|
||||
% Use LaTeX names for the Icelandic letters.
|
||||
\def\DH{{\ecfont \char"D0}} % Eth
|
||||
\def\dh{{\ecfont \char"F0}} % eth
|
||||
\def\TH{{\ecfont \char"DE}} % Thorn
|
||||
\def\th{{\ecfont \char"FE}} % thorn
|
||||
%
|
||||
\def\guillemetleft{{\ecfont \char"13}}
|
||||
\def\guillemotleft{\guillemetleft}
|
||||
\def\guillemetright{{\ecfont \char"14}}
|
||||
@@ -2722,8 +2925,36 @@ end
|
||||
\def\quotedblbase{{\ecfont \char"12}}
|
||||
\def\quotesinglbase{{\ecfont \char"0D}}
|
||||
%
|
||||
% This positioning is not perfect (see the ogonek LaTeX package), but
|
||||
% we have the precomposed glyphs for the most common cases. We put the
|
||||
% tests to use those glyphs in the single \ogonek macro so we have fewer
|
||||
% dummy definitions to worry about for index entries, etc.
|
||||
%
|
||||
% ogonek is also used with other letters in Lithuanian (IOU), but using
|
||||
% the precomposed glyphs for those is not so easy since they aren't in
|
||||
% the same EC font.
|
||||
\def\ogonek#1{{%
|
||||
\def\temp{#1}%
|
||||
\ifx\temp\macrocharA\Aogonek
|
||||
\else\ifx\temp\macrochara\aogonek
|
||||
\else\ifx\temp\macrocharE\Eogonek
|
||||
\else\ifx\temp\macrochare\eogonek
|
||||
\else
|
||||
\ecfont \setbox0=\hbox{#1}%
|
||||
\ifdim\ht0=1ex\accent"0C #1%
|
||||
\else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}%
|
||||
\fi
|
||||
\fi\fi\fi\fi
|
||||
}%
|
||||
}
|
||||
\def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A}
|
||||
\def\aogonek{{\ecfont \char"A1}}\def\macrochara{a}
|
||||
\def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
|
||||
\def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
|
||||
%
|
||||
% Use the ec* fonts (cm-super in outline format) for non-CM glyphs.
|
||||
\def\ecfont{%
|
||||
% We can't distinguish serif/sanserif and italic/slanted, but this
|
||||
% We can't distinguish serif/sans and italic/slanted, but this
|
||||
% is used for crude hacks anyway (like adding French and German
|
||||
% quotes to documents typeset with CM, where we lose kerning), so
|
||||
% hopefully nobody will notice/care.
|
||||
@@ -2756,7 +2987,7 @@ end
|
||||
% Laurent Siebenmann reports \Orb undefined with:
|
||||
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
|
||||
% so we'll define it if necessary.
|
||||
%
|
||||
%
|
||||
\ifx\Orb\undefined
|
||||
\def\Orb{\mathhexbox20D}
|
||||
\fi
|
||||
@@ -2851,12 +3082,9 @@ end
|
||||
\let\subtitlerm=\tenrm
|
||||
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
|
||||
|
||||
\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
|
||||
\let\tt=\authortt}
|
||||
|
||||
\parseargdef\title{%
|
||||
\checkenv\titlepage
|
||||
\leftline{\titlefonts\rm #1}
|
||||
\leftline{\titlefonts\rmisbold #1}
|
||||
% print a rule at the page bottom also.
|
||||
\finishedtitlepagefalse
|
||||
\vskip4pt \hrule height 4pt width \hsize \vskip4pt
|
||||
@@ -2877,7 +3105,7 @@ end
|
||||
\else
|
||||
\checkenv\titlepage
|
||||
\ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
|
||||
{\authorfont \leftline{#1}}%
|
||||
{\secfonts\rmisbold \leftline{#1}}%
|
||||
\fi
|
||||
}
|
||||
|
||||
@@ -3105,7 +3333,7 @@ end
|
||||
% cause the example and the item to crash together. So we use this
|
||||
% bizarre value of 10001 as a signal to \aboveenvbreak to insert
|
||||
% \parskip glue after all. Section titles are handled this way also.
|
||||
%
|
||||
%
|
||||
\penalty 10001
|
||||
\endgroup
|
||||
\itemxneedsnegativevskipfalse
|
||||
@@ -3199,9 +3427,18 @@ end
|
||||
\parindent=0pt
|
||||
\parskip=\smallskipamount
|
||||
\ifdim\parskip=0pt \parskip=2pt \fi
|
||||
%
|
||||
% Try typesetting the item mark that if the document erroneously says
|
||||
% something like @itemize @samp (intending @table), there's an error
|
||||
% right away at the @itemize. It's not the best error message in the
|
||||
% world, but it's better than leaving it to the @item. This means if
|
||||
% the user wants an empty mark, they have to say @w{} not just @w.
|
||||
\def\itemcontents{#1}%
|
||||
\setbox0 = \hbox{\itemcontents}%
|
||||
%
|
||||
% @itemize with no arg is equivalent to @itemize @bullet.
|
||||
\ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
|
||||
%
|
||||
\let\item=\itemizeitem
|
||||
}
|
||||
|
||||
@@ -3222,6 +3459,7 @@ end
|
||||
\ifnum\lastpenalty<10000 \parskip=0in \fi
|
||||
\noindent
|
||||
\hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
|
||||
%
|
||||
\vadjust{\penalty 1200}}% not good to break after first line of item.
|
||||
\flushcr
|
||||
}
|
||||
@@ -3443,12 +3681,19 @@ end
|
||||
%
|
||||
% @headitem starts a heading row, which we typeset in bold.
|
||||
% Assignments have to be global since we are inside the implicit group
|
||||
% of an alignment entry. Note that \everycr resets \everytab.
|
||||
\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}%
|
||||
% of an alignment entry. \everycr resets \everytab so we don't have to
|
||||
% undo it ourselves.
|
||||
\def\headitemfont{\b}% for people to use in the template row; not changeable
|
||||
\def\headitem{%
|
||||
\checkenv\multitable
|
||||
\crcr
|
||||
\global\everytab={\bf}% can't use \headitemfont since the parsing differs
|
||||
\the\everytab % for the first item
|
||||
}%
|
||||
%
|
||||
% A \tab used to include \hskip1sp. But then the space in a template
|
||||
% line is not enough. That is bad. So let's go back to just `&' until
|
||||
% we encounter the problem it was intended to solve again.
|
||||
% we again encounter the problem the 1sp was intended to solve.
|
||||
% --karl, nathan@acm.org, 20apr99.
|
||||
\def\tab{\checkenv\multitable &\the\everytab}%
|
||||
|
||||
@@ -3847,11 +4092,11 @@ end
|
||||
\def\dosynindex#1#2#3{%
|
||||
% Only do \closeout if we haven't already done it, else we'll end up
|
||||
% closing the target index.
|
||||
\expandafter \ifx\csname donesynindex#2\endcsname \undefined
|
||||
\expandafter \ifx\csname donesynindex#2\endcsname \relax
|
||||
% The \closeout helps reduce unnecessary open files; the limit on the
|
||||
% Acorn RISC OS is a mere 16 files.
|
||||
\expandafter\closeout\csname#2indfile\endcsname
|
||||
\expandafter\let\csname\donesynindex#2\endcsname = 1
|
||||
\expandafter\let\csname donesynindex#2\endcsname = 1
|
||||
\fi
|
||||
% redefine \fooindfile:
|
||||
\expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
|
||||
@@ -3901,7 +4146,7 @@ end
|
||||
% processing continues to some further point. On the other hand, it
|
||||
% seems \endinput does not hurt in the printed index arg, since that
|
||||
% is still getting written without apparent harm.
|
||||
%
|
||||
%
|
||||
% Sample source (mac-idx3.tex, reported by Graham Percival to
|
||||
% help-texinfo, 22may06):
|
||||
% @macro funindex {WORD}
|
||||
@@ -3909,12 +4154,12 @@ end
|
||||
% @end macro
|
||||
% ...
|
||||
% @funindex commtest
|
||||
%
|
||||
%
|
||||
% The above is not enough to reproduce the bug, but it gives the flavor.
|
||||
%
|
||||
%
|
||||
% Sample whatsit resulting:
|
||||
% .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
|
||||
%
|
||||
%
|
||||
% So:
|
||||
\let\endinput = \empty
|
||||
%
|
||||
@@ -3966,19 +4211,23 @@ end
|
||||
% Non-English letters.
|
||||
\definedummyword\AA
|
||||
\definedummyword\AE
|
||||
\definedummyword\DH
|
||||
\definedummyword\L
|
||||
\definedummyword\OE
|
||||
\definedummyword\O
|
||||
\definedummyword\OE
|
||||
\definedummyword\TH
|
||||
\definedummyword\aa
|
||||
\definedummyword\ae
|
||||
\definedummyword\l
|
||||
\definedummyword\oe
|
||||
\definedummyword\o
|
||||
\definedummyword\ss
|
||||
\definedummyword\dh
|
||||
\definedummyword\exclamdown
|
||||
\definedummyword\questiondown
|
||||
\definedummyword\l
|
||||
\definedummyword\o
|
||||
\definedummyword\oe
|
||||
\definedummyword\ordf
|
||||
\definedummyword\ordm
|
||||
\definedummyword\questiondown
|
||||
\definedummyword\ss
|
||||
\definedummyword\th
|
||||
%
|
||||
% Although these internal commands shouldn't show up, sometimes they do.
|
||||
\definedummyword\bf
|
||||
@@ -4009,6 +4258,7 @@ end
|
||||
\definedummyword\guilsinglright
|
||||
\definedummyword\expansion
|
||||
\definedummyword\minus
|
||||
\definedummyword\ogonek
|
||||
\definedummyword\pounds
|
||||
\definedummyword\point
|
||||
\definedummyword\print
|
||||
@@ -4052,6 +4302,7 @@ end
|
||||
\definedummyword\v
|
||||
\definedummyword\H
|
||||
\definedummyword\dotaccent
|
||||
\definedummyword\ogonek
|
||||
\definedummyword\ringaccent
|
||||
\definedummyword\tieaccent
|
||||
\definedummyword\ubaraccent
|
||||
@@ -4119,19 +4370,23 @@ end
|
||||
% Non-English letters.
|
||||
\def\AA{AA}%
|
||||
\def\AE{AE}%
|
||||
\def\DH{DZZ}%
|
||||
\def\L{L}%
|
||||
\def\OE{OE}%
|
||||
\def\O{O}%
|
||||
\def\TH{ZZZ}%
|
||||
\def\aa{aa}%
|
||||
\def\ae{ae}%
|
||||
\def\dh{dzz}%
|
||||
\def\exclamdown{!}%
|
||||
\def\l{l}%
|
||||
\def\oe{oe}%
|
||||
\def\o{o}%
|
||||
\def\ss{ss}%
|
||||
\def\exclamdown{!}%
|
||||
\def\questiondown{?}%
|
||||
\def\ordf{a}%
|
||||
\def\ordm{o}%
|
||||
\def\o{o}%
|
||||
\def\questiondown{?}%
|
||||
\def\ss{ss}%
|
||||
\def\th{zzz}%
|
||||
%
|
||||
\def\LaTeX{LaTeX}%
|
||||
\def\TeX{TeX}%
|
||||
@@ -4141,20 +4396,19 @@ end
|
||||
\def\bullet{bullet}%
|
||||
\def\comma{,}%
|
||||
\def\copyright{copyright}%
|
||||
\def\registeredsymbol{R}%
|
||||
\def\dots{...}%
|
||||
\def\enddots{...}%
|
||||
\def\equiv{==}%
|
||||
\def\error{error}%
|
||||
\def\euro{euro}%
|
||||
\def\expansion{==>}%
|
||||
\def\guillemetleft{<<}%
|
||||
\def\guillemetright{>>}%
|
||||
\def\guilsinglleft{<}%
|
||||
\def\guilsinglright{>}%
|
||||
\def\expansion{==>}%
|
||||
\def\minus{-}%
|
||||
\def\pounds{pounds}%
|
||||
\def\point{.}%
|
||||
\def\pounds{pounds}%
|
||||
\def\print{-|}%
|
||||
\def\quotedblbase{"}%
|
||||
\def\quotedblleft{"}%
|
||||
@@ -4162,19 +4416,20 @@ end
|
||||
\def\quoteleft{`}%
|
||||
\def\quoteright{'}%
|
||||
\def\quotesinglbase{,}%
|
||||
\def\registeredsymbol{R}%
|
||||
\def\result{=>}%
|
||||
\def\textdegree{degrees}%
|
||||
\def\textdegree{o}%
|
||||
%
|
||||
% We need to get rid of all macros, leaving only the arguments (if present).
|
||||
% Of course this is not nearly correct, but it is the best we can do for now.
|
||||
% makeinfo does not expand macros in the argument to @deffn, which ends up
|
||||
% writing an index entry, and texindex isn't prepared for an index sort entry
|
||||
% that starts with \.
|
||||
%
|
||||
%
|
||||
% Since macro invocations are followed by braces, we can just redefine them
|
||||
% to take a single TeX argument. The case of a macro invocation that
|
||||
% goes to end-of-line is not handled.
|
||||
%
|
||||
%
|
||||
\macrolist
|
||||
}
|
||||
|
||||
@@ -4302,7 +4557,7 @@ end
|
||||
% to re-insert the same penalty (values >10000 are used for various
|
||||
% signals); since we just inserted a non-discardable item, any
|
||||
% following glue (such as a \parskip) would be a breakpoint. For example:
|
||||
%
|
||||
%
|
||||
% @deffn deffn-whatever
|
||||
% @vindex index-whatever
|
||||
% Description.
|
||||
@@ -4432,7 +4687,7 @@ end
|
||||
%
|
||||
% A straightforward implementation would start like this:
|
||||
% \def\entry#1#2{...
|
||||
% But this frozes the catcodes in the argument, and can cause problems to
|
||||
% But this freezes the catcodes in the argument, and can cause problems to
|
||||
% @code, which sets - active. This problem was fixed by a kludge---
|
||||
% ``-'' was active throughout whole index, but this isn't really right.
|
||||
%
|
||||
@@ -4883,7 +5138,9 @@ end
|
||||
\gdef\chaplevelprefix{\the\chapno.}%
|
||||
\resetallfloatnos
|
||||
%
|
||||
\message{\putwordChapter\space \the\chapno}%
|
||||
% \putwordChapter can contain complex things in translations.
|
||||
\toks0=\expandafter{\putwordChapter}%
|
||||
\message{\the\toks0 \space \the\chapno}%
|
||||
%
|
||||
% Write the actual heading.
|
||||
\chapmacro{#1}{Ynumbered}{\the\chapno}%
|
||||
@@ -4894,15 +5151,17 @@ end
|
||||
\global\let\subsubsection = \numberedsubsubsec
|
||||
}
|
||||
|
||||
\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz
|
||||
\outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz
|
||||
%
|
||||
\def\appendixzzz#1{%
|
||||
\global\secno=0 \global\subsecno=0 \global\subsubsecno=0
|
||||
\global\advance\appendixno by 1
|
||||
\gdef\chaplevelprefix{\appendixletter.}%
|
||||
\resetallfloatnos
|
||||
%
|
||||
\def\appendixnum{\putwordAppendix\space \appendixletter}%
|
||||
\message{\appendixnum}%
|
||||
% \putwordAppendix can contain complex things in translations.
|
||||
\toks0=\expandafter{\putwordAppendix}%
|
||||
\message{\the\toks0 \space \appendixletter}%
|
||||
%
|
||||
\chapmacro{#1}{Yappendix}{\appendixletter}%
|
||||
%
|
||||
@@ -5034,7 +5293,6 @@ end
|
||||
% 3) Likewise, headings look best if no \parindent is used, and
|
||||
% if justification is not attempted. Hence \raggedright.
|
||||
|
||||
|
||||
\def\majorheading{%
|
||||
{\advance\chapheadingskip by 10pt \chapbreak }%
|
||||
\parsearg\chapheadingzzz
|
||||
@@ -5043,8 +5301,8 @@ end
|
||||
\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
|
||||
\def\chapheadingzzz#1{%
|
||||
{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
|
||||
\parindent=0pt\raggedright
|
||||
\rm #1\hfill}}%
|
||||
\parindent=0pt\ptexraggedright
|
||||
\rmisbold #1\hfill}}%
|
||||
\bigskip \par\penalty 200\relax
|
||||
\suppressfirstparagraphindent
|
||||
}
|
||||
@@ -5136,7 +5394,10 @@ end
|
||||
\xdef\lastchapterdefs{%
|
||||
\gdef\noexpand\thischaptername{\the\toks0}%
|
||||
\gdef\noexpand\thischapternum{\appendixletter}%
|
||||
\gdef\noexpand\thischapter{\putwordAppendix{} \noexpand\thischapternum:
|
||||
% \noexpand\putwordAppendix avoids expanding indigestible
|
||||
% commands in some of the translations.
|
||||
\gdef\noexpand\thischapter{\noexpand\putwordAppendix{}
|
||||
\noexpand\thischapternum:
|
||||
\noexpand\thischaptername}%
|
||||
}%
|
||||
\else
|
||||
@@ -5144,7 +5405,10 @@ end
|
||||
\xdef\lastchapterdefs{%
|
||||
\gdef\noexpand\thischaptername{\the\toks0}%
|
||||
\gdef\noexpand\thischapternum{\the\chapno}%
|
||||
\gdef\noexpand\thischapter{\putwordChapter{} \noexpand\thischapternum:
|
||||
% \noexpand\putwordChapter avoids expanding indigestible
|
||||
% commands in some of the translations.
|
||||
\gdef\noexpand\thischapter{\noexpand\putwordChapter{}
|
||||
\noexpand\thischapternum:
|
||||
\noexpand\thischaptername}%
|
||||
}%
|
||||
\fi\fi\fi
|
||||
@@ -5163,7 +5427,7 @@ end
|
||||
\domark
|
||||
%
|
||||
{%
|
||||
\chapfonts \rm
|
||||
\chapfonts \rmisbold
|
||||
%
|
||||
% Have to define \lastsection before calling \donoderef, because the
|
||||
% xref code eventually uses it. On the other hand, it has to be called
|
||||
@@ -5200,7 +5464,7 @@ end
|
||||
%
|
||||
% Typeset the actual heading.
|
||||
\nobreak % Avoid page breaks at the interline glue.
|
||||
\vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
|
||||
\vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
|
||||
\hangindent=\wd0 \centerparametersmaybe
|
||||
\unhbox0 #1\par}%
|
||||
}%
|
||||
@@ -5224,8 +5488,8 @@ end
|
||||
%
|
||||
\def\unnchfopen #1{%
|
||||
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
|
||||
\parindent=0pt\raggedright
|
||||
\rm #1\hfill}}\bigskip \par\nobreak
|
||||
\parindent=0pt\ptexraggedright
|
||||
\rmisbold #1\hfill}}\bigskip \par\nobreak
|
||||
}
|
||||
\def\chfopen #1#2{\chapoddpage {\chapfonts
|
||||
\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
|
||||
@@ -5234,7 +5498,7 @@ end
|
||||
\def\centerchfopen #1{%
|
||||
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
|
||||
\parindent=0pt
|
||||
\hfill {\rm #1}\hfill}}\bigskip \par\nobreak
|
||||
\hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
|
||||
}
|
||||
\def\CHAPFopen{%
|
||||
\global\let\chapmacro=\chfopen
|
||||
@@ -5267,7 +5531,7 @@ end
|
||||
\def\sectionheading#1#2#3#4{%
|
||||
{%
|
||||
% Switch to the right set of fonts.
|
||||
\csname #2fonts\endcsname \rm
|
||||
\csname #2fonts\endcsname \rmisbold
|
||||
%
|
||||
\def\sectionlevel{#2}%
|
||||
\def\temptype{#3}%
|
||||
@@ -5287,7 +5551,10 @@ end
|
||||
\xdef\lastsectiondefs{%
|
||||
\gdef\noexpand\thissectionname{\the\toks0}%
|
||||
\gdef\noexpand\thissectionnum{#4}%
|
||||
\gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum:
|
||||
% \noexpand\putwordSection avoids expanding indigestible
|
||||
% commands in some of the translations.
|
||||
\gdef\noexpand\thissection{\noexpand\putwordSection{}
|
||||
\noexpand\thissectionnum:
|
||||
\noexpand\thissectionname}%
|
||||
}%
|
||||
\fi
|
||||
@@ -5297,12 +5564,20 @@ end
|
||||
\xdef\lastsectiondefs{%
|
||||
\gdef\noexpand\thissectionname{\the\toks0}%
|
||||
\gdef\noexpand\thissectionnum{#4}%
|
||||
\gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum:
|
||||
% \noexpand\putwordSection avoids expanding indigestible
|
||||
% commands in some of the translations.
|
||||
\gdef\noexpand\thissection{\noexpand\putwordSection{}
|
||||
\noexpand\thissectionnum:
|
||||
\noexpand\thissectionname}%
|
||||
}%
|
||||
\fi
|
||||
\fi\fi\fi
|
||||
%
|
||||
% Go into vertical mode. Usually we'll already be there, but we
|
||||
% don't want the following whatsit to end up in a preceding paragraph
|
||||
% if the document didn't happen to have a blank line.
|
||||
\par
|
||||
%
|
||||
% Output the mark. Pass it through \safewhatsit, to take care of
|
||||
% the preceding space.
|
||||
\safewhatsit\domark
|
||||
@@ -5352,7 +5627,7 @@ end
|
||||
\nobreak
|
||||
%
|
||||
% Output the actual section heading.
|
||||
\vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
|
||||
\vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
|
||||
\hangindent=\wd0 % zero if no section number
|
||||
\unhbox0 #1}%
|
||||
}%
|
||||
@@ -5368,11 +5643,11 @@ end
|
||||
% glue accumulate. (Not a breakpoint because it's preceded by a
|
||||
% discardable item.)
|
||||
\vskip-\parskip
|
||||
%
|
||||
%
|
||||
% This is purely so the last item on the list is a known \penalty >
|
||||
% 10000. This is so \startdefun can avoid allowing breakpoints after
|
||||
% section headings. Otherwise, it would insert a valid breakpoint between:
|
||||
%
|
||||
%
|
||||
% @section sec-whatever
|
||||
% @deffn def-whatever
|
||||
\penalty 10001
|
||||
@@ -5430,7 +5705,7 @@ end
|
||||
% These characters do not print properly in the Computer Modern roman
|
||||
% fonts, so we must take special care. This is more or less redundant
|
||||
% with the Texinfo input format setup at the end of this file.
|
||||
%
|
||||
%
|
||||
\def\activecatcodes{%
|
||||
\catcode`\"=\active
|
||||
\catcode`\$=\active
|
||||
@@ -5480,7 +5755,7 @@ end
|
||||
|
||||
% redefined for the two-volume lispref. We always output on
|
||||
% \jobname.toc even if this is redefined.
|
||||
%
|
||||
%
|
||||
\def\tocreadfilename{\jobname.toc}
|
||||
|
||||
% Normal (long) toc.
|
||||
@@ -5650,45 +5925,12 @@ end
|
||||
\message{environments,}
|
||||
% @foo ... @end foo.
|
||||
|
||||
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
|
||||
%
|
||||
% Since these characters are used in examples, it should be an even number of
|
||||
% \tt widths. Each \tt character is 1en, so two makes it 1em.
|
||||
%
|
||||
\def\point{$\star$}
|
||||
\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
|
||||
\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
|
||||
\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
|
||||
\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
|
||||
|
||||
% The @error{} command.
|
||||
% Adapted from the TeXbook's \boxit.
|
||||
%
|
||||
\newbox\errorbox
|
||||
%
|
||||
{\tentt \global\dimen0 = 3em}% Width of the box.
|
||||
\dimen2 = .55pt % Thickness of rules
|
||||
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
|
||||
\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
|
||||
%
|
||||
\setbox\errorbox=\hbox to \dimen0{\hfil
|
||||
\hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
|
||||
\advance\hsize by -2\dimen2 % Rules.
|
||||
\vbox{%
|
||||
\hrule height\dimen2
|
||||
\hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
|
||||
\vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
|
||||
\kern3pt\vrule width\dimen2}% Space to right.
|
||||
\hrule height\dimen2}
|
||||
\hfil}
|
||||
%
|
||||
\def\error{\leavevmode\lower.7ex\copy\errorbox}
|
||||
|
||||
% @tex ... @end tex escapes into raw Tex temporarily.
|
||||
% One exception: @ is still an escape character, so that @end tex works.
|
||||
% But \@ or @@ will get a plain tex @ character.
|
||||
|
||||
\envdef\tex{%
|
||||
\setupmarkupstyle{tex}%
|
||||
\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
|
||||
\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
|
||||
\catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
|
||||
@@ -5698,6 +5940,8 @@ end
|
||||
\catcode `\|=\other
|
||||
\catcode `\<=\other
|
||||
\catcode `\>=\other
|
||||
\catcode`\`=\other
|
||||
\catcode`\'=\other
|
||||
\escapechar=`\\
|
||||
%
|
||||
\let\b=\ptexb
|
||||
@@ -5717,6 +5961,7 @@ end
|
||||
\let\/=\ptexslash
|
||||
\let\*=\ptexstar
|
||||
\let\t=\ptext
|
||||
\expandafter \let\csname top\endcsname=\ptextop % outer
|
||||
\let\frenchspacing=\plainfrenchspacing
|
||||
%
|
||||
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
|
||||
@@ -5832,6 +6077,7 @@ end
|
||||
|
||||
% This macro is called at the beginning of all the @example variants,
|
||||
% inside a group.
|
||||
\newdimen\nonfillparindent
|
||||
\def\nonfillstart{%
|
||||
\aboveenvbreak
|
||||
\hfuzz = 12pt % Don't be fussy
|
||||
@@ -5839,7 +6085,12 @@ end
|
||||
\let\par = \lisppar % don't ignore blank lines
|
||||
\obeylines % each line of input is a line of output
|
||||
\parskip = 0pt
|
||||
% Turn off paragraph indentation but redefine \indent to emulate
|
||||
% the normal \indent.
|
||||
\nonfillparindent=\parindent
|
||||
\parindent = 0pt
|
||||
\let\indent\nonfillindent
|
||||
%
|
||||
\emergencystretch = 0pt % don't try to avoid overfull boxes
|
||||
\ifx\nonarrowing\relax
|
||||
\advance \leftskip by \lispnarrowing
|
||||
@@ -5850,6 +6101,24 @@ end
|
||||
\let\exdent=\nofillexdent
|
||||
}
|
||||
|
||||
\begingroup
|
||||
\obeyspaces
|
||||
% We want to swallow spaces (but not other tokens) after the fake
|
||||
% @indent in our nonfill-environments, where spaces are normally
|
||||
% active and set to @tie, resulting in them not being ignored after
|
||||
% @indent.
|
||||
\gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}%
|
||||
\gdef\nonfillindentcheck{%
|
||||
\ifx\temp %
|
||||
\expandafter\nonfillindentgobble%
|
||||
\else%
|
||||
\leavevmode\nonfillindentbox%
|
||||
\fi%
|
||||
}%
|
||||
\endgroup
|
||||
\def\nonfillindentgobble#1{\nonfillindent}
|
||||
\def\nonfillindentbox{\hbox to \nonfillparindent{\hss}}
|
||||
|
||||
% If you want all examples etc. small: @set dispenvsize small.
|
||||
% If you want even small examples the full size: @set dispenvsize nosmall.
|
||||
% This affects the following displayed environments:
|
||||
@@ -5898,7 +6167,7 @@ end
|
||||
%
|
||||
\maketwodispenvs {lisp}{example}{%
|
||||
\nonfillstart
|
||||
\tt\quoteexpand
|
||||
\tt\setupmarkupstyle{example}%
|
||||
\let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
|
||||
\gobble % eat return
|
||||
}
|
||||
@@ -5936,12 +6205,36 @@ end
|
||||
\let\Eflushright = \afterenvbreak
|
||||
|
||||
|
||||
% @raggedright does more-or-less normal line breaking but no right
|
||||
% justification. From plain.tex.
|
||||
\envdef\raggedright{%
|
||||
\rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax
|
||||
}
|
||||
\let\Eraggedright\par
|
||||
|
||||
\envdef\raggedleft{%
|
||||
\parindent=0pt \leftskip0pt plus2em
|
||||
\spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
|
||||
\hbadness=10000 % Last line will usually be underfull, so turn off
|
||||
% badness reporting.
|
||||
}
|
||||
\let\Eraggedleft\par
|
||||
|
||||
\envdef\raggedcenter{%
|
||||
\parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em
|
||||
\spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
|
||||
\hbadness=10000 % Last line will usually be underfull, so turn off
|
||||
% badness reporting.
|
||||
}
|
||||
\let\Eraggedcenter\par
|
||||
|
||||
|
||||
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
|
||||
% and narrows the margins. We keep \parskip nonzero in general, since
|
||||
% we're doing normal filling. So, when using \aboveenvbreak and
|
||||
% \afterenvbreak, temporarily make \parskip 0.
|
||||
%
|
||||
\envdef\quotation{%
|
||||
\def\quotationstart{%
|
||||
{\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
|
||||
\parindent=0pt
|
||||
%
|
||||
@@ -5956,6 +6249,17 @@ end
|
||||
\parsearg\quotationlabel
|
||||
}
|
||||
|
||||
\envdef\quotation{%
|
||||
\setnormaldispenv
|
||||
\quotationstart
|
||||
}
|
||||
|
||||
\envdef\smallquotation{%
|
||||
\setsmalldispenv
|
||||
\quotationstart
|
||||
}
|
||||
\let\Esmallquotation = \Equotation
|
||||
|
||||
% We have retained a nonzero parskip for the environment, since we're
|
||||
% doing normal filling.
|
||||
%
|
||||
@@ -5991,18 +6295,16 @@ end
|
||||
\do\ \do\\\do\{\do\}\do\$\do\&%
|
||||
\do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
|
||||
\do\<\do\>\do\|\do\@\do+\do\"%
|
||||
% Don't do the quotes -- if we do, @set txicodequoteundirected and
|
||||
% @set txicodequotebacktick will not have effect on @verb and
|
||||
% @verbatim, and ?` and !` ligatures won't get disabled.
|
||||
%\do\`\do\'%
|
||||
}
|
||||
%
|
||||
% [Knuth] p. 380
|
||||
\def\uncatcodespecials{%
|
||||
\def\do##1{\catcode`##1=\other}\dospecials}
|
||||
%
|
||||
% [Knuth] pp. 380,381,391
|
||||
% Disable Spanish ligatures ?` and !` of \tt font
|
||||
\begingroup
|
||||
\catcode`\`=\active\gdef`{\relax\lq}
|
||||
\endgroup
|
||||
%
|
||||
% Setup for the @verb command.
|
||||
%
|
||||
% Eight spaces for a tab
|
||||
@@ -6014,7 +6316,7 @@ end
|
||||
\def\setupverb{%
|
||||
\tt % easiest (and conventionally used) font for verbatim
|
||||
\def\par{\leavevmode\endgraf}%
|
||||
\catcode`\`=\active
|
||||
\setupmarkupstyle{verb}%
|
||||
\tabeightspaces
|
||||
% Respect line breaks,
|
||||
% print special symbols as themselves, and
|
||||
@@ -6029,33 +6331,6 @@ end
|
||||
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
|
||||
%
|
||||
\def\starttabbox{\setbox0=\hbox\bgroup}
|
||||
|
||||
% Allow an option to not replace quotes with a regular directed right
|
||||
% quote/apostrophe (char 0x27), but instead use the undirected quote
|
||||
% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
|
||||
% the default, but it works for pasting with more pdf viewers (at least
|
||||
% evince), the lilypond developers report. xpdf does work with the
|
||||
% regular 0x27.
|
||||
%
|
||||
\def\codequoteright{%
|
||||
\expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
|
||||
\expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
|
||||
'%
|
||||
\else \char'15 \fi
|
||||
\else \char'15 \fi
|
||||
}
|
||||
%
|
||||
% and a similar option for the left quote char vs. a grave accent.
|
||||
% Modern fonts display ASCII 0x60 as a grave accent, so some people like
|
||||
% the code environments to do likewise.
|
||||
%
|
||||
\def\codequoteleft{%
|
||||
\expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
|
||||
\expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
|
||||
`%
|
||||
\else \char'22 \fi
|
||||
\else \char'22 \fi
|
||||
}
|
||||
%
|
||||
\begingroup
|
||||
\catcode`\^^I=\active
|
||||
@@ -6069,13 +6344,6 @@ end
|
||||
\wd0=\dimen0 \box0 \starttabbox
|
||||
}%
|
||||
}
|
||||
\catcode`\'=\active
|
||||
\gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}%
|
||||
%
|
||||
\catcode`\`=\active
|
||||
\gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}%
|
||||
%
|
||||
\gdef\quoteexpand{\rquoteexpand \lquoteexpand}%
|
||||
\endgroup
|
||||
|
||||
% start the verbatim environment.
|
||||
@@ -6085,9 +6353,8 @@ end
|
||||
% Easiest (and conventionally used) font for verbatim
|
||||
\tt
|
||||
\def\par{\leavevmode\egroup\box0\endgraf}%
|
||||
\catcode`\`=\active
|
||||
\tabexpand
|
||||
\quoteexpand
|
||||
\setupmarkupstyle{verbatim}%
|
||||
% Respect line breaks,
|
||||
% print special symbols as themselves, and
|
||||
% make each space count
|
||||
@@ -6147,6 +6414,7 @@ end
|
||||
{%
|
||||
\makevalueexpandable
|
||||
\setupverbatim
|
||||
\indexnofonts % Allow `@@' and other weird things in file names.
|
||||
\input #1
|
||||
\afterenvbreak
|
||||
}%
|
||||
@@ -6246,7 +6514,7 @@ end
|
||||
\def\Edefun{\endgraf\medbreak}
|
||||
|
||||
% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
|
||||
% the only thing remainnig is to define \deffnheader.
|
||||
% the only thing remaining is to define \deffnheader.
|
||||
%
|
||||
\def\makedefun#1{%
|
||||
\expandafter\let\csname E#1\endcsname = \Edefun
|
||||
@@ -6425,7 +6693,7 @@ end
|
||||
%
|
||||
% On the other hand, if an argument has two dashes (for instance), we
|
||||
% want a way to get ttsl. Let's try @var for that.
|
||||
\let\var=\ttslanted
|
||||
\def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
|
||||
#1%
|
||||
\sl\hyphenchar\font=45
|
||||
}
|
||||
@@ -6579,7 +6847,7 @@ end
|
||||
% This does \let #1 = #2, with \csnames; that is,
|
||||
% \let \csname#1\endcsname = \csname#2\endcsname
|
||||
% (except of course we have to play expansion games).
|
||||
%
|
||||
%
|
||||
\def\cslet#1#2{%
|
||||
\expandafter\let
|
||||
\csname#1\expandafter\endcsname
|
||||
@@ -6953,20 +7221,22 @@ end
|
||||
%
|
||||
% Make link in pdf output.
|
||||
\ifpdf
|
||||
\leavevmode
|
||||
\getfilename{#4}%
|
||||
{\indexnofonts
|
||||
\turnoffactive
|
||||
% This expands tokens, so do it after making catcode changes, so _
|
||||
% etc. don't get their TeX definitions.
|
||||
\getfilename{#4}%
|
||||
%
|
||||
% See comments at \activebackslashdouble.
|
||||
{\activebackslashdouble \xdef\pdfxrefdest{#1}%
|
||||
\backslashparens\pdfxrefdest}%
|
||||
%
|
||||
\leavevmode
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
\ifnum\filenamelength>0
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
goto file{\the\filename.pdf} name{\pdfxrefdest}%
|
||||
goto file{\the\filename.pdf} name{\pdfxrefdest}%
|
||||
\else
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
goto name{\pdfmkpgn{\pdfxrefdest}}%
|
||||
goto name{\pdfmkpgn{\pdfxrefdest}}%
|
||||
\fi
|
||||
}%
|
||||
\setcolor{\linkcolor}%
|
||||
@@ -7317,7 +7587,7 @@ end
|
||||
% In case a @footnote appears in a vbox, save the footnote text and create
|
||||
% the real \insert just after the vbox finished. Otherwise, the insertion
|
||||
% would be lost.
|
||||
% Similarily, if a @footnote appears inside an alignment, save the footnote
|
||||
% Similarly, if a @footnote appears inside an alignment, save the footnote
|
||||
% text to a box and make the \insert when a row of the table is finished.
|
||||
% And the same can be done for other insert classes. --kasal, 16nov03.
|
||||
|
||||
@@ -7421,15 +7691,19 @@ end
|
||||
% If the image is by itself, center it.
|
||||
\ifvmode
|
||||
\imagevmodetrue
|
||||
\nobreak\bigskip
|
||||
\nobreak\medskip
|
||||
% Usually we'll have text after the image which will insert
|
||||
% \parskip glue, so insert it here too to equalize the space
|
||||
% above and below.
|
||||
\nobreak\vskip\parskip
|
||||
\nobreak
|
||||
\line\bgroup
|
||||
\fi
|
||||
%
|
||||
% Leave vertical mode so that indentation from an enclosing
|
||||
% environment such as @quotation is respected. On the other hand, if
|
||||
% it's at the top level, we don't want the normal paragraph indentation.
|
||||
\noindent
|
||||
%
|
||||
% Output the image.
|
||||
\ifpdf
|
||||
\dopdfimage{#1}{#2}{#3}%
|
||||
@@ -7440,7 +7714,7 @@ end
|
||||
\epsfbox{#1.eps}%
|
||||
\fi
|
||||
%
|
||||
\ifimagevmode \egroup \bigbreak \fi % space after the image
|
||||
\ifimagevmode \medskip \fi % space after the standalone image
|
||||
\endgroup}
|
||||
|
||||
|
||||
@@ -7712,10 +7986,9 @@ end
|
||||
|
||||
\message{localization,}
|
||||
|
||||
% @documentlanguage is usually given very early, just after
|
||||
% @setfilename. If done too late, it may not override everything
|
||||
% properly. Single argument is the language (de) or locale (de_DE)
|
||||
% abbreviation. It would be nice if we could set up a hyphenation file.
|
||||
% For single-language documents, @documentlanguage is usually given very
|
||||
% early, just after @documentencoding. Single argument is the language
|
||||
% (de) or locale (de_DE) abbreviation.
|
||||
%
|
||||
{
|
||||
\catcode`\_ = \active
|
||||
@@ -7728,31 +8001,60 @@ end
|
||||
\ifeof 1
|
||||
\documentlanguagetrywithoutunderscore{#1_\finish}%
|
||||
\else
|
||||
\globaldefs = 1 % everything in the txi-LL files needs to persist
|
||||
\input txi-#1.tex
|
||||
\fi
|
||||
\closein 1
|
||||
\endgroup
|
||||
\endgroup % end raw TeX
|
||||
\endgroup}
|
||||
}
|
||||
%
|
||||
% If they passed de_DE, and txi-de_DE.tex doesn't exist,
|
||||
% try txi-de.tex.
|
||||
%
|
||||
\def\documentlanguagetrywithoutunderscore#1_#2\finish{%
|
||||
%
|
||||
\gdef\documentlanguagetrywithoutunderscore#1_#2\finish{%
|
||||
\openin 1 txi-#1.tex
|
||||
\ifeof 1
|
||||
\errhelp = \nolanghelp
|
||||
\errmessage{Cannot read language file txi-#1.tex}%
|
||||
\else
|
||||
\globaldefs = 1 % everything in the txi-LL files needs to persist
|
||||
\input txi-#1.tex
|
||||
\fi
|
||||
\closein 1
|
||||
}
|
||||
}% end of special _ catcode
|
||||
%
|
||||
\newhelp\nolanghelp{The given language definition file cannot be found or
|
||||
is empty. Maybe you need to install it? In the current directory
|
||||
should work if nowhere else does.}
|
||||
is empty. Maybe you need to install it? Putting it in the current
|
||||
directory should work if nowhere else does.}
|
||||
|
||||
% This macro is called from txi-??.tex files; the first argument is the
|
||||
% \language name to set (without the "\lang@" prefix), the second and
|
||||
% third args are \{left,right}hyphenmin.
|
||||
%
|
||||
% The language names to pass are determined when the format is built.
|
||||
% See the etex.log file created at that time, e.g.,
|
||||
% /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log.
|
||||
%
|
||||
% With TeX Live 2008, etex now includes hyphenation patterns for all
|
||||
% available languages. This means we can support hyphenation in
|
||||
% Texinfo, at least to some extent. (This still doesn't solve the
|
||||
% accented characters problem.)
|
||||
%
|
||||
\catcode`@=11
|
||||
\def\txisetlanguage#1#2#3{%
|
||||
% do not set the language if the name is undefined in the current TeX.
|
||||
\expandafter\ifx\csname lang@#1\endcsname \relax
|
||||
\message{no patterns for #1}%
|
||||
\else
|
||||
\global\language = \csname lang@#1\endcsname
|
||||
\fi
|
||||
% but there is no harm in adjusting the hyphenmin values regardless.
|
||||
\global\lefthyphenmin = #2\relax
|
||||
\global\righthyphenmin = #3\relax
|
||||
}
|
||||
|
||||
% Helpers for encodings.
|
||||
% Set the catcode of characters 128 through 255 to the specified number.
|
||||
%
|
||||
\def\setnonasciicharscatcode#1{%
|
||||
@@ -7793,7 +8095,7 @@ should work if nowhere else does.}
|
||||
\setnonasciicharscatcode\active
|
||||
\lattwochardefs
|
||||
%
|
||||
\else \ifx \declaredencoding \latone
|
||||
\else \ifx \declaredencoding \latone
|
||||
\setnonasciicharscatcode\active
|
||||
\latonechardefs
|
||||
%
|
||||
@@ -7805,7 +8107,7 @@ should work if nowhere else does.}
|
||||
\setnonasciicharscatcode\active
|
||||
\utfeightchardefs
|
||||
%
|
||||
\else
|
||||
\else
|
||||
\message{Unknown document encoding #1, ignoring.}%
|
||||
%
|
||||
\fi % utfeight
|
||||
@@ -7817,7 +8119,7 @@ should work if nowhere else does.}
|
||||
|
||||
% A message to be logged when using a character that isn't available
|
||||
% the default font encoding (OT1).
|
||||
%
|
||||
%
|
||||
\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}}
|
||||
|
||||
% Take account of \c (plain) vs. \, (Texinfo) difference.
|
||||
@@ -7830,21 +8132,21 @@ should work if nowhere else does.}
|
||||
%
|
||||
% Latin1 (ISO-8859-1) character definitions.
|
||||
\def\latonechardefs{%
|
||||
\gdef^^a0{~}
|
||||
\gdef^^a0{~}
|
||||
\gdef^^a1{\exclamdown}
|
||||
\gdef^^a2{\missingcharmsg{CENT SIGN}}
|
||||
\gdef^^a2{\missingcharmsg{CENT SIGN}}
|
||||
\gdef^^a3{{\pounds}}
|
||||
\gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
|
||||
\gdef^^a5{\missingcharmsg{YEN SIGN}}
|
||||
\gdef^^a6{\missingcharmsg{BROKEN BAR}}
|
||||
\gdef^^a6{\missingcharmsg{BROKEN BAR}}
|
||||
\gdef^^a7{\S}
|
||||
\gdef^^a8{\"{}}
|
||||
\gdef^^a9{\copyright}
|
||||
\gdef^^a8{\"{}}
|
||||
\gdef^^a9{\copyright}
|
||||
\gdef^^aa{\ordf}
|
||||
\gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}}
|
||||
\gdef^^ab{\guillemetleft}
|
||||
\gdef^^ac{$\lnot$}
|
||||
\gdef^^ad{\-}
|
||||
\gdef^^ae{\registeredsymbol}
|
||||
\gdef^^ad{\-}
|
||||
\gdef^^ae{\registeredsymbol}
|
||||
\gdef^^af{\={}}
|
||||
%
|
||||
\gdef^^b0{\textdegree}
|
||||
@@ -7860,7 +8162,7 @@ should work if nowhere else does.}
|
||||
\gdef^^b9{$^1$}
|
||||
\gdef^^ba{\ordm}
|
||||
%
|
||||
\gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}}
|
||||
\gdef^^bb{\guilletright}
|
||||
\gdef^^bc{$1\over4$}
|
||||
\gdef^^bd{$1\over2$}
|
||||
\gdef^^be{$3\over4$}
|
||||
@@ -7871,7 +8173,7 @@ should work if nowhere else does.}
|
||||
\gdef^^c2{\^A}
|
||||
\gdef^^c3{\~A}
|
||||
\gdef^^c4{\"A}
|
||||
\gdef^^c5{\ringaccent A}
|
||||
\gdef^^c5{\ringaccent A}
|
||||
\gdef^^c6{\AE}
|
||||
\gdef^^c7{\cedilla C}
|
||||
\gdef^^c8{\`E}
|
||||
@@ -7883,7 +8185,7 @@ should work if nowhere else does.}
|
||||
\gdef^^ce{\^I}
|
||||
\gdef^^cf{\"I}
|
||||
%
|
||||
\gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}}
|
||||
\gdef^^d0{\DH}
|
||||
\gdef^^d1{\~N}
|
||||
\gdef^^d2{\`O}
|
||||
\gdef^^d3{\'O}
|
||||
@@ -7897,7 +8199,7 @@ should work if nowhere else does.}
|
||||
\gdef^^db{\^U}
|
||||
\gdef^^dc{\"U}
|
||||
\gdef^^dd{\'Y}
|
||||
\gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}}
|
||||
\gdef^^de{\TH}
|
||||
\gdef^^df{\ss}
|
||||
%
|
||||
\gdef^^e0{\`a}
|
||||
@@ -7917,7 +8219,7 @@ should work if nowhere else does.}
|
||||
\gdef^^ee{\^{\dotless i}}
|
||||
\gdef^^ef{\"{\dotless i}}
|
||||
%
|
||||
\gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}}
|
||||
\gdef^^f0{\dh}
|
||||
\gdef^^f1{\~n}
|
||||
\gdef^^f2{\`o}
|
||||
\gdef^^f3{\'o}
|
||||
@@ -7931,7 +8233,7 @@ should work if nowhere else does.}
|
||||
\gdef^^fb{\^u}
|
||||
\gdef^^fc{\"u}
|
||||
\gdef^^fd{\'y}
|
||||
\gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}}
|
||||
\gdef^^fe{\th}
|
||||
\gdef^^ff{\"y}
|
||||
}
|
||||
|
||||
@@ -7953,7 +8255,7 @@ should work if nowhere else does.}
|
||||
% Latin2 (ISO-8859-2) character definitions.
|
||||
\def\lattwochardefs{%
|
||||
\gdef^^a0{~}
|
||||
\gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}}
|
||||
\gdef^^a1{\ogonek{A}}
|
||||
\gdef^^a2{\u{}}
|
||||
\gdef^^a3{\L}
|
||||
\gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
|
||||
@@ -7970,8 +8272,8 @@ should work if nowhere else does.}
|
||||
\gdef^^af{\dotaccent Z}
|
||||
%
|
||||
\gdef^^b0{\textdegree}
|
||||
\gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}}
|
||||
\gdef^^b2{\missingcharmsg{OGONEK}}
|
||||
\gdef^^b1{\ogonek{a}}
|
||||
\gdef^^b2{\ogonek{ }}
|
||||
\gdef^^b3{\l}
|
||||
\gdef^^b4{\'{}}
|
||||
\gdef^^b5{\v l}
|
||||
@@ -7996,14 +8298,14 @@ should work if nowhere else does.}
|
||||
\gdef^^c7{\cedilla C}
|
||||
\gdef^^c8{\v C}
|
||||
\gdef^^c9{\'E}
|
||||
\gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}}
|
||||
\gdef^^ca{\ogonek{E}}
|
||||
\gdef^^cb{\"E}
|
||||
\gdef^^cc{\v E}
|
||||
\gdef^^cd{\'I}
|
||||
\gdef^^ce{\^I}
|
||||
\gdef^^cf{\v D}
|
||||
%
|
||||
\gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}}
|
||||
\gdef^^d0{\DH}
|
||||
\gdef^^d1{\'N}
|
||||
\gdef^^d2{\v N}
|
||||
\gdef^^d3{\'O}
|
||||
@@ -8012,7 +8314,7 @@ should work if nowhere else does.}
|
||||
\gdef^^d6{\"O}
|
||||
\gdef^^d7{$\times$}
|
||||
\gdef^^d8{\v R}
|
||||
\gdef^^d9{\ringaccent U}
|
||||
\gdef^^d9{\ringaccent U}
|
||||
\gdef^^da{\'U}
|
||||
\gdef^^db{\H U}
|
||||
\gdef^^dc{\"U}
|
||||
@@ -8030,14 +8332,14 @@ should work if nowhere else does.}
|
||||
\gdef^^e7{\cedilla c}
|
||||
\gdef^^e8{\v c}
|
||||
\gdef^^e9{\'e}
|
||||
\gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}}
|
||||
\gdef^^ea{\ogonek{e}}
|
||||
\gdef^^eb{\"e}
|
||||
\gdef^^ec{\v e}
|
||||
\gdef^^ed{\'\i}
|
||||
\gdef^^ee{\^\i}
|
||||
\gdef^^ef{\v d}
|
||||
%
|
||||
\gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}}
|
||||
\gdef^^f0{\dh}
|
||||
\gdef^^f1{\'n}
|
||||
\gdef^^f2{\v n}
|
||||
\gdef^^f3{\'o}
|
||||
@@ -8056,11 +8358,11 @@ should work if nowhere else does.}
|
||||
}
|
||||
|
||||
% UTF-8 character definitions.
|
||||
%
|
||||
%
|
||||
% This code to support UTF-8 is based on LaTeX's utf8.def, with some
|
||||
% changes for Texinfo conventions. It is included here under the GPL by
|
||||
% permission from Frank Mittelbach and the LaTeX team.
|
||||
%
|
||||
%
|
||||
\newcount\countUTFx
|
||||
\newcount\countUTFy
|
||||
\newcount\countUTFz
|
||||
@@ -8210,6 +8512,7 @@ should work if nowhere else does.}
|
||||
\DeclareUnicodeCharacter{00CE}{\^I}
|
||||
\DeclareUnicodeCharacter{00CF}{\"I}
|
||||
|
||||
\DeclareUnicodeCharacter{00D0}{\DH}
|
||||
\DeclareUnicodeCharacter{00D1}{\~N}
|
||||
\DeclareUnicodeCharacter{00D2}{\`O}
|
||||
\DeclareUnicodeCharacter{00D3}{\'O}
|
||||
@@ -8222,6 +8525,7 @@ should work if nowhere else does.}
|
||||
\DeclareUnicodeCharacter{00DB}{\^U}
|
||||
\DeclareUnicodeCharacter{00DC}{\"U}
|
||||
\DeclareUnicodeCharacter{00DD}{\'Y}
|
||||
\DeclareUnicodeCharacter{00DE}{\TH}
|
||||
\DeclareUnicodeCharacter{00DF}{\ss}
|
||||
|
||||
\DeclareUnicodeCharacter{00E0}{\`a}
|
||||
@@ -8241,6 +8545,7 @@ should work if nowhere else does.}
|
||||
\DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}
|
||||
\DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}
|
||||
|
||||
\DeclareUnicodeCharacter{00F0}{\dh}
|
||||
\DeclareUnicodeCharacter{00F1}{\~n}
|
||||
\DeclareUnicodeCharacter{00F2}{\`o}
|
||||
\DeclareUnicodeCharacter{00F3}{\'o}
|
||||
@@ -8253,16 +8558,21 @@ should work if nowhere else does.}
|
||||
\DeclareUnicodeCharacter{00FB}{\^u}
|
||||
\DeclareUnicodeCharacter{00FC}{\"u}
|
||||
\DeclareUnicodeCharacter{00FD}{\'y}
|
||||
\DeclareUnicodeCharacter{00FE}{\th}
|
||||
\DeclareUnicodeCharacter{00FF}{\"y}
|
||||
|
||||
\DeclareUnicodeCharacter{0100}{\=A}
|
||||
\DeclareUnicodeCharacter{0101}{\=a}
|
||||
\DeclareUnicodeCharacter{0102}{\u{A}}
|
||||
\DeclareUnicodeCharacter{0103}{\u{a}}
|
||||
\DeclareUnicodeCharacter{0104}{\ogonek{A}}
|
||||
\DeclareUnicodeCharacter{0105}{\ogonek{a}}
|
||||
\DeclareUnicodeCharacter{0106}{\'C}
|
||||
\DeclareUnicodeCharacter{0107}{\'c}
|
||||
\DeclareUnicodeCharacter{0108}{\^C}
|
||||
\DeclareUnicodeCharacter{0109}{\^c}
|
||||
\DeclareUnicodeCharacter{0118}{\ogonek{E}}
|
||||
\DeclareUnicodeCharacter{0119}{\ogonek{e}}
|
||||
\DeclareUnicodeCharacter{010A}{\dotaccent{C}}
|
||||
\DeclareUnicodeCharacter{010B}{\dotaccent{c}}
|
||||
\DeclareUnicodeCharacter{010C}{\v{C}}
|
||||
@@ -8410,6 +8720,8 @@ should work if nowhere else does.}
|
||||
\DeclareUnicodeCharacter{0233}{\=y}
|
||||
\DeclareUnicodeCharacter{0237}{\dotless{j}}
|
||||
|
||||
\DeclareUnicodeCharacter{02DB}{\ogonek{ }}
|
||||
|
||||
\DeclareUnicodeCharacter{1E02}{\dotaccent{B}}
|
||||
\DeclareUnicodeCharacter{1E03}{\dotaccent{b}}
|
||||
\DeclareUnicodeCharacter{1E04}{\udotaccent{B}}
|
||||
@@ -8791,6 +9103,9 @@ should work if nowhere else does.}
|
||||
|
||||
\message{and turning on texinfo input format.}
|
||||
|
||||
% DEL is a comment character, in case @c does not suffice.
|
||||
\catcode`\^^? = 14
|
||||
|
||||
% Define macros to output various characters with catcode for normal text.
|
||||
\catcode`\"=\other
|
||||
\catcode`\~=\other
|
||||
@@ -8900,7 +9215,7 @@ should work if nowhere else does.}
|
||||
|
||||
% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
|
||||
% the literal character `\'.
|
||||
%
|
||||
%
|
||||
@def@normalturnoffactive{%
|
||||
@let\=@normalbackslash
|
||||
@let"=@normaldoublequote
|
||||
@@ -8912,6 +9227,8 @@ should work if nowhere else does.}
|
||||
@let>=@normalgreater
|
||||
@let+=@normalplus
|
||||
@let$=@normaldollar %$ font-lock fix
|
||||
@markupsetuplqdefault
|
||||
@markupsetuprqdefault
|
||||
@unsepspaces
|
||||
}
|
||||
|
||||
@@ -8946,9 +9263,21 @@ should work if nowhere else does.}
|
||||
@catcode`@# = @other
|
||||
@catcode`@% = @other
|
||||
|
||||
@c Finally, make ` and ' active, so that txicodequoteundirected and
|
||||
@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we
|
||||
@c don't make ` and ' active, @code will not get them as active chars.
|
||||
@c Do this last of all since we use ` in the previous @catcode assignments.
|
||||
@catcode`@'=@active
|
||||
@catcode`@`=@active
|
||||
@markupsetuplqdefault
|
||||
@markupsetuprqdefault
|
||||
|
||||
@c Gnulib now utterly and painfully insists on no trailing whitespace.
|
||||
@c So we have to nuke it.
|
||||
|
||||
@c Local variables:
|
||||
@c eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
@c eval: (add-hook 'write-file-hooks 'nuke-trailing-whitespace)
|
||||
@c page-delimiter: "^\\\\message"
|
||||
@c time-stamp-start: "def\\\\texinfoversion{"
|
||||
@c time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
|
||||
Reference in New Issue
Block a user