summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ltxmisc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-11-04 18:05:23 +0000
committerKarl Berry <karl@freefriends.org>2010-11-04 18:05:23 +0000
commit6e7ee46711fac1d368c51cff0acd1fa1268069fb (patch)
tree764407211d3a5ae15339c598c49db609c0d0ac13 /Master/texmf-dist/tex/latex/ltxmisc
parent44b6547a1fd727060c83f23c3c2e05dfca76ad10 (diff)
sphack own package (1nov10)
git-svn-id: svn://tug.org/texlive/trunk@20313 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ltxmisc')
-rw-r--r--Master/texmf-dist/tex/latex/ltxmisc/sphack.sty113
1 files changed, 0 insertions, 113 deletions
diff --git a/Master/texmf-dist/tex/latex/ltxmisc/sphack.sty b/Master/texmf-dist/tex/latex/ltxmisc/sphack.sty
deleted file mode 100644
index e0bc115d34d..00000000000
--- a/Master/texmf-dist/tex/latex/ltxmisc/sphack.sty
+++ /dev/null
@@ -1,113 +0,0 @@
-% SPHACK.STY
-% Oliver Pretzel (o.pretzel@ic.ac.uk)
-% Created 22 May 1998, Version 1.0 22May 1998
-% Modified space hacks for LateX (209 and 2e)
-% (to prevent \label, \index and similar commands
-% affecting spacing in vertical mode).
-%
-%
-% DOCUMENTATION at end of file
-%
-% ALL RIGHTS RESERVED
-%
-% This file may be distributed freely.
-% It may be modified for local use (please inform me of such modifications)
-% Modified versions may only be distributed if
-% 1. The name is changed
-% 2. A statement acknowledging the modification heads the file.
-%
-% DO NOT USE \neq in this file
-\chardef\neq\the\catcode`\@
-\makeatletter\@makeother\"
-%
-
-\typeout{`sphack.sty <1.0>}
-%*************************
-
-\ifx\@savdim\undefined\let\@savdim\@savsk\newskip\@savsk\fi
-\def\@bsphack{\relax\ifmmode\else\@savsk\lastskip\@savsf\ifhmode\spacefactor
- \else\lastpenalty\@savdim\prevdepth\removelastskip\fi\fi}
-\def\@esphack{\relax\ifmmode\else\ifvmode\penalty\if@nobreak\@M\else
- \if@inlabel\@M\else\if@noskipsec\@M\else\@savsf\fi\fi\fi
- \prevdepth\@savdim\vskip\@savsk\else
- \spacefactor\@savsf\ifdim\@savsk>\z@\ignorespaces\fi\fi\fi}
-\ifx\LateXe\undefined
-\def\@Esphack{\@esphack\ifhmode\ifdim\@savsk>\z@
- \global\@ignoretrue\ignorespaces\fi\fi}
-\else
-\def\@Esphack{\@esphack\ifhmode\ifdim\@savsk>\z@
- \@ignoretrue\ignorespaces\fi\fi}
-\fi
-
-% This line must be last line of code
-\catcode`\@\neq\let\neq\ne\endinput
-
-*******************
- DOCUMENTATION
-*******************
-Standard LaTeX uses the macros \@bsphack, \@esphack, and \@Esphack, for
-inserts into the text that should be invisible. So, for instance a space
-before and after a \label command should not result in two spaces in the
-output.
-
-LaTeX deals with this as follows
- in maths mode do nothing,
- in horizontal mode restore the space factor,
- if the last thing on the list was a space
- add \ignorespaces (and (\global)\ignoretrue at the end of an environment),
- in vertical mode do nothing.
-
-Doing nothing in maths mode is (nearly) harmless because maths mode does its
-own spacing (and anyway hidden commands will usually appear only at the start
-or end of maths).
-
-Doing nothing in vertical mode is not harmless. Many invisible commands such
-as \index may insert delayed write commands into TeX's output (so that page
-numbers are correctly calculated). These commands can cause vertical space to
-accumulate, and may cause a page break; \index is a particular problem in
-LaTeX209 since it inserts a delayed write if an index is actually being built
-(\makeindex in preamble) but does nothing otherwise. That can change the page
-breaks in a document.
-
-It is not possible to solve this problem completely in LaTeX because TeX does
-not remove things from the main vertical list once they have been
-contributed. So LaTeX2e makes \index insert something into the vertical
-list whether the index is being written or not. That has the virtue of
-consistancy, but is far from ideal. For instance, an \index immediately after
-an \item can cause the page to break between the item label and content.
-
-The code above remedies this fault and other common anomalies so that commands
-are nearly always invisible in vertical mode as well. It works as follows:
-
-Rename LaTeX's dimension \@savsk to \@savdim set a new skip \@savsk
- (because we need a true skip and a dimension in vertical mode)
-
-\@bsphack (at start of invisible command)
-in hmode (non-math)
- store spacefactor in \@savsf
- store lastskip in \@savsk (used to test whether space already present)
-in vmode
- store lastpenalty in \@savsf
- store lastskip in \@savsk (used for movement)
- store previous depth in \@savdim
- skip back \lastskip
-
-\@esphack (at end of invisible command)
-in hmode (non-math)
- set spacefactor = \@savsf
- if \@savsk > \z@ \ignorespaces
-in vmode
- if in a label, or just after section heading, or if \@nobreak
- insert infinite penalty, (to prevent a page break)
- else insert penalty \@savsf
- endif
- set previous depth = \@savdim
- skip \@savsk
-
-Just as in standard LateX, \@Esphack is \@esphack + (\global)\@ignoretrue.
-
-It is not necessary to change any of the label or index macros to fit with
-this code.
-
-End of sphack.sty
-*******************