From a0b9fe01b11de01686c8e02891c57fff5f9a96f1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 28 Feb 2011 23:27:11 +0000 Subject: fwlw (28feb11) git-svn-id: svn://tug.org/texlive/trunk@21548 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/fwlw/README | 12 +++++ Master/texmf-dist/doc/latex/fwlw/fwlw.pdf | Bin 152390 -> 40435 bytes Master/texmf-dist/doc/latex/fwlw/fwlw.tex | 87 +++++++++++++++--------------- 3 files changed, 54 insertions(+), 45 deletions(-) create mode 100755 Master/texmf-dist/doc/latex/fwlw/README (limited to 'Master/texmf-dist/doc/latex/fwlw') diff --git a/Master/texmf-dist/doc/latex/fwlw/README b/Master/texmf-dist/doc/latex/fwlw/README new file mode 100755 index 00000000000..32201ac627c --- /dev/null +++ b/Master/texmf-dist/doc/latex/fwlw/README @@ -0,0 +1,12 @@ +F W L W . S T Y (First Word, Last Word) +Donald Arseneau (1993, 1995) + + The fwlw package provides a mechanism to determine the first and + last words on the current page, plus the first word on the *next* + page. These can be used in head-lines or foot-lines. The `words' + you see may not be real words, but any unbreakable object. + + Copyright (C) 1993,1995 by Donald Arseneau + Vancouver, Canada, email asnd@triumf.ca + This software package may be freely used, transmitted, reproduced, + or modified provided that this notice is left intact. diff --git a/Master/texmf-dist/doc/latex/fwlw/fwlw.pdf b/Master/texmf-dist/doc/latex/fwlw/fwlw.pdf index 84d4c7ace4c..512e6d032b8 100644 Binary files a/Master/texmf-dist/doc/latex/fwlw/fwlw.pdf and b/Master/texmf-dist/doc/latex/fwlw/fwlw.pdf differ diff --git a/Master/texmf-dist/doc/latex/fwlw/fwlw.tex b/Master/texmf-dist/doc/latex/fwlw/fwlw.tex index be27e0246a7..674562d086f 100644 --- a/Master/texmf-dist/doc/latex/fwlw/fwlw.tex +++ b/Master/texmf-dist/doc/latex/fwlw/fwlw.tex @@ -1,14 +1,7 @@ \documentclass[pagesize=auto]{scrartcl} \usepackage{fixltx2e} -\usepackage{etex} -\usepackage{xspace} -\usepackage{lmodern} -\usepackage[T1]{fontenc} -\usepackage{textcomp} -\usepackage{booktabs} -\usepackage{microtype} -\usepackage[unicode=true]{hyperref} +\setlength\parskip{3pt} \newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}} \newcommand*{\pkg}[1]{\textsf{#1}} @@ -22,13 +15,12 @@ \newcommand*{\meta}[1]{\textlangle\textsl{#1}\textrangle} \newcommand*{\marg}[1]{\texttt{\{}\meta{#1}\texttt{\}}} \newcommand*{\oarg}[1]{\texttt{[}\meta{#1}\texttt{]}} -\newcommand*{\BibTeX}{Bib\kern-0.08em\TeX\@\xspace} -\newcommand*{\BigTeX}{Big\kern-0.08em\TeX\@\xspace} - -\pdfstringdefDisableCommands{% - \def\BibTeX{BibTeX\xspace}% - \def\BigTeX{BigTeX\space}% -} +\newcommand*{\widevisiblespace}{% + \vrule height 2pt depth 0pt width 0.2pt + \kern -.1pt + \vrule height 0.2pt depth 0pt width 15pt + \kern -.1pt + \vrule height 2pt depth 0pt width 0.2pt} \addtokomafont{title}{\rmfamily} @@ -43,48 +35,53 @@ \maketitle \noindent -Modifications to \LaTeX\ output mechanism to determine the first and +The fwlw package provides a mechanism to determine the first and last words on the current page, plus the first word on the \emph{next} -page. These can be used in head-lines or foot-lines. The `words' -you see may not be real words, but any unbreakable object. - -Such labelling does not make sense when \cmd{\chapter} generates a page -break, so the last page before a \cmd{\chapter} (or any \cmd{\clearpage}) gets -a blank ``next word'', and the first page of the chapter gets a blank -``first word''. There is a problem when footnotes split: the ``next word'' -is blank. - -Two pagestyles are defined to print these words: \verb+\pagestyle{NextWordFoot}+ -which helps you read ahead to the word on the next page; and \verb+\pagestyle{fwlwhead}+ -which is like the headers in a lexicon. Or you can use the -words in your own page-style\ldots +page. (So perhaps it should have been named `fwlwnw'). These words +can be used in head-lines or foot-lines. The `words' you see may +not be real words, but any unbreakable object. -The words are available in the box registers: +Two pagestyles are defined to print these words: +\verb+\pagestyle{NextWordFoot}+ which helps you read ahead to the +word on the next page; and \verb+\pagestyle{fwlwhead}+ which is like +the headers in a lexicon. Or you can use the +words in your own page-style. The words are made available in the box +registers: % -\begin{labeling}[\hspace{\labelsep}--]{\cmd{\FirstWordBox}} -\item[\cmd{\FirstWordBox}] first word on this page -\item[\cmd{\NextWordBox}] first word on next page -\item[\cmd{\LastWordBox}] last word on this page +\begin{labeling}[\hspace{\labelsep}--]{\quad\cmd{\FirstWordBox}} +\setlength\itemsep{0pt} +\item[\quad\cmd{\FirstWordBox}] first word on this page +\item[\quad\cmd{\NextWordBox}] first word on next page +\item[\quad\cmd{\LastWordBox}] last word on this page \end{labeling} % -Use them in your header lines like: \verb+\copy\LastWordBox+. +Use them in your header lines like: \verb+\usebox\LastWordBox+. -Note that `words' may be things like: +Such labelling does not make sense when \cmd{\chapter} generates a page +break, so the last page before a \cmd{\chapter} (or any \cmd{\clearpage}) gets +a blank ``next word'', and the first page of the chapter gets a blank +``first word''. The fwlwhead page style produces blank headers on +float pages. + +Note that `words' are any unsplittable unit and may be things like: % \begin{itemize} -\item \verb+two~words+ -\item \verb+[ ]Word+ (\verb+[ ]+ represents a parindent box) +\setlength\itemsep{0pt} +\item two\textvisiblespace words (\texttt{two}% + \lower 2pt\hbox{\verb+~+}\texttt{words}) + with unbreakable space between them +\item \widevisiblespace Word (where \widevisiblespace\ represents a + paragraph indent) \item a whole displayed equation \item the first column of an aligned equation +\item a list item label \item anomalously blank, if there are \cmd{\write}s or split footnotes etc. -\item partial words like \verb+par-+ or \verb+-tial+. +\item blank for the first word of the document (because of a \cmd{\write}) +\item partial words like `par-' or `-tial' due to hyphenation. \end{itemize} +% +In short, a wide range of irregularities will cause non-words to +be captured, or nothing at all. -An entirely different approach is possible using \cmd{\mark} and \cmd{\obeyspaces}, -and would have different problems. The problems with catcode changes -may be more or less serious for your particular application. You are -welcome to write a package using that method. The best solution would -involve \cmd{\mark} and an input filter program to -`\verb+\w{tag} \w{each} \w{word}, \w{in} \w{some} \w{way}+.' \end{document} -- cgit v1.2.3