diff options
Diffstat (limited to 'Master/texmf-doc/doc/english/FAQ-en')
410 files changed, 55969 insertions, 0 deletions
diff --git a/Master/texmf-doc/doc/english/FAQ-en/00readme b/Master/texmf-doc/doc/english/FAQ-en/00readme new file mode 100644 index 00000000000..87b8967515e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/00readme @@ -0,0 +1,59 @@ +If you believe you need to process this FAQ, stop; it can be tedious. + +1) Do you have a 300dpi or 600dpi PostScript printer? -- if so, try + newfaq.300ps or newfaq.ps (these were made for CanonCX and + Laserjet4 engines, respectively) +2) Do you need PostScript output at some other resolution? -- if so, + process newfaq.dvi (you'll need the font set required by psnfss, at + least for Times, Helvetica and Symbol fonts; you'll also need the + logo* fonts -- the mostly likely oddity is logod10, the .mf for + which is to be found on CTAN in tex-archive in + tex-archive/systems/knuth/local/lib/logod10.mf) +3) Do you need non-PostScript output? -- if so, process newfaq-cm.dvi + (this only needs the logo* fonts) +4) Do you use (North American) letter paper? -- if so, modify the + above recommendations to use letterfaq instead of newfaq. + +I've not dissuaded you? + +Well, you need a production LaTeX2e (i.e., at the very least +1994/06/01, though the development work is done using the latest +version of LaTeX2e (1995/12/01 at the time of writing), and no +guarantees are offered that the code will process using anything +earlier), and you should process newfaq.tex (for A4 paper) or +letterfaq.tex (for letter paper). You should download every file in +the CTAN directory (except things like ChangeLog [boring] and Makefile +[mine: may not even be there, but not intended for your use]) +---- +Package and class use (breathe deep) + +newfaq.tex and letterfaq.tex use class faq, which passes all its +options to article.cls, and then loads packages faq (in the CTAN +directory) and multicol (part of the LaTeX2e tools set) + +faq.sty loads + + times and pifont (from the PSNFSS package) if the default faqfont.cfg + (in the CTAN directory) isn't there + mflogo (which implies loading Ulogo.fd) (but both of those are in the + CTAN directory) + texnames (which is in the CTAN directory) + ifthen (from the 2e distribution) + comment (from tex-archive/macros/latex209/contrib/misc/) + +newfaq.tex and letterfaq.tex also load + + faqbody.tex the questions + +The fonts I have (over and above the default) are logod10 at magsteps +0, 1 and 2 (thus I have a logod10.300pk,360pk,432pk for making the .ps +file in the CTAN directory, and .600pk,720pk and 864pk for use on the +LJ4 printers here). The source for logod10 is in +tex-archive/systems/knuth/local/lib (it uses logo.mf, which should be +in your distribution). +---- +Robin Fairbairns +UKTUG honorary victim, + production of the new FAQ +rf@cl.cam.ac.uk (please address comments on the document, or on + anything related, to me) diff --git a/Master/texmf-doc/doc/english/FAQ-en/CHANGES-3.11 b/Master/texmf-doc/doc/english/FAQ-en/CHANGES-3.11 new file mode 100644 index 00000000000..d1961422c2b --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/CHANGES-3.11 @@ -0,0 +1,73 @@ +Changes in version 3.11 + +Documentation and help: + - added another example of university department help pages + - link to Herbert Voss's excellent stuff + - remove reference to bausum's plain tex list (since it's no longer available) + - remove reference to the ltx-2 latex 2.09 equivalent to bausum's list + - more entries in list of mf/mp tutorials + - link to Matsusaka University Japanese with Omega howto + +Graphics: + - mention mptopdf in "mp output in ghostscript" + +Document structure (and similar places): + - list places where memoir/KOMA-script classes can help answer questions + (thanks to Peter Wilson and Markus Kohm for extensive support here) + - change back to recommending caption rather than caption2 + - improvements and extensions to + +Installing (La)TeX files: + - changes for new fptex release + +Tables of contents and indexes: + - correct egregious error in example of use of multind package; other + developments on that answer + +Creating bibliographies: + - correct @preamble defining \noopsort + +New or revised packages (or just ones never before mentioned): + - caption (no extra "c" or "2") revision to supersede caption2 + - capt-of + - dblfloatfix for float* positioning + - ednotes + - eqparbox + - ledmac + - pbox + - pict2e + - tabulary for fixed-width tables + - varwidth + +New answers: +section{Installing (La)TeX files}: + label privinst - installing files in a private TEXMF tree + label instt1font - installing type 1 fonts (the ones not already covered) +section{Bits and pieces of TeX}: + label resolns - what's meant by printer resolution statements and how they + affect tex and friends + label fontname - the berry font naming scheme +section{Graphics}: + label dvipdfmgraphics - to go with dvipsgraphics and pdftexgraphics +subsection{Tables of contents and indexes}: + label minitoc - tables of contents per chapter +subsection{Common errors}: + label tabacc - accents in tabbing environments + label alreadydef - "command already defined" errors from packages +subsection{Common misunderstandings}: + label linespread - understanding \linespread + label baselinepar - \baselineskip changes within a paragraph +subsection{Odds and ends}: + label varwidth - "variable width \parboxes" +subsection{Creating bibliographies}: + label bibtranscinit - transcribed initials in bibliographies +subsection{Creating citations}: + label sortbib - why isn't my thebibliography environment sorted? +section{The joy of TeX errors}: + label inputlev - input too deeply nested + label hyperdupdest - duplicated destinations in pdftex, refres to + label pdfpagelabels +section{Hypertext and PDF}: + label pdfpagelabels - commonest way of avoiding duplicated destinations +subsection{Why shouldn't I?}: + label 2letterfontcmd - what's wrong with \tt, \bf, etc diff --git a/Master/texmf-doc/doc/english/FAQ-en/ChangeLog b/Master/texmf-doc/doc/english/FAQ-en/ChangeLog new file mode 100644 index 00000000000..c177eafa3cc --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/ChangeLog @@ -0,0 +1,10809 @@ +2005-07-07 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex: v3.14a, today + (subsection{Document management}): boondoggle in q-rcs html output + + * faqbody.tex: v3.14, today + New version installed + + * faqbody.tex (section{Introduction}): mention static .zip files in + html-only bit about retrieving directories + (section{Acquiring the Software}): remove exact location names for + individual ctans, in q-archives + (section{Acquiring the Software}): rewrite the stuff about searching in + q-findfiles + +2005-07-05 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Page layout}): add fancyhdr commands (to do + empty plain style) to q-ps@empty + + * texfaq2html-beta,texfaq2file: as texfaq2html + + * texfaq2html: switch .tar.gz and .zip in retrieval + +2005-07-04 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common errors}): add q-wrongpn and + q-breaklinks from add-general + (preamble) v3.13b.5, today + (subsection{Footnotes}): rewrite q-ftncapt, aiming for clarity (hah!) + (section{Acquiring the Software}): remove mention of ftpmail and finger + of ctan user + + * dirctan.tex: add breakurl + + * add-general.tex (subsection{Why does it do that?}): mention breakurl + in q-breaklinks -- looks as if this makes the answer usable... + + * faqbody.tex (subsection{Tables, figures and diagrams}): correct + blatant error in q-tabcellalign (spotted by ulrike fischer) + (section{Introduction}): hack the note about the pdf version slightly, + add ulrike fischer to list of contributors + +2005-07-01 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): add ref to + http://www.latex-einfuehrung.de/ in q-minxampl + +2005-06-29 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating bibliographies}): correct advice on + over-long urls and url.sty in q-citeurl + +2005-06-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: v3.13b.4, tonight + + * faqbody.tex (section{Introduction}): add chris walker + (section{Bits and pieces of TeX}): \Qref* in q-dtx + (subsection{Tables of contents and indexes}): \Qref* in q-tocloft + + * dirctan.tex: add revtex(!) + + * faqbody.tex (subsection{Creating citations}): note that mcite doesn't + play with revtex, in q-mcite + +2005-06-09 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables, figures and diagrams}): mention use + of pict2e in q-slashbox + +2005-06-07 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{You're still stuck?}): slight editorial in q-bug + + * add-tutorial.tex: bunch of work, throughout, which seems not to have + been recorded or even copied to backed-up space before now... + + * faqbody.tex (section{Installing (La)TeX files}): mention .map and + .enc trees, and alternative inputs such as .sto, .clo and .cfg in + q-wherefiles + + * filectan.tex: add nextpage + + * faqbody.tex (subsection{Document structure}): mention nextpage + package in q-reallyblank + +2005-06-02 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{Graphics}): mention pspicture as a superseded + package in q-drawing + (section{Documentation and Help}): slight iteration of q-pkgdoc + +2005-05-23 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{Why shouldn't I?}): mention vertical spacing + inconsistencies in q-dolldoll + +2005-05-19 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating bibliographies}): add philip + ratcliffe's fake-accent solution to q-bibtranscinit + (preamble): v3.13b.3 (ok, i don't know what i'm doing here...), today + (section{Introduction}): add philip ratcliffe to thanks list + + * add-general.tex (subsection{Why does it do that?}): add q-wrongpn + + * faqbody.tex (subsection{LaTeX macro tools and techniques}): renamed + subsection, moved q-oarglikesect and q-twooptarg from "latex macros" + (subsection{LaTeX macro tools and techniques}): change name to "more + than one opt arg" + (subsection{LaTeX macro tools and techniques}): new q-cmdstar, from + add-general + +2005-05-18 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): add q-minxampl + from add-tutorial + (section{Documentation and Help}): ref to q-minxampl from q-askquestion + (section{You're still stuck?}): ref to q-minxampl from q-latexbug + +2005-05-17 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{LaTeX macro tools}): add q-plninltx (from + add-general), and split this of from the more simple stuff (now + subsection "latex macro techniques"); other ones in here are + q-atsigns, q-protect, q-edef, q-ltxcmds and q-ltxabbrv + + * faq.sty: remove spurious guff at start of ctanrefs env (was solemnly + forcing horizontal mode, thus confusing \addvspace at start of list) + + * add-general.tex (subsection{Creating citations}): add q-formbiblabel + +2005-04-29 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * dirctan.tex: add splitbib + + * faqbody.tex (section{References from articles}): mention splitbib in + q-multbib + +2005-04-28 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * dirctan.tex: add placeins as a directory + + * filectan.tex: change beginlatex to its latest incarnation + remove placeins + +2005-04-26 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faq.sty: make robust a few commands that get to appear in tocs + +2005-04-22 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * texfaq2file: put correct cross question links if -w + + * texfaq2html-gamma: miscellaneous tidies from debugging session + +2005-04-19 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * filectan.tex: add clsguide + + * dirctan.tex: add makedtx + + * faqbody.tex (section{Bits and pieces of TeX}): mention makedtx in + q-dtx; list clsguide.pdf in links + +2005-04-17 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Adobe Type1 ("PS") fonts}): add mathdesign to + the list in q-psfchoice + +2005-04-16 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document management}): correct + \csx{listfiles} to \Package{snapshot} (!) as data collection mech for + bundledoc, in q-filesused + +2005-04-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common misunderstandings}): minor editorial + to q-xspace + +2005-04-11 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): remove some text that's + crept in unawares to q-tmupfl + +2005-04-07 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): new q-errparnum + + * faqbody.tex (subsection{"Generic" macros and techniques}): a bit of + desultory macro-usage editing + + * add-general.tex (subsection{LaTeX macro programming}): new q-ltxhash + +2005-03-27 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-tutorial.tex (subsection{Documentation and help}): (changed name + for the subsection) new answer q-minxampl + + * Makefile (PATCH): add add-tutorial (can't we automate this?) + +2005-03-26 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): new q-errmissitem from + add-general + (section{Documentation and Help}): editorials on q-askquestion + + * add-general.tex (subsection{LaTeX macro programming}): minor + editorial to q-plninltx + +2005-03-25 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: correct path to obsolete/support/undump; point + umlaute at the latex package (rather than support/); remove umlaut + +2005-03-24 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-general.tex (subsection{Why shouldn't I?}): new q-newfont + (subsection{LaTeX macro programming}): use \font rather than \newfont + in examples in q-plninltx + +2005-03-23 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{LaTeX macro programming}): lots more + fiddling with q-plninltx, including extending the font stuff + +2005-03-22 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{LaTeX macro programming}): add example of + font encoding confusion arising from \newfont, in q-plninltx + (subsection{LaTeX macro programming}): have narrow/wideversion of one + example in q-cmdstar + +2005-03-21 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): mention javier's + checkend package in q-endingroup + +2005-03-01 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): editorial on + q-errmissitem, plus mention of \mbox, \makebox, \framebox + +2005-02-28 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-general.tex (subsection{Mathematics}): new q-brkinline + + * sanitize-beta.pl (sanitize_line): convert \< (never used) to + \textless, \> (ditto) to \textgreater ... so now i can use the beasts + + * add-general.tex (subsection{The Joy of TeX errors}): mention \section + as another case of misbehaviour in q-errmissitem + +2005-02-27 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faq.sty: rewrite \href (non-hyper version) so as to get quoting + actually right, and not to lose trailing spaces... + + * faqbody.tex (subsection{Typesetting specialities}): mention c2latex + in q-codelist (previously, the program was in ctanrefs only); also add + an actual recommendation for listings, but suggest the others may be + worth considering; add tgrind, sitting with lgrind + (section{Graphics}): rewrite item about mfpic, and add one about pgf, + in q-drawing + +2005-02-25 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): new + q-errmissitem + +2005-02-23 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-tutorial.tex: add a subsection heading (who cares there are 10?) + + * faqbody.tex (subsection{Footnotes}): mention threeparttable in + q-ftncapt (suggestion by don arseneau) + +2005-02-17 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{Current TeX-related projects}): reword etex + description in q-nts + + * add-general.tex (subsection{LaTeX macro programming}): new q-cmdstar + + * sanitize-beta.pl (sanitize_line): add \elatex and \miktex translation + + * faq.sty: add \elatex and \miktex commands + + * faqbody.tex (section{The joy of TeX errors}): elatex as a progname-> + \elatex{} in q-endingroup + +2005-02-17 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (throughout): MiKTeX!!! + +2005-02-15 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{DVI Drivers and Previewers}): xdvi and xdvik are + no longer separate + + * dirctan.tex: delete xet,xdvik,hp2xx311; correct addindex + + * filectan.tex: correct pdftex, latexcount + + * faqbody.tex: v3.13b.1, today + + * filectan.tex: add vf-howto + + * faqbody.tex (section{Bits and pieces of TeX}): mention virtual fonts + howto in q-virtualfonts + +2005-02-09 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faq.sty: minor twiddling with default font loading; + + * faqbody.tex: v3.13b, today + + * texfaq2file: generate labels that go to the modified file names + rather than to the raw label name, in .aux scan + +2005-02-04 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{LaTeX macros}): correct enumii->enumi in one + of the "recipes" in q-labelformat + +2005-02-03 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{Current TeX-related projects}): \qref* for etex + and aleph in q-omega mention of aleph + (subsection{Typesetting specialities}): remove rogue line break in + q-upquote + + * faqfont.cfg.ugm: new: for typesetting with urw garamond + + * faq.sty: require lmodern regardless (for sans fonts) + +2005-01-21 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): correct details for + ctan-ann, and mention mail-archive.com in q-maillists + (section{TeX Systems}): mention tetex mailing list (not -announce or + -pretest...), plus RSS feed, in q-texsystems + +2005-01-16 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Support Packages for TeX}): make clear that + 4spell comes from a package that's now defunct + +2005-01-15 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add pseudocode + + * faqbody.tex (subsection{Typesetting specialities}): mention + pseudocode package in q-algorithms + +2005-01-11 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * filectan.tex: single file ispell (is this supportable?) + + * dirctan.tex: remove ispell + +2005-01-10 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add aspell + + * faqbody.tex (section{Support Packages for TeX}): tidy up reference to + aspell in q-spell, given that it's now on ctan + +2005-01-08 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add svn, svninfo + + * faqbody.tex (subsection{Document management}): add svn and svninfo to + q-rcs + +2005-01-07 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex: v3.13a.1, today + (section{TeX Systems}): update sciword bumf from mail from mabb + (section{Documentation and Help}): typo in q-mfptutorials + (subsection{Particular font families}): typos in both q-uselmfonts and + q-concrete + (section{TeX Systems}): add a link to the y&y mailing list page at the + end of q-commercial + +2005-01-04 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: v3.13a + (subsection{Document management}): correction+more details of extract + package in q-conditional + +2005-01-04 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex: v3.13, today (release) + +2005-01-02 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Symbols, etc.}): add bbm and doublestroke, and + do various editorial changes (including pouring more derision on the + "lazy person's" macros) + + * dirctan.tex: add bbm-macros, doublestroke + +2005-01-01 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Particular font families}): mention that lm + fonts are already in tetex 3.0, and may (at least) be added to miktex + automatically, also bring updmap stuff up to date for miktex + (section{Installing (La)TeX files}): same change in q-instt1font + (section{Installing (La)TeX files}): editorials in q-miktexinst + (section{Installing (La)TeX files}): mention non-standard things like + .cfg and .drv files in q-wherefiles + + * sanitize.pl (sanitize_line): bring up-to-date with -beta + + * sanitize-beta.pl (sanitize_line): add \href* pattern + + * faq.sty: add * and quote detection to \href (non-hyper version; * + simply ignored \ifpdf) + + * faqbody.tex (section{Documentation and Help}): make reference to the + rutgers typography guidelines in q-tutorials + +2004-12-30 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add extract + + * faqbody.tex: v3.13rc2, today + (subsection{Document management}): mention extract.sty in q-conditional + +2004-12-27 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-hammond.tex (subsection{William Hammond's contributions}): more + work on q-sgml2tex* ... i'm bogging down here :-( + + * faqbody.tex (subsection{LaTeX macros}): correct spelling of optparams + in q-twooptarg + +2004-12-26 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Current TeX-related projects}): replacement for + q-mathml from add-hammond (where it was q-mathml*) + (section{Current TeX-related projects}): move all the \URL entries to + body of q-textrace, and add link to fontforge + (subsection{Adobe Type 1 fonts}): remove mathtime, mathtime plus and + lucida; add mathtime pro + (section{TeX Systems}): correct details of personal tex inc from web + +2004-12-25 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-hammond.tex (subsection{William Hammond's contributions}): + mention inkscape in q-mathml*, as a free svg editor + (subsection{William Hammond's contributions}): general other editorials + throughout q-mathml* + +2004-12-24 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add wallpaper + + * faqbody.tex (subsection{Page layout}): add wallpaper package to + q-watermark + +2004-12-22 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex: v3.13rc1, today + + * dirctan.tex: add metatype1 + + * faqbody.tex (section{Current TeX-related projects}): provide + sourceforge link to autotrace and potrace, and talk up mftrace in + q-textrace; also add description of metatype1 and change title of + question to emphasise that it covers a bunch of projects; remove + references to actual fonts in the ctanrefs list + (section{Hypertext and PDF}): make reference to metatype1 via + q-textrace, in q-type1t1 + +2004-12-20 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-tutorial.tex: new file: replacements for q-tutorials + +2004-12-19 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + * add-hammond.tex (subsection{William Hammond's contributions}): yet + more editorials on q-sgml2tex* + +2004-12-17 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-hammond.tex (subsection{William Hammond's contributions}): edit- + orial work in both q-readml* and q-sgml2tex* + + * faqbody.tex (subsection{Document management}): add xcomment with + example of use to q-conditional + +2004-12-16 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * 3.12a/faqbody.tex: v3.12a-p4, today + (subsection{Document management}): correct \includeversion -> + \includecomment in q-conditional (and install) + + * faqbody.tex: v3.12a.9, today + (subsection{Document management}): correct \includeversion -> + \includecomment in q-conditional, and add an example + +2004-12-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Why does it do that?}): couple of typos in + q-marginparside, spotted by vladimir volovich + +2004-12-07 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{Page layout}): typo in q-papersize... + + * check-ctan-lists: distinguish linked files, + + * filectan.tex: correct path for protext + + * dirctan.tex: correct basix (yoyoy?) + +2004-12-02 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-hammond.tex (subsection{William Hammond's contributions}): editor + work on q-readml* + +2004-11-30 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-hammond.tex (subsection{William Hammond's contributions}): re- + write text around sgmls and stil in q-sgml2tex* + + * dirctan.tex: add euler-latex + + * faqbody.tex (subsection{Particular font families}): add mention of + euler package and eulervm to q-concrete + +2004-11-29 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * filectan.tex: add protext + + * faqbody.tex (section{TeX Systems}): mention protext + +2004-11-26 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): mention william hammond + (section{DVI Drivers and Previewers}): slight mod suggested by author + of dvipng to q-dvi-bmp + + * add-hammond.tex (subsection{William Hammond's contributions}): edit- + orial on q-mathml*, q-sgml2tex* + +2004-11-25 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * Makefile (newfaq-patch.dvi,.pdf): run find-add-files + (clean): remove additions.tex, too + + * patchdates.tex: new; the patch levels that were mastered in + additions.tex; now pl4.12g, today + + * find-add-files: perl jiffy to find what add-* files exist just now, + and to create a suitable additions.tex + + * add-general.tex: remove hammond answers + + * add-hammond.tex: new, hammond revised answers + +2004-11-23 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{William Hammond's contributions}): add + q-mathml*, q-sgml2tex* and q-readml* + + * dirctan.tex: add gellmu and jadetex + +2004-11-23 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex: v3.12a.8, today + (subsection{Typesetting specialities}): add c2latex to q-codelist + +2004-11-22 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faq.sty: provide a definition for \textoslash + + * sanitize-beta.pl (sanitize_line): \textoslash for \o (but why does + perl substitution of \o not work?) + + * faqbody.tex (section{Introduction}): \textoslash for \o + +2004-11-20 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): add \o{} + + * faqbody.tex (section{Current TeX-related projects}): ant now has + insertions, so suggest it's worth investigating as a system. + (section{Introduction}): add morten h + +2004-11-19 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): new q-ouparmd from + add-general + + * add-general.tex (subsection{The Joy of TeX errors}): editorials on + q-ouparmd + + * faqbody.tex (subsection{Page layout}): q-changemargin replaced by the + body of q-changemargin* from add-general + + * add-general.tex (subsection{Page layout}): q-changemargin* editorials + + * dirctan.tex: add algorithmicx + + * faqbody.tex (subsection{Typesetting specialities}): add algorithmicx + to q-algorithms + +2004-11-12 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{Page layout}): mention parcolumns in + q-parallel, add examples + +2004-11-11 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{Making things stay where you want them}): use + of infinite value for widow and club penalties in q-widow + +2004-11-10 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): add reference to jim's + one-person system web page, under tutorials (this question needs re- + working, methinks...) + +2004-11-09 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{"Generic" macros and techniques}): new + q-subverttoks from add-general + (subsection{Creating citations}): q-i18nbib from add-general + (subsection{Tables, figures and diagrams}): q-rulethk from add-general + + * dirctan.tex: add bib2xhtml + + * faqbody.tex (section{Hypertext and PDF}): correction for words about + plainpages=false, from dan luecking + (subsection{Manipulating whole bibliographies}): add bib2xhtml to + q-htmlbib + + * texfaq2file: missing </ul> before subsections in normal mode + +2004-11-08 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (section{Current TeX-related projects}): ec-type1->tt2001 + in q-textrace + +2004-10-27 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * filectan.tex: correct context-tmf to current location + + * faqbody.tex (section{Graphics}): correct pdftricks link in + q-pdftexgraphics + +04-10-26 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{Odds and ends}): mention bold csc fonts in + knuth-style t1-encoded fonts to q-bold-extras + (section{Hypertext and PDF}): add tt2001 to q-type1t1 + + * dirctan.tex: remove fonts/ps-type1/ec, add fonts/ps-type1/tt2001 + + * faqbody.tex: v3.12a.7, today + +2004-10-22 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document management}): provide morten's witty + example of the problems with \iffalse in q-conditional + +2004-10-17 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Hyphenation}): rejig q-newlang to mention the + use of texconfig to do the format rebuild in tetex + +2004-10-10 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): editorial on + q-extrabrace + + * sanitize.pl (sanitize_line): as -beta + + * sanitize-beta.pl (sanitize_line): add \cmdinvoke*{cmd}[opt]{mand} and + \cmdinvoke*{cmd}[opt]{mand1}{mand2} + + * faqbody.tex (subsection{Mathematics}): add reference to + \shortintertext in q-mathstext, and show how to do short intertexts + using flalign + + * dirctan.tex: add mh + + * add-general.tex (subsection{Creating citations}): add norbib to + q-i18nbib + +2004-10-08 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add dk-bib + + * add-general.tex (subsection{Creating citations}): add dk-bib to + q-i18nbib, and reorganise the list + +2004-10-07 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}): excise european modern from + q-type1T1 + +2004-10-06 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (throughout): purge references to y&y + +2004-10-05 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Bits and pieces of TeX}): editorial, + particularly on q-virtualfonts + +2004-10-03 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Graphics}): mention pstricks overlaying stuff in + q-labelfig + + * add-general.tex (subsection{Why does it do that?}): new q-breaklinks + +2004-09-27 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Adobe Type 1 ("PS") fonts}): mention CH math + +2004-09-26 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: 3.12a.6, today + (section{Current TeX-related projects}): minimum change to reflect + what's happened since john's omega bombshell, plus ref to aleph + (section{TeX Systems}): mention the miktex cd with miktex descr + (section{Acquiring the Software}): make q-cd talk about nothing but the + tex live distribution + (section{Current TeX-related projects}): describe etex as today's + thing, in the article on nts. + +2004-09-22 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Symbols, etc.}): mention fourier in q-numbersets + +2004-09-19 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): q-atvert problem + happens in maths mode too + (section{Adjusting the typesetting}): add ctanref for fancyhdr in + q-reallyblank, supply missing text about memoir + +2004-09-18 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * additions.tex: pl4.12f, today + + * add-general.tex (subsection{Page layout}): q-changemargin* (revision + from donald) + +2004-09-17 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex: v3.12a.5, today + (subsection{Adobe Type 1 ("PS") fonts}): merry upheaval of q-psfchoice + (subsection{LaTeX macros}): mention optparams in q-twooptarg + +2004-09-16 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Alternative document classes}): ha-prosper is + a package, not a class + +2004-09-14 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): mention eplain online docs and + mailing list + +2004-09-14 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * dirctan.tex: add fourier and utopia + corrected swebib and elsevier entries + added bigfoot (for suffix.sty) + + * faqbody.tex: v3.12a.4, today + (subsection{Typesetting specialities}): add concrete examples of using + listings package + (subsection{Adobe Type1 ("PS") fonts}): add blurb about fourier + +2004-09-13 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (throughout): standardise on \ProgName{Perl} (note cap) + and \ProgName{Python} (all of one change) + + * dirctan.tex: add latexdiff, remove language, and resort in that area + + * faqbody.tex (subsection{Document management}): mention latexdiff in + q-changebar + +2004-09-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating citations}): provide criterion for + choosing jurabib instead of footbib in q-bibinline + +2004-09-11 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Labels and references}): tidy up description + of byname in q-nameref + +2004-09-09 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): bring in parallel with sanitize.pl + + * faqbody.tex (subsection{Odds and ends}): \bsbs (twice) in q-varwidth + (subsection{Common errors}): \bsbs -> \texttt{\bsbs } in q-noline + (section{The joy of TeX errors}): \bsbs in q-altabcr + (subsection{Tables, figures and diagrams}): \bsbs in q-tabcellalign + + * sanitize.pl (sanitize_line): make \bsbs gobble a single following + space + +2004-09-07 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating citations}): putative completion + of q-i18nbib + + * faqbody.tex (section{The Background}): mention the wiki in q-context + +2004-09-06 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating citations}): bit more on + q-i18nbib -- probably more language contributions to be found, but + there's enough here for the time being + + * dirctan.tex: add spain and bib-fr + + * faqbody.tex (subsection{Creating bibliographies}): rewrite the + description of the custom-bib mechanism in q-custbib + +2004-09-04 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating citations}): start on q-i18nbib + + * filectan.tex: add finplain.bst + + * dirctan.tex: add bibgerm, swebib + +2004-08-30 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): new (tug) list address for + q-mp, and add reference to tug mp page + + * add-general.tex (subsection{The Joy of TeX errors}): new q-ouparmd + +2004-08-29 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add ebib + multibbl, texpower now both in (regular) latex/contrib + + * faqbody.tex (subsection{Creating bibliographies}): add ref to ebib in + q-buildbib + +2004-08-28 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Tables, figures and diagrams}): new + q-rulethk + + * faqbody.tex (subsection{Tables, figures and diagrams}): editorial, + q-destable, and add reference to memoir implementing booktabs commands + +2004-08-25 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Mathematics}): add karl berry's suggestion to + q-mathsize + (subsection{Tables of contents and indexes}): editorial on q-tocbibind + +2004-08-24 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Floating tables, figures, etc.}): correct + startling error in q-vertposfp (courtesy of donald -- i can't work out + how i came to write the original rubbish in the first place) + (section{TeX Systems}): correct address for truetex + (subsection{Adobe Type 1 ("PS") fonts}): mention truetex using type 1 + fonts under xp + +2004-08-23 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * sanitize[-beta].pl (sanitize_line): provide \mailto{} + +2004-08-22 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Adobe Type 1 ("PS") fonts}): editorial on + q-pspreview + (subsection{Adobe Type 1 ("PS") fonts}): editorial on q-psfchoice (more + remains to be done) + (subsection{Adobe Type 1 ("PS") fonts}): editorial on q-concrete + (subsection{Adobe Type 1 ("PS") fonts}): editorial on q-uselmodern + +2004-08-21 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Metafont fonts}): editorial on q-getbitmap + (subsection{Adobe Type 1 ("PS") fonts}): editorial on q-usepsfont + +2004-08-20 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: v3.12a.3, today + (section{TeX Systems}): forward ref to q-buildbib from q-editors + (section{Installing (La)TeX files}): refer to "specific font families" + in q-instfont + (throughout): \FontName|...| -> \FontName{...} + +2004-08-20 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating bibliographies}): add mention of + JabRef + (section{The Background}): editorial on q-latexe + (section{The Background}): editorial on q-context + (section{The Background}): editorial on q-amspkg + (section{Acquiring the Software}): editorial (big time) on q-uploads + +2004-08-19 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): carry forward changes from non-beta + + * sanitize.pl (sanitize_line): correct \Newsgroup{} + +2004-08-18 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * sanitize.pl (sanitize_line): make all the variants of \cmdinvoke use + the <code>\\</code><code> trick we already have for \csx, to deal with + \@ problem + +2004-08-02 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * filectan.tex: add ziffer + + * faqbody.tex (subsection{Typesetting specialities}): mend typo in q- + dec_comma, and add reference to ziffer + +2004-08-01 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): first stab at updating + package doc question + + * add-general.tex (subsection{"Generic" macros and techniques}): new + answer on \[ex]def -- going to need a lot more thought + + * faqbody.tex (section{Documentation and Help}): add link to edith + hodgen's magnum opus + +2004-07-31 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Mathematics}): superseded theorem.sty with + amsthm.sty in the quaintly named "roman theorems" answer + +2004-07-30 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex: 3.12a.2, today + + * filectan.tex: add voss-mathmode (again?!) + +2004-07-27 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add texniccenter + + * faqbody.tex (section{TeX Systems}): add texniccenter to q-editors + +2004-07-24 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * filectan.tex: add voss-mathmode + + * faqbody.tex (throughout): change \Newsgroup|...| -> {...} + (section{Documentation and Help}): refer to ctan version of herbert + voss' mathmode thing + + * sanitize.pl,sanitize-beta.pl (sanitize_line): add closing </code> in + \marg (!), and allow \Newsgroup{...} + +2004-07-23 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex: 3.12a.1, today + + * 3.12a/faqbody.tex: pl2, today + (section{The Background}): 3.141592 + (various): remaining ctanrefs to enumitem + + * faqbody.tex (subsection{Lists}): document \begin{enumerate}[resume] + from enumitem (and tidy up remaining ctanrefs to enumitem) + +2004-07-22 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * Makefile.CTAN: remove all mention of -cm targets + +2004-07-22 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * Makefile: remove -cm targets from "all" + + * faq.sty: use T1 encoding, times & luximono fonts, by default + +2004-07-21 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * 3.12a/faqbody.tex: change version to -p1, today's date (for web + release with enumitem directory correct) + +2004-07-20 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): correct tex version no, and + add link to copy of knuth's paper in maps archive + +2004-07-19 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): add andy roberts' + stuff + +2004-07-19 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * dirctan.tex: move fonts/ps-type1/lm up one + + * faqbody.tex (subsection{Lists}): change location of enumitem + + * dirctan.tex: add enumitem + +2004-07-15 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex: v3.12a + (subsection{"Generic" macros and techniques}): editorial in q-patch + +*** RELEASE 3.12 *** + +2004-07-15 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{Mathematics}): sigh -- narrowversion stuff in + q-mathstext + + * sanitize.pl (sanitize_line): transfer change to table defs + + * faqbody.tex: v3.12, today + + * faq.sty: suppress \pdfavoidoverfull if the cs doesn't exist + add pdfstring disable command for \marg + +2004-07-14 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Alternative document classes}): q-slidecls + from add-general + (subsection{LaTeX macros}): suppress the stupid coding for this release + since adding the new answer has obviated the need pro tem + +2004-07-14 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{LaTeX macros}): stupid coding to prevent + spacing silliness around q-ltxabbrv; this will need reviewing at every + release unless i can think of some better way around the problem + + * add-general.tex (subsection{Alternative document classes}): minor + tweak to slides question + + * sanitize-beta.pl (sanitize_line): add cellpadding to <table> + + * faqbody.tex (section{Documentation and Help}): change address of + teencontrex (sent reply to prompt check whether the latest stuff + really is on ctan...) + (subsection{Mathematics}): point maths sizes at q-ltxabbrv + (subsection{LaTeX macros}): q-ltxabbrv from add-general + +2004-07-13 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating bibliographies}): add pybliographer + to the list of "managers not on ctan" + 3.12RC2, today + +2004-07-12 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * dirctan.tex: add ppr-prv, ha-prosper + + * add-general.tex (subsection{Alternative document classes}): write up + prosper, with ppr-prv and ha-prosper + + * dirctan.tex: add pgf,xcolor + + * add-general.tex (subsection{Alternative document classes}): write up + beamer, add links for pgf and xcolor + +2004-07-11 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating bibliographies}): new q-buildbib + from add-general + (subsection{Creating citations}): new q-usebibtex from add-general + (subsection{Common errors}): new q-zerochap from add-general + + * dirctan.tex: add ps4pdf + + * faqbody.tex (section{Graphics}): mention ps4pdf and pdftricks, and + reference voss' page for various support options + +2004-07-10 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{TeX Systems}): add texmaker after kile in + q-editors + (subsection{Typesetting specialities}): elaborate situation of texindex + in q-makeindex, and add reference to ltxindex + + * add-general.tex (subsection{Creating bibliographies}): write up the + bibtex db management systems + + * dirctan.tex: add xbibfile and btOOL + +2004-07-05 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex: today's date + (subsection{Common errors} and elsewhere): adjust spacing of + ellipsis in question title + + * add-general.tex (subsection{Why does it do that?}): new q-zerochap + + * faq.sty: debug \Qref*{}{}'' + +2004-07-05 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqfont.cfg.mbvj: add definition of \acro + +2004-07-04 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faq.sty: adjust "null" \acro command so as not to gobble following + space in the toc! + + * add-general.tex (subsection{Alternative document classes}): work on + the slides question + +2004-07-03 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables of contents and indexes}): correct + section number of companion reference + (section{Installing (La)TeX files}): moved up to before fonts + (subsection{Document structure}): add section number for companion + reference + +2004-07-02 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * additions.tex: pl4.12e, today + + * faqbody.tex: today's date + (subsection{LaTeX macros}): two more editorials on q-ltxcmds + +2004-07-01 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * dirctan.tex: add chapterfolder + + * faqbody.tex: today's date + (subsection{Common misunderstandings}): add another example of trouble + to q-baselinepar + (subsection{Document management}): add chapterfolder to q-docotherdir + +2004-06-30 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * texfaq2html, texfaq2html-beta, texfaq2file: align all three with + sanitize changes + + * sanitize.pl: up to date with sanitize-beta + + * faqbody.tex (throughout): \path|...| -> \path{...} + + * sanitize-beta.pl (sanitize_line): add \path{...} + + * faqfont.cfg.mbvj: boldmath not available + + * faqfont.cfg.cmfonts: boldmath is available + + * faq.sty: define \ifboldmathavail and set false in default font setup + + * faqbody.tex: today's date + (subsection{Tables of contents and indexes}): editorial on q-secnumdep + (subsection{LaTeX macros}): debugging and editorial on q-ltxcmds + (throughout): tidy \boldmath for question (etc) titles + +2004-06-28 Robin Fairbairns <rf@mole.cl.cam.ac.uk> + + * faqbody.tex (subsection{Typesetting specialities}): correct \href for + "highlight" home site + +2004-06-24 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Why does it do that?}): new q-zerochap + +2004-06-22 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Current TeX-related projects}): q-extex and + q-xetex from add-general + (subsection{Hyphenation}): q-hyphexcept from add-general + (subsection{Common misunderstandings}): q-tocloftwrong from add-general + (subsection{Page layout}): q-outszwrng from add-general + + * add-general.tex (subsection{LaTeX macro programming}): change \hline + in q-ltxabbrv (on the off-chance we can introduce this answer to the + running version) + (subsection{Current \TeX-related projects}): editorial on xetex + + * sanitize-beta.pl (sanitize_line): fiddle trying to make \hline equiv + commands show up in tables + + * faq.sty: define \acro conditionally in body of file; define it as + null (apart from \@) in default font setup, but not in cmfonts version + + * faqbody.tex (section{TeX Systems}): links for gwtex and texshop, + reword availability statements for oztex and cmactex (looks like the + only "generally" pre-macosX version is textures, now :-( ) + +2004-06-21 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: 3.12RC1, today + (subsection{Typesetting specialities}): rewrite highlight stuff to be + more upbeat about it (and to mention its valuable properties) + +2004-06-19 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Macro programming}): new q-subverttoks + +2004-06-18 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{LaTeX macros}): missing \csx in q-fixnam + +2004-06-17 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{"Generic" macros and techniques}): editorial + on q-ifpdf + +2004-06-16 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{"Generic" macros and techniques}): use the + \relax trick in q-empty + + * sanitize-beta.pl (sanitize_line): move the zapping of \relax to after + that of {}, so that \cmdinvoke{cmd}{\relax} describes empty arg + +2004-06-16 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{LaTeX macro programming}): first stab at + "abbreviations" answer (q-ltxabbrv) + +2004-06-15 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): ftpmail only at dante, + only one answer about searching, in q-archives + (section{Acquiring the Software}): mend ref in q-nonfree + (section{Acquiring the Software}): replace refs in q-uploads + (section{Installing (La)TeX files}): ... and in q-instpackages + (subsection{Alternative document classes}): and in q-journalpaper + (subsection{Common errors}): jf contribution to q-verbwithin + +2004-06-15 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): replace q-findpkg, + q-siteindex and q-websearch by q-findfiles from add-general + (subsection{Common errors}): rewrite my\string_name in q-verbdef + +2004-06-14 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: version 3.11h, tomorrow + + * add-general.tex (subsection{Acquiring the software}): minor edits of + q-findfiles + +2004-06-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{"Generic" macros and techniques}): q-ifpdf + from add-general + (section{The joy of TeX errors}): new q-divzero, q-missbegdoc, + q-normalszmiss and q-manymathalph from add-general + (subsection{Creating citations}): new q-compactbib and q-bibtocorder + from add-general + +2004-06-13 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Current TeX-related projects}): new + q-xetex + + * faqbody.tex (throughout): \mailto|...| -> \mailto{...} + + * filectan.tex: add notoccite, remove tocunscite + + * add-general.tex (subsection{Macro programming}): typo in q-ifpdf + + * faqbody.tex (several places): deal with companion issues or mark + further work needed with ******** + + * dirctan.tex: add tlc2 + + * faqbody.tex (section{Documentation and Help}): add reference to tlc2 + examples + +2004-06-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faq.sty: make \mailto accept either sort of arg, \ifpdf + +2004-06-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Mathematics}): tweak q-mathsize + +2004-06-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * filectan.tex: add fontmath and fontdef (in some order) + + * faqbody.tex (subsection{Mathematics}): clarification (one hopes) of + q-mathsize + +2004-06-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common errors}): warn about non-error in + q-verbwithin + +2004-06-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{"Generic" macros and techniques}): emphasise + that \ifnoerror is a fantasy... + + * add-general.tex (subsection{Macro programming}): new q-ifpdf + +2004-06-05 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Alternative document classes}): tidy q-cv + +2004-06-04 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common errors}): mention amsmath in the \\ q + + * CHANGES-3.12: mention europecv + + * dirctan.tex: add europecv + + * faqbody.tex (subsection{Alternative document classes}): add europecv + to q-cv + +2004-06-02 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{"Generic" macros and techniques}): comments + on "is it an integer" from donald + +2004-06-01 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Common misunderstandings}): new + q-tocloftwrong dealing with numbers in toc and so on, basically just a + pointer to q-tocloft + + * faqbody.tex (section{Documentation and Help}): refer aspirant authors + to tex books and to q-dtx + +2004-05-31 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): expand q-extrabrace a + bit, adding stuff about \caption and non-moving opt args + +2004-05-27 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: remove french-le and french-pro (not actually used, and + french-le has disappeared, at least temporarily) + + * filectan.tex: correct litprog-faq + comment-out compan-ctan + + * faqbody.tex (section{Documentation and Help}): correct pointer to + voss's latex stuff (twice) + +2004-05-26 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): add keywords for + q-extrabrace (also touch up verbatim quoting) + (subsection{LaTeX macros}): mention definition of fragile commands in + lamport, and that some robust commands (e.g., \cite) get redefined + fragile + (section{TeX Systems}): mention texshop as an editor/shell for macos x + +2004-05-25 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating bibliographies}): correction to + q-bibprefixsort from james szinger + +2004-05-24 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Page layout}): first draft of "output + size wrong" + +2004-05-24 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Graphics}): provide documentation, etc., links + for pstricks + +2004-05-23 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): correct maarten sneep's name + (subsection{Common errors}): correct the example in q-alreadydef + + * dirctan.tex: e4t moved to nonfree/ (though we don't use it...) + + * CHANGES-3.12: document 4alltex and miktex changes to faqbody + + * faqbody.tex (section{TeX Systems}): slightly more expansive about + kile, and a link to sourceforge in q-editors; also remove mention of + eddi4tex (defunct?) and the 4alltex cdrom + (subsection{Adobe Type 1 (postscript) fonts}): texlive 7 is no longer + the type example of a system that does dvips 5.90 (or better) + (section{Acquiring the Software}): mention the miktex cdrom (a good + deal, imo) + +2004-05-21 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common errors}): add keywords to + q-newlineargs + +2004-05-20 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * texfaq2html (oh_dear): put an (obfuscated) mail address in the + message (does it need obfuscation?) + +2004-05-18 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): deal with the table things + + * faq.sty: macros for use in tables + + * faqbody.tex (subsection{LaTeX macros}): tabular for *name macros + +2004-05-16 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (throughout): get rid \cs usage + + * faqbody.tex (section{The Background}): rewrite that nasty para in + q-texpronounce + (subsection{Creating bibliographies}): correct use of \csx for \& + +2004-05-11 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: v3.11f, today + (section{The Background}): another paragraph (shock!) to elucidate + the relationship to "technology" (i have a nasty feeling...) + +2004-05-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: redefine \csx to allow its argument to expand, remove \cs + + * faqbody.tex (section{Symbols, etc.}): use \symbol{95} for underscore + in several places + (subsection{"Generic" macros and techniques}): use \symbol{95} + + * texfaq2html-beta: remove symbol character table + + * sanitize-beta.pl: add symbol character table, with 95=>"_", remove + \cs + + * add-general.tex (subsection{Creating bibliographies}): note bibdesk + (in comment) + +2004-05-10 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{\LaTeX{} macros}): reinstate minor changes + done here over the w/e + +2004-05-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Typesetting specialities}): redo text at + start of q-codelist -- wasn't translating properly to html + + * faq.sty: squeeze list indentations a fair bit + + * faqbody.tex (throughout): enumerate->itemize wherever reasonable, + plus associated tidying of markup + +2004-05-09 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * filectan.tex: add the FILES.* requirements + + * add-general.tex (subsection{Acquiring the software}): q-findfiles + more or less complete + +2004-05-07 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Acquiring the software}): first serious + chunk of a q-findfiles to replace the existing three answers + +2004-05-03 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): fidgeting with the + "find stuff" answers; these ought all to be one :-( + + * filectan.tex: move T1instguide one directory down in the tree (nb, + keeping companion.ctan entry, even though the file's not on archive, + on the basis that i've to rewrite the file for ed.2) + + * faqbody.tex (section{Acquiring the Software}): more hacking at + q-findpkg + +2004-05-02 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): removed the "more + dynamic is" rubbish from intro to lshort + (subsection{Mathematics}): tidying markup to avoid verbatim, use quote + env, in q-proof + (section{Acquiring the Software}): purge references to companion.ctan + +2004-04-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): allow narrow + version of \normalsize error message + +2004-04-28 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Graphics}): new q-repeatgrf + +2004-04-27 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * CHANGES-3.12: mention mimetex reference + + * faqbody.tex (section{Current TeX-related projects}): tidy up narrow + column stuff in q-mathml + +2004-04-26 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add MimeTeX + + * faqbody.tex: v3.11e, today + (section{Current TeX-related projects}): mention techexplorer as + introduction to mimetex in q-mathml + + * commands-to-define: add \addvspace (simplified defn) + +2004-04-20 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables, figures and diagrams}): mention + \tabularnewline in q-tabcellalign + +2004-04-20 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{TeX Systems}): whinge about age of emtex and + djgpp, suggesting users who want up-to-date systems need to go to + win32 :-( + + * dirctan.tex: emtexTDS now obsolete + +2004-04-19 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating bibliographies}): mend markup in + q-bibplain + (subsection{Spacing of characters and lines}): markup in q-flushboth + (subsection{Page layout}): shambles in q-landscape + + * sanitize.pl,sanitize-beta.pl (sanitize_line): move \qref and + \cmdinvoke down below def of all "font-change-only" commands (things + that could be in args) + +2004-04-15 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating bibliographies}): redo tex2bib + references in q-makebib + +2004-04-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * filectan.tex: add tex2bib entries (one for doc too) + + * dirctan.tex: remove incorrect tex2bib entry + + * add-general.tex (subsection{Creating bibliographies}): added tex2bib + to q-buildbib + +2004-04-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): tidy markup of + q-siteindex + + * texfaq2file,texfaq2html-gamma,texfaq2html-beta,texfaq2html: add + symbol 94 for work on q-siteindex + +2004-04-10 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): q-manymathalph + complete (first pass) + +2004-04-09 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): a start to + q-manymathalph (interrupted by falling asleep...) + + * faqbody.tex: v3.11d, today + (section{Documentation and Help}): add reference to kindersley book in + q-typebooks + (section{Introduction}): added isaac khabaza to list + (section{Documentation and Help}): fourth edition of k&d, 2nd of tlc + (section{Documentation and Help}): sort out ~ in an \href line (twice) + +2004-04-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Typesetting specialities}): deal with line- + broken \Qref command in q-seturl + (subsection{Typesetting specialities}): it's M-Tx not M_Tx in q-music + + * Makefile.CTAN: drop stupid_names.sty + + * sanitize.pl (sanitize_line): line up with changes to -beta + + * additions.tex: pl 4.12a, today + + * faqbody.tex: v3.11c, today + (subsection{The Joy of TeX errors}): q-altabcr from add-general + + * add-general.tex (subsection{The Joy of TeX errors}): new q-missbegdoc + (subsection{The Joy of TeX errors}): new q-normalszmiss + + * sanitize-beta.pl (sanitize_line): remove $...$ re, add \beta, \marg{} + + * faqbody.tex (throughout): replace $...$ with \ensuremath{...} + +2004-04-05 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): comment on relation to + grouping level errors in q-semanticnest + + * add-general.tex (subsection{Creating citations}): correct typo in + Q-compactbib + + * faq.sty: arrange that \Qref doesn't eat following space (by + converting \@ifnextchar to \afterassignment with "\let\@tempa= " + +2004-04-04 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating citations}): jiffy on compact + thebibliography lists + +2004-04-01 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize[-beta].pl (throughout): align the two files (2-way process) + + * faqbody.tex: v3.11b, today + (subsection{Floating tables, figures, etc.}): note bottom double float + restrictions and complications + +2004-03-30 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2file: add -2 switch, and corresponding tidies; correct a + few things detected by perl -w + + * sanitize.pl (generate_CTAN_ref): correct = -> == in conditional(!) + +2004-03-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: define a bunch of stupid name macros to free us of these + idiot logos for ever; also define \MF and \MP without package mflogo + +2004-03-26 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of \TeX{} errors}): graphicx + height/division question q-divzero + +2004-03-25 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Hyphenation}): writing hyphenation + exceptions q-hyphexcept + +2004-03-25 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Support Packages for TeX}): typo in q-fig title + (section{The Background}): correct the earlier twaddle about X in + Q-TeXpronounce (courtesy of Ulrich Klauer) + (section{Introduction}): added Ulrich Klauer + (subsection{Tables, figures and diagrams}): editorial on q-tabcellalign + (section{Documentation and Help}): add reference to shipman's texcrib + +2004-03-24 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common misunderstandings}): typo, found + courtesy of bil kleb + +2004-03-22 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): new q-altabcr + + * faqbody.tex (subsection{Tables, figures and diagrams}): tidy up + q-tabcellalign, adding refs to q-altabcr, and correcting errors + +2004-03-21 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faq.sty: remove unnecessary \pdfstringdisable commands, sanitise \nts + and \texxet (but comment out \texxet and also \mltex, which aren't + used) + + * sanitize-beta.pl (sanitize_line): get rid of \texsis + + * faqbody.tex (subsection{Typesetting specialities}): write out in full + the one instance of use of \texsis... + + * faq.sty: de-sillify \tex, \etex, \extex, \latex, \alltex, \context, + \pdftex, \pdflatex, \twee ... and junk \texsis + +2004-03-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Current TeX-related projects}): complete + first stab at extex question + + * sanitize-beta.pl (sanitize_line): add \Omega + +2004-03-18 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * README: modify final paragraph (about distributing modified versions) + + * sanitize-beta.pl (sanitize_line): remove \Q + + * faq.sty: suppress \Q (temporarily, just possibly: it's going from + texfaq2html, anyway) + +2004-03-16 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Why shouldn't I?}): correct fantasy in html + of q-2letterfontcommands + + * filectan.tex: add vruler + + * faqbody.tex: 3.11a, today + (section{The Background}): editorial on q-triptrap + (section{Introduction}): add brooks moses to list + (subsection{Typesetting specialities}): add vruler to q-linenos + + * sanitize.pl (sanitize_line): sanitize_beta changes + +2004-03-15 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): removed \ldots, added \psatempty + + * faqbody.tex (subsection{Page layout}): minor editorials for ps@empty + +2004-03-15: release 3.11 + +2004-03-14 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faq.sty: disable \, in \pdfstringdisablecommands; define \psatempty + + * faqbody.tex (subsection{Page layout}): use \psatempty in question + title for label ps@empty + +2004-03-13 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): don't refer to individual + latex doc files (not sensible since none is now html) + (section{Documentation and Help}): mention clsguide via directory only + + * dirctan.tex: latex documentation directory + +2004-03-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add texcnvfaq as a directory + + * filectan.tex: remove texcnvfaq + +2004-03-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.11, today + (subsection{Page layout}): clarify "pdf output" for pdflscape + +2004-03-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{DVI Drivers and Previewers}): new text about + dvipng, from its author + +2004-03-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: document \Qref in the course of checking it... + + * faqbody.tex (throughout): check on "\Qref..." -- ensure sensible + usage, specifically avoiding "(see question x)" + +2004-03-09 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Lists}): tidy "interrupting lists" answer + + * CHANGES-3.11: 2 more answers listed + + * additions.tex: pl4.12, today + + * faqbody.tex (subsection{Why shouldn't I?}): q-2letterfontcmd from + add-general + (section{Graphics}): q-dvipdfmgraphics from add-general + v3.11RC4, today + + * add-general.tex (subsection{Why shouldn't I?}): editorials on + q-2letterfontcmd and q-dvipdfmgraphics + +2004-03-08 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Graphics}): edit the dvipdfm answer a bit + +2004-03-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.11b, today + + * add-general.tex (subsection{Graphics}): graphics in dvipdfm + +2004-02-28 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: v 3.11RC3, today + (section{Introduction}): contributors contributions, added szinger + +2004-02-27 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): add \bsbs{} + + * faq.sty: add \bsbs + + * filectan.tex: beginlatex and tex4ht changed names + + * dirctan.tex: add pict2e, remove/amend things to match changes on + the archive + + * faqbody.tex + (subsection{Odds and ends}): add pbox and eqparbox to q-varwidth + (section{Graphics}): mention pict2e in "drawing in latex" + + * dirctan.tex: add eqparbox and pbox + +2004-02-26 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: date today, of course! + (subsection{Adobe Type 1 ("Postscript") fonts}): rearrange list of + fonts to clump free ones together better [more still to be done] + +2004-02-26 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Odds and ends}): tidy up coding around stupid + logos answer + v3.11RC2 + + * filectan.tex: texnames.sty from info/biblio + + * Makefile.CTAN: texnames.sty -> stupid_names.sty + + * faq.sty: load stupid_names + + * stupid_names.sty: renamed [my] texnames.sty + +2004-02-25 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add smallcap + + * add-general.tex (subsection{Why shouldn't I?}): New q-2letterfontcmd + + * faqbody.tex (section{Installing AllTeX files}): add note about public + fonts directories + (subsection{Odds and ends}): mention texhash for bold-extra installs + +2004-02-23 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common errors}): mention that memoir doesn't + choke on verbatim in footnotes in q-verbwithin + (subsection{LaTeX macros}): note koma-script \chapterformat (etc.) + functions in q-seccntformat + (subsection{Common errors}): q-tabacc and q-alreadydef from add-general + (subsection{Common misunderstandings}): q-linespread and q-baselinepar + from add-general + (section{Hypertext and PDF}): q-pdfpagelabels from add-general + (subsection{Odds and ends}): q-varwidth from add-general + (subsection{Creating bibliographies}): q-bibtranscinit from add-general + (subsection{Creating citations}): q-sortbib from add-general + [preamble]: v3.11RC1, today + (section{The joy of TeX errors}): q-inputlev and q-hyperdupdest from + add-general + +2004-02-22 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document management}): new options for + q-changebars, from peter w; ditto comment env in memoir, for + q-conditional; totals counters in memoir for q-howmanypp + (subsection{"Generic" macros and techniques}): mention memoir's + \ifinteger setup in q-isitanum; ifmtarg in memoir for q-empty + (subsection{LaTeX macros}): chngcntr in memoir for q-running-nos; + q-oddpage stuff in memoir + +2004-02-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.10k, today + (section{Bits and pieces of TeX}): tidy up text about bitmap type 3 + fonts in q-adobetypen + +2004-02-17 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating bibliographies}): correct + conditional code in Q-bibtranscinit + (subsection{Creating bibliographies}): bit more on Q-buildbib + +2004-02-14 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables, figures and diagrams}): mention koma + \captionabove command + +2004-02-09 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Labels and references}): twiddle further with + reference-by-name answer (i wonder if it's comprehensible?) + +2004-02-08 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add smartref + + * faqbody.tex (subsection{Tables of contents and indexes}): reword text + about splitidx package to take account of split option; more work + needed on this answer still :-{ + (subsection{Labels and references}): note memoir titleref functions, + and mention byname + +2004-02-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty (\Qref): new whistle in case "\Qref..." + + * faqbody.tex (subsection{Page layout}): editorial work on ps@empty + +2004-02-05 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.10j, today + + * additions.tex: pl4.10f, today + +2004-02-02 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-gamma: first tentative steps towards a new web script + (nothing much to do with tex, as yet...) + + * texfaq2file: add switches to control what is output, for grand new + scheme of things + +2004-01-31 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables of contents and indexes}): correct + reference to index package + + * dirctan.tex: add index + +2004-01-29 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add ledmac + +2004-01-25 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: qq159,161 (in wilson's notes) for memoir + q163 for both memoir and koma-script + + * add-general.tex (subsection{Why does it do that?}): close paren in + q-baselinepar + (subsection{Odds and ends}): new q-varwidth + + * filectan.tex: add varwidth + +2004-01-24 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Why does it do that?}): finished (first + draft of) q-baselinepar + + * faqbody.tex (subsection{"Generic" macros and techniques}): correct a + typo (or perhaps "braino") pointed out by hendrik maryns + +2004-01-21 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Why does it do that?}): new q-baselinepar + and a link to it from + + * faqbody.tex (subsection{Common misunderstandings}): bit more scrunge + at end of q-paraparam + +2004-01-20 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Bits and pieces of TeX}): mention swiftex in dtx + answer + +2004-01-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.10i, today + (subsection{Document structure}): refer to zoonekynd's title, chapter + and section style pages + + * additions.tex: pl4.10e, yesterday + +2004-01-18 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Installing (La)TeX files}): correct miktex + "update database" key name + + * add-general.tex (subsection{Why does it do that?}): nearing + completion of q-linespread + +2004-01-16 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (throughout): don't have comment.sty \end{xyz} other than + in column 1 + + * filectan.tex: add savesym + + * add-general.tex (subsection{Why does it do that?}): new Q-alreadydef + +2004-01-14 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common misunderstandings}): reword paraparam, + having recommended it to someone :-} + +2004-01-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add Tabbing + + * add-general.tex (subsection{Why does it do that?}): complete q-tabacc + +2004-01-14 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Why does it do that?}): new q-tabacc (not + yet quite complete) + +2004-01-13 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: subfigure->subfig, in case i ever get to use it... + +2004-01-13 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{TeX Systems}): remove references to ntex + (subsection{Common misunderstandings}): quote work complete to end + of this subsection + +2004-01-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common misunderstandings}): more work on the + quote and verbatim + +2004-01-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * additions.tex: pl 4.10d, today + + * add-general.tex (subsection{Hypertext and PDF}): new answer + q-pdfpagelabels + (subsection{The Joy of TeX errors}): new q-hyperdupdest + + * faqbody.tex (section{Hypertext and PDF}): tidy qrefs to get rid of + stray space in html; reword intro to make clear what the answer will + tell us + +2004-01-11 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (throughout): still more work on tidying + (subsection{Getting things to fit}): remove question on miktex failing + to generate latex format + (subsection{Common errors}): mention dblfloatfix in "dbl float order" + v3.10h, today + +2004-01-10 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (throughout, again): more work on conditionals + (correcting gross errors of yesterday) and tidying layout (more quote + environments, f'rex) + +2004-01-09 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (throughout): redoing conditional control + +2004-01-09 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating bibliographies}): start of scan + of database offerings + +2004-01-08 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Page layout}): memoir does crop marks + +2004-01-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Installing (La)TeX files}): couple of editorials + from christina thiele + +2004-01-06 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Page layout}): q-nopageno and q-ps@empty, + update for memoir and koma-script + +2004-01-05 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Installing (La)TeX files}): new q-privinst from + add-general + (section{Installing (La)TeX files}): new q-instt1font from add-general + (section{Bits and pieces of TeX}): new q-resolns from add-general + (section{Bits and pieces of TeX}): new q-fontname from add-general + (subsection{Tables of contents and indexes}): new q-minitoc from + add-general + +2004-01-04 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Graphics}): add a stricture against using epsfig + unless really necessary + (subsection{Document structure}): mention memoir in "page numbering" + (subsection{Page layout}): note typearea's capabilities in q-papersize + + * add-general.tex (subsection{Creating bibliographies}): wrap bib + entries in dviversion for transcribed initials question + + * faqbody.tex (subsection{Document structure}): dealt with the stuff + about marks + +2004-01-02 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating bibliographies}): new answer + from martin sneep, about transcribed initial letters + + * faqbody.tex (subsection{Document structure}): \clearempty... koma + stuff in Q-reallyblank + (section{Documentation and Help}): typesetting japanese tutorial from + matsusaka u. in japan + (section{Current TeX-related projects}): mention lambda in q-omega, + and add a health warning to the \ctanref about omega itself + +2004-01-01 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables, figures and diagrams}): mention + tabulary + (subsection{Document structure}): koma-script scrpage2, memoir into + q-fancyhdr + (subsection{Page layout}): mention koma \chapterpagestyle in Q-ps@empty + +2003-12-31 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * filectan.tex: add capt-of + + * faqbody.tex (subsection{Document structure}): record change back from + caption2 to caption + (subsection{Document structure}): koma & memoir appendix facilities + (section{Document structure}): caption facilities of koma and memoir, + and add capt-of too + +2003-12-29 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): refer to mimi's pages + next to tim love's + (section{Documentation and Help}): remove reference to basum (bausum?) + page on tug.org since it's shortly to be no more, and remove the ltx-2 + one too, since we seem to have a latex one in the offing + +2003-12-28 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Graphics}): mention mptopdf in "mp in gs" q + + * add-general.tex (subsection{Creating citations}): mention ken + turner's list of reference styles + + * faqbody.tex (section{Documentation and Help}): list herbert voss' + thing under both faqs and tutorials + + * add-general.tex (subsection{Installing (La)TeX files}): tidy up the + private installation thing to fit in the columns (still needs proper + proof-reading) + +2003-12-27 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Installing (La)TeX files}): yet more + verbosity about home texmf trees (this stuff needs proof-reading!!!) + + * faqbody.tex (subsection{Document structure}): koma, memoir additions + to q-secthead + +2003-12-25 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Tables of contents and indexes}): finish + off minitoc q with reference to hyperref; nb no reference to + minitoc-hyper (since no-one else has complained about it) + +2003-12-24 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Installing (La)TeX files}): new question + q-privinst (incomplete so far) + + * sanitize-beta.pl (sanitize_line): remove translation of \& to bare & + (which surely isn't safe?) + +2003-12-23 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Alternative document classes}): remove + statement that koma and memoir classes are "still under development" + with its unfortunate suggestion that they're still incomplete + (subsection{Document structure}): mention koma and memoir's titling + capabilities + +2003-12-22 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Bits and pieces of TeX}): fontname q + (subsection{Installing AllTeX files}): refer to q-fontname in + q-instt1font + (subsection{Creating citations}): restored q-sortbib ... + + * faq.sty: redo definition of \ProgName (and hence various others) + to work with latest url.sty (if it's available) + +2003-12-21 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Particular font families}): optimise \Qref in + lmfonts question + (subsection{Alternative document classes}): updated other sizes + question to mention koma and memoir + + * add-general.tex (subsection{Installing AllTeX files}): another batch + of work on "installing type 1 fonts" + + * filectan.tex: excalibur now apparently 4.0.2 + +2003-12-18 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating citations}): new Q-sortbib + +2003-12-15 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}): current gs version (in "old + gs" q) changed to 8.12 (dec 2003) + (preamble): v3.10g, today + (section{Installing (La)TeX files}): changes for new fptex + +2003-12-11 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * filectan.tex: add dblfloatfix + + * faqbody.tex (subsection{Floating tables, figures, etc.}): mention + dblfloatfix in Q-2colfloat + +2003-12-02 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables of contents and indexes}): correction + of multind example [how _could_ i have got it so wrong?] + (preamble): v3.10f, today + +2003-11-28 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: pdftitle uk _tex_ faq (not tug) + + * faqbody.tex (section{TeX Systems}): typos in emacs names + +2003-11-19 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * additions.tex: pl 4.10a + + * add-general.tex (subsection{Tables of contents and indexes}): minitoc + question answered + +2003-11-18 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: v3.10e, today + (throughout): refer to koma-script (the object, as opposed to the ctan + address) as KOMA-script + +2003-11-13 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{References from articles}): minor extra + editorial + +2003-11-13 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.10d, today + (section{References from articles}): clarification of, and expansion of + examples in, q-mcite + +2003-11-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: v3.10c, today + (subsection{Creating bibliographies}): correct @preamble for \noopsort + (section{References from articles}): correct location for unsrtnat, + plainnat + +2003-11-08 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + <release to the web> + + * dirctan.tex: FirstSteps, lgc, lwc -> info/examples + + * faqbody.tex: v3.10b, today + (section{Documentation and Help}): corrections to mf/mp tutorials, plus + two additions (from jose santos) + + * texfaq2html: vital item left out yesterday when doing changes from + -beta + +2003-11-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.10a + (subsection{Document structure}): typo in appendices question + + * texfaq2html: changes from -beta + + * sanitize.pl (sanitize_line): changes from -beta + + * faqbody.tex: v3.10 today + +2003-10-30 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: remove kostas entry (corresponding directory seems to + have disappeared from CTAN without trace...) + + * faqbody.tex (subsection{Tables of contents and indexes}): extend and + tidy examples in "multiple indexes" + + * sanitize-beta.pl (sanitize_line): add \Email{ } + + * faqbody.tex (subsection{Typesetting specialities}): correct mail list + details for tex-music (now at icking archive) + (throughout): change \Email|...| to \Email{...} + + * dirctan.tex: algorithm2e + + * faqbody.tex: 3.10RC2, today + (subsection{Typesetting specialities}): mention algorithm2e in + Q-algorithms + +2003-10-24 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * additions.tex: pl4.9g, today + + * faqbody.tex: v3.10RC1, today + (section{Documentation and Help}): various small editorials + +2003-10-23 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Document Structure}): editorial work on + the appendix answer + +2003-10-23 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Labels and references}): tidy q-extref + + * dirctan.tex: removed web/glasgow and all subdir references + + * add-general.tex (subsection{Labels and references}): faithfully add + reference to xr-hyper's url optional argument (though i've not tried + heiko's new version of hyperref that he says makes it work) + + * dirctan.tex: add appendix + + * add-general.tex (subsection{Document Structure}): new Q-appendix + +2003-10-21 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Why shouldn't I?}): add example of how to + code align in place of eqnarray; make all questions in section have ? + at their ends (just for once, they _are_ written as questions) + (subsection{Common errors}): mention Q-eqnarray in Q-newlineargs where + eqnarray is used as an example + +2003-10-19 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): q-toodeep from + add-general + (subsection{Mathematics}): q-mathstext and q-reuseq from add-general + (subsection{Common misunderstandings}): q-exscale from add-general + (subsection{Page layout}): q-epigraph from add-general + (section{Current TeX-related projects}): q-aleph from add-general + (subsection{Footnotes}): q-footnpp from add-general + (subsection{LaTeX macros}): q-addtoreset from add-general + (subsection{Tables, figures and diagrams}): removed superfluous + \endhtmlignore in q-wholerow + + * add-general.tex (subsection{LaTeX macro programming}): mention per + page resetting problem and the perpage package, in answer "master and + slave counters" (done once before, and obviously lost :-( ) + +2003-10-18 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * additions.tex: pl4.9f, today + + * faqbody.tex (section{Support Packages for TeX}): mention aspell under + q-spell; remove mention of fig2mf under q-fig, and expand list of + known export formats (which now includes mf) + + * add-general.tex (subsection{The Joy of TeX errors}): finished + editorial work on q-toodeep -- removed wibble about pressing on past + the error + (subsection{Creating citations}): minor editorial on the "howto" + +2003-10-17 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{LaTeX macro programming}): mention per + page resetting problem and the perpage package, in newly-renamed + answer "master and slave counters" + +2003-10-17 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta: remove $original_keyword (no longer used); make + $keyword have spaces exchanged for + signs; if not providing link to + list of questions, </center> ... + +2003-10-17 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Footnotes}): typo; add example of perpage + and list sources of documentation + +2003-10-16 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating bibliographies}): more work on + how to + (subsection{Mathematics}): re-use of equation + +2003-10-14 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating bibliographies}): start on "how + to write a .bib file" + +2003-10-13 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * filectan.tex: add versions.sty + + * faqbody.tex (subsection{Document management}): add versions.sty to + conditional compilation answer + +2003-10-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): remove the historical + stricture about the bibtex man page, and tidy the rest of the answer + up a bit + +2003-10-11 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Footnotes}): new subsection, new + Q-footnpp + +2003-10-10 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}): add crippled keyword to + questions about fuzzy fonts + +2003-10-09 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): too deep (list + nesting error answer + + * sanitize-beta.pl (sanitize_line): add \"u + + * faqbody.tex (section{Documentation and Help}): reference to l2tabuen + as a -ve tutorial + + * filectan.tex: add l2tabuen and l2tabuen.src + +2003-10-08 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * filectan.tex: add fncyref + +2003-10-07 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: v3.9d, today + (subsection{"Generic" macros and techniques}): renamed section, added + Q-empty, tidied up quoting further up section + (subsection{LaTeX macros}): added Q-labundef + (section{The joy of TeX errors}): added Q-8000 + (subsection{Why shouldn't I?}): add Q-dolldoll + (subsection{LaTeX macros}): mention latex kernel problem with \p@<*>, + and list the patch; also mention fncylab and point out that list + reference patching is best done with enumitem + +2003-10-05 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Labels and references}): new question on + xr and xr-hyper + + * faqbody.tex (subsection{Labels and references}): hyperref defines + \nameref for itself; nameref doesn't need hyperref + + * dirctan.tex: add clrscode + + * faqbody.tex (subsection{Typesetting specialities}): mention clrscode + + * sanitize-beta.pl (sanitize_line): add narrowversion and wideversion + + * faq.sty: add narrowversion and wideversion + + * add-general.tex (subsection{Labels and references}): new subsection, + for (new) q-extref + + * faqbody.tex (subsection{Labels and references}): new, so far just + contains q-nameref + +2003-10-03 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{LaTeX macro programming}): add an + \@addtoreset answer + + * sanitize-beta.pl (sanitize_line): correct order of + \cmdinvoke*{c}{a1}{a2}{a3} and \cmdinvoke*{c}{a1}{a2}; add + \cmdinvoke*{c}{a1}[a2] + + * faqbody.tex (subsection{Typesetting specialities}): slight tidying of + algorithm answer + +2003-10-01 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add epigraph + + * add-general.tex (subsection{Creating citations}): fiddling with cites + in how to bibtex question + (subsection{Page layout}): answer on epigraphs + +2003-09-30 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating citations}): how to run bibtex + +2003-09-28 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add bezos + + * faqbody.tex (subsection{Lists}): add enumitem to the same two answers + + * add-general.tex (subsection{Mathematics}): correction, following + discussion on c.t.t + +2003-09-27 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add paralist, savetrees + + * faqbody.tex (subsection{Lists}): add commentary on paralist and + savetrees to compaction of lists, and re-organise rest of question; + turn "fancy enumeration" upside down (to mention the package first), + and add side reference to paralist + +2003-09-25 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * additions.tex: v4.9d. 22nd + + * faqbody.tex: v3.9c, today + (section{Documentation and Help}): mention www.macrotex.net/texbooks + +2003-09-23 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating citations}): consistent set of + examples for all three candidate packages, and compare-and-contrast + stuff to help users choose + +2003-09-22 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating citations}): add ctan ref for + multibbl + + * add-general.tex (subsection{Mathematics}): add \intertext command to + answer on text in maths (example copied from amsldoc) + +2003-09-20 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Format conversions}): add ref to latex2html + mailing list + + * dirctan.tex: add texpower, beamer + + * add-general.tex (subsection{Alternative document classes}): bits and + pieces added on to slides question + +2003-09-19 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * texfaq2file: complete filename mapping to avoid nasty chars + + * add-general.tex (subsection{Mathematics}): new answer: text in maths + +2003-09-18 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Why shouldn't I?}): sort out $$ answer + + * faqbody.tex (subsection{Common misunderstandings}): micro-tutorial on + the way \marginpar works + +2003-09-17 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Common misunderstandings}): add exscale q + +2003-09-16 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): reference odp tex area + + * add-general.tex (subsection{LaTeX macro programming}): add answer on + detecting whether a label's undefined + +2003-09-15 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): add 4-arg \cmdinvoke* + + * dirctan.tex: add zoon-mp-eg + + * faqbody.tex (section{Documentation and Help}): add zoonekynd's + example set to list of mp tutorials + +2003-09-14 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables, figures and diagrams}): bunch of + changes \Package| | to \Package{ } + (subsection{Getting things to fit}): advise etex/etex.sty for pictex + (section{The joy of TeX errors}): mention etex for dealing with + register problems + +2003-09-13 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables, figures and diagrams}): mention + bigstrut + + * dirctan.tex: add multirow + + * add-general.tex (subsection{Tables, figures and diagrams}): Add q on + multirow + +2003-09-12 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Tables, figures and diagrams}): question + on modifying single rows + +2003-09-11 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: add aleph + + * add-general.tex (subsection{Current TeX-related projects}): little + answer on the aleph project + +2003-09-10 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * dirctan.tex: directory for TftI + + * faqbody.tex (section{Documentation and Help}): add tex for the + impatient to the list of books released "free" + +2003-09-09 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common errors}): \label outside environment + enclosing \caption, too + (section{The joy of TeX errors}): play the htmlversion trick in + semanticnest + +2003-09-08 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{Bits and pieces of TeX}): question on + resolutions + + * faqbody.tex: today's date + (section{Documentation and Help}): mention mptut.pdf + (subsection{Getting things to fit}): + +2003-09-07 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * faqbody.tex: today's date + (section{Documentation and Help}): recommend TUG India tutorial page + +2003-09-06 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): complete rewrite + of the "mismatched mode" answer + + * dirctan.tex: add bakoma-texfonts + + * faqbody.tex: v3.9a, today; move hypertext section beyond fonts + (section{Graphics}): reorder questions, make all titles of answers that + refer to imported graphics actually say "imported" + (section{Documentation and Help}): minor editorial on mf books + (section{Documentation and Help}): mention herbert voss' maths tutorial + (section{Documentation and Help}): tidy up references to texhax + (section{Documentation and Help}): remark on the nasa latex thing + referring to 2.09 + (section{Bits and pieces of TeX}): minor editorial + (section{Acquiring the Software}): minor editorial + (section{Hypertext and PDF}): add ctan ref for bakoma fonts + +2003-09-05 Robin Fairbairns <rf@beret.cl.cam.ac.uk> + + * texfaq2file: start on facility for changing file names of awkwardly- + labelled questions + +2003-08-29 Robin Fairbairns <rf@shep.cl.cam.ac.uk> + + * faqbody.tex: v3.9 + +2003-08-28 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v3.9RC2, today + + * additions.tex: pl4.8a, today + + * add-general.tex (subsection{Creating citations}): use donald's + simpler scheme for doing unsrt styles by hand... still no tocunsrt :-( + + * faqbody.tex (section{Graphics}): rename the "graphics in" to + "imported graphics in", and rename q-graph-pspdf to "portable imported + graphics + (subsection{Creating bibliographies}): trivial anglicisation + (subsection{Typesetting specialities}): mention sverb.sty in the + verbatim input question, and tidy the whole mess up + (subsection{Typesetting specialities}): tidy ctanrefs of music answer + (section{The joy of TeX errors}): reorder the question about "missing + number", and refer to mathptmx to replace the old times package + +2003-08-27 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{The Background} and elsewhere): yet more typos + noticed by jose carlos santos + +2003-08-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize.pl (sanitize_line): bring up-to-date with changes to -beta + + * sanitize-beta.pl (sanitize_line): move {} pattern to end of funtion + + * faqbody.tex: 3.9RC1, today + (subsection{Spacing of characters and lines}): documentation (such as + it is) of setspace + + * companion.ctan: remove contrib/(supported|other) with a lot of help + from reinhard + + * faqbody.tex (subsection{Tables of contents and indexes}): put code + example in quote environment (seems to set it off rather well) + +2003-08-12 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex,filectan.tex: remove all remaining contrib/supported + +2003-08-11 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): ignore \bgroup, \egroup (the latter + has to have trailing space in its pattern, for some reason) + + * faqbody.tex (section{References from articles}): tidy up ctanrefs + (subsection{Tables of contents and indexes}): add example of the use of + index.sty (other two to come) + +2003-08-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Odds and ends}): advise against nameref with + hyperref + + * dirctan.tex: added cm-lgc + +2003-08-10 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Spacing of characters and lines}): rewrite + doublespacing question for less pomposity + +2003-08-09 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}): use \Qref* + (subsection{Particular font families}): use \Qref* + (section{Hypertext and PDF}): rework the 8-bit fonts question to + include cm-lgc, with caveats about its size range, and also to compare + the three type 1 alternatives to cm shapes + +2003-08-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{LaTeX macros}): further slight tweaks + +2003-08-08 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: 3.8c, today + (subsection{LaTeX macros}): add argument-version to \collect@body q + +2003-08-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables, figures and diagrams}): typo in + Q-slashbox + + * sanitize-beta.pl (sanitize_line): deal with \Qref* (twice) -- same as + \Qref here + + * faq.sty: deal with \Qref* + + * faqbody.tex (subsection{Tables, figures and diagrams}): couple of + typos in destable, and use \Qref* + +2003-08-05 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.8b, today + (section{Current TeX-related projects}): reference to pdftex in its own + right on ctan + + * filectan.tex: add pdftex + +2003-08-01 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize.pl, sanitize-beta.pl (sanitize_line): add \File{ } + + * faqbody.tex: v3.8a, today + (section{Hypertext and PDF}): typo in Q-fuzzy-type3 + +2003-07-31 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * Makefile.CTAN: remove texfaq2{file,html}, but install faq-html.tar.gz + + * Makefile (inst-html): muck about with html .tar.gz creation + + * additions.tex: pl4.8, today + + * faqbody.tex (subsection{Creating bibliographies}): merge Q-capbibtex + and Q-bibcase to convert the latter to just Q-bibaccent + v3.8, today ** release ** + +2003-07-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating bibliographies}): use new fantasies + around the production of \~ + + * sanitize-beta.pl (sanitize_line): deal with \~ + + * sanitize.pl (sanitize_line): deal with \~, bring up to date with + sanitize-beta + + * faqbody.tex (subsection{Creating bibliographies}): \htmlignore around + dvi/pdf versions in examples of case protection + +2003-07-29 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: add lshort-parent + + * faqbody.tex (section{Documentation and Help}): make sure that every + tutorial mentions it's available from ctan if it is; suggest browsing + for other language versions + +2003-07-28 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): add testflow to list + of tutorials + + * additions.tex: pl4.7c, today + + * faqbody.tex: v3.8RC2, today + +2003-07-27 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (throughout): \ProgName|...| -> \ProgName{...} + +2003-07-26 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): add epslatex to list + of tutorials + +2003-07-25 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): remove claim about the + regularity of tugboat :-) + +2003-07-24 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Typesetting specialities}): Q-upquot, Q-time + and Q-the-commands from add-general (slight edit to Q-the-commands) + (subsection{Particular font families}): lm question from add-general + (subsection{Creating bibliographies}): sorting from add-general + (subsection{Tables, figures and diagrams}): Q-slashbox from add-general + v3.8RC1, today + +2003-07-23 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}): turned the 8-bit fonts + question upside down so as to emphasise cm-like fonts. + (section{Current TeX-related projects}): change section title, and + adjust emphasis in the textrace/mftrace answer (as well as moving + download addresses to the ctanrefs section) + (section{Current TeX-related projects}): new answer on ANT (to what + question? you may well ask :-), from add-general + +2003-07-22 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Particular font families}): new one on lm + + * faqbody.tex (section{Hypertext and PDF}): add lm fonts to type1T1 + +2003-07-21 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add lm fonts + +2003-07-18 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating citations}): \noopsort question + + * faqbody.tex (subsection{Creating bibliographies}): mention the natbib + styles and custom-bib _above_ harvard :-} + +2003-07-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Adobe Type 1 ("PS") fonts}): mention cm-super + and hfbright as sources of type 1 cm bright + + * dirctan.tex: add latex4jed; move mcite, mdwtools, mfnfss, ssqquote, + textfit and tocvsec2 up/down/sideways one; also multibbl and foiltex + on the nonfree tree; add hfbright + + * faqbody.tex: v3.7.1a, today + (section{TeX Systems}): mention latex4jed + +2003-07-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: move minitoc, ms, multibib, nrc, ntheorem, rcs, rcsinfo, + refcheck, rotating, sectsty, showlabels, snapshot, sttools, + supertabular, titling and tocloft down one (or up one -- who cares?); + delete schroeder entry (pointing to the ms directory) + + * faqbody.tex (two places): ctanref schroeder -> ms + +2003-07-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: move mparhack, ncctools, newlfm, oberdiek, soul and + tocbibind up one + +2003-07-09 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Current TeX-related projects}): minor + tidies + (subsection{Current TeX-related projects}): add a sentence on _why_ + separation of languages might be a good thing + +2003-07-09 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): add \textsf as a no-op (like \acro) + + * add-general.tex (subsection{Typesetting specialities}): still more + tidying, after sleeping on the problem + (subsection{Current TeX-related projects}): (new title for the section) + new question on ANT + +2003-07-08 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Typesetting specialities}): another pass + over the wording of the advice in the \the_xxx_ question + +2003-07-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): add 2-arg *'d \cmdinvoke + + * add-general.tex (subsection{Typesetting specialities}): remove \emph + from the arguments of \csx in Q-the-commands + + * dirctan.tex: move jknappen, jurabib and mailing down one level + +2003-07-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: move toppages, type1cm and ucthesis down one level + +2003-07-07 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: add datetime; move memoir, utthesis, vector and vmargin + down one level + +2003-07-06 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{LaTeX macros}): add twoopt.sty to Q-twooptarg + +2003-07-05 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document structure}): tidy q-captsty (incl + documentation reference, and add reference to Q-atsigns in the early + bit about diy + +2003-07-04 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl4.7b, today + + * add-general.tex (subsection{Typesetting specialities}): new question + on typesetting the time + + * faqbody.tex (subsection{Creating bibliographies}): btxmac is actually + part of eplain; reference eplain, too + +2003-07-02 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: add slashbox; move textpos, was, wordcount, wrapfig, + xtab and xymtex down from contrib/supported + + * add-general.tex (subsection{Tables, figures and diagrams}): answer + containing a recommendation of slashbox (but presenting thomas lotze's + suggestion from textex_355 as an alternative) + + * filectan.tex: add tocunscite (it's not there yet, mind) + + * add-general.tex (subsection{Creating citations}): answer for unsrt + with table of contents (etc) + + * faqbody.tex (section{Current TeX Projects}): added mailing list + details for pdftex from tug site + (section{The Background}): maillist address for MP (didn't know it had + one!) + (subsection{Alternative document classes}): scrlettr->scrlttr2 + +2003-07-01 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Bits and pieces of TeX}): reference docmfp in + Q-dtx (is this the right place for it?) + (section{The Background}): rewrite text about mp in pdflatex, including + making reference to Q-pdflatexgraphics rather than to the pdflatex + project itself + (section{Current TeX Projects}): update pdftex answer; still needs + reference for new mailing list sign-up + + * dirctan.tex: add docmfp + + * faqbody.tex: v3.7.1, today + (subsection{Spacing of characters and lines}): mention the justify + stuff in latest ragged2e + (subsection{Document structure}): mention fncychap's restriction re. + front/backmatter in Q-secthead + +2003-06-25 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{LaTeX macro programming}): aide-memoir + for vertical spacing commands in plain-in-latex + +2003-06-20 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: release... + + * sanitize.pl (sanitize_line): corrections from -beta + + * sanitize-beta.pl (sanitize_line): move \csx so it can appear in \Qref + (sanitize_line): correct \^e + + * faqbody.tex (section{Hypertext and PDF}): reorganise reference to + dvisstrip + (subsection{Typesetting specialities}): minor editorial + + * sanitize-beta.pl (sanitize_line): add \ensuremath + + * faqbody.tex: v3.7, today (i'm determined...) + (section{Format conversions}): refer to hennings' faq via href, not an + entry in ctanrefs + (section{Hypertext and PDF}): minor editorial in fuzzy-type3 + +2003-06-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: correct subeqnarray, subfigure, subfiles + +2003-06-18 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: correct arabtex, ifmslide, natbib, titlesec + +2003-06-17 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Typesetting specialities}): new question + on upright (Xterm-like) quotes + + * filectan.tex: add upquote + +2003-06-16 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.7RC3, today + (section{Format conversions}): tidy up "others" question a bit, and add + mention of tex2word and word2tex; no longer first in section + +2003-06-15 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl4.7a, today + + * add-general.tex (subsection{The Joy of TeX errors}): new answer on + 8000dpi gsftopk attempts + + * faqbody.tex: 3.7RC2, today + (section{The joy of TeX errors}): non-PDF-special from add-general + +2003-06-14 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * filectan.tex: add ifmtarg + + * add-general.tex (subsection{Macro programming}): empty arg answer + +2003-06-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: 3.7RC1, today + (section{Hypertext and PDF}): replace q-dvips-pdf from add-general qs + (section{Installing (La)TeX files}): 4 font install answers ditto + + * add-general.tex (subsection{Hypertext and PDF}): real error message + from dvips when font missing: not mentioning latest version, since + systems will have the fonts anyway + +2003-06-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}): change reference to fuzzy + fonts question in "8-bit fonts" + (subsection{Typesetting specialities}): pseudocode, from add-general + + * add-general.tex (subsection{Hypertext and PDF}): several editorial + and typographic changes + +2003-06-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.6.1d, today + + * additions.tex: pl4.6b, today + + * faqbody.tex (section{Graphics}): add graphics needed... from + add-general + + * dirctan.tex: harvard, hyper, hyperref and hyphenat + + * faqbody.tex (subsection{"Generic" macros}): minor edits of "spaces" + + * add-general.tex (subsection{Installing (La)TeX files}): tidies of + some of these font answers + (subsection{Graphics}): minor edit + (subsection{Hypertext and PDF}): add proviso about acroread 6 + + * dirctan.tex: psfig change + +2003-06-09 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: add urlbst + + * faqbody.tex (subsection{Creating bibliographies}): mention urlbst in + Q-citeurl + +2003-06-08 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Typesetting specialities}): reference to + Q-algorithms in Q-proglist; also be more positive still about listings + package (when did anyone last recommend lgrind?) + + * add-general.tex (subsection{Hypertext and PDF}): minor edits + (subsection{Typesetting specialities}): minor adjustments + +2003-06-07 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v3.6.1c, today + (section{Hypertext and PDF}): mention pstill in q-pkfix + (section{The joy of TeX errors}): \$ needs {} (eh!?) + +2003-06-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{DVI Drivers and Previewers}): bitmap drivers + + * add-general.tex (subsection{Hypertext and PDF}): split "quality of + pdf" into two, so all "problems" are on the same level; slight + editorials (some as a result of split) + + * faqbody.tex: v3.6.1b, today + (subsection{Page layout}): page sizes from add-general; + (subsection{Tables, figures and diagrams}): table design from + add-general + (subsection{Common errors}): float ordering question from add-general + + * add-general.tex (subsection{Typesetting specialities}): remove the + "short" option; tidy up description of algorithms bundle; mention + float.sty; write documentation notes + (subsection{Page layout}): minor editorial of page sizes + + * dirctan.tex: bunch of directories contrib/supported->contrib + +2003-06-02 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl4.6a, today + +2003-06-02 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add algorithms,alg,newalg; junk old (cyrillic) "program" + in favour of pseudocode one for scott's answer(s); deal with labels, + lineno, listings, refman and wasysym (now links) + + * add-general.tex (subsection{Typesetting specialities}): both + alternatives of scott pakin's take on algorithm typesetting + + * faqbody.tex: today's date + (subsection{Typesetting specialities}): minor edit of q-codelist + +2003-06-02 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document structure}): mention doc of fncychap + +2003-06-01 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * filectan.tex: add topcapt + + * add-general.tex (subsection{Tables, figures and diagrams}): new + design of tables answer + + * dirctan.tex: add ctable + + * faqbody.tex: v3.6.1a, today + (subsection{Footnotes}): reference ctable.sty in footintab + +2003-05-21 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Graphics}): more editorial, mentions of + dvipdfm + +2003-05-20 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Installing (La)TeX files}): further + iterations, including reference to new bluesky-maps in place of clunky + instructions on generating the beastly things + + * dirctan.tex: add bluesky-maps + + * add-general.tex (subsection{Hypertext and PDF}): move Q-fuzzy-t1 up + one so questions are in order of itemize + +2003-05-20 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Hypertext and PDF}): editorial work on + quality; put related answers into an itemize + (subsection{Installing (LaTeX files}): editorial work on bluesky + +2003-05-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: move mflogo and moreverb "down one" + +2003-05-18 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Graphics}): mention mp doesn't need help from + psfrag + +2003-05-16 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document management}): mention winedt + changebar macros + +2003-05-16 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document management}): add "revision bars" to + Q-changebars + +2003-05-15 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Page layout}): new question on paper size + +2003-05-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.6, today + + * add-general.tex (subsection{Graphics}): trim ps+pdf graphics q title + + * faqbody.tex: v3.6.1, today + (subsection{Typesetting specialities}): add highlight to Q-codelist + + * dirctan.tex: add highlight + +2003-05-13 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: collapse koma-script address + + * sanitize.pl,sanitize-beta.pl (sanitize_line): correct \^E->\^e, bring + sanitize.pl up to date + + * faqbody.tex (section{Documentation and Help}): texhax now at tug.org + (subsection{Spacing of characters and lines}): mention \centering in + "cancelling ragged" question + +2003-05-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Common Errors}): slight diddle on + fixltx2e question + +2003-05-11 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: add hvfloat + +2003-05-10 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: add fnbreak; bunch of contrib/supported directories -> + contrib directories, and also picked up other link directories + (allowing some to remain links for clarity) + + * faqbody.tex: 3.6RC5, today + (subsection{Common misunderstandings}): mention fnbreak in q-splitfoot + +2003-05-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.5f, today + + * add-general.tex (subsection{DVI drivers and previewers}): editorials + (subsection{Common Errors}): new question on fix2col/fixltx2e + +2003-05-05 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl4.5e, today + + * add-general.tex (subsection{The Joy of TeX errors}): answer on + "unknown special ignored" + + * sanitize-beta.pl (sanitize_line): add ê + +2003-05-03 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{DVI drivers and previewers}): minor typos + and editorial corrections + (subsection{Graphics}): mention dvipdfm option, and auto driver + selection, in q about ambivalent output generation + +2003-05-02 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Alternative document classes}): correct + spelling of résumé + +2003-04-22 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * Makefile (clean): add *.png + + * add-general.tex (subsection{DVI drivers and previewers}): bunch of + tidies in this and other questions answered recently + + * additions.tex: pl4.5d, today + +2003-04-21 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * filectan.tex: correct tex4ht-mn.zip, remove usergrps-list + + * dirctan.tex: remove geralpha, which has gone from the archive + + * check-ctan-lists: make to work on gordon + + * dirctan.tex: add dvipng + + * add-general.tex (subsection{Hypertext and PDF}): new Q-fuzzy-t1 on + the effect of type3 fonts when switching to T1 + (subsection{DVI drivers and previewers}): new Q-dvi-bmp + +2003-04-20 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Hypertext and PDF}): replacement `quality + of PDF' answer (part 1) + (subsection{Hypertext and PDF}): Q-gs-pdfqual (part 2 of same) + (subsection{Hypertext and PDF}): Q-distill-prob (part 3 of same) + +2003-04-17 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): Add \FontName + + * faq.sty: add \FontName + + * add-general.tex (subsection{Installing (La)TeX files}): yet more on + Q-instprinterfont + +2003-04-16 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Particular font families}): move mathtime + back where it started! + (subsection{Installing (La)TeX files}): more on Q-instprinterfont + +2003-04-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2file: name question files by label, rather than by number; add + web link for question at end; change regexp for \Question to require + label, and to return it alone as $1 (did have [] too); remove + provision for generating a list of all questions + + * faqbody.tex: v3.6RC4, today + (subsection{Why shouldn't I?}): Q-eqnarray from add-general + (section{Bits and pieces of \TeX}): Q-adobetypen from add-general + (subsection{LaTeX macros}): Q-spaftend, Q-cmdasenv from add-general + +2003-04-13 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl4.5c, today + + * faqbody.tex (section{Documentation and Help}): more on how to ask a + question + (section{Graphics}): mention graphicx.tex as well as miniltx + +2003-04-12 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Installing AllTeX files}): installing + mathtime, back from faqbody (not ready for prime time: reinstate when + new version released so it appears in beta again + (subsection{Bits and pieces of TeX}): new q-adobetypen on font formats + + * filectan.tex: contrib/other/fragments -> contrib/fragments + + * dirctan.tex: remove "other" (whole contrib/other directory!); move + all contrib/other stuff down to contrib + +2003-04-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: introduce \ifusePSfont, set true if using times + + * faqbody.tex (subsection{Adobe Type1 ("PS") fonts}): remove reference + to fonts/psfonts in Q-metrics + +2003-04-10 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Graphics}): add mpsproof to question on mp + output in ghostscript + + * filectan.tex: add mpsproof + +2003-04-09 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * filectan.tex: latex/contrib/(other|supported)/misc -> contrib/misc + +2003-04-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): only options now, in + Q-CD, are texlive and the ctan cds. + +2003-04-07 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}): dvistrip corrected to + dvipsstrip + + * dirctan.tex: remove fonts/psfonts + + * faqbody.tex (subsection{Adobe Type 1 (postscript) fonts}): remove + reference to psfonts directory + + * add-general.tex (subsection{Macro programming}): slight elaboration + of command-as-env question + (subsection{Macro programming}): move Q-spaftend in here + (subsection{LaTeX macro programming}): moved up (with one so far + incoherent question) so as to redesignate previous two questions as + latex + +2003-04-06 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Macro programming}): finally a usable + question on commands-as-environments, Q-cmdasenv + +2003-04-04 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}): slight tidy Q-dvips-pdf + + * add-general.tex (subsection{Why shouldn't I?}): new Q-eqnarray + +2003-04-03 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: 3.6RC3, today + (subsection{Typesetting specialities}): add discouragement of the use + of path.sty with latex + +2003-04-02 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Why does it do that?}): new Q-spaftend + +2003-03-31 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: oops -- remove line break in decl of psnfssx-mathtime + + * faqbody.tex: v3.6RC2, today + (subsection{Creating bibliographies}): add Q-bibcase from add-general + (subsection{Mathematics}): add Q-limits and Q-mathlips from add-general + (subsection{Particular font families}): add Q-mathtime from add-general + + * add-general.tex (subsection{Mathematics}): add csnames as keywords + for Q-mathlips + (subsection{Mathematics}): \CTANref for graphics.sty + + * additions.tex: pl4.5b, today + + * add-general.tex (subsection{Creating bibliographies}): small changes, + plus text-wrapping in verbatim examples + +2003-03-30 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Creating bibliographies}): new Q-bibcase + +2003-03-29 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Mathematics}): revise reference to + \DeclareMathOperator with reference to Q-limits + + * filectan.tex: add T1instguide + + * add-general.tex (subsection{Installing (La)TeX files}): add reference + to lehman's guide + (subsection{Mathematics}): new question Q-limits + +2003-03-28 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add yhmath-(fonts|macros) + + * add-general.tex (subsection{Mathematics}): new question on ellipses + + * filectan.tex: add mathdots + + * faqbody.tex: v3.6RC1, today + (section{The joy of TeX errors}): Q-formatstymy from add-general + + * add-general.tex: tidy after removing questions + + * faqbody.tex (section{Graphics}): typos in Q-graphicspath + (subsection{Document structure}): typos in Q-captsty + (subsection{Alternative document classes}): missing close paren in Q-cv + (section{The joy of TeX errors}): Q-bufovfl from add-general + (subsection{Mathematics}): Q-mathsize from add-general + +2003-03-27 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v3.5.1c, today + + * filectan.tex: add ltablex + + * faqbody.tex (subsection{Tables, figures and diagrams}): refer + disparagingly to ltablex.sty + +2003-03-27 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: removed beginlatex again, having changed policy + + * faqbody.tex (section{Documentation and Help}): update tutorials to + reference "production" version of beginner's latex + + * dirctan.tex: mps2eps + + * faqbody.tex (section{Graphics}): reference mps2eps in "mp output in + gs" question + +2003-03-26 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: info/beginlatex + +2003-03-25 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.5a, today + + * add-general.tex (subsection{Mathematics}): new, Q on + \DeclareMathSizes + + * sanitize-beta.pl (sanitize_line): add a 5-argument form of \cmdinvoke + +2003-03-24 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): new, on format + error stymying + +2003-03-20 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.5.1b, today + (subsection{Lists}): change \parsep to \parskip in patched definition + of itemize in q on compacting lists + (section{Introduction}): added simon law to list of helpers + +2003-03-17 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Particular font families}): added a + miktex url for font map management + +2003-03-15 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v3.5.1a, today + + * filectan.tex: add excludeonly + + * faqbody.tex (subsection{Document management}): mention excludeonly in + Q-conditional + +2003-03-12 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}): add a couple of keywords to + Q-dvips-pdf (at scott pakin's suggestion) + +2003-03-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): minor editorial + on Q-buffov + + * faqbody.tex: v3.5.1, today + +2003-03-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): up-to-date with sanitize.pl + + * sanitize.pl (sanitize_line): bunch of "g" qualifiers missing on and + after patterns for \cmdinvoke, and on \csx + + * faqbody.tex (section{Documentation and Help}): typo in Q-pkgdoc + (section{Documentation and Help}): typo in Q-mfptutorials + (section{Current TeX Projects}): separate "real" ~ from url so as to + avoid hacking by sanitize + (section{Current TeX Projects}): couple of typos in Q-mathml + (section{Current TeX Projects}): \textpercent mayn't be followed by {}, + so use \ for space + (section{The joy of TeX errors}): several small typos + + * Makefile (clean): add *.tpt (thumbpdf-related, afaict) + + * sanitize.pl: bring up to date with -beta + + * Makefile.CTAN: remove references to .lab files + + * additions.tex: pl4.5, today + + * add-general.tex (subsection{The Joy of TeX errors}): minor + tidies of Q-buffov + + * faqbody.tex: 3.5, today + (section{Hypertext and PDF}): tidy stuff in the distillation question + +2003-03-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2file: bring up-to-date, too + + * texfaq2html: brought up-to-date with texfaq2html-beta + + * texfaq2html-beta: removed presetting of value in search fields + + * faqbody.tex (subsection{MF fonts}): editorials on bitmap fonts q + + * dirctan.tex: correct path for gsview + + * faqbody.tex: 3.5RC1, today + (section{Hypertext and PDF}): implement jose santos' remark about AR + +2003-03-08 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * filectan.tex: add latexcount + + * faqbody.tex (section{Support Packages for TeX}): mention latexcount + (section{Current TeX Projects}): use revised name for mftrace (was + pktrace) + +2003-03-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: today's date + (subsection{Why shouldn't I?}): \ss now now {} after it... + + * sanitize-beta.pl (sanitize_line): stupid change to \ss + + * texfaq2html-beta: patch in the google searching stuff + +2003-03-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.4b.4, today + (subsection{Why shouldn't I?}): new subsection of "why does it do that" + +2003-03-05 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: add psnfssx-mathtime, and remove a couple of essentially + defunct mathtime directories + + * add-general.tex (subsection{Particular font families}): start of + question on installing mathtime + +2003-03-02 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Graphics}): mention \epsfig in Q-impgraph + +2003-03-01 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl4.4c, yesterday + + * faqbody.tex: v3.4b.3, today + (section{TeX Systems}): yet more mucking about with the words about + tetex + + * dirctan.tex: tetex2->tetex, using current/ rather than 2.0/; restore + tetex-beta + + * faqbody.tex (section{Graphics}): mention withdrawal of tiff from + pdftex graphics + +2003-02-28 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): add decoding of \hphantom -- + converted to (another) gobble operation + (sanitize_line): don't detect an argument in regexps for \hphantom and + \nothtml (efficiency only) + + * filectan.tex: delete wrapfig + + * dirctan.tex: add wrapfig's new directory + + * faqbody.tex (subsection{Creating bibliographies}): Reconstructing bib + files from add-general + (section{Graphics}): graphics from somewhere else, from add-general + + * add-general.tex (subsection{Why shouldn't I}): oops: subsection + rename didn't take + + * faqbody.tex (section{Hypertext and PDF}): mention cm-super in type1T1 + +2003-02-27 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta: add $host_[fd] for use in generate_CTAN_ref + + * sanitize-beta.pl (generate_CTAN_ref): tidy generation of http + references (which were ending up on $default_archive) + +2003-02-26 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Why shouldn't I?}): renamed from + "encoding" -- will go into "why does it _do_ that" + new question on why not use $$ for display maths in latex + + * faqbody.tex (section{Graphics}): correct \href in mentions of + hutchinson's paper + +2003-02-25 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.4b, today + + * sanitize-beta.pl (sanitize_line): add \ss{} + + * add-general.tex (subsection{Encoding (?~--- new)}): questions on + t1enc and on eliding inputenc-fontenc when the codings nearly match + + * faqbody.tex: v3.4b.2, today + (section{Graphics}): reference to hutchinson's graphics inclusion paper + +2003-02-24 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * filectan.tex: correct simpl-latex + + * dirctan.tex: add dvi2bitmap + +2003-02-21 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): corrected the address + for eric raymond on questions to get answers + +2003-02-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta: add skip links to top of search, top of list of + questions, at very start, if the (now very long) intro is present + +2003-02-15 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document management}): describe \jobname as a + primitive, not a "special macro" + +2003-02-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Floating tables, figures, etc.}): prevent + \normalfont in the description env in Q-vertposfp \nothtml (also done + as running repair on source on web site) + +2003-02-13 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta: remove extensive (but hugely incomplete) change log + at front of file; move def of $default_web, and define $href_script in + terms of it; two minor corrections to previous work + +2003-02-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.4b.1, today + (section{Hypertext and PDF}): put comment from jose carlos santos in as + reminder of work needing to be done; note that gs8.00 is current (and + the date of the statement ;-), and claim that gs6.50 is the minimum + sensible; add proviso to recommendation of -G1 + +2003-02-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta: set up protocols for new sanitize + + * texfaq2file: some updating w.r.t. latest texfaq2html + + * sanitize-beta.pl (generate_CTAN_ref): use of different protocols for + different things + + * add-general.tex (subsection{The Joy of TeX errors}): minor typo + +2003-02-09 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: date today + + * add-general.tex (subsection{Graphics}): and a bit more, to make the + thing make sense + (subsection{The Joy of TeX errors}): line too long for buffer error + +2003-02-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Graphics}): slight edit of yesterday's + question, to avoid bad line break + + * dirctan.tex: add tex2bib + + * add-general.tex (subsection{Creating bibliographies}): new question + on regenerating bibliographies + +2003-02-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.4a, today + + * add-general.tex (subsection{Graphics}): new question on \graphicspath + +2003-02-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: remove provisions for .lab files + + * all: checkin/release + + * faqbody.tex: changed date in first line + +2003-02-05 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{TeX Systems}): \ctanref to tetex (per se) + upgraded in windows section (talking about cygwin usage) + +2003-02-04 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: update tds + + * faqbody.tex: v4.3b, today + (section{Bits and pieces of TeX}): more tidying + +2003-02-04 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{TeX Systems}): reword talk about tetex around + current state of tetex2 + + * dirctan.tex: remove both instances of tetex 1.0 + +2003-02-03 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Bits and pieces of TeX}): updated tds stuff, + after announcement of tds v1.0 + +2003-01-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: replace \CTAN with \@ctan@path + + * faqbody.tex: v3.4, today + (subsection{Typesetting specialities}): typo in Q-makeindex + (subsection{Typesetting specialities}): minor editorial in Q-verbfile + (subsection{Odds and ends}): there's no \CTAN macro! (error spotted by + Charles Cameron, in Q-bold-extras) + (section{Introduction}): credit CC, and now ... v3.4a + +2003-01-27 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): minor change to ensure match + between -beta and master version + + * texfaq2html-beta: match with master version (as far as poss) + + * faqbody.tex: 3.4RC4, today + (subsection{Page layout}): slightly less absolutist about samepage + environment in Q-nopagebrk + +2003-01-24 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: 3.4RC3, today + (section{TeX Systems}): add reference to tetex release candidates + (subsection{Page layout}): rewrite Q-abspos, to mention eso-pic + solution (which i learnt on c.t.t today) + (subsection{Page layout}): corrected statement of relation between + eso-pic and everyshi in Q-watermark + + * dirctan.tex: make testflow a browsable directory; add tetex2 + + * add-general.tex (subsection{Alternative document classes}): comment + on texpower expanded somewhat (must _really_ work on this some time) + +2003-01-21 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: ifmslide + + * add-general.tex (subsection{Alternative document classes}): make + reference to ifmslide (whatever that is) + +2003-01-17 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: 3.4RC2, today + (section{Adjusting the typesetting}): use a formulation of don + arseneau's for \sectionmark, in Q-runheadtoobig + +2003-01-16 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add the catalogue + + * faqbody.tex (section{Acquiring the Software}): minor tidy in + Q-nonfree + (section{Acquiring the Software}): make reference to the catalogue in + Q-websearch + + * additions.tex: pl4.3i, today + + * faqbody.tex: v3.4RC1, today + + * sanitize.pl (generate_CTAN_ref): bring in updates from -beta + + * texfaq2html: bring in updates from -beta + + * faqbody.tex (section{The Background}): correct web address for + context + (section{Documentation and Help}): correct web address for metafun + (subsection{Footnotes}): Q-multfoot from add-general + (section{Acquiring the Software}): correct address for dante's upload + +2003-01-15 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.3q, today + (section{Adjusting the typesetting}): slight adjustment of the text + referring to \sectionmark in runheadtoobig + +2003-01-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta: split keyword lists and examine each separately, + case-independently (even) + + * faqbody.tex (section{Documentation and Help}): \url->\URL in writecls + +2003-01-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.3p, today + + * additions.tex: pl4.3h, today + +2003-01-05 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: add ncctools + + * add-general.tex (subsection{Installing (La)TeX files}): editorial + work on the type1 cm fonts installation stuff. + (subsection{Footnotes}): question whose answer is manyfoot + + * faqbody.tex (section{Installing (La)TeX files}): mention /usr/local/ + share/texmf (suggestion from julian gilbey), and also suggest + kpsewhich as a source of the information for a tetex system + +2002-12-28 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Installing LaTeX files}): tidying + (perhaps even finishing!) the type 1 cmfonts installation question + +2002-12-24 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Installing (La)TeX files}): more work on + cmfonts answer + +2002-12-17 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Floating tables, figures, etc.}): Q-dpfloat, + Q-vertposfp from add-general + + * faq.sty: try forcing \l@section/\l@subsection onto next page if not + enough space (retracted ...) + +2002-12-09 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Installing (La)TeX files}): more work on + "installing CM type1" question + +2002-12-05 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize-beta.pl (generate_CTAN_ref): provide link terminator, in + case that the link doesn't have $ctanref_plus set true + + * texfaq2html-beta: forget about label "lastquestion", correct coding + of next/previous links in case of last question + +2002-12-04 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize-beta.pl (sanitize_line): first hopeful stab at multiple + formats (new file, copy of sanitize.pl) + + * texfaq2html-beta: first stab at provision for multiple format + directory retrieval + +2002-12-03 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.3g, today + + * add-general.tex (subsection{Floating tables, figures, etc.}): new + Q-vertposfp + +2002-11-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.3o, today + (section{Documentation and Help}): move \CTANref of teencontrex to list + at end of question + (section{Documentation and Help}): refer to bibtex-doc-pdf in bibtex + docs question + (section{Format conversions}): move ref to html2latex to ctanrefs + (section{TeX Systems}): separate vtex-common in ctanrefs (twice) + (subsection{\MF fonts}): tidy up references in "running mf" q + (subsection{Document structure}): move ctan reference for abstract.sty + in Q-onecolabs + (section{Current TeX Projects}): move reference to ltx3pub + (subsection{Alternative document classes}): slight modification of ctan + references in Q-letterclass + + * dirctan.tex: add bibtex-doc-pdf + +2002-11-26 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.3f, today + + * faqbody.tex: v3.3n, today + (subsection{Document structure}): Q-pagebychap from add-general + (section{Documentation and Help}): Q-pkgdoc from add-general + + * add-general.tex (subsection{Floating tables, figures, etc.}): new + answer Q-dpfloat + (subsection{Page Layout}): minor editorial + + * faqbody.tex (subsection{Tables of contents and indexes}): refer to + spliti[n]d[e]x in Q-multind + + * dirctan.tex: add splitindex + +2002-11-25 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Adobe Type1 ("PS") fonts}): more editorials + +2002-11-24 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl4.3e, today + + * add-general.tex (subsection{Documentation and help}): editorial + corrections to documentation question + + * faqbody.tex + (throughout): editorial corrections noted on train... + +2002-11-23 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * filectan.tex: add chappg + + * add-general.tex (subsection{Page Layout}): new question on page nos + by chapter + +2002-11-22 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Documentation and help}): new question on + package documentation + + * faqbody.tex (section{Bits and pieces of TeX}): slight tidy of Q-dtx + +2002-11-21 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Alternative document classes}): point at + miwie.org comparison of things in Q-slidecls + + * faqbody.tex (subsection{Mathematics}): add example of coding \qedhere + in Q-proof + +2002-11-20 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.3l, today + (subsection{Mathematics}): typo left "i" at very end of answer + (subsection{Typesetting specialities}): note documentation of path and + url in Q-setURL + (subsection{Common errors}): note documentation of url and verbdef in + Q-verbwithin + +2002-11-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.3k, today + (subsection{Typesetting specialities}): Q-overstrike from add-general + (subsection{Mathematics}): Q-cancel from add-general + (subsection{Hyphenation}): typo in Q-hyphoff + +2002-11-18 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add eso-pic; remove ref2bib (which has gone, and whose + replacement's name i've forgotten) + + * faqbody.tex (subsection{Page layout}): separate references to eso-pic + and everyshi + +2002-11-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.3j, today + (subsection{Page layout}): mention \filbreak in question about + suppressing page breaks + (subsection{Making things stay where you want them}): mention the + (common) need to load ulem with normalem option + + * additions.tex: pl4.3d, today + + * filectan.tex: add cancel + + * add-general.tex (subsection{Mathematics}): cancel.sty + (subsection{Typesetting specialities}): overstriking + +2002-11-13 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.3i, today + (subsection{Common misunderstandings}): make clear what is actually + being redefined with \usepackage[overload]{textcase} + +2002-11-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.3c, today + + * add-general.tex (subsection{Installing (La)TeX files}): more scribble + on installing font files + + * faqbody.tex: v3.3h, today + (section{Installing (La)TeX files}): correct location of font source + files, and mention font families all in one directory + +2002-11-10 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Creating bibliographies}): a bit more on the + capitalisation question + +2002-11-09 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v3.3g, today + (section{The Background}): tidy eplain answer and add reference to the + project home page + +2002-11-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables, figures and diagrams}): minor typo in + non-html stuff on wrapfigure + (subsection{"Generic" macros}): slight iteration of active chars q + v3.3f, today + +2002-11-05 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{"Generic" macros}): hacking to get html right + in active chars question + + * sanitize.pl (sanitize_line): remove requirement for {} after \textbar + +2002-11-01 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.3b, today + + * add-general.tex (subsection{Installing (La)TeX files}): another whole + paragraph for the question about installing fonts + + * faqbody.tex: v3.3e, today + (subsection{LaTeX macros}): make reference to newcommand in the + question about multiple optional arguments + + * dirctan.tex: add newcommand + + * faqbody.tex (subsection{"Generic macros}): more work on don A's + stuff + +2002-10-30 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{"Generic" macros}): mods to make tilde appear + in html output... + (subsection{"Generic" macros}): first pass at getting don A's revised + answer for activechars in (much interrupted -- needs checking) + +2002-10-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Lists}): Q-interruptlist from add-general + v3.3d, today + +2002-10-17 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.3a, today + + * add-general.tex (subsection{Lists}): new question on suspending and + resuming lists + + * faqbody.tex: v3.3c, today + (section{Format conversions}): add mayer.dial.pipex.com samples url to + latex->html question (they *really* make tex4ht look good ;-) + +2002-10-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add rcsinfo + + * faqbody.tex: v3.3b, today + (subsection{Document management}): refer to rcsinfo (ex norman gray) + + * Makefile (throughout): tabs before thumbpdf and following $(PDFLATEX) + seem to have gone missing -- reinstated + +2002-10-12 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * Makefile: add heiko's modification to run thumbpdf + + * faq.sty: new version from heiko; slight patch to do \@ReturnAfterFi + at outer level since i'm experiencing problems with it where he had + defined it + + * faqbody.tex (subsection{Document structure}): add a proviso about + sections in the question on marks different from the toc entry + (section{Symbols, etc.}): mention euro-ce + +2002-10-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: added euro-ce + +2002-10-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.3, today + +2002-10-06 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * newfaq-patch.tex: remove a redundant \Dings + + * add-general.tex (subsection{LaTeX macro programming}): bit more of + non-equivalences between latex and plain commands + + * faqbody.tex (subsection{Page layout}): parallel setting from + add-general + + * add-general.tex (subsection{Page layout}): remove reference to nrc + classes in parallel setting question (they're not _that_ wonderful in + this context) + +2002-10-01 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Bits and pieces of TeX}): give skips + question a label (warned by new faq.sty ;-) + + * Makefile.CTAN (all): add (letterfaq|newfaq).lab, remove + newfaq.workers + + * Makefile (clean): remove pdf-newfaq-patch.tex, *.lab + + * newfaq.tex,newfaq-patch.tex,letterfaq.tex: \labellist + + * faq.sty: added \labellist stuff; make \Question complain if no label + + * faqbody.tex (throughout): final touches to last night's additions + +2002-09-30 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Page layout}): add nopagebrk from add-general + (subsection{Hyphenation}): add wdnohyph from add-general + (subsection{Floating tables, figures, etc.}): 2 >1 column floats + questions from add-general + (section{Graphics}): topgraph from add-general + (subsection{Document management}): inclplain from add-general + (section{Symbols, etc.}): tradesyms from add-general + +2002-09-30 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.2e, today + (subsection{Adobe Type 1 ("PS") fonts}): put version number on the + dvips that doesn't do charshift + + * add-general.tex (subsection{Alternative document classes}): start + question on producing slides + + * dirctan.tex: move foiltex to nonfree, to reflect reality, add + prosper, ppower4 + +2002-09-29 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: today's date, no change of version + + * add-general.tex (subsection{Page layout}): question on parallel + setting of texts + + * dirctan.tex: add parallel + +2002-09-27 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Symbols}): new question on trade symbols + + * additions.tex: pl4.2i, today + +2002-09-26 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl4.2h, today + + * add-general.tex (subsection{Floating tables, figures, etc.}): new + questions about single-column floats in multicols, and bottom- + placement of double-column floats in twocolumn + +2002-09-25 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Graphics}): new answer on top-aligning + + * additions.tex: pl2.4g, today + + * faqbody.tex: v3.2d, today + (section{Documentation and Help}): small tidying of book list + + * add-general.tex (subsection{Page Layout}): mention \enlargethispage + in "keeping things together on the page" + (subsection{LaTeX macro programming}): expand for tidiness sake + +2002-09-24 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.2f, today + + * faqbody.tex: v3.2d, today + (subsection{Document structure}): two questions from add-general + (subsection{Document management}): how many pp, from add-general + (section{Graphics}): limit width, from add-general + (subsection{Floating tables, figures, etc.}): extra vertical space from + add-general + + * add-general.tex (throughout): several minor editorials + +2002-09-23 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{LaTeX macros}): question plain commands + in latex code + (subsection{How do I \dots{}?~--- somewhere}): plain.sty question + + * faqbody.tex (section{How do I do ...?}): another change of name + +2002-09-20 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Floating tables, figures, etc.}): new section + heading for explicit float things (currently only floats on their own + float pages) + + * add-general.tex (subsection{Graphics}): limit graphics width to page + (subsection{Floating tables, figures, etc.}): witter about vertical + space in figures + + * additions.tex: pl4.2e, today + + * faqbody.tex (subsection{Page layout}): slight tidy of watermark q's + ctanrefs env + + * dirctan.tex: add totpages + + * add-general.tex (section{Where? --- sort of support?}): "number of + pages in the document?" answer + +2002-09-18 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables, figures and diagrams}): booktabs _is_ + now compatible with at least some other table packages... + + * add-general.tex (subsection{Document structure}): add "page n of m" + + * filectan.tex: add mtw + + * faqbody.tex (section{Documentation and Help}): mention mtw on ctan + +2002-09-17 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.2c, today + (section{Documentation and Help}): restore "making tex work" in the + books section, note that it's out of (print|date), and add link to + tutorials, which now lists sourceforge url + +2002-09-16 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Document structure}): new question about + fitting text into the running head. + + * faqbody.tex: v3.2b, today + (section{TeX Systems}): mention some vim scripts + (subsection{Mathematics}): moved Q-braket in here + (subsection{Page layout}): moved "changing margins" in here + + +2002-09-15 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: add pdftricks + + * faqbody.tex (section{Graphics}): reference pdftricks in the answer + about alternative drawing systems + +2002-09-13 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{TeX Systems}): tidy up "editors" entry for + ms-dos (for tidiness' sake, rather than because of the intrinsic + importance of the subject matter ;-) + +2002-09-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.2a, today + (section{TeX Systems}): text on vim from schröcker + (section{Introduction}): mention schröcker + + * add-general.tex (subsection{Hyphenation}): rather feeble answer on + suppressing hyphenation of words + + * dirctan.tex: concmath is in supported... + + * additions.tex: pl4.2d, today + + * filectan.tex: add needspace, add .gz to latex209.tar + + * add-general.tex (subsection{Page Layout}): complete \needspace + question + +2002-09-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Page Layout}): start of a question on + keeping things on the same page + + * faqbody.tex (section{Graphics}): typo in dvipsgraphics + +2002-09-10 Robin Fairbairns <rf@shep.cl.cam.ac.uk> + + * faq.sty: tidy up after stupidity working on text annotations in + pdf version (which preserved as botched-faq.sty) + +2002-09-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{LaTeX macros}): typo in "finding macros" + v3.2, today + +2002-09-09 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Spacing of characters and lines}): remove + reference to tracking.sty, following notice of its bug + +2002-09-09 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.2c, today + + * faqbody.tex: v3.1c, today + (subsection{Creating citations}): "References from the bibliography to + the citation" from add-general + (section{Graphics}): "Labelling graphics" from add-general + (subsection{LaTeX macros}): "The definitions of LaTeX commands" from + add-general + (section{The joy of TeX errors}): add "missing $" and "font shape not + available" from add-general + + * add-general.tex (subsection{LaTeX macros}): editorial + (subsection{The Joy of TeX errors}): editorial + (subsection{Bibliographies (somewhere)}): editorial + (subsection{Graphics}): editorial + + * faq.sty: add a \toclevel@question with a view to shutting hyperref up + a bit + + * faqbody.tex (subsection{Page layout}): bit more description of + eso-pic (from a post by rolf niepraschk) + +2002-09-08 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document structure}): since i'm more informed + about titlesec, i might as well instruct the world as well... (losing + the reference to titletoc in passing -- dunno about that yet) + + * dirctan.tex: add citeref + + * add-general.tex (subsection{Bibliographies (somewhere)}): backwards + reference to citation answer + + * additions.tex: pl4.2b, today + + * add-general.tex (subsection{The Joy of TeX errors}): answer on font + substitution messages (at long last!!!) + + * filectan.tex: add type1ec + + * dirctan.tex: add type1cm + + * faqbody.tex: v3.1b, today + (subsection{Particular font families}): incorporate small correction + from José Carlos Santos + +2002-09-07 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: add overpic + + * add-general.tex (subsection{Graphics}): first stab at answer on + overlaying text on figures + +2002-09-06 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{The Joy of TeX errors}): $ missing answer + +2002-09-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{LaTeX macros}): tidy and slightly expand + yesterday's work + +2002-09-05 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Graphics}): add a label Q-impgraph + v3.1a, today + (section{Documentation and Help}): added "a tex primer for scientists" + (section{Introduction}): add Hartmut Henkel to list of helpers + (section{Literate programming}): promote noweb (which supersedes + spidery web) + v3.1a.1 (patched prior to re-release) + + * additions.tex: pl4.2a, today + + * add-general.tex (section{LaTeX macros}): tweak finding macro question + +2002-09-05 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{LaTeX macros}): new answer: finding macro + definitions + +2002-09-04 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Alternative document classes}): "replacing + the standard classes" from add-general + (subsection{LaTeX macros}): "presentation of section numbers" from + add-general + + * add-general.tex (subsection{LaTeX macros}): editorial on seccntformat + answer + + * faqbody.tex: v3.1, today + (section{Documentation and Help}): replace mention of uk tug (after + list of books) with notes on contributing + (section{Acquiring the Software}): editorial stuff; remove reference to + decus tape distribution + (section{\acro{DVI} Drivers and Previewers}): remove reference to decus + distribution holding a copy of dvips + (section{Format conversions}): remove troff translator in decus dist + +2002-09-03 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{LaTeX macros}): add actual body to + \@seccntformat question + + * filectan.tex: add sober + + * add-general.tex (subsection{Alternative document classes}): editorial + on standard classes answer + + * dirctan.tex: add pstoedit and purifyeps + + * faqbody.tex (section{Graphics}): mention purifyeps in pdf question, + as route to something includable by pdflatex + +2002-09-03 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.0.1v, today + (section{Documentation and Help}): moved ctan references out to + ctanrefs env after book list + + * additions.tex: pl4.1m, today + + * add-general.tex (subsection{Alternative document classes}): long- + awaited answer on ntgclass, koma-script and memoir + + * faqbody.tex (subsection{"Generic" macros}): defining characters, + active characters in command arguments, defining characters from + command arguments, and transcribing latex commands, from add-general + (subsection{Particular font families}): new section, to hold "using + concrete fonts", from add-general + (subsection{Document management}): add makefiles q from add-general + + * add-general.tex (subsection{How do I do X in (La)TeX}): editorial on + makefiles question + (subsection{Macro programming}): "macros from command arguments" solely + in terms of plain programming + (subsection{Fonts (or something)}): couple more editorials on concrete + + * faqbody.tex (section{Graphics}): moved "making \mp graphics display" + into this section + (subsection{Alternative document classes}): moved "other document font + sizes" into this section + (subsection{Typesetting specialities}): moved code listings up to top + of section + +2002-09-02 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * locations.mk: add FTPDIR + + * Makefile (inst-html): goes to $(FTPDIR) + + * add-general.tex (subsection{Macro programming}): rebalance + "characters commands as commands" and "active chars in command + arguments" + + * dirctan.tex: add concmath-f (the fonts) + + * add-general.tex (subsection{Fonts (or something)}): tidy up, and add + ctan references to the fonts mentioned + + * faqbody.tex (section{Fonts}): new section, to include metafont stuff + and postscript font issues (was \MF and \MP, and \PS and \TeX) + (section{Graphics}): new section, from add-general, plus \MP in + ghostscript (from old \MF and \MP) and drawing stuff from tables, + figures and diagrams + v3.0.1u, today + (subsection{Making things stay where you want them}): mention + flafter.sty in Q-floats + +2002-08-30 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add latexmake + + * Makefile.CTAN (all): add Makefile itself + + * Makefile (ctan): remove commented-out ftp target + + * add-general.tex (subsection{How do I do X in (La)TeX}): more work on + the Makefile question (really for doc management, now, i suppose) + + * locations.mk: new file of "private" locations, that won't go on CTAN + + * Makefile: move explicit locations out to locations.mk + + * dirctan.tex: texhax is browsable + + * faqbody.tex (section{You're still stuck?}): typos/minor corrections + to latex bug and additions to the faq questions + (section{The joy of \TeX{} errors}): typend and unkgrfextn from + add-general + v3.0.1t, today + + * sanitize.pl (sanitize_line): add \pkgoption + + * faq.sty: add \pkgoption + + * add-general.tex (subsection{The Joy of TeX errors}): amalgamated + graphics extension bit with earlier one + + * additions.tex: pl4.1k, today + + * filectan.tex: add gkpmac + + * dirctan.tex: add ccfonts and concmath + + * add-general.tex (subsection{Fonts (or something)}): new subsection + for question from josé carlos santos about concrete + +2002-08-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{Graphics}): provide some sort of + completion for pdftex graphics question, and do first version of dvips + graphics + (subsection{The Joy of TeX errors}): tidy up "... say \end" + + * dirctan.tex: add jpeg2ps, bmeps + + * filectan.tex: add resume + + * dirctan.tex: add currvita + + * faqbody.tex (subsection{Alternative document classes}): update + curriculum vita question with rec for currvita + (section{Introduction}): hans nordhaug to list of contributors + + * additions.tex: pl4.1j, today + + * add-general.tex (subsection{"Generic" macros}): first pass of + \newcommand answer complete (do we need \@ifundefined, \@ifnextchar?) + +2002-08-25 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{PS and TeX}): editorial from santos + +2002-08-24 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Page layout}): mention pdflscape.sty in the + landscape question + v3.0.1r, today + +2002-08-23 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Footnotes}): make reference to \footref in + "texts are identical" + + * add-general.tex (subsection{Installing AllTeX files}): editorials + + * faqbody.tex (subsection{Document management}): mention \gobble and + \iffalse ... \fi in "comments" question + + * sanitize.pl (sanitize_line): add cmdinvoke with mandatory argument + followed by optional one + + * dirctan.tex: add subfiles + + * faqbody.tex (subsection{Alternative document classes}): add reference + to subfiles system in "report from lots of articles" + v3.0.1q, today + + * additions.tex: pl4.1i, today + + * add-general.tex (subsection{The joy of TeX errors}): new answer (from + a post by heiko oberdiek), about "unknown graphics extension" + +2002-08-21 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables of contents and indexes}): editorials, + including rearranging "unnumbered sections in toc" + (subsection{Typesetting specialities}): editorials + (subsection{Tables, figures and diagrams}): editorials + + * add-general.tex (subsection{"Generic" macros}): first paragraph of + question on understanding latex command declarations + + * faqbody.tex (section{Bits and pieces of TeX}): minor editorials + (section{Bibliographies and citations}): minor editorials, split into + subsections + (section{PS and TeX}): excise any mention of mathpple + + * filectan.tex: give TeX-FAQ a filename (ha ha) + + * dirctan.tex: remove TeX-FAQ (the old faq) + +2002-08-20 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Typesetting specialities}): talk down + dropping package in Q-dropping (ha ha) + (subsection*{Finding the Files}): slight editorial + (section{The Background}): various holiday editorials + (section{Documentation and Help}): added joy of tex to list of books(!) + v3.0.1p, today + +2002-08-02 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: + 3.0.1o, today + (sections{The Background,Bits and pieces of TeX}): minor tidies and + updates + +2002-07-31 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.1h, today + + * add-general.tex + (subsections{Generic and LaTeX macros}): frameworks for a couple of new + questions + + * faqbody.tex + v3.0.1n, today + (section{Macro programming}): split into two halves, "generic" and + latex + +2002-07-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex + (section{Documentation and Help}): add wilkins' pllong.pdf to the + tutorials section + v3.0.1m, today + +2002-07-25 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: today's date + (section{Symbols, etc.}): add mention of encoding problems, and suggest + \char`\_, in underscore question + +2002-07-24 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Tables, figures and diagrams}): add stabular + to the long table stuff + v3.0.1l, today + +2002-07-23 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.0.1k, today + (section{Bits and pieces of TeX}): record that ec fonts don't cover all + sami languages + (section{Introduction}): add Regnor Jernsletten to helpers' list + +2002-07-21 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{TeX Systems}): change \htmlonly to \nothtml in + Y&Y entry (!) + + * sanitize.pl (sanitize_line): move \htmlonly down with the other two + + * faqbody.tex (section{Current TeX Projects}): micro-typo in doc prep + (section{Bits and pieces of TeX}): \nothtml problem in encodings + (section{PS and TeX}): add licence remark to txfonts and pxfonts + (section{PS and TeX}): mention dvips -G1 bugfix (which version is it?) + v3.0.1j, today + +2002-07-18 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize.pl (sanitize_line): moved \nothtml and \latexhtml to the end + of the big block of conversions, so their arguments get processed + before they do (probably need to do same for other similar commands) + + * faqbody.tex (section{The Background}): \begin{footnoteenv} on a line + by itself (and three other places in the document) + (subsection{Things have "gone away"}): typo correction for msx/y font + ctanrefs environment + v3.0.1i, today + (section{Installing AllTeX files}): add Q-miktexinst from add-general + (section{The Background}): also tidy Q-MP + +2002-07-16 Robin Fairbairns <rf@stripos2.cl.cam.ac.uk> + + * add-general.tex (subsection{Installing AllTeX files}): more work on + the cm-pfb fonts question + +2002-07-14 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (subsection{Installing AllTeX files}): correct typos; + add disclaimer about miktex failing to know about a package + +2002-07-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.1g, today + + * add-general.tex (subsection{Installing (La)TeX files}): new question + about installing from miktex + + * faqbody.tex:: v3.0.1h, today + (section{Installing (La)TeX files}): make reference to new question on + miktex installation + +2002-07-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.1f, today + + * add-general.tex (subsection{Installing AllTeX files}): bit of editing + of the cm-type1 question + +2002-07-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: today's date + (section{Format conversions}): added info (from Alejandro Lopez- + Valencia) about using acrobat 5 to produce output via word 2000 (!) + +2002-07-07 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): add system and OS info + to the list of things people should report, when appropriate. + + * add-general.tex (subsection{Installing AllTeX files}): start on + questions about installing fonts, and installing type 1 cm in + particular + + * faqbody.tex (section{MF and MP}): make the reference to bluesky to + mention browsing + v3.0.1g, today + + * dirctan.tex: Make bluesky browsable + +2002-06-28 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: today's date (not changing minor version number) + (section{Support Packages for TeX}): correct support reference for + xfig, and mention jfig in that question + +2002-06-27 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common misunderstandings}): minor usage mods + in "rerun" question, suggested by john palmieri + + * sanitize.pl (sanitize_line): remove \end{document} + + * faqbody.tex: v3.0.1f, today + +2002-06-22 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): correct address for + Peter Flynn's intro, which has moved with site re-org + 3.0.1e, today + +2002-06-18 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Page layout}): mention full document in + landscape orientation in landscape question, and include geometry for + that + v3.0.1d, today + +2002-06-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Current TeX Projects}): url for x-symbol + v3.0.1c, today + +2002-06-13 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document management}): CTAN-refer to oberdiek + + * dirctan.tex: add epstopdf, rename pagesel as oberdiek + + * add-general.tex (subsection{Graphics}): start on pdftex question + + * faqbody.tex (subsection{Mathematics}): deal with overflowing column + in second example definition of "log-like" \diag + +2002-06-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * Makefile.CTAN: removed required-questions + +2002-06-10 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (three places): remove \Destination commands + v3.0.1a, today + +2002-06-09 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.0.1, today + (section{Current TeX Projects}): web2c* for sources; final editorial + work on document prep question + (section{DVI Drivers and Previewers}): weasel words around dvilj + + * dirctan.tex: add web2c*; remove pdftex, dviljk; update + french-(le|pro) + +2002-06-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Typesetting specialities}): "typesetting a + file in verbatim" -> drop the "in" + (section{Current TeX Projects}): typo in the web question + (section{Current TeX Projects}): several gross typos in the wysiwyg + question, and new intro para + v3.0h, today + +2002-06-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.0g, today + (section{Current TeX Projects}): new question re-derived from david + kastrup's input on wysiwyg + (section{The Background}): david kastrup's stuff moved away from here + + * sanitize.pl (sanitize_line): rearrange deckchairs slightly so + \cmdinvoke "long forms" are scanned before shorter equivalents + + * faqbody.tex (subsection{Spacing of characters and lines}): minor + reword to change emphasis of doublespace document + +2002-06-05 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v3.0f, today + (section{Macro programming}): correct minor think-o in opt args + question yesterday + (section{The Background}): lots more editorial work on wysiwyg + + * texfaq2html-beta: require sanitize-beta.pl + + * Makefile (inst-perl-beta): install sanitize-beta + +2002-06-04 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): moved wysiwyg question over + (section{Macro programming}): the two command argument answers, too + + * additions.tex: pl4.1e, today + + * add-general.tex (subsection{Macro programming}): new answer on >1 + optional argument + (subsection{The background}): editorial work on david kastrup's + splendid contribution + (subsection{Macro programming}): added ctanrefs for Q-moren9 + + * sanitize.pl (sanitize_line): add \cmdinvoke{name}[opt] + +2002-06-02 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Mathematics}): refer to amsthm proof env + +2002-06-01 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Installing AllTeX files}): add .mf to wherefiles + +2002-05-27 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{The background}): revision of wysiwyg + question, courtesy of david kastrup + + * dirctan.tex: added texmacs and preview-latex + +2002-05-26 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * texfaq2file: distinguish sections and subsections in index.html, and + change the trailer of each question to be a bit like that of the web + version + + * texfaq2html,texfaq2html-beta: distinguish sections and subsections in + the listing of questions at the start + +2002-05-25 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * filectan.tex,dirctan.tex,faqbody.tex: uktug-faq -> faq throughout + (file names as well as email address) + + * Makefile (inst-html): add README + + * README: first stab at this; done for thomas esser's benefit + + * Makefile.CTAN: replace 00readme with README, add sanitize.pl and + texfaq2file + + * additions.tex: pl4.1c, today + + * faqbody.tex (section{Documentation and Help}): typo in words about + tex-by-topic on web, so reworded slightly, too + v3.0d, today + + * add-general.tex (subsection{Macro programming}): added question on >9 + arguments + (subsection{Graphics}): finished first pass on general question; added + headers for dvips and pdflatex graphics + +2002-05-23 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl4.1b, today + + * filectan.tex: add epsf.tex + + * add-general.tex (subsection{Graphics}): start of a witter about + graphics inclusion in general + + * dirctan.tex: add dtxtut + + * faqbody.tex: v3.0c, today + (section{Bits and pieces of TeX}): add ref to dtxtut + +2002-05-22 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document management}): rename question to + "conditional compilation and comments" + +2002-05-21 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{PS and TeX}): mathpazo now v1.003 + + * Makefile (ctan): use newly-defined $CTAN_ROOT and $CTAN_HOME + + * faqbody.tex (section{Symbols, etc.}): redo text about euro in light + of the discovery that the commission now accepts non-sans symbols + v3.0b, today + +2002-05-16 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Macro programming}): \p@enumii needs + \renewcommand + + * add-general.tex (subsection{Macro programming}): tidy and extend + catcodes question + + * faqbody.tex (section{PS and TeX}): removed \acro round micropress + font name "capitals" part, and corrected "ps math"->"pa math"(!) + (section{Bibliographies and citations}): reword answer on multiple + citations + +2002-05-15 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Document structure}): balancing columns (as + amended) from add-general + (subsection{Alternative document classes}): letter classes from add- + general + v3.0a, today + +2002-05-15 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (subsection{How do I do X in (La)TeX}): remove + reference to baltools in "balancing columns" question + (subsection{Alternative document classes}): twiddle the wording a bit + (subsection{Macro programming}): more scribbling in "defining macro + from argument" + +2002-05-14 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: added testflow + +2002-05-14 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add akletter, dinbrief, newlfm; remove aladdin + + * additions.tex: pl4.1, today + + * add-general.tex (subsection{Alternative document classes}): letter + classes + +2002-05-13 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize.pl (sanitize_line): \WYSIWYG translate as WYSIWYG(!) + + * additions.tex: pl4.0, today + + * faqbody.tex: v3.0, today + + * texfaq2html: added provision for subsections + + * faqbody.tex (section{Format conversions}): add latex->plain from + add-general + (section{The Background}): latex<->plain from add-general + (subsection{Document structure}): "really blank pages" from add-general + (subsection{Typesetting specialities}): decimal comma from add-general + (subsection{Document management}): RCS question from add-general + (subsection{Typesetting specialities}): breaking boxes from add-general + (subsection{Tables, figures and diagrams}): floats on their own float + pages from add-general + +2002-05-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Things are Going Wrong...}): rearranged, and + stuff moved out; suppressed question about miktex format creation + (section{PostScript and TeX}): moved charshift in here for want of + anything better... + (subsection{Page layout}): landscape orientation (from "specialities") + + * add-general.tex (subsection{Format Conversions}): for part of the + latex->tex question (also edited a bit) + + * additions.tex: pl3.9m, today + + * faqbody.tex (section{You're still stuck?}): split bug question in + two, taking stuff from add-general + (section{Documentation and Help}): "how to ask a question" from + add-general + (section{Bibliographies and citations}): "bib->html" from add-general + (section{The Background}): add explanation of the acronym in the + wysiwyg question + v2.5.8u, today + +2002-05-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.9l, today + + * add-general.tex (subsection{You're still stuck?}): add details of + using the bugs web page to question on latex bug reports + (subsection{How do I do X in (La)TeX}): tidy wrapping in norman gray's + question + +2002-05-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add rcs + + * add-general.tex (subsection{How do I do X in (La)TeX}): rcs question, + courtesy of norman gray + + * additions.tex: pl3.9k, today + + * faqbody.tex (section{TeX Systems}): tidied text about cygwin + +2002-05-06 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.8t, today + (section{TeX Systems}): add reference to tetex for cygwin + +2002-04-30 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): added peter flynn's + tutorial to tutorials question + + * add-general.tex (subsection{Documentation and Help}): new question on + how to formulate questions (self-referential or what?) + (subsection{The Background}): minor tidy of translation question + (throughout): removed most \Destination commands + + * additions.tex: pl3.9j, today + + * faqbody.tex: v2.5.8s, today + (section{Documentation and Help}): reword text about google + +2002-04-29 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: various questions moved around and subsections created + +2002-04-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{DVI Drivers and Previewers}): suppress + suggestion that dvips is readily available + +2002-04-28 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: changed date to today + + * dirctan.tex: added feyn + + * faqbody.tex (subsection{Tables, figures and diagrams}): correct + ctanrefs references to picins; put picins at the end of the list in + the body of the answer + (subsection{Footnotes}): mention the "table notes" feature of + threeparttable + (subsection{Tables, figures and diagrams}): refer to feyn font package + +2002-04-27 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common misunderstandings}): correction and + improvement to Q-marginparside from Norman Gray + v2.5.8r, today + +2002-04-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: removed three directories that no longer exist + (including dviware/dvipsk) + +2002-04-16 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.9i, today + + * add-general.tex: 3 questions->faqbody + + * faqbody.tex: v2.5.8q, today + (subsection{Tables of contents and indexes}): bibliography and index in + toc from add-general + (subsection{Tables, figures and diagrams}): strutting tables, and long + tables from add-general + +2002-04-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Something or other}): add mention of tracking + to the letterspacing question + + * filectan.tex: added tracking.sty + +2002-03-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.9h, today + + * faqbody.tex: bunch more shifting around of questions + v2.5.8p, today + (section{Current TeX Projects}): textrace question, from add-general + + * faq.cls: add \ProvidesClass declaration, use obeyspaces option when + loading url.sty + +2002-03-10 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{PS and TeX}): mention DVIWindo as capable of + direct rendering of type1 fonts + (section{Hypertext and PDF}): hack at "making hypertext documents" and + "making acrobat documents", and correct references to [tp]xfonts (the + package name is plural] + v2.5.8o, today + +2002-03-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (subsection{Common errors}): new, under why does it do + that?; plus a whole bunch of new subsections, with corresponding re- + arrangements of text of questions + + * texfaq2html-beta: treat \subsection the same as \section, pro tem + + * sanitize.pl (sanitize_line): ignore \subsection and its arguments + +2002-03-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex: move all the questions into subsections + + * faq.sty: today's date: deemed to be v1.1 (surely as good as any?) + define \subsection as a sort of mini-section (also \l@subsection) + +2002-03-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): mention that + \extracolsep can be cancelled + v2.5.8m, today + +2002-03-04 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: convert \def\file* + \typeout => \ProvidesPackage (v2.2) + + * add-general.tex (section{Proposed new questions}): minor rewording of + q on breaking boxes of text + +2002-02-26 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v2.5.8l, today + (section{Documentation and Help}): refer to ams short math guide + +2002-02-21 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.9g, today + + * add-general.tex (section{Proposed new questions}): tidy up breakable + boxes question + + * faqbody.tex (section{Hypertext and PDF}): lates gs is 7.04 + v2.5.8k, today + (section{Special sorts of typesetting}): eplain defines \path; provide + recipe for using url.sty in plain + +2002-02-20 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): stupid error in Q-latex2e + + * texfaq2html: the -beta version seems to work, so let's go live with + it... + + * faqbody.tex (section{You're still stuck?}): tidy noans and newans, in + particular making use of \href for the mailto url + [preamble]: v2.5.8j, today + + * texfaq2html-beta: first stab at labellisation + +2002-02-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v2.5.8i, today + (section{The Background}): add link to Q-lit under description of tex + (section{Literate programming}): add reference to + literateprogramming.com in Q-lit + +2002-02-13 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * filectan.tex: add framed and shade + + * add-general.tex (section{Proposed new questions}): start of breakable + boxes question + +2002-02-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: added was (walter schmidt's bits and pieces) + + * add-general.tex (section{Proposed new questions}): question about + commas as decimal separators + +2002-02-01 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): correct a \URL|...| + +2002-01-30 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): first stab at + answer on under- and overfull boxes, made by strapping a few + other people's postings onto a bit of intro stuff of mine + + * additions.tex: pl3.9f, today + + * add-general.tex (section{Proposed new questions}): added pktrace to + textrace question + +2002-01-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{PS and TeX}): typo spotted by jose carlos santos + (section{Why does it do that?}): typo spotted by j.c.s (again) + +2002-01-17 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.9e, today + + * add-general.tex (section{Proposed new questions}): minor tweaking of + the bib->html question + +Tue Jan 15 08:02:18 2002 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): added web pointers to + some known latex documentation, rewrote mention of tex by topic + v2.5.8h, today + +Sun Jan 13 22:17:28 2002 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.9d, today + + * filectan.tex: add noTeX, bbl2html + + * add-general.tex (section{Proposed new questions}): add question on + bib->html, starting with noTeX, bbl2html + +2002-01-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): change information + about texhax, and provide url for finding info about tex lists via + heidelberg + v2.5.8g, today + +2002-01-09 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Symbols, etc.}): mention the m$ euro code + + * faq.sty: change \Question \@startsection parameters to allow less + space between questions, and to use \normalsize bold text + +2002-01-08 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.9c, today + + * add-general.tex (section{Proposed new questions}): answer on + translating latex to plain, directly copied from Jules Bean on c.t.t + + * dirctan.tex: removed all the obsolete/dviware things, the format- + dumper fantasies, systems/knuth/dviware and dvitodvi + + * filectan.tex: correct axodraw + + * newfaq.tex,newfaq-patch.tex,letterfaq.tex: \typeout at end report + \thequestion, not \thesubsection + + * faq.sty: redo \question as a \@startsection in its own right with its + own counter), and remove all the kerfuffle needed to make it work + mapping to \subsection; also remove \subquestion and the like + +2002-01-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v2.5.8f, today + (section{Introduction}): tidy reference to alternative html, remove + dick nickalls from the list of non-members of the committee + (section{The Background}): rewrite texinfo entry to mention texi2html + (section{The Background}): various other entries: provide pointers to + distributions in ctanrefs envs at end of questions + +2002-01-03 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * sanitize.pl (sanitize_line): remove requirement for \nobreakspace to + have trailing {} (dunno why this makes it work, mind you...) + + * faqbody.tex (section{Bibliographies and citations}): change ~ in + \href anchor to \nobreakspace + (section{Symbols, etc.}): change ~ at end of \href to \nobreakspace + +2002-01-02 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): all double-line + \Destination commands forced onto single line + (section{Proposed new questions}): tidy up question on long tables + + * sanitize.pl (sanitize_line): escape "*" in \cmdinvoke* :-} + +Tue Jan 1 09:12:47 2002 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.9b, today + + * add-general.tex (section{Proposed new questions}): finish off + longtable question + +Sat Dec 29 22:52:52 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.8e, today + (section{Documentation and Help}): various corrections to books, on + advice from Barbara Beeton (including removing Gr"atzer's math into + tex, which is superseded by math into latex) + +Wed Dec 26 00:28:32 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * sanitize.pl (sanitize_line): add * version of 2-mandatory-arg + \cmdinvoke + + * faq.sty: make \cmdinvoke take * (for meta-arguments) + + * filectan.tex: add ltxtable + + * dirctan.tex: add xtab + + * add-general.tex (section{Proposed new questions}): start new question + on long tables + +Tue Dec 25 09:15:35 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: 2.5.8d, today + +Mon Dec 24 17:37:18 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.8c, today + (section{Documentation and Help}): add tex by topic to "tutorials"; + remove it from "books" + (section{The Background}): switch reference to tex by topic + (section{Documentation and Help}): restore tex by topic to "books", at + victor's suggestion, and cross-link to tutorials + +2001-12-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v2.5.8b, today + + * dirctan.tex: add nedit-latex + + * faqbody.tex (section{Current TeX Projects}): explain that the java + version is called nts + (section{TeX Systems}): added reference to the nedit stuff in editors + and shells + +2001-12-18 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): Added question on + submitting latex bug reports; minor tidies to question on array + spacing + (section{Proposed new questions}): new version of q-bug + +Sun Dec 16 10:17:08 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: today + + * dirctan.tex: add booktabs + + * filectan.tex: add tabls + + * add-general.tex (section{Proposed new questions}): new question on + array strutting + + * sanitize.pl (sanitize_line): added \'o (for peter szabo) + +Sat Dec 15 10:56:39 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.9a, today + + * add-general.tex (section{Proposed new questions}): question on + textrace, with references to existing outputs + + * dirctan.tex: added cm-super and ec-type1 + + * filectan.tex: added musixtex-type1 + + * Makefile.CTAN (all): remove newfaq.workers + + * faqbody.tex: v2.5.8a, today + (section{Symbols, etc.}): removed second mention of europs<->eurosans + difference in recommendation at end of adobe subsection + +2001-12-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Symbols, etc.}): added mention of latin9 and its + implications + +2001-12-10 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.9 + + * faqbody.tex (section{Symbols, etc.}): added euro question from + add-general + (section{How do I do X in TeX or LaTeX}): added bold-xy and ragged + questions from add-general + v2.5.8 + + * add-general.tex (section{Proposed new questions}): yet more fiddling + with euro question + slight typo corrected in "cancelling ragged" question; comment out text + referring to donald's flushboth (which hasn't surfaced yet) + + * faqbody.tex (section{Current TeX Projects}): minor tidy of omega q + +Mon Dec 10 07:30:22 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.7i, today + + * add-general.tex (section{Proposed new questions}): revision and + slight extension of euro question + +Sun Dec 9 23:19:29 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Current TeX Projects}): slight further reduction + of random twaddle in text of nts q + +2001-12-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add nts + + * faqbody.tex (section{Current TeX Projects}): deflower phil's text + about nts a bit, and add reference to public release of nts/java + + * additions.tex: pl3.8b, today + + * add-general.tex (section{Proposed new questions}): bunch of new stuff + on how to typeset euros (from yesterday and today) + + * dirctan.tex: add china2e, eurosym, eurofont + +2001-12-06 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): good start on euro + question + + * dirctan.tex: add euro-fonts, marvosym-fonts + +2001-12-05 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): added scott pakin's + keywords to symbol list question + v2.5.7h, today + (section{The Background}): correct \href for context + +2001-12-04 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): correct syntax + for latest version of pdfpages package + v2.5.4g, today + (section{Introduction}): add Andreas Matthias to list of benefactors + +2001-11-28 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: 2.5.7f, today + (section{PS and TeX}): tidy up question about metrics, add reference to + ly1 and to walter's site of extra goodies and, and, and... + +2001-11-27 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): spell martin + schröder's name right + +2001-11-26 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v2.5.7e, today + + * additions.tex: pl4.8a, today + + * add-general.tex (section{Proposed new questions}): add question on + flushboth (after discussion with da) + + * faqbody.tex (throughout): saturday's -{}- -> -\relax- + +Sat Nov 24 09:47:06 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (throughout): -- (in "verbatim" bits convert) to -{}-, + and where necessary convert |..--..| -> \texttt{..-{}-..} + v2.5.7d, today + (section{Introduction}): add thomas esser + +2001-11-23 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): amend words about + metafun manual, and redirect web address to ntg site + v2.5.7c, today + +2001-11-22 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): \nothtml-tidy typo correction + +2001-11-20 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v2.5.7b, today + (sections {The Background}, {Acquiring the Software}): micro-editorials + from Jose Carlos Oliveira Santos + (section{The Background}): added a ref to the ntg copy of context web + site (pending the arrival of a "real" one...) + +2001-11-15 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): "tiny typo" + (\pagnumbering) in "eliminating page numbers" + v2,5,7a, today + (section{TeX Systems}): first stab (pre-ctan availability) of reference + to macos x tetex and texshop; added reference under "unix" to "mac" + (section{Current TeX Projects}): correct signup address for omega list + (section{TeX Systems}): corrected spelling of wierda + (section{Documentation and Help}): tug.org copy of bausum's list + +2001-11-13 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.8, today + + * add-general.tex (section{Proposed new questions}): add a question on + bold tt and csc + + * filectan.tex: add bold-extra + + * faqbody.tex (throughout}): \CTAN{}->\acro{CTAN} + +2001-11-07 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{TeX Systems}): change references to miktex + v2.5.7, today + + * dirctan.tex: remove miktex directory + + * filectan.tex: replace miktex-zip with miktex-install and miktex-setup + +2001-11-05 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.7l, today + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): mention + ntheorem in "roman theorems", use \upshape instead of \rm in original + example + 2.5.6k, today + + * add-general.tex (section{Proposed new questions}): tocbibind question + +Sat Nov 3 15:29:07 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): moved code + listings from "how do i do x" + (section{How do I do X in TeX or LaTeX}): removed text about 209 in + "log-like function" + (section{Things are Going Wrong}): remove rmnonsense question, and + reference to it in "missing symbol commands"; tidy up "missing symbol + commands", and add ctanrefs for amsfonts + (section{Things are Going Wrong}): ctanrefs for msx/y question + +Wed Oct 31 23:10:31 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{PS and TeX}): finished belleek stuff + +Tue Oct 30 23:35:48 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * filectan.tex: add belleek (just the .zip file) + + * faqbody.tex (section{PS and TeX}): mention belleek (needs url for + paper) + +2001-10-30 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * Makefile (inst-perl*): add sanitize_line + + * texfaq2file,texfaq2html,texfaq2html-beta: require sanitize.pl, remove + sanitize_line + + * sanitize.pl: new file, providing sanitize_line for texfaq2* + + * faqbody.tex (section{Current TeX Projects}): not :8080 for omega site + +Tue Oct 30 00:14:29 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Current TeX Projects}): update omega question + +Mon Oct 29 22:32:39 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{PS and TeX}): use richard's words re. truetype + (section{How do I do X in TeX or LaTeX}): detail the further brilliant + things titlesec can do in re. \subsubsubsection + (section{Special sorts of typesetting}): remove misleading remark about + titlesec's capabilities re. \part + v2.5.6l, today + +2001-10-29 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Bibliographies and citations}): change title + from just "bibliographies" + (section{PS and TeX}): change listing of {cm,ams}-amstype1 to "browse" + (section{TeX Systems}): change to truetex entry as per mail from + richard + +Sun Oct 28 09:19:36 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Why does it do that?}): correct html problem + spotted by donald a, and modify \xspace question according to his + caveats + + * texfaq2html,texfaq2html-beta,texfaq2file (sanitize_line): add + nullification of \relax at end + + * faqbody.tex (section{PS and TeX}): comlete tidying-up the outline + fonts question (no more now until i've viewed the result on paper) + +Sat Oct 27 00:55:30 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{PS and TeX}): corrections/extensions from Walter + Schmidt, started work on ctanrefs env at end of question + (section{Introduction}): add Walter's name to list + + * dirctan.tex: add eulervm + + * faqbody.tex (section{Typesetting particular types of documents}): + moved typesetting a thesis here + (section{Bibliographies}): rearranged to put things relating to + creating the bib together at the start of the section, with "using" it + (macros etc) afterwards; moved citing urls in here + (section{The joy of TeX errors}): replacement "how to approach", + new "missing number" questions from add-general + + * additions.tex: pl3.7k, today + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): rewrite + parenthetical remarks about gill, correct parentheses later on + v2.5.6k, today + + * add-general.tex (section{Proposed new questions}): yet again correct + wrapping of examples in "macros from command arguments" (will get it + right eventually...) + +Mon Oct 22 12:48:28 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): work on active + character questions (can we do without a screed on catcodes + altogether?) + + * texfaq2file,texfaq2html,texfaq2html-beta (sanitize_line): add + \textbar + + * faq.sty: add definition of \textbar + +Sat Oct 20 08:26:05 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): correct josé carlos santos' name + +2001-10-19 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): add a label to + "alignment of tabular cells" question + v2.5.6j, today + +2001-10-12 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.7.l1 {since redone}, today + + * add-general.tex (section{Proposed new questions}): redoing work done + at home decreasing the verbosity of the replacement error approach q, + and tidying it up + +2001-10-11 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{The joy of TeX errors}): slight rewording of + Q-atvert to take account of "improper \spacefactor" (which appeared in + a question on c.t.t) + v2.5.6i, today + +Sat Oct 6 09:17:26 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.7k, today + + * add-general.tex (section{Proposed new questions}): tidied missing + number question, start on question on skips vs. dimens + +2001-10-04 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.7j, today + + * add-general.tex (section{Proposed new questions}): new question on + "missing number" + +Tue Oct 2 22:45:47 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.7i, today + + * add-general.tex (section{Proposed new questions}): revision of + general approach errors question, taking account of trace package + +2001-10-02 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): gratuitous tidying of + mail list text + +2001-09-26 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): greek->Greek + (for epsilon in question about logos and things) + + * texfaq2file (oh_dear): don't print wrapper for message... + (two other places): replace "die" with call to oh_dear + +Mon Sep 24 22:41:48 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.6h, yesterday (forgot the change then) + + * additions.tex: pl3.7h, today + + * add-general.tex (section{Proposed new questions}): tiny typo + correction in \clearemptydoublepage answer + +2001-09-24 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: added memoir + + * add-general.tex (section{Proposed new questions}): question on + empty pages between chapters + +Sun Sep 23 15:37:53 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): new question on + what to do when asked to type \end + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): "referring to + things by name" from add-general + (section{Bibliographies}): "listing all bib entries" from add-general + + * add-general.tex (section{Proposed new questions}): wrap dvi version + of some of examples in "defining macro from arg" question (and adjust + the title of the question + + * faqbody.tex (section{Special sorts of typesetting}): a couple of + issues raised in proofreading (principally in description of xindy) + +Mon Sep 10 14:52:09 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): muck about with the "alternative + versions text, and add reference to the pdf copies on ctan + + * filectan.tex: added uktug-faq-{a4,letter} + +Sun Sep 9 00:43:37 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * filectan.tex: add titleref + + * add-general.tex (section{Proposed new questions}): question on title + references (first stab) + + * additions.tex: pl3.7g, today + + * add-general.tex (section{Proposed new questions}): new question on + \nocite{*} + + * dirctan.tex: add fonts/amsfonts/{latex/plaintex} + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): rehash of + blackboard bold question + +Sat Sep 8 22:02:04 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: added ntheorem + + * faqbody.tex (section{Why does it do that?}): twiddling with the over- + full boxes question + (section{How do I do X in TeX or LaTeX}): answer the "end proof + environment with symbol" question in the affirmative, ref. ntheorem + v2.5.6g, today + +Fri Sep 7 17:01:12 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.7f, today + + * faqbody.tex (section{Why does it do that?}): question on overfull + lines from add-general + v2.5.6f, today + +Thu Sep 6 09:54:29 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html,texfaq2html-beta: minor tidies to make uniform with + texfaq2file + +Wed Sep 5 17:55:48 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): tidying wysiwyg question + (again) + +Tue Sep 4 23:03:11 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): a little tidying + of the new question + +Tue Sep 4 17:32:47 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.7e, today + + * add-general.tex (section{Proposed new questions}): bit of tidying of + one-float-per-page question, new question on defining commands whose + name arrives in an argument + +Tue Aug 28 13:01:30 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Current TeX Projects}): correct typo + (section{The Background}): reading tex files, and why not wysiwyg from + add-general + (section{The joy of TeX errors}): \end in group from add-general + (section{Special sorts of typesetting}): dropped capitals from + add-general + +Tue Aug 28 11:37:17 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * Makefile (clean): delete _all_ *.out + +Mon Aug 27 10:53:49 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Current TeX Projects}): normalise ctan etex and + pdftex references (and thus reword a little) + + * dirctan.tex: make e-tex and pdftex *-directories + + * add-general.tex (section{Proposed new questions}): new drop caps q + (should we mention dropcaps, if only to deprecate it?) + (section{Proposed new questions}): couple of \end{verbatim} missing + from end groups question(!) + + * dirctan.tex: add dropping, lettrine + +Sun Aug 26 10:24:31 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.6d, today + + * additions.tex: pl3.7d, today + + * add-general.tex (section{Proposed new questions}): minor proofreading + edits + + * faqbody.tex (section{Macro programming}): minor proofreading edits + +Sat Aug 25 19:59:17 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Macro programming}): added proposed question on + macro programming + + * add-general.tex (section{Proposed new questions}): tidying "\end + inside a group" + +Thu Aug 23 15:06:09 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): first outline of + "\end inside a group..." question + +Wed Aug 22 12:28:17 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): minor proof- + reading changes + + * faq.sty: make \WYSIWYG uppercase the first letter of the start of a + sentence ... mostly + +Sat Aug 18 09:29:00 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * texfaq2html,texfaq2html-beta (sanitize_line): as texfaq2file + + * texfaq2file (sanitize_line): redo definition of \CONTeXT + + * faq.sty: redo definition of \CONTeXT + + * faqbody.tex (section{Why does it do that?}): standardise reference to + textcase package + (throughout): standardise on use of \CONTeXT macro + + * add-general.tex (section{Proposed new questions}): putative + completion of the wysiwig question (lordie, is it turgid) + + * faqbody.tex (section{Current TeX Projects}): typo in the "web" bullet + about svg + + * Makefile: have `clean' target get rid of html/* as well as _all_ + *.aux (no need to protect newfaq.aux nowadays), and remove a redundant + second (empty) `ctan' target + + * texfaq2html,texfaq2html-beta (sanitize_line): as texfaq2file + + * texfaq2file (sanitize_line): take {} requirements off definition of + \textasciitilde, so it can be used in \texttt + + * add-general.tex (section{Proposed new questions}): correction/ + improvement of spaces and active chars in arguments questions + +Fri Aug 17 00:53:10 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.7c, today + + * faqbody.tex (section{Special sorts of typesetting}): remove (now + unwanted) braces after \textpercent + + * texfaq2html,texfaq2html-beta (sanitize_line): as texfaq2file + + * texfaq2file (sanitize_line): don't have \textpercent requiring braces + after it (since it'll inevitably appear in the argument of \texttt) + + * add-general.tex (section{Proposed new questions}): another new + question on unwanted space in macros + +Thu Aug 16 00:36:09 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): new question on + active chars in args of other commands + + * faqbody.tex (section{The joy of TeX errors}): correct example in + "structure of errors" + (section{Why does it do that?}): minor improvement of english in "rerun + messages" + (section{Why does it do that?}): move "hash signs doubled in macros" to + macro programming, and change title to "defining macros within macros" + + * add-general.tex (section{Proposed new questions}): a few more words + on wysiwygginess... + +Tue Aug 14 16:16:29 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + installed on ctan; checked-in + + * dirctan.tex,filectan.tex: texsis no longer nonfree + + * faqbody.tex (section{Format conversions}): revised address for + wilfried hennings' faq + v2.5.6c, today + +Mon Aug 13 01:01:12 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): more twiddles on + "what to do with a latex file" + (section{Proposed new questions}): new question on wysiwyg-ness + + * texfaq2file: sorted archive and format defaults (were left blank) + +Sun Aug 12 01:01:49 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): "what to do with a + (la)tex file" (first version) + + * additions.tex: pl3.7b, today + + * faqbody.tex (section{Documentation and Help}): stray char in + booklist; move reference to errata for math into latex back up where + it belongs near the reference to the book + + * add-general.tex (section{Proposed new questions}): change preamble of + each proposed question to use \Destination + (section{Proposed new questions}): add reference to paragraph parameter + problem in \tolerance question + + * faq.sty: add \Destination + + * texfaq2file (sanitize_line): add \Destination + + * texfaq2html,texfaq2html-beta (sanitize_line): as texfaq2file + + * texfaq2file (sanitize_line): redo definition of \keywords to produce + html comments (works! ... if not subsequently translated to html ;-), + and place it at the end of if (converting ...) section + + * faqbody.tex (section{Bits and pieces of TeX}): verbatim \'e (again) + (section{The joy of TeX errors}): and again + v2.5.6b, today + +Fri Aug 10 14:21:38 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}): silliness of html trans + v2.5.6a, today -- checkin + +Thu Aug 9 12:42:56 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: set \@rightskip, not \rightskip, in def of ctanrefs env + + * additions.tex: pl3.7a, today + + * add-general.tex (section{Proposed new questions}): start of question + about tolerance (yeah, man) + + * faqbody.tex (section{Things are Going Wrong...}): missing paren added + in Q-nohyph + +Tue Aug 7 14:41:37 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): correct + list info for music list + +Mon Aug 6 16:50:12 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * [various]: checkin + +Mon Aug 6 13:18:02 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.7, today + + * Makefile.CTAN (DEST): new location (oops!) + + * faqbody.tex: 2.5.6, today + +Sun Aug 5 00:31:07 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): correct urls for html + upload scripts + (section{Hypertext and PDF}): pkfix question from add-general + (section{Macro programming}): comparing the job name question (ditto) + (section{Why does it do that?}): commands gobbling space (ditto) + (section{How do I do X in TeX or LaTeX}): repeating footnotes (ditto) + (section{Macro programming}): argument a number (ditto) + (section{How do I do X in TeX or LaTeX}): altering tabular cell + alignment (ditto) + + * add-general.tex (section{Proposed new questions}): finally struggled + through section on catcodes of question on catcodes and tokens + + * texfaq2file,texfaq2html,texfaq2html-beta (sanitize_line): added + \environment translation(!) + + * add-general.tex (section{Proposed new questions}): |\\|->|\||\| + throughout + + * texfaq2file: add ability to read files whose names appear on $ARGV; + correct test for new faq sections at the start of while <TEXFAQ> (NB + still a problem with \begin{center}\itshape in add-* files) + +Sat Aug 4 09:21:21 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * texfaq2file (sanitize_line): update to latest version from ...2html + +Fri Aug 3 20:03:18 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): correct typos in + tabular cell alignment question + +Fri Aug 3 14:58:31 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): added cross-references + for symbols, as suggested by scott pakin + v2.5.5f, today + + * additions.tex: today's date + + * add-general.tex (section{Proposed new questions}): completed question + (started last night at home) on \centering et al in tabular + +Thu Aug 2 22:11:35 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.6f, today + + * add-general.tex (section{Proposed new questions}): new question on + detecting numbers + +Thu Aug 2 09:44:18 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): ctan-ann at dante.de + v2.5.5e, today + +Wed Jul 25 11:27:01 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Format conversions}): typo in eitan's name + + * add-general.tex (section{Proposed new questions}): new question about + \xspace + +Wed Jul 25 00:07:47 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): add a word about + mirroring + + * faq.sty: define pdfversion and dviversion on the basis of \ifpdf + + * additions.tex: pl3.6e, today + + * faqbody.tex (section{Introduction}): added heiko's name to list of + helpers + + * add-general.tex (section{Proposed new questions}): new question about + comparing \jobname to something + +Tue Jul 24 22:25:54 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): rewritten the upload + question to reflect what goes on in the real world now + + * texfaq2html[-beta] (sanitize_line): add \PS{} + + * faq.sty: add \PS command + + * faqbody.tex: v2.5.5d, today + (throughout): postscript->\PS{}, ghostscript all l-c; various other + minor changes + + * add-general.tex (section{Proposed new questions}): postscript->\PS{} + throughout + +Mon Jul 23 12:13:51 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): reword the pkfix + question + + * faqbody.tex (section{Support Packages for TeX}): add reference to + spell checkers in winedt and 4alltex (last available separately, + 4spell) + (section{TeX Systems}): junk win3.1 section of editors and shells + v2.5.5c, today + +Fri Jul 20 00:22:56 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.6c, today + + * add-general.tex (section{Proposed new questions}): new question on + pkfix + +Thu Jul 19 17:31:25 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Macro programming}): minor typo in list + numbering question + +Thu Jul 19 13:55:55 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v2.5.5b, today + (section{The Background}): inappropriate line wrap corrected, given up + on \nobreakspace, pro tem + + * texfaq2html-beta (sanitize_line): add \nobreakspace [doesn't work...] + + * add-general.tex (section{Proposed new questions}): yet more fiddling + with the fixed footnotes question + +Tue Jul 17 13:41:03 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): witter about knuth's eminence + + * texfaq2html (sanitize_line): add \nobreakspace... + + * faqbody.tex (section{Documentation and Help}): \url->\URL in books + question + (section{The Background}): Donald E.\nobreakspace{}Knuth ;-) + + * additions.tex: today's date + + * add-general.tex (section{Proposed new questions}): tidy of fixed ftnt + question + +Mon Jul 16 17:54:15 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: v3.6a, today + + * add-general.tex (section{Proposed new questions}): finished question + on fixed-text footnotes (1st draft, anyway) + +Sun Jul 15 22:14:41 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): start of a + question on repeating footnotes + + * dirctan.tex: added fixfoot + + * faqbody.tex (section{TeX Systems}): join up the two download lines + (and alternative urls) for miktex + (section{Hypertext and PDF}): adjust the blurb in the first question, + for consistency, and wind down the implication that the hypertex + project is an ongoing thing + (section{PostScript and TeX}): rehash the basic "using ps fonts" q, add + mention in the previewing question that recent xdvis cope with type1 + fonts + v2.5.5a, today + +Sat Jul 14 10:10:11 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.5, today + (section{Installing \AllTeX{} files}): new section, holding two + installation questions from "acquiring the software" and the "temp + installation question from add-general + + * additions.tex: pl3.6, today + + * add-general.tex (section{Proposed new questions}): move "format of + labels","multiple citations","widows and orphans","retrieving tex...", + "bits of docs" (changed title and label name),"extending tex paths" + (again, changed title to "temporary installation") -> faqbody + +Thu Jul 12 16:19:25 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{MF and MP}): add further caveats to this + question (derived from a post by dan luecking) + + * add-general.tex (section{Proposed new questions}): final tweaking of + revised margins question -- back to faqbody, replacing old version + + * faqbody.tex (section{Special sorts of typesetting}): reference + harvard as a possible source of urls-in-biblios + v2.5.4q, today + +Tue Jul 10 10:34:16 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: today's date + + * add-general.tex (section{Proposed new questions}): more fiddling with + the margins faq + +Mon Jul 9 16:46:44 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.5o, today + + * add-general.tex (section{Proposed new questions}): proposed new + version of the change margins faq + +Thu Jul 5 16:17:44 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): insert Q-TUG* in place of + Q-TUG and the two following + (section{You're still stuck?}): change reference to be to Q-TUG* (and + elsewhere, plus change on reference to Q-othergroups to a reference to + ntg's website) + + * add-general.tex (section{Proposed new questions}): remove Q-TUG* + + * faqbody.tex: v2.5.4p, today + (section{How do I do X in TeX or LaTeX}): text from Norman Gray added + (section{Introduction}): add Norman Gray to the list of helpers + +Tue Jun 19 10:38:45 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add xpdf + + * additions.tex: pl5.5m, today + + * add-general.tex (section{Proposed new questions}): reference + pdftotext from xpdf in the "final->revisable" question + +Fri Jun 15 10:21:57 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta,texfaq2html (sanitize_line): deal with tildes in + urls in \href commands too + + * faqbody.tex (section{Documentation and Help}): add reference to hans' + metafun manual + v2.5.4o, today + (section{Introduction}): thanks to sanjoy mahajan + +Thu Jun 14 10:37:46 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html[-beta] (sanitize_line): correct \textcbracesymbol in both + +Tue Jun 12 13:10:08 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html: as -beta + + * texfaq2html-beta: translate keyword spaces to + (and vice versa) when + initialising $original_keyword and $keyword + +Mon May 28 10:30:47 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: today's date + + * add-general.tex (section{Proposed new questions}): added question on + \p@... commands + +Sun May 27 23:58:37 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.5l, today + + * add-general.tex (section{Proposed new questions}): quick question on + mcite + +Thu May 24 10:21:33 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: add \environment command + + * add-general.tex (section{Proposed new questions}): one use of + \environment + + * faqbody.tex (section{Bibliographies}): moved "bibtex with plain tex" + from "how to do" + today's date (same version no) + (throughout): use \environment + + * additions.tex: pl3.5k, today + + * add-general.tex (section{Proposed new questions}): add ps2ascii to + the list of tools for retrieving source from final form output + +Wed May 23 09:32:48 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Why does it do that?}): more alternatives for + avoiding the use of \verb, in Q-verbwithin + 2.5.4n, today + +Tue May 22 09:43:20 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html,texfaq2file (sanitize_line): add \Class translations from + texfaq2html-beta + +Mon May 21 18:04:02 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): \endhtmlignore in + tutorial question!!! + (section{How do I do X in TeX or LaTeX}): \thispagestyle is what + chapters and things use ... change Q-nopageno + +Fri May 18 12:45:03 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): emphasised the scottishness of + "loch" in the silly thing about pronunciation + +Wed May 16 15:08:37 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): couple of typos in + balancing question + + * faqbody.tex (section{Documentation and Help}): add reference to david + basum's list of tex primitives to "online tutorials", pointing out + that it's reference rather than tutorial... + (section{Macro programming}): refer to patchcmd as a package... + (section{Current TeX Projects}): correct reference to latex + experimental code, minor tidies of omega, nts entries + +Mon May 14 15:15:23 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v2.5.4l, today + (throughout): bunch of "unguarded" \dots had {} appended... + +Wed May 2 00:07:49 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Hypertext and PDF}, {how do i do}, {macro + programming}, {special sorts of typesetting}, etc): accession of + questions from add-general.tex + + * additions.tex: pl3.5j, today + + * add-general.tex (section{Proposed new questions}): numerous minor + editorial hackettes... + +Tue May 1 23:50:40 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.4k, today + (section{Format conversions}): correct url for w3.org + (section{Why does it do that?}): no need for \verb if \texttt will do + (unamended...) + +Tue May 1 10:04:13 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Why does it do that?}): couple of tidies in + \verb question so's texfaq2html can cope (both applied to current web + copy too) + +Mon Apr 30 16:36:54 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Macro programming}): restore missing + \endhtmlignore in "optional arguments like \section" + +Fri Apr 27 12:02:02 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Bibliographies}): added reference to multibbl + + * dirctan.tex: added dpfloat + + * faqbody.tex (section{Typesetting particular types of documents}): add + reference to pdfpages to "report from lots of..." + + * additions.tex: pl3.5i, today + + * faqbody.tex (section{Why does it do that?}): add reference to \string + inside \texttt as a means of avoiding \verb in command args + v2.5.4j, today + + * add-general.tex (section{Proposed new questions}): new question on + widows and orphans + + * dirctan.tex: added curve (oh joy!) + + * faqbody.tex (section{Typesetting particular types of documents}): + added curve to the cv question + +Thu Apr 26 10:01:23 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): \href-ise question on + sources of faqs, and add reference to the latex navigator + (section{The joy of \TeX{} errors}): removed {center}ed note of where + question was to go to, in Q-atvert... (emergency patch to copy on web + site, too!) + +Wed Apr 25 14:40:22 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): added a bit of + uncertainty about the name of the localtexmf tree ;-) + (section{Special sorts of typesetting}): added multiple indexing + and zero paragraph indent questions from add-general + (section{How do I do X in TeX or LaTeX}): added footnotes in + captions question from add-general + +Tue Apr 24 12:00:01 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): added urls to tug + article + (section{Proposed new questions}): adjust the balance columns question + to mention patricks balance.sty and to rename mine baltools.sty + +Sun Apr 22 00:07:16 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): TUG article now + only awaiting urls + + * faqbody.tex (throughout): bunch of rewriting \URL commands as \href + commands (incomplete) + + * Makefile (html): new target to run texfaq2file + +Sat Apr 21 18:19:23 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): question on t1 + type 1 fonts, and one (as yet incomplete) to replace all three on TUG/ + other user groups + + * additions.tex: v3.5h, today + + * faqbody.tex (section{Hypertext and PDF}): new section starting with + three questions from the "format conversion" section + v2.5.4i, today + +Fri Apr 20 14:38:55 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.5g, today + + * add-general.tex (section{Proposed new questions}): questions on + tabularx and so on, and on non-terminating "rerun" diagnostics + +Wed Apr 18 10:38:30 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): added a changebars + question + + * filectan.tex: add vertbars.sty and backgrnd.tex + + * dirctan.tex: moved our location to uk-tex-faq + + * additions.tex: pl3.5f, today + + * add-general.tex (section{Proposed new questions}): mention \[sub] + includefrom commands in the blurb about import.sty + + * faqbody.tex: 2.5.4h, today + (section{Acquiring the Software}): moved findpkg, siteindex and + websearch questions to "acquiring the software", and edit blooper out + of findpkg + +Mon Apr 16 00:16:21 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): start on question + about retrieving tex-ish source from final form files + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): added list + spacing question from add-general (should this really go to + typesetting?) + (section{Macro programming}): opt arg and counter-label questions from + add-general + (throughout): minor editorial change + (section{Acquiring the Software}): make reference to web access in the + question about archives, and remove reference to the DECUS collection + (section{Acquiring the Software}): tone down the question about finding + fonts (how does one do this nowadays?) + (section{Format conversions}): refer to w3c page on ->html conversion + +Sun Apr 15 00:12:06 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): removed the + "finding a document's files" proto-question, now taken over by + "extending search paths" + + * faqbody.tex (section{You're still stuck?}): add "you don't understand + the answer", and "submitting new answers" questions from add-general + (section renamed from "perhaps there isn't an answer") + v2.5.4g, today + + * markup-syntax: grand updating (for the submission faq) + + * add-general.tex (section{Proposed new questions}): more new uns: opt + args that behave like \section's, \refstepcounter and submitting + material to the faq + + * additions.tex: pl3.5e, today + + * add-general.tex (section{Proposed new questions}): two new questions, + on extending path searches (needs careful review) and on loading files + from other directories (the import package) + +Sat Apr 14 18:52:30 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * filectan.tex: add import.sty (up-to-date or what?) + +Fri Apr 13 16:50:41 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: added pkfix, preprint + +Thu Apr 12 11:28:24 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): reference to + anonchap (and incidentally tocbibind) in "style of section headings" + + * filectan.tex: added anonchap + +Tue Apr 10 00:00:30 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{\MF{} and \MP{}}): renamed section, added + question on \MP{} prologues from add-general + (section{Special sorts of typesetting}): added questions on style of + captions and of document titles, from add-general, and style of + section headings and indent after section headings from herein, "how + do I do?" + + * texfaq2file: removed redundant $href_script, remove echoing of + archive list + + * faqbody.tex: 2.5.4f, today + + * additions.tex: pl3.5d, today + + * faqbody.tex (section{Macro programming}): new section with vaguely + programming-related things (6 from "how to do X", one from "things are + going wrong" and one from "why does it", plus a new one from + add-general.tex + +Mon Apr 9 23:59:40 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Typesetting particular types of documents}): + changed section name + +Mon Apr 9 12:08:07 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Things are Going Wrong...}): <some damned thing> + (section{How do I do X in TeX or LaTeX}): incorporated donald a's + comments on the hyphenation and raggedness questions + +Sun Apr 8 00:32:22 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * texfaq2file: quick'n'dirty html file generator + +Sat Apr 7 16:35:58 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * texfaq2html-beta (sanitize_line): define \Class + + * faq.sty: add definition of \Class + + * additions.tex: pl3.5c, today + + * add-general.tex (section{Proposed new questions}): question on zero + parindent/non-zero parskip + + * filectan.tex: add parskip + +Thu Apr 5 10:25:00 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): new question on + determining which side of the page we're on + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): hyphenation and + ragged right questions from add-general + v2.5.4e, today + +Wed Apr 4 13:16:41 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: added patchcmd + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): refer to + patchcmd in question on (er) patching commands + + * add-general.tex (section{Proposed new questions}): bit more + detail on the behaviour of ragged2e + + * faqbody.tex (section{Bibliographies}): bibtex string too long + question moved here from "things going wrong" + +Wed Apr 4 00:09:17 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): question on ragged + right setting, needed by the now-finished hyphenation question + + * faqbody.tex (section{Things are Going Wrong...}): added reference to + hyphenat in question about why hyphenation isn't happening + + * dirctan.tex: added hyphenat, schroeder + + * additions.tex: today + + * add-general.tex (section{Proposed new questions}): started "no + hyphenation" question + +Tue Apr 3 00:21:27 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Why does it do that?}): tidy marginpar and + pictex questions + v2.5.4d, today + (section{Things are Going Wrong...}): \tenrm question, remove .sty from + rawfonts + + * add-general.tex (section{Proposed new questions}): minor tidies of + the two caption questions + + * additions.tex: today + + * add-general.tex (section{Proposed new questions}): do example in + caption format question in the usual three styles, and slight change + to text about typesetting caption.dtx for caption2 + +Mon Apr 2 07:56:15 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: today's date + + * add-general.tex (section{Proposed new questions}): skeleton of + question on title formats (vehicle for titling.sty) + + * dirctan.tex: add titling + +Sun Apr 1 20:40:44 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * filectan.tex: added chngcntr.sty + + * additions.tex: pl3.5b, today + + * add-general.tex (section{Proposed new questions}): added questions on + caption formats, and on footnotes in captions + + * dirctan.tex: added symbols, caption, ccaption + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): rationalise + mention of chngpage package in "adjusting the margins"; mention + ccaption in the wide figures question; reference to chngcntr in + counter manipulation question + (section{The joy of TeX errors}): slight reword of \@ question + (section{Documentation and Help}): added question about symbols list + (head of file): v2.5.4c, today + +Thu Mar 29 14:13:36 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta (sanitize_line): as production version + + * texfaq2html (sanitize_line): ignore \vspace* + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): tidied visual + typesetting so's texfaq2html could cope, added a missing \\ (names + question) + +Wed Mar 28 22:42:32 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): added \seename + and \alsoname to the list of names + +Wed Mar 28 09:25:54 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * filectan.tex: add excel2latex (the .zip file thereof) + + * faqbody.tex: v2.5.4a, today, for ctan installation, then v2.5.4b + (section{Format conversions}): added excel2latex + + * dirctan.tex: add fink + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): shortened + written-out code for retaining file names, and added reference to + fink package + +Tue Mar 27 13:05:22 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.5a, today + + * add-general.tex (section{Proposed new questions}): new question on + multiple indexes + + * filectan.tex: added multind.sty + + * dirctan.tex: added camel + +Mon Mar 26 14:08:37 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl3.5 + + * texfaq2html: bring up to date with -beta + + * faqbody.tex: v2.5.4, today, for release + +Mon Mar 26 00:11:55 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: today's date + + * add-general.tex (section{Proposed new questions}): start of questions + on finding files in multi-file docs, and latex makefiles + +Sun Mar 25 10:17:04 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: dated today + + * faqbody.tex (section{Bibliographies}): added bibtex capitalisation, + cite sorting, \subsubsubsection and file name qs from add-general + dated today + + * add-general.tex: new question on lists + (section{Proposed new questions}): add reference to the companion in + \sub*section question + +Sat Mar 24 15:22:18 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): minor tidying of + the missing chars question + + * faqbody.tex (section{Current TeX Projects}): added question on web + technologies, from add-general + (section{How do I do X in TeX or LaTeX}): added Q-fixnam, with list of + fixed names included + + * add-general.tex: added column balancing question + + * dirctan.tex: added nrc + + * additions.tex: pl3.4m, today + + * faqbody.tex (section{PostScript and TeX}): tidy up references to + ghostscript, gsview and (new) ghostview + (throughout): ensure ghostscript is properly referred to + v2.5.3r, today + + * dirctan.tex: restore gsview link as *-directory (this stuff needs + moving on ctan) + + * faqbody.tex (section{MF}): remove reference to paradissa which is no + longer on the archive + + * dirctan.tex: add sttools + removed remaining things found in ctan scan + + * faqbody.tex (throughout): impose consistency on part distributions in + ctanrefs environments + +Fri Mar 23 08:09:03 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.3q, yesterday + + * additions.tex: pl3.4k, today + + * add-general.tex (section{Proposed new questions}): major hack on the + new web technologies question; new question on what to do if you don't + understand + +Thu Mar 22 10:24:58 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: added pmx and mtx + + * faqbody.tex (section{Special sorts of typesetting}): tidied feynmann + question, and added reference to axodraw + (section{Special sorts of typesetting}): updated the musi[cx] question, + with very aged input from werner icking + + * filectan.tex: added axodraw as a single file (after examining the + actual ctan holding) + + * dirctan.tex: removed axodraw + + * faqbody.tex (section{TeX Systems}): comment out the windows 3.1 stuff + in "editors and shells" (including the reference to eddi4tex), and + refer to the 4alltex cd under (current) windows + + * add-general.tex (section{Proposed new questions}): sorted list of + \*name commands (on the *-bits) and corrected somewhat + + * dirctan.tex: add pdfpages + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): mention + pdfpages in Q-conditional + +Wed Mar 21 13:43:55 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): mention + \verbatimtabinput in verbfile + +Tue Mar 20 07:54:30 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Format conversions}): suppress mention of + sgmlbase (in the absence of evidence that it's going anywhere beyond + the toy status); masses of tidying of questions + + * dirctan.tex: make psfonts browsable + + * texfaq2html-beta (sanitize_line): add a 3-mandatory-arg version of + \cmdinvoke; add \ae{} + + * Makefile: add a bunch of short aliases for parts of make patch + + * faq.sty: increase ctanrefs \topsep a bit (4pt: half of article.cls + default) + + * add-general.tex (section{Proposed new questions}): body to Q-fixnam + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): remove some + text of Q-latexwords to Q-fixnam and add reference to that question + today's date; tidy code listings, logos questions + + * add-general.tex (section{Proposed new questions}): put reference to + docs at end of bibtex caps question + +Mon Mar 19 23:18:19 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.4j + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): add question on + patching commands from add-general + (section{The joy of TeX errors}): \@ question from add-general + v2.5.3p + + * add-general.tex (section{Proposed new questions}): corrected code in + "what's the name", rewrote sort&compress (for typographic reasons); + moved patching and \@ questions to faqbody + +Mon Mar 19 16:38:02 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: added snapshot + + * add-general.tex (section{Proposed new questions}): added some words + about mike downes's snapshot package, and correct the etex csname i + couldn't remember while typing at home (\middle) + +Mon Mar 19 08:47:50 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): rather feeble + question on bibtex capitalisation + + * filectan.tex: add braket + + * add-general.tex (section{Proposed new questions}): mostly-complete + question on dirac brackets + + * additions.tex: today's date + + * faqbody.tex: today's date + (section{Special sorts of typesetting}): tidy the "typesetting urls" + and "citing urls" questions, and add mention of hyperref's ability to + ignore %<eol> in urls + + * dirctan.tex: add bundledoc + + * add-general.tex (section{Proposed new questions}): first stab at + "what files" question + +Sun Mar 18 08:33:36 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: today's date, no change of versiion + (section{How do I do X in TeX or LaTeX}): tidy page-size question and + add reference to layout.sty for the diy-er; tidy the letterspacing + answer + +Sat Mar 17 13:35:37 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * texfaq2html-beta (sanitize_line): \YandY->Y&Y (!) + + * add-general.tex (section{Proposed new questions}): sorting cites + question + + * filectan.tex: add patch + + * add-general.tex (section{Proposed new questions}): questions on file + name, patching commands + + * faq.sty: minor adjustments (a) to separate the list from its + preceding pargraph, so that raggedness doesn't propagate backwards + into that paragraph(!) and (b) to set \topsep zero (prob. not nec.) + + * faqbody.tex (section{The joy of TeX errors}): rehash unprocessed + floats question + v2.5.3o, today + + * add-general.tex (section{Proposed new questions}): new "errors" + question on \@ in vertical mode; minor hacks + + * faqbody.tex (section{Things are Going Wrong...}): tidy up (and + marginally correct) the \pagestyle{empty} question, and add soul to + the underline question; tidy old font names question; separate the two + case in missing symbols question; rehash the \@ question in the light + of Q-atvert + +Fri Mar 16 13:34:54 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): added scott pakin to helpers + list + (section{Things are Going Wrong...}): typo \CTANref{morefloats} for + endfloat + + * add-general.tex (section{Proposed new questions}): removed tmupfl + question + + * faqbody.tex: v4.5.3n, today + (section{Documentation and Help}): deja->groups.google + (section{Things are Going Wrong...}): remove some of text from Q-floats + and replace with reference to Q-tmupfl + + * additions.tex: pl3.4i, today + +Fri Mar 16 00:19:03 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): changed title of + future web technologies + (section{Proposed new questions}): added tmupfl question + +Thu Mar 15 10:19:40 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Why does it _do_ that?}): added mdwlist to the + "no line here to end" question + + * additions.tex: pl3.4h, today + + * add-general.tex (section{Proposed new questions}): new thing (with + stuff from the latex2html question) about the nature of future web + technologies + + * faqbody.tex: 2.5.3m, today + (section{Format conversions}): yet another rehash of latex2html, + following further input from hutchinson + +Thu Mar 15 00:20:49 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Format conversions}): yet another iteration, + following input from eitan + (section{Why does it _do_ that?}): added reference to expdlist for the + no line to end question + (section{How do I do X in TeX or LaTeX}): tidy conditional compilation + and bold greeks questions + +Wed Mar 14 09:48:48 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: added \latex2html + + * texfaq2html-beta (sanitize_line): added \latexhtml + + * faqbody.tex (section{Why does it do that?}): added "no line" question + (section{How do I do X in TeX or LaTeX}): added "wide figure" question + + * add-general.tex (section{Proposed new questions}): add an actual + recommendation on setting wide equations, and move to faqbody + (section{Proposed new questions}): no line to end error message too + wide for 2-col text, sorted; question moved to faqbody + + * faqbody.tex: today (no change of version since nothing printed + (section{Introduction}): add peter wilson -- oops! + (section{Documentation and Help}): add "short history of the printed + word" + (section{Things are Going Wrong...}): minor honing of words of accented + hyphenation question and moving tables + (throughout): suppress (almost) all personal email addresses + (section{Things are Going Wrong...}): add mention of float.sty [H] in + the moving tables question + +Wed Mar 14 00:12:56 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * texfaq2html-beta (sanitize_line): preserve ~ in arguments of URLs + +Tue Mar 13 22:59:56 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Things are Going Wrong...}): add the famous + arseneau parameters to the moving tables question, and add reference + to placeins.sty (simultaneously tidying up and de-ponceing the text a + bit) + v2.5.3k, today + (section{Format conversions}): input from eitan gurari and ian + hutchinson (coo, they were quick) + (section{Introduction}): added eitan gurari and ian hutchinson to the + hall of fame + +Mon Mar 12 11:33:47 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * filectan.tex: added tth, tex4ht + + * faqbody.tex (section{Format conversions}): ->html question rehashed, + including reference to texpider and hevea (both off ctan) + + * dirctan.tex: make latex2html \CTANdirectory* + + * faqbody.tex (section{Format conversions}): rewrote the ->ascii + question, including reference to tex2mail and catdvi + v2.5.3j, today + + * dirctan.tex: added catdvi + + * faqbody.tex (section{TeX Systems}): removed arbortext and northlake + from list of commercial systems (advice from bnb); add keywords to the + two systems questions so's bnb can find them by searching + +Sun Mar 11 09:22:44 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): new question about + subsubsubsections + + * dirctan.tex: add latex (for base dir) and remove fonts/latex with the + same name + + * additions.tex: today (no change of patch level) + + * add-general.tex (section{Proposed new questions}): new question about + "no line here to end" + +Sat Mar 10 15:22:05 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): removed two + questions for the benefit of faqbody (vide infra) + (section{Proposed new questions}): new wide-figure question + + * faqbody.tex (section{TeX Systems}): added vtex for linux & os/2 + (section{DVI Drivers and Previewers}): new question about using + ghostscript in default of a printer-specific driver + (throughout): typos corrected + (section{Bits and pieces of TeX}): added encoding and eps questions + from add-general + v2.5.3i, today + + * faq.cls: added hyphens option when loading url.sty + +Fri Mar 9 10:41:09 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Format conversions}): correcting a couple of + names, and a typo, in the section on conversion to "other formats" + +Thu Mar 8 09:15:30 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.3g, today + + * additions.tex: pl3.4f, today + + * add-general.tex (section{Proposed new questions}): remove questions + on character shifts in dvips output, toc, running equation etc, + crop marks and fixed positions + + * faqbody.tex (section{Format conversions}): reformat the general + conversions question + (section{Literate programming}): add reference to dtx in the literate + programming question, and tidy up the packages question + (section{Support Packages for \TeX{}}): tidy up the spelling, wordcount + and fig questions + (section{DVI Drivers and Previewers}): minor tidies of previewers + (including excision of reference to dviwin, which has been withdrawn) + and laserjet questions, and removed reference to dvitops from the ps + output program + (section{Things are Going Wrong...}): added question on character + shifts in dvips output + (section{Special sorts of typesetting}): add toc question (from + peter wilson, originally) + (section{How do I do X in TeX or LaTeX}): add running equation etc, + crop marks and fixed positions questions + + * dirctan.tex: add rtf2latex2e + + * faq.sty: compact decsription environment, too + + * faqbody.tex (section{Format conversions}): add question on quality of + PDF output, from add_general; tidy up question on generating pdf, link + to one on quality + +Tue Mar 6 23:18:23 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): narrow some of + the lines of code in principal value integral question, when doing + tex-only output; tidy footnotes in tables question + + * add-general.tex (section{Proposed new questions}): wrap code in + running numbering question, when doing tex-only output + + * faqbody.tex (section{Macros for Particular Types of Documents}): add + peter wilson's combine stuff to the question on multi-article + documents, and minor tidy of the vita class question + +Tue Mar 6 10:03:40 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * filectan.tex: added removefr + + * add-general.tex (section{Proposed new questions}): add "running + numbering" question + + * faqbody.tex (section{Bits and pieces of TeX}): yet more diddling with + ec question + + * additions.tex: pl3.4e, today + + * faqbody.tex (section{Acquiring the Software}): removed ip address of + wuarchive + (section{Bits and pieces of TeX}): small rewording of hyphenation q + v2.5.3f, today + (section{Bits and pieces of TeX}): extend and reword ec font q + + * add-general.tex (section{Proposed new questions}): minor improvements + to text of encoding and acrobat questions + +Mon Mar 5 11:40:20 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): two minor + improvements to the encodings, pdf output questions + + * faqbody.tex (section{Acquiring the Software}): fptex local default is + texmf-local + +Sun Mar 4 00:00:57 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (chapter{Preface}): tidy "style of section headings" + (section{PostScript and TeX}): tidy wrapping of urls in the font + choice question + v2.5.3e, today + +Sat Mar 3 13:59:57 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): tidying the + section (un)numbering question + + * dirctan.tex: added tocloft + + * add-general.tex (section{Proposed new questions}): dvips output for + pdf, weird character mapping questions + (section{Proposed new questions}): added peter wilson's tocloft + question + + * dirctan.tex: added textpos + + * add-general.tex (section{Proposed new questions}): crop and textpos + questions + + * faqbody.tex (section{\TeX{} Systems}): added brief info from carlos + santos re. windvi's printing capability + (section{Introduction}): added carlos santos to list of helpers + v2.5.3d, today + (section{Special sorts of typesetting}): tidied the fancyhdr question + + * additions.tex: today (no change of patch level) + + * add-general.tex (section{Proposed new questions}): yet again, hacking + at encodings question + +Fri Mar 2 14:22:08 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * filectan.tex: askinclude now from latex/contrib/other/misc + + * dirctan.tex: removed mathpple + +Fri Mar 2 07:20:03 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: today (no change of patch level) + + * add-general.tex (section{Proposed new questions}): yet more fiddling + with the encodings question ("philosophy") + +Thu Mar 1 21:20:49 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): filled out the + body of "what is encapsulated postscript" + + * additions.tex: pl3.4c, today + + * add-general.tex (section{Proposed new questions}): honing the words + in "what are encodings" + + * faqbody.tex (section{PostScript and TeX}): add mathpazo (serious drop + off that i hadn't mentioned it before) + + * dirctan.tex: add mathpazo + + * faqbody.tex: v2.5.3c, today + +Thu Mar 1 09:44:55 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{PostScript and TeX}): added pxfonts to question + on font choice, updated txfonts outline + + * dirctan.tex: added emtextds, pxfonts + + * faqbody.tex (section{Things are Going Wrong...}): hack around to + cause texfaq2html not to be fazed by verbatim \\ commands + (section{TeX Systems}): ftp.math.utah.edu's ip address has changed -- + removed it altogether + + * texfaq2html-beta (sanitize_line): explicitly squash "{}" if it + survives to the end of the main conversion scan + + * filectan.tex: morefloats->latex/contrib/other/misc + +Tue Feb 27 07:20:48 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.4b, today + + * faqbody.tex (section{TeX Systems}): slight rearrangement of ctanrefs + in "(la)tex for different systems" + + * add-general.tex (section{Proposed new questions}): three questions + transferred (see below) + (section{Proposed new questions}): bunch of diddling with the encodings + question (still not right, though) + + * faqbody.tex (section{Special sorts of typesetting}): hack the + indexing question (new style ctan references, expand remarks about + xindy and about makeindex sorting issues) + (throughout): minor markup adjustments/typo corrections + (section{Special sorts of typesetting}): verbatim input, line numbering + and typesetting urls questions tidied to new format + (section{How do I do X in TeX or LaTeX}): using underscores, no page + nos and typing "@", from add-general + + * dirctan.tex: * to xindy + + * faqbody.tex: v2.5.3b, today + +Sun Feb 25 00:09:42 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{TeX Systems}): tidied up the freely-distributed + software question + (section{\TeX{} Systems}): further iteration of same (after a good + night's sleep ;-), also added more detail about web2c + (section{Special sorts of typesetting}): converted the `wrapping + figures' to new form, since it always did look untidy. + +Sat Feb 24 00:07:21 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{TeX Systems}): start of rearranging the non- + commercial systems part of the section + + * dirctan.tex: added bakoma-tex + + * faqbody.tex (section{Bits and pieces of TeX}): add "what is hyphen- + ation" question + (section{The joy of TeX errors}): add "bad hyphenation" question + + * add-general.tex (section{Proposed new questions}): remove "what is + hyphenation" and "bad hyphenation" questions + + * additions.tex: pl3.4a, today + + * dirctan.tex: plain now refers to base only + + * faqbody.tex (section{Things are Going Wrong...}): added "no + hyphenation" question at start of section + + * add-general.tex (section{Proposed new questions}): removed "no + hyphenation" question + + * faqbody.tex (section{Metafont}): scale down the panic of the bitmap + fonts question -- convert into advice to start using type 1 versions + v2.5.3a, today + + * dirctan.tex: bluesky (was a reference to their mac mf port) becomes a + reference to the "bluesky" cm fonts + +Fri Feb 23 23:54:03 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: ps-type1 -> \CTANdirectory* + +Thu Feb 22 12:28:58 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html: brought in all -beta changes + + * texfaq2html-beta: sit on $_ (in case we're not producing an intro) so + as not to get a lone "introduction", and dump the "index" statement in + front of the list of questions; various other minor tidies + + * dirctan.tex: corrected dratex (another from dan l) + + * faqbody.tex (section{Special sorts of typesetting}): mfpic can now do + \MP output (alert from dan luecking) + +Thu Feb 22 07:30:54 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{PostScript and TeX}): first stab at rehashing + the figures question (pretty major rewrite, but issues remain) + today's date + +Wed Feb 21 09:17:47 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * texfaq2html-beta: blundering attempt to create a better header; and + similarly distance from uktug in the footer + + * faqbody.tex (section{PostScript and TeX}): redo question about + previewing files with type 1 fonts in 'em + (section{The Background}): less prissy about the reference to the list + of commercial vendors + (section{Format conversions}): tidy up question about generating pdf + (was talking about archaic versions of ghostscript) + (section{PostScript and \TeX{}}): renamed question deploying type 1 + fonts ... substantial rewrite + (section{Introduction}): added mike vulis to ack list (belatedly) + + * dirctan.tex: ghostscript nonfree; added gsview (with wrong value) + + * faqbody.tex: v2.5.3, today + +Tue Feb 20 11:46:36 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta: add a couple of <hr> directives, after the + "preamble", and before the "tail" + + * dirctan.tex: added refcheck and crop + +Mon Feb 19 10:40:43 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Bibliographies}): entire new section + + * add-biblio.tex: ripped out entire text + + * faqbody.tex (section{Special sorts of typesetting}): added the + document font sizes question + + * add-general.tex (section{Proposed new questions}): removed the + document font sizes question + + * faqbody.tex (section{Special sorts of typesetting}): added the + landscape typesetting question + + * add-general.tex (section{Proposed new questions}): removed the + landscape typesetting question + + * faq.sty: added a bit of raggedness to the ctanrefs environment + + * faqbody.tex (section{Things are Going Wrong...}): add the end-line + question + + * add-general.tex (section{Proposed new questions}): removed the end- + line thing + + * texfaq2html: bring up to date with -beta (== -alpha) version + + * faqbody.tex (section{Introduction}): add dan luecking + + * add-general.tex (section{Proposed new questions}): added caveat about + viewing rotated output to landscape question + + * texfaq2html-alpha (sanitize_line): add \YandY [does a raw & really + work reliably in html?] + + * faq.sty: define \YandY + + * faqbody.tex (throughout): \YandY for the company, for consistent + typesetting + +Sun Feb 18 00:14:33 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): rewording of the + "what is hyphenation" and "encodings" questions + (section{Proposed new questions}): new question on landscape + typesetting + + * additions.tex: update to today + + * add-general.tex (section{Proposed new questions}): new question on + encodings (started yesterday) + +Sat Feb 17 15:56:43 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.4, today + + * faqbody.tex: v2.5.2f, today + (throughout): article->FAQ where appropriate + (section{How do I do X in TeX or LaTeX): alter "changing babel's ideas" + to one that takes in the whole gamut, and thus renders redundant: + (section{Why does it do that?}): "why won't fixed names stay fixed", + which is therefore deleted + + * newfaq-patch.tex,letterfaq.tex,newfaq.tex: slim down heading, again + + * faqbody.tex (throughout): Plain \TeX{} now uniformly used + (subsection*{Finding the Files}): new slim-line slightly less pompous + intro (no tedious lists of committee members, which are impossible to + maintain when the committee don't maintain their web site) + + * add-general.tex (section{Proposed new questions}): filled out the + \hyphenation error question + + * texfaq2html-alpha: deal with label=, generate a label= URL at end for + people to quote, use \faqfiledate, \faqfileversion (oops) + +Fri Feb 16 13:59:41 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * texfaq2html-alpha (sanitize_line): add code for \textbf + +Thu Feb 15 11:25:45 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): add the babel + question at end of section + + * add-general.tex (section{Proposed new questions}): tidied up + representation of the babel error messages still further (option for + pdf printing, too) + (section{Proposed new questions}): removed babel question + + * additions.tex: pl3.3, today + + * faqbody.tex: 2.5.2e, today + + * add-general.tex (section{Proposed new questions}): add the miktex 2 + gen for the babel "add new language" question + + * faqbody.tex (section{Acquiring the Software}): minor typographic + consistency changes in description of miktex 2.0 package install + +Wed Feb 14 13:44:07 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Things are Going Wrong...}): tidied up the + question about hyphenating accented letters + v2.5.2d, today + + * add-general.tex (section{Proposed new questions}): start on question + about "improper hyphenation" error message + + * texfaq2html-beta (sanitize_line): added \csx + +Mon Feb 12 14:42:27 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: 2.5.2c, today + (section{Documentation and Help}): recorded details of knuth boxed set + +Fri Feb 9 11:33:00 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: v2.5.2b, today + (section{Documentation and Help}): replaced old references to french + and german faqs with a {booklist}, and added spanish and czech + (section{The Background}): slight iteration of the context question + +Thu Feb 8 13:41:36 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): question on \\ + arguments + +Wed Jan 31 11:41:12 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: extra indirection (via texinfo) for both texinfo and + makeinfo + + * faqbody.tex (section{The Background}): texinfo to use whole (sub-) + directory reference + + * filectan.tex: removed texinfo-dist (no longer on archive) + + * faqbody.tex (section{Format conversions}): expand referencing of vtex + (this is going to look gross...) + + * dirctan.tex: pass to deal with check-ctan-lists diagnostics + + * faqbody.tex (section{Special sorts of typesetting}): \textpercent{} + + * texfaq2html-beta (sanitize_line): added \item[\normalfont{}...]; + require \textpercent{} + + * add-biblio.tex (section{Bibliographies}): added question on entries + in text of docs; added body of "writing your own .bst" question + + * dirctan.tex: added inlinebib, jurabib, footbib + +Wed Jan 31 00:04:26 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex,additions.tex: \faqfileversion, \faqfiledate (because of + the confusion with definitions introduced by nameref.sty + + * faqbody.tex: v2.5.2a, today + +Tue Jan 30 23:28:17 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl3.1, today + + * newfaq.tex,letterfaq.tex,newfaq-patch.tex: use \ref* in the title, + \ifpdf; \faqfileversion, \faqfiledate + + * add-general.tex (section{Proposed new questions}): have the correct + layout of the babel message (in the "new language" question) for html + generation + +Mon Jan 29 12:17:28 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html: bring up to date with latest thinking in -beta version + + * faq.sty: add \[oc]bracesymbol + + * texfaq2html-beta (sanitize_line): moved \symbol to the end + (sanitize_line): add \obracesymbol and \cbracesymbol + + * additions.tex: comment out add-errors, pl3.0, today + + * faqbody.tex (section{TeX Systems}): tidied miktex text + v2.5.2, today + (section{The joy of TeX errors}): moved en bloc from add-errors + +Tue Jan 23 16:58:28 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Things are Going Wrong...}): update the miktex + question with a reference to 2.0 + (section{TeX Systems}): update remarks about miktex + + * dirctan.tex: miktex itself now a *-reference to miktex/2.0 + + * filectan.tex: deleted miktex-latex, added miktex.zip + +Fri Jan 19 12:46:49 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * Makefile (clean): add *patch.aux + + * add-general.tex (section{Proposed new questions}): question-ette + about typing @ signs + + * additions.tex: pl2.14, today + + * add-general.tex (section{Proposed new questions}): change reference + to carlisle to nopageno (\CTANref doesn't have a * form -- duh!) + +Thu Jan 18 11:37:53 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): new question on + "no page numbers" + + * req.qs: bbl2html question + +Wed Jan 17 13:33:56 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl2.13, today + + * add-general.tex (section{Proposed new questions}): question on eps + (outline only, as yet) + +Tue Jan 16 12:05:46 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta (sanitize_line): definition of \item _doesn't_ need + "."s to separate the variable instances... + + * faqbody.tex (section{Introduction}): make reference to the dante faq + use \href + + * texfaq2html-beta (sanitize_line): add \href + + * faqbody.tex (section{The Background}): add knuth's url to the first + occurrence of his name + + * faq.sty: add an \href command, that only has effect in the absence of + pdf generation (hyperref providing the necessary otherwise) + + * faqbody.tex: v2.5.1d, today + (section{Documentation and Help}): corrected isbn for lamport 2nd ed + (section{Documentation and Help}): add reference to knuth's nimellium + boxed set (though no details since a-w can't get their act together) + (section{Documentation and Help}): update math into latex reference to + vol 3 + +Tue Jan 16 11:40:37 2001 Robin Fairbairns <rf@huntingdon.cl.cam.ac.uk> + + * additions.tex: pl2.12, today + + * filectan.tex: underscore + + * add-general.tex (section{Proposed new questions}): question on + underscore + +Sun Jan 14 20:59:29 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-errors.tex (section{The joy of TeX errors}): more on the + structure question + + * additions.tex: pl2.11, today + + * add-errors.tex (section{The joy of TeX errors}): refer to structure + question from the philosophy question + + * add-general.tex (section{Proposed new questions}): reindented the + "missing character" messages for the tex versions + +Fri Jan 12 14:06:40 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: today's date (previous pl not yet printed out) + + * add-general.tex (section{Proposed new questions}): finished the + hyphenation question, and added another about hyphenation problems and + their solution + +Thu Jan 11 21:42:45 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex: pl2.10, today + + * add-general.tex (section{Proposed new questions}): start of the body + of the hyphenation question + +Tue Jan 9 14:59:56 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): minor tweaks to + the text of the babel question, and skeleton for a question on hyphen- + ation + + * additions.tex: pl2.9, today + + * add-errors.tex (section{The joy of \TeX{} errors}): v1 closure on + first question of section, and proposal for yet another new question + about the structure of error messages + + * faq.sty: adjust \topsep in itemize and enumerate, and do the same to + verbatim + + * faqbody.tex (section{The Background}): change reference to books + question + + * add-biblio.tex (section{Bibliographies}): some wrapping of verbatim + text, and minor text tidies + +Fri Jan 5 18:08:32 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl2.8, today + + * add-general.tex (section{Proposed new questions}): added caveat about + running out of pattern memory when adding a new hyphenation pattern + +Thu Jan 4 15:44:41 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta (sanitize_line): process `` and '' to ", and + isolated ` to ' (for the benefit of m$ browsers) + evaluate $last_question, $next_question and $previous_question as + we go along, and use them to produce pointers to previous and + next in the footer of the generated page, if appropriate + +Tue Jan 2 14:17:33 2001 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta (sanitize_line): make \ProgName and \Package accept + arguments in braces + + * faq.sty: make \FTP, \File, \CTAN and \ProgName robust + + * add-biblio.tex (section{Bibliographies}): lists of authors question + + * additions.tex: pl2.7, today + + * add-general.tex (section{Proposed new questions}): new question on mp + prologues + +Mon Jan 1 17:15:11 2001 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * texfaq2html-beta: normalise tabbing in perl code + +Sat Dec 30 16:35:47 2000 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex: v2.5.1c, today + + * additions.tex: pl2.6, today + + * add-biblio.tex (section{Bibliographies}): ctanrefs at end of bibs per + section question + + * faqbody.tex (section{Why does it do that?}): add pointers to fancyvrb + and verbdef packages in the question on verbatim in arguments + + * filectan.tex: add verbdef.sty + + * add-general.tex (section{Proposed new questions}): bit more at end of + missing characters question + +Wed Dec 27 14:19:48 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): missing characters + + * faq.sty: minor typo corrected + +Tue Dec 26 16:39:47 2000 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faq.sty: compact the booklist and ctanrefs environments, and + compactify standard itemize and enumerate environments + +Sun Dec 24 10:26:08 2000 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-errors.tex (section{The joy of TeX errors}): filling out the + answer (work vaguely started last evening, and will probably take the + whole holiday...) + +Fri Dec 22 17:25:04 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex: pl2.4, today + + * faqbody.tex (section{Introduction}): added giuseppe bilotta and + michael dewey to list of helpers + + * add-general.tex (section{Proposed new questions}): provided format + generation instructions for the babel new language question + + * faqbody.tex (section{Acquiring the Software}): tidy list at end of + "installing" question + 2.5.1b, today + +Thu Dec 21 00:24:20 2000 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): tiny adjustment to + punctuation of \edef question, and a bit of rewording of one of + michael's sentences + +Wed Dec 20 16:56:43 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-general.tex (section{Proposed new questions}): new question + on \protected@[ex]def using some nice words of mjd's + +Tue Dec 19 10:00:41 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * Makefile (PATCH): add add-general + + * additions.tex: replace body by \input of add-general + + * add-general.tex: was body of additions.tex + + * archive.list: correct list + + * texfaq2html-beta: add code to deal with ctanrefs environment + (involves extra stuff in \item[...]) + change default to cam.ctan.org + + * Makefile (PATCH): add add-biblio.tex + add newfaq.aux as label parallel to newfaq.dvi; this satisfies a + dependency in the web and web-beta rules + + * additions.tex: pl2.2, today + + * faq.sty: define ctanrefs environment + + * add-biblio.tex (section{Bibliographies}): fill out multiple + bibliographies question, introduce new ctanrefs environment for the + places to pull stuff from + +Mon Dec 18 11:42:43 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: added extsizes + + * additions.tex (section{Proposed new questions}): extsizes question + + * faqbody.tex: v2.5.1a, today + + * texfaq2html (sanitize_line): as -beta version + + * texfaq2html-beta (sanitize_line): add a couple of instances of + \cmdinvoke translation (cf comments on what's available in faq.sty) + + * faq.sty: added \cmdinvoke + + * faqbody.tex (section{Why does it do that?}): add reference to + textcase in the case-changing question + + * dirctan.tex: add carlisle + +Fri Dec 15 16:41:49 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-biblio.tex (section{Bibliographies}): New file, some biblio + questions (mostly somewhat fragmentary), in a section of their own... + + * dirctan.tex: added cite (the arseneau stuff) and bibunits ... and + multibib and bibtopic + + * additions.tex: pl2.0, today; \input add-biblio + +Thu Dec 14 13:30:36 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: change url referring to archive (twice) + v2.5.1 + + * add-errors.tex (section{The joy of TeX errors}): it's isn't a + possessive!!!!!! + + * texfaq2html: add provision for dealing with \symbol commands, tidy up + the url for the whole faq for the bottom of each message, and add "not + a help address" after email address + synchronise with texfaq2html-beta (incl adding title-modifier stuff) + + * Makefile: add targets inst-perl and inst-perl-beta + + * faqbody.tex (section{Things are Going Wrong...}): add reference to + new version of miktex's latex.zip + v2.5 (!) + + * filectan.tex: added miktex 1.20 latex.zip + + * faqbody.tex (throughout): htmlonly env -> htmlversion (oops!) + v2.4.8d, today + +Tue Dec 12 22:19:19 2000 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): couple of tidies in + question on using quote site index; add new question on web searching + (section{Acquiring the Software}): remove outline of the web search + facility from question on repositories, and make reference to both + searching questions in place of partial duplication and reference to + one + 2.4.8c, today + +Mon Dec 11 11:07:56 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Support Packages for TeX}): add the wordcount + question + (section{Special sorts of typesetting}): add the watermarks question + (section{Acquiring the Software}): hacked the commercial stuff out of + the CDs question, and corrected the 4alltex bit to refer to windoze + rather than ms-dog + + * add-errors.tex (section{The joy of TeX errors}): new section title, + and a couple of new questions (no room for a new..., and what to do + when epsf produces that diagnostic) + + * faqbody.tex: 2.4.8b, today + (section{Special sorts of typesetting}): moved the script fonts + question from additions + (section{Why does it do that?}): replaced question about pictex and + register usage with improved one from additions + + * additions.tex (section{Proposed new questions}): big hack on the + script fonts question, including lots of source references and + reference to the new scriptfonts thing; then moved question to faqbody + removed pictex, watermarks and wordcount questions + + * filectan.tex: add eucal and mathscript + + * dirctan.tex: add rsfs-type1 and jknappen-macros + + * additions.tex (section{Proposed new questions}): change title of + pictex question + + * Makefile (newfaq-patch): typo in yesterday's update + +Mon Dec 11 00:02:15 2000 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex (section{Proposed new questions}): Tidied up Babel + question; still to complete the section on building a format at the + end (don't understand that at all -- does texconfig exist for other + than tetex systems, for example? + +Sun Dec 10 17:35:09 2000 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * Makefile: replace all use of latexmk with the while-loop/get cross + construct + + * additions.tex (section{Proposed new questions}): remove question + that's gone to faqbody + pl1.14, today + + * faqbody.tex (section{Documentation and Help}): add question on + writing latex classes and packages + 2.4.8a, today + + * filectan.tex: add latex-source + +Sat Dec 9 21:24:54 2000 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * additions.tex (section{Proposed new questions}): remove question + about conditional compilation + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): replace + question about excluding sections of a document with one about + "conditional compilation" + + * additions.tex (section{Proposed new questions}): remove miktex + question + (section{Proposed new questions}): touch up pictex question with words + from existing one (mentioning the contex module that the yesterday's + effort omitted) + + * faqbody.tex (section{Things are Going Wrong...}): add miktex question + (slightly reworded) + + * additions.tex: pl1.13, today + (section{Proposed new questions}): junk question on recognising new + package files, since we've now integrated all the matter on these + ideas into two questions that have gone to faqbody + (section{Proposed new questions}): wrap code in script fonts question + so's not to overrun the verbatim margins + + * faqbody.tex: v2.4.8, today + + * additions.tex (section{Proposed new questions}): Remove the first two + questions to faqbody.tex + + * faqbody.tex (section{Acquiring the Software}): Two new questions + lifted from additions.tex + +Fri Dec 8 09:51:42 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * add-errors.tex,additions.tex (throughout): normalised \Question cmds + + * faqbody.tex: (throughout) TeX-systems (as Qref label) -> Q-TeXsystems + v2.4.7q, today + (throughout): normalise all \Question commands to have optional + argument [Q-<alpha string>] + + * additions.tex (section{Proposed new questions}): question about the + miktex-latex problem + pl1.12, today (happy birthday Ma) + + * faqbody.tex (section{PostScript and TeX}): removed comment at end of + type 1 fonts question (no date/time or version change this time) + +Tue Dec 5 10:22:48 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): label on the pictex + manual question (and remove old commented-out text about the + arrangement that used to exist for getting it from tug) + v2.4.7p, today + (section{Introduction}): add dick nickalls to list of helpers + + * additions.tex (section{Proposed new questions}): added version.sty + and verbatim.sty to yesterday's question on conditional compilation + input add-errors at end + pl1.11, today + + * filectan.tex: add version.sty + + * add-errors.tex: errors section from additions.tex + +Mon Dec 4 13:23:04 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex (section{Proposed new questions}): question on + conditional compilation, from a c.t.t answer by donald arseneau + patch level 1.10, today + bunch of \Qref commands tidied not to produce "see" twice in the + printed output + + * filectan.tex: remove comment (it's in a directory of its own, now) + add askinclude + + * dirctan.tex: add pagesel (contrib/supported/oberdiek, in fact) + add comment + + * filectan.tex: add selectp.sty + + * faqbody.tex (section{Why does it do that?}): add label to \include + question + 2.4.7o, today + +Mon Nov 20 13:21:01 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex (section{Proposed new questions}): avoid column + overruns in verbatim `meta' sections in "where to put files" + +Tue Nov 14 13:23:57 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex (section{Proposed new questions}): tidied up + "installing a new package question + pl1.8, today + (section{Proposed new questions}): question on where to put files ... + very much in prototype stage just now (all in verbatim) + + * faqbody.tex (section{Current TeX Projects}): add subscription info + for the pdftex list + v2.4.7n, today + +Tue Nov 7 11:23:44 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{PostScript and TeX}): txfonts now have t1 and ts + encodings + +Wed Nov 1 12:24:01 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): added anthony goreham to + the list of helpers + + * additions.tex (section{Proposed new questions}): added a thing + on formal scripts from anthony goreham + +Tue Oct 31 10:00:51 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: expunged all reference to gopher + + * faqbody.tex (section{TeX Systems}): do away with reference to ctan + copy of 4alltex + + * filectan.tex: corrected a bunch found by the script + + * check-ctan-lists: new, jiffy checking script for (dir|file)ctan.tex + +Mon Oct 30 23:46:55 2000 Robin Fairbairns <rf@betsy.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): Add a question on LaTeX2e + v 2.4.7m, today + +Sat Oct 28 14:56:43 2000 Robin Fairbairns <rf@betsy.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): reference to + chngpage in question about changing margins + + * filectan.tex: add chngpage; correct entry for comment.sty + + * additions.tex (section{The joy of TeX error messages}): typo in + setting { (nb -- \symbol still not yet in texfaq2html) + + * filectan.tex: added pdftex-oztex + + * faq.sty: double accent for doing han the thanh `properly' + + * faqbody.tex: v2.4.7l, today + (section{Current TeX Projects}): remove question on latex2e; move small + amount of matter from it into updated question on latex3; tidy and + update questions on omega, nts and pdftex + +Thu Oct 26 09:57:20 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: add txfonts + + * faqbody.tex (section{DVI Drivers and Previewers}): made a Ghostscript + reference uniform with rest (i.e., capitalised) + (section{PostScript and TeX}): details of the txfonts + v 2.4.7k, today + +Thu Oct 12 13:04:51 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: dvi2tty -> nonfree + + * additions.tex (section{The joy of TeX error messages}): new question + about `extra }' (moving fragile command) + + * Makefile: made web target a modified copy of web-beta + + * filectan.tex: commented out fullpage + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): remove + reference to fullpage.sty, add geometry (by, that dates it); put a + label on footnotes in latex section headings + version 2.4.7j, today + + * dirctan.tex: added geometry + +Mon Oct 9 12:30:34 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex (section{The joy of TeX error messages}): new section; + first two questions are general advice, and semantic nest + +Tue Sep 26 12:05:29 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faq.sty: repeated and undefined CTAN label warnings NoLine; repeated + CTAN labels counted and re-warned \AtEndDocument (as undefined labels + have been for some time) + + * filectan.tex: abstract->abstract-bst + + * faqbody.tex (section{Things are Going Wrong...}): in the bibtex + question, abstract->abstract-bst + 2.4.7h1, today + + * additions.tex (section{Proposed new questions}): wordcount question; + pl5, today + + * dirctan.tex: added wordcount + +Wed Sep 20 10:43:17 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * additions.tex (section{Proposed new questions}): added a question + about one float per float page; pl4, today + + * faqbody.tex (section{Things are Going Wrong...}): add Q-floats label + to moving tables and figures question + +Fri Sep 15 11:42:25 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Current \TeX{} Projects}): tidy up references to + omega implementations + +Thu Sep 14 10:27:00 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html-beta: title to contain beta indicator + + * faqbody.tex (section{PostScript and \TeX{}}): added remaining + micropress font sample urls + + * texfaq2html-beta: new file; runs beta sources + added question number to title if exactly one question requested + + * faqbody.tex: 2.4.7h, today + (section{Documentation and Help}): removed frivolity about rtfm in + `where to get help' (at Manuel Gutierrez' suggestion) + + * additions.tex (section{Proposed new questions}): add note of + confirmation of the sequence for refreshing the fndb under miktex + +Tue Sep 12 23:20:53 2000 Robin Fairbairns <rf@betsy.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): sound depressed about + deja + (preamble): today, v2.4.7g + +Sun Sep 10 10:22:45 2000 Robin Fairbairns <rf@betsy.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): upgrade of the + unnumbered sections question (from peter wilson), and of the 1-column + abstract question (from same source) + + * dirctan.tex: added tocvsec2, tocbibind, abstract + +Sat Sep 9 14:15:21 2000 Robin Fairbairns <rf@betsy.cl.cam.ac.uk> + + * faqbody.tex (section{PostScript and TeX}): bunch of new stuff from + berthold and mike updating the section on scalable outline fonts + (section{Documentation and Help}): add a first reference to teencontrex + (section{Acquiring the Software}): correct address for the ctan list in + `contributing to the archives' + + * dirctan.tex: added hvmath, tmmath and teencontrex + + * faq.sty: make the tex logo robust + +Fri Sep 8 17:55:13 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: redid reference to c++2latex + + * faqbody.tex (section{Documentation and Help}): correct a \dots + invocation in "where to get help"; recommend ctan search web address + rather than the catalogue direct + (section{How do I do X in TeX or LaTeX}): added reference to c++2latex + for typesetting code, at the suggestion of Michael Soulier + +Tue Aug 22 14:39:09 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): slight tidying + of matter in question about dashed integrals + +Sun Aug 20 17:27:55 2000 Robin Fairbairns <rf@gordon.cl.cam.ac.uk> + + * dirctan.tex: added vmargin (now in supported) + + * filectan.tex: removed vmargin + +Mon Jul 24 09:26:41 2000 Robin Fairbairns <rf@betsy.cl.cam.ac.uk> + + * dirctan.tex: add ams-AMStype1 + + * faqbody.tex: v 2.4.7f, today + (section{PostScript and \TeX{}}): more work on the fonts stuff + +Sat Jul 22 10:24:05 2000 Robin Fairbairns <rf@betsy.cl.cam.ac.uk> + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): add donald's + "typesetting principal value integral" + v2.4.7d, today + (section{Introduction}): removed email address for bodenheimer, which + hasn't (afaik) worked for some time + +Fri Jul 21 17:46:09 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{PostScript and TeX}): berthold's stuff on + outline fonts (mike's is harder work ;-) + v 2.4.7c, today + + * dirctan.tex: add cm-AMStype1 + +Wed Jul 19 10:18:36 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html (sanitize_line): add \arrowhyph + + * faq.sty: added \arrowhyph + + * additions.tex (section{Proposed new questions}): moved Peter Wilson's + one on getting a new package + + * faqbody.tex: v2.4.7b, today + (section{Special sorts of typesetting}): correct address for mutex + +Mon Jul 10 15:07:48 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * dirctan.tex: explicit location for tds (will presumably never now be + version 1.0 ... + + * faqbody.tex (section{Support Packages for \TeX{}}): removed vortex + (section{Bits and pieces of \TeX{}}): add pw's on the tds + +Fri Jul 7 12:26:22 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html (sanitize_line): make \begin|\end{htmlversion} ignore + entire line + + * faqbody.tex (section{Documentation and Help}): new question on \MF + and \MP tutorials (pw again) + v2.4.7a, today + + * filectan.tex: added metafp.(ps|pdf) + + * faqbody.tex (section{The Background}): pw's revision to mp answer + (section{Documentation and Help}): couple of additions to booklists + (section{Documentation and Help}): pw's major addition to mail list + stuff + + * texfaq2html (sanitize_line): add \PDFLaTeX + + * faq.sty: add \PDFLaTeX + +Sat Jul 1 13:12:00 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): added peter wilson to list of + acknowledgements + (section{Documentation and Help}): the first of peter wilson's new + answers -- books on type + +Fri Jun 23 12:26:31 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): give locations for + ctan servers, and correct www address for tug box search script + +Wed Jun 21 13:41:17 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * texfaq2html (sanitize_line): ignore \keywords argument + + * faq.sty: add \keywords command (ignores argument, carefully) + + * faqbody.tex (section{Why does it do that?}): question on renaming + fixed texts in the context of babel (has \keywords) + +Tue Jun 20 14:03:38 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): acknowledge alan jeffrey's + design of the html version, and record use of dante material + + * dirctan.tex: add pictex-addon + + * filectan.tex: add context-tmf, delete doublespace + + * faqbody.tex (section{Why does it do that?}): question on pictex and + registers, largely lifted (with help from babelfish) from dante's faq + +Wed Jun 14 11:36:29 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): caveat for non-ia32 versions + of miktex, mention the psu.edu mac-tex page + +Tue Jun 13 10:27:09 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): updated details for gutenberg + +Wed Jun 7 12:33:02 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex: version 2.4.5, today (for release) + (section{Acquiring the Software}): missing \endhtmlignore in nonfree + tree question + +Thu Jun 1 16:41:28 2000 Robin Fairbairns <rf@pallas.cl.cam.ac.uk> + + * faqbody.tex (section{Things are Going Wrong}): rewritten question + about capacity exceeded (scrapping assertions about pure methods of + hacking the tex web source, for goodness' sake!) + +Fri May 5 12:44:05 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * filectan.tex: add reference to epslatex.ps + + * faqbody.tex (section{PostScript and TeX}): add reference to + epslatex.ps in question on graphics inclusion where previously only + the pdf was mentioned + +Wed Apr 26 11:17:34 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): remove reference to + (now defunct) bitftp@pucc.bitnet + (section{Acquiring the Software}): add ctan.tug.org ftpmail + (section{Acquiring the Software}): hacking at search info (more to do) + (section{The Background}): update uk tug details + (throughout): remove parentheses from (+countrycode) + + * faq.sty: another iteration of pdfstartview + +Tue Apr 25 15:30:52 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faq.sty: tried alternative pdfstartview value -- no joy + +Fri Apr 14 15:20:33 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * filectan.tex: add latex-classes, ltxguide + +Wed Apr 12 15:01:42 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex: v2.4.2, today + + * Makefile: add targets help, patch (==newfaq-patch) and web (==march) + + * dirctan.tex: remove gtex; stick a whole lot of obsolete/ prefixes in + dviware things (that are probably not, in all honesty, ever going to + be used again, but what the hell...) + + * faqbody.tex (section{DVI Drivers and Previewers}): remove all the + previewers that have been moved to obsolete/, rewrite the rest + mentioning miktex and fptex previewers, characterise emtex's thing as + dos+os/2 only, etc., etc. + (section{\TeX{} Systems}): remove references to gtex + (section{Special sorts of typesetting}): remove references to gtex + +Wed Apr 12 07:44 rf@huntingdon (using vi) + + * companion.ctan: update location of version.sty + +Thu Apr 6 18:52:52 2000 Robin Fairbairns <rf@betsy.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): correct spelling of + bernice in sacks lipkin's name (oops) :-( + +Wed Apr 5 10:22:21 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{PostScript and \TeX{}}): rewrite figure + inclusion with emphasis on the graphics package + + * dirctan.tex: add draftcopy and ms + + * additions.tex (section{Proposed new questions}): Add watermarks q + +Mon Apr 3 21:25:19 2000 Robin Fairbairns <rf@betsy.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): tidy up gratzer's + latest (which _has_ been published now, or else...) and add reference + to lipkin's latex for linux + +Fri Mar 31 14:40:29 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex: v2.4, today + + * additions.tex: bunch of questions moved out; back to pl 1 (only + unfinished `new language in babel' question now left) + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): moved in 1-col + abstract, babel words and code listings questions + (section{Acquiring the Software}): moved in `nonfree' question + (section{Format conversions}): moved in `read SGML/XML direct' question + (section{Why does it \emph{do} that?}): moved in \marginpar question + +2000-03-27 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * newfaq-patch.tex: input faqbody for version and date before additions + + * additions.tex: make version reported derive from \fileversion from + faqbody + + * faqbody.tex (section{\TeX{} Systems}): removed listing for microtex + v2.3a2, today + +2000-03-24 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): correct details for truetex + + * faq.sty: define a url in pdf mode for the debian social contract, + _before_ loading hyperref; remove all the old (pre-url.sty) + definitions using the FAQverb mechanism; remove the attempts at + patching hyperref's normalisation mechanisms + + * additions.tex (section{Proposed new questions}): use defined url for + debian social contract address (to bypass hyperref boondoggle) + +Fri Mar 17 15:30:56 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * additions.tex (section{Proposed new questions}): Completed new + questions added yesterday (but not, I see, documented) -- on listings + and \marginpar + + * dirctan.tex: add listings, tiny_c2l + +Thu Mar 16 10:01:02 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * texfaq2html (sanitize_line): \URL argument in braces now + (sanitize_line): $e$ generalised to $<anything>$ (for $n$, just now) + +Thu Mar 2 14:27:03 2000 Robin Fairbairns <rf@huntingdon.cl.cam.ac.uk> + + * dirctan.tex: added mparhack + +Thu Feb 10 16:55:44 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * dirctan.tex: add passivetex + + * faq.sty: \URL is _just_ \url now + + * additions.tex: v2.3a1 pl4, today + (throughout): convert all \URL commands to take arguments in braces + (section{Proposed new questions}): passivetex ctan reference now + only one version of reference to social contract + + * faqbody.tex (throughout): convert all \URL commands to take arguments + in braces + v2.3a1, today + +Fri Jan 21 14:09:59 2000 Robin Fairbairns <rf@cl.cam.ac.uk> + + * dirctan.tex: added xmltex + + * additions.tex (section{Proposed new questions}): added spqr's + question about typesetting *ml direct with tex; + 2.3a pl3, today + +Tue Dec 14 10:28:00 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faq.sty: attempted improvement of \ifpdf definition of \URL (trying + to use hyperref's sanitising facilities) + + * additions.tex (section{Proposed new questions}): outlines for babel + hyphenation, babel `foreign words' + (section{Proposed new questions}): wrap verbatim lines a bit + + * texfaq2html (sanitize_line): add \meta + + * faq.sty: add \meta command + +Fri Dec 3 09:34:24 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * Makefile (newfaq-patch): new target (with ancillaries) to make pdf + and ps versions of the patched file + + * letterfaq.tex: bring into line with newfaq (was rather wonky) + + * additions.tex: new file -- proposed additions to faqbody + + * newfaq-patch.tex: new file -- newfaq, with the additions + + * newfaq.tex: eliminate reference to bodenheimer in the title, mention + the march 1999 printed issue + +Mon Nov 1 17:50:07 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * texfaq2html (tail): add href to default address for script using `TeX + FAQ' as anchor + +Mon Sep 6 13:25:08 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): removed phil taylor from list of + non-committee-members + +Thu Sep 2 14:11:02 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex: today's date, v2.3a + + * Makefile: add configuration variable CMFONTS(=cmz), and use it where + previously just said -Pcms + + * filectan.tex: added simpl-latex + + * faqbody.tex (section{PostScript and \TeX{}}): correct ref to mathpple + (section{Documentation and Help}): add ref to harvey greenbergs + simplified latex thing + + * faq.sty: defer \let\Qlabel\label to begin document in case that we're + using hyperref + +Wed Sep 1 09:11:00 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faq.sty: don't have \raggedright explicit in the definition of + \Question -- hyperref chokes, now -- redefine \subsection instead + + * faqbody.tex (section{PostScript and \TeX{}}): change description of + authorship of mathpple + + * filectan.tex: remove mathpple (dangling pointer into tetex) + + * dirctan.tex: add mathpple (fonts/mathpple) + +Mon Jul 26 14:34:46 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): change wording around binary + availability for tetex + v2.3 (3.0 for the published version?), today + + * dirctan.tex: tetex binaries from distrib/binaries directory (change + label to tetex-bin from -install) + +Sat Jul 24 08:50:15 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Format conversions}): retrieved text about + ghostscript caoability of viewing acrobat docs + (section{The Background}): minor typo in lollipop + +Fri Jul 23 21:19:39 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): missing \\ in details for sci + word + (section{\TeX{} Systems}): updated with words from mike vulis about + vtex + (section{Format conversions}): add references to vtex & tidy a bit more + + * dirctan.tex: add vtex (and delete vtex-demo, ancient) + +Tue Jul 13 09:31:14 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Support Packages for \TeX{}}): change reference + to ispell to reflect browsing status + (section{Format conversions}): tidy the question on generating acrobat, + add url for getting acroread + (section{Acquiring the Software}): canonical ctan.org addresses for + everything, remove numeric addresses (most of which were wrong anyway) + + * dirctan.tex: make ispell directory browsable, and remove all + subdirectory references + + * filectan.tex: update version number for excalibur + +Sun Jul 4 00:01:06 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Format conversions}): rewrote the section about + pdf output, including (inter alia) dvipdfm, and dropping reference to + dvipdf + (throughout): GhostScript->Ghostscript + + * dirctan.tex: add dvipdfm + + * faqbody.tex (section{Current \TeX{} Projects}): make NTS logo come + out bold in question title (using \afterquestion); use \afterquestion + for question about 2e + (section{The Background}): use \afterquestion (twice) in re. instances + of bold math characters in titles + +Sat Jul 3 10:02:22 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faq.sty: add \afterquestion command for use after \Question commands + inside groups + + * faqbody.tex (section{How do I do X in \TeX{} or \LaTeX{}}): refer to + sectsty, titlesec and fncychap as alternatives for changing section + headings + remove reference to NFSS question in roman theorems question + + * dirctan.tex: add sectsty, titlesec, fncychap + + * faqbody.tex (section{Current \TeX{} Projects}): section renamed from + `recent developments' + commented-out the nfss question (hardly current any more) + rewritten latex question to refer to june 1999, and to stand alone re + nfss issue + (section{Things are Going Wrong\dots{}}): get rid of references to the + NFSS question + (section{How do I do \textsl{X} in \TeX{} or \LaTeX{}}): no question + reference for NFSS in section headings question + + * dirctan.tex: add context + + * faqbody.tex (section{The Background}): Add a question about context + (section{The Background}): junk the commented-out stuff about AMS + things we no longer admit to... + version 2.2t, today + + * texfaq2html (sanitize_line): add \CONTeXT (and \PDFTeX, \NTS, \eTeX, + \Eplain, \TeXsis and \WYSIWYG ... oops) + + * faq.sty: add \CONTeXT + +Mon Jun 14 17:46:49 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex: today's date + + * texfaq2html (sanitize_line): add \'e + + * faqbody.tex (section{Documentation and Help}): add a proto- + question on tutorials + + * filectan.tex: add gentle, lshort (both pointing at .pdf files) and + change epslatex to point at the .pdf file + +Sun Jun 13 14:01:10 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): rearranged list of committee + members to be more easily editable, and removed malcolm and kaveh's + names from the list of people said to have retired in 1998 + (section{Macros for Particular Types of Documents}): questions about + setting papers for journals, and creating a report from a bunch of + articles + v2.2q, today + + * dirctan.tex: add frankenstein + +Sat Jun 12 09:25:42 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{How do I do \textsl{X} in \TeX{} or \LaTeX{}}): + struggling to make sense of the twaddle about logos, in html... + (section{Documentation and Help}): retrieved the isbn for knuth's + hardback + + * texfaq2html: define $home from $ENV{FAQ_HOME} if that exists + + * faqbody.tex (section{Documentation and Help}): \ISBN commands for tip + separate volumes; add first stab at entry for knuth's collected papers + (missing hardback isbn just now) + (section{Macros for Particular types of Documents}): new section, only + containing vita.cls as yet + (section{How do I do \textsl{X} in \TeX{} or \LaTeX{}}): be a bit ruder + still about the silly-logo syndrome; mention the \MP problem and the + difficulties with texnames.sty + (section{The Background}): credit hobby in \MP question + v2.2p, today + + * dirctan.tex: Add vita + + * faq.sty: \MP == MetaPost in public version (P was lower case) + (matches what's in texfaq2html) + +Thu Jun 10 09:41:01 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): rewritten win32 part, + emphasising the info got from fabrice's talk at the uk tug meeting + + * dirctan.tex: added lwc, lgc + + * faqbody.tex (section{Documentation and Help}): commented out entry + for making tex work (no longer in ora catalogue), updated entry for + diller's organ, removed buerger's entry (no longer in mcgraw-hill + cat.) and shultis' (no longer in prentice hall cat.) + removed comment about what is/isn't good for latex2e, added reference + to lgc and lwc directories + + * texfaq2html (sanitize_line): moved \acro up above \emph + +Wed Jun 9 17:49:34 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): Added lwc + v2.2o, today + +Sat Jun 5 11:10:19 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * Makefile.CTAN (archive.cfg): needs distributing, too + + * faq.sty: NoLine for package warning about missing refs at end + damn -- need distinguished \CTANdirectory* in pdf case + + * faqbody.tex: v2.2n, today + + * faq.sty: make \CTANdirectory ignore * + + * faqbody.tex (section{\TeX{} Systems}): `browse' 2 tetex directories + + * texfaq2html: add \CTANdirectory* capability, for browsing dirs + + * dirctan.tex: added 0.4 into tetex and tetex-bin, convert all tetex + entries to *-form + +Tue May 25 14:52:12 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): corrections to sciword stuff + 2.2m, today + +Mon May 24 14:29:21 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): Updated sciword, etc., bumf + 2.2l, today + +Fri May 14 12:17:37 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): restore yesterday's change... + +Thu May 13 10:02:58 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): make the html redirect for + miktex go to the 1.20 directory, since miktex/index.html has gone :-( + +Fri May 7 10:05:15 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * dirctan.tex: correct directory address of fptex (!) + + * Makefile.CTAN: add texfaq2html + + * faqbody.tex: change date to today + (section{\TeX{} Systems}): different references for miktex as + between the printed and web versions (ouch...) + (section{\TeX{} Systems}): remove commented-out text about getting + oztex on floppies... + + * dirctan.tex: add systems/win32/miktex + + * filectan.tex: removed the three miktex file entries + + * texfaq2html: add mail url for uktug-faq@tex.ac.uk in the tail + +Thu May 6 14:18:26 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): Add reference to + ISO 690-2 online version in question about citing urls + v2.2j, today + +Fri Apr 23 11:45:35 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * Makefile.march: new, update the things needed for the texfaq script, + _only_ + + * Makefile: add new target march to run Makefile.march in + VH-tex/faq-source + + * faqbody.tex (section{The Background}): new url for uk tug + (section{Introduction}): change url for the faq to cambridge, remove + footnote about it being a temporary one + + * texfaq2html: remove the `brought to you at' mucking about; change + $home; change web address for uktug + +Thu Apr 22 15:37:13 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): Update details on K&D + to third edition + +Sat Apr 17 16:16:10 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * texfaq2html: /usr/bin/perl (so as to work both on bescot and march) + +Wed Apr 7 14:10:47 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * newfaq.workers: stupid file ... should i keep it? + + * Makefile.CTAN: add newfaq.ps (eh?!) + + * faqbody.tex (section{Documentation and Help}): kerfoodle to produce + the string /caption\\. as in-line verbatim in html + version 2.2g, today + +Sat Apr 3 08:57:10 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * Makefile.CTAN: (new file) first stab at automating installation on + CTAN + + * Makefile.FTP: remove .dvi and .ps files from this distribution + + * Makefile: add symbols DVIPS, PDFLATEX and LATEX (which last rather + useless at present + + * faqbody.tex: today's date + (section{\acro{DVI} Drivers and Previewers}): remove reference to the + separately-available VMS version of dvips + + * dirctan.tex: add tetex-beta + + * faqbody.tex (section{\TeX{} Systems}): correct VMS entry + (section{Perhaps There \emph{isn't} an Answer}): sort screed about + consultants, and add pointer to TUG consultants page; correct + reference to latex project + (section{Recent Developments}): revise the text about the latex3 + project; add reference to cyrillic in the latex2e stuff, and otherwise + revise _that_ text; refer to packaged systems that include omega + (section{\TeX{} Systems}): urge packaged systems for unix, and refer to + tetex-beta + + * filectan.tex: remove all the old VMS references and add OpenVMSTeX + +Fri Apr 2 14:53:15 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): reword fptex stuff, and change + label + (throughout): ensure that _all_ em-dashes are preceded by nobreakspace + and use \LaTeXo in place of spelling out the old version number (for + consistency of layout) + + * dirctan.tex: deal with latex packages directory (and delete the + `whole directory' label which wasn't used) + win32/web2c -> fptex + +Tue Mar 16 00:03:15 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): minor editorials on the Y2K + question + +Sun Mar 14 09:29:54 1999 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): Add a question on Y2K + compliance (and give a \Qref to the outline of LaTeX) + (section{The Background}): Add a section on trip/trap + version 2.2e, dated today + (section{Introduction}): Add John Palmer to the footnote about the + committee + (section{Documentation and Help}): add isbn for mfbook paperback + (section{Documentation and Help}): mention wichura under the pictex + manual, and add reference to pti's web site (without mentioning the + price they charge for the damned manual!!!!!) + (section{Acquiring the Software}): remove information (which is surely + out of date) about the `next' (late 1997) release of 4alltex disc -- + no replacement since the situation isn't clear to me... + (section{Format conversions}): remove reference to jf's stuff (which + seems to have been abandoned in favour of activetex) + +Sat Nov 14 12:45:16 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * filectan.tex: add a winedt entry + + * faqbody.tex (section{Introduction}): changes to lists of names + (section{\TeX{} Systems}): add a little thing about winedt (probably + not satisfactory) + + * filectan.tex: three separate miktex files + + * dirctan.tex: miktex (pc) _goes_ + + * faqbody.tex (section{Format conversions}): correct info about the + word processor conversions faq + (section{The Background}): remove reference to .zip file of texinfo + + * filectan.tex: texcnven no longer exists -- record the .zip file in + the directory; update the texinfo file name (removing the version + number and thereby relying on the link) and get rid of the .zip + reference (did such a file _ever_ exist?) + +Tue Aug 25 13:51:52 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): New version of tech wg stuff + from kaja christiansen + +Thu Jun 11 17:10:37 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * Makefile (CONFIGS): new, another category of thing to depend on + +Wed Jun 10 12:58:02 1998 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faqbody.tex (section{Bits and pieces of \TeX}): minor rewording of + text about ec fonts, correction of punctuation + +Tue Jun 9 20:40:05 1998 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * dirctan.tex: start suppressing unused directories + + * faq.sty: make \CTAN{directory,file} deal with case of active file or + directory name + + * faqbody.tex (section{Special sorts of typesetting}): make direct + reference to suppport/xindy into a \CTANref; minor typos corrected + + * archive.cfg: new file, configuration for {file,dir}ctan when make pdf + +Tue Jun 9 00:11:09 1998 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faq.sty: distinguish two \Status targets, 1- and 2-column pdf (values + 1 and 2) + + * faq.cls: load packages before setting page dimens, don't change + horizontal dimens if single column version + + * faqbody.tex (section{Format conversions}): dvipdf lesenko spoke about + it in the past (was `hoping to speak' at tug'97); today's date; slight + rewording of basic outline of omega + +Mon Jun 8 17:21:15 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faq.sty: yet another fiddle with hyperref options; suppress multicol + when doing pdf + +Sun Jun 7 09:25:05 1998 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): Remove reference to + getting the old faq by ftpmail; increment patch number, date today + + * faq.sty: juggle with hyperref package options; remove spurious space + in `public' definition of \MF + + * Makefile: do pdf generation on the basis of pdf-{new,letter}faq.tex + +Sat Jun 6 00:59:02 1998 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faq.cls: also require url.sty, since we again have a conflict with + hyperref + + * faqbody.tex (section{\TeX{} Systems}): remove claim that tug can + supply pc software or copies of oztex (and restructure the mac + question slightly as a result); refer to omega port in cmactex + + * faq.sty: replace all alan's old url-ish definitions with ones based + on url.sty (this is too slow processing dirctan.tex...) + + * Makefile: add new targets newfaq.pdf and letterfaq.pdf; parameterise + files we depend on; do away with old `all' target, and use body of + `public' one instead + +Fri Jun 5 20:23:09 1998 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faq.cls: input multicol before faq, in case we're running pdflatex + (\Status=1) -- since hyperref changes \@footnotetext, and multicol + checks it, this is somewhat important... + + * faqbody.tex (section{Documentation and Help}): reword the sorry tale + of the pictex manual (i.e., not available at all) + +Thu May 28 14:52:14 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): refer to + fancyvrb in `including verbatim files' and `line numbers' + v2.2a, today + + * dirctan.tex: add fancyvrb + +Tue May 5 11:05:11 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * Makefile.FTP (all): removed non-cm .dvi files, .300ps files + +Mon May 4 21:56:52 1998 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): tug2->ctan.tug.org + (section{Acquiring the Software}): tug2->ctan.tug.org + + * faq.sty: add \Status game (cribbed from seb's work on tex-live doc) + +Sat May 2 17:49:11 1998 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): backing off bodenheimer, ref the + version on TeX Live CD + (section{Acquiring the Software}): tex-live now third edition + v2.2, today + + * Makefile (public): new `general' target, with no .300ps stuff + (newfaq.ps,letterfaq.ps): remove specification of elm + + * faq.sty: junk the old diddling with parameters for times (there've + been several new releases of the metrics since those were recommended) + define \ifpublicversion, talking of the fonts to be used, so we can + have a type1-fonts-only version + +Fri May 1 17:55:49 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex: 2.1o, today + + * dirctan.tex: add footmisc + + * filectan.tex: remove stblftnt + + * faqbody.tex (section{How do I do X in \TeX or \LaTeX}): refer to + footmisc rather than stblftnt + +Mon Apr 6 12:56:20 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * Makefile (clean): add -f switch + + * faqbody.tex (section{\TeX{} Systems}): refer to pctex32 (as a windows + implementation) + version 2.1n, today's date (forgot that last time) + +Thu Mar 26 16:51:01 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Why does it \emph{do} that?}): redo the examples + for #-doubling in terms of + rather than -, so no need for farting + around with ligatures + (section{Introduction}): removed jf from list of resigned committee + members, added dpc, and brought committee list up to date + +Wed Mar 18 10:19:55 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * companion.ctan: correct calc, changebar + +Fri Jan 16 09:58:18 1998 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex: v2.1m, today + (section{The Background}): Correct address and phone nos for TUG + +Wed Nov 5 10:40:40 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): minor typo in + line numbering q + +Tue Nov 4 11:03:45 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): Avoid nested + braces in indexing question + (section{Introduction}): Refer to LaTeX2e rather than LaTeXe in intro + (html version only) + + * faq.sty: Define \oparen and \cparen commands + + +Wed Oct 29 16:33:41 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): Update truetex web page + address (and source details) + +Mon Oct 27 09:20:15 1997 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faq.sty: Comment about oddity of \CTAN command + + * faqbody.tex (section{Things are Going Wrong\dots{}}): Tidy up earlier + text (difficult to quote entire trivial lines, in-line) + +Sat Oct 25 23:37:11 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): \CTAN takes + a real argument, not one in vertical bars + + * faq.sty: Add \TeXsis, \parens + +Sat Oct 25 10:52:42 1997 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faqbody.tex: today's date + (section{Special sorts of typesetting}): Add questions on typesetting + URLs, and on citing them with BibTeX; reference texsis's indexing + macros, and mention xindy (not terribly satisfactorily, given the way + it's organised on CTAN) + + * dirctan.tex: Add xindy + + * filectan.tex: Add texsis-index + + * faq.sty: remove definition of \ifnotreadCTAN, define \htmlonly and + \textpercent + + * texfaq2html (sanitize_line): Add \htmlonly (as no-op), \\textpercent + rather than \\\% (!) + + * filectan.tex,dirctan.tex: Own protection against being read twice + + * newfaq.tex,letterfaq.tex,faqbody.tex: Do away with conditional around + loading {dir,file}ctan + +Fri Oct 24 19:34:37 1997 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): Add Oren Patashnik to list of + contributors (in anticipation...) + (section{Things are Going Wrong\dots{}}): Modify answer to offer Oren's + solution to the `BibTeX string too long' problem + Add a question about underlining + (top of file): v2.1l, today + + * filectan.tex: Add ulem.sty, abstract.bst + Excalibur entry now .sit.hqx (also corrected version no) + +Thu Oct 23 08:09:37 1997 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * filectan.tex: Add url.sty, update version number in the texinfo + distribution + + * faqbody.tex (section{How do I do X in TeX or LaTeX}): Rewrite the + initial text in a slightly less school-ma'am-ish way + +Fri Oct 10 19:40:06 1997 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): Add question on + line numbering + + * dirctan.tex: Add lineno + Delete a bunch of entries that are wrong/irrelevant/misleading + (including all the latex209 ones that didn't get moved to latex + by Seb in his LGC campaign, apart from ones that might figure in + a future question, like chbars, chem{struct,tex}) + Correct xymtex (to contrib/other), crossword (to contrib/other/ + crosswrd), elsevier (to contrib/supported), footnpag (to contrib/ + supported), ucthesis (to contrib/supported) + Replace epic with (macros/latex/contrib/other/)eepic + + * filectan.tex: Add numline, latex209-base + Correct ukhyph + +Fri Oct 10 11:41:13 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Recent Developments}): Correct John Plaice's + email address + +Fri Oct 10 07:01:24 1997 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * texfaq2html (sanitize_line): Process \mailto + Use $0 if environment SCRIPT_NAME isn't defined + + * faq.sty: Define \mailto + + * faqbody.tex (throughout): Convert \Email to \mailto for addresses + that should/could be mailable direct from the web instance of the FAQ + (section{\TeX{} Systems}): Note update date of pctex info + +Thu Oct 9 22:36:02 1997 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * faqbody.tex (section{Why does it \emph{do} that?}): Add a question on + the behaviour of \include; small extension of the question about \verb + to note other exciting error messages + +Wed Oct 8 16:38:52 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): ctan-web from tug2 + rather from its old Oh Really site + +Wed Oct 8 00:26:29 1997 Robin Fairbairns <rf@betsy.al.cl.cam.ac.uk> + + * texfaq2html: Upgraded for perl5 (heaven knows whether it now works + under perl4 + + * faqbody.tex (section{Documentation and Help}): Add a url for + ctindex.html in addition to the full thing + +Mon Sep 6 13:50:51 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): New email addresses for PTI + +Fri Sep 5 18:42:23 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): correct URL for WC + CDROM information + +Wed Aug 20 10:51:16 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): Add tug2.cs.umb.edu + (section{How do I do \textsl{X} in \TeX{} or \LaTeX{}}): Add Donald + Arseneau's note about \mathbf vs. AMSLaTeX + (section{Introduction}): Add Donald Arseneau to acknowledgements + +Wed Aug 13 11:27:55 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * Makefile (clean): Only delete .aux files cgi-bin script doesn't use + + * dirctan.tex: amslatex from latex/packages, amstex from macros/amstex, + fontsel from latex209/amslatex/fontsel (oops); junk AMS author-info + and its guidelines + + * faqbody.tex (section{Why does it \emph{do} that?}): Mentioned + changing the text, and \enlargethispage for split footnotes + (section{How do I do \textsl{X} in \TeX{} or \LaTeX{}}): Add a question + on bold greek letters + +Tue Aug 12 14:39:30 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Why does it \emph{do} that?}): Add question on + split footnotes + v 2.1f, today + (section{Introduction}): Add David Kastrup to list of acknowledgements + +Mon Aug 11 16:07:37 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Format conversions}): Quote a CPAN address for + SGMLS (was using a direct UOttawa address for dmeggins' directory) + 2.1e, today + +Tue Jul 22 12:37:17 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * archive.list: List of acceptable archives (just archive name and root + so far, but abbrevs and acceptable formats also possible) + + * texfaq2html: Further work to make the archive list and archive + selection work + Make the selected archive and format hidden input from the search form + +Mon Jul 21 13:59:21 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * texfaq2html: Add format (or f) and archive (or a) keywords + Add link at end to UK TUG home page + Add archive_list variable + + * archive.list: New file, list of allowable archives + +Thu Jul 10 11:26:42 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * texfaq2html (sanitize_line): Add translation of \thinspace{} to space + + * faqbody.tex (section{\TeX{} Systems}): {} after \thinspace + +Tue Jul 8 09:48:20 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): remove reference + to doublespace.sty + v2.1d, today + + * filectan.tex: threeparttable.sty is now a latex (rather than 209) + package + remove entry for alltt + + * texfaq2html: correct (to non-opaque html) translation of \pounds + + * faqbody.tex (section{\TeX{} Systems}): Refer to the win32 port of + Web2C, miktexppc and miktex-AXP, and the djgpp port of Web2C + + * dirctan.tex: Directory name djgpp (an obscure pointer to something + deep in the ps2pk tree) subverted to point at systems/msdos/djgpp + Add win32-web2c, miktexppc and miktex-AXP + +Wed Jun 18 15:57:57 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex: v2.1c, today + +Wed Jun 18 00:17:56 1997 Robin Fairbairns (robin@sams-machine) + +* faqbody.tex (section{Acquiring the Software}): Rearranged (and somewhat + reworded) the CDROM question, at Sebastian's suggestion + +Tue Jun 17 23:03:43 1997 Robin Fairbairns (robin@sams-machine) + +* faqbody.tex (section{Recent Developments}): Typos in PDFTeX stuff, change + assertion to say it is postgrad research rather than originating in an MSc + project (as I thought but Sebastian didn't) +(section{Perhaps There \emph{isn't} an Answer}): Make reference to TUG as + contact for TeX bugs a link + +Tue Jun 17 14:43:56 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): fancyheadings-> + fancyhdr + (section{Format conversions}): Further iteration of the acrobat- + creation text + (section{Things are Going Wrong\dots{}}): fancyheadings->fancyhdr in + the first-page-empty thing... + (top of file) version 2.1b, today's date + (section{Acquiring the Software}): Correct \Qref in 4AllTeX text + + * dirctan.tex: other/fancyheadings->supported/fancyhdr + + * faq.sty: Added \PDFTeX + +Mon Jun 16 15:40:07 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * dirctan.tex: Added pdftex + + * faqbody.tex (section{Introduction}): Add Mark to committee list, + change URL to www.tex.ac.uk and remove footnote about it being + temporary + (throughout): \emph{}asise `your name' in mailing list subscription + info + (section{The Background}): Correct address for TUG + (section{Format conversions}): dvips implements the hypertex specials + now + (section{Format conversions}): First stab at editing `making acrobat + documents' + (section{\MF{}}): Got rid of that awful American-style date in ln03 + mode file + (section{Recent Developments}): Added a pdftex question, moved all the + statements about eTeX into present tense, and linked to TeX live in + the CDROMs section + + * newfaq.tex: Edit note (beneath title) to refer to 1995 Christmas + edition, and to make availability via WWW present tense... + +Tue Jun 10 12:44:20 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): Tidy question about + availability of the article, and reword pointer to Bodenheimer's one + since it's now just to the directory; + (section{Bits and pieces of \TeX{}}): Reword the question about DC + fonts to one about EC fonts. + (section{Acquiring the Software}): Add TeX Live to CD-ROM distributions + (section{\TeX{} Systems}): Remvoed the reference to the AIX and 386ix + distributions (which are wildly out of date), tidy up the text about + Linux, and add a caveat about the Slackware '96 disc + Top of file: change to version 2.1 + + * dirctan.tex: Add TeX-FAQ (in obsolete/help) + Remove dc, add ec in its place + + * filectan.tex: Remove TeX-FAQ + +Tue Jun 3 15:38:34 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): add the LGC to the + book list, and change the phrasing of the `books that cover 2e' list + at the bottom of the list. + +Thu Apr 24 11:03:17 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): Correct Kinch's details + just that little bit further + +Wed Apr 23 09:31:06 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): New Web address for PTI + +Mon Apr 21 14:48:56 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * dirctan.tex: Remove (confusing) faq and sgi dirs (both under fweb) + +Thu Apr 17 17:34:55 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): Final address for NTG's Web + offering... + +Wed Apr 2 13:57:22 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): Update Kinch's web address + +Fri Mar 7 10:45:43 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{How do I do \textsl{X} in \TeX{} or + \LaTeX{}}): Recode the expression of |\begin{comment}| ... it + would appear that the perl happily gobbles the \begin{comment} + because it's something it knows about + +Mon Mar 3 16:53:14 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * companion.ctan: Bunch of changes from latex209->latex trees + +Wed Jan 29 15:44:52 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * filectan.tex: Get xtexcad from graphics/xtexcad + + * faqbody.tex (section{Support Packages for \TeX{}}): xtexcad + definitely does work on other Unices + +Tue Jan 7 12:25:50 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): Remove the (hopeless) + reference to news.answers archives of BB's FAQ, and add references to + source location of our FAQ and to the cstug, dante and (2) french FAQs + (section{Introduction}): Update the information about the committee, + add a pointer to the sources, and tidy + (throughout): convert URL and FAQ to \acro (and change the one instance + of "an FAQ" to "a FAQ" ... who knows which is right, after all?); a + few more Ulrik Vieth typos + (section{Recent Developments}): Add references to Omega and e-TeX + distributions + + * dirctan.tex: Add dante-faq, french-faq, uktug-faq, omega, e-TeX + +Thu Jan 2 13:56:25 1997 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (throughout): a small number of extra extra typos from + Ulrik Vieth + +Fri Dec 20 11:23:29 1996 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (throughout): Several typos corrected, mostly spotted by + Ulrik Vieth + Remove pointer to help/TeX-index/TeX-index from `finding packages', and + add a reference to www.ora.com instead + (section{Documentation and Help}): Add reference to www.dante.de in the + question on finding files on CTAN + + * filectan.tex: Remove TeX-index (since it's now no longer on CTAN) + +Thu Dec 12 12:35:35 1996 Robin Fairbairns <rf@cl.cam.ac.uk> + + * dirctan.tex: Add moreverb + + * faqbody.tex (section{The Background}): Correct the archive pointer + from the question on texinfo + (section{Special sorts of typesetting}): Add reference to moreverb in + the question on including a file in verbatim + (section{How do I do \textsl{X} in \TeX{} or \LaTeX{}}): Add a question + whose answer is (in part) stblftnt.sty + (section{Format conversions}): Add a reference to texcnven + + * filectan.tex: Change texinfo-macros to texinfo-dist, which points to + the .tar.gz file, and add a texinfo-dist-zip (oh dammit) + Add stblftnt.sty and texcnven + +Sat Oct 19 21:48:52 1996 Robin Fairbairns <rf@cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): Correct area code in Kinch's + telephone and fax nos + +Wed Jul 24 15:27:32 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): Move ctan-ann to + Heidelberg ... + There are `other' TeX-related lists there now (!) + (section{Acquiring the Software}): Move ctan to Heidelberg too + +Mon Jul 1 11:26:32 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * Makefile (clean): new target + + * faqbody.tex (section{Documentation and Help}): removed first + component of vm.urz.uni-heidelberg.de + +Thu Jun 27 15:06:50 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): Downgrade the + reference to TeX-Index (should I junk reference to it altogether?), + and give catalogue.html top billing + (section{Acquiring the Software}): finger ctan@ftp.tex.ac.uk or + ctan@ftp.dante.de + + * filectan.tex: Add catalogue + +Thu Jun 20 13:29:07 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): Remove reference to + ftpmail@shsu.edu + (section{Documentation and Help}): Nahhh... you can't get the FAQ from + SHSU's mail server (can you?) -- tell 'em to use ftpmail instead + +Tue Jun 18 17:10:49 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Acquiring the Software}): Removed SHSU from the + list of CTAN sites + +Mon May 27 13:49:23 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * companion.ctan: Corrections submitted by Brian Ripley + +Wed May 22 14:25:07 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * companion.ctan: Update moreverb + +Sat May 18 17:06:12 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * dirctan.tex: Add mdwtools + + * filectan.tex: Add threeparttable + +Thu May 2 17:47:51 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * Makefile: for the letterfaq.*ps, use -t letter (now that I've + installed it in the config files... ;-) ... not that it works at all + ... ah me, back to the drawing board ... + +Thu Apr 11 12:59:58 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): Extended TCI's ZIP to 9 digits + (_big_ deal!) + +Thu Apr 4 10:52:35 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): Updated V\TeX entry from + MicroPress' home page (mailed a copy to their support address for + their evaluation + +Thu Mar 21 18:03:59 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * dirctan.tex: Add miktex + + * filectan.tex: Correct location of setspace + + * faqbody.tex (section{\TeX{} Systems}): Add mik\TeX + (section{Special sorts of typesetting}): Comment out the \subQ ahead of + the fancyheadings question, pending resolution of the problems with + the HTML-iser + +Wed Mar 13 11:08:11 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * companion.ctan: setspace from contrib/supported/setspace + +Mon Mar 11 <some time> 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * companion.ctan: major revision from SPQR (forgot to log it...) + +Mon Mar 4 09:57:37 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * companion.ctan: fnpara from contrib/other/misc + +Thu Feb 29 12:52:18 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faq.sty: Hideous hacking (no doubt, phase 1 only ;-) to get \subQ + working + +Thu Feb 22 11:59:26 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): Added Q66a (but + it won't typeset yet, because I don't have \subQ coded...) + +Wed Jan 31 09:37:17 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Recent Developments}): Disembuggered a bit of + conditional code in \LaTeXe question + (section{The Background}): Minor typo editing + (section{The Background}): WG-92-05 contact:=Sebastian, WG-94-07:=Karl + Berry + (section{Things are Going Wrong\dots{}}): hyphen.cfg not lthyphen.cfg + (section{Things are Going Wrong\dots{}}): Add a word about the + alternative hyphenation character in DC fonts 1.2 + (section{Special sorts of typesetting}): Add descriptions of fenm[pf] + + * dirctan.tex: Change tds to point to tds/draft-standard + +Tue Jan 30 15:05:06 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Format conversions}): Removed `May' from the + assertion about the date when JF hopes to release + (section{Bits and pieces of \TeX{}}): Add projected release date for EC + fonts (courtesy Ulrik Vieth), and add an exhortation about using + 1.2/pl1 at least + (section{PostScript and \TeX{}}): Add a reference to mathppl, in the + section on mathptm (of course) + + * filectan.tex: Add mathppl + +Fri Jan 19 09:33:25 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex: (Throughout): Odd bits of \acro-isation ... still, + and general proof-reading corrections + (section{The Background}): Restore \rightmargin for quote env for NTG + (section{Acquiring the Software}): Commented out the elaborate text + about the Decus TeX collection (we know there's up-to-date images, but + the only mirror I can find is dated Apr '94, and wuarchive times out + (section{\MF{}}): Use list rather than tabular for the log report + (section{PostScript and \TeX{}}): Remove the reference to PSNFSS in the + discussion about font metrics + (section{Recent Developments}): Further iteration of the panegyric + about the qualities of 2e; also removed the text about latexbug, since + it also appears in the last question + + * faq.sty: Today's date, slight increment of version + Add a command \fullline + +Thu Jan 18 14:15:23 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): Commented LAMSTeX out again + Gave the version today's date + (section{Recent Developments}): \acro-ised dvi throughout, except for + one instance where referring to the file name extension + (section{Special sorts of typesetting}): Removed the question + "insisting on changing the margins" (merged into the previous one), + reword the statements it makes slightly + (section{Special sorts of typesetting}): Added Seb's question on + drawing packages + (section{\TeX{} Systems}): Added a reference to TeXtelmExtel directory + + * dirctan.tex: Add TeXtelmExtel + + * production/bask5_6.tex: A bit more in the intro; \acro-ised + +Wed Jan 17 11:53:21 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): Hacked out Bodenheimer's intro + (which used to be commented out anyway); change "has been" to "was" in + describing Bodenheimer's maintenance... + Gave the version today's date + A few more proofreading corrections + (section{Special sorts of typesetting}): Redone the examples in the + figures-in-text question to use explicit line breaks + (section{Things are Going Wrong\dots{}}): Add question on hyphenation + of accented words + (section{Bits and pieces of \TeX{}}): Add question on DC fonts + + * filectan.tex: Correct TeX-FAQ address (must have been wrong from the + start!!! + +Tue Jan 16 15:43:04 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex: Lots more \acro-isation + Up to v2.0d, dated today + Bunches of proof-reading corrections + (section{\TeX{} Systems}): Added TeXtelMextel to list of shells + + * faq.sty: \acro-ise ISBN + +Mon Jan 15 09:44:14 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{The Background}): Added a web address for NTG + Surround both instances of `2e' in question names with \boldmath + +Sun Jan 14 18:01:19 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex: Surrounded a whole bunch of things in \acro + (section{The Background}): Added a few Web addresses for user groups + (throughout): Various proofreading corrections (DPC,MJC,RF) + + * dirctan.tex: Got rid of all the old references to fonts/metrics + + * faq.sty: In \AllTeX, kern equally on either side of the closing + parenthesis + \acroise \DANTE, \MSDOS and \CDROM + Declare a \twee macro (to append 2e if necessary) + Define a \careof macro (code out of tugboat.dtx) + +Tue Jan 9 13:19:42 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Format conversions}): Only one version of + "\AllTeX{} conversion to HTML" question title + (throughout): \TeX{}/\LaTeX{} -> \AllTeX{} + +Wed Jan 3 14:23:09 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Special sorts of typesetting}): Add a label to + the text flowing section, for reference in the editorial + (throughout): more minor editorials + + * production/faqfont.cfg: Null file, to suppress faq.sty's default to + using times + + * production/bask5_6.tex: Rewrote the editorial and the title of the + FAQ article itself + + * production/baskerv.cls: Changed (guest) editor name + Subsection titles to use \bfseries (rather than \itshape) + +Note: directory spqr renamed as production... + +Tue Jan 2 12:35:03 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * spqr/bask5_6.tex: From bask4_6.tex, but added \thisyear + and \thismonth + + * spqr/5_6baskerv.cls: Changed subsection heading back to \bfseries + Select font encoding before selecting family mbvx, + \usepackage{t1enc}->\usepackage[T1]{fontenc} + + * faqbody.tex (throughout): Many minor editorial changes + Use \raggedwithindent + Subsume every occurrence of CTAN in an \acro + + * faq.sty: Add \@ wherever I consider it necessary (includes replacing + at least one instance of `\spacefactor1000 ' + Add a kern before the closing parenthesis in \AllTeX + Add an \acro command (and \textSMC as a result...) + Redo \Question using \newcommand with an optional argument, and set + raggedright in the question title (note: suppresses hyphenation) + Add \nothtml command (transparent) + +Mon Jan 1 16:37:53 1996 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Introduction}): Add Donald Arseneau and + W. Henning (what's the man's first name?) + (section{The Background}): Remove line break in Dante details + (section{Format conversions}): Add text on TeX2RTF + (section{Format conversions}): Correct SPQR's reference to latex2rtf + (he was plainly talking about tex2rtf) + (section{The Background}): Add a label to the lollipop question + (section{PostScript and \TeX{}}): Refer to the lollipop question where + a side reference to it is made re. PostScript metrics + (section{Special sorts of typesetting}): Slight rearrangement of text + in the stuff on wrapping text around figures... + + * faq.sty: Add an \AllTeX command + + * 00readme: Update, dealing with the existence of 600dpi versions, + letterfaq (used only to be dealt with in one place) and possibility of + problems with old versions of 2e + + * Makefile.FTP: Add 00readme to `all' target + + * Makefile: Add the .300ps things as separate targets + Ensure the ftp-directory Makefile is writeable once it's there + +Sat Dec 30 17:20:05 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex: Upped the file version and given it today's date + (section{Documentation and Help}): Sort out the text about obsolete man + pages... + (section{Documentation and Help}): Tried a few apostrophe-s in the list + of book titles that cover 2e + (section{Documentation and Help}): Tidied up DPC's text a bit + (incidentally also dealing with a fantasy introduced by my spelling + checker!) + (section{Documentation and Help}): Couple of minor enhancements to + Carol's text + (section{Special sorts of typesetting}): Added the long-bruited + question on flowing text around figures + + * dirctan.tex: Added reference for floatflt + + * filectan.tex: Added references for picins and wrapfig + +Fri Dec 29 21:03:12 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * Makefile: Move removal of the Makefile into the bracketed bit in + install + Let's have letterfaq.ps actually *make* letterfaq.ps rather than yet + another newfaq.ps, folks! + + * faqbody.tex (section{Acquiring the Software}): Added Walnut Creek + address and telephone nos from their Web site + +Thu Dec 28 18:53:45 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Documentation and Help}): Replaced + \Question[index]{Finding \TeX{}/\LaTeX{} macro packages} and + \Question[compan-files]{Finding \LaTeXe{}-related packages} with two + entirely new answers by the estimable Dr. C. + (section{Acquiring the Software}): Added a reference to Walnut Creek's + little baby (and despatched a message asking for more) + +Tue Dec 19 17:07:09 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): Updated Kinch's details from + the email he sent me + + +Sat Dec 9 17:24:47 1995 Robin Fairbairns <rf@nape.cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): Updated Kinch's entry as best + I can just now... + +Mon Dec 4 10:03:22 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{PostScript and \TeX{}}): Rewrote paragraph about + Goel's document to cover Reckdahl's one as well + (section{Documentation and Help}): Rewrite `where to find' to make more + clear the distinction between Bodenheimer's article and ours (which + does, after all, get updated ;-) + (section{Documentation and Help}): Put all the subscribe messages in + the question on mailing lists into \texttt, so they can break + + * dirctan.tex: Delete reference for ps2psfrag, alter psfrag to 2e + version + Add subfigure + Convert (2.09) supertab to (2e) supertabular + + * filectan.tex: Added epslatex + + * newfaq.tex: Remove the reference to c.t.t FAQ in the note, since it's + plain that nothing will ever get into anything maintained by + Bodenheimer + +Fri Dec 1 16:30:56 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * dirctan.tex: Add tweb + + * faqbody.tex (section{\MF{}}): Add a label to `getting \MF to do what + you want' + (section{Literate programming}): Add a reference to tweb + (section{Bits and pieces of \TeX{}}): Add Carol's set: dvi, driver, pk + and tfm (order probably needs attention) + (section{Format conversions}): Thrown out scribe + + * filectan.tex: Add dvitype + +Thu Nov 30 12:01:01 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (throughout): Convert all reference to specific TUGboat + issues to use the \TUGboat macro, all other references to \textsl + (section{Format conversions}): Add Clark's DSSSL page where Seb wanted + one, and fill in the URL for stil (Seb found this) + (section{Things are Going Wrong\dots{}}): Suggest upgrading \LaTeXo + ("if they must"), nopageno.sty + (section{\TeX{} Systems}): Sort out the reference to emTeX + + * faq.sty: \ignorespaces before handing on to \@tugboat + + * dirctan.tex: Add latex209-base + + * filectan.tex: Add nopageno + +Wed Nov 29 16:33:39 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Why does it \emph{do} that?}): |\protect\cmd| -> + \cs|protect|\cs|cmd| so that it doesn't get (hem-hem) b*ed by Alan's + perl script + (section{The Background}): Add reference to tds in the TWG's blurb + (section{The Background}): Update T.V. Raman's email address + (section{Documentation and Help}): Note that the book list is only of + English ones + (): + (section{How do I do \textsl{X} in \TeX{} or \LaTeX{}}): Add reference + to \frontmatter, \backmatter in the thing about unnumbered sections in + the TOC + + * dirctan.tex: Add tds + +Tue Nov 28 10:14:34 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * dirctan.tex: Add hyper and hyperref + Change psfonts to dos-psfonts (it wasn't referred to, anyway), and + create a new psfonts pointing at fonts/psfonts + + * faq.sty: Add definition of \TUGboat + Use \ProgName for \Package, pro tem + + * faqbody.tex: Change version number + (section{Recent Developments}): Junk Q-SGML (and the one reference to + it) + (section{Perhaps There \emph{isn't} an Answer}): uktex->texhax + (section{Format conversions}): Added questions on hyperTeX and + conversion to pdf, and replace Q-SGML2TeX and Q-LaTeX2HTML + (section{PostScript and \TeX{}}): Replace Q-usepsfont, Q-metrics, + psfonts-problems + (section{Why does it \emph{do} that?}): A bit more text from Alan about + uppercase shenanigans + (section{The Background}): Update TUG's address + +Sat Nov 18 12:23:58 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Perhaps There \emph{isn't} an Answer}): Added a + pointer to the bugs database in the last question (ASAJ's suggestion) + + * dirctan.tex: Remove emtex/betatest + +Sat Nov 18 00:05:11 1995 robin (robin@dosmachine) + + * faqbody.tex (section{Documentation and Help}): Added the metafont + list to the section on mailing lists + (section{Introduction}): Redone the list of committee names (it said + "1993-94" !!!), and added a paragraph acknowledging Rho's, Jonathan's + and Chris's efforts. + (section{Acquiring the Software}): Make the numeric addresses \FTP + addresses, too, so that they wrap + (section{Acquiring the Software}): Put `quote site index' (and, + separately, `site index') into \texttt (rather than verbatim) so that + it wraps if necessary + (section{Support Packages for \TeX{}}): Add a bit of explanation of + _why_ VorTeX isn't still being developed + + * dirctan.tex: Add metapost + +Fri Nov 17 23:29:42 1995 robin (robin@dosmachine) + + * faqfont.cfg: Deal with \Dings + + * faqbody.tex (section{Introduction}): Added John Hobby (because I'm + lifting some of his text) and Piet van Oostrum to the list of + contributors + (section{The Background}): Add a new question about MetaPost (does it + really need to be separate?) + +Fri Nov 17 13:12:10 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * dirctan.tex: Correct teTeX base directory and add tetex-bin + + * faqbody.tex (section{Documentation and Help}): Disambiguate + references to Gratzer's books in the short para after the list of LaTeX + books + (section{\TeX{} Systems}): Add reference to the teTeX binaries + directory + (section{\TeX{} Systems}): Remove witter about emTeX betatest, and + reword the reference to memory extenders (emxrsx is now part of the + distribution) + +Wed Nov 8 11:41:47 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * filectan.tex: Add mil + + * faqbody.tex (section{Documentation and Help}): Add reference to the + acrobat sampler of Gratzer's book + +Tue Nov 7 11:02:31 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{\TeX{} Systems}): Updated scientific word's + telephone no, following mail from Christopher + (section{Documentation and Help}): Add Gratzer's new book, and correct + the text at the end of the list detailing 2e coverage + +Sat Aug 26 14:57:41 1995 Robin Fairbairns <rf@dorceus.cl.cam.ac.uk> + + * faqbody.tex (section{Recent Developments}): Subscription information + for the omega list + +Mon Jul 3 15:01:38 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * 00readme: Note that psfonts-beta is being used + + * dirctan.tex: Added the two musixtex directories + + * faqbody.tex: Added WWW entries for Bluesky, Personal TeX Inc. and TCI + Removed claim of "orchestral" music for MusicTeX, added a reference to + MusiXTeX + +Wed Jun 28 16:17:28 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex: subscribe to texhax via texhax-request + give details of Kopka and Daly 2nd ed + changed fileversion to 1.9e + +Thu Jun 15 17:26:05 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex: Added DPC's neato search for package.??? in quote site + index + +Wed May 3 10:06:54 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * companion.ctan: Corrected companion.ctan re. curves + +Fri Apr 28 13:10:30 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * simpl-sum.txt: A plain text version of the question `what is TeX' + +Fri Mar 31 11:15:23 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * texnames.sty: Add definition of \mathcal if it's not there, and + redo \AMSLaTeX, \AMSTeX (et al) in terms of \AmS defined similarly + to how the definition of \AmSTeX was done + +Mon Mar 6 14:55:13 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * companion.ctan: Added graphics.sty (not in companion?) + +Sat Feb 11 14:23:41 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (section{\TeX{} Systems}): Update contact details for Y&Y + (section{Documentation and Help}): details of ctan-ann mailing list + Up to 1.9d + +Tue Jan 31 17:48:21 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (section{Documentation and Help}): Add a proviso about + multiline-message suppression using `-' to the blurb about quote site + index + +Mon Jan 30 12:46:02 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * updates.tex (section{Updates to the FAQ}): as its name implies -- a + contribution to BV 5.1 + + * faqbody.tex (section{Documentation and Help}): Corrected the + information about info-tex and ctt-digest and their mutual relationship + to comp.text.tex + + * filectan.tex: corrected file name of Tobin's metafont intro (and also + its directory!) + +Fri Jan 20 17:12:20 1995 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faq.cls: Adjust the page layout with a view to simplicity, symmetry, + and all those good things + +Fri Dec 16 13:22:52 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (section{The Background}): Remove the em-dashes between + the item labels and the TWG titles + (section{How do I do \textsl{X} in \TeX{} or \LaTeX{}}): Remove the + gratuitous \protect commands from the non-moving part of the [sub] + section arguments in the question on fiddling with the layout of + sectioning commands + (section{The Background}): Use \Emaildot for Yannis' address + (section{Format conversions}): Ditto for Nathan Torkington + (section{Documentation and Help}): Split the title boxes for both + Gr\"atzer's and Shultis' books + (section{\MF{}}): Insert @{} at every touch and turn in the + `table' specification for the instructions for inimf + + * faqfont.cfg: Add (null) definition of \Dings + + * faq.sty: If using PostScript, define \Dings + Add \Emaildot (as \Email, but dot-separates the first part of the + name) + + * letterfaq.tex: Same as original newfaq.tex (i.e., letter paper by + default), except for \Dings + + * newfaq.tex: Load faq.cls with a4paper option, use \Dings between toc + and body + + * faq.cls: Use the paper size we're loaded with; adjust size of text + relative to it (using same values SPQR does for A4 paper, not some wild + proportional values) + +Mon Dec 12 13:07:36 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex: Use \ifnotreadCTAN, set it once the configs read + + * faq.sty: Add \ifnotreadCTAN + +Sat Dec 10 10:21:36 1994 Robin Fairbairns (robin@home) + + * faq.cls: First iteration of a class -- aim is that it should + ultimately be `generic' as between paper sizes + + * newfaq.tex: Reword for `after the publication', add invocations of + multicols + +Sun Dec 4 13:54:02 1994 Robin Fairbairns (robin@home) (Sun 13:) + + * faqbody.sty (throughout): The red-biro attack. + (throughout, again): The red-fine-felt-tip-pen attack (JF). + (section{Recent Developments}): Add a short blurb about JF's work. + + * spqr/baskerv.cls: Cut down \topsep in \@listi to 4pt basic + + * spqr/bask4_6.tex: Add a paragraph about use of the December edition; + Don't bother with table of contents before the editorial; the only toc + is that within the article itself + +Wed Dec 7 12:07:47 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * dirctan.tex: Add sgml2tex + + * faqbody.tex (section{Recent Developments}): Add reference to the + conversion programs in the answer about JF's stuff + (section{Format conversions}): Add an answer about SGML2TeX conversion + programs + (section{\MF{}}): Modify the surroundings of the table for running MF, + to get rid of the unsightly space at the top + (section{Bits and pieces of \TeX{}}): Comment out that question on font + formats + +Tue Dec 6 13:54:07 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex: Change file version and date + (section{Bits and pieces of \TeX{}}): Add question on font formats + +Mon Dec 5 15:27:20 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * spqr/baskerv.cls: Hack the toc to make it not produce newarticle + entries whatsoever + + * faqbody.tex (throughout): Final consistency checks following + spell-check + +Sun Dec 4 13:54:02 1994 Robin Fairbairns (robin@home) + + * faqbody.sty (throughout): The red-biro attack. + (throughout, again): The red-fine-felt-tip-pen attack (JF). + (section{Recent Developments}): Add a short blurb about JF's work. + + * spqr/baskerv.cls: Cut down \topsep in \@listi to 4pt basic + + * spqr/bask4_6.tex: Add a paragraph about use of the December edition; + Don't bother with table of contents before the editorial; the only toc + is that within the article itself + +Fri Dec 2 17:49:38 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * texnames.sty: Use \mathcal rather than \cal + + * filectan.tex: Add morefloats.sty + + * faqbody.tex (section{Things are Going Wrong\dots{}}): Replaced two + questions on floats with one conglomerate one (by me) + +Thu Dec 1 22:04:45 1994 Robin Fairbairns (robin@home) + + * faqbody.tex (section{Why does it \emph{do} that?}): Add a new + question on #-doubling (from a post of David C's) + (section{Things are Going Wrong\dots{}}): Add a new question on BibTeX + string sizes + +Tue Nov 29 18:49:52 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * spqr/bask4_6.tex: Twiddled with secnumdepth/tocdepth to get things + looking roughly right + +Tue Nov 29 13:19:09 1994 Robin Fairbairns (robin@home) + + * faqbody.tex (section{Why does it \emph{do} that?}): Add a question on + uppercase, from Jonathan's input + (section{Acquiring the Software}): Move the CD question here from TeX + systems + (throughout): Minor editorials + + * faq.sty: Version no:=0.6, date changed + Added hacked-about LaTeX logo + +Mon Nov 28 13:32:53 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * spqr/bask4_6.tex: Moved setting secnumdepth/tocdepth to inside the + FAQ article + + * faqbody.tex (throughout): More of my minor editorials + (subsection*{Finding the Files}): Added note about the lack of + full stops + (section{Introduction}): Sorted list of helpers into alphabetical + order, removed dots from the end + +Sun Nov 27 18:23:34 1994 Robin Fairbairns (robin@home) + + * faqbody.tex (section{Why does it \emph{do} that?}): Add question on + the problems with \verb (from JF's input) + +Sat Nov 26 22:09:17 1994 Robin Fairbairns (robin@home) + + * faqbody.tex (section{\TeX{} Systems}): Added Tom Rokicki's details + (wot no contact number) and changed the `source' of the stuff from the + AMS listing + +Fri Nov 25 12:41:36 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (throughout): Barbara Beeton's comments and Alan + Jeffrey's niggles + (section{PostScript and \TeX{}}): Added reference to mathptm in + Berthold's question + (throughout) Minor markups by your truly + (section{Documentation and Help}): Added a question about email lists + + * faq.sty: Remove spurious space generated by \ProgName + Separate the hyphens in \TeXXeT. + +Thu Nov 24 15:29:47 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (throughout): Editorial markup after looking at + \BV-formatted version + (section{\TeX{} Systems}): Add a bit of blurb about Northlake Software + + * dirctan.tex: Add emtex-betatest + + * faq.sty: Define a new environment proglist (maps to booklist while + we've got program names italic) + + * spqr/baskerv.cls: Remove stuff from faq.sty, and add requirement of + the FAQ package + Comment out definition of \CTAN (to something inconsistent) + +Wed Nov 23 10:20:27 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faq.sty: Make program names typeset in italic (experimentally) + + * faqbody.tex: Released to SPQR for his work ... then: + (throughout): SPQR's editorial changes + +Tue Nov 22 22:53:24 1994 Robin Fairbairns (robin@home) + + * faqbody.tex: Iterate calls of \cs back again... + + * faq.sty: Define \cs in terms of robust \csx (which is exactly the + same as the original \cs); \cs|...| now + +Tue Nov 22 13:10:26 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * texnames.sty: Sort out the definition of BibTeX (\if re. \textsc was + in the wrong place), do similar thing for SliTeX + + * faqbody.tex (throughout): All \ldots -> \dots (and make sure there's + a {}!) + (section{Introduction}): Add Ulrik to the intro + (throughout): Two complete iterations of the syntax for \cs + + * faq.sty: Replace my implementation of footnoteenv by one posted by + David to comp.text.tex (on a different matter, but there we are...) + Change syntax of \cs to \cs|...|, then find that doesn't work and + change it again to \cs[...] + + * faqvers.tex: Removed, since now done in faqbody.tex + +Mon Nov 21 22:49:05 1994 Robin Fairbairns (robin@home) + + * faq.sty: Replace \def\Q with the version Seb had put in the faqbody + + * faqbody.tex: Remove \def\Q from front of file, and insert the content + of filevers.tex in its place (with comment about how it's to stay where + it is) + + * newfaq.tex: Instead of reading faqvers.tex, read the first two lines + of faqbody.tex and execute them to get the file version and date + +Mon Nov 21 12:52:09 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (throughout): Implement Ulrik Vieth's and Malcolm Clarks + (latest) comments; + (section{How do I do \textsl{X} in \LaTeX{}}): Add a question about + indenting the first line of sections (Ulrik's suggestion) + + * faq.sty: Added definition of \ISBN (to encourage uniformity) + \DANTE simply expands to DANTE (until someone else tells me + something different ;-) + + * dirctan.tex: Added rnototex (now that it exists) and tetex + +Sun Nov 20 16:16:26 1994 Robin Fairbairns (robin@home) + + * faqbody.tex (throughout): Deal with David C's comments + (section{Documentation and Help}): Add reference to LaTeX for + Scientists and Engineers; + (section{\TeX{} Systems}): Add some blurb about SciWord + (throughout): Deal with my editorial markup + Two new questions + + * newfaq.tex: Report the number of questions at the end + + * faq.sty: \ignorespaces at the beginning, \unskip at the end of + footnoteenv + + * filectan.tex: Add xtexcad, CTAN-sites (needs checking) + +Fri Nov 18 22:12:21 1994 Robin Fairbairns (robin@home) + + * faqbody.tex (section{Format conversions}): Correct Mark James' email + address, following mail from him saying that's OK (section name + changed, too) + (section{Acquiring the software}): Correct the DECUS address, telephone + no., etc., and Ted Nieland's email address; also add the proviso about + updating of the VMS material in the DECUS collection + (throughout): execute Reinhard Zierke's updates (though don't add his + complete set of ISBNs for von B ... yet: just leave them there behind + comment makers) + +Tue Nov 15 10:12:48 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * dirctan.tex: Add alpha (the mac editor) + + * faqbody.tex (section{The Background}): Added a question on Lollipop + (which may get updated if Eijkhout responds to my mail) + (section{Documentation and Help}): Three more book titles (ex Malcolm), + re-attribution of ISBNs Clark<->von Bechtolsheim + (section{\TeX{} Systems}): Further refinement of the commercial stuff + + * faqvers.tex: Upped to v1.5, changed date + + * filectan.tex: Add texinfo-macros + +Mon Nov 14 22:14:08 1994 Robin Fairbairns (robin@home) + + * faq.sty: Add a ghastly \TeXXeT logo (and a trivial \MLTeX) + + * faqbody.tex (section{The Background}): Add new questions on + \LAMSTeX{} (split out of \AMSTeX{}) and Texinfo + (throughout): "like"->"such as" (where appropriate) + +Mon Nov 14 12:02:44 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (throughout): editorials from loads of people, new stuff + for the AMSTeX question from Michael Downes, several new questions from + Sebastian... + + * filectan.tex: Added pk300[w] + + * faq.sty: Provide command \CDROM + +Sun Nov 13 20:27:34 1994 Robin Fairbairns (robin@home) + + * faqbody.tex (throughout): All incarnations of the name DOS converted + to \MSDOS{} + Lots of minor edits following another batch of comments from RAB; three + new questions + Berthold Horn's question on scaleable fonts (probably needs post- + printing review) + + * faq.sty: Redo definition of \cs to enable it to consume things other + than letters and others + Add definition of command \MSDOS + + * faqbody.tex (section{The background}): When referring to WEB, do it + in capitals for consistency (What is TeX?) + (section{Things are Going Wrong\ldots}): Change invocation of \cs + to be simply \cs{pagestyle{empty}}, following change to \cs +Fri Nov 11 11:45:59 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (section{\TeX{} Systems}): Modified the list of + commercial versions to say platform first, name of system second + (section{Introduction}): Add Malcolm's name to committee list!!!!! + +Thu Nov 10 12:38:03 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (from section{Bits and pieces of \TeX{}} to + section{Recent Developments} [i.e., the end]): sorted the html anchor + texts + (section{\TeX{} Systems}): Added Malcolm's body for the commercials + question + (section{The Background}): Added Damian Cugley's questions on + pronunciation + (section{Special sorts of typesetting}): Added Damian Cugley's question + on logos + + * filectan.tex: Get setspace from the latex tree rather than the 209 + one + Add texnames + +Wed Nov 9 14:44:25 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (section{Introduction}): Add Rick Zaccone to the list of + helpers + (up to section{Documentation and Help}): sorted the html anchor texts + +Tue Nov 8 11:43:02 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (section{Documentation and Help}): Added ISBNs (from + Malcolm) for his an von B's books + (section{PostScript and \TeX{}} and elsewhere): Small number of changes + arising from Alan's comments + + * filectan.tex: Add Excalibur-sea (we don't want them loading the + entire directory) + + * faqvers.tex: New, the settings of fileversion and filedate from + newfaq.tex + + * newfaq.tex: Replace setting of fileversion and filedate by inputting + of faqvers.tex + +Mon Nov 7 11:42:12 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faq.sty: define a footnoteenv as suggested by Alan + + * faqbody.tex (section{Acquiring the Software}): Removed the reference + to Flynn's ridiculously old "NETWORK SOURCES OF \TeX{}WARE" + (section{Acquiring the Software}): Couple of instances where there were + \\ commands at the end of a quote environment; this causes untoward + blank space after the environment, so they've been removed + (section{Bits and pieces of \TeX{}}): New section, with Seb's virtual + fonts question, and a version of \Rho's on \specials (will contain the + proposed .dvi and "what's a driver" questions, too) + (throughout): replace \footnote{}s with footnoteenv + +Sun Nov 6 20:10:52 1994 Robin Fairbairns (robin@home) + + * faqbody.tex: Slight editing, added questions on msx/y and am fonts + +Sat Nov 5 21:41:34 1994 Robin Fairbairns (robin@home) + + * faqbody.tex: Rearrange the intro slightly to include an outline of + what Usenet is about, for the benefit of members who aren't net- + connected (this at \Rho's suggestion) + Add question on paragraph setting parameters +Sat Nov 5 14:52:03 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faqbody.tex (section{The Background}): Changed our contact address to + Peter Abott + (section{Documentation and Help}): Implemented David's suggestion + re. the PicTeX manual + (section{\TeX{} Systems}): changed `public domain' to `freely + available' in re. PC versions + (section{Literate programming}): Added a short new question from David + on the whole concept + (section{Special sorts of typesetting}): Corrected yet more oddities in + the changemargin environment + (section{Special sorts of typesetting}): Changed `emphasised' to + `emboldened' in the LaTeX version + (section{Things are Going Wrong\ldots}): Add a reference to ukhyph + (section{\TeX{} Systems}): Add reference to shareware fee payments for + OzTeX + (section{Things are going wrong}): Put the \caption commands in a + tabular env, for the benefit of Baskervill narrow setting + (section{PostScript and \TeX{}}): Added Sebastian's new questions + (inter alia, replacing the original about setting in PS fonts) + + * filectan.tex: Add lw35nfss, LitProg-FAQ, ukhyph + +Wed Nov 2 01:26:47 1994 Robin Fairbairns (robin@home) + + * faqbody.tex: updated to match newfaq.tex (\Rho's questions added + yesterday) + +Tue Nov 1 09:58:40 1994 Sebastian the system admin (root@cygnet) + + * separated text into faqbody.tex and wrapper newfaq.tex; + this is to allow experimentation with Baskerville layout. + + * rewrote PostScript fonts question and the one on + metrics; added one on problems with PS fonts. + +Mon Oct 31 12:14:55 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex: Added a new section How do I do X in \LaTeX{}, as + suggested by \Rho, and stuck her remaining proposed questions in it + + * faq.sty: Added the stretchability recommendations from psnfss2e.tex + in case setting in times (and remove 'em again) + +Sun Oct 30 09:50:54 1994 Robin Fairbairns (robin@home) + + * faq.sty: define a \WYSIWYG command + + * filectan.tex: Change mf-beginners to refer to copy in documentation/, + add mf-list + + * newfaq.tex: Move BibTeX docs question above the one on the PicTeX + manual + (throughout): reformat every \Qref so that the content of the second + (first mandatory) argument is the whole of the anchor text + +Sat Oct 29 14:27:12 1994 Robin Fairbairns (robin@home) + + * filectan.tex: Add modes-file (to avoid `modes.mf in \CTANref{modes}') + and mf-beginners (needs checking) + + * newfaq.tex (throughout): Use \Eplain{} for Eplain + Another instance of `\eTeX.'!!! + Mark up program names with \ProgName, (more) file names with \File + Hack at \MF{} section, following Karl Berry's suggestions + + * faq.sty: Define \Eplain (nullish sort of definition), \ProgName + Require comment.sty and exclude a comment of htmlversion + +Fri Oct 28 14:05:37 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex (section{Acquiring the Software}): Record checking of + bitftp@pucc.bitnet, listserv@dhdurz1.bitnet + (section{Documentation and Help}): Add reference to Norm Walsh's book + +Thu Oct 27 10:39:12 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex (section{Special sorts of typesetting}): Added references + to abc2mtex, midi2tex (also uploaded 'em to CTAN) + (section{The Background}): Added comment about GNU copyleft to the `how + come it's free' question + (section{Documentation and Help}): Added new question about finding + \LaTeXe{} packages (as a place to hang a pointer to companion.ctan, + which I've almost finished...) + + * dirctan.tex: Added abc2mtex, midi2tex + + * filectan.tex: Added compan-ctan + +Wed Oct 26 23:39:41 1994 Robin Fairbairns (robin@home) + + * newfaq.tex (section{Documentation and Help}): Sort out formatting of + the book lists (ISBNs uniform, no wrapping of \item parameters, removed + redundant braces) + +Wed Oct 26 12:57:11 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex (section{Documentation and Help}): Added stuff about .dtx + files + (section{The Background}): Add a Question about Eplain (not exactly + frequently-asked, but there we are...) + (section{\TeX{} Systems}): Use Oz\TeX{} as the `logo' + (throughout): Various corrections following Alan's problems generating + html + + * dirctan.tex: Corrected spelling of symbols in amsfonts-symbols... + +Wed Oct 26 00:02:37 1994 Robin Fairbairns (robin@home) + + * faq.sty: Yet another iteration of the \AtEndDocument CTAN reference + checks... + + * newfaq.tex (section{Things are going wrong}): Add RAB's questions + Behaviour of \rm, etc.; Missing symbols; Word division; Moving tables + and figures; Disappearing tables and figures + Add some words about journals in the intro to the question on double + spacing + +Mon Oct 24 11:26:27 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex (section{Special sorts of typesetting}): Refine reference + to amsfonts, to get to the directory directly related to the symbols + Comment out the "lazy person's" stuff, which I didn't like, and \Rho + says doesn't work + + * dirctan.tex: Added amsfonts-symbols (a subdirectory of amsfonts) + + * newfaq.tex (throughout): Do away with the "<American spelling> (sic)" + construct + (throughout): Lots of minor (and not-so-minor) editorials by Rosemary + + * faq.sty: Add tie between reference to question and the question + number + +Sun Oct 23 00:25:48 1994 Robin Fairbairns (robin@home) + + * newfaq.tex: Change fileversion to 1.4, date to tomorrow + Add 1994/95 committee to the footnote + General editorial consistency tidy-up + Add question on which font files need to be kept after a run of mf + Add new section "why does it _do_ that", with Joachim's text about + protection (this is where the proposed question on paragraph parameters + will go, too) + + * faq.sty: Make provision for using faqfont.cfg + + * faqfont.cfg: Null configuration file to enable use of CM fonts + in the lab + +Sat Oct 22 15:41:11 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex (section{DVI Drivers and Previewers}): Extended the text + around dvips for VMS + + * filectan.tex: Added {AXP,VAX}VMSdvips, VMSdvips-{fonts,support} + + * dirctan.tex: Added l2a + +Sat Oct 22 13:30:17 1994 Robin Fairbairns (robin@home) + + * newfaq.tex: Removed the \NeedsTeXFormat (since it's now done in + faq.sty); also types out file versions and so on. + Modified text (sometimes by bodily shifts or even rewrites) to ensure + that if a \CTANref is at the end of a sentence, it's always also at the + end of a paragraph, with no full stop after it + Added references (which aren't yet satisfied) for VMS dvips executables + and l2a (do we want that, though?) + + * faq.sty: Moved \NeedsTeXFormat to style file + Define version number (now 0.4) and date, and type 'em out + +Fri Oct 21 09:52:11 1994 Robin Fairbairns (robin@home) + + * newfaq.tex (section{Documentation and Help}): Redo the lists somewhat + (throughout): Sort out {}s after acronym macros (where did those come + from?) + + * filectan.tex: Specify usergrps.tex as coming from usergrps/info + +Fri Oct 21 13:40:02 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex (section{Special sorts of typesetting}): Added reference + to vmargin (and posted a question about whether we still want vpage) + (section{Special sorts of typesetting}): Add reference to makeindex (to + match the one for macmakeindex) and idxtex (what's all this garbage + about texindex? -- the .tar.gz file in the directory is (shall we say) + peculiar...) + + * filectan.tex: Bit o' sorting into order... + Add fullpage, vmargin + + * texnames.sty: Make logo for BibTeX transportable (i.e., usable not in + LaTeX2e if required) + Add logos \LaTeXe and \LaTeXo + +Thu Oct 20 19:38:17 1994 Robin Fairbairns (robin@home) + + * newfaq.tex (section{Special Sorts of Typesetting}): First attempt at + defining the distinction between `indexing' (deciding what's to be + indexed and how) and `making an index' (generating the file to include + from the .ind) + Throughout: re-mark-up \Qrefs (though the ones in comments aren't + touched... + (section{DVI Drivers and Previewers}): use Mattes' own emTeX logo + (at least as it appears in his documentation...) + Throughout: verbatimise `ftp' + * dirctan.tex: change reference to fancyheadings to point into 2e + directory tree + + * texnames.sty: Define \BibTeX using \textsc rather than the ingenious + stuff that the original used (which, since it employs \sc, suppresses + the use of bold face in section titles) + + * faq.sty: \Qref now to have three arguments, the third being the + actual thing we're referring to (the second is for the html processor's + anchoring text) + +Mon Oct 17 21:03:06 1994 Robin Fairbairns (robin@home) + + * newfaq.tex (section{Documentation and Help}): Change list of books to + use booklist environment + (section{Introduction}): Added a \subsection* giving details of the + `elided' first directory of every path name (this surrounded by + \htmlignore ... \endhtmlignore) + + * faq.sty: Add environment booklist for use in the list of books + (egob!) + Define \htmlignore,\endhtmlignore to mean \relax + +Mon Oct 17 09:16:55 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex (section{Special sorts of typesetting}): Correct to a + reference to screensty + Tiny tweak of the intro note + (section{PostScript and \TeX{}}): Corrected reference to figsinlatex, + removed comments about the .dvi being available too... + + * dirctan.tex: Added vmspell, txtdist, texsgi declarations + Moved 2etools from newfaq.tex itself + + * newfaq.tex (section{PostScript and \TeX{}}): Record the fact that + EdMetrics is available on CTAN, rather than by writing to Bluew Sky + + * faq.sty: In \FAQverb only insert \leavevmode if actually in vertical + mode + + * newfaq.tex: Input dirctan.tex (instead of namectan) and filectan.tex + (instead of the inline definitions it contains) + Moved 2etools directory out to dirctan.tex + (section{PostScript and \TeX{}}): Give Blue Sky's telephone no. in + canonical form + (section{\TeX{} Systems}): Corrected the reference to science.utah.edu + (which is now ftp.math.utah.edu), checked that the files for TOPS-20 + are still there... + (section{Documentation and Help}): Corrected numeric address for + rtfm.mit.edu + (section{Documentation and Help}): Made reference to the index an + (section{Acquiring the Software}): refer to, rather than name, + README.uploads + *Reference* the index rather than (as previously) use \CTANfile (which + did nothing and typeset oddly ;-) + + * filectan.tex: New, the _files_ bit from newfaq.tex Added references + to README.uploads, TeX-index, EdMetrics, screen.sty, usergrps.tex + + * dirctan.tex: Renamed from namectan.tex + Added a reference to TeX-index + +Sun Oct 16 10:28:04 1994 Robin Fairbairns (robin@home) + + * newfaq.tex: Remove loading of package shortvrb and definition of the + short verb character + Changed layout of the path specified for the start of the CTAN archive + from "./tex-archive" to "tex-archive/" (and used \CTAN for reference in + place of \path) + Refer to ucthesis via its \CTANref + Change layout of the path reference for DECUS TeX on wuarchive (without + prejudice as to whether we actually want to retain the reference at + all, of course) + Quote DECUS library telephone number in the same way as all other nos + Correct reference to Barbara Beeton's email address + + * faq.sty: Comment out the use of path.sty, all of my old stuff about + the CTAN labels + Add Alan's versions of the same... (less transmission errors) + Load the shortvrb package, and define | as the short verbatim character + _before_ using it as a delimiter for the various path-like commands + Similarly, make sure `@' is catcoded to `other' before defining the + \Email macro + Start \FAQverb with \leavevmode, since otherwise we might find + ourselves trying to change language while in vertical mode + Define \path in terms of \FAQverb + +Sat Oct 15 22:08:23 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faq.sty: added, then removed again, \emergencystretch + +Sat Oct 15 10:08:43 1994 Robin Fairbairns (robin@home) + + * namectan.tex: add bibtex-doc, graphics + + * newfaq.tex: editorial work on questions 2,4-9,11,12,14-19,21,24 + Commented out the "alternative" FAQ sites (though left reference to + rtfm.mit.edu) + taken away the (sanitised) group around all the ctan directory/file + commands + + * faq.sty: give \Qref an optional first argument (intro text, default + "see question") + make \CTANdirectory open a group, sanitise, and then call \@CTANdir + which is the old version of the command and then \egroup (similarly for + \CTANfile, with \@CTANfile) + make the scribble for undefined references come out in \texttt + lots of kerfuffle to recover the situation of the directory (etc.) + declarations split + + * path.sty: define \@morediscreet, a version of the same as the + internal version of \discretionaries, except that it defines all the + active characters to become \relax, so that they can be \xdef'ed + +Fri Oct 14 22:38:58 1994 Robin Fairbairns (robin@home) + + * newfaq.tex: change \Qref{dvi-ps} to {Q-dvips} (one or the other had + to change, after all) + second \CTANfile{unixtexftp} was really a \CTANref + removed original entry in the systems list for Macs, since it's been + superseded by Seb's new one + second \CTANfile{btxmactex} was in fact a \CTANref + (outstanding package warnings re CTANrefs are texsgi,vmspell and + txtdist) + + * texnames.sty: made the name for SliTeX conform to the comment about + it (it's not a big deal now that it's dead, but lower-case `i' (as + opposed to small caps `i') looked really odd + + * faq.sty: Added some scribble text in case of an unassigned \CTANref + err ... yet another instance of \makeatletter ... and another + +Thu Oct 12 16:00 1994 Sebastian Rahtz (s.rahtz@elsevier.co.uk) + + * Removed all non-CTAN ftp references (to be put back as a table) + + * changed order of questions + + * added list of committee names + + * made all questions statements, not questions (as per JS) + + * made complete list of CTAN names (namectan.tex) + +Tue Oct 11 13:37:28 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faq.sty: add (null) definition of \checked macro + made \CTANfile and \CTANdirectory \gdef their reference commands, and + defined a \CTANsanitise command + + * newfaq.tex: last two \CTANlabels become one \CTANdirectory (ispell) + and two \CTANfiles (VMS TeX) + (section{\MF{}}): mf \smode=... into a verbatim env (rather than short + verb) + (section{\TeX{} Systems}): VAX/VMS item -> VMS item (added a \checked + macro) + (section{\TeX{} Systems}): Updated the amiga stuff to point to CTAN + only (added a \checked macro) + +Fri Oct 7 15:24:29 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex (throughout): more hacking at commands that split + themselves over lines, added {}s to the last few \LaTeXe's that needed + them + (section{\MF{}}): indent verbatim command sequences + (section{\TeX{} Systems}): unwrap Q-oztex \Question argument + (section{Documentation and Help}): use \LaTeX in Lamport's book title + (section{Special sorts of typesetting}): reference macmakeindex.sit + instead of giving an email address for Tolliver, which causes grief + with Alan's perl code... + + * faq.sty: Add a \DANTE command, at Alan's suggestion + +Thu Oct 6 14:05:36 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * faq.sty: provide the commands for doing the \CTANlabel/\CTANref game + + * newfaq.tex (section{Special sorts of typesetting}): Added remark + about the status of screenview + (throughout) try to ensure (as Alan requests) that all logos are + referenced as as \logoname{} _only_ + (throughout) install the \CTANref mechanism for referring to existing + CTAN addresses + updated \fileversion and \filedate... + +Mon Oct 3 09:05:14 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex (section{Documentation and Help}): Removed repeated TUG + address from PicTeX manual question (replaced with reference to TUG + question); then moved question down below TUG question + (section{\TeX{} Systems}): mailed Elizabeth Tachikawa about the Unix + tape service + (section{Documentation and Help}): mailed latex-help-coordinator about + LaTeX help service, but the response was "unknown user" -- deleted + question and answer + (section{Documentation and Help}): Added a question about national/ + regional user groups + (section{Documentation and Help}): rationalise use of \BibTeX (in + particular, bibtex.1 is a _file_, not something that can reasonably + be expressed as a logo (why doesn't bold small caps appear in question + titles?) + +Sun Oct 2 17:14:30 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex (section{The Background}): Added body to the questions + What is TeX?, What is LaTeX?, why's it free? + (section{Introduction}): added a reference to Alan's server (even + though it's inevitably out of date w.r.t. this document...) + +Sat Oct 1 (evening) 1994 Robin Fairbairns (robin@home) + + * newfaq.tex: significant upheaval (several new questions, fewer new + answers), following discussion with Jonathan; + add \NeedsTeXFormat requirement (should this be in faq.sty?); + new section The Background with some stuff moved out from Introduction, + containing questions What is TeX?, What is LaTeX?, should I use plain + or LaTeX?, why's it free?, why isn't it wysiwyg?, and what is the + future?; + Introduction completely re-written; + new questions in The Latest Developments, What is the NTS project?, + what is the LaTeX3 project? + + * faq.sty: new commands for \BV, \NTS, \eTeX and \URL + +Thu Sep 29 12:43:52 1994 Robin Fairbairns (robin@home) + + * newfaq.tex: lots of minor typos corrected; + yet more markup added; + one or two more of Joachim's comments addressed (but note new \Q about + LaTeX 2.09 and `weird hyphenatoin') + + * faq.sty: load times.sty only \IfFileExists (such taste; such + originality) + +Wed Sep 28 10:23:30 1994 Robin Fairbairns (robin@home) + + * newfaq.tex: modified so that all question references (that I've + spotted so far ;-) simply consist of a \Qref in parentheses; + first iteration of sticking stuff in new sections; + more books (well, one more) and into a new question; + more markup tidying (\Newsgroup, \CTAN, etc.); + now version 1.1, added \hfuzz and \emergencystretch + + * faq.sty: (possibly merely experimental ;-) made Questions into + subsections, removed subsection from \cl@section, numbered sections + alphabetically...; + make \Qref produce "see question \ref{#1}" + +Tue Sep 27 16:10:17 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex: change to use \BibTeX instead of \BiBTeX (since the + latter's not one of the forms the name appears in texnames.sty; + refer to PiCTeX, VorTeX through their (new) logo macros; + similarly (though not new logos) tex->\TeX, AMS[La]TeX, LaTeX, BibTeX, + SliTeX; + correct wording describing incorporation of SliTeX into 2e (ex Joachim + Schrod's suggestion) + + * texnames.sty: new, copied from eplain distribution, but with \PiCTeX + and \VorTeX added (pro tem, at least) + + * faq.sty: moved the font-setting commands, etc., into the package + +Tue Sep 27 14:17:51 1994 Robin Fairbairns (robin@home) + + * faq.sty: markup commands in separate package (ultimately to come in + several versions according to the environment it's to be processed in + -- e.g., versions for PS font usage/cm font usage, even a version for + processing to plain text?) + + * newfaq.tex: moved all the markup commands out to (new) faq.sty; + couple of typos corrected following input from Joachim Schrod + +Thu Sep 22 09:18:38 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex: (last night's work) new-style markup for question + references, label for last question (so we can see how well we're + doing), \makeshortverb of \| so as to get coherent log output + + +Tue Sep 20 13:54:51 1994 Robin Fairbairns (rf@dorceus.cl.cam.ac.uk) + + * newfaq.tex: moved \documentclass, \usepackage above defs of + fileversion and date, so as not to pick up that from mflogo; + `getting a copy' - removed fileserv@shsu.bitnet, put various email + addresses in \Email; put NEWS.ANSWERS into more coherent form + (verbatim; and yes, it _does_ need to be upper case) + `pictex manual': escape the $s (!) + `oztex': it's now shareware, not PD + `fig and where to get it': remove escape from _ in \path (!) + `music': corrected email address for Taupin and his ftp site + `double-spacing': doublespace.sty is a file name; close paren round ref + to CTAN; "latest release of LaTeX"->"LaTeX2e" + `macros to do Y': verbatim site index command <term> in text + `... for machine Y running Q': FTP.nwc is a file, and yes, it is there + ibid, both AIX and PC made explicit reference to fpt.dante.de + `blackboard bold': tech-support is an email address; add reference to + the extraordinary bbm fonts + `repositories': correct address corresponding to ftp.tex.ac.uk; put + site index command into verbatim + `Laserjet': converted S's \Q about Berry's prog into an actual + reference to it + `\pagestyle{empty}': correct (;-) spelling of behaviour, "is"->"if" + `NFSS': rewritten to clarify relationship to New LaTeX + New question about things like \tenrm in 2e added + `references wrong': line up corrected code in two columns + `change margins': indent code + `width of letter, etc.': indent examples; remove redundant `T' from + LaTeX + `LaTeX2e': first production release was June + `log-like functions': indent examples + `\@': "?" at end of question + `Companion ... @': space after LaTeX in question, "!" at end + `I've found a bug': slight elaboration of 2.09 case + New version of path.sty with some hacking; redo all S's (and my one) + markup commands + +Mon Sep 19 11:46:40 1994 Robin Fairbairns (robin@home) + + * define \Newsgroup (same as all the rest, pro tem) and use it for + comp.tex.tex, comp.unix.wizards, news.answers, comp.sources.unix, + comp.programming.literate, comp.sources.misc, comp.text, comp.fonts + + * added new questions "what's all this about \@", "but the companion + tells me to use \@startsection" and "I've found a bug: what do I do" + (which last was a suggestion of Jonathan's) + + * put \fileversion in the title (rather than \filedate twice) + + * defined command \cs (out of ltxdoc.cls) so that we can put commands + in question names, required for q32 about \pagestyle{emtpy} diff --git a/Master/texmf-doc/doc/english/FAQ-en/Makefile b/Master/texmf-doc/doc/english/FAQ-en/Makefile new file mode 100644 index 00000000000..981a8bbcaa3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/Makefile @@ -0,0 +1,191 @@ +BODY = faqbody.tex filectan.tex dirctan.tex +MACROS = faq.cls faq.sty +CONFIGS = archive.cfg +CMFONTS = cmz +PATCH = newfaq-patch.tex additions.tex add-errors.tex add-biblio.tex \ + add-general.tex +MAKEF = Makefile + +LATEX = latex +PDFLATEX = pdflatex +DVIPS = dvips + +# define variables WEB, WEB_BETA, CGI_BIN, HOME_DIR, CTAN_HOME, CTAN_ROOT +include locations.mk + +CTAN_HOME = help/uk-tex-faq + +#h +#hThe main targets of this Makefile are +#h all build a distribution +#h patch build latest patched version +#h +#h ctan install distribution on CTAN +#h (to be run on the CTAN machine) +#h web install files required for web access +#h (must be run on the machine that hosts +#h the CGI script) +#h web-beta ditto, except beta distribution +#h +#h inst-perl install texfaq2html in the cgi-bin directory +#h (to be run on the CTAN machine) +#h inst-perl-beta ditto, for texfaq2html-beta +#h +#h html make html files in html/ +#h inst-html export html/ files via ftp.cl.cam.ac.uk + +help:; @sed -n 's/^#h//p' < $(MAKEF) + +all: newfaq.pdf letterfaq.pdf \ + newfaq.ps letterfaq.ps \ + newfaq-cm.dvi letterfaq-cm.dvi + +# did have faqfont.cfg in here, but that caused problems, since it +# typically doesn't exist... + +# pdf generation has to be done one a different base file name because +# of incompatibilities in the .aux and .toc files +newfaq.pdf: newfaq.tex $(BODY) $(MACROS) $(CONFIGS) + ln -sf newfaq.tex ./pdf-newfaq.tex + rm -f faqfont.cfg + while ( \ + $(PDFLATEX) \\def\\Status{1} \\input pdf-newfaq ; \ + grep "Rerun to get cross" pdf-newfaq.log > /dev/null ) do true ; \ + done + mv pdf-newfaq.pdf newfaq.pdf + rm pdf-newfaq.tex + +letterfaq.pdf: letterfaq.tex $(BODY) $(MACROS) $(CONFIGS) + ln -sf letterfaq.tex ./pdf-letterfaq.tex + rm -f faqfont.cfg + while ( \ + $(PDFLATEX) \\def\\Status{1} \\input pdf-letterfaq ; \ + grep "Rerun to get cross" pdf-letterfaq.log > /dev/null ) do true ; \ + done + mv pdf-letterfaq.pdf letterfaq.pdf + rm pdf-letterfaq.tex + +patch: newfaq-patch + +newfaq-patch: newfaq-patch.pdf newfaq-patch.ps + +patch.pdf: newfaq-patch.pdf + +newfaq-patch.pdf: $(PATCH) $(BODY) $(MACROS) $(CONFIGS) + ln -sf newfaq-patch.tex ./pdf-newfaq-patch.tex + rm -f faqfont.cfg + while ( \ + $(PDFLATEX) \\def\\Status{1} \\input pdf-newfaq-patch ; \ + grep "Rerun to get cross" pdf-newfaq-patch.log > /dev/null ) do true ; \ + done + mv pdf-newfaq-patch.pdf newfaq-patch.pdf + rm pdf-newfaq-patch.tex + +patch.ps: newfaq-patch.ps + +newfaq-patch.ps: newfaq-patch.dvi + $(DVIPS) -P$(CMFONTS) -j1 newfaq-patch + +patch.dvi: newfaq-patch.dvi + +newfaq-patch.dvi: $(PATCH) $(BODY) $(MACROS) $(CONFIGS) + rm -f faqfont.cfg + while ( \ + $(LATEX) newfaq-patch ; \ + grep "Rerun to get cross" newfaq-patch.log > /dev/null ) do true ; \ + done + +newfaq.ps: newfaq.dvi + $(DVIPS) -P$(CMFONTS) -j1 newfaq + +letterfaq.ps: letterfaq.dvi + $(DVIPS) -t letter -P$(CMFONTS) -j1 letterfaq + +newfaq.dvi newfaq.aux: newfaq.tex $(BODY) $(MACROS) $(CONFIGS) + while ( \ + $(LATEX) newfaq ; \ + grep "Rerun to get cross" newfaq.log > /dev/null ) do true ; \ + done + +letterfaq.dvi: letterfaq.tex $(BODY) $(MACROS) $(CONFIGS) + while ( \ + $(LATEX) letterfaq ; \ + grep "Rerun to get cross" letterfaq.log > /dev/null ) do true ; \ + done + +newfaq-cm.dvi: newfaq.tex $(BODY) $(MACROS) $(CONFIGS) + ln -sf faqfont.cfg.cmfonts faqfont.cfg + ln -sf newfaq.tex newfaq-cm.tex + while ( \ + $(LATEX) newfaq-cm ; \ + grep "Rerun to get cross" newfaq-cm.log > /dev/null ) do true ; \ + done + rm faqfont.cfg newfaq-cm.tex + +letterfaq-cm.dvi: letterfaq.tex $(BODY) $(MACROS) $(CONFIGS) + ln -sf faqfont.cfg.cmfonts faqfont.cfg + ln -sf letterfaq.tex letterfaq-cm.tex + while ( \ + $(LATEX) letterfaq-cm ; \ + grep "Rerun to get cross" letterfaq-cm.log > /dev/null ) do true ; \ + done + rm faqfont.cfg letterfaq-cm.tex + +#install: +# (cd /homes/rf/FTP/faq; \ +# make -f /homes/rf/tex/faq/Makefile.FTP) + +ctan: + (cd $(CTAN_ROOT)/$(CTAN_HOME); \ + really -u ctan make -f /homes/rf/tex/faq/Makefile.CTAN) + +web: $(WEB)/dirctan.tex $(WEB)/filectan.tex $(WEB)/faqbody.tex $(WEB)/newfaq.aux $(WEB)/archive.list + +$(WEB)/dirctan.tex: $(HOME_DIR)/dirctan.tex +$(WEB)/filectan.tex: $(HOME_DIR)/filectan.tex +$(WEB)/faqbody.tex: $(HOME_DIR)/faqbody.tex +$(WEB)/newfaq.aux: $(HOME_DIR)/newfaq.aux +$(WEB)/archive.list: $(HOME_DIR)/archive.list + +$(WEB)/dirctan.tex $(WEB)/filectan.tex $(WEB)/faqbody.tex $(WEB)/newfaq.aux $(WEB)/archive.list: + rm -f $@ + copy -t $? $@ + chmod 444 $@ + +web-beta: $(WEB_BETA)/dirctan.tex $(WEB_BETA)/filectan.tex $(WEB_BETA)/faqbody.tex $(WEB_BETA)/newfaq.aux $(WEB_BETA)/archive.list + +$(WEB_BETA)/dirctan.tex: $(HOME_DIR)/dirctan.tex +$(WEB_BETA)/filectan.tex: $(HOME_DIR)/filectan.tex +$(WEB_BETA)/faqbody.tex: $(HOME_DIR)/faqbody.tex +$(WEB_BETA)/newfaq.aux: $(HOME_DIR)/newfaq.aux +$(WEB_BETA)/archive.list: $(HOME_DIR)/archive.list + +$(WEB_BETA)/dirctan.tex $(WEB_BETA)/filectan.tex $(WEB_BETA)/faqbody.tex $(WEB_BETA)/newfaq.aux $(WEB_BETA)/archive.list: + rm -f $@ + copy -t $? $@ + chmod 444 $@ + +inst-perl: $(CGI_BIN)/texfaq2html $(CGI_BIN)/sanitize.pl +inst-perl-beta: $(CGI_BIN)/texfaq2html-beta $(CGI_BIN)/sanitize-beta.pl + +$(CGI_BIN)/texfaq2html: $(HOME_DIR)/texfaq2html +$(CGI_BIN)/texfaq2html-beta: $(HOME_DIR)/texfaq2html-beta +$(CGI_BIN)/sanitize.pl: $(HOME_DIR)/sanitize.pl +$(CGI_BIN)/sanitize-beta.pl: $(HOME_DIR)/sanitize.pl + +$(CGI_BIN)/texfaq2html $(CGI_BIN)/texfaq2html-beta $(CGI_BIN)/sanitize.pl $(CGI_BIN)/sanitize-beta.pl: + co -l $@ + copy -t $? $@ + ci -u -m"automatic check-in" $@ + +html: $(HTMLDIR)/index.html + +$(HTMLDIR)/index.html: $(BODY) newfaq.aux + ./texfaq2file + +inst-html: $(HTMLDIR)/index.html + gtar czvf /homes/rf/FTP/faq/FAQ-html.tar.gz README html/* + +clean: + rm -f *.ps *.pdf *.dvi *.log *.bak *.toc *.out comment.cut + rm -f *.aux html/*.html diff --git a/Master/texmf-doc/doc/english/FAQ-en/README b/Master/texmf-doc/doc/english/FAQ-en/README new file mode 100644 index 00000000000..29133a9aaff --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/README @@ -0,0 +1,41 @@ + The UK TeX FAQ + +1. Origins and maintenance + +This FAQ was started as a committee effort by the UK TeX Users' Group. + +It is now maintained by any who chooses to offer help, in an informal +group coordinated by Robin Fairbairns. + +If you wish to offer help, or to comment on the content of the FAQ, +please mail faq@tex.ac.uk + +2. Licence + +The source of the FAQ itself and its derived products (human-readable +versions presented as DVI, PostScript, Adobe Acrobat and HTML) are +placed in the public domain. + +You are permitted (nay, encouraged) to distribute the FAQ as widely as +you like. + +However, you are urged to be very careful about modifying the FAQ: + +- the source and its relationship to the macros that support it, and + to the dubious Perl scripts that create HTML versions, is extremely + fragile; so changes are likely to be tricky to "get right" + +- there's a positive danger in publishing un-reviewed advice, + particularly if it claims to come from a usually reliable source. + +Therefore, if you do have changes to make, please consider submitting +them to faq@tex.ac.uk at least in parallel with making your own +changes. + +If you distribute a modified version of the FAQ, you are required to +provide, in your copy of the FAQ, a statement detailing your +modifications. + + +Robin Fairbairns +faq@tex.ac.uk diff --git a/Master/texmf-doc/doc/english/FAQ-en/Ulogo.fd b/Master/texmf-doc/doc/english/FAQ-en/Ulogo.fd new file mode 100644 index 00000000000..f2c1a22c715 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/Ulogo.fd @@ -0,0 +1,47 @@ +%% +%% This is file `Ulogo.fd', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mflogo.dtx (with options: `Ulogo') +%% +%% Copyright (C) 1994,95 Ulrik Vieth +%% All rights reserved. +%% +%% This file is part of the mflogo package. +%% ---------------------------------------- +%% +%% This is a generated file. Permission is granted to customize the +%% declarations in this file to serve the needs of your installation. +%% However, no permission is granted to distribute a modified version +%% of this file under its original name. +%% +\ProvidesFile{Ulogo.fd} + [1995/12/04 v1.5c LaTeX font definitions for METAFONT logo fonts] +\DeclareFontFamily{U}{logo}{} +\DeclareFontShape{U}{logo}{m}{n}{ + <8> <9> gen * logo + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> logo10 +}{} +\DeclareFontShape{U}{logo}{m}{it}{ + <8> <9> gen * logosl + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> logosl10 +}{} +\DeclareFontShape{U}{logo}{m}{sl}{ + <-> ssub * logo/m/it +}{} +\DeclareFontShape{U}{logo}{sbc}{n}{ + <8> <9> sub * logo/m/n + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> logobf10 +}{} +\DeclareFontShape{U}{logo}{b}{n}{ + <8> <9> sub * logo/m/n + <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> logod10 +}{} +\DeclareFontShape{U}{logo}{bx}{n}{ + <-> ssub * logo/b/n +}{} +\endinput +%% +%% End of file `Ulogo.fd'. diff --git a/Master/texmf-doc/doc/english/FAQ-en/archive.cfg b/Master/texmf-doc/doc/english/FAQ-en/archive.cfg new file mode 100644 index 00000000000..8b64957f06f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/archive.cfg @@ -0,0 +1,13 @@ +% this file is loaded by the {file,dir}ctan files to define the local +% preferred archive and directory compression format + +% +% the archive itself +\def\LocalCTAN{ftp://ftp.tex.ac.uk/tex-archive/} % could be anything + % out of CTAN.sites +% +% the format for use when retrieving directory hierarchies +\def\CTANDirFmt{.zip} % could be .(tar[.(Z|gz)]|tgz|zip) according to what + % the local archive is capable of and the users need + +\endinput diff --git a/Master/texmf-doc/doc/english/FAQ-en/archive.list b/Master/texmf-doc/doc/english/FAQ-en/archive.list new file mode 100644 index 00000000000..60945ca30d0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/archive.list @@ -0,0 +1,4 @@ +ftp.tex.ac.uk tex-archive +ftp.dante.de tex-archive +tug2.cs.umb.edu tex-archive +ftp.cdrom.com pub/tex/ctan diff --git a/Master/texmf-doc/doc/english/FAQ-en/dirctan.tex b/Master/texmf-doc/doc/english/FAQ-en/dirctan.tex new file mode 100644 index 00000000000..b5ca94fac67 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/dirctan.tex @@ -0,0 +1,950 @@ +% +% protect ourself against being read twice +\csname readCTANdirs\endcsname +\let\readCTANdirs\endinput +% +% declarations of significant directories on CTAN +\CTANdirectory{2etools}{macros/latex/required/tools} +\CTANdirectory{4spell}{support/4spell} +\CTANdirectory{Catalogue}{help/Catalogue} +\CTANdirectory{CJK}{language/chinese/CJK} +\CTANdirectory{MimeTeX}{support/mimetex} +\CTANdirectory{Tabbing}{macros/latex/contrib/Tabbing} +\CTANdirectory{TeXtelmExtel}{systems/msdos/emtex-contrib/TeXtelmExtel} +\CTANdirectory{TftI}{info/impatient} +\CTANdirectory{a4}{macros/latex/contrib/a4} +\CTANdirectory{abc2mtex}{support/abc2mtex} +\CTANdirectory{abstract}{macros/latex/contrib/abstract} +\CTANdirectory{abstyles}{biblio/bibtex/contrib/abstyles} +\CTANdirectory{accents}{support/accents} +\CTANdirectory{acorn}{obsolete/systems/acorn} +\CTANdirectory{acronym}{macros/latex/contrib/acronym} +\CTANdirectory{ada}{web/ada} +\CTANdirectory{addindex}{indexing/addindex} +\CTANdirectory{adjkerns}{fonts/utilities/adjkerns} +\CTANdirectory{ae}{fonts/ae} +\CTANdirectory{aeguill}{macros/latex/contrib/aeguill} +\CTANdirectory{afmtopl}{fonts/utilities/afmtopl} +\CTANdirectory{aix3.2}{obsolete/systems/unix/aix3.2} +\CTANdirectory{akletter}{macros/latex/contrib/akletter} +\CTANdirectory{aleph}{systems/aleph} +\CTANdirectory{alg}{macros/latex/contrib/alg} +\CTANdirectory{algorithm2e}{macros/latex/contrib/algorithm2e} +\CTANdirectory{algorithmicx}{macros/latex/contrib/algorithmicx} +\CTANdirectory{algorithms}{macros/latex/contrib/algorithms} +\CTANdirectory{alpha}{nonfree/systems/mac/support/alpha} +\CTANdirectory{amiga}{systems/amiga} +\CTANdirectory*{ams-AMStype1}{fonts/amsfonts/ps-type1} +\CTANdirectory{amsfonts-euler}{fonts/amsfonts/sources/euler} +\CTANdirectory{amsfonts-symbols}{fonts/amsfonts/sources/symbols} +\CTANdirectory{amsfonts-latex}{fonts/amsfonts/latex} +\CTANdirectory{amsfonts-plain}{fonts/amsfonts/plaintex} +\CTANdirectory{amslatex}{macros/latex/required/amslatex} +\CTANdirectory{amslatex-primer}{info/amslatex-primer} +\CTANdirectory{amspell}{support/amspell} +\CTANdirectory{amstex}{macros/amstex} +\CTANdirectory{answers}{macros/latex/contrib/answers} +\CTANdirectory{apl}{fonts/apl} +\CTANdirectory{aplweb}{web/apl/aplweb} +\CTANdirectory{appl}{web/reduce/rweb/appl} +\CTANdirectory{appendix}{macros/latex/contrib/appendix} +\CTANdirectory{arabtex}{language/arabtex} +\CTANdirectory{arc521}{tools/arc521} +\CTANdirectory{arj}{tools/arj} +\CTANdirectory{armenian}{fonts/armenian} +\CTANdirectory{aro-bend}{info/aro-bend} +\CTANdirectory{asc2tex}{systems/msdos/asc2tex} +\CTANdirectory{ascii}{fonts/ascii} +\CTANdirectory*{aspell}{support/aspell} +\CTANdirectory{astro}{fonts/astro} +\CTANdirectory{atari}{systems/atari} +\CTANdirectory{atob}{tools/atob} +\CTANdirectory{atops}{support/atops} +\CTANdirectory{auctex}{support/auctex} +\CTANdirectory{aweb}{web/ada/aweb} +\CTANdirectory{awk}{web/spiderweb/src/awk} +\CTANdirectory{babel}{macros/latex/required/babel} +\CTANdirectory{babelbib}{biblio/bibtex/contrib/babelbib} +\CTANdirectory{badge}{macros/plain/contrib/badge} +\CTANdirectory{bakoma}{fonts/cm/ps-type1/bakoma} +\CTANdirectory{bakoma-tex}{nonfree/systems/win32/bakoma} +\CTANdirectory*{bakoma-texfonts}{nonfree/systems/win32/bakoma/fonts} +\CTANdirectory{barcodes}{fonts/barcodes} +\CTANdirectory{bard}{fonts/bard} +\CTANdirectory{barr}{macros/generic/diagrams/barr} +\CTANdirectory{bashkirian}{fonts/cyrillic/bashkirian} +\CTANdirectory{basix}{macros/generic/basix} +\CTANdirectory{bbding}{fonts/bbding} +\CTANdirectory{bbfig}{support/bbfig} +\CTANdirectory{bbm}{fonts/cm/bbm} +\CTANdirectory{bbm-macros}{macros/latex/contrib/bbm} +\CTANdirectory{bbold}{fonts/bbold} +\CTANdirectory{bdfchess}{fonts/chess/chess/bdfchess} +\CTANdirectory{beamer}{macros/latex/contrib/beamer} +\CTANdirectory{beebe}{dviware/beebe} +\CTANdirectory{beton}{macros/latex/contrib/beton} +\CTANdirectory{bezos}{macros/latex/contrib/bezos} +\CTANdirectory{bib-fr}{biblio/bibtex/contrib/bib-fr} +\CTANdirectory{bib2dvi}{biblio/bibtex/utils/bib2dvi} +\CTANdirectory{bib2xhtml}{biblio/bibtex/utils/bib2xhtml} +\CTANdirectory{bibcard}{biblio/bibtex/utils/bibcard} +\CTANdirectory{bibclean}{biblio/bibtex/utils/bibclean} +\CTANdirectory{bibdb}{support/bibdb} +\CTANdirectory{bibextract}{biblio/bibtex/utils/bibextract} +\CTANdirectory{bibgerm}{biblio/bibtex/contrib/germbib} +\CTANdirectory{bibindex}{biblio/bibtex/utils/bibindex} +\CTANdirectory{biblio}{info/biblio} +\CTANdirectory{bibsort}{biblio/bibtex/utils/bibsort} +\CTANdirectory{bibtex}{support/lsedit/bibtex} +\CTANdirectory{bibtex-doc}{biblio/bibtex/distribs/doc} +\CTANdirectory{bibtex-doc-pdf}{biblio/bibtex/contrib/doc} +\CTANdirectory{bibtool}{biblio/bibtex/utils/bibtool} +\CTANdirectory{bibtools}{biblio/bibtex/utils/bibtools} +\CTANdirectory{bibtopic}{macros/latex/contrib/bibtopic} +\CTANdirectory{bibunits}{macros/latex/contrib/bibunits} +\CTANdirectory{bibview}{biblio/bibtex/utils/bibview} +\CTANdirectory{bigfoot}{macros/latex/contrib/bigfoot} +\CTANdirectory{binhex}{tools/binhex} +\CTANdirectory{bit2spr}{graphics/bit2spr} +\CTANdirectory{black}{fonts/cm/utilityfonts/black} +\CTANdirectory{blackletter}{fonts/blackletter} +\CTANdirectory{blocks}{macros/text1/blocks} +\CTANdirectory{blu}{nonfree/macros/blu} +\CTANdirectory*{bluesky}{fonts/cm/ps-type1/bluesky} +\CTANdirectory{bluesky-maps}{fonts/cm/ps-type1/bluesky-contrib/dvips} +\CTANdirectory{bm2font}{graphics/bm2font} +\CTANdirectory{bmeps}{support/bmeps} +\CTANdirectory{boites}{macros/latex/contrib/boites} +\CTANdirectory{bold}{fonts/cm/mf-extra/bold} +\CTANdirectory{bonus}{systems/msdos/emtex-contrib/bonus} +\CTANdirectory{boo}{tools/boo} +\CTANdirectory{booktabs}{macros/latex/contrib/booktabs} +\CTANdirectory{borceux}{macros/generic/diagrams/borceux} +\CTANdirectory{breakurl}{macros/latex/contrib/breakurl} +\CTANdirectory{bridge}{macros/plain/contrib/bridge} +\CTANdirectory{brief_t}{support/brief_t} +\CTANdirectory{bsplit}{tools/bsplit} +\CTANdirectory{bst}{biblio/bibtex/contrib/germbib/bst} +\CTANdirectory{btable}{macros/plain/contrib/btable} +\CTANdirectory{btex8fmt}{macros/generic/cptex/btex8fmt} +\CTANdirectory{btOOL}{biblio/bibtex/utils/btOOL} +\CTANdirectory{bundledoc}{support/bundledoc} +\CTANdirectory{c}{web/spiderweb/src/c} +\CTANdirectory{c++}{web/spiderweb/src/c++} +\CTANdirectory{c++2latex}{support/C++2LaTeX-1_1pl1} +\CTANdirectory{c2cweb}{web/c_cpp/c2cweb} +\CTANdirectory{c2latex}{support/c2latex} +\CTANdirectory{c_cpp}{web/c_cpp} +\CTANdirectory{caesar-fonts-generic.dir}{macros/generic/caesarcm/caesar-fonts-generic.dir} +\CTANdirectory{caesarcm}{macros/generic/caesarcm} +\CTANdirectory{caesarcmfonts.dir}{macros/generic/caesarcm/caesarcmfonts.dir} +\CTANdirectory{caesarcmv2.dir}{macros/generic/caesarcm/caesarcmv2.dir} +\CTANdirectory{calendar}{macros/plain/contrib/calendar} +\CTANdirectory{calligra}{fonts/calligra} +\CTANdirectory{calrsfs}{macros/latex/contrib/calrsfs} +\CTANdirectory{camel}{macros/latex/contrib/camel} +\CTANdirectory{caption}{macros/latex/contrib/caption} +\CTANdirectory{carlisle}{macros/latex/contrib/carlisle} +\CTANdirectory{cascover}{macros/plain/contrib/cascover} +\CTANdirectory{casslbl}{macros/plain/contrib/casslbl} +\CTANdirectory{catdvi}{dviware/catdvi} +\CTANdirectory{ccaption}{macros/latex/contrib/ccaption} +\CTANdirectory{ccfonts}{macros/latex/contrib/ccfonts} +\CTANdirectory{cellular}{macros/plain/contrib/cellular} +\CTANdirectory{changebar}{macros/latex/contrib/changebar} +\CTANdirectory{chapterfolder}{macros/latex/contrib/chapterfolder} +\CTANdirectory{charconv}{support/charconv} +\CTANdirectory{charter}{fonts/charter} +\CTANdirectory{chbar}{macros/plain/contrib/chbar} +\CTANdirectory{chbars}{macros/latex209/contrib/chbars} +\CTANdirectory{check}{support/check} +\CTANdirectory{checksum}{tools/checksum} +\CTANdirectory{chemstruct}{macros/latex209/contrib/chemstruct} +\CTANdirectory{chemtex}{macros/latex209/contrib/chemtex} +\CTANdirectory{cheq}{fonts/chess/cheq} +\CTANdirectory{cherokee}{fonts/cherokee} +\CTANdirectory{chesstools}{support/chesstools} +\CTANdirectory{chi2tex}{support/chi2tex} +\CTANdirectory{china2e}{macros/latex/contrib/china2e} +\CTANdirectory{chinese}{language/chinese} +\CTANdirectory{circ}{macros/generic/diagrams/circ} +\CTANdirectory{circuit_macros}{graphics/circuit_macros} +\CTANdirectory{cirth}{fonts/cirth} +\CTANdirectory{cite}{macros/latex/contrib/cite} +\CTANdirectory{citeref}{macros/latex/contrib/citeref} +\CTANdirectory{clark}{fonts/utilities/afmtopl/clark} +\CTANdirectory{clrscode}{macros/latex/contrib/clrscode} +\CTANdirectory{cm}{fonts/cm} +\CTANdirectory*{cm-AMStype1}{fonts/cm/ps-type1/bluesky} +\CTANdirectory{cm-lgc}{fonts/ps-type1/cm-lgc} +\CTANdirectory{cm-super}{fonts/ps-type1/cm-super} +\CTANdirectory{cmactex}{nonfree/systems/mac/cmactex} +\CTANdirectory{cmastro}{fonts/cmastro} +\CTANdirectory{cmcyralt}{macros/latex/contrib/cmcyralt} +%[fonts/cmcyralt] +\CTANdirectory{cmfrak}{fonts/gothic/cmfrak} +\CTANdirectory{cmoefont}{fonts/cmoefont} +\CTANdirectory{cmoutlines}{fonts/cm/cmoutlines} +\CTANdirectory{cmpica}{fonts/cmpica} +\CTANdirectory{cms_help_files}{macros/text1/cms_help_files} +\CTANdirectory{cmtest}{fonts/cm/cmtest} +\CTANdirectory{cnoweb}{web/c_cpp/cnoweb} +\CTANdirectory{combine}{macros/latex/contrib/combine} +\CTANdirectory{comm}{tools/macutils/comm} +\CTANdirectory{comment}{macros/latex/contrib/comment} +\CTANdirectory{committee}{fonts/cm/utilityfonts/committee} +\CTANdirectory{comp-fonts-FAQ}{help/comp-fonts-FAQ} +\CTANdirectory{compact}{tools/compact} +\CTANdirectory{components-of-TeX}{info/components-of-TeX} +\CTANdirectory{compress}{tools/compress} +\CTANdirectory{compugraphics_8600}{macros/text1/compugraphics_8600} +\CTANdirectory{concmath}{macros/latex/contrib/concmath} +\CTANdirectory{concmath-f}{fonts/concmath} +\CTANdirectory{concrete}{fonts/concrete} +\CTANdirectory{conrado}{web/noweb/contrib/conrado} +\CTANdirectory{context}{macros/context} +\CTANdirectory{convert}{support/convert} +\CTANdirectory{cortex-email.dir}{language/typingtex/cortex-email.dir} +%[fonts/courier] +\CTANdirectory{cptex}{macros/generic/cptex} +\CTANdirectory{crop}{macros/latex/contrib/crop} +\CTANdirectory{crosswrd}{macros/latex/contrib/crosswrd} +\CTANdirectory{crudetype}{dviware/crudetype} +\CTANdirectory{crw}{macros/plain/contrib/crw} +\CTANdirectory{cs-tex}{systems/atari/cs-tex} +\CTANdirectory{ctable}{macros/latex/contrib/ctable} +\CTANdirectory{ctan}{help/ctan} +\CTANdirectory{cun}{fonts/cun} +\CTANdirectory{currvita}{macros/latex/contrib/currvita} +\CTANdirectory{curve}{macros/latex/contrib/curve} +\CTANdirectory{curves}{macros/latex/contrib/curves} +\CTANdirectory{custom-bib}{macros/latex/contrib/custom-bib} +\CTANdirectory{cweb}{web/c_cpp/cweb} +\CTANdirectory{cweb-p}{web/c_cpp/cweb-p} +\CTANdirectory{cypriote}{fonts/cypriote} +\CTANdirectory{cyrillic}{language/cyrillic} +\CTANdirectory{cyrtug}{language/cyrtug} +\CTANdirectory{dante}{usergrps/dante} +\CTANdirectory{dante-faq}{help/de-tex-faq} +\CTANdirectory{databases}{biblio/bibtex/databases} +\CTANdirectory{datetime}{macros/latex/contrib/datetime} +\CTANdirectory{davelove}{web/noweb/contrib/davelove} +\CTANdirectory{db2tex}{support/db2tex} +\CTANdirectory{dbtex}{support/dbtex} +\CTANdirectory{dc-latex}{language/hyphen-accent/dc-latex} +\CTANdirectory{dc-nfss}{language/hyphen-accent/dc-nfss} +\CTANdirectory{detex}{support/detex} +\CTANdirectory{devanagari}{language/devanagari} +\CTANdirectory{diagram}{macros/generic/diagrams/borceux/diagram} +\CTANdirectory{diagrams}{macros/generic/diagrams} +\CTANdirectory{dijkstra}{web/spiderweb/src/dijkstra} +\CTANdirectory{dinbrief}{macros/latex/contrib/dinbrief} +\CTANdirectory{dingbat}{fonts/dingbat} +\CTANdirectory{djgpp}{systems/msdos/djgpp} +\CTANdirectory{dk-bib}{biblio/bibtex/contrib/dk-bib} +\CTANdirectory{dm-latex}{language/hyphen-accent/dm-latex} +\CTANdirectory{dm-plain}{language/hyphen-accent/dm-plain} +\CTANdirectory{doc2sty}{language/swedish/slatex/doc2sty} +\CTANdirectory{docmfp}{macros/latex/contrib/docmfp} +\CTANdirectory{docu}{support/makeprog/docu} +\CTANdirectory{document}{biblio/bibtex/contrib/germbib/document} +\CTANdirectory{dos-dc}{systems/msdos/dos-dc} +\CTANdirectory{dos-psfonts}{systems/msdos/emtex-fonts/psfonts} +\CTANdirectory{doublestroke}{fonts/doublestroke} +\CTANdirectory{dpfloat}{macros/latex/contrib/dpfloat} +\CTANdirectory{dpmigcc}{systems/msdos/dpmigcc} +\CTANdirectory{draftcopy}{macros/latex/contrib/draftcopy} +\CTANdirectory{dratex}{graphics/dratex} +\CTANdirectory{drawing}{graphics/drawing} +\CTANdirectory{dropcaps}{macros/latex209/contrib/dropcaps} +\CTANdirectory{dropping}{macros/latex/contrib/dropping} +\CTANdirectory{dtxtut}{info/dtxtut} +\CTANdirectory{duerer}{fonts/duerer} +\CTANdirectory{dvgt}{dviware/dvgt} +\CTANdirectory{dvi-augsburg}{dviware/dvi-augsburg} +\CTANdirectory{dvi2bitmap}{dviware/dvi2bitmap} +\CTANdirectory{dvi2pcl}{dviware/dvi2pcl} +\CTANdirectory{dvi2tty}{nonfree/dviware/dvi2tty} +\CTANdirectory{dvi2xx}{dviware/dvi2xx} +\CTANdirectory{dvibit}{dviware/dvibit} +\CTANdirectory{dvibook}{dviware/dvibook} +\CTANdirectory{dvichk}{dviware/dvichk} +\CTANdirectory{dvicopy}{dviware/dvicopy} +\CTANdirectory{dvidjc}{dviware/dvidjc} +\CTANdirectory{dvidvi}{dviware/dvidvi} +\CTANdirectory{dviimp}{dviware/dviimp} +\CTANdirectory{dvilj4}{systems/msdos/dviware/dvilj4} +\CTANdirectory{dvimerge}{dviware/dvimerge} +\CTANdirectory{dvimfj}{systems/msdos/emtex-contrib/dvimfj} +\CTANdirectory{dvipage}{dviware/dvipage} +\CTANdirectory{dvipaste}{macros/lamstex/dvipaste} +\CTANdirectory{dvipdfm}{dviware/dvipdfm} +\CTANdirectory{dvipj}{dviware/dvipj} +\CTANdirectory{dvipng}{dviware/dvipng} +\CTANdirectory{dvips-pc}{systems/msdos/dviware/dvips} +\CTANdirectory{dvips}{dviware/dvips} +\CTANdirectory{dvisun}{dviware/dvisun} +\CTANdirectory{dvitty}{dviware/dvitty} +\CTANdirectory{dvivga}{dviware/dvivga} +\CTANdirectory{e4t}{nonfree/systems/msdos/e4t} +\CTANdirectory*{e-TeX}{systems/e-tex} +\CTANdirectory{easytex}{systems/msdos/easytex} +\CTANdirectory{ebib}{biblio/bibtex/utils/ebib} +\CTANdirectory{ec}{fonts/ec} +\CTANdirectory{economic}{biblio/bibtex/contrib/economic} +\CTANdirectory{edmac}{macros/plain/contrib/edmac} +\CTANdirectory{ednotes}{macros/latex/contrib/ednotes} +\CTANdirectory{eepic}{macros/latex/contrib/eepic} +\CTANdirectory{ega2mf}{fonts/utilities/ega2mf} +\CTANdirectory{eiad}{fonts/eiad} +\CTANdirectory{elsevier}{macros/latex/contrib/elsevier} +\CTANdirectory{elvish}{fonts/elvish} +\CTANdirectory{elwell}{fonts/utilities/afmtopl/elwell} +\CTANdirectory{emt2tex}{systems/msdos/emtex-contrib/emt2tex} +\CTANdirectory{emtex}{systems/msdos/emtex} +\CTANdirectory{emtex-contrib}{systems/msdos/emtex-contrib} +\CTANdirectory{emtex-fonts}{systems/msdos/emtex-fonts} +\CTANdirectory{emtextds}{obsolete/systems/os2/emtex-contrib/emtexTDS} +\CTANdirectory{endfloat}{macros/latex/contrib/endfloat} +\CTANdirectory{english}{language/english} +\CTANdirectory{engwar}{fonts/engwar} +\CTANdirectory{enumitem}{macros/latex/contrib/enumitem} +\CTANdirectory{environment}{support/lsedit/environment} +\CTANdirectory{epigraph}{macros/latex/contrib/epigraph} +\CTANdirectory{eplain}{macros/eplain} +\CTANdirectory{epmtex}{systems/os2/epmtex} +\CTANdirectory{epson}{dviware/epson} +\CTANdirectory*{epstopdf}{support/epstopdf} +\CTANdirectory{eqparbox}{macros/latex/contrib/eqparbox} +\CTANdirectory{ergotex}{systems/msdos/ergotex} +\CTANdirectory{errata}{systems/knuth/errata} +\CTANdirectory{eso-pic}{macros/latex/contrib/eso-pic} +\CTANdirectory{et}{nonfree/support/et} +\CTANdirectory{ethiopia}{language/ethiopia} +\CTANdirectory{ethtex}{language/ethiopia/ethtex} +\CTANdirectory{euler}{fonts/amsfonts/sources/euler} +\CTANdirectory{euler-latex}{macros/latex/contrib/euler} +\CTANdirectory{eulervm}{fonts/eulervm} +\CTANdirectory{euro-ce}{fonts/euro-ce} +\CTANdirectory{euro-fonts}{fonts/euro} +\CTANdirectory{eurofont}{macros/latex/contrib/eurofont} +\CTANdirectory{europecv}{macros/latex/contrib/europecv} +\CTANdirectory{eurosym}{fonts/eurosym} +\CTANdirectory{excalibur}{systems/mac/support/excalibur} +\CTANdirectory{excerpt}{web/spiderweb/tools/excerpt} +\CTANdirectory{expdlist}{macros/latex/contrib/expdlist} +\CTANdirectory{extracm}{fonts/amsfonts/sources/extracm} +\CTANdirectory{extract}{macros/latex/contrib/extract} +\CTANdirectory{extsizes}{macros/latex/contrib/extsizes} +\CTANdirectory{fancyhdr}{macros/latex/contrib/fancyhdr} +\CTANdirectory{fancyvrb}{macros/latex/contrib/fancyvrb} +\CTANdirectory{fc}{fonts/jknappen/fc} +\CTANdirectory{feyn}{fonts/feyn} +\CTANdirectory{feynman}{macros/latex209/contrib/feynman} +\CTANdirectory{feynmf}{macros/latex/contrib/feynmf} +\CTANdirectory{fig2eng}{graphics/fig2eng} +\CTANdirectory{fig2mf}{graphics/fig2mf} +\CTANdirectory{fig2mfpic}{graphics/fig2mfpic} +\CTANdirectory{filehdr}{tools/filehdr} +\CTANdirectory{fink}{macros/latex/contrib/fink} +\CTANdirectory{fixfoot}{macros/latex/contrib/fixfoot} +\CTANdirectory{float}{macros/latex/contrib/float} +\CTANdirectory{floatflt}{macros/latex/contrib/floatflt} +\CTANdirectory{flow}{support/flow} +\CTANdirectory{fnbreak}{macros/latex/contrib/fnbreak} +\CTANdirectory{fncychap}{macros/latex/contrib/fncychap} +\CTANdirectory{foiltex}{nonfree/macros/latex/contrib/foiltex} +\CTANdirectory{fontinst}{fonts/utilities/fontinst} +\CTANdirectory{fontname}{info/fontname} +\CTANdirectory{footbib}{macros/latex/contrib/footbib} +\CTANdirectory{footmisc}{macros/latex/contrib/footmisc} +\CTANdirectory{footnpag}{macros/latex/contrib/footnpag} +\CTANdirectory{for_tex}{biblio/bibtex/contrib/germbib/for_tex} +\CTANdirectory{fourier}{fonts/fourier-GUT} +\CTANdirectory{frankenstein}{macros/latex/contrib/frankenstein} +\CTANdirectory{french-faq}{help/LaTeX-FAQ-francaise} +\CTANdirectory{ftpd}{tools/ftpd} +\CTANdirectory{ftpmail}{tools/ftpmail} +\CTANdirectory{funnelweb}{web/funnelweb} +\CTANdirectory{futhark}{fonts/futhark} +\CTANdirectory{futhorc}{fonts/futhorc} +\CTANdirectory{fweb}{web/fweb} +\CTANdirectory{gellmu}{support/gellmu} +\CTANdirectory{genfam}{support/genfam} +\CTANdirectory{geometry}{macros/latex/contrib/geometry} +\CTANdirectory{georgian}{fonts/georgian} +\CTANdirectory{german}{language/german} +\CTANdirectory{germbib}{biblio/bibtex/contrib/germbib} +\CTANdirectory{gfs}{info/examples/FirstSteps} % gratzer's +\CTANdirectory*{ghostscript}{nonfree/support/ghostscript} +\CTANdirectory*{ghostview}{support/ghostscript/gnu/ghostview} +\CTANdirectory{glo+idxtex}{indexing/glo+idxtex} +\CTANdirectory{gnuplot}{graphics/gnuplot} +\CTANdirectory{go}{fonts/go} +\CTANdirectory{gothic}{fonts/gothic} +\CTANdirectory{graphbase}{support/graphbase} +\CTANdirectory{graphics}{macros/latex/required/graphics} +\CTANdirectory{graphics-plain}{macros/plain/graphics} +\CTANdirectory{gray}{fonts/cm/utilityfonts/gray} +\CTANdirectory{greek}{fonts/greek} +\CTANdirectory{greektex}{fonts/greek/greektex} +\CTANdirectory{gregory}{web/noweb/contrib/gregory} +\CTANdirectory{gsftopk}{fonts/utilities/gsftopk} +\CTANdirectory*{gsview}{nonfree/support/ghostscript/ghostgum} +\CTANdirectory{gut}{usergrps/gut} +\CTANdirectory{ha-prosper}{macros/latex/contrib/ha-prosper} +\CTANdirectory{half}{fonts/cm/utilityfonts/half} +\CTANdirectory{halftone}{fonts/halftone} +\CTANdirectory{hands}{fonts/hands} +\CTANdirectory{harvard}{macros/latex/contrib/harvard} +\CTANdirectory{harvmac}{macros/plain/contrib/harvmac} +\CTANdirectory{hebrew}{language/hebrew} +\CTANdirectory{help}{help} +\CTANdirectory{hershey}{fonts/hershey} +\CTANdirectory{hexbin}{tools/macutils/hexbin} +\CTANdirectory{hfbright}{fonts/ps-type1/hfbright} +\CTANdirectory{hge}{fonts/hge} +\CTANdirectory{hieroglyph}{fonts/hieroglyph} +\CTANdirectory{highlight}{support/highlight} +\CTANdirectory{histyle}{macros/plain/contrib/histyle} +\CTANdirectory{hp2pl}{support/hp2pl} +\CTANdirectory{hp2xx}{support/hp2xx} +\CTANdirectory{hpgl2ps}{graphics/hpgl2ps} +\CTANdirectory{hptex}{macros/hptex} +\CTANdirectory{hptomf}{support/hptomf} +\CTANdirectory{html2latex}{support/html2latex} +\CTANdirectory{htmlhelp}{info/htmlhelp} +\CTANdirectory{hvfloat}{macros/latex/contrib/hvfloat} +\CTANdirectory{hvmath}{fonts/micropress/hvmath} +\CTANdirectory{hyacc-cm}{macros/generic/hyacc-cm} +\CTANdirectory{hyper}{macros/latex/contrib/hyper} +\CTANdirectory{hyperbibtex}{biblio/bibtex/utils/hyperbibtex} +\CTANdirectory{hyperref}{macros/latex/contrib/hyperref} +\CTANdirectory{hyphen-accent}{language/hyphen-accent} +\CTANdirectory{hyphenat}{macros/latex/contrib/hyphenat} +\CTANdirectory{hyphenation}{language/hyphenation} +\CTANdirectory{ibygrk}{fonts/greek/ibygrk} +\CTANdirectory{icelandic}{language/icelandic} +\CTANdirectory{iching}{fonts/iching} +\CTANdirectory{icons}{support/icons} +\CTANdirectory{ifmslide}{macros/latex/contrib/ifmslide} +\CTANdirectory{imaketex}{support/imaketex} +\CTANdirectory{impact}{web/systems/mac/impact} +\CTANdirectory{index}{macros/latex/contrib/index} +\CTANdirectory{indexing}{indexing} +\CTANdirectory{indian}{language/indian} +\CTANdirectory{info}{info} +\CTANdirectory{infpic}{macros/generic/infpic} +\CTANdirectory{inlinebib}{biblio/bibtex/contrib/inlinebib} +\CTANdirectory{inrsdoc}{macros/inrstex/inrsdoc} +\CTANdirectory{inrsinputs}{macros/inrstex/inrsinputs} +\CTANdirectory{inrstex}{macros/inrstex} +\CTANdirectory{isi2bibtex}{biblio/bibtex/utils/isi2bibtex} +\CTANdirectory{iso-tex}{support/iso-tex} +\CTANdirectory{ivd2dvi}{dviware/ivd2dvi} +\CTANdirectory{jadetex}{macros/jadetex} +\CTANdirectory{jemtex2}{systems/msdos/jemtex2} +\CTANdirectory{jknappen-macros}{macros/latex/contrib/jknappen} +\CTANdirectory{jonkrom}{web/noweb/contrib/jonkrom} +\CTANdirectory{jpeg2ps}{nonfree/support/jpeg2ps} +\CTANdirectory{jspell}{support/jspell} +\CTANdirectory{jurabib}{macros/latex/contrib/jurabib} +\CTANdirectory{kaelin}{web/noweb/contrib/kaelin} +\CTANdirectory{kamal}{support/kamal} +\CTANdirectory{kane}{dviware/kane} +\CTANdirectory{karta}{fonts/karta} +\CTANdirectory{kd}{fonts/greek/kd} +\CTANdirectory{kelem}{web/spiderweb/src/kelem} +\CTANdirectory{kelly}{fonts/greek/kelly} +\CTANdirectory{klinz}{fonts/klinz} +\CTANdirectory{knit}{web/knit} +\CTANdirectory{knot}{fonts/knot} +\CTANdirectory{knuth}{systems/knuth} +\CTANdirectory{koma-script}{macros/latex/contrib/koma-script} +\CTANdirectory{korean}{fonts/korean} +%[language/korean] +\CTANdirectory{kyocera}{dviware/kyocera} +\CTANdirectory{l2a}{support/l2a} +\CTANdirectory{l2sl}{language/swedish/slatex/l2sl} +\CTANdirectory{l2x}{support/l2x} +\CTANdirectory{la}{fonts/la} +\CTANdirectory{laan}{macros/generic/laan} +\CTANdirectory{laansort}{macros/generic/laansort} +\CTANdirectory{labels}{macros/latex/contrib/labels} +\CTANdirectory{labtex}{macros/generic/labtex} +\CTANdirectory{lacheck}{support/lacheck} +\CTANdirectory{lametex}{support/lametex} +\CTANdirectory{lamstex}{macros/lamstex} +\CTANdirectory{latex}{macros/latex/base} +\CTANdirectory{latex4jed}{support/jed} +\CTANdirectory{larch}{web/spiderweb/src/larch} +\CTANdirectory{laserjet}{dviware/laserjet} +\CTANdirectory{lastpage}{macros/latex/contrib/lastpage} +\CTANdirectory{latex-essential}{info/latex-essential} +\CTANdirectory{latex-help-texinfo}{info/latex-help-texinfo} +\CTANdirectory*{latex2html}{support/latex2html} +\CTANdirectory{latex2rtf}{support/latex2rtf} +\CTANdirectory{latexdiff}{support/latexdiff} +\CTANdirectory{latexdoc}{macros/latex/doc} +\CTANdirectory{latexhlp}{systems/atari/latexhlp} +\CTANdirectory{latexmake}{support/latexmake} +\CTANdirectory{latexmk}{support/latexmk} +\CTANdirectory{ledmac}{macros/latex/contrib/ledmac} +\CTANdirectory{leew}{web/noweb/contrib/leew} +\CTANdirectory{lettrine}{macros/latex/contrib/lettrine} +\CTANdirectory{levy}{fonts/greek/levy} +\CTANdirectory{lextex}{macros/plain/contrib/lextex} +\CTANdirectory{lgc}{info/examples/lgc} +\CTANdirectory{lgrind}{nonfree/support/lgrind} +\CTANdirectory{lharc}{tools/lharc} +\CTANdirectory{lineno}{macros/latex/contrib/lineno} +\CTANdirectory{listings}{macros/latex/contrib/listings} +\CTANdirectory{lm}{fonts/lm} +\CTANdirectory{lollipop}{nonfree/macros/lollipop} +\CTANdirectory{lookbibtex}{biblio/bibtex/utils/lookbibtex} +\CTANdirectory{lsedit}{support/lsedit} +\CTANdirectory*{lshort-parent}{info/lshort} +\CTANdirectory{ltx3pub}{info/ltx3pub} +\CTANdirectory{ltxindex}{macros/latex/contrib/ltxindex} +\CTANdirectory{lucida}{fonts/lucida} +\CTANdirectory{lwc}{info/examples/lwc} +\CTANdirectory{ly1}{macros/latex/contrib/psnfssx/ly1} +\CTANdirectory{machdr}{tools/macunpack/machdr} +\CTANdirectory{mactotex}{graphics/mactotex} +\CTANdirectory{macunpack}{tools/macunpack} +\CTANdirectory{macutils}{tools/macutils} +\CTANdirectory{mailing}{macros/latex/contrib/mailing} +\CTANdirectory{make_latex}{support/make_latex} +\CTANdirectory{makeafm.dir}{fonts/utilities/t1tools/makeafm.dir} +\CTANdirectory{makedtx}{support/makedtx} +\CTANdirectory{makeindex}{indexing/makeindex} +\CTANdirectory{makeinfo}{macros/texinfo/texinfo/makeinfo} +\CTANdirectory{makeprog}{support/makeprog} +\CTANdirectory{maketexwork}{info/maketexwork} +\CTANdirectory{malayalam}{language/malayalam} +\CTANdirectory{malvern}{fonts/malvern} +\CTANdirectory{mapleweb}{web/maple/mapleweb} +\CTANdirectory{marvosym-fonts}{fonts/psfonts/marvosym} +\CTANdirectory*{mathdesign}{fonts/mathdesign} +\CTANdirectory{mathematica}{macros/mathematica} +\CTANdirectory{mathpazo}{fonts/mathpazo} +\CTANdirectory{mathsci2bibtex}{biblio/bibtex/utils/mathsci2bibtex} +\CTANdirectory{mathspic}{graphics/pictex/mathspic} +\CTANdirectory{mcite}{macros/latex/contrib/mcite} +\CTANdirectory{mctex}{support/mctex} +\CTANdirectory{mcvert}{tools/mcvert} +\CTANdirectory{mdwtools}{macros/latex/contrib/mdwtools} +\CTANdirectory{memoir}{macros/latex/contrib/memoir} +\CTANdirectory{messtex}{support/messtex} +\CTANdirectory{metafont}{systems/mac/metafont} +\CTANdirectory{metapost}{graphics/metapost} +\CTANdirectory{metatype1}{fonts/utilities/metatype1} +\CTANdirectory{mewltx}{support/mewltx} +\CTANdirectory{mf-extra}{fonts/cm/mf-extra} +\CTANdirectory{mf2ps}{fonts/utilities/mf2ps} +\CTANdirectory{mf_optimized_kerning}{fonts/cm/mf_optimized_kerning} +\CTANdirectory{mfbook}{fonts/cm/utilityfonts/mfbook} +\CTANdirectory{mff-29}{fonts/utilities/mff-29} +\CTANdirectory{mffiles}{language/telugu/mffiles} +\CTANdirectory{mflogo}{macros/latex/contrib/mflogo} +\CTANdirectory{mfnfss}{macros/latex/contrib/mfnfss} +\CTANdirectory{mfpic}{graphics/mfpic} +\CTANdirectory{mfware}{systems/knuth/mfware} +\CTANdirectory{mh}{macros/latex/contrib/mh} +\CTANdirectory{midi2tex}{support/midi2tex} +\CTANdirectory{midnight}{macros/generic/midnight} +\CTANdirectory{miktexppc}{systems/win32/miktexppc} +\CTANdirectory{miktex-AXP}{systems/win32/miktex-AXP} +\CTANdirectory{minitoc}{macros/latex/contrib/minitoc} +\CTANdirectory{mirror}{tools/mirror} +\CTANdirectory{mixed}{tools/macutils/mixed} +\CTANdirectory{mma2ltx}{graphics/mma2ltx} +\CTANdirectory{mnu}{support/mnu} +\CTANdirectory{models}{macros/text1/models} +\CTANdirectory{modes}{fonts/modes} +\CTANdirectory{moreverb}{macros/latex/contrib/moreverb} +\CTANdirectory{mparhack}{macros/latex/contrib/mparhack} +\CTANdirectory{mps2eps}{support/mps2eps} +\CTANdirectory{ms}{macros/latex/contrib/ms} +\CTANdirectory{msdos}{systems/msdos} +\CTANdirectory{msx2msa}{fonts/vf-files/msx2msa} +\CTANdirectory{msym}{fonts/msym} +\CTANdirectory{mtx}{support/mtx} +\CTANdirectory{multibbl}{macros/latex/contrib/multibbl} +\CTANdirectory{multibib}{macros/latex/contrib/multibib} +\CTANdirectory{multirow}{macros/latex/contrib/multirow} +\CTANdirectory{musictex}{macros/musictex} +\CTANdirectory{musixtex-egler}{macros/musixtex/egler} +\CTANdirectory{musixtex-taupin}{macros/musixtex/taupin} +\CTANdirectory{mxedruli}{fonts/georgian/mxedruli} +\CTANdirectory{natbib}{macros/latex/contrib/natbib} +\CTANdirectory{nawk}{web/spiderweb/src/nawk} +\CTANdirectory{ncctools}{macros/latex/contrib/ncctools} +\CTANdirectory{newalg}{macros/latex/contrib/newalg} +\CTANdirectory{newcommand}{support/newcommand} +\CTANdirectory{newlfm}{macros/latex/contrib/newlfm} +\CTANdirectory{newsletr}{macros/plain/contrib/newsletr} +\CTANdirectory{nedit-latex}{support/NEdit-LaTeX-Extensions} +\CTANdirectory{norbib}{biblio/bibtex/contrib/norbib} +\CTANdirectory{noweb}{web/noweb} +\CTANdirectory{nrc}{macros/latex/contrib/nrc} +\CTANdirectory{ntg}{usergrps/ntg} +\CTANdirectory{ntgclass}{macros/latex/contrib/ntgclass} +\CTANdirectory{ntheorem}{macros/latex/contrib/ntheorem} +\CTANdirectory{nts-l}{digests/nts-l} +\CTANdirectory{nts}{systems/nts} +\CTANdirectory{nuweb}{web/nuweb} +\CTANdirectory{nuweb0.87b}{web/nuweb/nuweb0.87b} +\CTANdirectory{nuweb_ami}{web/nuweb/nuweb_ami} +\CTANdirectory{oberdiek}{macros/latex/contrib/oberdiek} +\CTANdirectory{objectz}{macros/latex/contrib/objectz} +\CTANdirectory{ocr-a}{fonts/ocr-a} +\CTANdirectory{ocr-b}{fonts/ocr-b} +\CTANdirectory{ogham}{fonts/ogham} +\CTANdirectory{ogonek}{macros/latex/contrib/ogonek} +\CTANdirectory{okuda}{fonts/okuda} +\CTANdirectory{omega}{systems/omega} +\CTANdirectory{os2}{systems/os2} +\CTANdirectory{osmanian}{fonts/osmanian} +\CTANdirectory{overpic}{macros/latex/contrib/overpic} +\CTANdirectory{oztex}{nonfree/systems/mac/oztex} +\CTANdirectory{oztex-german}{nonfree/systems/mac/oztex-german} +\CTANdirectory{page}{support/lametex/page} +\CTANdirectory{palladam}{language/tamil/palladam} +\CTANdirectory{pandora}{fonts/pandora} +\CTANdirectory{paralist}{macros/latex/contrib/paralist} +\CTANdirectory{parallel}{macros/latex/contrib/parallel} +\CTANdirectory{parc}{tools/parc} +\CTANdirectory{passivetex}{macros/xmltex/contrib/passivetex} +\CTANdirectory{patchcmd}{macros/latex/contrib/patchcmd} +\CTANdirectory{patches}{web/spiderweb/patches} +\CTANdirectory{pbm2tex}{support/pbm2tex} +\CTANdirectory{pbmtopk}{graphics/pbmtopk} +\CTANdirectory{pbox}{macros/latex/contrib/pbox} +\CTANdirectory{pcwritex}{support/pcwritex} +\CTANdirectory{pdfpages}{macros/latex/contrib/pdfpages} +\CTANdirectory{pdftricks}{macros/latex/contrib/pdftricks} +\CTANdirectory{penelope}{web/spiderweb/src/penelope} +\CTANdirectory{pfm2afm}{fonts/utilities/pfm2afm} +\CTANdirectory{pgf}{graphics/pgf} +\CTANdirectory{phonetic}{fonts/phonetic} +\CTANdirectory{phy-bstyles}{biblio/bibtex/contrib/phy-bstyles} +\CTANdirectory{physe}{macros/physe} +\CTANdirectory{phyzzx}{macros/phyzzx} +\CTANdirectory{picinpar}{macros/latex209/contrib/picinpar} +\CTANdirectory{pict2e}{macros/latex/contrib/pict2e} +\CTANdirectory{pictex}{graphics/pictex} +\CTANdirectory{pictex-addon}{graphics/pictex/addon} +\CTANdirectory{pictex-converter}{support/pictex-converter} +\CTANdirectory{pkbbox}{fonts/utilities/pkbbox} +\CTANdirectory{pkfix}{support/pkfix} +\CTANdirectory{placeins}{macros/latex/contrib/placeins} +\CTANdirectory{plain}{macros/plain/base} +\CTANdirectory{plttopic}{support/plttopic} +\CTANdirectory{pmtex}{systems/os2/pmtex} +\CTANdirectory{pmx}{support/pmx} +\CTANdirectory{polish}{language/polish} +\CTANdirectory{poorman}{fonts/poorman} +\CTANdirectory{portuguese}{language/portuguese} +\CTANdirectory{poster}{macros/generic/poster} +\CTANdirectory{pp}{support/pp} +\CTANdirectory{preprint}{macros/latex/contrib/preprint} +\CTANdirectory*{preview-latex}{support/preview-latex} +\CTANdirectory{print-fine}{support/print-fine} +\CTANdirectory{printbib}{biblio/bibtex/utils/printbib} +\CTANdirectory{printsamples}{fonts/utilities/mf2ps/doc/printsamples} +\CTANdirectory{program}{macros/latex/contrib/program} +\CTANdirectory{proofs}{macros/generic/proofs} +\CTANdirectory{ppower4}{support/ppower4} +\CTANdirectory{ppr-prv}{macros/latex/contrib/ppr-prv} +\CTANdirectory{prosper}{macros/latex/contrib/prosper} +\CTANdirectory*{ps-type1}{fonts/cm/ps-type1} +\CTANdirectory{ps-type3}{fonts/cm/ps-type3} +\CTANdirectory{ps2mf}{fonts/utilities/ps2mf} +\CTANdirectory{ps2pk}{fonts/utilities/ps2pk} +\CTANdirectory{ps4mf}{systems/msdos/ps4mf} +\CTANdirectory{ps4pdf}{macros/latex/contrib/ps4pdf} +\CTANdirectory{psbook}{systems/msdos/dviware/psbook} +\CTANdirectory{psbox}{macros/generic/psbox} +\CTANdirectory{pseudocode}{macros/latex/contrib/pseudocode} +\CTANdirectory{psfig}{nonfree/graphics/psfig} +\CTANdirectory{psfrag}{macros/latex/contrib/psfrag} +\CTANdirectory{psizzl}{macros/psizzl} +\CTANdirectory{psnfss}{macros/latex/required/psnfss} +\CTANdirectory{psnfss-addons}{macros/latex/contrib/psnfss-addons} +\CTANdirectory{psnfssx-mathtime}{macros/latex/contrib/psnfssx/mathtime} +\CTANdirectory{psprint}{dviware/psprint} +\CTANdirectory{pstab}{support/pstab} +\CTANdirectory{pstoedit}{support/pstoedit} +\CTANdirectory{pstricks}{graphics/pstricks} +\CTANdirectory{psutils}{support/psutils} +\CTANdirectory{punk}{fonts/punk} +\CTANdirectory{purifyeps}{support/purifyeps} +\CTANdirectory{pxfonts}{fonts/pxfonts} +\CTANdirectory{pxlgen}{systems/msdos/pxlgen} +\CTANdirectory{qdtexvpl}{fonts/utilities/qdtexvpl} +\CTANdirectory{qfig}{support/qfig} +\CTANdirectory{qms}{dviware/qms} +\CTANdirectory{quicspool}{dviware/quicspool} +\CTANdirectory{r2bib}{biblio/bibtex/utils/r2bib} +\CTANdirectory{ransom}{fonts/ransom} +\CTANdirectory{rcs}{macros/latex/contrib/rcs} +\CTANdirectory{rcsinfo}{macros/latex/contrib/rcsinfo} +\CTANdirectory{realcalc}{macros/generic/realcalc} +\CTANdirectory{recycle}{fonts/recycle} +\CTANdirectory{redit}{support/redit} +\CTANdirectory{reduce}{web/reduce} +%[web/spiderweb/src/reduce] +\CTANdirectory{refcheck}{macros/latex/contrib/refcheck} +\CTANdirectory{refer-tools}{biblio/bibtex/utils/refer-tools} +\CTANdirectory{refman}{macros/latex/contrib/refman} +\CTANdirectory{relabel}{support/relabel} +\CTANdirectory{review}{support/lsedit/review} +\CTANdirectory{revtex}{macros/latex/contrib/revtex} +\CTANdirectory{rmit}{fonts/thai/rmit} +\CTANdirectory{rnototex}{support/rnototex} +\CTANdirectory{rotating}{macros/latex/contrib/rotating} +\CTANdirectory{rsfs}{fonts/rsfs} +\CTANdirectory{rsfs-type1}{fonts/rsfs/ps-type1/hoekwater} +\CTANdirectory{rtf2tex}{support/rtf2tex} +\CTANdirectory{rtf2html}{support/rtf2html} +\CTANdirectory{rtf2latex}{support/rtf2latex} +\CTANdirectory{rtf2latex2e}{support/rtf2latex2e} +\CTANdirectory{rtflatex}{support/rtflatex} +\CTANdirectory{rtfutils}{support/tex2rtf/rtfutils} +\CTANdirectory{rumgraph}{support/rumgraph} +\CTANdirectory{rune}{fonts/rune} +\CTANdirectory{rweb}{web/reduce/rweb} +\CTANdirectory{s2latex}{support/s2latex} +\CTANdirectory{sanskrit}{language/sanskrit} +\CTANdirectory{sauerj}{macros/latex/contrib/sauerj} +\CTANdirectory{sauter}{fonts/cm/sauter} +\CTANdirectory{savetrees}{macros/latex/contrib/savetrees} +\CTANdirectory{sbtex}{systems/msdos/sbtex} +\CTANdirectory{schemetex}{support/schemetex} +\CTANdirectory{schemeweb}{web/schemeweb} +\CTANdirectory{screenview}{dviware/screenview} +\CTANdirectory{script}{macros/latex/contrib/script} +\CTANdirectory{scripttex}{nonfree/macros/scripttex} +\CTANdirectory{sectsty}{macros/latex/contrib/sectsty} +\CTANdirectory{seminar}{macros/latex/contrib/seminar} +\CTANdirectory{sfware}{fonts/softfonts/sfware} +\CTANdirectory{showlabels}{macros/latex/contrib/showlabels} +\CTANdirectory{sisisi}{systems/unix/sisisi} +\CTANdirectory{slant}{fonts/cm/utilityfonts/slant} +\CTANdirectory{slashbox}{macros/latex/contrib/slashbox} +\CTANdirectory{slatex}{language/swedish/slatex} +\CTANdirectory{smallcap}{macros/latex/contrib/smallcap} +\CTANdirectory{smartref}{macros/latex/contrib/smartref} +\CTANdirectory{sml}{web/spiderweb/src/sml} +\CTANdirectory{snapshot}{macros/latex/contrib/snapshot} +\CTANdirectory{softfonts}{fonts/softfonts} +\CTANdirectory{soul}{macros/latex/contrib/soul} +\CTANdirectory{southarabian}{fonts/southarabian} +\CTANdirectory{spain}{biblio/bibtex/contrib/spain} +\CTANdirectory{spelchek}{support/spelchek} +\CTANdirectory{spell}{support/spell} +\CTANdirectory{spiderweb}{web/spiderweb} +\CTANdirectory{splitbib}{macros/latex/contrib/splitbib} +\CTANdirectory{splitindex}{macros/latex/contrib/splitindex} +\CTANdirectory{srune}{fonts/srune} +\CTANdirectory{ssl}{web/spiderweb/src/ssl} +\CTANdirectory{ssqquote}{macros/latex/contrib/ssqquote} +\CTANdirectory{stmaryrd}{fonts/stmaryrd} +\CTANdirectory{sttools}{macros/latex/contrib/sttools} +\CTANdirectory{stuffit}{tools/stuffit} +\CTANdirectory{subeqnarray}{macros/latex/contrib/subeqnarray} +\CTANdirectory{subfig}{macros/latex/contrib/subfig} +\CTANdirectory{subfiles}{macros/latex/contrib/subfiles} +\CTANdirectory{sueterlin}{fonts/gothic/sueterlin} +\CTANdirectory{supertabular}{macros/latex/contrib/supertabular} +\CTANdirectory{svn}{macros/latex/contrib/svn} +\CTANdirectory{svninfo}{macros/latex/contrib/svninfo} +\CTANdirectory{swebib}{biblio/bibtex/contrib/swebib} +\CTANdirectory{swedish}{language/swedish} +\CTANdirectory{sweet-tex}{systems/mac/sweet-tex} +\CTANdirectory{swetex}{language/swedish/swetex} +\CTANdirectory{swiftex}{support/emacs-modes/swiftex} +\CTANdirectory*{symbols}{info/symbols/comprehensive} +\CTANdirectory{syriac}{fonts/syriac} +\CTANdirectory{t1tidy}{fonts/utilities/t1tools/t1tidy} +\CTANdirectory{t1tools}{fonts/utilities/t1tools} +\CTANdirectory{t1utils}{fonts/utilities/t1utils} +\CTANdirectory{tamil}{language/tamil} +\CTANdirectory{tar}{tools/tar} +\CTANdirectory{tbe}{macros/plain/contrib/tbe} +\CTANdirectory{tcdmanual}{info/tcdmanual} +\CTANdirectory{tde-macros}{language/swedish/slatex/tde-macros} +\CTANdirectory{tds}{tds} +\CTANdirectory{teencontrex}{info/spanish/TeEncontreX} +\CTANdirectory{tek2eepic}{support/tek2eepic} +\CTANdirectory{telugu}{language/telugu} +\CTANdirectory{tengwar}{fonts/tengwar} +\CTANdirectory*{testflow}{macros/latex/contrib/IEEEtran/testflow} +\CTANdirectory*{tetex}{systems/unix/teTeX/current/distrib} +\CTANdirectory{tetex-beta}{systems/unix/teTeX-beta} +\CTANdirectory{tex--xet}{systems/knuth/tex--xet} +\CTANdirectory{tex-d-l}{digests/tex-d-l} +\CTANdirectory{tex-implementors}{digests/tex-implementors} +\CTANdirectory{tex-mag}{digests/tex-mag} +\CTANdirectory{tex-primer_vms-specific}{info/tex-primer_vms-specific} +\CTANdirectory{tex-surface}{support/tex-surface} +\CTANdirectory{tex2mail}{support/tex2mail} +\CTANdirectory{tex2rtf}{support/tex2rtf} +\CTANdirectory{tex88}{digests/tex88} +\CTANdirectory{tex8fmts}{macros/generic/cptex/tex8fmts} +\CTANdirectory{texcalc}{support/texcalc} +\CTANdirectory{texchord}{macros/generic/texchord} +\CTANdirectory{texcnvfaq}{help/wp-conv} +\CTANdirectory{texdraw}{graphics/texdraw} +\CTANdirectory{texed}{support/texed} +\CTANdirectory{texfilt}{support/texfilt} +\CTANdirectory{texgraph}{macros/inrstex/texgraph} +\CTANdirectory*{texhax}{digests/texhax} +\CTANdirectory{texi2html}{support/texi2html} +\CTANdirectory{texi2roff}{support/texi2roff} +\CTANdirectory{texindex}{support/texindex} +\CTANdirectory{texinfo}{macros/texinfo/texinfo} +\CTANdirectory{texix}{macros/text1/texix} +\CTANdirectory{texline}{digests/texline} +\CTANdirectory*{texmacs}{systems/unix/TeXmacs} +\CTANdirectory*{texniccenter}{systems/win32/TeXnicCenter} +\CTANdirectory{texpert}{systems/msdos/texpert} +\CTANdirectory{texpower}{macros/latex/contrib/texpower} +\CTANdirectory{texproc}{support/texproc} +\CTANdirectory{texshell}{systems/msdos/texshell} +\CTANdirectory{texsis}{macros/texsis} +\CTANdirectory{text1}{macros/text1} +\CTANdirectory{text2dvi}{systems/msdos/text2dvi} +\CTANdirectory{textfit}{macros/latex/contrib/textfit} +\CTANdirectory{textmerg}{macros/latex/contrib/textmerg} +\CTANdirectory{textpos}{macros/latex/contrib/textpos} +\CTANdirectory{textool}{dviware/textool} +\CTANdirectory{textures}{systems/mac/textures} +\CTANdirectory{textures_figs}{systems/mac/textures_figs} +\CTANdirectory{texutils}{systems/atari/texutils} +\CTANdirectory{texware}{systems/knuth/texware} +\CTANdirectory{tgrind}{support/tgrind} +\CTANdirectory{thai}{fonts/thai} +\CTANdirectory{tib}{biblio/tib} +\CTANdirectory{tie}{web/tie} +\CTANdirectory{tiff}{graphics/tiff} +\CTANdirectory{tiny_c2l}{support/tiny_c2l} +\CTANdirectory{tip}{macros/tip} +\CTANdirectory{titlesec}{macros/latex/contrib/titlesec} +\CTANdirectory{titling}{macros/latex/contrib/titling} +\CTANdirectory{tlc2}{info/examples/tlc2} +\CTANdirectory{tmmath}{fonts/micropress/tmmath} +\CTANdirectory{tocbibind}{macros/latex/contrib/tocbibind} +\CTANdirectory{tocloft}{macros/latex/contrib/tocloft} +\CTANdirectory{tocvsec2}{macros/latex/contrib/tocvsec2} +\CTANdirectory{totpages}{macros/latex/contrib/totpages} +\CTANdirectory{tr2latex}{support/tr2latex} +\CTANdirectory{tr2tex}{support/tr2tex} +\CTANdirectory{transfig}{graphics/transfig} +\CTANdirectory{translit}{support/translit} +\CTANdirectory{transname}{tools/macunpack/transname} +\CTANdirectory{tree}{graphics/tree} +\CTANdirectory{troff}{indexing/makeindex/troff} +\CTANdirectory{troff-to-latex}{support/troff-to-latex} +\CTANdirectory{tsipa}{fonts/tsipa} +\CTANdirectory{tspell}{support/tspell} +\CTANdirectory{tt2001}{fonts/ps-type1/tt2001} +\CTANdirectory{ttn}{digests/ttn} +\CTANdirectory{tug}{usergrps/tug} +\CTANdirectory{tugboat}{digests/tugboat} +\CTANdirectory{turing}{web/spiderweb/src/turing} +\CTANdirectory{turing+}{web/spiderweb/src/turing+} +\CTANdirectory{turkish}{language/turkish} +\CTANdirectory{twcal}{fonts/twcal} +\CTANdirectory{tweb}{web/tweb} +\CTANdirectory{tx1}{systems/msdos/tx1} +\CTANdirectory{txfonts}{fonts/txfonts} +\CTANdirectory{txtdist}{support/txt} +\CTANdirectory{type1cm}{macros/latex/contrib/type1cm} +\CTANdirectory{typingtex}{language/typingtex} +\CTANdirectory{ucthesis}{macros/latex/contrib/ucthesis} +\CTANdirectory{ugaritic}{fonts/ugaritic} +\CTANdirectory{uktex}{digests/uktex} +\CTANdirectory{uktug}{usergrps/uktug} +\CTANdirectory{faq}{help/uk-tex-faq} +\CTANdirectory{umddvi}{dviware/umddvi} +\CTANdirectory{umlaute}{macros/latex/contrib/umlaute} +\CTANdirectory{umrand}{macros/generic/umrand} +\CTANdirectory{unadobe}{fonts/utilities/unadobe} +\CTANdirectory{unarj}{tools/unarj} +\CTANdirectory{uncompressing}{fonts/utilities/mf2ps/mf2ps/uncompressing} +\CTANdirectory{undump}{obsolete/support/undump} +\CTANdirectory{unix}{systems/unix} +\CTANdirectory{unpack}{tools/macunpack/unpack} +\CTANdirectory{unpacked}{macros/latex/unpacked} +\CTANdirectory{unstuff}{tools/unstuff} +\CTANdirectory{untex}{support/untex} +\CTANdirectory{urlbst}{biblio/bibtex/contrib/urlbst} +\CTANdirectory{urw}{fonts/urw} +\CTANdirectory{user-guides}{macros/generic/diagrams/borceux/user-guides} +\CTANdirectory{usergrps}{usergrps} +\CTANdirectory{usl}{fonts/thai/usl} +\CTANdirectory{utopia}{fonts/utopia} +\CTANdirectory{utthesis}{macros/latex/contrib/utthesis} +\CTANdirectory{uue}{tools/uue} +\CTANdirectory{uuencode}{tools/uuencode} +\CTANdirectory{va}{fonts/va} +\CTANdirectory{vector}{macros/latex/contrib/vector} +\CTANdirectory{vertex}{macros/plain/contrib/vertex} +\CTANdirectory{vga2mf}{systems/msdos/vga2mf} +\CTANdirectory{vietnamese}{language/vietnamese} +\CTANdirectory{vispeech}{language/vispeech} +\CTANdirectory{vita}{macros/latex/contrib/vita} +\CTANdirectory{vm-cms}{obsolete/systems/vm-cms} +\CTANdirectory{vmargin}{macros/latex/contrib/vmargin} +\CTANdirectory{vmspell}{support/vmspell} +\CTANdirectory{vplutils}{fonts/utilities/vplutils} +\CTANdirectory{vrb}{macros/generic/vrb} +\CTANdirectory{vslitex}{fonts/vf-files/vslitex} +\CTANdirectory{vtex-common}{systems/vtex/common} +\CTANdirectory{vtex-linux}{systems/vtex/linux} +\CTANdirectory{vtex-os2}{systems/vtex/os2} +\CTANdirectory{vtree}{tools/vtree} +\CTANdirectory{vtree-fix}{tools/vtree-fix} +\CTANdirectory{vutex}{dviware/vutex} +\CTANdirectory{vvcode}{tools/vvcode} +\CTANdirectory{w2latex}{support/w2latex} +\CTANdirectory{wallpaper}{macros/latex/contrib/wallpaper} +\CTANdirectory{was}{macros/latex/contrib/was} +\CTANdirectory{wasy}{fonts/wasy} +\CTANdirectory{wasy2}{fonts/wasy2} +\CTANdirectory{wasysym}{macros/latex/contrib/wasysym} +\CTANdirectory{wd2latex}{dviware/wd2latex} +\CTANdirectory{web}{systems/knuth/web} +\CTANdirectory{web2c}{systems/web2c} +\CTANdirectory*{web2c*}{systems/web2c} +\CTANdirectory{webtoc}{support/makeprog/webtoc} +\CTANdirectory{whatstex}{info/whatstex} +\CTANdirectory{williams}{macros/latex/contrib/williams} +\CTANdirectory{fptex}{systems/win32/fptex} +\CTANdirectory{winw2ltx}{support/winw2ltx} +\CTANdirectory{word2tex}{support/word2tex} +\CTANdirectory{word_tex}{support/word_tex} +\CTANdirectory{wordcount}{macros/latex/contrib/wordcount} +\CTANdirectory{wp2latex}{support/wp2latex} +\CTANdirectory{wrapfig}{macros/latex/contrib/wrapfig} +\CTANdirectory{wsuipa}{fonts/wsuipa} +\CTANdirectory{xbibfile}{biblio/bibtex/utils/xbibfile} +\CTANdirectory{xbin}{tools/xbin} +\CTANdirectory{xcolor}{macros/latex/contrib/xcolor} +\CTANdirectory{xdvi}{dviware/xdvi} +\CTANdirectory{xetal}{support/xetal} +\CTANdirectory{xettex}{language/xettex} +\CTANdirectory{xfig}{graphics/xfig} +\CTANdirectory*{xindy}{support/xindy} +\CTANdirectory{xmltex}{macros/xmltex/base} +\CTANdirectory*{xpdf}{support/xpdf} +\CTANdirectory{xtab}{macros/latex/contrib/xtab} +\CTANdirectory{xymtex}{macros/latex/contrib/xymtex} +\CTANdirectory{xypic}{macros/generic/diagrams/xypic} +\CTANdirectory{yhmath-fonts}{fonts/yhmath} +\CTANdirectory{yhmath-macros}{macros/latex/contrib/yhmath} +\CTANdirectory{zefonts}{fonts/zefonts} +\CTANdirectory{zoon-mp-eg}{info/metapost/examples} +\endinput diff --git a/Master/texmf-doc/doc/english/FAQ-en/faq.cls b/Master/texmf-doc/doc/english/FAQ-en/faq.cls new file mode 100644 index 00000000000..30426099686 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/faq.cls @@ -0,0 +1,70 @@ +% simple class to format the UK TeX FAQ in two columns + +\ProvidesClass{faq}[2002/03/11 v2.0 UK TeX FAQ] + +\NeedsTeXFormat{LaTeX2e}[1995/12/01] + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions + +\LoadClass{article} + +\RequirePackage[hyphens,obeyspaces]{url} +\RequirePackage{multicol,faq} + +% now, hack at page layout, taking account of whether we're in a +% single-column version... + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% (This stuff is hacked from SPQR (et al) in baskerv.cls) +% +% SIDE MARGINS: (as is for single column) +\ifsinglecolumn\else +\oddsidemargin -2.5pc \evensidemargin -2.5pc +\marginparwidth 4pc % don't use marginal notes... +\marginparsep 0.5pc % ...in the UK TUG newsletter +\fi + +% VERTICAL SPACING: +\topmargin -0.5in % allow half an inch border +\headheight 0\p@ % we don't bother with headers here ... +\headsep 0\p@ % ... this ain't a publication +\topskip 10\p@ +\footskip 15\p@ + +% DIMENSION OF TEXT: + +% vertical dimension +\textheight \paperheight +\advance\textheight -1.5in +%\textheight 250mm % height of text on a page (A4 paper) + +% horizontal dimension: pro tem, as is for singlcolumn +\ifsinglecolumn\else +\textwidth \paperwidth +\advance\textwidth -1in +%\textwidth 180mm % total width of a page (A4 paper) + +\columnseprule 0.5\p@ % width of line in the inter-column gutter +\columnsep 10mm % space between columns +\tolerance 9999 % make those columns justify +\fi + +% FOOTNOTES: +\footnotesep 6\p@ +\skip\footins 19.5\p@ plus 12\p@ \@minus \p@ + +% little patch generated in investigating a request from a user here +% in cambridge +\let\FAQ@@tableofcontents\tableofcontents +\renewcommand\tableofcontents{{% + \let\FAQ@@addvspace\addvspace + \def\addvspace##1{% + \@tempskipa##1\relax + \FAQ@@addvspace{0.1\@tempskipa}% + }% + \FAQ@@tableofcontents +}} diff --git a/Master/texmf-doc/doc/english/FAQ-en/faq.sty b/Master/texmf-doc/doc/english/FAQ-en/faq.sty new file mode 100644 index 00000000000..ec278d3c9c9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/faq.sty @@ -0,0 +1,1037 @@ +% This is a LaTeX2e package for the UKTUG FAQ document. +% +% uses production LaTeX 2e commands +\NeedsTeXFormat{LaTeX2e}[1994/06/01]% at least! +\ProvidesPackage{faq}[2002/10/01 v2.3 English TeX FAQ macros] +% +% something affecting fonts: do we use only freely available fonts +% (i.e., are we going to make the postscript of this publicly +% available?); the config file could change this setting if +% necessary. things affected herein are the definition of \MP (for +% metapost), which isn't currently doable with free fonts, and +% suppression of boldface versions of the logo fonts. +\newif\ifpublicversion \publicversiontrue + +% +% what fonts are we going to typeset in? +\newif\ifboldmathavail +\InputIfFileExists{faqfont.cfg}% must set \ifboldmathavail if necessary + {\typeout{FAQ -- loading font configuration file faqfont.cfg}} + {% + \RequirePackage{lmodern}% for sans fonts + \RequirePackage{mathptmx} + \RequirePackage[T1]{fontenc}% + \boldmathavailfalse + \RequirePackage[scaled=0.85]{luximono}% not using cmtt-alike + \RequirePackage{textcomp}% + \DeclareRobustCommand{\$}{\char`\$}% otherwise tries to load tctt.... + \@ifundefined{Dings}{\RequirePackage{pifont}% + \def\Dings{\nopagebreak{\footnotesize + \dingline{167}}}% + }% + {}% + \DeclareRobustCommand\acro[1]{##1\@{}} + } + +% suppress bold maths if they're not available +\ifboldmathavail\else\let\boldmath\@empty\fi + +% +% switches (potentially) to be set according to status +\newif\ifpdf +\newif\ifsinglecolumn + +% +% Status values +\providecommand{\Status}{0} +\ifcase\Status\relax + % 0: default case is do nothing +% \typeout{faq.sty: default output using \ifprivate private\else +% public\fi\space fonts} + \singlecolumnfalse + \pdffalse +\or + % 1: pdf output using public fonts + \typeout{faq.sty: 1-col pdf output using public fonts} + \singlecolumntrue + \pdftrue + \let\multicols\@gobble + \let\endmulticols\relax +\or + % 2: pdf output using public fonts, two columns + \typeout{faq.sty: 2-col pdf output using public fonts} + \singlecolumnfalse + \pdftrue +\fi + +% +% if we're doing pdf, set up hyperref package and backdoors that avoid +% its sillier byproducts... +\ifpdf + \@ifundefined{pdfavoidoverfull}{}{\pdfavoidoverfull=1} + \let\@faq@@url\url + \urldef\DebianSocialContract\@faq@@url + {http://www.debian.org/social_contract#guidelines} + \RequirePackage[pdftex% + ,colorlinks% + ,pdftitle=The\ UK\ TeX\ FAQ% + ,linkcolor=blue% + ,pdfpagemode=None% + ,pdfstartview=FitBH% +% ,bookmarks=false% + ,bookmarksnumbered% + ]{hyperref} + \usepackage{thumbpdf} + \pdfstringdefDisableCommands{% + \let\cs\psd@cs + \def\csx#1{\textbackslash#1}% + \def\marg#1{\textbraceleft#1\textbraceright}% + \let\acro\@firstofone + \let\ProgName\@firstofone + \let\Package\@firstofone + \def\meta#1{<#1>}% + % + \def\WYSIWYG{WYSIWYG}% + \def\AMSTeX{AmSTeX}% + \def\BibTeX{BibTeX}% + \def\PiCTeX{PiCTeX}% + \def\CDROM{CD-ROM}% + \def\TeXXeT{TeXXeT}% + \def\MLTeX{ML-TeX}% + \def\MP{MetaPost}% + \def\dots{...}% + \def\obracesymbol{\{}% + \def\cbracesymbol{\}}% + \def\,{}% + }% + \begingroup + \lccode`\~=`\|% + \lowercase{\endgroup + \def\psd@cs~#1~{\textbackslash#1}% + }% + % adding table of contents to bookmarks + \let\Orig@tableofcontents\tableofcontents + \def\tableofcontents{% + \pdfbookmark[1]{\contentsname}{contents}% + \Orig@tableofcontents + }% + % adding \subsection*{Finding the Files} + \AtBeginDocument{% + \let\Orig@subsection\subsection + \def\subsection{% + \@ifstar{\bookmark@subsectionstar}{\Orig@subsection}% + }% + }% + \def\bookmark@subsectionstar#1{% + \advance\Hy@linkcounter by 1\relax + \pdfbookmark[2]{#1}{subsectionstar.\the\Hy@linkcounter}% + \Orig@subsection*{#1}% + }% +\fi + +% +% general support +%\RequirePackage{calc} +% +% code for handling logo font +%% \RequirePackage{mflogo} +%% \ifpublicversion +%% \renewcommand{\MP}{Meta\-Post} +%% \let\faq@@MF\MF +%% \def\faq@bx{bx} +%% \DeclareRobustCommand{\MF}{{% +%% \ifx\f@series\faq@bx +%% \expandafter\textmd% +%% \fi +%% {\faq@@MF}% +%% }% +%% } +%% \fi +\DeclareRobustCommand\MF{Meta\-Font} +\DeclareRobustCommand\MP{Meta\-Post} +\let\textlogo\textmd +% +% get texnames package (as amended) +%\RequirePackage{stupid_names} +% define substitutes for stupid_names +\newcommand\LaTeXo{\LaTeX\,2.09} +\newcommand\AMSTeX{AMS\TeX} +\newcommand\AMSLaTeX{AMS\LaTeX} +\newcommand\BibTeX{Bib\TeX} +\newcommand\PiCTeX{PiC\TeX} +% +% ifthenelse for the undefined references +\RequirePackage{ifthen} +% +% tables are all long'uns +\RequirePackage{booktabs} +% +% we define html only stuff using Eijkhout's package +\RequirePackage{comment} +\excludecomment{htmlversion} +\ifpdf +\includecomment{pdfversion} +\excludecomment{dviversion} +\includecomment{wideversion} +\excludecomment{narrowversion} +\else +\excludecomment{pdfversion} +\includecomment{dviversion} +\includecomment{narrowversion} +\excludecomment{wideversion} +\fi +% +% but we also want a `short' version, like LaTeX2HTML's +\let\htmlonly\@gobble +% +% the Baskerville and other logos and abbreviations +\providecommand\BV{\emph{Baskerville}} +\providecommand\DANTE{\acro{DANTE}} +\providecommand\MSDOS{\acro{MS-DOS}} +\providecommand\CDROM{\acro{CD-ROM}} +\providecommand\elatex{e-LaTeX} +\providecommand\miktex{MiKTeX} +% +%% \providecommand\TeXXeT{\TeX-{}-X\lower.5ex\hbox{E}\kern-.1667emT\@} +%\providecommand\MLTeX{ML-\TeX} +% +% provided for consistency's sake +\newcommand\PS{PostScript} +% +% to get \\ into example command arguments +\def\bsbs{\char`\\\char`\\} +% +\def\careof{\leavevmode\hbox{\raise.75ex\hbox{c}\kern-.15em + /\kern-.125em\smash{\lower.3ex\hbox{o}}}} +% +% another silliness: +\providecommand{\textoslash}{\o} +% +% \cs{SMC} \emph{isn't} small caps~--- Barbara Beeton says she thinks +% of it as ``big small caps''. She says (modulo capitalisation of +% things\dots): +% \begin{quote} +% For the things it's used for, regular small caps are not +% appropriate~--- they're too small. Real small caps are +% appropriate for author names (and are so used in continental +% bibliographies), section headings, running heads, and, on +% occasion, words to which some emphasis is to be given. \cs{SMC} +% was designed to be used for acronyms and all-caps abbreviations, +% which look terrible in small caps, but nearly as bad in all caps +% in the regular text size. The principle of using ``one size +% smaller'' than the text size is similar to the design of caps in +% German~--- where they are smaller relative to lowercase than are +% caps in fonts intended for English, to improve the appearance of +% regular text in which caps are used at the heads of all nouns, not +% just at the beginnings of sentences. +% \end{quote} +% +% We define this in terms of the memory of the size currently selected +% that's maintained in \cs{@currsize}: if the user does something +% silly re.~selecting fonts, we'll get the wrong results. The +% following code is adapted from |relsize.sty| by Donald Arseneau and +% Matt Swift, from a 2.09 original by Bernie Cosell. (Note that the +% order of examination of \cs{@currsize} is to get the commonest cases +% out of the way first.) +% \begin{macrocode} +%<!latex2e>\def\SMC{\small} +%<*latex2e> +\DeclareRobustCommand\SMC{% + \ifx\@currsize\normalsize\small\else + \ifx\@currsize\small\footnotesize\else + \ifx\@currsize\footnotesize\scriptsize\else + \ifx\@currsize\large\normalsize\else + \ifx\@currsize\Large\large\else + \ifx\@currsize\LARGE\Large\else + \ifx\@currsize\scriptsize\tiny\else + \ifx\@currsize\tiny\tiny\else + \ifx\@currsize\huge\LARGE\else + \ifx\@currsize\Huge\huge\else + \small\SMC@unknown@warning + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +} +\newcommand\SMC@unknown@warning{\PackageWarning{faq}{Unknown text font + size command -- using \string\small}} +\DeclareRobustCommand\textSMC[1]{{\SMC #1}} +% \end{macrocode} +% +% The \cs{acro} command uses \cs{SMC} as it was originally intended. +% Note that, since most of these things are uppercase-only names, it +% fiddles with the spacefactor after inserting its text. font config +% files may define \cs{acro} otherwise +% +% \begin{macrocode} +\@ifundefined{acro}{% + \DeclareRobustCommand\acro[1]{\textSMC{#1}\@}% +}{} +% \end{macrocode} +% +%\TUGboat (effectively) takes arguments {<empty>}vol(issue) +\DeclareRobustCommand\TUGboat[1]{\expandafter\@TUGboat\ignorespaces} +\def\@TUGboat#1(#2){\textsl{TUGboat} \textbf{#1}(#2)} +% +% The NTS and eTeX (and for consistency Eplain) logos +%% \DeclareRobustCommand\NTS{$\mathcal{N}$\lower.5ex\hbox +%% {$\mathcal{T}$}$\mathcal{S}$\@} +%% \DeclareRobustCommand\eTeX{{$\varepsilon$}-\TeX} +%% \DeclareRobustCommand\Eplain{Eplain} +%% \DeclareRobustCommand\PDFTeX{\acro{PDF}\TeX} +%% \DeclareRobustCommand\PDFLaTeX{\acro{PDF}\LaTeX} +%% \DeclareRobustCommand\CONTeXT{Con\TeX{}t} +\DeclareRobustCommand\YandY{\acro{Y}\&\acro{Y}} + +% non-silly names... +\renewcommand\TeX{TeX} +\newcommand\Eplain{Eplain} +\newcommand\eTeX{e-\TeX} +\newcommand\ExTeX{Ex\TeX} +\renewcommand\LaTeX{La\TeX} +\newcommand\AllTeX{(La)\TeX} +\newcommand\CONTeXT{Con\TeX{}t} +\newcommand\PDFTeX{PDF\TeX} +\newcommand\PDFLaTeX{PDF\LaTeX} +\newcommand\twee{2e} +\newcommand\NTS{NTS} +%\newcommand\TeXXeT{TeX-{}-XeT} +% +% Other odds and ends (appear differently in TeX and http or plain +% text +% +% wysiwyg gets capitalised at the beginning of a sentence. not +% entirely reliably... +\DeclareRobustCommand\WYSIWYG{% + \ifvmode + \let\faq@tempa\MakeUppercase + \else + \ifnum\spacefactor>2000 + \let\faq@tempa\MakeUppercase + \else + \let\faq@tempa\relax + \fi + \fi + \textsc{\faq@tempa wysiwyg}% +} +% +% Command for doing `square one' :-} +\newcommand\sqfbox[1]{\framebox{\makebox[\totalheight]{#1\/}}} +% +% an arrow used as a hyphen... +\newcommand\arrowhyph{\ensuremath{\rightarrow}\penalty0\hskip0pt\relax} +% +% Here's a \fullline macro that works in lists and so on +\newcommand\fullline[1]{\@tempdima\hsize\relax + \advance\@tempdima-\leftmargin\relax + \advance\@tempdima-\rightmargin\relax + \hb@xt@\@tempdima{#1}% +} +% +% list indentations (narrower than default because two-column, but +% squeezed further to gain a bit more space still) +\setlength\leftmargini {1.8em} +\setlength\leftmarginii {1.2em} +\setlength\leftmarginiii{1em} +\setlength\leftmarginiv {0.8em} +% +% for tidy expression of things with parentheses around them: +\newcommand\parens[1]{(#1)} +\newcommand\oparen{(}%)( [footling around to match brackety things in emacs] +\newcommand\cparen{)} +% +% make the tex logo robust +\edef\@tempa{\noexpand\DeclareRobustCommand\noexpand\TeX{\TeX}} +\@tempa +% +% this piece of fantasy was let loose on an unsuspecting world by +% christina thiele, but i bet she didn't write it ;-) +\edef\diatop{\noexpand\protect\csname diatop \endcsname} +\expandafter\def\csname diatop \endcsname[#1|#2]{% + \leavevmode + {% + \setbox1=\hbox{{#1{}}}\setbox2=\hbox{{#2{}}}% + \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi% + \dimen1=\ht2\advance\dimen1by-1ex% + \setbox1=\hbox to1\dimen0{\hss#1\hss}% + \rlap{\raise1\dimen1\box1}% + \hbox to1\dimen0{\hss#2\hss}% + }% +}% +% +% for han the thanh (who knows whether i've actually got this right; i +% can't use the T5 fonts, which aren't even really publicly available +% yet) +\DeclareRobustCommand{\The}{Th\diatop[\'|\^e]} +%% % +%% % 2e's LaTeX logo sets the A in scripstyle jammed up to the top of the T; it +%% % also has the advantage that it's set in the same font as the +%% % surrounding text. However, the esteemed bbeeton says the logo looks +%% % "squidge awful" in italic text (I agree; and the same is true of its +%% % behaviour in slanted text) +%% % +%% % So here's a version that allows for the slant of the leading L +%% \DeclareRobustCommand{\LaTeX}{L% +%% {\setbox0\hbox{T}% +%% \setbox\@tempboxa\hbox{$\m@th$% +%% \csname S@\f@size\endcsname +%% \fontsize\sf@size\z@ +%% \math@fontsfalse\selectfont +%% A}% +%% \@tempdima\ht0 +%% \advance\@tempdima-\ht\@tempboxa +%% \@tempdima\strip@pt\fontdimen1\font\@tempdima +%% \advance\@tempdima-.36em +%% \kern\@tempdima +%% \vbox to\ht0{\box\@tempboxa +%% \vss}% +%% }% +%% \kern-.15em +%% \TeX} +%% % +%% % Ditto for \AllTeX (as used in TUGboat) +%% \DeclareRobustCommand{\AllTeX}{(L% +%% {\setbox0\hbox{T}% +%% \setbox\@tempboxa\hbox{$\m@th$% +%% \csname S@\f@size\endcsname +%% \fontsize\sf@size\z@ +%% \math@fontsfalse\selectfont +%% A}% +%% \@tempdima\ht0 +%% \advance\@tempdima-\ht\@tempboxa +%% \@tempdima\strip@pt\fontdimen1\font\@tempdima +%% \advance\@tempdima-.36em +%% \kern\@tempdima +%% \vbox to\ht0{\box\@tempboxa +%% \vss}% +%% }\kern-.075em)% +%% \kern-.075em\TeX} +%% % +%% % A similar game is used in defining an `all LaTeX' sort of thing: +%% \DeclareRobustCommand\twee{2$_{\textstyle\varepsilon}$} +% +% it proves that, for Alan's stuff, the following needs to have been +% done _before_ we define the macros +\RequirePackage{shortvrb} +\MakeShortVerb{\|} +% +% A command which sets some text in typewriter, with the hyphenchar +% temporarily set to its first argument \FAQverb\HYPHEN{TEXT}. +% NB: This requires no catcode hackery, so should work inside moving +% arguments. It will, however, produce spurious spaces after CSs, and +% won't allow brace-unmatched input. It also won't survive going into a +% moving argument if \HYPHEN won't. +% +\let\FAQverbFamily\ttfamily +\DeclareRobustCommand{\FAQverb}[2]{{% + \ifvmode\leavevmode\fi + \lefthyphenmin=256\setlanguage\language + \FAQverbFamily\hyphenchar\the\font`#1\relax + \def\@tempa{#2}% + \expandafter\@faq@strip\meaning\@tempa\@faq@strip + \hyphenchar\the\font\m@ne +}\setlanguage\language} +\def\@faq@strip#1->#2\@faq@strip{#2} +% +% Document markup: +% +% (new method, using url.sty -- old version using FAQverb stuff +% deleted from comments 2000/03/24) +\newcommand\Email{\begingroup \urlstyle{tt}\Url} % email address +\ifpdf +\def\mailto{\@ifnextchar|\@mailto@vert\@mailto@brace} % url to mail somewhere +\def\@mailto@vert|#1|{\href{mailto:#1}{\Email{#1}}} +\def\@mailto@brace#1{\href{mailto:#1}{\Email{#1}}} +\else +\newcommand\mailto{\begingroup \urlstyle{tt}\Url} % mailable address +\fi +\DeclareRobustCommand\FTP{\begingroup \urlstyle{tt}\Url} % FTP site address +\DeclareRobustCommand\File{\begingroup \urlstyle{tt}\Url} % File name +\DeclareRobustCommand\@ctan@path{\begingroup \urlstyle{tt}\Url} % CTAN path + % (argument in braces) +\ifpdf +\newcommand\@CTAN[3]{\href{#1#2#3}{\@ctan@path{#2}}} % relay via hyperreference +\else +\newcommand\@CTAN[3]{\@ctan@path{#2}} % text-only reference +\fi +\newcommand\Newsgroup{\begingroup \urlstyle{tt}\Url} % newsgroup +\let\URL\url % just a URL +% url.sty defines \path, etc. hyperref may redefine... +\ifpdf + % hyperref has defined \href + \let\FAQ@@href\href + % we actually want to ignore the * in \href* + \def\href{\@ifstar\FAQ@@href\FAQ@@href} +\else +% +% here, latex for printing + \newcommand\href{% + \@ifstar + {\let\@href@text\@empty\@href@a}% + {\def\@href@text{see }\@href@a}% + } +% +% decisions now made about + \newcommand\@href@a{\begingroup + \@makeother\\% + \@makeother\_% + \@makeother\%% + \@makeother\~% + \@makeother\#% + \@href@b + } +% +% enter here in a group with sanitised arg + \newcommand\@href@b[1]{\endgroup + \urldef\@href@tempurl\url{#1}% + \@href@getanchor + } +% +% out of the group again: argument is the anchor + \newcommand\@href@getanchor[1]{#1% + \@ifnextchar@nosp'% + {\@href@getanchorq}% + { (\@href@text\@href@tempurl)\@let@token}% + } +% +% one quote after the anchor - check for a second + \newcommand\@href@getanchorq{% gobble the first quote + \@ifnextchar@nosp'% + \href@getanchor@qq + {' (\@href@text\@href@tempurl)\@let@token}% restore quote + } + \newcommand\href@getanchor@qq{% gobble the second quote too + {'' (\@href@text\@href@tempurl)}% restore both quotes + } +% +% two quotes after the anchor +\fi +\long\def\@ifnextchar@nosp#1#2#3{% + \let\reserved@d=#1% + \def\reserved@a{#2}% + \def\reserved@b{#3}% + \afterassignment\@ifnch@nosp\let\@let@token= } +\def\@ifnch@nosp{% + \ifstophere\stopherefalse\show\@let@token\fi + \ifx\@let@token\reserved@d + \expandafter\reserved@a + \else + \expandafter\reserved@b + \fi +} +\setcounter{errorcontextlines}{999} +\newif\ifstophere + +%%\ifx\DeclareUrlCommand\undefined +\DeclareRobustCommand\ProgName{% + \begingroup + \def\UrlFont{\rmfamily\itshape}\csname Url@do\endcsname + \Url +} +%%\else +%% \DeclareUrlCommand\@ProgName{\def\UrlFont{\rmfamily\itshape}} +%% \DeclareRobustCommand\ProgName{\@ProgName} +%%\fi +\let\Package\ProgName % pro tem +\let\Class\Package % ... +\let\FontName\Package % ... + +% another little oddity (from doc.sty originally, iirc) +\newcommand\meta[1]{\ensuremath{\langle}\emph{#1}\ensuremath{\rangle}} + +% +% ISBN references +\def\ISBN#1{\mbox{\acro{ISBN}}~#1} +% +% Alan's code for CTAN references (now hacked to be capable of urls +% for use in pdf output): +% +% define a location for a package on CTAN +% ignores a leading * (which has meaning for html version only) +% #1 is the package name +% #2 is the CTAN path to the thing +% a package in a directory +\ifpdf + \newcommand{\CTANdirectory}{\@ifstar\@sCTANdirectory\@CTANdirectory} +\else + \newcommand{\CTANdirectory}{\@ifstar\@CTANdirectory\@CTANdirectory} +\fi +\newcommand{\@CTANdirectory}[2]{\@ifundefined{ctan-#1}{% + \expandafter\gdef\csname ctan-#1\endcsname{\@CTAN\LocalCTAN{#2}\CTANDirFmt}% +}{% + \PackageWarningNoLine{faq}{Repeated definition of label: #1}% + \stepcounter{CTAN@replabs}% +}} +\ifpdf + \newcommand{\@sCTANdirectory}[2]{\@ifundefined{ctan-#1}{% + \expandafter\gdef\csname ctan-#1\endcsname{\@CTAN\LocalCTAN{#2}/}% + }{% + \PackageWarningNoLine{faq}{Repeated definition of label: #1}% + \stepcounter{CTAN@replabs}% + }} +\fi +% +% a package in a single file (the same appearance, but the WWW -- and +% ultimately the pdf -- versions are different). +\ifpdf +\newcommand{\CTANfile}[2]{\@ifundefined{ctan-#1}{% + \expandafter\gdef\csname ctan-#1\endcsname{\@CTAN\LocalCTAN{#2}{}}% +}{% + \PackageWarningNoLine{faq}{Repeated definition of label: #1}% + \stepcounter{CTAN@replabs}% +}} +\else +\let\CTANfile\CTANdirectory +\fi +% +% Make reference to a CTAN package +% +% counters for the undefined references and repeated labels +\newcounter{CTAN@unrefs} +\newcounter{CTAN@replabs}% +% +% the command itself +\DeclareRobustCommand{\CTANref}[1]{\@ifundefined{ctan-#1}{% + \PackageWarning{CTAN}{Undefined reference: #1}% + \stepcounter{CTAN@unrefs}% +}{% +% \edef\@tempa{\noexpand\CTAN{\csname ctan-#1\endcsname}}\@tempa + \csname ctan-#1\endcsname +}} +% +% hook for diagnosing undefined references at the end +\AtEndDocument{\ifthenelse{\theCTAN@unrefs > 0}{% + \PackageWarningNoLine{ctan}{There were \arabic{CTAN@unrefs} undefined + references to CTAN}% + }% + {}% + \ifthenelse{\theCTAN@replabs > 0}{% + \PackageWarningNoLine{ctan}{There were \arabic{CTAN@replabs} + multiply defined references to CTAN}% + }% + {}% +} +% +% a slight variation of description for lists of book titles +\newcommand{\booklabel}[1]{\hspace\labelsep\normalfont\itshape #1} +\newenvironment{booklist}{% + \begin{list}{}% + {% + \labelwidth\z@ + \itemindent-\leftmargin + \let\makelabel\booklabel + \parskip \z@ + \itemsep \z@ + }% + }% + {\end{list}} +% +% proglist is the same as booklist if we're using italics for program +% names, but will need hacking otherwise +\newenvironment{proglist}{\begin{booklist}}{\end{booklist}} +% +% similarly for ctanrefs environment +\newcommand{\ctanreference}[1]{\hspace\labelsep\normalfont\ttfamily\itshape#1% + \/\normalfont:} +\newenvironment{ctanrefs}{% + \begin{list}{}% + {% + \labelwidth\z@ + \itemindent-\leftmargin + \let\makelabel\ctanreference + \topsep 4\p@ + \parskip \z@ + \itemsep \z@ + \@rightskip=\z@\@plus1in\relax + \spaceskip=.3333em\relax + \xspaceskip=.5em\relax + }% + }% + {\end{list}} +% +% compact the itemize, enumerate and description environments +\let\FAQ@@itemize\itemize +\renewcommand\itemize{% + \topsep 0.25\topsep + \FAQ@@itemize + \parskip \z@ + \itemsep \z@ +} +\let\FAQ@@enumerate\enumerate +\renewcommand\enumerate{% + \topsep 0.25\topsep + \FAQ@@enumerate + \parskip \z@ + \itemsep \z@ +} +\let\FAQ@@description\description +\renewcommand\description{% + \topsep 0.25\topsep + \FAQ@@description + \parskip \z@ + \itemsep \z@ +} +% +% and similarly close up verbatim's separation from what surrounds it +\let\FAQ@@verbatim\verbatim +\renewcommand\verbatim{% + \topsep 0.25\topsep + \FAQ@@verbatim +} +% +% \raggedwithindent is useful when we've got an URL or something +% overrunning the end of the line (and this line is terminated with +% \\) +% +% Typical usage is within the argument of a \nothtml command +\newcommand\raggedwithindent{% + \rightskip=\z@\@plus5em\relax + \spaceskip=.3333em\relax + \xspaceskip=.5em\relax + \hangindent=1pc\relax} +% +% the little bit(s) of code that's(re) going to be ignored when the +% html is generated are enclosed by the following two commands +\let\htmlignore\relax +\let\endhtmlignore\relax +% +% or it's the argument to \nothtml +\newcommand\nothtml[1]{#1} +% +% a trivium that appears differently in the two modes +\newcommand\latexhtml[2]{#1} +% +% things needed for the benefit of texfaq2html's `sanitise_line' +\let\textpercent\% +\let\faq@@textbar\textbar +\chardef\faq@vertbar`\| +\renewcommand\textbar{\def\@tempa{cmtt}% + \ifx\@tempa\f@family + \faq@vertbar + \else + \faq@@textbar + \fi +} +% +% redefine \cs{l@section} to require space for itself at the bottom +% of a column +\renewcommand\l@section[2]{% + \ifnum \c@tocdepth >\z@ + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% +% "needspace" element here (doesn't work) +% \vskip \z@ \@plus 3\baselineskip +% \penalty -\@highpenalty +% \vskip \z@ \@plus -3\baselineskip + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup + \fi +} +% +% subsections: these are a curious half-breed between latex sections +% and subsections -- as designed, i'm not intending there ever to be +% more than 9 per section (hahaha) +\renewcommand\subsection{\@startsection{subsection}% + \tw@ + \z@ + {-1.5ex \@plus-1ex \@minus-.3ex}% + {1ex \@plus.2ex}% + {\normalfont\large\bfseries + \raggedright}% + } +\renewcommand*\l@subsection[2]{% + \ifnum \c@tocdepth >\@ne + \addpenalty\@secpenalty + \addvspace{0.5em \@plus\p@}% +% "needspace" element here (doesn't work) +% \vskip \z@ \@plus 3\baselineskip +% \penalty -\@highpenalty +% \vskip \z@ \@plus -3\baselineskip + \setlength\@tempdima{2.0em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup + \fi} +% +% +% the question structure +% \Question[label name]{question asked} +% if [label name] present, the named label is assigned with \Qlabel +\newcounter{question} +\newcommand\Question[2][]{% + \ifpdf + \def\annot@label{#1}% + \def\annot@question{#2}% + \fi + \qu@stion{#2}% + \def\reserved@a{#1}% + \ifx\reserved@a\@empty + \PackageWarning{faq}{Question "#2" has no label}% + \else + \Qlabel{#1}% +% \addtocontents{lab}{\protect\QuestionLabel{#1}{#2}{\thepage}}% + \fi +} +\newcommand\qu@stion{\@startsection{question}% + \thr@@ + \z@ + {-1.25ex \@plus -1ex \@minus -.2ex}% + {0.75ex \@plus .2ex}% + {% + \normalfont + \normalsize + \bfseries + \raggedright + \protected@edef\@svsec{\protect\annot@set\@svsec}% + }% +} +\newcommand*\questionmark[1]{} +\newcommand*\l@question{\@dottedtocline{2}{2.0em}{2.3em}} +% +\long\def\@ReturnAfterFi#1\fi{\fi#1}% +\ifpdf + \newcommand*\toclevel@question{3}% + \let\orig@section\section + \let\orig@subsection\subsection + \let\orig@subsubsection\subsubsection + \def\section{% + \def\toclevel@question{2}% + \orig@section + } + \def\subsection{% + \def\toclevel@question{3}% + \orig@subsection + } + \def\subsubsection{% + \def\toclevel@question{4}% + \orig@subsubsection + } + % + \def\annot@set{% + \ifx\annot@label\@empty + \else + \begingroup + \def\x##1-##2\@nil{\def\annot@label{##2}}% + \expandafter\x\annot@label\@nil + \def\x##1_##2\@nil{% + ##1% + \ifx\\##2\\% + \else + \noexpand\textunderscore + \@ReturnAfterFi{\x##2\@nil}% + \fi + }% + \edef\annot@label{\expandafter\x\annot@label_\@nil}% + \edef\NL{\string\n}% + \pdfstringdef\annot@text{% + http://www.tex.ac.uk/cgi-bin/texfaq2html?label=\annot@label\NL + \annot@question + }% + \rlap{% + \kern-10mm\relax + \settoheight{\dimen@}{X}% + \pdfannotlink + width 200mm + height \dimen@ + depth 25mm + user {% + /Subtype/Text% + /T(Question \thequestion: \annot@label)% + /Contents(\annot@text)% + }% + \pdfendlink + }% + \endgroup + \fi + }% + \@ifundefined{pdfannotlink}{% + \let\pdfannotlink\pdfstartlink + }{} +\else + \let\annot@set\relax +\fi +% +% \QuestionLabel starts out as a null command (so that inputting a +% .lab file at s.o.d has no effect), but it's then reset to +% \@questionLabel in case the file is going to be read again later +% (e.g., as an appendix), but we don't have a sensible definition of +% _that_ yet, either... +\newcommand{\labellist}{% + \newcommand{\QuestionLabel}[3]{}% +% \@starttoc{lab}% + \let\QuestionLabel\@questionLabel +} +\newcommand{\@questionLabel}[3]{} +% +% \afterquestion is used when the \Question command itself has to be +% inside a group for some reason (e.g., to have it in \boldmath) +\newcommand\afterquestion{% + \global\toks@\expandafter{\the\everypar}% + \edef\@tempa{% + \noexpand\@afterindentfalse + \noexpand\everypar{\the\toks@}% + }% + \expandafter\endgroup\@tempa +} +% +% \cs{Destination} is used immediately after a \cs{Question} command +% in the various add-* files to signify where the question is supposed +% to go +\newcommand\Destination[1]{\begin{center} + \itshape#1 + \end{center} +} +% +% we `number' our sections alphabetically +\renewcommand{\thesection}{\Alph{section}} +% +% keywords for questions. these get translated into comments in web +% versions +\newcommand\keywords{\begingroup + \@makeother\\% + \@makeother\^% + \@makeother\_% + \@makeother\%% + \expandafter\endgroup + \@gobble +} +% +% \Qlabel and \Qref: define and refer to labels +\ifpdf +% hyperref version of \label doesn't get set until begin document + \AtBeginDocument{\let\Qlabel\label} +\else + \let\Qlabel\label +\fi +% \Qref[<text before q no>]{<hyper anchor text>}{<question label>} +% (default for arg 1 is "see question"; a conventional null argument +% here is \htmlonly, which gobbles a space) +% produces: +% <text before q no> <question number> +% +% \Qref*... produces +% <hyper anchor text> (<text before q no> <question number>) +% +% the code is supposed to deal correctly with things surrounded by +% double quotes (i.e., ``\Qref*....'' closes the quotes before putting +% the question number in parentheses. +% +% this stuff should be reconsidered to produce more sensible behaviour +% when running pdftex +% +\newcommand\Qref{\@ifstar\@QrefA\@QrefB} +\newcommand\@QrefA[3][see question]{#2% + \def\@QrefAai{#1}% + \def\@QrefAaiii{#3}% + \afterassignment\@QrefAl\let\@tempa= } +\newcommand\@QrefAl{% \@tempa is char after original \Qref's args + % \@QrefAai/\@QrefAaiii are arguments of \Qref + \ifx\@tempa'% + \def\@next{% + \afterassignment\@QrefAQ + \let\@tempa= % + }% + \expandafter\@next + \else + { (\@QrefAai~\ref{\@QrefAaiii})\@tempa}% + \fi +} +\newcommand\@QrefAQ{% \@tempa is second char after original \Qref's + % arguments (first was a quote character) + \ifx\@tempa'% + '' (\@QrefAai~\ref{\@QrefAaiii})% + \else + { (\@QrefAai~\ref{\@QrefAaiii})'\@tempa}% + \fi +} +%% \@ifnextchar'{\@QrefAQb{#1}{#2}}{ (#1~\ref{#2})'}} +%% \newcommand\@QrefAQb[3]{% param 3 quote again +%% '' (#1~\ref{#2})} +\newcommand\@QrefB[3][see question]{#1~\ref{#3}} +% +% from doc package, then hacked about by yours truly +\DeclareRobustCommand\csx[1]{{\FAQverbFamily\char`\\#1}} +%\def\cs|#1|{\csx{#1}} +% +% fancier versions of the above +% +% \cmdinvoke\cs<argument sequence> +% \cs typeset as above +% <argument sequence> may consist of optional or mandatory arguments; +% so far only "one mandatory" and "one optional, one mandatory" +% are supported by texfaq2html +% +% the `arguments' are simply typesett \texttt, as yet -- if something +% fancier is needed, there's a bunch of code needs rewriting here... +\DeclareRobustCommand\cmdinvoke{\@ifstar + {\let\@tempa\emph\@scmdinvoke}% + {\let\@tempa\relax\@scmdinvoke}% +} +\def\@scmdinvoke#1{\texttt{\symbol{92}#1}% + \futurelet\@let@token\@cmdinvoke +} +\def\@cmdinvoke{\ifx\@let@token\bgroup + \expandafter\@cmdinvoke@lbrace + \else + \ifx\@let@token[% ] + \expandafter\expandafter\expandafter\@cmdinvoke@lbrack + \fi + \fi +} +\def\@cmdinvoke@lbrace#1{\penalty0\hskip0pt\relax + \texttt{\symbol{123}\@tempa{#1}\symbol{125}}% + \futurelet\@let@token\@cmdinvoke +} +\def\@cmdinvoke@lbrack[#1]{\penalty-150\hskip0pt\relax + \texttt{[\@tempa{#1}]}% + \futurelet\@let@token\@cmdinvoke +} +% +% for writing \cmdinvoke out by hand (in titles) +\def\marg#1{\texttt{\symbol{123}{#1}\symbol{125}}} + +% that stuff doesn't work in pdf thumbnails. herewith an alternative +% for label ps@empty: +\DeclareRobustCommand\psatempty{% + \texttt{\string\pagestyle\string{empty\string}}% +} + +% minuscule bit more structured markup... +\def\environment#1{\texttt{#1}} +\def\pkgoption#1{\texttt{#1}} + +% deal with tabular: special defs to make texfaq2html doable +\let\tbamp& +\def\tbeol{\\} +\def\tbhline{\midrule} + +% +% symbols for the braces (which can confuse perl sumfink rotten +\def\obracesymbol{\symbol{123}} +\def\cbracesymbol{\symbol{125}} +% +% for comments during maintenance +%\def\Q#1{\footnote{{\ttfamily QUERY: #1}}} +%\def\Q#1{\marginpar{{\ttfamily QUERY: #1}}} +% +% Checking structure (null for now) +\newcommand\checked[2]{} +% +% for Alan's benefit +\newbox\@footnoteenvbox +\newenvironment{footnoteenv} + {\begin{lrbox}\@footnoteenvbox\reset@font\footnotesize\ignorespaces} + {\end{lrbox}% + \footnote{\unhbox\@footnoteenvbox}} +% +% end of package +\endinput diff --git a/Master/texmf-doc/doc/english/FAQ-en/faqbody.tex b/Master/texmf-doc/doc/english/FAQ-en/faqbody.tex new file mode 100644 index 00000000000..d9af0aadb16 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/faqbody.tex @@ -0,0 +1,20814 @@ +\def\faqfileversion{3.14a} \def\faqfiledate{2005/07/07} +% +% The above line defines the file version, and must remain the first +% line with any `assignment' in the file, or things will blow up +% nastily +% +% get lists of CTAN labels +% +% configuration for the lists, if we're going to need to generate urls +% for the files +\ifpdf +\InputIfFileExists{archive.cfg}{}{} +\fi +% +% ... directories +\input{dirctan} +% +% ... files +\input{filectan} + +\section{Introduction} + +This \acro{FAQ} was originated by the Committee of the \acro{UK} \TeX{} +Users' Group (\acro{UK}~\acro{TUG}) as a development of a regular +posting to the \emph{Usenet} newsgroup \Newsgroup{comp.text.tex} that +was maintained for some time by Bobby Bodenheimer. The first +\acro{UK} version was much re-arranged and corrected from the +original, and little of Bodenheimer's work now remains. + +\htmlignore +An \acro{HTML} translation of the \acro{FAQ} is available on the +World-Wide Web, via \acro{URL} +\URL{http://www.tex.ac.uk/faq}; an alternative \acro{HTML} version +is also to +\endhtmlignore +\begin{htmlversion} + +An alternative \acro{HTML} version of the \acro{FAQ} may +\end{htmlversion} +be found in \Qref*{\TeX{}~Live}{Q-CD}. + +\begin{htmlversion} + A copy of the complete \acro{FAQ}, in \acro{PDF} with hyperlinks to + assist browsing, may be found on + \CTANref{faq-a4} (formatted for A4 paper) or + \CTANref{faq-letter} (formatted for North American ``letter'' + paper). +\end{htmlversion} + +Most members of the committee of \acro{UK}~\acro{TUG}, over the years +since 1994, have contributed to this \acro{FAQ} to some extent. The +following people, who have never been members of the committee, have +also contributed help or advice: +Donald Arseneau, +Barbara Beeton, % one of first reviewers outside cttee +Karl Berry, +Giuseppe Bilotta, +Charles Cameron, +Damian Cugley, +Michael Dewey, +Michael Downes, % (RIP) on (ams)maths stuff +Thomas Esser, +Ulrike Fischer, % spotted boondoggle in q-tabcellalign +Anthony Goreham, +Norman Gray, +Eitan Gurari, % comparative html translators +William Hammond, % lots of work on xml-related answers +Hartmut Henkel, +John Hobby, +Morten H\textoslash gholm, % eagle eyes in search for problems +Berthold Horn, % lots of stuff on fonts +Ian Hutchinson, % comparative html translators +Werner Icking, % (RIP) answer on tex-music +Regnor Jernsletten, +David Kastrup, +Isaac Khabaza, % kindersley book +Ulrich Klauer, % pointed out twaddle in TeXpronounce +Markus Kohm, % help with functionality of Koma-script +Simon Law, +Daniel Luecking, +Sanjoy Mahajan, +Andreas Matthias, +Brooks Moses, % editorial suggestion +%Dick Nickalls, % now a member of the committee +Ted Nieland, +Hans Nordhaug, +Pat Rau, +Heiko Oberdiek, +Piet van Oostrum, +Scott Pakin, +Oren Patashnik, +Philip Ratcliffe, % help with a bibtex oddity +Jos\'e Carlos Santos, % very assiduous reader of new versions +Walter Schmidt, +Hans-Peter Schr\"ocker, +Joachim Schrod, +Maarten Sneep, % summary of c.t.t thread for outszwrng, inter alia +James Szinger, % who responded on c.t.t to request for answer +Ulrik Vieth, +Mike Vulis, +Chris Walker, % revtex alert +Peter Wilson, % several, incl functionality of memoir +Rick Zaccone and +Reinhard Zierke. + +\begin{htmlversion} + +% pseudo-subsection here, because of limitations of latex->html translator +\textbf{Caveat: Acquiring files} + +Most answers in this \acro{FAQ} provide links for downloading +software; a large proportion of these links direct you to entire +directories on the \acro{CTAN} archives. Unfortunately, some browsers +issue a sequence of commands that causes \acro{CTAN} servers to deny +the existence of compressed archive files of the directory, that the +server would be happy to create ``on the fly''. The \acro{FAQ} +therefore offers three possible links for downloading directories +(that aren't already designated ``browse only''): the links give you +\texttt{.zip} and \texttt{.tar.gz} archives, and a link for browsing +the directory. + +Fortunately, \acro{CTAN} is switching to statically-generated +directory archive files; many directories mentioned in this \acro{FAQ} +will also exist as \texttt{.zip} files on the archives, and won't fall +foul of the browser problem. Of course, if the \texttt{.zip} file +does not exist, and the browser is playing up, you will need to use +the ``browse'' link. +\end{htmlversion} + +\htmlignore +\subsection*{Finding the Files} + +Unless otherwise specified, all files mentioned in this \acro{FAQ} are +available from a \acro{CTAN} archive, or from one of their mirrors. +\Qref[Question]{}{Q-archives} % this one doesn't need anchor text +gives details of the \acro{CTAN} archives, and how to retrieve files from +them. If you don't have access to the Internet, the +\Qref*{\TeX{}~Live distribution}{Q-CD} offers off-line snapshots of +the arhives. + +The reader should also note that the first directory name of the path +name of every file on \acro{CTAN} has been elided from what follows, for the +simple reason that it's always the same (\path{tex-archive/}). + +To avoid confusion, we've also elided the full +stop% +\begin{footnoteenv} + `Full stop' (British English)==`period' (American English) +\end{footnoteenv} +from the end of any sentence whose last item is a path name (such +sentences are rare, and only occur at the end of paragraphs). Though +the path names are set in a different font from running text, it's not +easy to distinguish the font of a single dot! +\endhtmlignore + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{The Background} + +\Question[Q-whatTeX]{What is \TeX{}?} + +\TeX{} is a typesetting system written by +\href{http://sunburn.stanford.edu/~knuth/}{Donald E. Knuth}, who +says in the Preface to his book on \TeX{} +(see \Qref[question]{books about TeX}{Q-books}) that it is +%% beware line wrap +``\emph{intended for the creation of beautiful books~--- and especially for books that contain a lot of mathematics}''. + +Knuth is Emeritus Professor of the Art of Computer Programming at +Stanford University in California, \acro{USA}. Knuth developed the +first version of \TeX{} in 1978 to deal with revisions to his series +``the Art of Computer Programming''. The idea proved popular and +Knuth produced a second version (in 1982) which is the basis of what +we use today. + +Knuth developed a system of +% beware line breaks +`\nothtml{literate programming' (}% beware line break +\Qref{literate programming}{Q-lit}\latexhtml{)}{'} +to write \TeX{}, +and he provides the literate (\acro{WEB}) source of \TeX{} free of charge, +together with tools for processing the |web| source into something +that can be compiled and something that can be printed; there's never +any mystery about what \TeX{} does. Furthermore, the \acro{WEB} system +provides mechanisms to port \TeX{} to new operating systems and +computers; and in order that one may have some confidence in the ports, +Knuth supplied a \Qref*{test}{Q-triptrap} by +means of which one may judge the fidelity of a \TeX{} system. \TeX{} +and its documents are therefore highly portable. + +\TeX{} is a macro processor, and offers its users a powerful +programming capability. For this reason, \TeX{} on its own is a +pretty difficult beast to deal with, so Knuth provided a package of +macros for use with \TeX{} called Plain \TeX{}; Plain \TeX{} is +effectively the minimum set of macros one can usefully employ with +\TeX{}, together with some demonstration versions of higher-level +commands (the latter are better regarded as models than used as-is). +When people say they're ``programming in \TeX{}'', they usually mean +they're programming in Plain \TeX{}. + +\Question[Q-TeXpronounce]{How should I pronounce ``\TeX{}''?} + +The `X' is ``really'' the Greek letter % ! line break +Chi\nothtml{ (\ensuremath{\chi}, in lower case)}, +and is pronounced by English-speakers either a bit like the `ch' in +the Scots word `loch' ([x] in the IPA) or like `k'. It definitely is +not pronounced `ks' (the Greek letter with that sound doesn't look +remotely like the Latin alphabet `X'). + +This curious usage derives from Knuth's explanation in the \TeX{}book +that the name comes from the Greek word for `art' or `craft' +(`\latexhtml{\ensuremath{\tau\epsilon\chi\nu\eta}}{\emph{techni}}'), +which is the root of the English word `technology'; the logo \TeX{} is +merely the uppercase version of the first three (Greek) letters of the +word. + +\Question[Q-MF]{What is \MF{}?} + +\MF{} was written by Knuth as a companion to \TeX{}; whereas \TeX{} +defines the layout of glyphs on a page, \MF{} defines the shapes of +the glyphs and the relations between them. \MF{} details the sizes of +glyphs, for \TeX{}'s benefit, and details the rasters used to +represent the glyphs, for the benefit of programs that will produce +printed output as post processes after a run of \TeX{}. + +\MF{}'s language for defining fonts permits the expression of several +classes of things: first (of course), the simple geometry of the +glyphs; second, the properties of the print engine for which the +output is intended; and third, `meta'-information which can +distinguish different design sizes of the same font, or the difference +between two fonts that belong to the same (or related) families. + +Knuth (and others) have designed a fair range of fonts using \MF{}, +but font design using \MF{} is much more of a minority skill than is +\TeX{} macro-writing. The complete \TeX{}-user nevertheless needs to +be aware of \MF{}, and to be able to run \MF{} to generate personal +copies of new fonts. + +\Question[Q-MP]{What is \MP{}?} + +The \MP{} system (by John Hobby) implements a picture-drawing language +very much like that of \MF{} except that it outputs Encapsulated \PS{} +files instead of run-length-encoded bitmaps. \MP{} is a powerful +language for producing figures for documents to be printed on \PS{} +printers, either directly or embedded in \AllTeX{} documents. It +includes facilities for directly integrating \TeX{} text and +mathematics with the graphics. (Knuth tells us that he uses nothing +but \MP{} for diagrams in text that he is writing.) + +Although \PDFLaTeX{} cannot ordinarily handle \PS{} graphics, the +output of \MP{} is sufficiently simple and regular that \PDFLaTeX{} +can handle it direct, using code borrowed from \CONTeXT{}~--- see +\Qref[question]{graphics in \PDFLaTeX{}}{Q-pdftexgraphics}. + +Much of \MP{}'s source code was copied from \MF{}'s sources, with +Knuth's permission. + +A mailing list discussing \MP{} is available; +\begin{narrowversion} % really non-hyper + subscribe via the \acro{TUG} \ProgName{mailman} interface at + \URL{http://lists.tug.org/metapost} +\end{narrowversion} +\begin{wideversion} % really hyper + subscribe via the % ! line break + \href{http://lists.tug.org/metapost}{\acro{TUG} \ProgName{mailman} interface}. +\end{wideversion} +The \acro{TUG} website also hosts a % ! line break +\href{http://tug.org/metapost.html}{\MP{} summary page}. + +\Question[Q-triptrap]{How can I be sure it's really \TeX{}?} + +\TeX{} (and \MF{} and \MP{}) are written in a +\begin{narrowversion} % really "non-hyper" + `literate' programming language called Web (\Qref{}{Q-lit}) +\end{narrowversion} +\begin{wideversion} + \Qref{`literate' programming}{Q-lit} language called Web +\end{wideversion} +which is designed to be portable across a wide range of computer +systems. How, then, is a new version of \TeX{} checked? + +Of course, any sensible software implementor will have his own suite +of tests to check that his software runs: those who port \TeX{} and +its friends to other platforms do indeed perform such tests. + +Knuth, however, provides a `conformance test' for both \TeX{} +(\texttt{trip}) and \MF{} (\texttt{trap}). +%%% Is there a similar one for \MP{}? +He characterises these as `torture tests': they are designed not to +check the obvious things that ordinary typeset documents, or font +designs, will exercise, but rather to explore small alleyways off the +main path through the code of \TeX{}. They are, to the casual reader, +pretty incomprehensible! + +Once an implementation of \TeX{} has passed its \texttt{trip} test, or an +implementation of \MF{} has passed its \texttt{trap} test, then it may +reasonably be distributed as a working version. + + +\Question[Q-y2k]{Are \TeX{} and friends Y2K compliant?} + +\begin{description} +\item[Crashing:] None of \TeX{}, \MF{} or \MP{} can themselves crash + due to any change whatever in the date of any sort. +\item[Timestamps:] In the original sources, a 2-digit year was + stored as the creation time for format files and that value is + printed in logfiles. These items should not be of general concern, + since the only use of the date format file is to produce the log + output, and the log file is designed for human readers only. + + Knuth announced in 1998 that implementators could + alter this code without fear of being accused of non-compliance. + Nearly all implementations that are being actively maintained had + been modified to generate 4-digit years in the format file and the + log, by the end of 1998. The original sources themselves have now + been modified so that 4-digit year numbers are stored. +\item[The \csx{year} primitive:] Certification of a \TeX{} + implementation (see \Qref[question]{trip/trap testing}{Q-triptrap}) + does not require that \csx{year} return a meaningful value (which + means that \TeX{} can, in principle, be implemented on platforms + that don't make the value of the clock available to user programs). + The \emph{\TeX{}book} (see + \Qref[question]{TeX-related books}{Q-books}) defines \csx{year} as + ``the current year of our Lord'', which is the only correct meaning + for \csx{year} for those implementations which can supply a + meaningful value, which is to say nearly all of them. + + In short, \TeX{} implementations should provide a value in \csx{year} + giving the 4-digit year Anno Domini, or the value 1776 if the + platform does not support a date function. + + Note that if the system itself fails to deliver a correct date to + \TeX{}, then \csx{year} will of course return an incorrect value. + \TeX{} cannot be considered Y2K compliant, in this sense, on a + system that is not itself Y2K compliant. +\item[Macros:] \TeX{} macros can in principle perform calculations on + the basis of the value of \csx{year}. +\begin{htmlversion} + The \Qref{LaTeX}{Q-latex} suite +\end{htmlversion} +\htmlignore + The \LaTeX{} suite (\Qref{}{Q-latex}) +\endhtmlignore + performs such calculations in a small number of places; the + calculations performed in the current (supported) version of \LaTeX{} are + known to be Y2K compliant. + + Other macros and macro packages should be individually checked. +\item[External software:] Software such as \acro{DVI} translators + needs to be individually checked. +\end{description} + + +\Question[Q-latex]{What is \LaTeX{}?} + +\LaTeX{} is a \TeX{} macro package, originally written by Leslie Lamport, that +provides a document processing system. \LaTeX{} allows markup to +describe the structure of a document, so that the user +need not think about presentation. By using document classes and +add-on packages, the same document can be produced in a variety of +different layouts. + +Lamport says that \LaTeX{} +``\emph{represents a balance between functionality and ease of use}''. +This shows itself as a continual conflict that leads to +the need for such things as \acro{FAQ}s: \LaTeX{} \emph{can} +meet most user requirements, but finding out \emph{how} is often +tricky. + +\Question[Q-latex2e]{What is \LaTeXe{}?} + +Lamport's last version of \LaTeX{} (\LaTeXo{}, last updated in 1992) +was superseded in 1994 by a new version (\LaTeXe{}) provided by +\nothtml{the \LaTeX{} team (}\Qref{the \LaTeX{} team}{Q-LaTeX3}\nothtml{)}. +\LaTeXe{} is now the only readily-available version of +\LaTeX{}, and draws together several threads of \LaTeX{} development +from the later days of \LaTeXo{}. + +\LaTeXe{} has several enhancements over \LaTeXo{}, but they were all +rather minor, with a view to continuity and stability rather than the +``big push'' that some had expected from the team. \LaTeXe{} +continues to this day to offer a compatibility mode in which most +files prepared for use with \LaTeXo{} will run (albeit with somewhat +reduced performance, and subject to bitter complaints in the log +file). Differences between \LaTeXe{} and \LaTeXo{} are +outlined in a series of `guide' files that are available in every +\LaTeX{} distribution (the same directory also contains ``news'' about +each new release of \LaTeXe{}). +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\LaTeX{} guides and news]\CTANref{latexdoc} +\end{ctanrefs} + + +\nothtml{\begingroup\ifboldmathavail\boldmath\fi} +\Question[Q-latexpronounce]{How should I pronounce ``\LaTeX{}(\twee{})''?} +\nothtml{\afterquestion} + +Lamport never recommended how one should pronounce \LaTeX{}, but a lot +of people pronounce it `Lay \TeX{}' or perhaps `Lah \TeX{}' (with +\TeX{} pronounced as the program itself; see +\Qref[question]{the rules for TeX}{Q-TeXpronounce}). It is definitely +\emph{not} to be pronounced in the same way as the rubber-tree gum. + +The `epsilon' in `\LaTeXe{}' is supposed to be suggestive of a small +improvement over the old \LaTeXo{}. Nevertheless, most people +pronounce the name as `\LaTeX{}-two-ee'. + +\Question[Q-plainvltx]{Should I use Plain \TeX{} or \LaTeX{}?} + +There's no straightforward answer to this question. Many people swear +by Plain \TeX{}, and produce highly respectable documents using it +(Knuth is an example of this, of course). But equally, many people +are happy to let someone else take the design decisions for them, +accepting a small loss of flexibility in exchange for a saving of +brain power. + +The arguments around this topic can provoke huge amounts of noise and +heat, without offering much by way of light; your best bet is to find +out what those around you are using, and to go with the crowd. Later +on, you can always switch your allegiance; don't bother about it. + +If you are preparing a manuscript for a publisher or journal, ask them +what markup they want before you +develop your own; many big publishers have developed their own +\AllTeX{} styles for journals and books, and insist that authors stick +closely to their markup. + +\Question[Q-LaTeXandPlain]{How does \LaTeX{} relate to Plain \TeX{}?} + +\LaTeX{} is a program written in the programming language \TeX{}. (In +the same sense, any \LaTeX{} document is also a program, which is +designed to run `alongside', or `inside' \LaTeX{}, whichever metaphor +you prefer.) + +Plain \TeX{} is also a program written in the programming language +\TeX{}. + +Both exist because writing your documents in `raw' \TeX{} would +involve much reinventing of wheels for every document. They both +serve as convenient aids to make document writing more pleasant: +\LaTeX{} is a far more extensive aid. + +\LaTeX{} is close to being a superset of Plain \TeX{}. Many documents +designed for Plain \TeX{} will work with \LaTeX{} with no more than +minor modifications (though some will require substantial work). + +Interpretation of any \AllTeX{} program involves some data-driven +elements, and \LaTeX{} has a wider range of such elements than does +Plain \TeX{}. As a result, the mapping from \LaTeX{} to Plain \TeX{} +is far less clear than that in the other direction. + +\Question[Q-context]{What is \CONTeXT{}?} + +\href{http://www.pragma-ade.com/}{\CONTeXT{}} is a macro package +developed by Hans Hagen, originally to +serve the needs of his (Dutch) firm Pragma. It was designed with the +same general-purpose aims as \LaTeX{}, but (being younger) reflects +much more recent thinking about the structure of markup, etc. In +particular, \CONTeXT{} can customise its markup to an +author's language (customising modules for Dutch, English and German +are provided, at present). + +\CONTeXT{} is well integrated, in all of its structure, +with the needs of hypertext markup, and in particular with the +facilities offered by \Qref*{\PDFTeX{}}{Q-pdftex}. +The default installation employs a version of \PDFTeX{} built with the +\Qref*{\eTeX{} extensions}{Q-NTS}, which allows further flexibility. + +\CONTeXT{} doesn't yet have quite such a large developer community as +does \LaTeX{}, but those developers who are active seem to have +prodigious energy. Some support is available via a % ! line break +\href{http://contextgarden.net/}{\acro{WIKI} site}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\CONTeXT{} distribution]\CTANref{context} +\end{ctanrefs} + +\nothtml{\begingroup\ifboldmathavail\boldmath\fi} +\Question[Q-AMSpkg]{What are the \acro{AMS} packages (\AMSTeX{}, \emph{etc}.)?} +\nothtml{\afterquestion} + +\AMSTeX{} is a \TeX{} macro package, originally written by Michael Spivak for +the American Mathematical Society (\acro{AMS}) during 1983--1985 and +is described in the book \nothtml{``The Joy of \TeX{}'' (}% +\htmlonly{``}\Qref{The Joy of \TeX{}}{Q-books}\latexhtml{)}{''}. +It is based on Plain \TeX{}, and provides many +features for producing more professional-looking maths formulas with +less burden on authors. It pays attention to the finer details of +sizing and positioning that mathematical publishers care about. The +aspects covered include multi-line displayed equations, equation +numbering, ellipsis dots, matrices, double accents, multi-line +subscripts, syntax checking (faster processing on initial +error-checking \TeX{} runs), and other things. + +As \LaTeX{} increased in popularity, authors asked to submit papers to +the \acro{AMS} in \LaTeX{}, and so the \acro{AMS} developed +\AMSLaTeX{}, which is a +collection of \LaTeX{} packages and classes that offer authors most of +the functionality of \AMSTeX{}. +The \acro{AMS} no longer recommends the use of \AMSTeX{}, and urges +its users to use \AMSLaTeX{} instead. +\checked{RAB}{1994/11/12} % edited by RF; input from Michael Downes, too +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\AMSTeX{} distribution]\CTANref{amstex} +\item[\nothtml{\rmfamily}\AMSLaTeX{} distribution]\CTANref{amslatex} +\end{ctanrefs} + +\Question[Q-eplain]{What is \Eplain{}?} + +The +\href{http://www.ccs.neu.edu/~dorai/eplain/index.html}{\Eplain{}} +macro package expands on and extends the definitions in Plain \TeX{}. +\Eplain{} is not intended to provide ``generic typesetting +capabilities'', as do \LaTeX{} or % beware line break +\nothtml{Texinfo (}\Qref{Texinfo}{Q-texinfo}\nothtml{)}. Instead, it +defines macro tools that should be useful whatever commands you choose +to use when you prepare your manuscript. + +For example, \Eplain{} does not have a command \csx{section}, +which would format section headings in an ``appropriate'' way, as +\LaTeX{}'s \csx{section} does. The philosophy of \Eplain{} is that +some people will always need or want to go beyond the macro designer's +idea of ``appropriate''. Such canned macros are fine~--- as long as you +are willing to accept the resulting output. If you don't like the +results, or if you are trying to match a different format, you are out +of luck. + +On the other hand, almost everyone would like capabilities such as +cross-referencing by labels, so that you don't have to put actual page +numbers in the manuscript. Karl Berry, the author of \Eplain{}, says +he is not aware of any generally available macro packages that do +not force their typographic style on an author, and yet provide +such capabilities. + +\Eplain{} documentation is % ! line break +\href{http://tug.org/docs/html/eplain}{available online}, and there's +also a mailing list~--- sign up, or browse the list archives, via +\URL{http://tug.org/mailman/listinfo/tex-eplain} +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\Eplain{} distribution]\CTANref{eplain} +\end{ctanrefs} + +\Question[Q-lollipop]{What is Lollipop?} + +Lollipop is a macro package written by Victor Eijkhout; it was used in +the production of his book ``\emph{\TeX{} by Topic}'' (see +\Qref[question]{\AllTeX{} Tutorials}{Q-tutorials}). The manual says of +it: +\begin{quote} + Lollipop is `\TeX{} made easy'. Lollipop is a macro package that + functions as a toolbox for writing \TeX{} macros. It was my + intention to make macro writing so easy that implementing a fully + new layout in \TeX{} would become a matter of less than an hour for + an average document, and that it would be a task that could be + accomplished by someone with only a very basic training in \TeX{} + programming. + + Lollipop is an attempt to make structured text formatting available + for environments where previously only \WYSIWYG{} packages could be + used because adapting the layout is so much more easy with them than + with traditional \TeX{} macro packages. +\end{quote} + +The manual goes on to talk of ambitions to ``capture some of the +\LaTeX{} market share''; it's a very witty package, but little sign of +\htmlignore +it taking over from \LaTeX{} is detectable\dots\@ +\endhtmlignore +\begin{htmlversion} +it taking over from \LaTeX{} is detectable\dots{} +\end{htmlversion} +An article about Lollipop appeared in \TUGboat{} 13(3). +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Lollipop distribution]\CTANref{lollipop} +\end{ctanrefs} + +\Question[Q-texinfo]{What is Texinfo?} + +Texinfo is a documentation system that uses one source file to produce +both on-line information and printed output. So instead of writing +two different documents, one for the on-line help and the other for a +typeset manual, you need write only one document source file. When +the work is revised, you need only revise one document. You can read +the on-line information, known as an ``Info file'', with an Info +documentation-reading program. By convention, Texinfo source file +names end with a |.texi| or |.texinfo| extension. You can write and +format Texinfo files into Info files within \acro{GNU} +\ProgName{emacs}, and read them using the \ProgName{emacs} Info +reader. You can also format Texinfo files into Info files using +\ProgName{makeinfo} and read them using \ProgName{info}, so you're not +dependent on \ProgName{emacs}. The distribution includes a +\ProgName{Perl} script, \ProgName{texi2html}, that will convert +Texinfo sources into \acro{HTML}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Texinfo distribution]\CTANref{texinfo} +\end{ctanrefs} + +\Question[Q-whyfree]{If \TeX{} is so good, how come it's free?} + +It's free because Knuth chose to make it so. He is nevertheless +apparently happy +that others should earn money by selling \TeX{}-based services and +products. While several valuable \TeX{}-related tools and packages are +offered subject to restrictions imposed by the \acro{GNU} General Public +Licence (`Copyleft'), \TeX{} itself is not subject to Copyleft. + +There are commercial versions of \TeX{} available; for some users, +it's reassuring to have paid support. What is more, some of the +commercial implementations +have features that are not available in free versions. (The +reverse is also true: some free implementations have features +not available commercially.) + +This \acro{FAQ} concentrates on `free' distributions of \TeX{}, but we +do at least list the \Qref*{major vendors}{Q-commercial}. + +\Question[Q-TeXfuture]{What is the future of \TeX{}?} + +Knuth has declared that he will do no further development of \TeX{}; +he will continue to fix any bugs that are reported to him (though +bugs are rare). This decision was made soon after +\TeX{} version~3.0 was released; at each bug-fix release +the version number acquires one more digit, so that it tends to the +limit~\ensuremath{\pi} (at the time of writing, Knuth's latest release is version +3.141592). Knuth wants \TeX{} to be frozen at version~\ensuremath{\pi} when he +dies; thereafter, no further changes may be made to Knuth's source. +(A similar rule is applied to \MF{}; its version number tends to the +limit~\ensuremath{e}, and currently stands at 2.718.) + +Knuth explains his decision, and exhorts us all to respect it, in a +paper originally published in \TUGboat{} 11(4) (and reprinted in the +% ! line break +\href{http://www.ntg.nl/maps/pdf/5_34.pdf}{NTG journal MAPS}). + + +There are projects (some of them long-term +projects: see, for example, +\Qref[question]{the LaTeX3 project}{Q-LaTeX3}) +%\Qref[and]{and the SGML work}{Q-SGML}) +to build substantial +new macro packages based on \TeX{}. For the even longer term, there +are various projects to build a \emph{successor} to \TeX{}; see +\Qref[questions]{the Omega project}{Q-omega} and \Qref[]{NTS}{Q-NTS}. + +\Question[Q-readtex]{Reading \AllTeX{} files} + +So you've been sent a \TeX{} file: what are you going to do with it? +Well, the good news is that \TeX{} systems are available, free, for +most sorts of computer; the bad news is that you need a pretty +complete \TeX{} system even to read a single file, and complete \TeX{} +systems are pretty large. + +\TeX{} is a typesetting system that arose from a publishing project (see +\htmlonly{``}\Qref[question]{what is \TeX{}}{Q-whatTeX}\htmlonly{''}), +and its basic source is available free from its author. However, at +its root, it is \emph{just} a typesetting engine: even to view or to +print the typeset output, you will need anciliary programs. In short, +you need a \TeX{} \emph{distribution}~--- a collection of +\TeX{}-related programs tailored to your operating system: for details +of the sorts of things that are available, see +% beware line break +\htmlonly{``}\Qref[question]{\TeX{} distributions}{Q-TeXsystems}\htmlonly{''} +or +% beware line break +\htmlonly{``}\Qref[\htmlonly]{commercial \TeX{} distributions}{Q-commercial}\latexhtml{ (for commercial distributions)}{''}. + +But beware~--- \TeX{} makes no attempt to look like the sort of +\WYSIWYG{} system you're probably used to (see +% beware line wrap +\htmlonly{``}\Qref[question]{why is \TeX{} not \WYSIWYG{}}{Q-notWYSIWYG}\htmlonly{''}): +while many modern versions of \TeX{} have a compile--view cycle that +rivals the best commercial word processors in its responsiveness, what +you type is usually \emph{markup}, which typically defines a logical +(rather than a visual) view of what you want typeset. + +However, in this context markup proves to be a blessing in disguise: a +good proportion of most \TeX{} documents is immediately readable in an +ordinary text editor. So, while you need to install a considerable +system to attain the full benefits of the \TeX{} document that you +were sent, the chances are you can understand quite a bit of it with +nothing more than the ordinary tools you already have on your computer. + +\Question[Q-notWYSIWYG]{Why is \TeX{} not a \WYSIWYG{} system?} + +\WYSIWYG{} is a marketing term (``What you see is what you get'') for +a particular style of text processor. \WYSIWYG{} systems are +characterised by two principal claims: that you type what you want to +print, and that what you see on the screen as you type is a close +approximation to how your text will finally be printed. + +The simple answer to the question is, of course, that \TeX{} was +conceived long before the marketing term, at a time when the marketing +imperative wasn't perceived as significant. However, that was a long +time ago: why has nothing been done with the ``wonder text processor'' +to make it fit with modern perceptions? + +There are two answers to this. First, the simple ``things \emph{have} +been done'' (but they've not taken over the \TeX{} world); and second, +``there are philosophical reasons why the way \TeX{} has developed is +ill-suited to the \WYSIWYG{} style''. +Indeed, there is a fundamental problem with applying \WYSIWYG{} techniques +to \TeX{}: the complexity of \TeX{} makes it hard to get the +equivalent of \TeX{}'s output without actually running \TeX{}. + +A celebrated early system offering ``\WYSIWYG{} using \TeX{}'' came from the +Vor\TeX{} project: a pair of (early) Sun workstations worked in +tandem, one handling the user interface while the other beavered away +in the background typesetting the result. Vor\TeX{} was quite +impressive for its time, but the two workstations combined had hugely less +power than the average sub-thousand dollar Personal Computer +nowadays, and its code has not proved portable (it never even made the +last `great' \TeX{} version change, at the turn of the 1990s, to +\TeX{} version 3). Modern systems that are similar in +their approach are Lightning Textures (an extension of +Blue Sky's original \TeX{} system for the Macintosh), and Scientific +Word (which can also cooperate with a computer algebra system); both +these systems are \nothtml{commercially available (}% +\Qref{commercially available}{Q-commercial}\nothtml{)}. + +The issue has of recent years started to attract attention from \TeX{} +developers, and several interesting projects addressing the +\nothtml{``\TeX{} document preparation environment'' (}% beware line breaks +\htmlonly{``}\Qref{\TeX{} document preparation environment}{Q-WYGexpts}\latexhtml{)}{''} +are in progress. + +Nevertheless, the \TeX{} world has taken a long time to latch onto the +idea of \WYSIWYG{}. +Apart from simple arrogance (``we're better, and have no need to +consider the petty doings of the commercial word processor market''), +there is a real conceptual difference between the word processor model +of the world and the model \LaTeX{} and \CONTeXT{} employ~--- the idea of +``markup''. ``Pure'' markup expresses a logical model of a document, +where every object within the document is labelled according to what +it is rather than how it should appear: appearance is deduced from the +properties of the type of object. Properly applied, markup can +provide valuable assistance when it comes to re-use of documents. + +Established \WYSIWYG{} systems find the expression of this sort of +structured markup difficult; however, markup \emph{is} starting to +appear in the lists of the commercial world's requirements, for two +reasons. First, an element of markup helps impose style on a +document, and commercial users are increasingly obsessed with +uniformity of style; and second, the increasingly pervasive use of +\acro{XML}-derived document archival formats demands it. The same +challenges must needs be addressed by \TeX{}-based document +preparation support schemes, so we are +observing a degree of confluence of the needs of the two communities: +interesting times may be ahead of us. + +\Question[Q-TUG*]{\TeX{} User Groups} + +There has been a \TeX{} User Group since very near the time \TeX{} +first appeared. That first group, \acro{TUG}, is still active and its +journal \textsl{TUGboat} continues in regular publication +with articles about \TeX{}, \MF{} and related technologies, and about +document design, processing and production. \acro{TUG} holds a yearly +conference, whose proceedings are published in \textsl{TUGboat}. + +\acro{TUG}'s web site is a valuable resource for all sorts of +\TeX{}-related matters, such as details of \TeX{} software, and lists +of \TeX{} vendors and \TeX{} consultants. Back articles from +\textsl{TUGboat} are slowly (subject to copyright issues, etc.\@) +making their way to the site, too. + +Some time ago, \acro{TUG} established a ``technical council'', whose +task was to oversee the development of \TeX{}nical projects. Most +such projects nowadays go on their way without any support from +\acro{TUG}, but \acro{TUG}'s web site lists its +\htmlignore +\ifpdf +\href{http://www.tug.org/twg.html}{Technical Working Groups (\acro{TWG}s)}. +\else +Technical Working Groups (\acro{TWG}s: see +\URL{http://www.tug.org/twg.html}). +\fi +\endhtmlignore +\begin{htmlversion} +\href{http://www.tug.org/twg.html}{Technical Working Groups (\acro{TWG}s)}. +\end{htmlversion} + +\acro{TUG} has a reasonable claim to be considered a world-wide +organisation, but there are many national and regional user groups, +too; \acro{TUG}'s web site maintains a list of +\htmlignore +\ifpdf +\href{http://www.tug.org/lugs.html}{``Local User Groups'' (\acro{LUG}s)}. +\else +``local user groups'' (\acro{LUG}s: see +\URL{http://www.tug.org/lugs.html}). +\fi +\endhtmlignore +\begin{htmlversion} +\href{http://www.tug.org/lugs.html}{``local user groups'' (\acro{LUG}s)}. +\end{htmlversion} + +Contact \acro{TUG} itself via: +\begin{quote} + \TeX{} Users Group\\ + 1466 NW Front Avenue, Suite 3141\\ + Portland, OR 97209\\ + \acro{USA}\\[.25\baselineskip] + Tel: +1 503-223-9994\\ + Fax: +1 503-223-3960\\ + Email: \mailto{tug@mail.tug.org}\\ + Web: \URL{http://www.tug.org/} +\end{quote} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Documentation and Help} + +\Question[Q-books]{Books on \TeX{} and its relations} + +While Knuth's book is the definitive reference for \TeX{}, there are +other books covering \TeX{}: +\begin{booklist} +\item[The \TeX{}book]by Donald Knuth (Addison-Wesley, 1984, + \ISBN{0-201-13447-0}, paperback \ISBN{0-201-13448-9}) +\item[A Beginner's Book of \TeX{}]by Raymond Seroul and Silvio Levy, + (Springer Verlag, 1992, \ISBN{0-387-97562-4}) +\item[\TeX{} by Example: A Beginner's Guide]by Arvind Borde + (Academic Press, 1992, \ISBN{0-12-117650-9}~--- now out of print) +\item[Introduction to \TeX{}]by Norbert Schwarz (Addison-Wesley, + 1989, \ISBN{0-201-51141-X}~--- now out of print) +\item[A Plain \TeX{} Primer]by Malcolm Clark (Oxford University + Press, 1993, ISBNs~0-198-53724-7 (hardback) and~0-198-53784-0 + (paperback)) +\item[A \TeX{} Primer for Scientists]by Stanley Sawyer and Steven + Krantz (CRC Press, 1994, \ISBN{0-849-37159-7}) +\item[\TeX{} by Topic]by Victor Eijkhout (Addison-Wesley, 1992, + \ISBN{0-201-56882-9}~--- now out of print, but see + \Qref[question]{\AllTeX{} tutorials}{Q-tutorials}) +\item[\TeX{} for the Beginner]by Wynter Snow (Addison-Wesley, 1992, + \ISBN{0-201-54799-6}) +\item[\TeX{} for the Impatient]by Paul W.~Abrahams, Karl Berry and + Kathryn A.~Hargreaves (Addison-Wesley, 1990, + \ISBN{0-201-51375-7}~--- now out of print, but see + \Qref[question]{\AllTeX{} tutorials}{Q-tutorials}) +\item[\TeX{} in Practice]by Stephan von Bechtolsheim (Springer + Verlag, 1993, 4 volumes, \ISBN{3-540-97296-X} for the set, or +% nos in brackets are for German distribution (Springer Verlag, Berlin) + Vol.~1: \ISBN{0-387-97595-0}, % (3-540-97595-0) + Vol.~2: \ISBN{0-387-97596-9}, % (3-540-97596-9) + Vol.~3: \ISBN{0-387-97597-7}, and % (3-540-97597-7) + Vol.~4: \ISBN{0-387-97598-5})% (3-540-97598-5) +\htmlignore +\item[\TeX{}: Starting from \sqfbox{1}\,\footnotemark]% +\footnotetext{That's `Starting from Square One'}% +\endhtmlignore +\begin{htmlversion} +\item[\TeX{}: Starting from Square One] +\end{htmlversion} + by Michael Doob (Springer + Verlag, 1993, \ISBN{3-540-56441-1}~--- now out of print) +\item[The Joy of \TeX{}]by Michael D.~Spivak (second edition, + \acro{AMS}, 1990, \ISBN{0-821-82997-1}) +\item[The Advanced \TeX{}book]by David Salomon (Springer Verlag, 1995, + \ISBN{0-387-94556-3}) +\end{booklist} +A collection of Knuth's publications about typography is also available: +\begin{booklist} +\item[Digital Typography]by Donald Knuth (CSLI and Cambridge + University Press, 1999, \ISBN{1-57586-011-2}, paperback + \ISBN{1-57586-010-4}). +\end{booklist} +\nothtml{\noindent}and in late 2000, a ``Millennium Boxed Set'' of all +5 volumes of Knuth's ``Computers and Typesetting'' series (about +\TeX{} and \MF{}) was published by Addison Wesley: +\begin{booklist} +\item[Computers \& Typesetting, Volumes A--E Boxed Set]by Donald Knuth + (Addison-Wesley, 2001, \ISBN{0-201-73416-8}). +\end{booklist} +\checked{rf}{2000/02/12 -- http://cseng.aw.com/book/0,3828,0201734168,00.html} +For \LaTeX{}, see: +\begin{booklist} +\item[\LaTeX{}, a Document Preparation System]by Leslie Lamport + (second edition, Addison Wesley, 1994, \ISBN{0-201-52983-1}) +\item[Guide to \LaTeX{}]Helmut Kopka and Patrick W.~Daly (fourth + edition, Addison-Wesley, 2004, \ISBN{0-321-17385-6}) +\item[The \LaTeX{} Companion]by Frank Mittelbach, Michel Goossens, + Johannes Braams, David Carlisle and Chris Rowley (second edition, + Addison-Wesley, 2004, \ISBN{0-201-36299-6}) +\item[The \LaTeX{} Graphics Companion:]% + \emph{Illustrating documents with \TeX{} and \PS{}} by Michel + Goossens, Sebastian Rahtz and Frank Mittelbach (Addison-Wesley, + 1997, \ISBN{0-201-85469-4}) +\item[The \LaTeX{} Web Companion:]% + \emph{Integrating \TeX{}, \acro{HTML} and \acro{XML}} by Michel + Goossens and Sebastian Rahtz (Addison-Wesley, 1999, \ISBN{0-201-43311-7}) +\item[\TeX{} Unbound:]% + \emph{\LaTeX{} and \TeX{} strategies for fonts, graphics, and more} + by Alan Hoenig (Oxford University Press, 1998, \ISBN{0-19-509685-1} + hardback, \ISBN{0-19-509686-X} paperback) +\item[Math into \LaTeX{}:]\emph{An Introduction to \LaTeX{} and \AMSLaTeX{}} + by George Gr\"atzer (third edition Birkh\"auser and Springer Verlag, + 2000, \ISBN{0-8176-4431-9}, \ISBN{3-7643-4131-9}) +\checked{RF}{2001/01/16} +%% gr\"atzer's home page +%% http://www.maths.umanitoba.ca/homepages/gratzer.html/LaTeXBooks.html + + A list of errata for the first printing is available from: + \URL{http://www.springer-ny.com/catalog/np/jan99np/0-387-98708-8.html} +\item[First Steps in \LaTeX{}]by George Gr\"atzer (Birkh\"auser, 1999, + \ISBN{0-8176-4132-7}) +\item[\LaTeX{}: Line by Line:]% + \emph{Tips and Techniques for Document Processing} + by Antoni Diller (second edition, John Wiley \& Sons, + 1999, \ISBN{0-471-97918-X}) +\item[\LaTeX{} for Linux:]\emph{A Vade Mecum} + by Bernice Sacks Lipkin (Springer-Verlag, 1999, + \ISBN{0-387-98708-8}, second printing) +\end{booklist} +A sample of George Gr\"atzer's ``Math into \LaTeX{}'', in Adobe +Acrobat format, and example files +%for von Bechtolsheim's ``\TeX{} in Practice'', +for the three \LaTeX{} Companions, and for +Gr\"atzer's ``First Steps in \LaTeX{}'', are all available on +\acro{CTAN}. + +There's a nicely-presented list of of ``recommended books'' to be had +on the web: \URL{http://www.macrotex.net/texbooks/} + +The list of \MF{} books is rather short: +\begin{booklist} +\item[The \MF{}book]by Donald Knuth (Addison Wesley, 1986, + \ISBN{0-201-13445-4}, \ISBN{0-201-52983-1} paperback) +\end{booklist} +Alan Hoenig's `\textsl{\TeX{} Unbound}' includes some discussion and +examples of using \MF{}. + +A book covering a wide range of topics (including installation and +maintenance) is: +\begin{booklist} +\item[Making \TeX{} Work]by Norman Walsh (O'Reilly and Associates, + Inc, 1994, \ISBN{1-56592-051-1}) +\end{booklist} +The book is decidedly dated, and is now out of print, but a copy is +available via |sourceforge| and on \acro{CTAN}, +and we list it under ``\Qref*{tutorials}{Q-tutorials}''. + + +This list only covers books in English: notices of new books, or +warnings that books are now out of print are always welcome. However, +this \acro{FAQ} does \emph{not} carry reviews of current published material. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}First Steps in \LaTeX{}]\CTANref{gfs} +\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}\LaTeX{} Companion]\CTANref{tlc2} +\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}\LaTeX{} Graphics Companion]\CTANref{lgc} +\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}\LaTeX{} Web Companion]\CTANref{lwc} +%\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}\TeX{} in Practice]\CTANref{tip} +\item[\nothtml{\rmfamily}Sample of \nothtml{\upshape}Math into \LaTeX{}]\CTANref{mil} +\end{ctanrefs} + +\Question[Q-typebooks]{Books on Type} + + The following is a partial listing of books on typography in general. +Of these, Bringhurst seems to be the one most often recommended. +\begin{booklist} +\item[The Elements of Typographic Style]by Robert Bringhurst + (Hartley \& Marks, 1992, \ISBN{0-88179-033-8}) +\item[Finer Points in the Spacing \& Arrangement of Type]by Geoffrey Dowding + (Hartley \& Marks, 1996, \ISBN{0-88179-119-9}) +\item[The Thames \& Hudson Manual of Typography]by Ruari McLean + (Thames \& Hudson, 1980, \ISBN{0-500-68022-1}) +\item[The Form of the Book]by Jan Tschichold + (Lund Humphries, 1991, \ISBN{0-85331-623-6}) +\item[Type \& Layout]by Colin Wheildon + (Strathmore Press, 1995, \ISBN{0-9624891-5-8}) +\item[The Design of Books]by Adrian Wilson + (Chronicle Books, 1993, \ISBN{0-8118-0304-X}) +\item[Optical Letter Spacing]by David Kindersley and Lida Cardozo Kindersley + % ! line break + (\href{http://www.kindersleyworkshop.co.uk/}{The Cardozo Kindersley Workshop} + 2001, \ISBN{1-874426-139}) +\end{booklist} + + There are many catalogues of type specimens but the following books provide +a more interesting overall view of types in general and some of their history. +\begin{booklist} +\item[Alphabets Old \& New]by Lewis F.~Day + (Senate, 1995, \ISBN{1-85958-160-9}) +\item[An Introduction to the History of Printing Types]by Geoffrey Dowding + (British Library, 1998, UK \ISBN{0-7123-4563-9}; USA \ISBN{1-884718-44-2}) +\item[The Alphabet Abecedarium]by Richar A.~Firmage + (David R.~Godine, 1993, \ISBN{0-87923-998-0}) +\item[The Alphabet and Elements of Lettering]by Frederick Goudy + (Dover, 1963, \ISBN{0-486-20792-7}) +\item[Anatomy of a Typeface]by Alexander Lawson + (David R.~Godine, 1990, \ISBN{0-87923-338-8}) +\item[A Tally of Types]by Stanley Morison + (David R.~Godine, 1999, \ISBN{1-56792-004-7}) +\item[Counterpunch]by Fred Smeijers + (Hyphen, 1996, \ISBN{0-907259-06-5}) +\item[Treasury of Alphabets and Lettering]by Jan Tschichold + (W.~W.~Norton, 1992, \ISBN{0-393-70197-2}) +\item[A Short History of the Printed Word]by Warren Chappell and + Robert Bringhurst (Hartley \& Marks, 1999, \ISBN{0-88179-154-7}) +\end{booklist} + + The above lists are limited to books published in English. Typographic +styles are somewhat language-dependent, and similarly the `interesting' fonts +depend on the particular writing system involved. + +\Question[Q-whereFAQ]{Where to find \acro{FAQ}s} + +Bobby Bodenheimer's article, from which this \acro{FAQ} was developed, used +to be posted (nominally monthly) to newsgroup +\Newsgroup{comp.text.tex}. The (long +obsolete) last posted copy of that article is kept on \acro{CTAN} for +auld lang syne. + +\htmlignore +\begin{pdfversion} +A version of the \href{http://www.tex.ac.uk/faq}{present \acro{FAQ}} +may be browsed via the World-Wide Web, and its sources +\end{pdfversion} +\begin{dviversion} +A version of the present \acro{FAQ} may be browsed via the World-Wide Web, at +\acro{URL} \URL{http://www.tex.ac.uk/faq}, and its sources +\end{dviversion} +\endhtmlignore +\begin{htmlversion} +The sources of the present \acro{FAQ} +\end{htmlversion} +are available from \acro{CTAN}. + +Another excellent information source, available in English, is the +\href{http://tex.loria.fr}{\AllTeX{} navigator}. + +Both the Francophone \TeX{} usergroup Gutenberg and the Czech/Slovak +usergroup CS-TUG have published translations of this \acro{FAQ}, with +extensions appropriate to their languages. + +Herbert Vo\ss{}'s excellent % beware line break +\href{http://texnik.de/}{\LaTeX{} tips and tricks} +provides excellent advice on most topics one might imagine (though +it's not strictly a \acro{FAQ})~--- highly recommended for most +ordinary mortals' use. + +The Open Directory Project (\acro{ODP}) maintains a list of sources of +\AllTeX{} help, including \acro{FAQ}s. View the \TeX{} area at +\URL{http://dmoz.org/Computers/Software/Typesetting/TeX/} + +Other non-English \acro{FAQ}s are available: +\begin{booklist} +\item[German]Posted regularly to \Newsgroup{de.comp.tex}, and archived + on \acro{CTAN}; the \acro{FAQ} also appears at + \URL{http://www.dante.de/faq/de-tex-faq/} +\item[French]Posted regularly to \Newsgroup{fr.comp.text.tex}, and + archived on \acro{CTAN}. +\item[Spanish]See \URL{http://apolo.us.es/CervanTeX/FAQ/} +\item[Czech]See \URL{http://www.fi.muni.cz/cstug/csfaq/} +\end{booklist} +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Dante \acro{FAQ}]\CTANref{dante-faq} +\item[\nothtml{\rmfamily}French \acro{FAQ}]\CTANref{french-faq} +\item[\nothtml{\rmfamily}Sources of this \acro{FAQ}]\CTANref{faq} +\item[\nothtml{\rmfamily}Obsolete \texttt{comp.text.tex} \acro{FAQ}]% + \CTANref{TeX-FAQ} +\end{ctanrefs} + +\Question[Q-maillists]{Where to get help} + +First~\dots{} read any \acro{FAQ} you can find. (Which is what you're +doing now, isn't it?) + +An ambitious \acro{FAQ}-like project to collect all \TeX{}-related +information into one place is under way at +\URL{http://algaba.sdf-eu.org/TeEncontreX/TeEncontreX.html}; as with any +\acro{FAQ}, this project needs the support and help of all users~--- +as yet, it carries an incomplete set of answers to potential +questions. The sources of the package (including a complete set of +\texttt{html} files) are available on \acro{CTAN} + +The tutorials and other on-line documentation (see +\Qref[question]{\AllTeX{} Tutorials}{Q-tutorials}) can get you started but +for more in-depth understanding you should get and read at least one of the +many good books on the subject +(see \Qref[question]{\TeX{}-related books}{Q-books}). The definitive source for +\AllTeX{} is the source code itself, but that is not something to be +approached lightly (if at all). + + If you are seeking a particular package or program, look on your own +system first: you might already have it~--- the better \TeX{} +distributions contain a wide range of supporting material. + + If you have access to the internet, and in particular newsgroups, +then \AllTeX{} discussions, including \MF{} and \MP{}, are on +\Newsgroup{comp.text.tex}. +It is best to +spend a little time familiarising yourself with the current threads before +asking a question. The group is normally very responsive but asking a question +that has just been answered is likely to dampen people's enthusiasm to help +you. + +\URL{http://groups.google.com/} archives Usenet news discussions, and +\Newsgroup{comp.text.tex} may be found there. Google's archive now +goes impressively far back in time (before \Newsgroup{comp.text.tex} +even existed), and it is a powerful resource for tracking down that +recommendation that no-one can now remember. Google also allows +you to post your own questions or followups. + +The few people who can't use the World Wide Web, can't access Usenet +news, but can use electronic mail can seek help through mailing lists. + +The \TeX{}hax digest is nowadays operated as a +``\ProgName{MailMan}'' mailing list: its members now have the option +of receiving messages in `real time', and answers are more quickly +forthcoming than ever they were in the past. Subscribe via +\URL{http://www.tug.org/mailman/listinfo/texhax}; archives back to +April 2000 are available via the same link, and earlier +digests are available on \acro{CTAN}. + +Many mailing lists exist that cover some small part of the \TeX{} +arena. A good source of pointers is \URL{http://www.tug.org/} + +Announcements of \TeX{}-related installations on the \acro{CTAN} +archives are sent to the mailing list \texttt{ctan-ann}. Subscribe +to the list via its \ProgName{MailMan} web-site +\URL{https://sun.dante.de/mailman/listinfo/ctan-ann}; list archives +are available at the same address. The list archives may also be +browsed via \URL{http://www.mail-archive.com/ctan-ann@dante.de/}, and +an \acro{RSS} feed is also available: +\URL{http://www.mail-archive.com/ctan-ann@dante.de/maillist.xml} + +Issues related to \MF{} (and, increasingly, \MP{}) are discussed on +the \texttt{metafont} mailing list; subscribe by sending a message +`\texttt{subscribe metafont <\emph{your name}>}' to \mailto{listserv@ens.fr} + +A few other \TeX{}-related lists may be accessed via +\mailto{listserv@urz.uni-heidelberg.de}. Send a message containing +the line `\texttt{help}' to this address, or browse +\URL{http://listserv.uni-heidelberg.de/cgi-bin/wa} +\begin{ctanrefs} +\item[\nothtml{\rmfamily}TeEncontreX sources, etc.]\CTANref{teencontrex} +\item[\nothtml{\rmfamily}\TeX{}hax digests]Browse \CTANref{texhax} +\end{ctanrefs} + +\Question[Q-askquestion]{How to ask a question} + +You want help from the community at large; you've decided where you're +going to \Qref*{ask your question}{Q-maillists}, but how do you +phrase it? + +Excellent ``general'' advice (how to ask questions of anyone) is +contained in +%beware line break +\href{http://catb.org/~esr/faqs/smart-questions.html}{Eric Raymond's article on the topic}. +Eric's an extremely self-confident person, and this comes through in +his advice; but his guidelines are very good, even for us in the +un-self-confident majority. It's important to remember that you don't +have a right to advice from the world, but that if you express +yourself well, you will usually find someone who will be pleased to +help. + +So how do you express yourself in the \AllTeX{} world? There aren't +any comprehensive rules, but a few guidelines may help in the +application of your own common sense. +\begin{itemize} +\item Make sure you're asking the right people. Don't ask in a \TeX{} + forum about printer device drivers for the \ProgName{Foobar} + operating system. Yes, \TeX{} users need printers, but no, \TeX{} + users will typically \emph{not} be \ProgName{Foobar} systems + managers. + + Similarly, avoid posing a question in a language that the majority + of the group don't use: post in Ruritanian to + \Newsgroup{de.comp.text.tex} and you may have a long wait before a + German- and Ruritanian-speaking \TeX{} expert notices your + question. +\item If your question is (or may be) \TeX{}-system-specific, report + what system you're using, or intend to use: ``I can't install + \TeX{}'' is as good as useless, whereas ``I'm trying to install the + \ProgName{mumbleTeX} distribution on the \ProgName{Grobble} + operating system'' gives all the context a potential respondent + might need. Another common situation where this information is + important is when you're having trouble installing something new in + your system: ``I want to add the \Package{glugtheory} package to my + \ProgName{mumbleTeX v12.0} distribution on the \ProgName{Grobble 2024} + operating system''. +\item If you need to know how to do something, make clear what your + environment is: ``I want to do \emph{x} in Plain \TeX{}'', or ``I + want to do \emph{y} in \LaTeX{} running the \Class{boggle} + class''. If you thought you knew how, but your attempts are + failing, tell us what you've tried: ``I've already tried installing + the \Package{elephant} in the \Package{minicar} directory, and it + didn't work, even after refreshing the filename database''. +\item If something's going wrong within \AllTeX{}, pretend you're + \Qref*{submitting a \LaTeX{} bug report}{Q-latexbug}, + and try to generate a \Qref*{minimum failing example}{Q-minxampl}. + If your example + needs your local \Class{xyzthesis} class, or some other resource + not generally available, be sure to include a pointer to how the + resource can be obtained. +\item Be as succinct as possible. Your helpers don't usually need to + know \emph{why} you're doing something, just \emph{what} you're + doing and where the problem is. +\end{itemize} + +\Question[Q-minxampl]{How to make a ``minimum example''} + +\Qref[Question]{Our advice on asking questions}{Q-askquestion} +suggests that you prepare a ``minimum example'' of failing behaviour, +as a sample to post with your question. If you have a problem in a +two hundred page document, it may be unclear how to proceed from this +problem to a succinct demonstration of your problem. + +There are two valid approaches to this task: building up, and hacking +down. + +The ``building up'' process starts with a basic document structure +(for \LaTeX{}, this would have \csx{documentclass}, +\cmdinvoke{begin}{document}, \cmdinvoke{end}{document}) and adds +things. First to add is a paragraph or so around the actual point +where the problem occurrs. (It may prove difficult to find the actual +line that's provoking the +problem. If the original problem is an error, reviewing % ! line break +\Qref[question]{the structure of \TeX{} errors}{Q-errstruct} may +help.) + +Note that there are things that can go wrong in one part of the +document as a result of something in another part: the commonest is +problems in the table of contents (from something in a section title, +or whatever), or the list of \meta{something} (from something in a +\csx{caption}). In such a case, include the section title or caption +(the caption probably needs the \environment{figure} or +\environment{table} environment around it, but it \emph{doesn't} need +the figure or table itself). + +If this file you've built up collapses already, then you're done. +Otherwise, try adding packages; the optimum is a file with only one +package in it, but you may find that the guilty package only works at +all with another package loaded (or only fails in the context of +another package). + +The ``hacking down'' route starts with your entire document, and +removes bits until the file no longer fails (and then of course +restores the last thing removed). Don't forget to hack out any +unneccessary packages, but mostly, the difficulty is choosing what to +hack out of the body of the document; this is the mirror of the +problem above, in the ``building up'' route. + +If you've added a package (or more than one), run your minimum file +with \csx{listfiles} enabled, so as to report which versions of packages +you're using. + +What if your document simply doesn't fail in any of these cut-down +scenarios? Whatever you do, don't post the whole of the document: if +you can, it may be useful to make a copy available on the web +somewhere: people will probably understand if it's impossible~\dots{}\ +or inadvisable, in the case of something confidential. + +If the whole document is necessary, it could be that it's an overflow +of some sort; the best you can do is to post the code ``around'' the +error, and (of course) the full text of the error. + +It may seem that all this work is rather excessive for preparing a +simple post. There are two responses to that, both based on the +relative inefficiency of asking a question on the internet. + +First, preparing a minimum document very often leads \emph{you} to the +answer, without all the fuss of posting and looking for responses. + +Second, your prime aim is to get an answer as quickly as possible; a +well-prepared example stands a good chance of attracting an answer +``in a single pass'': if the person replying to your post finds she +needs more information, you have to find that request, post again, and +wait for your benefactor to produce a second response. + +All things considered, a good example file can save you a day, for +perhaps half an hour's effort invested. + +The above advice, differently phrased, may also be read on the web at +\URL{http://www.latex-einfuehrung.de/mini-en.html}; source of the +article may be found at \URL{http://www.latex-einfuehrung.de/}, in +both German and English. + +\Question[Q-tutorials]{\AllTeX{} Tutorials, etc.} + +Some very fine tutorials have been written, over the years. Michael +Doob's splendid `Gentle Introduction' to Plain \TeX{} (available on +\acro{CTAN}) has been stable for a very long time. Another contender +in the same game is from one D. R.~Wilkins, available on the web at +\URL{http://www.ntg.nl/doc/wilkins/pllong.pdf} + +Tobias Oetiker's `(Not so) Short Introduction to \LaTeXe{}', is +regularly updated, as people suggest better ways of explaining things, +etc. The introduction is available on \acro{CTAN}, together with +versions in the some of the many languages it has been translated +into. + +Harvey Greenberg's `Simplified Introduction to \LaTeX{}' was written +for a lecture course, and is also available on \acro{CTAN} (in \PS{} +only, unfortunately). + +Edith Hodgen's % beware line break +\href{http://www.mcs.vuw.ac.nz/~david/latex/notes.pdf}{\LaTeX{}, a Braindump} +starts you from the ground up~--- giving a basic tutorial in the use +of \ProgName{Linux} to get you going (rather a large file\dots{}). +Its parent site, David Friggens' % ! line break +\href{http://www.mcs.vuw.ac.nz/~david/latex/}{documentation page} is a +useful collection of links in itself. + +Peter Flynn's ``Beginner's \LaTeX{}'' (which also started as course +material) is a pleasing read. A complete copy may be found on +\acro{CTAN}, but it may also be browsed over the web +(\URL{http://www.tex.ac.uk/tex-archive/info/beginlatex/html/}). + +T\acro{UG} India is developing a series of online \LaTeX{} tutorials +which can be strongly recommended: select single chapters at a time +from \URL{http://www.tug.org.in/tutorials.html}\nobreakspace--- the +set comprises two parts, ``Text'' and ``Graphics'', so far. + +\href{http://www.comp.leeds.ac.uk/andyr/misc/latex/index.html}{Andy Roberts' introductory material} +is a pleasing short introduction to the use of \AllTeX{}; some of the +slides for \emph{actual} tutorials are to be found on the page, as well. + +Another item, not quite \acro{FAQ}, not quite tutorial, is Herbert +Vo\ss{}'s excellent % beware line break +\href{http://texnik.de/}{\LaTeX{} tips and tricks}. + +An interesting (and practical) tutorial about what \emph{not} to do is +\Package{l2tabu}, or ``A list of sins of \LaTeXe{} users'' by Mark +Trettin, translated into English by J\"urgen Fenn. The +tutorial is available from \acro{CTAN} as a \acro{PDF} file (though +the source is also available). + +The \acro{AMS} publishes a ``Short Math Guide for \LaTeX{}'', which is +available (in several formats) via +\URL{http://www.ams.org/tex/short-math-guide.html} + +Herbert Vo\ss{} is developing a parallel document, that is also very +useful; it's part of his ``tips and tricks'' mentioned above and is +also available on \acro{CTAN}. +%\URL{http://www.perce.de/LaTeX/math/Mathmode-TeX.pdf} + +Keith Reckdahl's ``Using Imported Graphics in \LaTeXe{}'' is an +excellent introduction to graphics use, though it's slightly dated in +not discussing anything other than the \ProgName{dvips} route. +Available on \acro{CTAN}, but again without sources. + +An invaluable step-by-step setup guide for establishing a ``work +flow'' through your \AllTeX{} system, so that output appears at the +correct size and position on standard-sized paper, and that the print +quality is satisfactory, is Mike Shell's \Package{testflow}. The +tutorial consists of a large plain text document, and there is a +supporting \LaTeX{} file together with correct output, both in \PS{} and +\acro{PDF}, for each of \acro{A}4 and ``letter'' paper sizes. The +complete kit is available on \acro{CTAN} (distributed with the +author's macros for papers submitted for \acro{IEEE} publications). + +%% Reference material is somewhat more difficult to come by. A sterling +%% example is set by David Bausum's +%% \href{http://www.tug.org/utilities/plain/cseq.html}{list of \TeX{} primitives}. +For Plain~\TeX{} commands a rather nice % ! line break +\href{http://www.nmt.edu/tcc/help/pubs/texcrib.pdf}{quick reference booklet}, +by John W.~Shipman, is available. + +Special-purpose tutorials are always useful, and an example is set by +Haruhiko Okumura's page on +% beware line break +\href{http://oku.edu.mie-u.ac.jp/~okumura/texfaq/japanese/}{typesetting Japanese with Omega} +(the parent page is in Japanese, so out of the scope of this +\acro{FAQ}). + +Some university departments make their local documentation available +on the web. Most straightforwardly, there's the simple translation of +existing documentation into \acro{HTML}, for example the \acro{INFO} +documentation of the \AllTeX{} installation, of which a sample is the +\LaTeX{} documentation available at +\URL{http://www.tac.dk/cgi-bin/info2www?(latex)} + +More ambitiously, some university departments have enthusiastic +documenters who +make public record of their \AllTeX{} support. For example, Tim Love +(of Cambridge University Engineering Department) maintains his +deparment's pages at +\URL{http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/}, and Mimi +Burbank (of the School of Computer Science \& Information Technology +at the University of Florida) manages her department's at +\URL{http://www.csit.fsu.edu/~mimi/tex/}\nobreakspace--- both sets are fine +examples of good practice. + +%% Another summary by command (somewhat akin to David Basum's work for +%% Plain \TeX{}) is to be found at +%% \URL{http://www.giss.nasa.gov/latex/ltx-2.html}; sadly this stuff is +%% woefully out of date, and only covers \LaTeXo{}. + +People have long argued for \AllTeX{} books to be made available on +the web, and +Victor Eijkhout's excellent ``\TeX{} by Topic'' (previously published +by Addison-Wesley, but long out of print) was offered in this way at +Christmas 2001. The book is currently +available at \URL{http://www.eijkhout.net/tbt/}; +it's not a beginner's tutorial but it's a fine reference +(contributions are invited, and the book is well +worth the suggested contribution). + +Addison-Wesley have also released the copyright of ``\TeX{} for the +Impatient'' by Paul W.~Abrahams, Karl Berry and Kathryn A.~Hargreaves, +another book whose unavailability many have lamented. The authors +have re-released the book under the \acro{GNU} general documentation +licence, and it is available from \acro{CTAN}. + +Norm Walsh's ``Making \TeX{} Work'' is also available (free) on the +Web, at \URL{http://makingtexwork.sourceforge.net/mtw/}; the sources +of the Web page are on \acro{CTAN}. + +The book was an excellent resource in its day, but is now somewhat +dated; nevertheless, it still has its uses, and is a welcome addition +to the list of on-line resources. A project to update it is believed +to be under way. + +Jim Hefferon maintains a web page % ! line break +%\stopheretrue +``\href{http://www.ctan.org/installationadvice/}{Managing a one-person TeX system}'' +which provides a useful introduction to those who find they need to +manage a \TeX{} system on a personal machine. It covers much of the +matters discussed in answers such as % ! line break +\htmlonly{``}\Qref[number]{Where to put new files}{Q-wherefiles}\latexhtml{, below}{''}, +and thereby covers the gap left by the (possibly temporary) lack of +``\emph{Making \TeX{} work}''. + +There's also (at least one) typographic style tutorial available on +the Web, the excellent % ! line break +``\href*{http://www.nbcs.rutgers.edu/~hedrick/typography/typography.janson-syntax.107514.pdf}{Guidelines for Typography in NBCS}''. +In fact, its % !! +\href*{http://www.nbcs.rutgers.edu/~hedrick/typography/index.html}{parent page} +is also worth a read: among other things, it provides copies of the +``guidelines'' document in a wide variety of primary fonts, for +comparison purposes. The author is careful to explain that he has no +ambition to supplant such excellent books as +\Qref*{Bringhurst's}{Q-typebooks}, but the document (though it does +contain its Rutgers-local matter) is a fine introduction to the issues +of producing readable documents. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Beginner's \LaTeX{}]\CTANref{beginlatex-pdf} +\item[\nothtml{\rmfamily}Gentle Introduction]\CTANref{gentle} +\item[l2tabu]\CTANref{l2tabuen}; source also available: \CTANref{l2tabuen.src} +\item[\nothtml{\rmfamily}Graphics in \LaTeXe{}]\CTANref{epslatex}; the + document is also available in \PS{} format as \CTANref{epslatex_ps} +\item[\nothtml{\rmfamily}Making \TeX{} Work]\CTANref{mtw} +\item[\nothtml{\rmfamily}Not so Short Introduction]\CTANref{lshort} + (in English, or browse for sources and other language versions at + \CTANref{lshort-parent}) +\item[\nothtml{\rmfamily}Simplified \LaTeX{}]\CTANref{simpl-latex} +\item[\nothtml{\rmfamily}\TeX{} for the Impatient]\CTANref{TftI} +\item[testflow]\CTANref{testflow} +\item[\nothtml{\rmfamily}Herbert Vo\ss{}' Maths tutorial]\CTANref{voss-mathmode} +\end{ctanrefs} + +\Question[Q-pkgdoc]{Documentation of packages} + +These \acro{FAQ}s regularly suggest packages that will ``solve'' +particular problems. In some cases, the answer provides a recipe for +the job. In other cases, or when the solution needs elaborating, how +is the poor user to find out what to do? + +If you're lucky, the package you need is already in your installation. +If you're particularly lucky, you're using a distribution that gives +access to package documentation and the documentation is available in +a form that can easily be shown. For example, on a te\TeX{}-based +system, the \ProgName{texdoc} command is usually useful, as in: +\begin{quote} +\begin{verbatim} +texdoc footmisc +\end{verbatim} +\end{quote} +which opens an \ProgName{xdvi} window showing documentation of the +\Package{footmisc} package. According to the type of file +\ProgName{texdoc} finds, it will launch \ProgName{xdvi}, +a \ProgName{ghostscript}-based \PS{} viewer or a \acro{PDF} reader. +If it can't find any documentation, it may launch a Web browser to +look at its copy of the \acro{CTAN} catalogue. The catalogue has an +entry for package documentation, and since \acro{CTAN} now +encourages authors to submit documentation of their packages, that +entry may provide a useful lead. + +If your luck (as defined above) doesn't hold out, you've got to find +documentation by other means. This is where you need to exercise your +intelligence: you have to find the documentation for yourself. What +follows offers a range of possible techniques. + +The commonest form of documentation of \LaTeX{} add-ons is within the +\texttt{.dtx} file in which the code is distributed (see +\Qref[answer]{documented \LaTeX{} sources}{Q-dtx}). Such files +are supposedly processable by \LaTeX{} itself, but there are +occasional hiccups on the way to readable documentation. Common +problems are that the package itself is needed to process its own +documentation (so must be unpacked before processing), and that the +\texttt{.dtx} file will \emph{not} in fact process with \LaTeX{}. In the +latter case, the \texttt{.ins} file will usually produce a \texttt{.drv} (or +similarly-named) file, which you process with \LaTeX{} instead. +(Sometimes the package author even thinks to mention this wrinkle in +a package \texttt{README} file.) + +Another common form is the separate documentation file; particularly +if a package is ``conceptually large'' (and therefore needs a lot of +documentation), the documentation would prove a cumbersome extension +to the \texttt{.dtx} file. Examples of such cases are the \Class{memoir} +class (whose documentation, \File{memman}, is widely praised as an +introduction to typesetting concepts), the \Class{KOMA-script} bundle +(whose developers take the trouble to produce detailed documentation +in both German and English), and the \Package{fancyhdr} package (whose +documentation derives from a definitive tutorial in a mathematical +journal). Even if the documentation is not separately identified in a +\texttt{README} file, it should not be too difficult to recognise its +existence. + +Documentation within the package itself is the third common form. +Such documentation ordinarily appears in comments at the head of the +file, though at least one eminent author regularly places it after the +\csx{endinput} command in the package. (This is desirable, since +\csx{endinput} is a `logical' end-of-file, and \AllTeX{} doesn't read +beyond it: thus such documentation does not `cost' any package loading time.) + +The above suggestions cover most possible ways of finding +documentation. If, despite your best efforts, you can't find +it in any of the above places, there's the awful possibility that the +author didn't bother to document his package (on the ``if it was hard +to write, it should be hard to use'' philosophy). Most ordinary +mortals will seek support from some more experienced user at this +stage, though it \emph{is} possible to proceed in the way that the original +author apparently expected\dots{}by reading his code. + +\Question[Q-writecls]{Learning to write \LaTeX{} classes and packages} + +There's nothing particularly magic about the commands you use when +writing a package, so you can simply bundle up a set of \LaTeX{} +\csx{(re)newcommand} and \csx{(re)newenvironment} commands, put them in +a file \File{package.sty} and you have a package. + +However, any but the most trivial package will require rather more +sophistication. Some details of \LaTeX{} commands for the job are to +be found in `\LaTeXe{} for class and package writers' +(\File{clsguide}, part of the \LaTeX{} documentation distribution). +Beyond this, a good knowledge of \TeX{} itself is valuable: thus books +such as the \Qref*{\TeX{}book}{Q-books} or % ! line break +\Qref*{\TeX{} by topic}{Q-tutorials} are relevant. With good \TeX{} +knowledge it is possible to use the documented source of \LaTeX{} as +reference material (dedicated authors will acquaint themselves with the +source as a matter of course). A complete set of the documented +source of \LaTeX{} may be prepared by processing the file +\File{source2e.tex} in the \LaTeX{} distribution, but individual files +in the distribution may be processed separately with \LaTeX{}, like +any well-constructed \Qref*{\texttt{.dtx} file}{Q-dtx}. + +Writing good classes is not easy; it's a good idea to read some +established ones (\File{classes.dtx}, for example, is the documented +source of the standard classes other than \Class{Letter}, and may +itself be formatted with \LaTeX{}). Classes that are not part of the +distribution are commonly based on ones that are, and start by loading +the standard class with \csx{LoadClass}~--- an example of this +technique may be seen in \Package{ltxguide.cls} +\begin{ctanrefs} +\item[classes.dtx]\CTANref{latex-classes} +\item[ltxguide.cls]\CTANref{ltxguide} +\item[\nothtml{\rmfamily}\LaTeX{} documentation]\CTANref{latexdoc} +\item[source2e.tex]\CTANref{latex-source} +\end{ctanrefs} + +\Question[Q-mfptutorials]{\MF{} and \MP{} Tutorials} + +Apart from Knuth's book, there seems to be only one publicly-available +\href{http://metafont.tutorial.free.fr/}{tutorial for \MF{}}, by +Christophe Grandsire (a copy in \acro{PDF} form may be downloaded). +Geoffrey Tobin's \textit{\MF{} for Beginners} % !! line break +(see \Qref[question]{using \MF{}}{Q-useMF}) describes how the \MF{} +system works and how to avoid some of the potential pitfalls. + +There is also an article on how to run both \MF{} and \MP{} (the +programs). Peter Wilson's % !! line break +\textit{Some Experiences in Running \MF{} and \MP{}} +offers the benefit of Peter's experience (he has designed a number of +`historical' fonts using \MF{}). For \MF{} the article is geared +towards testing and installing new \MF{} fonts, while its \MP{} +section describes how to use \MP{} illustrations in \LaTeX{} and +\PDFLaTeX{} documents, with an emphasis on how to use appropriate +fonts for any text or mathematics. + +Hans Hagen (of \CONTeXT{} fame) offers a \MP{} tutorial called +MetaFun (which admittedly concentrates on the use of \MP{} within \CONTeXT{}). It may be found on his company's +\href{http://www.pragma-ade.com/metapost.htm}{\MP{} page}. + +Other \MP{} tutorials that have appeared are one in English by % ! line breaks +\href{http://remote.science.uva.nl/~heck/Courses/mptut.pdf}{Andr\'e Heck}, +and one in French (listed here because it's clearly enough written +that this author understands it), by +\href{http://pauillac.inria.fr/~cheno/metapost/metapost.pdf}{Laurent Ch\'eno}; +both have been recommended for inclusion in the \acro{FAQ} + +Vincent Zoonekynd's massive set of example \MP{} files is available on +\acro{CTAN}; the set includes a \ProgName{Perl} script to convert the +set to html, and the set may be % beware line break +\href{http://zoonek.free.fr/LaTeX/Metapost/metapost.html}{viewed on the web}. +While these examples don't exactly constitute a ``tutorial'', they're +most certainly valuable learning material. Urs Oswald presents a +\href{http://www.ursoswald.ch/metapost/tutorial.pdf}{similar document}, +written more as a document, and presented in \acro{PDF}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Beginners' guide]\CTANref{mf-beginners} +\item[\nothtml{\rmfamily}Peter Wilson's ``experiences'']\CTANref{metafp-ps} + (\PS{}) or \CTANref{metafp-pdf} (\acro{PDF} format) +\item[\nothtml{\rmfamily}Vincent Zoonekynd's examples]\CTANref{zoon-mp-eg} +\end{ctanrefs} + +\Question[Q-BibTeXing]{\BibTeX{} Documentation} + +\BibTeX{}, a program originally designed to produce bibliographies in +conjunction with \LaTeX{}, is explained in Section~4.3 and Appendix~B +of Leslie Lamport's \LaTeX{} manual +(see \Qref[question]{TeX-related books}{Q-books}). +The document ``\BibTeX{}ing'', contained in the file \File{btxdoc.tex}, +expands on the chapter in Lamport's book. \emph{The \LaTeX{} Companion} +(see \Qref[question]{TeX-related books}{Q-books}) also +has information on \BibTeX{} and writing \BibTeX{} style files. + +The document ``Designing \BibTeX{} Styles'', contained in the file +|btxhak.tex|, explains the postfix stack-based language used to write +\BibTeX{} styles (|.bst| files). The file |btxbst.doc| is the template +for the four standard styles (|plain|, |abbrv|, |alpha|, |unsrt|). It +also contains their documentation. +The complete \BibTeX{} documentation set (including the files above) +is available on \acro{CTAN}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\BibTeX{} documentation]\CTANref{bibtex-doc} +\item[\nothtml{\rmfamily}\BibTeX{} documentation, in \acro{PDF}]% + \CTANref{bibtex-doc-pdf} +\end{ctanrefs} + +\Question[Q-symbols]{Where can I find the symbol for\,\dots{}} +\keywords{assignment circular integral degrees diagonal dots Fourier transform} +\keywords{Laplace greater less complex integer natural real} +\keywords{cent euro} + +There is a wide range of symbols available for use with \TeX{}, most +of which are not shown (or even mentioned) in \AllTeX{} books. +\emph{The Comprehensive \LaTeX{} Symbol List} (by Scott Pakin +% beware line wrap +\emph{et al.}\@) illustrates over 2000 symbols, and details the +commands and packages needed to produce them. + +Other questions in this \acro{FAQ} offer specific help on kinds of +symbols: +\begin{itemize} +\item \nothtml{Script fonts for mathematics (}% + \Qref[question]{Script fonts for mathematics}{Q-scriptfonts}% + \nothtml{)} +\item \nothtml{Fonts for the number sets (}% + \Qref[question]{Fonts for the number sets}{Q-numbersets}% + \nothtml{)} +\item \nothtml{Typesetting the principal value integral (}% + \Qref[question]{Typesetting the principal value integral}{Q-prinvalint}% + \nothtml{)} +\end{itemize} +\begin{ctanrefs} +\item[Symbol List]Browse \CTANref{symbols}; there are processed + versions in both \PS{} and \acro{PDF} forms for both A4 and + letter paper. +\end{ctanrefs} + +\Question[Q-docpictex]{The \PiCTeX{} manual} + +\PiCTeX{} is a set of macros by Michael Wichura for drawing diagrams +and pictures. The +macros are freely available; however, the +\PiCTeX{} manual itself is not free. +Unfortunately, \acro{TUG} is no longer able to supply copies of the +manual (as it once did), and it is now available only through Personal +\TeX{} Inc, the vendors of PC\TeX{} (\URL{http://www.pctex.com/}). The +manual is \emph{not} available electronically. +\begin{ctanrefs} +\item[pictex]\CTANref{pictex} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Bits and pieces of \TeX{}} + +\Question[Q-dvi]{What is a \acro{DVI} file?} + +A \acro{DVI} file (that is, a file with the type or extension |.dvi|) is +\TeX{}'s main output file, using \TeX{} in its broadest sense to +include \LaTeX{}, etc. `\acro{DVI}' is supposed to be an acronym for +\acro{D}e\acro{V}ice-\acro{I}ndependent, meaning that the file can be +printed on almost any +kind of typographic output device. The \acro{DVI} file is designed to be +read by a driver (\Qref{DVI drivers}{Q-driver}) to produce +further output designed specifically for a particular printer (e.g., a +LaserJet) or to be used as input to a previewer for display on a +computer screen. \acro{DVI} files use \TeX{}'s internal coding; a \TeX{} +input file should produce the same \acro{DVI} file regardless of which +implementation of \TeX{} is used to produce it. + +A \acro{DVI} file contains all the information that is needed for printing +or previewing except for the actual bitmaps or outlines of fonts, and +possibly material to be introduced by means of +\Qref*{\csx{special} commands}{Q-specials}. + +The canonical reference for the structure of a \acro{DVI} file is the +source of \ProgName{dvitype}. +\begin{ctanrefs} +\item[dvitype]\CTANref{dvitype} +\end{ctanrefs} + +\Question[Q-driver]{What is a driver?} + +A driver is a program that takes as input a \acro{DVI} file +(\Qref{\acro{DVI} files}{Q-dvi}) and +(usually) produces a file that can be sent to a typographic +output device, called a printer for short. + +A driver will usually be specific to a particular printer, +although any \PS{} printer ought to be able to print +the output from a \PS{} driver. +% (these are also called \PS{} conversion programs). + +As well as the \acro{DVI} file, the driver needs font information. +Font information may be held as bitmaps or as outlines, or simply as a +set of pointers into the fonts that the printer itself `has'. +Each driver will expect the font information in +a particular form. For more information on the forms of fonts, +see \Qref[questions]{|pk| files}{Q-pk}, +% beware of fill-paragraph here!!!! +\Qref[]{|tfm| files}{Q-tfm}, +\Qref[]{virtual fonts}{Q-virtualfonts} +and \Qref[]{Using \PS{} fonts with \TeX{}}{Q-usepsfont}. + + +\Question[Q-pk]{What are \acro{PK} files?} + +\acro{PK} files (packed raster) contain font bitmaps. The output +from +\htmlignore +\MF{} (\Qref{}{Q-useMF}) +\endhtmlignore +\begin{htmlversion} + \Qref{\MF{}}{Q-useMF} +\end{htmlversion} +includes a generic font (\acro{GF}) file and the +utility \ProgName{gftopk} produces the \acro{PK} file from that. +There are a lot of \acro{PK} files, as one is needed for each font, +that is each magnification (size) of each design (point) size for each +weight for each family. Further, since the \acro{PK} files for one printer +do not necessarily work well for another, the whole set needs to be +duplicated for each printer type at a site. As a result, they are +often held in an elaborate directory structure, or in `font library +files', to regularise access. + + +\Question[Q-tfm]{What are \acro{TFM} files?} + +\acro{TFM} stands for \TeX{} Font Metrics; \acro{TFM} files hold +information about the sizes of the characters of the font in question, +and about ligatures and kerns within that font. One \acro{TFM} file is +needed for each font used by \TeX{}, that is for each design (point) +size for each weight for each family; one \acro{TFM} file serves for all +magnifications, so that there are (typically) fewer \acro{TFM} files than +there are \acro{PK} files. The important point is that \acro{TFM} files are +used by \TeX{} (\LaTeX{}, etc.), but are not, generally, needed by the +printer driver. + + +\Question[Q-virtualfonts]{Virtual fonts} + +Virtual fonts for \TeX{} were first implemented by David Fuchs in the +early days of \TeX{}, but for most people they date from when Knuth +redefined the format, and wrote some support software, in 1989 (he +published an article in \textsl{TUGboat} at the time, and a copy is +available on \acro{CTAN}). +Virtual fonts provide a way of telling \TeX{} about something more +complicated than just a one-to-one character mapping. The entities you +define in a virtual font look like characters to \TeX{} (they appear +with their sizes in a font metric file), but the \acro{DVI} processor may +expand them to something quite different. You can use this facility +just to remap characters, to make a composite font with glyphs drawn +from several sources, or to build up an effect in arbitrarily +complicated ways~--- a virtual font may contain anything which is +legal in a \acro{DVI} file. A ``how to'', describing how to generate +virtual fonts from scratch, is available. + +In practice, however, the most common use of virtual fonts is to remap +\PS{} fonts (see \Qref[question]{font metrics}{Q-metrics}). Other +interesting uses have been to build `fake' maths fonts (by bundling +glyphs from several fonts together), and (utilising the facility to +use bits of \acro{DVI}) to build useful subsets of the \acro{T}1 fonts +using nothing but the \PS{} Type~1 versions of Knuth's Computer Modern fonts. + +It is important to realise that \TeX{} itself does \emph{not} see +virtual fonts; for every virtual font read by the \acro{DVI} driver there +is a corresponding \acro{TFM} file read by \TeX{}. Virtual fonts are normally +created in a single \acro{ASCII} \texttt{vpl} (Virtual Property List) +file, which +includes both sets of information. The \ProgName{vptovf} program is +then used to the create the binary \acro{TFM} and \acro{VF} files. The +commonest way (nowadays) of generating \texttt{vpl} files is to use the +\ProgName{fontinst} package, which is described in detail +\htmlonly{together with the discussion of}% +\Qref[in answer]{\PS{} font metrics}{Q-metrics}. +\Package{qdtexvpl} is another utility for creating ad-hoc virtual +fonts. +\begin{ctanrefs} +\item[fontinst]\CTANref{fontinst} +\item[\nothtml{\rmfamily}Knuth on virtual fonts]\CTANref{vf-knuth} +\item[\nothtml{\rmfamily}Virtual fonts ``how to'']\CTANref{vf-howto} +\item[qdtexvpl]\CTANref{qdtexvpl} +\end{ctanrefs} + +\Question[Q-specials]{\csx{special} commands} + +\TeX{} provides the means to express things that device drivers can +do, but about which \TeX{} itself knows nothing. For example, \TeX{} +itself knows nothing about how to include \PS{} figures into +documents, or how to set the colour of printed text; but some device +drivers do. + +Such things are introduced to your document by means of \csx{special} +commands; all that \TeX{} does with these commands is to expand their +arguments and then pass the command to the \acro{DVI} file. In most +cases, there are macro packages provided (often with the driver) that +provide a comprehensible interface to the \csx{special}; for example, +there's little point including a figure if you leave no gap for it in +your text, and changing colour proves to be a particularly fraught +operation that requires real wizardry. \LaTeXe{} +has standard graphics and colour packages that make figure inclusion, +rotation and scaling, and colour typesetting via \csx{special}s all easy. + +The allowable arguments of \csx{special} depend on the device driver +you're using. Apart from the examples above, there are \csx{special} +commands in the em\TeX{} drivers (e.g., \ProgName{dvihplj}, \ProgName{dviscr}, +\emph{etc}.)~that will draw lines at arbitrary orientations, and +commands in \ProgName{dvitoln03} that permit the page to be set in +landscape orientation. + +\Question[Q-dtx]{Documented \LaTeX{} sources (\texttt{.dtx} files)} + +\LaTeXe{}, and many support macro packages, are now written in a +\nothtml{literate programming style (}% beware line break +\Qref{literate programming}{Q-lit}\latexhtml{)}{ style}, +with source and documentation in the +same file. This format, known as `doc', in fact originated before the +days of the \LaTeX{} project as one of the ``Mainz'' series of +packages. The documented sources conventionally have the suffix +\texttt{.dtx}, and should normally be stripped of documentation +before use with \LaTeX{}. Alternatively you can run \LaTeX{} on a +\texttt{.dtx} file to produce a nicely formatted version of the +documented code. An installation script (with suffix +\texttt{.ins}) is usually provided, which needs the standard \LaTeXe{} +\ProgName{docstrip} package (among other things, the installation +process strips all the comments that make up the documentation for +speed when loading the file into a running \LaTeX{} system). Several +packages can be included in one \texttt{.dtx} file, with conditional +sections, and there facilities for indices of macros etc. Anyone can +write \texttt{.dtx} files; the format is explained in +\Qref*{The \LaTeX{} Companion}{Q-books}, and a tutorial is +available from \acro{CTAN} (which comes with skeleton \texttt{.dtx} and +\texttt{.ins} files). + +Composition of \texttt{.dtx} files is supported in \ProgName{emacs} by +Matt Swift's \ProgName{swiftex} system: it provides a +\environment{doc-tex} mode which treats \texttt{.dtx} files rather +better than \Qref*{\acro{AUC}-\TeX{}}{Q-editors} manages. + +Another useful way of generating \texttt{.dtx} files is to write the +documentation and the code separately, and then to combine them using +the \ProgName{makedtx} system. This technique has particular value in +that the documentation file can be used separately to generate +\acro{HTML} output; it is often quite difficult to make % ! line break +\Qref*{\LaTeX{} to \acro{HTML} conversion}{Q-LaTeX2HTML} tools deal +with \texttt{.dtx} files, since they use an unusual class file. + +\texttt{.dtx} files are not used by \LaTeX{} after they have been +processed to produce \texttt{.sty} or \texttt{.cls} (or whatever) +files. They need not be kept with the working system; however, for +many packages the \texttt{.dtx} file is the primary source of +documentation, so you may want to keep \texttt{.dtx} files elsewhere. + +An interesting sideline to the story of \texttt{.dtx} files is the +\Package{docmfp} package, which extends the model of the \Package{doc} +package to \latexhtml{\MF{}}{\Qref{\MF{}}{Q-MF}} and % beware line break +\latexhtml{\MP{} (\Qref[see questions]{}{Q-MF} and\Qref[]{}{Q-MP})}{\Qref{\MP{}}{Q-MP}}, +thus permitting documented distribution of bundles containing code for +\MF{} and \MP{} together with related \LaTeX{} code. +\begin{ctanrefs} +\item[clsguide.pdf]\CTANref{clsguide} +\item[docmfp.sty]\CTANref{docmfp} +\item[docstrip.tex]Part of the \LaTeX{} distribution +\item[DTX tutorial]\CTANref{dtxtut} +\item[makedtx]\CTANref{makedtx} +\item[swiftex.el]\CTANref{swiftex} +\end{ctanrefs} + +\Question[Q-whatenc]{What are encodings?} + +Let's start by defining two concepts, the \emph{character} and the +\emph{glyph}. +The character is the abstract idea of the `atom' of a +language or other dialogue: so it might be a letter in an alphabetic +language, a syllable in a syllabic language, or an ideogram in an +ideographic language. The glyph is the mark created on screen or +paper which represents a character. Of +course, if reading is to be possible, there must be some agreed +relationship between the glyph and the character, so while the precise +shape of the glyph can be affected by many other factors, such as the +capabilities of the writing medium and the designer's style, the +essence of the underlying character must be retained. + +Whenever a computer has to represent characters, someone has to define +the relationship between a set of numbers and the characters they +represent. This is the essence of an encoding: it is a mapping +between a set of numbers and a set of things to be represented. + +\TeX{} of course deals in encoded characters all the time: the +characters presented to it in its input are encoded, and it emits +encoded characters in its \acro{DVI} (or \acro{PDF}) output. These +encodings have rather different properties. + +The \TeX{} input stream was pretty unruly back in the days when Knuth +first implemented the language. Knuth himself prepared documents on +terminals that produced all sorts of odd characters, and as a result +\TeX{} contains some provision for translating the input encoding to +something regular. Nowadays, +the operating system translates keystrokes into a code appropriate for +the user's language: the encoding used is often a national or +international standard, though many operating systems use ``code +pages'' defined by MicroSoft. These standards and code pages often +contain characters that can't appear in the \TeX{} system's input +stream. Somehow, these characters have to be dealt with~--- so +an input character like ``\'e'' needs to be interpreted by \TeX{} in +a way that that at least mimics the way it interprets ``\csx{'}\texttt{e}''. + +The \TeX{} output stream is in a somewhat different situation: +characters in it are to be used to select glyphs from the fonts to be +used. Thus the encoding of the output stream is notionally a font +encoding (though the font in question may be a +% beware line break (twice) +\nothtml{virtual one~--- see }% +\Qref[question]{virtual font}{Q-virtualfonts}). In principle, a +fair bit of what appears in the output stream could be direct +transcription of what arrived in the input, but the output stream +also contains the product of commands in the input, and translations +of the input such as ligatures like % +\texttt{fi}\nothtml{\ensuremath\Rightarrow``fi''}. + +Font encodings became a hot topic when the +\Qref*{Cork encoding}{Q-ECfonts} +appeared, because of the possibility of suppressing +\csx{accent} commands in the output stream (and hence improving the +quality of the hyphenation of text in inflected languages, which is +interrupted by the \csx{accent} commands~--- see +% beware line break +\Qref[question]{``how does hyphenation work''}{Q-hyphen}). +To take advantage of the diacriticised characters represented in the +fonts, it is necessary to arrange that whenever the +command sequence ``|\'||e|'' has been input +(explicitly, or implicitly via the sort of mapping of input mentioned +above), the character that codes the position of the ``\'e'' glyph is +used. + +Thus we could have the odd arrangement that the diacriticised character in +the \TeX{} input stream is translated into \TeX{} commands that would +generate something looking like the input character; this sequence of +\TeX{} commands is then translated back again into a single +diacriticised glyph as the output is created. This is in fact +precisely what the \LaTeX{} packages \Package{inputenc} and +\Package{fontenc} do, if operated in tandem on (most) characters in +the \acro{ISO}~Latin-1 input encoding and the \acro{T}1 font encoding. +At first sight, it seems eccentric to have the first package do a thing, and +the second precisely undo it, but it doesn't always happen that way: +most font encodings can't match the corresponding input encoding +nearly so well, and the two packages provide the sort of symmetry the +\LaTeX{} system needs. + +\Question[Q-hyphen]{How does hyphenation work in \TeX{}?} + +Everyone knows what hyphenation is: we see it in most books we read, +and (if we're alert) often spot ridiculous mis-hyphenation from time +to time (at one time, British newspapers were a fertile source). + +Hyphenation styles are culturally-determined, and the same language +may be hyphenated differently in different countries~--- for example, +British and American styles of hyphenation of English are very +different. As a result, a typesetting system that is not restricted +to a single language at a single locale needs to be able to change its +hyphenation rules from time to time. + +\TeX{} uses a pretty good system for hyphenation (originally designed +by Frank Liang), and while it's capable of missing ``sensible'' +hyphenation points, it seldom selects grossly wrong ones. The +algorithm matches candidates for hyphenation against a set of +``hyphenation patterns''. The candidates for hyphenation must be +sequences of letters (or other single characters that \TeX{} may be +persuaded to think of as letters)~--- things such as \TeX{}'s +\csx{accent} primitive interrupt hyphenation. + +Sets of hyphenation patterns are usually derived from analysis of +a list of valid hyphenations (the process of derivation, using a tool +called \Package{patgen}, is not ordinarily a participatory sport). + +The patterns for the languages a \TeX{} system is going to deal with +may only be loaded when the system is installed. To change the set of +languages, a \Qref*{partial reinstallation}{Q-newlang} is necessary. + +\TeX{} provides two ``user-level'' commands for control of +hyphenation: \csx{language} (which selects a hyphenation style), and +\csx{hyphenation} (which gives explicit instructions to the hyphenation +engine, overriding the effect of the patterns). + +The ordinary \LaTeX{} user need not worry about \csx{language}, since +it is very thoroughly managed by the \Package{babel} package; use of +\csx{hyphenation} is discussed in +% beware line wrap +\Qref[question]{hyphenation failure}{Q-nohyph}. + +\Question[Q-ECfonts]{What are the \acro{EC} fonts?} + +A font consists of a number of \emph{glyphs}. In order that the +glyphs may be printed, they are \nothtml{\emph{encoded} (see} +\Qref[question]{\emph{encoded}}{Q-whatenc}\nothtml{)}, and the +encoding is used as an index into tables within the font. For +various reasons, Knuth chose deeply eccentric encodings for his +Computer Modern family of fonts; in +particular, he chose different encodings for different fonts, so that +the application using the fonts has to remember which font of the +family it's using before selecting a particular glyph. + +When \TeX{} version 3 arrived, most of the excuses for the +eccentricity of Knuth's encodings went away, and at \acro{TUG}'s Cork +meeting, an encoding for a set of 256 glyphs, for use in \TeX{} text, +was defined. The intention was that these glyphs should cover `most' +European languages that use Latin alphabets, in the sense of including +all accented letters needed. (Knuth's \acro{CMR} fonts missed things +necessary for Icelandic and Polish, for example, but the Cork +fonts have them. Even Cork's coverage isn't complete: it misses +letters from Romanian, Eastern and Northern Sami, and Welsh, at +least. The Cork encoding does contain ``\acro{NG}'' glyphs that +allows it to support Southern Sami.) \LaTeX{} refers to the +Cork encoding as \acro{T}1, and +provides the means to use fonts thus encoded to avoid problems with +the interaction of accents and hyphenation +% beware!!! fill-paragraph!!! +(see \Qref[question]{hyphenation of accented words}{Q-hyphenaccents}). +% beware!!! fill-paragraph!!! + +The only \MF{}-fonts that conform to the Cork encoding are the +\acro{EC} fonts. They look \acro{CM}-like, though their metrics +differ from \acro{CM}-font metrics in several areas. The fonts are +now regarded as `stable' (in the same sense that the \acro{CM} fonts +are stable: their metrics are unlikely ever to change). Their serious +disadvantages for the casual user are their size (each \acro{EC} font +is roughly twice the size of the corresponding \acro{CM} font), and +there are far more of them than there are \acro{CM} fonts. The simple +number of fonts has acted as a disincentive to the production of Adobe +Type~1 versions of the fonts,, but several commercial suppliers offer +\acro{EC} or +\acro{EC}-equivalent fonts in type~1 or TrueType form~--- see +% beware line fill +\Qref[question]{commercial suppliers}{Q-commercial}, and free +\htmlonly{\Qref{auto-traced versions}{Q-textrace}} are +available\nothtml{ (\Qref{ }{Q-textrace})}. +What's more, until corresponding fonts for mathematics are produced, +the \acro{CM} fonts must be retained because some mathematical symbols +are drawn from text fonts in the \acro{CM} encodings. + +The \acro{EC} fonts are distributed with a +set of `Text Companion' (\acro{TC}) fonts that provide glyphs for +symbols commonly used in text. The \acro{TC} fonts are encoded +according to the \LaTeX{} \acro{TS}1 encoding, and are not viewed as +`stable' in the same way as are the \acro{EC} fonts are. + +The Cork encoding is also implemented by virtual fonts provided in the +\htmlignore +\acro{PSNFSS} system (\Qref{}{Q-usepsfont}), +\endhtmlignore +\begin{htmlversion} + \Qref{\acro{PSNFSS} system}{Q-usepsfont}, +\end{htmlversion} +for \PS{} fonts, and also by the \Package{txfonts} and +\Package{pxfonts} font packages +% beware line wrap +(see \Qref[question]{``choice of scalable fonts''}{Q-psfchoice}). +\begin{ctanrefs} +\item[EC and TC fonts]\CTANref{ec} +\end{ctanrefs} + +\Question[Q-tds]{What is the \acro{TDS}?} + + \acro{TDS} stands for the \TeX{} Directory Structure, which is a standard +way of organising all the \TeX{}-related files on a computer system. + + Most modern distributions conform to the \acro{TDS}, which +provides for both a `standard' and a (set of) `local' hierarchies of +directories containing \TeX{}-related files. The +\acro{TDS} reserves the name |texmf| as the name of the root directory +(folder) of the hierarchies. Files supplied as part of the +distribution are put into the standard hierarchy. The location of the +standard hierarchy is system dependent, but on a Unix system it might +be at +\path{/usr/local/texmf}, or +\path{/usr/local/share/texmf}, or +\path{/opt/texmf}, or +a similar location, but in each case the \TeX{} files will be under the +\path{/texmf} subdirectory. + +There may be more than on `local' hierarchy in which additional files +can be stored. In the extreme an installation can have a local +hierarchy and each user can also have an individual local hierarchy. The +location of any local hierarchy is not only system dependent but also user +dependent. Again, though, all files should be put under a local \path{/texmf} +directory. + +The \acro{TDS} is published as the output of a \acro{TUG} % beware line wrap +\nothtml{Technical Working Group (}% +\Qref{Technical Working Group}{Q-TUG*}\nothtml{)}. +You may browse an \href{http://tug.org/tds/}{on-line version} of the +standard, and copies in several other formats (including source) are +available on \acro{CTAN}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\acro{TDS} specification]\CTANref{tds} +\end{ctanrefs} + +\Question[Q-eps]{What is ``Encapsulated \PS{}''} + +\PS{} has over the years become a \emph{lingua franca} of +powerful printers; since \PS{} is also a powerful graphical +programming language, it is commonly used as an output medium for +drawing (and other) packages. + +However, since \PS{} \emph{is} such a powerful language, some +rules need to be imposed, so that the output drawing may be included +in a document as a figure without ``leaking'' (and thereby destroying +the surrounding document, or failing to draw at all). + +Appendix \acro{H} of the \PS{} Language Reference Manual (second +and subsequent editions), specifies a set of rules for \PS{} to +be used as figures in this way. The important features are: +\begin{itemize} +\item certain ``structured comments'' are required; important ones are + the identification of the file type, and information about the + ``bounding box'' of the figure (i.e., the minimum rectangle + enclosing it); +\item some commands are forbidden~--- for example, a |showpage| + command will cause the image to disappear, in most \TeX{}-output + environments; and +\item ``preview information'' is permitted, for the benefit of things + such as word processors that don't have the ability to draw + \PS{} in their own right~--- this preview information may be in + any one of a number of system-specific formats, and any viewing + program may choose to ignore it. +\end{itemize} +A \PS{} figure that conforms to these rules is said to be in +``Encapsulated \PS{}'' format. Most \AllTeX{} packages for +including \PS{} are structured to use Encapsulated \PS{}; +which of course leads to much hilarity as exasperated \AllTeX{} users +struggle to cope with the output of drawing software whose authors +don't know the rules. + +\Question[Q-adobetypen]{Adobe font formats} +\keywords{type1 type3} + +Adobe has specified a number of formats for files to represent fonts +in \PS{} files; this question doesn't attempt to be encyclopaedic, but +we'll discuss the two formats most commonly encountered in the +\AllTeX{} context, types~1 and 3. + +Adobe Type~1 format specifies a means to represent outlines of the glyphs +in a font. The `language' used is closely restricted, to ensure that +the font is rendered as quickly as possible. (Or rather, as quickly +as possible with Adobe's technology at the time the specification was +written: the structure could well be different if it were specified +now.) The format has long been the basis of the digital type-foundry +business, though things are showing signs of change. + +%% Type~1 fonts are directly supported by some operating system software, +%% and at least one \TeX{} system, the commercial % line break! +%% \Qref*{\YandY{} system}{Q-commercial}, bases its entire +%% operation on the use of Type~1 fonts. + +In the \AllTeX{} context, Type~1 fonts are extremely important. Apart +from their simple +availability (there are thousands of commercial Type~1 text fonts around), the +commonest reader for \acro{PDF} files has long (in effect) \emph{insisted} on +their use (see \Qref[question]{\acro{PDF} quality}{Q-dvips-pdf}). + +Type~3 fonts have a more forgiving specification. A wide range of +\PS{} operators is permissible, including bitmaps operators. Type~3 +is therefore the natural format to be used for programs such as +\ProgName{dvips} when they auto-generate something to represent +\MF{}-generated fonts in a \PS{} file. It's Adobe Acrobat Viewer's +treatment of bitmap Type~3 fonts that has made direct \MF{} output +inreasingly unattractive, in recent years. If you have a \acro{PDF} +document in which the text looks fuzzy and uneven in Acrobat Reader, +ask Reader for the \texttt{File}\arrowhyph{}% +\texttt{Document Properties}\arrowhyph{}% +\texttt{Fonts ...}, and it will show some font or other as ``Type~3'' +(usually with encoding ``Custom''). (This problem has disappeared +with version 6 of Acrobat Reader.) + +Type~3 fonts should not entirely be dismissed, however. Acrobat +Reader's failure with them is entirely derived from its failure to use +the anti-aliasing techniques common in \TeX{}-ware. Choose a +different set of \PS{} graphical operators, and you can make pleasing +Type~3 fonts that don't ``annoy'' Reader. For example, you may not +change colour within a Type~1 font glyph, but there's no such +restriction on a Type~3 font, which opens opportunities for some +startling effects. + +\Question[Q-resolns]{What are ``resolutions''} + +``Resolution'' is a word that is used with little concern for its +multiple meanings, in computer equipment marketing. The word suggests +a measure of what an observer (perhaps the human eye) can resolve; yet +we regularly see advertisements for printers whose resolution is +1200dpi~--- far finer than the unaided human eye can distinguish. The +advertisements are talking about the precision with which the printer +can place spots on the printed image, which affects the fineness of +the representation of fonts, and the accuracy of the placement of +glyphs and other marks on the page. + +In fact, there are two sorts of ``resolution'' on the printed page +that we need to consider for \AllTeX{}'s purposes: +\begin{itemize} +\item the positioning accuracy, and +\item the quality of the fonts. +\end{itemize} +In the case where \AllTeX{} output is being sent direct to a printer, +in the printer's ``native'' language, it's plain that the \acro{DVI} +processor must know all such details, and must take detailed account +of both types of resolution. + +In the case where output is being sent to an intermediate distribution +format, that has potential for printing (or displaying) we know not +where, the final translator, that connects to directly to the printer +or display, has the knowledge of the device's properties: the +\acro{DVI} processor need not know, and should not presume to guess. + +Both \PS{} and \acro{PDF} output are in this category. While \PS{} is +used less frequently for document distribution nowadays, it is +regularly used as the source for distillation into \acro{PDF}; and +\acro{PDF} is the workhorse of an enormous explosion of document +distribution. + +Therefore, we need \acro{DVI} processors that will produce +``resolution independent'' \PS{} or \acro{PDF} output; of course, the +independence needs to extend to both forms of independence outlined +above. + +Resolution-independence of fonts is forced upon the world by the +feebleness of Adobe's \ProgName{Acrobat} \ProgName{Reader} at dealing +with bitmap files: a sequence of answers starting with one aiming at +the \Qref*{quality of \acro{PDF} from \PS{}}{Q-dvips-pdf} addresses +the problems that arise. + +Resolution-independence of positioning is more troublesome: +\ProgName{dvips} is somewhat notorious for insisting on positioning to +the accuracy of the declared resolution of the printer. +%% ~--- the only +%% \PS{} driver the author \emph{knows} to be capable of doing the right +%% thing is \Qref*{\YandY{}'s \ProgName{DVIPSONE}}{Q-commercial}. +One +commonly-used approach is to declare a resolution of 8000 (``better +than any device''), and this is reasonably successful though it does +have its \Qref*{problems}{Q-8000}. + +\Question[Q-fontname]{What is the ``Berry naming scheme''} + +In the olden days, \AllTeX{} distributions were limited by the +feebleness of file systems' ability to represent long names. (The +\MSDOS{} file system was a particular bugbear: fortunately any current +Microsoft system allows rather more freedom to specify file names. +Sadly, the ISO~9660 standard for the structure of \CDROM{}s has a +similar failing, but that too has been modified by various extension +mechanisms.) + +One area in which this was a particular problem was that of file names +for Type~1 fonts. These fonts are distributed by their vendors with +pretty meaningless short names, and there's a natural ambition to +change the name to something that identifies the font somewhat +precisely. Unfortunately, names such as ``BaskervilleMT'' are +already far beyond the abilities of the typical feeble file system, +and add the specifier of a font shape or variant, and the difficulties +spiral out of control. + +Thus arose the Berry naming scheme. + +The basis of the scheme is to encode the meanings of the various parts +of the file's specification in an extremely terse way, so that enough +font names can be expressed even in impoverished file spaces. The +encoding allocates one letter to the font ``foundry'', two to the +typeface name, one to the weight, and so on. The whole scheme is +outlined in the \Package{fontname} distribution, which includes +extensive documentation and a set of tables of fonts whose names have +been systematised. +\begin{ctanrefs} +\item[fontname distribution]\CTANref{fontname} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Acquiring the Software} + +\Question[Q-archives]{Repositories of \TeX{} material} + +To aid the archiving and retrieval of of \TeX{}-related files, a +\acro{TUG} working group developed the Comprehensive \TeX{} Archive +Network (\acro{CTAN}). Each \acro{CTAN} site has identical material, +and maintains authoritative versions of its material. These +collections are extensive; in particular, almost everything mentioned +in this \acro{FAQ} +is archived at the \acro{CTAN} sites (see the lists of software at the +end of each answer). + +The \acro{CTAN} sites are currently \FTP{dante.ctan.org} (Germany), +\FTP{cam.ctan.org} (UK) and \FTP{tug.ctan.org} (USA). +The organisation of \TeX{} files on all +\acro{CTAN} sites is identical and starts at +\path{tex-archive/}. Each \acro{CTAN} node may also be accessed via +the Web at \acro{URL}s \URL{http://www.dante.de/tex-archive}, +\URL{http://www.tex.ac.uk/tex-archive} and +\URL{http://www.ctan.org/tex-archive} respectively, but not all +\acro{CTAN} mirrors are Web-accessible. +As a matter of course, to reduce network load, +please use the \acro{CTAN} site +or mirror closest to you. A complete and current list of \acro{CTAN} sites +and known mirrors is available as file \CTANref{CTAN-sites} on the +archives themselves. + +For details of how to find files at \acro{CTAN} sites, see +``\Qref*{finding \AllTeX{} files}{Q-findfiles}''. + +The \TeX{} user who has no access to any sort of +network may buy a copy of the archive as part of the +\Qref*{\TeX{}~Live distribution}{Q-CD}. + +\Question[Q-nonfree]{What's the \acro{CTAN} \texttt{nonfree} tree?} + +The \acro{CTAN} archives are currently restructuring their holdings +so that files that are `not free' are held in a separate tree. The +definition of what is `free' (for this purpose) is influenced by, but +not exactly the same as the +\begin{narrowversion} % really non-hyper version + Debian Free Software Guidelines (\acro{DFSG}: see + \URL{http://www.debian.org/social_contract#guidelines}). +\end{narrowversion} +\begin{wideversion} +% don't let the line wrap... +\href{http://www.debian.org/social_contract#guidelines}{Debian Free Software Guidelines (\acro{DFSG})}. +\end{wideversion} + +Material is placed on the \texttt{nonfree} tree if it is not +freely-usable (e.g., if the material is shareware, commercial, or if +its usage is not permitted in certain domains at all, or without +payment). Users of the archive should check that they are entitled to +use material they have retrieved from the \texttt{nonfree} tree. + +The Catalogue (one of the prime sources for finding \TeX{}-related +material via \nothtml{web search~--- }% +\Qref{web search}{Q-findfiles}) lists the licence details in each +entry in its lists. +For details of the licence categories, see its +\begin{narrowversion} % really non-hyper version + list of licences~--- see + \URL{http://www.tex.ac.uk/tex-archive/help/Catalogue/licenses.html} +\end{narrowversion} +\begin{wideversion} +\href{http://www.tex.ac.uk/tex-archive/help/Catalogue/licenses.html}{list of licences}. +\end{wideversion} + +\Question[Q-uploads]{Contributing a file to the archives} + +You have something to submit to the archive~--- great! Before we even +start, here's a check-list of things to sort out: +\begin{enumerate} +\item Licence: in the spirit of \TeX{}, we hope for free software; in + the spirit of today's lawyer-enthralled society, \acro{CTAN} + provides a % ! line break + \href{http://www.tex.ac.uk/tex-archive/help/Catalogue/licenses.html}{list of ``standard'' licence statements}. +\item Documentation: it's good for users to be able to browse + documentation before downloading a package. You need at least a + plain text \File{README} file (exactly that name); best is a + \acro{PDF} file of the package documentation, prepared for screen + reading. +\item Name: endless confusion is caused by name clashes. If your + package has the same name as one already on \acro{CTAN}, or if your + package installation generates files of the same name as something + in a ``normal'' distribution, the \acro{CTAN} team will delay + installation while they check that you're doing the right thing: + they may nag you to change the name, or to negotiate a take-over + with the author of the original package. % beware line break + \Qref*{Browse the archive}{Q-findfiles} to ensure uniqueness. + + The name you choose should also (as far as possible) be somewhat + descriptive of what your submission actually \emph{does}; while + ``descriptiveness'' is to some extent in the eye of the beholder, + it's clear that names such as \File{mypackage} or \File{jiffy} + aren't suitable. +\end{enumerate} + +If you are able to use anonymous \ProgName{ftp}, get yourself a copy of +the file \File{README.uploads} from any +\Qref*{\acro{CTAN} archive}{Q-archives}. The file tells you +where to upload, what to upload, and how to notify the \acro{CTAN} +management about what you want doing with your upload. + +You may also upload via the Web: each of the principle \acro{CTAN} +sites offers an upload page~--- choose from +\URL{http://www.ctan.org/upload.html}, +\URL{http://www.dante.de/CTAN/upload.html} or +\URL{http://www.tex.ac.uk/upload.html}; the pages lead you through the +process, showing you the information you need to supply. + +If you can use neither of these methods, ask advice of the +\begin{narrowversion} % really non-hyper version + \acro{CTAN} management (\mailto{ctan@dante.de}): +\end{narrowversion} +\begin{wideversion} + \href{mailto:ctan@dante.de}{\acro{CTAN} management}: +\end{wideversion} +if the worst comes to the worst, it may be possible to mail a contribution. + +If it's appropriate (if your package is large, or regularly updated), +the \acro{CTAN} management can arrange to \ProgName{mirror} your +contribution direct into the archive. At present this may only be +done if your contribution is available via |ftp|, and of course the +directory structure on your archive must `fit'. +\begin{ctanrefs} +\item[README.uploads]\CTANref{CTAN-uploads} +\end{ctanrefs} + +\Question[Q-findfiles]{Finding \AllTeX{} files} + +Modern \TeX{} distributions contain a huge array of support files of +various sorts, but sooner or later most people need to find something +that's not in their present system (if nothing else, because they've +heard that something has been updated). + +But how to find the files? + +Some sources, such as these \acro{FAQ} answers, provide links to +files: so if you've learnt about a package here, you should be able to +retrieve it without too much fuss. + +Otherwise, the \acro{CTAN} sites provide searching facilities, via the web. +The simplest search, locating files by name, is to be found on the +Dante \acro{CTAN} +at \URL{http://www.dante.de/cgi-bin/ctan-index}; the script returns +the same data as does \texttt{quote site index}, but not truncated and +arranged very neatly as a series of links to directories and +individual files. + +The \href{http://www.tex.ac.uk/search}{\acro{UK}} and +\href{http://www.ctan.org/search}{\acro{USA}} \acro{CTAN}s offer a +search page that provides +\begin{itemize} +\item a file-name search similar to the Dante machine's (above); +\item a keyword search of the archive catalogue (see below): this is a + pretty powerful tool: the results include links to the catalogue + ``short descriptions'', so you can assure yourself that the package + you've found is the one you want; and +\item a search form that allows you to use \ProgName{Google} to search + \acro{CTAN}. +\end{itemize} + +In fact, \ProgName{Google}, and other search engines, can be useful +tools. Enter your search keywords, and you may pick up a package that +the author hasn't bothered to submit to \acro{CTAN}. If you're using +\ProgName{Google}, you can restrict your search to \acro{CTAN} by +entering +\begin{quote} + \texttt{site:ctan.org tex-archive \meta{search term(s)}} +\end{quote} +in \ProgName{Google}'s ``search box''. You can also enforce the +restriction using \ProgName{Google}'s ``advanced search'' mechanism; +other search engines (presumably) have similar facilities. + +Many people avoid the need to go over the network at all, for their +searches, by downloading the file list that Dante's % ! line break +``\texttt{quote site index}'' command uses. This file, \File{FILES.byname}, +presents a unified listing of the archive (omitting directory names and +cross-links). Its companion \File{FILES.last07days} is also useful, to +keep an eye on the changes on the archive. Since these files are +updated only once a day, a nightly automatic download (perhaps using +\ProgName{rsync}) makes good sense. +\begin{ctanrefs} +\item[FILES.byname]\CTANref{f-byname} +\item[FILES.last07days]\CTANref{f-last7} +\end{ctanrefs} + +\Question[Q-findfont]{Finding new fonts} + +A comprehensive list of \MF{} fonts used to be posted to +\Newsgroup{comp.fonts} and to \Newsgroup{comp.text.tex}, roughly +every six weeks, by Lee Quin. % (\Email|lee@sq.sq.com|) + +%The list contains details both of commercial fonts and of fonts +%available via anonymous |ftp|. Most of the fonts are available via +%anonymous |ftp| from the \acro{CTAN} archives +%(see \Qref[question]{sources of software}{Q-archives}). + +Nowadays, authors of new material in \MF{} are few and far between +(and mostly designing highly specialised things with limited appeal to +ordinary users). Most new fonts that appear are prepared in some +scalable outline form or other (see +\Qref[question]{``choice of scalable fonts''}{Q-psfchoice}), and they +are almost all distributed under commercial terms. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\MF{} font list]\CTANref{mf-list} +\end{ctanrefs} + +\Question[Q-CD]{The \TeX{}~Live distribution} + +If you don't have access to the Internet, there are obvious +attractions to \TeX{} collections on a disc. Even those with net +access will find large quantities of \TeX{}-related files to hand a +great convenience. + +The \TeX{}~Live distribution provides this, together with +a ready-to-run \TeX{} system. The \TeX{}~Live installation disc offers +te\TeX{} for use on Unix-like systems, and fp\TeX{} for use on Windows +systems. There is also a `demonstration' disc and an archive snapshot +(all on \acro{CD}- or \acro{DVD}-\acro{ROM}s). \TeX{}-Live +was originally developed under the auspices of a consortium of User +Groups (notably \acro{TUG}, \acro{UK}~\acro{TUG} and +\acro{GUT}enberg). All members of several User Groups receive copies +free of charge. Some user groups will also sell additional copies: +contact your local user group or \Qref*{\acro{TUG}}{Q-TUG*}. + +Details of \TeX{}~Live are available from its own +\begin{wideversion} % this really ought to be "hyperversion" or summat + \href{http://www.tug.org/texlive.html}{web page} + on the \acro{TUG} site. +\end{wideversion} +\begin{narrowversion} % and non-hyperversion? + web page on the + \acro{TUG} site \URL{http://www.tug.org/texlive.html} +\end{narrowversion} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{\TeX{} Systems} + +\Question[Q-TeXsystems]{\AllTeX{} for different machines} +\keywords{windows,macintosh,ms-dos,os/2,unix,linux} + +We list here the free or shareware packages; +\htmlignore +see \Qref{}{Q-commercial} for details of commercial packages. +\endhtmlignore +\begin{htmlversion} + another question addresses + \Qref{commercial \TeX{} vendors'}{Q-commercial} products. +\end{htmlversion} +\begin{description} +\item[Unix] Instructions for retrieving the \Package{web2c} Unix + \TeX{} distribution via anonymous |ftp| are to be found in + \File{unixtex.ftp}, though nowadays the sensible installer will + take (and possibly customise) one of the packaged distributions such + as te\TeX{}, or the \Qref*{\TeX{}~Live distribution}{Q-CD}. + + To compile and produce a complete te\TeX{} distribution, you need a + \texttt{.tar.gz} file for each of \texttt{teTeX-src}, + \texttt{teTeX-texmf} and \texttt{teTeX-texmfsrc}. + + No sets of te\TeX{} binaries are provided on \acro{CTAN}; however, + compilation of te\TeX{} is pretty stable, on a wide variety of + platforms. If you don't have the means to compile te\TeX{} + yourself, you will find that most ``support'' sites carry compiled + versions in their ``free area'', and the \TeX{}-live discs also + carry a wide range of binary distributions. + + There's a mailing list for te\TeX{} installation problems (and the + like): subscribe by sending mail to + \mailto{majordomo@dbs.uni-hannover.de} containing nothing more than + ``\texttt{subscribe tetex}''. The list is archived at + \URL{http://www.mail-archive.com/tetex@dbs.uni-hannover.de/}, and an + \acro{RSS} feed is available at the same site: + \URL{http://www.mail-archive.com/tetex@dbs.uni-hannover.de/maillist.xml} + + During periods when te\TeX{} is itself under development, a + ``te\TeX{}-beta'' is available. Before proceeding with the + \ensuremath{\beta}-release, check the \File{ANNOUNCE} files + in the two directories on \acro{CTAN}: it may well be that the + \ensuremath{\beta}-release doesn't offer you anything new, + that you need. + + Mac\acro{OS} \acro{X} users should refer to the information below, + under item ``Mac''. + \begin{ctanrefs} + \item[tetex]Browse \CTANref{tetex} + \item[tetex-beta]\CTANref{tetex-beta} + \item[unixtex.ftp]\CTANref{unixtexftp} + \item[web2c]\CTANref{web2c} + \end{ctanrefs} +\item[Linux] Linux users may use te\TeX{} (see above). + + The most recent offering is a free version of the + commercial \nothtml{V\TeX{} (see }% + \Qref[question]{V\TeX{}}{Q-commercial}\nothtml{)}, which among other + things, specialises in direct production of \acro{PDF} from + \AllTeX{} input. + \begin{ctanrefs} + \item[tetex]Browse \CTANref{tetex} + \item[vtex]\CTANref{vtex-linux} + \item[vtex \nothtml{\rmfamily}required common files]\CTANref{vtex-common} + \end{ctanrefs} +\item[\acro{PC}; \MSDOS{} or \acro{OS/}2] Em\TeX{}, by Eberhard Mattes, + includes \LaTeX{}, \BibTeX{}, previewers, and drivers, and is + available as a series of zip archives. Documentation is + available in both German and English. Appropriate memory managers + for using em\TeX{} with 386 (and better) processors and under + Windows, are included in the distribution. Em\TeX{} will operate + under Windows, but Windows users are better advised to use a + distribution tailored for the Windows environment. + + A version of em\TeX{}, packaged to use a + % beware line break + \Qref*{TDS directory structure}{Q-tds}, is separately available as + an em\TeX{} `contribution'. Note that neither em\TeX{} itself, nor + em\TeX{}\acro{TDS}, is maintained. Most users of Microsoft + operating systems, who want an up-to-date \AllTeX{} system, need to + migrate to Win32-based systems. + \begin{ctanrefs} + \item[emtex]\CTANref{emtex} + \item[emtexTDS]\CTANref{emtextds} + \end{ctanrefs} +\item[\acro{PC}; \MSDOS{}] The most recent \MSDOS{} offering is a + port of the Web2C~7.0 implementation, using the \acro{GNU} + \ProgName{djgpp} compiler. While this package is more recent than + em\TeX{}, it still implements a rather old instance of \AllTeX{}. + \begin{ctanrefs} + \item[djgpp]\CTANref{djgpp} + \end{ctanrefs} +\item[\acro{PC}; \acro{OS/}2] \acro{OS/}2 may also use a free version of the + commercial \nothtml{V\TeX{} (see }% + \Qref[question]{V\TeX{}}{Q-commercial}\nothtml{)}, which specialises + in direct production of \acro{PDF} from \AllTeX{} input. + \begin{ctanrefs} + \item[vtex]\CTANref{vtex-os2} + \item[vtex \nothtml{\rmfamily}required common files]\CTANref{vtex-common} + \end{ctanrefs} +\item[\acro{PC}: Win32] + fp\TeX{}, by Fabrice Popineau, is a version of te\TeX{} for Windows + systems. As such, it is particularly attractive to those who need + to switch back and forth between Windows and Unix environments, and + to administrators who need to maintain both (fp\TeX{} can use the + same \texttt{texmf} tree as a te\TeX{} installation). fp\TeX{}'s + previewer (\ProgName{Windvi}) is based on \ProgName{xdvi}, and takes + advantage of extra facilities in the Win32 environment. + \ProgName{Windvi} is capable of printing directly, and a version of + \ProgName{dvips} is also available. + + MiK\TeX{}, by Christian Schenk, is also a comprehensive + distribution, developed separately from the te\TeX{} work. It has + its own previewer, \acro{YAP}, which is itself capable of printing, + though the distribution also includes a port of \ProgName{dvips}. + The current version is available for file-by-file download (the + \acro{HTML} files in the directory offer hints + on what you need to get going). The MiK\TeX{} developers provide a + ready-to-run copy of the distribution, on \CDROM{} (for purchase) via the + \href{http://www.miktex.org/cd/}{MiK\TeX{} web site}. + + \href{http://tug.org/protext/}{Pro\TeX{}t}, by Thomas Feuerstack, is + a further option for installing MiK\TeX{}. It bundles a MiK\TeX{} + setup with some further useful utilities, together with a \acro{PDF} + file which contains clickable links for the various installation + steps, along with explanations. It again it is freeware, and copies + are distributed with the \Qref*{\TeX{}-live \acro{CD} set}{Q-CD}. + + A further (free) option arises from the + \href{http://www.cygwin.com}{``CygWin'' bundle}, which presents a + Unix-like environment over the Win32 interface; an X-windows server + is available. If you run CygWin on your Windows machine, you have + the option of using te\TeX{}, too (you will need the X-server, to + run \ProgName{xdvi}). Of course, te\TeX{} components will look like + Unix applications (but that's presumably what you wanted), but it's + also reputedly somewhat slower than native Win32 implementations + such as MiK\TeX{} or fp\TeX{}. Te\TeX{} is available as part of the + CygWin distribution (in the same way that a version is available + with most Linux distributions, nowadays), and you may also build + your own copy from the current sources. + + BaKoMa \TeX{}, by Basil Malyshev, is a comprehensive (shareware) + distribution, which focuses on support of Acrobat. The distribution + comes with a bunch of Type~1 fonts packaged to work with BaKoMa + \TeX{}, which further the focus. + \begin{ctanrefs} + \item[bakoma]\CTANref{bakoma-tex} + \item[fptex]\CTANref{fptex} + \item[miktex]Acquire \CTANref{miktex-setup}, and read + \CTANref{miktex-install} + \item[protext.exe]\CTANref{protext} + \item[tetex]\CTANref{tetex} + \end{ctanrefs} +\item[Windows \acro{NT}, other platforms] Ports of MiK\TeX{} for + \acro{NT} on Power \acro{PC} and \acro{AXP} are available. Neither + version has been updated for version~1.2 (or later) of + MiK\TeX{}~--- they may not be satisfactory. + \begin{ctanrefs} + \item[miktex for AXP]\CTANref{miktex-AXP} + \item[miktex for Power PC]\CTANref{miktexppc} + \end{ctanrefs} +\item[Mac] Oz\TeX{}, by Andrew Trevorrow, is a shareware version of + \TeX{} for the Macintosh. A \acro{DVI} previewer and \PS{} + driver are also included. +% It should run on any Macintosh Plus, SE, II, or newer model, but +% will not work on a 128K or 512K Mac + + \acro{UK}~\acro{TUG} prepays the shareware fee, so that its members may + acquire the software without further payment. Questions about + Oz\TeX{} may be directed to \mailto{oztex@midway.uchicago.edu} + + Another partly shareware program is \acro{CM}ac\TeX{}, put together + by Tom Kiffe. This is much closer + to the Unix \TeX{} setup (it uses \ProgName{dvips}, for instance). + \acro{CM}ac\TeX{} includes a port of the latest version of + \nothtml{Omega (}\Qref{Omega}{Q-omega}\nothtml{)}. + + Both Oz\TeX{} and \acro{CM}ac\TeX{} run on either Mac\acro{OS} + \acro{X} or on a sufficiently recent Mac\acro{OS} with CarbonLib + (v1.3~for Oz\TeX{}, v1.4~for \acro{CM}ac\TeX{}). + % beware line wrap + Mac\acro{OS}~\acro{X} users also have the option of + \href{http://www.rna.nl/tex.html}{gw\TeX{}}, by Gerben Wierda (which + is based on te\TeX{}). This is naturally usable from the + command line, just like any other Unix-based system, but it can also + be used Mac-style as the engine behind Richard Koch's (free) + \href{http://www.uoregon.edu/~koch/texshop/texshop.html}{TeXShop}, + which is an integrated \TeX{} editor and previewer. + +\begin{narrowversion} % really, non-hyper version + A useful resource for Mac users is to be found at + \URL{http://www.esm.psu.edu/mac-tex/}; it has a news and `help' + section, as well as details of systems and tools. +\end{narrowversion} +\begin{wideversion} + A useful + \href{http://www.esm.psu.edu/mac-tex/}{resource for Mac users} + has a news and `help' section, as well as details of systems and + tools. +\end{wideversion} +\begin{ctanrefs} + \item[cmactex]\CTANref{cmactex} + \item[oztex]\CTANref{oztex} + \item[MacOS X teTeX]\URL{ftp://ftp.nluug.nl/pub/comp/macosx/tex-gs/} + \item[TeXShop]\URL{http://darkwing.uoregon.edu/~koch/texshop/texshop.html} + \end{ctanrefs} +\item[Open\acro{VMS}] \TeX{} for Open\acro{VMS} is available. + +% Standard tape distribution is through \acro{DECUS} +% (see \Qref[question]{sources of software}{Q-archives}). + \checked{RF}{1994/10/11} + \begin{ctanrefs} + \item[OpenVMS]\CTANref{OpenVMSTeX} + \end{ctanrefs} +\item[Atari] \TeX{} is available for the Atari \acro{ST}. + + If anonymous |ftp| is not available to you, send a message + containing the line `|help|' to + \mailto{atari@atari.archive.umich.edu} + \begin{ctanrefs} + \item[Atari TeX]\CTANref{atari} + \end{ctanrefs} +\item[Amiga] Full implementations of \TeX{} 3.1 (Pas\TeX{}) and \MF{} + 2.7 are available. + \begin{ctanrefs} + \item[PasTeX]\CTANref{amiga} + \end{ctanrefs} +\item[\acro{TOPS}-20] \TeX{} was originally written on a \acro{DEC}-10 + under \acro{WAITS}, + and so was easily ported to \acro{TOPS}-20. A distribution that runs on + \acro{TOPS}-20 is available via anonymous |ftp| from \FTP|ftp.math.utah.edu| + in \path{pub/tex/pub/web} + \checked{RF}{2001/03/01} +\end{description} + +\Question[Q-editors]{\TeX{}-friendly editors and shells} + +There are good \TeX{}-writing environments and editors for most +operating systems; some are described below, but this is only a +personal selection: +\begin{description} +\item[Unix] Try + \href{http://www.gnu.org/software/emacs/emacs.html}{\acro{GNU}\nobreakspace\ProgName{emacs}} + or \href{http://www.xemacs.org/}{\ProgName{XEmacs}}, and + the \acro{AUC}-\TeX{} + bundle (available from \acro{CTAN}). \acro{AUC}-\TeX{} provides menu + items and control sequences for common constructs, checks syntax, + lays out markup nicely, lets you call \TeX{} and drivers from + within the editor, and everything else like this that you can think + of. Complex, but very powerful. + + Many who fail to find the versions of \ProgName{emacs} attractive, prefer + \href{http://vim.sourceforge.net}{\ProgName{vim}}, a highly configurable + editor (also available for Windows and Macintosh systems). Many + plugins are available to support the needs of the \AllTeX{} user, + including syntax highlighting, calling \TeX{} programs, + auto-insertion and -completion of common \AllTeX{} structures, and + browsing \LaTeX{} help. The scripts \File{auctex.vim} and + \File{bibtex.vim} seem to be the most common recommendations. + + The editor \href{http://nedit.org/}{\ProgName{NEdit}} is also free + and programmable, and is available for Unix systems. An + \acro{AUC}-\TeX{}-alike set of extensions for \ProgName{NEdit} is available + from \acro{CTAN}. + + \ProgName{LaTeX4Jed} provides much enhanced \LaTeX{} support for the + \href{http://www.jedsoft.org/jed/}{\ProgName{jed}} editor. + \ProgName{LaTeX4Jed} is similar to \acro{AUC}-\TeX{}: menus, + shortcuts, templates, syntax highlighting, document outline, + integrated debugging, symbol completion, full integration with + external programs, and more. It was designed with both the beginner + and the advanced LaTeX user in mind. + + The \ProgName{Kile} editor that is provided with the \acro{KDE} + window manager provides \acro{GUI} ``shell-like'' facilities, in a + similar way to the the widely-praised \ProgName{Winedt} (see below); + details (and downloads) are available from the project's + \href{http://kile.sourceforge.net/}{home on SourceForge}. A newer + system (by \ProgName{Kile}'s original author), + \href{http://www.xm1math.net/texmaker/}{\ProgName{texmaker}} doesn't + rely on \acro{KDE}'s facilities, and so may be more easily portable. +\item[\MSDOS{}] \TeX{}shell is a simple, + easily-customisable environment, which can be used with the editor + of your choice. + + You can also use \acro{GNU}~\ProgName{emacs} and \acro{AUC}-\TeX{} + under \MSDOS{}. +\item[Windows '9x, NT, etc.]\ProgName{TeXnicCenter} is a (free) + \TeX{}-oriented development system, uniting a powerful platform for + executing \AllTeX{} and friends with a configurable editor. + + \ProgName{Winedt}, a shareware package, is also highly spoken of. + It too provides a shell for the use of \TeX{} and related programs, + as well as a powerful and well-configured editor. + + Both \ProgName{emacs} and \ProgName{vim} are available in versions + for Windows systems. +\item[\acro{OS/}2] \ProgName{epmtex} offers an \acro{OS/}2-specific shell. +\item[Macintosh] The commercial Textures provides an excellent integrated + Macintosh environment with its own editor. More powerful still (as an + editor) is the shareware \ProgName{Alpha} which is + extensible enough to let you perform almost any \TeX{}-related job. It + works well with Oz\TeX{}. + + For MacOS~X users, the tool of choice appears to be + \href{http://www.uoregon.edu/~koch/texshop/texshop.html}{TeXShop}, which + combines an editor and a shell with a coherent philosophy of dealing + with \AllTeX{} in the OS~X environment. + + \ProgName{Vim} is available for use on Macintosh systems. +\end{description} +Atari, Amiga and \acro{N}e\acro{XT} users also have nice +environments. \LaTeX{} users looking for \ProgName{make}-like +facilities should try \ProgName{latexmk}. + +While many \AllTeX{}-oriented editors can support work on \BibTeX{} +files, there are many systems that provide specific ``database-like'' +access to your \BibTeX{} files~--- % ! line break +\htmlonly{see }\Qref{``creating a bibliography file''}{Q-buildbib}. +\begin{ctanrefs} +\item[alpha]\CTANref{alpha} +\item[auctex]\CTANref{auctex} +\item[epmtex]\CTANref{epmtex} +\item[latexmk]\CTANref{latexmk} +\item[LaTeX4Jed]\CTANref{latex4jed} +\item[Nedit LaTeX support]\CTANref{nedit-latex} +\item[TeXnicCenter]\CTANref{texniccenter} +\item[TeXshell]\CTANref{texshell} +\item[TeXtelmExtel]\CTANref{TeXtelmExtel} +\item[winedt]\CTANref{winedt} +\end{ctanrefs} + +\Question[Q-commercial]{Commercial \TeX{} implementations} +\keywords{windows,macintosh,commercial} + +There are many commercial implementations of \TeX{}. The first +appeared not long after \TeX{} itself appeared. + +What follows is probably an incomplete list. Naturally, no warranty or +fitness for purpose is implied by the inclusion of any vendor in this +list. The source of the information is given to provide some clues to +its currency. + +In general, a commercial implementation will come `complete', that is, +with suitable previewers and printer drivers. They normally also have +extensive documentation (\emph{i.e}., not just the \TeX{}book!) and some +sort of support service. In some cases this is a toll free number +(probably applicable only within the \acro{USA} and or Canada), but others +also have email, and normal telephone and fax support. +\begin{description} +\item[\acro{PC}; True\TeX{}] Runs on all versions of Windows. + \begin{quote} + Richard J. Kinch\\ + TrueTeX Software\\ + 7890 Pebble Beach Court\\ + Lake Worth \acro{FL} 33467\\ + \acro{USA}\\[.25\baselineskip] + Tel: +1 561-966-8400\\ + Email: \mailto{kinch@truetex.com}\\ + Web: \URL{http://www.truetex.com/} + \end{quote} + Source: Mail from Richard Kinch, August 2004. +%% \item[\acro{PC}; \YandY{} \TeX{}] ``Bitmap free \TeX{} for Windows.'' +%% \begin{quote} +%% \YandY{}, Inc.\\ +%% 106 Indian Hill, \acro{MA} 01741-1747\\ +%% \acro{USA}\\[.25\baselineskip] +%% Tel: 800-742-4059 (within North America)\\ +%% Tel: +1 978-371-3286\\ +%% Fax: +1 978-371-2004\\ +%% Email: \mailto{sales-help@YandY.com} and +%% \nothtml{\\ \hphantom{Email: }}% +%% \mailto{tech-help@YandY.com}\\ +%% Web: \URL{http://www.YandY.com/} +%% \end{quote} +%% Source: Confirmed with \YandY{}, February 2003 +\item[pc\TeX{}] Long-established: pc\TeX{}32 is a Windows implementation. + \begin{quote} + Personal \TeX{} Inc\\ + 725 Greenwich Street, Suite 210 \\ + San Francisco, \acro{CA} 94133\\ + \acro{USA}\\[.25\baselineskip] + Tel: 800-808-7906 (within the \acro{USA})\\ + Tel: +1 415-296-7550\\ + Fax: +1 415-296-7501\\ + Email: \mailto{sales@pctex.com}\\ + Web: \URL{http://www.pctex.com/} + \end{quote} + Source: Personal \TeX{} Inc web site, December 2004 +\item[\acro{PC}; V\TeX{}] \acro{DVI}, \acro{PDF} and \acro{HTML} + backends, Visual Tools and Type 1 fonts + \begin{quote} + MicroPress Inc\\ + 68-30 Harrow Street\\ + Forest Hills, \acro{NY} 11375\\ + \acro{USA}\\[.25\baselineskip] + Tel: +1 718-575-1816\\ + Fax: +1 718-575-8038\\ + Email: \mailto{support@micropress-inc.com}\\ + Web: \URL{http://www.micropress-inc.com/} + \end{quote} + Source: Mail from MicroPress, Inc., July 1999 +\item[\acro{PC}; Scientific Word] Scientific Word and Scientific Workplace + offer a mechanism for near-\WYSIWYG{} input of \LaTeX{} documents; they + ship with True\TeX{} from Kinch (see above). Queries within the \acro{UK} + and Ireland should be addressed to Scientific Word Ltd., others should be + addressed directly to the publisher, MacKichan Software Inc. + \begin{quote} + Dr Christopher Mabb\\ + Scientific Word Ltd.\\ + 20 Bankpark Crescent\\ + Tranent\\ + East Lothian, \acro{EH}33 1\acro{AS}\\ + \acro{UK}\\[0.25\baselineskip] + Tel: 0845 766\,0340 (within the \acro{UK}) \\ + Tel: +44 1875 616516 \\ + Fax: 01875 613513 (within the \acro{UK}) \\ + Email: \mailto{christopher@sciword.demon.co.uk} \\ + Web: \URL{http://www.sciword.demon.co.uk} + \end{quote} + \begin{quote} + MacKichan Software Inc.\\ + 19307 8th Avenue, Suite C\\ + Poulsbo \acro{WA} 98370-7370\\ + \acro{USA}\\[0.25\baselineskip] + Tel: +1 360 394\,6033\\ + Tel: 877 724\,9673 (within the \acro{USA}) + Fax: +1 360 394\,6039\\ + Email: \mailto{info@mackichan.com}\\ + Web: \URL{http://www.mackichan.com} + \end{quote} + Source: Mail from Christopher Mabb, November 2004 +\item[Macintosh; Textures] ``A \TeX{} system `for the rest of + us'\,''; also gives away a \MF{} implementation and some + font manipulation tools. + \begin{quote} + Blue Sky Research\\ + 534 SW Third Avenue\\ + Portland, \acro{OR} 97204\\ + \acro{USA}\\[.25\baselineskip] + Tel: 800-622-8398 (within the \acro{USA})\\ + Tel: +1 503-222-9571\\ + Fax: +1 503-222-1643\\ + Email: \mailto{sales@bluesky.com}\\ + Web: \URL{http://www.bluesky.com/} + \end{quote} + Source: \TUGboat{} 15(1) (1994) +\item[Amiga\TeX{}] A full implementation for the Commodore Amiga, + including full, on-screen and printing support for all \PS{} + graphics and fonts, IFF raster graphics, automatic font generation, + and all of the standard macros and utilities. + \begin{quote} + Radical Eye Software\\ + \acro{PO} Box 2081\\ + Stanford, \acro{CA} 94309\\ + \acro{USA} + \end{quote} + Source: Mail from Tom Rokicki, November 1994 +\end{description} +\checked{mc}{1994/11/09}% +\checked{RF}{1994/11/24}% + +Note that the company \YandY{} has gone out of business, and \YandY{} +\TeX{} (and support for it) is therefore no longer available. Users +of \YandY{} systems may care to use the self-help +\href*{http://lists.ucc.ie/lists/archives/yandytex.html}{mailing list} +that was established in 2003. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{\acro{DVI} Drivers and Previewers} + +\Question[Q-dvips]{\acro{DVI} to \PS{} conversion programs} + +The best public domain \acro{DVI} to \PS{} conversion program, which +runs under many operating systems, is Tom Rokicki's \ProgName{dvips}. +\ProgName{dvips} is written in \acro{C} and ports easily. All current +development is in the context of Karl Berry's \ProgName{kpathsea} +library, and sources are available from the \TeX{}~live repository. + +An \acro{VMS} versions is available as part of the \acro{CTAN} +distribution of \TeX{} for \acro{VMS}. + +A precompiled version to work with em\TeX{} is available on \acro{CTAN}. + +%Another good portable program is \ProgName{dvitops} by James Clark, +%which is also written in C and will compile under Unix, \MSDOS{}, \acro{VMS}, +%and Primos; however, it does not support virtual fonts. It is +%available from +%\CTANref{dvitops} + +Macintosh users can use either the excellent drivers built into Oz\TeX{} +or Textures, or a port of \ProgName{dvips} in the \acro{CM}ac\TeX{} +package. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\MSDOS{} and \nothtml{\acro}{OS/}2]\CTANref{dvips-pc} +\item[\nothtml{\rmfamily}VMS distribution]\CTANref{OpenVMSTeX} +\end{ctanrefs} + +\Question[Q-HPdrivers]{\acro{DVI} drivers for \acro{HP} LaserJet} + +The em\TeX{} distribution (see \Qref[question]{\TeX{} systems}{Q-TeXsystems}) +contains a driver for the LaserJet, \ProgName{dvihplj}. + +Version 2.10 of the Beebe drivers supports the LaserJet. These drivers +will compile under Unix, \acro{VMS}, and on the Atari ST and +\acro{DEC}-20s. + +For Unix systems, Karl Berry's \ProgName{dviljk} uses the same +path-searching library as \ProgName{web2c}. \ProgName{dviljk} is no +longer distributed as a separate source, but the te\TeX{} distribution +holds a copy under the name \ProgName{dvilj}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Beebe drivers]\CTANref{beebe} +\end{ctanrefs} + +\Question[Q-otherprinters]{Output to ``other'' printers} + +In the early years of \TeX{}, there were masses of \acro{DVI} drivers +for any (then) imaginable kind of printer, but the steam seems rather +to have gone out of the market for production of such drivers for +printer-specific formats. There are several reasons for this, but the +primary one is that few formats offer the flexibility available +through \PS{}, and \ProgName{ghostscript} is \emph{so} good, and +has \emph{such} a wide range of printer drivers (perhaps this is where +the \acro{DVI} output driver writers have all gone?). + +The general advice, then, is to \nothtml{generate \PS{} (}% +\Qref{generate \PS{}}{Q-dvips}\nothtml{)}, and to process +that with \ProgName{ghostscript} set to generate the format for the +printer you actually have. If you are using a Unix system of some +sort, it's generally quite easy to insert \ProgName{ghostscript} into +the print spooling process. +\begin{ctanrefs} +\item[ghostscript]Browse \CTANref{ghostscript} +\end{ctanrefs} + +\Question[Q-previewers]{\acro{DVI} previewers} + +Em\TeX{} for \acro{PC}s running \MSDOS{} or \acro{OS/}2, MiK\TeX{} and +fp\TeX{} for \acro{PC}s running Windows and Oz\TeX{} for the Macintosh, all +come with previewers that can be used on those platforms. Em\TeX{}'s +previewer can also be run under Windows~3.1. + +Commercial \acro{PC} \TeX{} packages (see +\Qref[question]{commercial vendors}{Q-commercial}) +have good previewers for \acro{PC}s running Windows, or for Macintoshes. + +For Unix systems, there is one `canonical' viewer, \ProgName{xdvi}. +\ProgName{Xdvik} is a version of \ProgName{xdvi} using the +\ProgName{web2c} libraries; it is now built from the same distribution +as \ProgName{xdvi}. Unix \TeX{} distributions (such as +te\TeX{}) include a version of \ProgName{xdvik} +using the same version of \ProgName{web2c} as the rest of the +distribution. + +Alternatives to previewing include +\begin{itemize} +\item conversion to `similar' \acro{ASCII} text (see + \Qref[question]{converting to \acro{ASCII}}{Q-toascii}) and using a + conventional text viewer to look at that, +\item generating a \PS{} version of your document and viewing it + with a \ProgName{Ghostscript}-based previewer (see + \Qref[question]{previewing \PS{} files}{Q-PSpreview}), and +\item generating \acro{PDF} output, and viewing that with + \ProgName{Acrobat} \ProgName{Reader} or one of the substitutes for that. +\end{itemize} +\begin{ctanrefs} +\item[xdvi]\CTANref{xdvi} +\end{ctanrefs} + +\Question[Q-dvi-bmp]{Generating bitmaps from \acro{DVI}} + +In the last analysis, any \acro{DVI} driver or previewer is generating +bitmaps: bitmaps for placing tiny dots on paper via a laser- or +inkjet-printer, or bitmaps for filling some portion of your screen. +However, it's usually difficult to extract any of those bitmaps any +way other than by screen capture, and the resolution of \emph{that} is +commonly lamentable. + +Why would one want separate bitmaps? Most often, the requirement is for +something that can be included in \acro{HTML} generated from \AllTeX{} +source~--- not everything that you can write in \AllTeX{} can be +translated to \acro{HTML} (at least, portable \acro{HTML} that may be +viewed in `most' browsers), so the commonest avoiding action is to +generate a bitmap of the missing bit. Examples are maths (a maths +extension to the |*|\acro{ML} family is available but not widely +used), and `exotic' typescripts (ones that you cannot guarantee your +readers will have available). Other common examples are generation of +sample bitmaps, and generation for insertion into some other +application's display~--- to insert equations into Microsoft +PowerPoint, or to support the enhanced-\ProgName{emacs} setup called +\nothtml{\ProgName{preview}-\ProgName{latex} (}% beware line breaks +\Qref{\ProgName{preview}-\ProgName{latex}}{Q-WYGexpts}\nothtml{)}. + +In the past, the commonest way of generating bitmaps was to generate a +\PS{} file of the \acro{DVI} and then use \ProgName{ghostscript} to +produce the required bitmap format (possibly by way of \acro{PNM} +format or something similar). This is an undesirable procedure (it is +very slow, and requires two or three steps) but it has served for a +long time. + +\AllTeX{} users may now take advantage of two bitmap `drivers'. The +longest-established, \ProgName{dvi2bitmap}, will generate \acro{XBM} and +\acro{XPM} formats, the long-deprecated \acro{GIF} format (which is +now obsolescent, but is +finally, in Summer 2003, to be relieved of the patent protection of +the \acro{LZW} compression it uses), and also +the modern (\acro{ISO}-standardised) \acro{PNG} format. + +Dvipng started out as a PNG renderer; from version 1.2 it can also +render to the GIF format. It is designed for speed, in environments that +generate large numbers of \acro{PNG} files: the \File{README} mentions +\ProgName{preview}-\ProgName{latex}, \ProgName{LyX}, and a few +web-oriented environments. Note that \ProgName{dvipng} gives +high-quality output even though its internal operations are optimised +for speed. +\begin{ctanrefs} +\item[dvi2bitmap]\CTANref{dvi2bitmap} +\item[dvipng]\CTANref{dvipng} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Support Packages for \TeX{}} + +\Question[Q-fig]{Fig, a \AllTeX{}-friendly drawing package} + +\ProgName{(X)Fig} is a menu driven tool that allows you to +draw objects on the screen of an \acro{X} workstation; \ProgName{transfig} +is a set of tools which translate the code \ProgName{fig}. The list +of export formats is very long, and includes \MF{} and \MP{}, +Encapsulated \PS{} and \acro{PDF}, as well as combinations that wrap +a graphics format in a \LaTeX{} import file. + +There's no explicit port of \ProgName{xfig} to windows (although it is +believed to work under \ProgName{cygwin} with their X-windows system). +However, the program +\href{http://tech-www.informatik.uni-hamburg.de/applets/javafig/}{\ProgName{jfig}} +is thought by many to be an acceptable substitute, written in Java. +\begin{ctanrefs} +\item[xfig]\CTANref{xfig} +\item[transfig]\CTANref{transfig} +\end{ctanrefs} + +\Question[Q-texcad]{\TeX{}\acro{CAD}, a drawing package for \LaTeX{}} + +\TeX{}\acro{CAD} is a program for the \acro{PC} which enables the user to draw diagrams +on screen using a mouse or arrow keys, with an on-screen menu of available +picture-elements. Its output is code for the \LaTeX{} +\environment{picture} environment. +Optionally, it can be set to include lines at all angles using +the em\TeX{} driver-family +\htmlignore +|\special|s (\Qref{}{Q-specials}). +\endhtmlignore +\begin{htmlversion} +\Qref{\csx{special}s}{Q-specials}. +\end{htmlversion} +\TeX{}\acro{CAD} is part of the em\TeX{} distribution. + +A Unix port of the program (\ProgName{xtexcad}) has been made. +\begin{ctanrefs} +\item[emtex]\CTANref{emtex} +\item[xtexcad]\CTANref{xtexcad} +\end{ctanrefs} + +\Question[Q-spell]{Spelling checkers for work with \TeX{}} + +For Unix, \ProgName{ispell} has long the program of choice; it is well +integrated with \ProgName{emacs}, and deals with some \TeX{} syntax. +However, it is increasingly challenged by \ProgName{aspell}, which was +designed as a successor, and certainly performs better on most +metrics; there remains some question as to its performance with +\AllTeX{} sources. + +For Windows, there is a good spell checker incorporated into many of +the \Qref*{shell/editor}{Q-editors} combinations that are available. +The spell checker from the (now defunct) 4All\TeX{} shell remains +available as a separate package, \ProgName{4spell}. + +For the Macintosh, \ProgName{Excalibur} is the program of choice. It +will run in native mode on both sorts of Macintosh. The distribution +comes with dictionaries for several languages. + +The \acro{VMS} Pascal program \ProgName{spell} makes special cases of +some important features of \LaTeX{} syntax. + +For \MSDOS{}, there are several programs. \ProgName{Amspell} can be +called from within an editor, and \ProgName{jspell} is an extended +version of \ProgName{ispell}. +\begin{ctanrefs} +\item[4spell]\CTANref{4spell} +\item[amspell]\CTANref{amspell} +\item[aspell]Browse \CTANref{aspell}~--- choose just those language + dictionaries (under subdirectory \File{dict/} that you need. +\item[excalibur]\CTANref{Excalibur} +\item[ispell]\CTANref{ispell} +\item[jspell]\CTANref{jspell} +\item[\nothtml{\bgroup\rmfamily}\acro{VMS}\nothtml{\egroup} spell]% + \CTANref{vmspell} +\item[winedt]\CTANref{winedt} +\end{ctanrefs} + +\Question[Q-wordcount]{How many words have you written?} + +One often has to submit a document (e.g., a paper or a dissertation) +under some sort of constraint about its size. Sensible people set a +constraint in terms of numbers of pages, but there are some that +persist in limiting the numbers of words you type. + +A simple solution to the requirement can be achieved following a +simple observation: the powers that be are unlikely to count all the +words of a document submitted to them. Therefore, a statistical +method can be employed: find how many words there are on a full page; +find how many full pages there are in the document (allowing for +displays of various sorts, this number will probably not be an +integer); multiply the two. However, if the document to be submitted +is to determine the success of the rest of one's life, it takes a +brave person to thumb their nose at authority quite so +comprehensively\dots{} + +The simplest method is to strip out the \AllTeX{} markup, and to count +what's left. On a Unix-like system, this may be done using +\ProgName{detex} and the built-in \ProgName{wc}: +\begin{verbatim} + detex <filename> | wc -w +\end{verbatim} +The \ProgName{latexcount} script does the same sort of job, in one +``step''; being a \ProgName{perl} script, it is in principle rather +easily configured (see documentation inside the script). +\ProgName{Winedt} (see \Qref[question]{editors and shells}{Q-editors}) +provides this functionality direct in the Windows environment. + +Simply stripping \AllTeX{} markup isn't entirely reliable, however: +that markup itself may contribute typeset words, and this could be a +problem. The \Package{wordcount} package +contains a Bourne shell (i.e., typically Unix) script for running a +\LaTeX{} file with a special piece of supporting \TeX{} code, and then +counting word indications in the log file. This is probably as +accurate automatic counting as you can get. +\begin{ctanrefs} +\item[detex]\CTANref{detex} +\item[wordcount]\CTANref{wordcount} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Literate programming} + +\Question[Q-lit]{What is Literate Programming?} + +Literate programming is the combination of documentation and source +together in a fashion suited for reading by human beings. +In general, literate programs combine source +and documentation in a single file. Literate programming tools then +parse the file to produce either readable documentation or compilable +source. The \acro{WEB} style of literate programming was created by +D.~E.~Knuth during the development of \TeX{}. + +\htmlignore +The ``documented \LaTeX{}'' style of programming (\Qref{}{Q-dtx}) +\endhtmlignore +\begin{htmlversion} + The \Qref{``documented \LaTeX{}''}{Q-dtx} style of programming +\end{htmlversion} +is regarded by some as a form of literate programming, though it only +contains a subset of the constructs Knuth used. + +Discussion of literate programming is conducted in the newsgroup +\Newsgroup{comp.programming.literate}, whose \acro{FAQ} is stored on +\acro{CTAN}. Another good source of information is +\URL{http://www.literateprogramming.com/} +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Literate Programming \acro{FAQ}]% + \CTANref{LitProg-FAQ} +\end{ctanrefs} + +\Question[Q-webpkgs]{\acro{WEB} systems for various languages} + +\TeX{} is written in the programming language \acro{WEB}; \acro{WEB} +is a tool to implement the concept of ``literate programming''. +Knuth's original implementation will be in any respectable +distribution of \TeX{}, but the sources of the two tools +(\ProgName{tangle} and \ProgName{weave}), together with a manual +outlining the programming techniques, may be had from \acro{CTAN}. + +\acro{\ProgName{CWEB}}, by Silvio Levy, is a \acro{WEB} for \acro{C} programs. + +Spidery \acro{WEB}, by Norman Ramsey, supports many +languages including Ada, |awk|, and \acro{C} +and, while not in the public domain, is usable without charge. It is +now superseded by \ProgName{noweb} (also by Norman Ramsay) which +incorporates the lessons learned in implementing spidery \acro{WEB}, +and which is a simpler, equally powerful, tool. + +\acro{\ProgName{FWEB}}, by John Krommes, is a version for Fortran, +Ratfor, and \acro{C}. + +\ProgName{Scheme}\acro{\ProgName{WEB}}, by John Ramsdell, is a Unix filter that +translates Scheme\acro{WEB} into \LaTeX{} source or Scheme source. + +\acro{\ProgName{APLWEB}} is a version of \acro{WEB} for \acro{APL}. + +\ProgName{FunnelWeb} is a version of \acro{WEB} that is language independent. + +Other language independent versions of \acro{WEB} are \ProgName{nuweb} (which +is written in \acro{ANSI} \acro{C}). + +\ProgName{Tweb} is a \acro{WEB} for Plain \TeX{} macro files, using +\ProgName{noweb}. +\begin{ctanrefs} +\item[aplweb]\CTANref{aplweb} +\item[cweb]\CTANref{cweb} +\item[funnelweb]\CTANref{funnelweb} +\item[fweb]\CTANref{fweb} +\item[noweb]\CTANref{noweb} +\item[nuweb]\CTANref{nuweb} +\item[schemeweb]\CTANref{schemeweb} +\item[spiderweb]\CTANref{spiderweb} +\item[tangle]\CTANref{web} +\item[tweb]\CTANref{tweb} +\item[weave]\CTANref{web} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Format conversions} + +\Question[Q-toascii]{Conversion from \AllTeX{} to plain \acro{ASCII}} + +The aim here is to emulate the Unix \ProgName{nroff}, which formats +text as best it can for the screen, from the same +input as the Unix typesetting program \ProgName{troff}. + +Converting \acro{DVI} to plain text is the basis of many of these +techniques; sometimes the simple conversion provides a good enough +response. Options are: +\begin{itemize} +\item \ProgName{dvi2tty} (one of the earliest) +\item \ProgName{crudetype} +\item \ProgName{catdvi}, which is also capable of generating Latin-1 + or \acro{UTF}-8 encoded output. \ProgName{Catdvi} was conceived as + a replacement for \ProgName{dvi2tty}, but can't (quite) be + recommended as a complete replacement yet. +\end{itemize} + +Ralph Droms provides a \Package{txt} bundle of things in support of +\acro{ASCII} generation, +but it doesn't do a good job with tables and mathematics. An +alternative is the \Package{screen} package. + +Another possibility is to +use the \LaTeX{}-to-\acro{ASCII} conversion program, \ProgName{l2a}, +although this is really more of a de-\TeX{}ing program. + +The canonical de-\TeX{}ing program is \ProgName{detex}, which removes +all comments and control sequences +from its input before writing it to its output. Its original purpose +was to prepare input for a dumb spelling checker, and it's only usable +for preparing useful \acro{ASCII} versions of a document in highly +restricted circumstances. + +\ProgName{Tex2mail} is slightly more than a de-TeX{}er~--- it's a +\ProgName{Perl} script that converts \TeX{} files into +plain text files, expanding various mathematical symbols +(sums, products, integrals, sub/superscripts, fractions, square +roots, \dots{}\@) into ``\acro{ASCII} art'' that spreads over +multiple lines if necessary. The result is more readable to human +beings than the flat-style \TeX{} code. + +Another significant possibility is to use one of the +\nothtml{\acro{HTML}-generation solutions (}% +% beware line wrap +\Qref{\acro{HTML}-generation solutions}{Q-LaTeX2HTML}\nothtml{)}, +and then to use a browser such as \ProgName{lynx} to dump the resulting +\acro{HTML} as plain text. +\begin{ctanrefs} +\item[catdvi]\CTANref{catdvi} +\item[crudetype]\CTANref{crudetype} +\item[detex]\CTANref{detex} +\item[dvi2tty]\CTANref{dvi2tty} +\item[l2a]\CTANref{l2a} +\item[screen.sty]\CTANref{screensty} +\item[tex2mail]\CTANref{tex2mail} +\item[txt]\CTANref{txtdist} +\end{ctanrefs} + +\Question[Q-SGML2TeX]{Conversion from \acro{SGML} or \acro{HTML} to \protect\TeX{}} + +\acro{SGML} is a very important system for document storage and interchange, +but it has no formatting features; its companion \acro{ISO} standard +\acro{DSSSL} +(see \URL{http://www.jclark.com/dsssl/}) is designed for writing +transformations and formatting, +but this has not yet been widely implemented. Some \acro{SGML} authoring +systems (e.g., SoftQuad \ProgName{Author/Editor}) have formatting +abilities, and +there are high-end specialist \acro{SGML} typesetting systems (e.g., Miles33's +\ProgName{Genera}). However, the majority of \acro{SGML} users probably transform +the source to an existing typesetting system when they want to print. +\TeX{} is a good candidate for this. There are three approaches to writing a +translator: +\begin{enumerate} +\item Write a free-standing translator in the traditional way, with + tools like \ProgName{yacc} and \ProgName{lex}; this is hard, in + practice, because of the complexity of \acro{SGML}. +\item Use a specialist language designed for \acro{SGML} transformations; the + best known are probably \ProgName{Omnimark} and \ProgName{Balise}. + They are expensive, but powerful, incorporating \acro{SGML} query and + transformation abilities as well as simple translation. +\item Build a translator on top of an existing \acro{SGML} parser. By far + the best-known (and free!) parser is James Clark's + \ProgName{nsgmls}, and this produces a much simpler output format, + called \acro{ESIS}, which can be parsed quite straightforwardly (one also + has the benefit of an \acro{SGML} parse against the \acro{DTD}). Two + good public domain packages use this method: + \begin{itemize} + \item +\begin{narrowversion} % really non-hyper + David Megginson's \ProgName{sgmlspm}, written in \ProgName{Perl} + 5, which is available from + \URL{http://www.perl.com/CPAN/modules/by-module/SGMLS} +\end{narrowversion} +\begin{wideversion} + David Megginson's + \href{http://www.perl.com/CPAN/modules/by-module/SGMLS}{\ProgName{sgmlspm}}, + written in \ProgName{Perl} 5. +\end{wideversion} +%or |home.sprynet.com/sprynet/dmeggins/SGMLSpm-1.03ii.tar.gz| +%was |www.uottawa.ca/~dmeggins/SGMLSpm/sgmlspm.html| + \item +\begin{narrowversion} % really non-hyper + Joachim Schrod and Christine Detig's \ProgName{stil}, written + in Common Lisp, which is available from + \URL{ftp://ftp.th-darmstadt.de/pub/text/sgml/stil} +\end{narrowversion} +\begin{wideversion} + Joachim Schrod and Christine Detig's + \href{ftp://ftp.th-darmstadt.de/pub/text/sgml/stil}{\ProgName{stil}}, + written in Common Lisp. +\end{wideversion} +% checked RF 2001/03/19 + \end{itemize} + Both of these allow the user to write `handlers' for every \acro{SGML} + element, with plenty of access to attributes, entities, and + information about the context within the document tree. + + If these packages don't meet your needs for an average \acro{SGML} + typesetting job, you need the big commercial stuff. +\end{enumerate} + +Since \acro{HTML} is simply an example of \acro{SGML}, we do not need a specific +system for \acro{HTML}. However, Nathan Torkington developed +% (\Email|Nathan.Torkington@vuw.ac.nz|) +\ProgName{html2latex} from the \acro{HTML} parser in \acro{NCSA}'s +Xmosaic package. +The program takes an \acro{HTML} file and generates a \LaTeX{} file from it. +The conversion code is subject to \acro{NCSA} restrictions, but the whole +source is available on \acro{CTAN}. + +Michel Goossens and Janne Saarela published a very useful summary of +\acro{SGML}, and of public domain tools for writing and manipulating it, in +\TUGboat{} 16(2). +\begin{ctanrefs} +\item[html2latex \nothtml{\rmfamily}source]\CTANref{html2latex} +\end{ctanrefs} + +\Question[Q-LaTeX2HTML]{Conversion from \AllTeX{} to \acro{HTML}} + +\TeX{} and \LaTeX{} are well suited to producing electronically publishable +documents. However, it is important to realize the difference +between page layout and functional markup. \TeX{} is capable of +extremely detailed page layout; \acro{HTML} is not, because \acro{HTML} is a +functional markup language not a page layout language. \acro{HTML}'s exact +rendering is not specified by the document that is published but is, to +some degree, left to the discretion of the browser. If you require your +readers to see an exact replication of what your document looks like +to you, then you cannot use \acro{HTML} and you must use some other +publishing format such as \acro{PDF}. That is true for any \acro{HTML} +authoring tool. + +\TeX{}'s excellent mathematical capabilities remain a challenge in the +business of conversion to \acro{HTML}. There are only two generally +reliable techniques for generating mathematics on the web: creating +bitmaps of bits of typesetting that can't be translated, and using +symbols and table constructs. Neither technique is entirely +satisfactory. Bitmaps lead to a profusion of tiny files, are slow to +load, and are inaccessible to those with visual disabilities. The +symbol fonts offer poor coverage of mathematics, and their use +requires configuration of the browser. The future of mathematical +browsing may be brighter~--- see +% beware line break +\Qref[question]{future Web technologies}{Q-mathml}. + +For today, possible packages are: +\begin{description} +\item[\ProgName{LaTeX2HTML}]a \ProgName{Perl} script package that + supports \LaTeX{} only, and generates mathematics (and other + ``difficult'' things) using bitmaps. The original version was + written by Nikos Drakos for Unix systems, but the package now sports + an illustrious list of co-authors and is also available for Windows + systems. Michel Goossens and Janne Saarela published a detailed + discussion of \ProgName{LaTeX2HTML}, and how to tailor it, in + \TUGboat{} 16(2). + + A mailing list for users may be found via + \URL{http://tug.org/mailman/listinfo/latex2html} +\item[\ProgName{TtH}]a compiled program that supports either \LaTeX{} + or plain \TeX{}, and uses the font/table technique for representing + mathematics. It is written by Ian Hutchinson, using + \ProgName{flex}. The distribution consists of a single \acro{C} + source (or a compiled executable), which is easy to install and very + fast-running. +\item[\ProgName{Tex4ht}]a compiled program that supports either + \LaTeX{} or plain \TeX{}, by processing a \acro{DVI} file; it uses + bitmaps for mathematics, but can also use other technologies where + appropriate. Written by Eitan Gurari, it parses the \acro{DVI} + file generated when you run \AllTeX{} over your file with + \ProgName{tex4ht}'s macros included. As a result, it's pretty + robust against the macros you include in your document, and it's + also pretty fast. +\item[\ProgName{TeXpider}] a commercial program from + % beware line breaks + \nothtml{MicroPress (see }% + \Qref[question]{Micropress}{Q-commercial}\latexhtml{),}{,} which is + described on \URL{http://www.micropress-inc.com/webb/wbstart.htm}; + it uses bitmaps for equations. +\item[\ProgName{Hevea}] a compiled program that supports \LaTeX{} + only, and uses the font/table technique for equations (indeed its + entire approach is very similar to \ProgName{TtH}). It is written + in Objective \acro{CAML} by Luc Maranget. \ProgName{Hevea} isn't + archived on \acro{CTAN}; details (including download points) are + available via \URL{http://pauillac.inria.fr/~maranget/hevea/} +\end{description} +An interesting set of samples, including conversion of the same text +by the four free programs listed above, is available at +\URL{http://www.mayer.dial.pipex.com/samples/example.htm}; a linked +page gives lists of pros and cons, by way of comparison. + +The World Wide Web Consortium maintains a list of ``filters'' to +\acro{HTML}, with sections on \AllTeX{} and \BibTeX{}~--- see +\URL{http://www.w3.org/Tools/Word_proc_filters.html} +\begin{ctanrefs} +\item[latex2html]Browse \CTANref{latex2html} +\item[tex4ht]\CTANref{tex4ht} +\item[tth]\CTANref{tth} +\end{ctanrefs} + +\Question[Q-fmtconv]{Other conversions to and from \AllTeX{}} + +\begin{description} +\item[troff]\ProgName{troff-to-latex}, written by Kamal Al-Yahya at Stanford + University (California, \acro{USA}), assists in the translation of a + \ProgName{troff} document into \LaTeX{} format. It recognises most + |-ms| and |-man| macros, plus most \ProgName{eqn} and some + \ProgName{tbl} preprocessor commands. Anything fancier needs to be + done by hand. Two style files are provided. There is also a man page + (which converts very well to \LaTeX{}\dots{}). The program is + copyrighted but free. + \ProgName{tr2latex} is an enhanced version of this + \ProgName{troff-to-latex}. + +% The \acro{DECUS} \TeX{} distribution (see +% \Qref[question]{sources of software}{Q-archives}) +% also contains a program which converts \ProgName{troff} to \TeX{}. + +%\item[Scribe] Mark James (\Email|jamesm@dialogic.com|) has a copy of +% \ProgName{scribe2latex} he has been unable to test but which he will +% let anyone interested have. The program was written by Van Jacobson +% of Lawrence Berkeley Laboratory.% +% \checked{RF}{1994/11/18} + +\item[WordPerfect] \ProgName{wp2latex} + has recently been much improved, and is now + available either for \MSDOS{} or for Unix systems, thanks to its + current maintainer Jaroslav Fojtik. +\item[\acro{PC}-Write]\ProgName{pcwritex.arc} is a + print driver for \acro{PC}-Write that ``prints'' a \acro{PC}-Write + V2.71 document to a \TeX{}-compatible disk file. It was written by Peter + Flynn at University College, Cork, Republic of Ireland. +\item[runoff] Peter Vanroose's \ProgName{rnototex} + conversion program is written in \acro{VMS} Pascal. + The sources are distributed with a \acro{VAX} executable. +\item[refer/tib] There are a few programs for converting bibliographic + data between \BibTeX{} and \ProgName{refer}/\ProgName{tib} formats. + The collection includes a shell script converter from \BibTeX{} to + \ProgName{refer} format as well. The collection + is not maintained. +\item[\acro{RTF}] \ProgName{Rtf2tex}, by Robert Lupton, is for + converting Microsoft's Rich Text Format to \TeX{}. There is also a + convertor to \LaTeX{} by Erwin Wechtl, called \ProgName{rtf2latex}. + The latest converter, by Ujwal Sathyam and Scott Prahl, is + \ProgName{rtf2latex2e}; this system seems rather good already, and + is still being improved. + + Translation \emph{to} \acro{RTF} may be done (for a somewhat + constrained set of \LaTeX{} documents) by \TeX{}2\acro{RTF}, which + can produce ordinary \acro{RTF}, Windows Help \acro{RTF} (as well as + \acro{HTML}, \Qref{conversion to HTML}{Q-LaTeX2HTML}). + \TeX{}2\acro{RTF} is supported on various Unix platforms and under + Windows~3.1 +\item[Microsoft Word] A rudimentary (free) program for converting + MS-Word to \LaTeX{} is \ProgName{wd2latex}, which runs on \MSDOS{}. + \ProgName{Word2}\emph{\TeX{}} and \emph{\TeX{}}\ProgName{2Word} are + shareware translators from % beware line break + \href{http://www.chikrii.com/}{Chikrii Softlab}; users' reports are + very positive. + + If cost is a constraint, the best bet is probably to use an + intermediate format such as \acro{RTF} or \acro{HTML}. + \ProgName{Word} outputs and reads both, so in principle this route + may be useful. + + Another, unlikely, intermediate form is \acro{PDF}: Acrobat Reader + for Windows (version 5.0 and later) will output rather feeble + \acro{RTF} that \ProgName{Word} can read. +\item[Excel] \ProgName{Excel2Latex} converts an \ProgName{Excel} file + into a \LaTeX{} \environment{tabular} environment; it comes as a + |.xls| file which defines some \ProgName{Excel} macros to produce + output in a new format. +\end{description} + +% beware line breaks +\href{http://www.tug.org/utilities/texconv/index.html}{Wilfried Hennings' \acro{FAQ}}, +which deals specifically with conversions between \TeX{}-based formats +and word processor formats, offers much detail as well as tables that +allow quick comparison of features. + +A group at Ohio State University (\acro{USA}) is working on +a common document format based on \acro{SGML}, with the ambition that any +format could be +translated to or from this one. \ProgName{FrameMaker} provides +``import filters'' to aid translation from alien formats +(presumably including \TeX{}) to \ProgName{FrameMaker}'s own. +\begin{ctanrefs} +\item[excel2latex]\CTANref{excel2latex} +\item[pcwritex.arc]\CTANref{pcwritex} +\item[refer and tib tools]\CTANref{refer-tools} +\item[rnototex]\CTANref{rnototex} +\item[rtf2latex]\CTANref{rtf2latex} +\item[rtf2latex2e]\CTANref{rtf2latex2e} +\item[rtf2tex]\CTANref{rtf2tex} +\item[tex2rtf]\CTANref{tex2rtf} +\item[tr2latex]\CTANref{tr2latex} +\item[troff-to-latex]\CTANref{troff-to-latex} +\item[wd2latex]\CTANref{wd2latex} +\item[wp2latex]\CTANref{wp2latex} +\item[\nothtml{\rmfamily}Word processor \acro{FAQ} (source)]% + \CTANref{texcnvfaq} +\end{ctanrefs} + +\Question[Q-readML]{Using \TeX{} to read \acro{SGML} or \acro{XML} directly} + +This can nowadays be done, with a certain amount of clever macro +programming. David Carlisle's \Package{xmltex} is the prime example; +it offers a practical solution to typesetting +\acro{XML} files. + +One use of a \TeX{} that can typeset \acro{XML} files is as a backend +processor for \acro{XSL} formatting objects, serialized as \acro{XML}. +Sebastian Rahtz's Passive\TeX{} uses \Package{xmltex} to +achieve this end. +\begin{ctanrefs} +\item[xmltex]\CTANref{xmltex} +\item[passivetex]\CTANref{passivetex} +\end{ctanrefs} + +\Question[Q-recovertex]{Retrieving \AllTeX{} from \acro{DVI}, etc.} + +The job just can't be done automatically: \acro{DVI}, \PS{} and +\acro{PDF} are ``final'' formats, supposedly not susceptible to +further editing~--- information about where things came from has been +discarded. So if you've lost your \AllTeX{} source (or never +had the source of a document you need to work on) you've a serious job +on your hands. In many circumstances, the best strategy is to retype +the whole document, but this strategy is to be tempered by +consideration of the size of the document and the potential typists' +skills. + +If automatic assistance is necessary, it's unlikely that any more than +text retrieval is going to be possible; the \AllTeX{} markup that +creates the typographic effects of the document needs to be recreated +by editing. + +If the file you have is in \acro{DVI} format, many of the techniques +for \nothtml{converting \AllTeX{} to \acro{ASCII} (}% +\Qref{converting \AllTeX{} to \acro{ASCII}}{Q-toascii}\nothtml{)} are +applicable. Consider \ProgName{dvi2tty}, \ProgName{crudetype} and +\ProgName{catdvi}. Remember that there are likely to be problems +finding included material (such as included \PS{} figures, that +don't appear in the \acro{DVI} file itself), and mathematics is +unlikely to convert easily. + +To retrieve text from \PS{} files, the +\ProgName{ps2ascii} tool (part of the \ProgName{ghostscript} +distribution) is available. One could try applying this tool to +\PS{} derived from an \acro{PDF} file using \ProgName{pdf2ps} (also +from the \ProgName{ghostscript} distribution), or \ProgName{Acrobat} +\ProgName{Reader} itself; an alternative is \ProgName{pdftotext}, +which is distributed with \ProgName{xpdf}. + +Another avenue available to those with a \acro{PDF} file they want to +process is offered by Adobe \ProgName{Acrobat} (version 5 or later): +you can tag the \acro{PDF} file into an estructured document, output +thence to well-formed \acro{XHTML}, and import the results into +Microsoft \ProgName{Word} (2000 or later). From there, one may +convert to \AllTeX{} using one of the techniques discussed in +% beware line break +\htmlonly{``}\Qref[question]{converting to and from \AllTeX{}}{Q-fmtconv}\htmlonly{''}. + +The result will typically (at best) be poorly marked-up. Problems may +also arise from the oddity of typical \TeX{} font encodings (notably +those of the maths fonts), which \ProgName{Acrobat} doesn't know how +to map to its standard Unicode representation. +\begin{ctanrefs} +\item[catdvi]\CTANref{catdvi} +\item[crudetype]\CTANref{crudetype} +\item[dvi2tty]\CTANref{dvi2tty} +\item[ghostscript]Browse \CTANref{ghostscript} +\item[xpdf]Browse \CTANref{xpdf} +\end{ctanrefs} + +\Question[Q-LaTeXtoPlain]{Translating \LaTeX{} to Plain \TeX{}} + +Unfortunately, no ``general'', simple, automatic process is likely to +succeed at this task. See +% beware (lots of) line breaks +\nothtml{``How does \LaTeX{} relate to Plain \TeX{}'' (}% +\htmlonly{``}\Qref{How does \LaTeX{} relate to Plain \TeX{}}{Q-LaTeXandPlain}\latexhtml{)}{''} +for further details. + +Translating a document designed to work with \LaTeX{} into one +designed to work with Plain \TeX{} is likely to amount to carefully +including (or otherwise re-implementing) all those parts of \LaTeX{}, +beyond the provisions of Plain \TeX{}, which the document uses. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Installing \AllTeX{} files} + +\Question[Q-instpackages]{Installing a new package} + +The first step in installing a new package for your \LaTeX{} system +is usually to \Qref*{find where it is}{Q-findfiles} +and then to get it, usually from \acro{CTAN}. However MiK\TeX{}, +since version 2.1, offers a \Qref*{simpler procedure}{Q-miktexinst} +than that described here, for packages it knows about. + +Ordinarily, you should download the whole distribution directory; the +only occasion when this is not necessary is when you are getting +something from one of the \AllTeX{} contributed ``\File{misc}'' +directories on \acro{CTAN}; these directories contain collections of +single files, which are supposedly complete in themselves. + +A small package \meta{smallpack} might be just a single \texttt{.sty} file +(typically \File{smallpack.sty}) with the usage instructions either +included as comments in the file or in a seperate user manual or +\File{README} file. More often a package \meta{pack} will come as +a pair of files, \File{pack.ins} and \File{pack.dtx}, written to be +used with the \LaTeX{} \Package{doc} system. The package code must be +extracted from these files. If there is a \File{README} file as part +of the package distribution, read it! + +In the \Package{doc} system, the user manual and documented package +code is in the |.dtx| file, and the |.ins| file contains \LaTeX{} +instructions on what code should be extracted from the |.dtx| file. To +unpack a \Package{doc} package \meta{pack}, do the following: +\begin{itemize} +\item Run latex on \Package{pack.ins}. This will generate one or more + files (normally a \Package{pack.sty} file but there may be others + depending on the particular package). +\item Run latex on \Package{pack.dtx} as a start to getting the user + manual and possibly a commented version of the package code. +\item Run latex again on \Package{pack.dtx}, which should resolve any + references and generate a Table of Contents if it was called for. +\item \LaTeX{} may have said ``|No file pack.ind|''; this is the + source for the command index; if you want the index, process the raw + material with:\\ + | makeindex -s gind.ist pack|\\ + and run \LaTeX{} again. +\item Print and read \File{pack.dvi} +\end{itemize} +Sometimes a user manual is supplied seperately from the \File{.dtx} +file. Process this \emph{after} doing the above, just in case the user +manual uses the package it is describing. + +Almost the final stage of the installation is to put the package +file(s) \emph{`where \LaTeX{} can find them'}. Where the magic place +is, and how you put the files there depends on your particular +\LaTeX{} system and how it is set up (see +% beware line-breaking, next three lines +\Qref[question]{the \TeX{} directory structure standard}{Q-tds} for +general principles, +\Qref[question]{where to put files}{Q-wherefiles} for specific advice). + +The final stage is to tell \LaTeX{} that there is a new file, or +files, that it should be able to go and find. Most free \LaTeX{} systems +maintain a database of the names and locations of latex-related files +to enable faster searching. In these systems the database must be +updated, using the script or program provided with the distribution +for this purpose. +\begin{description} +\item[te\TeX{}] Run: \\ + \texttt{texhash} +\item[web2c] On a current \Package{web2c} distribution, \texttt{texhash} + ought to work; if it doesn't, run \texttt{mktexlsr} + \item[fp\TeX{}] Click + \texttt{Start}\arrowhyph{}% + \texttt{Programs}\arrowhyph{}% + \texttt{Texlive}\arrowhyph{}% + \texttt{Maintenance}\arrowhyph{}% + \texttt{Rebuild ls-R filenames databases}, or open a ``command'' + window and run \texttt{texhash} +\item[MiK\TeX{}] On a \Package{MikTeX} distribution earlier than v2.0, + click + \texttt{Start}\arrowhyph{}% + \texttt{Programs}\arrowhyph{}% + \texttt{MikTeX}\arrowhyph{}% + \texttt{Maintenance}\arrowhyph{}% + \texttt{Refresh filename database} +% this sequence confirmed ok for miktex 1.20, 2000/09/14, by Michael +% Dewey of Nottingham University + + or get a DOS window and run:\\ + \texttt{initexmf -\relax-update-fndb} + + On a \Package{MikTeX} distribution v2.0 or later, do:\\ + \texttt{Start}\arrowhyph{}% + \texttt{Programs}\arrowhyph{}% + \texttt{MikTeX 2}\arrowhyph{}% + \texttt{MikTeX Options}, and press the + % beware line break + \texttt{Refresh now} button (\texttt{Update filename database} in + earlier versions of MiK\TeX{}). +\end{description} + +Remember that a |\usepackage{pack}| command must be put in the preamble +of each document in which you want to use the \Package{pack} package. + +\Question[Q-wherefiles]{Where to put new files} + +Where precisely you put files that you have downloaded does +depend on what \TeX{} distribution you have. However, +assuming that you have one of the modern \acro{TDS}-compliant +distributions (such as te\TeX{}, fp\TeX{} or mik\TeX{}) there are +some general rules that you can follow: + +% we're sort-of emulating an enumerated list here, but avoiding the +% indentation normally associated with it. we can't afford the +% indentation, since the columns (in 2-column mode) are so narrow. +\htmlignore +\vspace{2pt} +\noindent +\endhtmlignore +(1) Always install new files in a local \File{texmf} +tree. The root directory will be named something like: +\begin{verbatim} + teTeX: /usr/share/texmf-local/ or + /usr/local/share/texmf/ + fpTeX: c:\Programs\TeXLive\texmf-local\ + mikTeX: c:\localtexmf\ +\end{verbatim} +(In fact, a te\TeX{} system can be asked to tell you what its local +root is; on a Unix system, the command to use is: +\begin{quote} +\begin{verbatim} +kpsewhich -expand-var "\$TEXMFLOCAL" +\end{verbatim} +\end{quote} +the output being the actual path.) + +Let's write \texttt{\$TEXMF} for this root, whatever it is for your system. + +\htmlignore +\vspace{2pt} +\noindent +\endhtmlignore +(2) In your local texmf tree, imitate the directory structure in your +main tree. Here are some examples of where files of given extensions +should go: +\begin{verbatim} +.sty, .cls or .fd: $TEXMF/tex/latex/<package>/ +.dvi, .ps or .pdf: $TEXMF/doc/latex/<package>/ +.mf: $TEXMF/fonts/source/<supplier>/<font>/ +.tfm: $TEXMF/fonts/tfm/<supplier>/<font>/ +.vf: $TEXMF/fonts/vf/<supplier>/<font>/ +.afm: $TEXMF/fonts/afm/<supplier>/<font>/ +.pfb: $TEXMF/fonts/type1/<supplier>/<font>/ +.ttf: $TEXMF/fonts/truetype/<supplier>/<font>/ +\end{verbatim} +and for modern systems (te\TeX{}~3.0, and the like, using \acro{TDS} +v1.1 format): +\begin{verbatim} +.map: $TEXMF/fonts/map/<syntax>/<bundle>/ +.enc: $TEXMF/fonts/enc/<syntax>/<bundle>/ +\end{verbatim} +Where of course \meta{package}, \meta{font} and \meta{supplier} depend +upon what's appropriate for the individual file. The \meta{syntax} +(for \texttt{.map} and \texttt{.enc} files) is a categorisation based +on the way the files are written; typically, it's the name of a +program such as \ProgName{dvips} or \ProgName{pdftex}. + +``Straight'' \AllTeX{} input can take other forms than the \texttt{.sty}, +\texttt{.cls} or \texttt{.fd} listed above, too. Examples are +\texttt{.sto} and \texttt{.clo} for package and class options, +\texttt{.cfg} for configuration information, and so on. + +Note that \meta{font} may stand for a single font or an entire family: +for example, files for all of Knuth's Computer Modern fonts are to be +found in \texttt{.../public/cm}, with various prefixes as appropriate. + +The font ``supplier'' \emph{public} is a sort of hold-all for +``free fonts produced for use with \AllTeX{}'': as well as Knuth's +fonts, \emph{public}'s directory holds fonts designed by others +(originally, but no longer exclusively, in \MF{}). + +Some packages have configuration files (commonly with file suffix +\texttt{.cfg}), and occasionally other run-time files. The package +documentation \emph{should} mention these things, but sometimes +doesn't. A common exception is the \texttt{.drv} file, used by some +packages as part of the documentation building process; this is a +hang-over from the pre-\LaTeXe{} predecessor of the package +documentation process. + +\Question[Q-miktexinst]{Installing MiK\TeX{} ``known packages''} + +MiK\TeX{} 2.1 (and later) maintains a database of packages it ``knows about'', +together with (coded) installation instructions that enable it to +install the packages with minimal user intervention. + +If MiK\TeX{} does know about a package you need installed, it's worth +using the system. + +First, open the MiK\TeX{} packages window: click on + \texttt{Start}\arrowhyph{}% + \texttt{Programs}\arrowhyph{}% + \texttt{MikTeX}\arrowhyph{}% + \texttt{MikTeX Options}, and select the + \texttt{Packages} tab. + +On the tab, there is an Explorer-style display of packages. +Right-click on the root of the tree, ``\texttt{MikTeX Packages}'', +and select ``\texttt{Search}'': enter the name of the package you're +interested in, and press the ``\texttt{Search}'' button. If +MiK\TeX{} knows about your package, it will open up the tree to show +you a tick box for your package: check that box. + +If MiK\TeX{} \emph{doesn't} know about the package you're interested +in, you have to use the \Qref*{long-winded procedure}{Q-instpackages} +outlined elsewhere in this \acro{FAQ}. + +If necessary, repeat to select other packages, and then press +``\texttt{OK}''; MiK\TeX{} tells you how many packages you have +selected~--- if you're happy, press ``\texttt{OK}'' again. +MiK\TeX{} will go off, download the package (as a +\texttt{.cab} file), if necessary, install the files of the package, and then +refresh the filename database so that the files will be found. + +\Question[Q-tempinst]{``Temporary'' installation of \AllTeX{} files} + +Operating systems and applications need to know where to find files: +many files that they need are ``just named''~--- the user doesn't +necessarily know \emph{where} they are, but knows to ask for them. +The commonest case, of course, is the commands whose names you type to +a shell (yes, even Windows' ``\MSDOS{} prompt'') are using a shell to read what +you type: many of the commands simply involve loading and executing a +file, and the \texttt{PATH} variable tells the shell where to find those files. + +Modern \TeX{} implementations come with a bunch of search paths +built in to them. In most circumstances these paths are adequate, but +one sometimes needs to extend them to pick up files in strange +places: for example, we may wish to try a new bundle of packages +before \nothtml{installing them `properly' (}% +% beware line break +\Qref{installing them `properly'}{Q-instpackages}\nothtml{)}. To do +this, we need to change the relevant path as \TeX{} perceives it. +However, we don't want to throw away \TeX{}'s built-in path (all of a +sudden, \TeX{} won't know how to deal with all sorts of things). + +To \emph{extend} a \TeX{} path, we define an operating system +environment variable in `path format', but leaving a gap which \TeX{} +will fill with its built-in value for the path. The commonest case is +that we want to place our extension in front of the path, so that our +new things will be chosen in preference, so we leave our `gap to be +filled' at the end of the environment variable. The syntax is simple +(though it depends which shell you're actually using): so on a +Unix-like system, using the \ProgName{bash} shell, the job might be +done like: +\begin{verbatim} + export TEXINPUTS=/tmp: +\end{verbatim} +while in a Windows system, within a \MSDOS{} window, it would be: +\begin{verbatim} + set TEXINPUTS=C:/temp; +\end{verbatim} +In either case, we're asking \TeX{} to load files from the root disc +temporary files directory; in the Unix case, the ``empty slot'' is +designated by putting the path separator `|:|' on its own at the end +of the line, while in the Windows case, the technique is the same, but +the path separator is `|;|'. + +Note that in either sort of system, the change will only affect +instances of \TeX{} that are started from the shell where the +environment variable was set. If you run \TeX{} from another window, +it will use the original input path. To make a change of input path +that will ``stick'' for all windows, set the environment variable in +your login script or profile (or whatever) in a Unix system and log +out and in again, or in \File{autoexec.bat} in a Windows system, and +reboot the system. + +While all of the above has talked about where \TeX{} finds its macro +files, it's applicable to pretty much any sort of file any +\TeX{}-related program reads~--- there are lots of these paths, and of +their corresponding environment variables. In a +\ProgName{web2c}-based system, the copious annotations in the +\File{texmf.cnf} system configuration file help you to learn which +path names correspond to which type of file. + +\Question[Q-privinst]{``Private'' installations of files} + +It sometimes happens that you need a new version of some macro package +or font, but that the machine you use is maintained by someone who's +unwilling to update and won't give you privileges to do the job +yourself. A \Qref*{``temporary'' installation}{Q-tempinst} is +sometimes the correct approach, but if there's the slightest chance +that the installation will be needed on more than one project, +temporary installations aren't right. + +In circumstances where you have plenty of quota on backed-up media, or +adequate local scratch space, the correct approach is to create a +private installation of \AllTeX{} which includes the new stuff you +need; this is the ideal, but is not generally possible. + +So, since you can't install into the public \texttt{texmf} tree, you +have to install into a \File{texmf} of your own; fortunately, the +\acro{TDS} standard allows for this, and te\TeX{} 2.0 actually makes +provision for it, defining an internal variable \texttt{HOMETEXMF} +which points to the directory \File{$HOME/texmf}. (Te\TeX{} 1.0 had +the definition, but suppressed it with comment markers.) + +So, install your new package (or whatever) in the +\Qref*{correct place}{Q-wherefiles} in a tree based on +\File{$HOME/texmf}, and generate an index of that tree +\begin{quote} +\begin{verbatim} +texhash $HOME/texmf +\end{verbatim} +\end{quote} +(the argument specifies which tree you are indexing: it's necessary +since you don't, by hypothesis, have access to the main tree, and +\ProgName{texhash} without the argument would try to write the main +tree. + +There are two wrinkles to this simple formula: first, the installation +you're using may \emph{not} define \texttt{HOMETEXMF} (te\TeX{}~1.0 +didn't, for example), and second, there may be some obstruction to +using \File{$HOME/texmf} as the default name. In either case, a good +solution is to have your own \File{texmf.cnf}~--- an idea that sounds +more frightening that it actually is. The installation's existing +file may be located with the command: +\begin{quote} +\begin{verbatim} +kpsewhich texmf.cnf +\end{verbatim} +\end{quote} +Take a copy of the file and put it into a directory of your own; this +could be any directory, but an obvious choice is the \File{web2c} +directory of the tree you want to create, i.e., +\File{$HOME/texmf/web2c} or the like. Make an environment variable to +point to this directory: +\begin{quote} +\begin{verbatim} +TEXMFCNF=$HOME/texmf/web2c +export TEXMFCNF +\end{verbatim} +\end{quote} +(for a Bourne shell style system), or +\begin{quote} +\begin{verbatim} +setenv TEXMFCNF $HOME/texmf/web2c +\end{verbatim} +\end{quote} +(for a C-shell style system). Now edit the copy of \File{texmf.cnf} + +There will be a line in the existing file that defines the tree where +everything searches; the simplest form of the line is: +\begin{quote} +\begin{verbatim} +TEXMF = !!$TEXMFMAIN +\end{verbatim} +\end{quote} +but, as te\TeX{}~1.0 is distributed, there are several alternative +settings behind comment markers (``\texttt{\textpercent}''), and the +person who +installed your system may have left them there. Whatever, you need to +modify the line that's in effect: change the above to three lines: +\begin{quote} +\begin{verbatim} +HOMETEXMF = $HOME/texmf +TEXMF = {$HOMETEXMF,!!$TEXMFMAIN} +% TEXMF = !!$TEXMFMAIN +\end{verbatim} +\end{quote} +the important point being that |$HOMETEXMF| must come before whatever +was there before, inside the braces. For example, if the original was +\begin{quote} +\begin{verbatim} +TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN} +\end{verbatim} +\end{quote} +it should be converted to: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +HOMETEXMF = $HOME/texmf +TEXMF = {$HOMETEXMF,!!$LOCALTEXMF, + !!$TEXMFMAIN} +% TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN} +\end{verbatim} +{\small Note that the \texttt{TEXMF} line is only wrapped to make it + fit in the column; there should be no line break or space between + the final comma on the line and the \texttt{!!} on the next line.\par +}% +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +HOMETEXMF = $HOME/texmf +TEXMF = {$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN} +% TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN} +\end{verbatim} +\end{wideversion} +\end{quote} +(retaining the original, as a comment, is merely an aide-memoir in +case you need to make another change, later). The \texttt{!!} signs +tell the file-searching library that it should insist on a +\ProgName{texhash}-ed directory tree; if you can count on yourself +remembering to run \ProgName{texhash} on your new tree every time you +change it, then it's worth adding the marks to your tree: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +TEXMF = {!!$HOMETEXMF,!!$LOCALTEXMF, + !!$TEXMFMAIN} +\end{verbatim} +{\small Note that the line is only wrapped to make it + fit in the column; there should be no line break or space between + the final comma on the line and the \texttt{!!} on the next line.\par +}% +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +TEXMF = {!!$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN} +\end{verbatim} +\end{wideversion} +\end{quote} +as this will make \AllTeX{} find its files marginally faster. + +Having made all these changes, \AllTeX{} should ``just use'' files in +your new tree, in preference to anything in the main tree~--- you can +use it for updates to packages in the main tree, as well as for +installing new versions of things. + +\Question[Q-instfont]{Installing a new font} + +Fonts are really ``just another package'', and so should be installed +in the same sort of way as packages. However, fonts tend to be more +complicated than the average package, and as a result it's sometimes +difficult to see the overall structure. + +Font files may appear in any of a large number of different formats; +each format has a different function in a \TeX{} system, and each is +stored in a directory its own sub-tree in the installation's +\acro{TDS} tree; all these sub-trees have the directory +\File{$TEXMF/fonts} as their root. A sequence of answers% +\nothtml{, below,} describes the installation of fonts\latexhtml{.}{:} +\begin{htmlversion} +follow the list through the ``next question'' links at the bottom of +this answer to view them all. +\end{htmlversion} +Other answers discuss specific font families~--- see, for example, +% ! line break +\htmlonly{``}\Qref[\htmlonly]{using the concrete fonts}{Q-concrete}\htmlonly{''}. + +\Question[Q-instmffont]{Installing a font provided as \MF{} source} + +Metafont fonts are (by comparison with other sorts of font) rather +pleasingly simple. Nowadays, they are mostly distributed just as the +\MF{} source, since modern \TeX{} distributions are able to produce +everything the user needs ``on the fly''; however, if the distribution +\emph{does} include \acro{TFM} files, do install them, too, since they +save a little time and don't occupy much disc space. Always distrust +distributions of \acro{PK} font bitmap files: there's no way of +learning from them what printer they were generated for, and naming +schemes under different operating systems are another source of +confusion. + +``\Qref*{Where to install files}{Q-wherefiles}'' +specifies where the files should go. + +Further confusion is introduced by font families whose authors devise rules +for automatic generation of \MF{} sources for generating fonts at +particular sizes; the installation has to know about the rules, as +otherwise it cannot generate font files. + +\Question[Q-instprinterfont]{Installing a \PS{} printer built-in font} + +There is a ``standard'' set of fonts that has appeared in every \PS{} +printer since the second generation of the type. These fonts +(8~families of four text fonts each, and three special-purpose fonts) +are of course widely used, because of their simple availability. The +set consists of: +\begin{itemize} +\item \FontName{Times} family (4 fonts) +\item \FontName{Palatino} family (4 fonts) +\item \FontName{New} \FontName{Century} \FontName{Schoolbook} family (4 fonts) +\item \FontName{Bookman} family (4 fonts) +\item \FontName{Helvetica} family (4 fonts) +\item \FontName{Avant} \FontName{Garde} (4 fonts) +\item \FontName{Courier} family (4 fonts) +\item \FontName{Utopia} family (4 fonts) +\item Zapf \FontName{Chancery} (1 font) +\item Zapf \FontName{Dingbats} (1 font) +\item \FontName{Symbol} (1 font) +\end{itemize} +All these fonts are supported, for \LaTeX{} users, by the +\Package{psnfss} set of metrics and support files in the file +\File{lw35nfss.zip} on \acro{CTAN}. Almost any remotely modern \TeX{} +system will have some version of \Package{psnfss} installed, but +users should note that the most recent version has much improved +coverage of maths-with-\FontName{Times} and -\FontName{Palatino}, as +well as a more reliable set of font metrics. + +The archive \File{lw35nfss.zip} is laid out according to the +\acro{TDS}, so in principle, installation consists simply of +``unzipping'' the file at the root of a \path{texmf} tree. + +Documentation of the \Package{psnfss} bundle is provided in +\File{psnfss2e.pdf} in the distribution. +\begin{ctanrefs} +\item[psnfss \nothtml{\rmfamily}bundle]\CTANref{psnfss} +\end{ctanrefs} + +\Question[Q-inst1cm]{Installing the Bluesky versions of the CM~fonts} + +This is a specialised case of \nothtml{installing a font (}% +\Qref{installing a font}{Q-instfont}\nothtml{)}, but it comes easier +than most, since the font metrics are installed in every \AllTeX{} +system before you even start. Indeed, most recent systems will have +the Type~1 fonts themselves already installed, so that the job is +already done, and all you need is to start using them: +so the first thing to do is to just try it. On a system that uses +\ProgName{dvips} (most systems nowadays do), try the sequence: +\begin{verbatim} + latex sample2e + dvips -Pcmz -Pamz -o sample2e.ps sample2e +\end{verbatim} +at a ``command prompt'' (\ProgName{shell}, in a Unix-style system, +``\acro{DOS} box'' in a Windows system). + +If the command works at all, the console output of the command will +include a sequence of Type~1 font file names, listed as |<cmr10.pfb>| +and so on; +this is \ProgName{dvips} telling you it's including the Type~1 font, +and you need do no more. + +If the test has failed, you need to install your own set of the fonts. + +The \acro{CTAN} directories listed below contain compressed archives of +the Type~1 +files for various architectures, both for the Computer Modern fonts +and for the \acro{AMS} fonts of mathematical and other useful things. +Download the archives that are appropriate for your architecture, and +extract the files~--- you only actually need the contents of the +\File{pfb} directories, since you already have the fonts +installed in the ``ordinary'' way, so that the \acro{TFM} files are +already present. (You don't need the \PS{} font metric~--- \acro{AFM} +and \acro{PFM}~--- files in any case.) + +The files should go into your local |texmf| tree (\File{texmf.local}, +\File{texmf-local}, \File{localtexmf}, or whatever). Create +directories at offsets \path{fonts/type1/bluesky/cm} and +\path{fonts/type1/bluesky/ams}, and copy the |pfb| files into them. + +Now you need to tell \ProgName{dvips}, \PDFTeX{}, etc., that the fonts +are available. This is done by use of a \emph{map file}, which lists +\emph{font name} (as \TeX{} understands it), \emph{font name} (as it +appears in the type~1 file itself), and where the program will find +the file. Map files are provided in the download bundles for the +\acro{AMS} fonts; for the \acro{CM} fonts, map files are available +separately. + +The set of map files includes files |config.*|; each of these contains +an instruction to load a single map file. For ordinary use, you +instruct \ProgName{dvips} to load the ``detailed'' map of the +\acro{CM} fonts by use of the command: +\begin{verbatim} + dvips -Pcmz myfile +\end{verbatim} +The same can be done with the \acro{AMS} fonts, and you may invoke +both sets of fonts with: +\begin{verbatim} + dvips -Pcmz -Pamz myfile +\end{verbatim} +Alternatively, the contents of \File{config.cmz} and \File{config.amz} +could be combined into a single file, perhaps \File{config.bluesky}, +loaded by the command +\begin{verbatim} + dvips -Pbluesky myfile +\end{verbatim} + +Remember, after all such changes, the % beware line breaks +\nothtml{file-name database must be refreshed (}% +\Qref{file-name database must be refreshed}{Q-instpackages}\nothtml{)}. +\begin{ctanrefs} +\item[AMS fonts]Browse \CTANref{ams-AMStype1} +\item[CM fonts]Browse \CTANref{bluesky} +\item[CM font maps]\CTANref{bluesky-maps} +\end{ctanrefs} + +\Question[Q-instt1font]{Installing a Type~1 font} + +The process of installing a Type~1 font set is rather convoluted, but +it may be separated into a modest set of stages. +\begin{itemize} +\item Acquire the font. A very small set of Type~1 fonts is installed + in most \PS{} printers you will encounter. For those few (whose use + is covered by the basic \acro{PSNFSS} package), you don't need the + Type~1 font itself, to be able to print using the font. + + For all the myriad other Type~1 fonts, to be able to print using + the font you need the Type~1 file itself. Some of these are + available for free (they've either been donated to the public + domain, or were developed as part of a free software project), but + the vast majority are commercial products, requiring you to spend + real money. +\item Acquire the fonts' \acro{AFM} files. \acro{AFM} files contain + information from the font foundry, about the sizes of the characters + in the font, and how they fit together. One measure of the quality + of a font-supplier is that they provide the \acro{AFM} files by + default: if the files are not available, you are unlikely to be able + to use the font with \AllTeX{}. +\item Rename the \acro{AFM} files and the Type~1 files to match the + \latexhtml{``Berry font naming scheme'' (}{``}% beware line wraps + \Qref{Berry font naming scheme}{Q-fontname}\latexhtml{)}{''}. +\item Generate \TeX{} metric files from the \acro{AFM} files. The + commonest tool for this task is \Package{fontinst}; the package + documentation helps, but other guides are available (see below). + The simplest possible script to pass to \Package{fontinst} is: + \begin{quote} + |\latinfamily{xyz}{}|\\ + |\bye| + \end{quote} + where \texttt{xyz} is the Berry name of the font family. This + simple script is adequate for most purposes: its output covers the + font family in both |T1| and |OT1| font encodings. Nevertheless, + with fancier fonts, more elaborate things are possible with + \Package{fontinst}: see the documentation for details. + + \Package{Fontinst} also generates map files, and \LaTeX{} font + definition (|.fd|) files. +\item Install the files, in your \texttt{texmf} tree. All the + strictures about installing non-standard things apply here: be sure + to put the files in the local tree. Reasonable destinations for the + various files are: +\begin{narrowversion} +\begin{verbatim} +.pfb, +.pfa .../fonts/type1/<foundry>/<bname> +.tfm .../fonts/tfm/<foundry>/<bname> +.vf .../fonts/vf/<foundry>/<bname> +.fd .../tex/latex/fontinst/ \ + <foundry>/<bname> +.map .../dvips/fontinst/<foundry> +\end{verbatim} + {% + \small Note: the split line is only to fit into the column: in + actual use, reconstruct the line and suppress the spaces.\par + } +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +.pfb, +.pfa .../fonts/type1/<foundry>/<bname> +.tfm .../fonts/tfm/<foundry>/<bname> +.vf .../fonts/vf/<foundry>/<bname> +.fd .../tex/latex/fontinst/<foundry>/<bname> +.map .../dvips/fontinst/<foundry> +\end{verbatim} +\end{wideversion} +\item Regenerate the file indexes (as described in + \Qref[question]{package installation}{Q-instpackages}). +\item Update the \ProgName{dvips} and other maps: + \begin{itemize} + \item On a te\TeX{} system earlier than version~2.0, edit the file + \File{$TEXMF/dvips/config/updmap} and insert an absolute path for + the \File{lm.map} just after the line that starts + |extra_modules="| (and before the closing quotes). + \item On a te\TeX{} version~2.0 (or later), execute the command +\begin{verbatim} + updmap --enable Map <xyz>.map +\end{verbatim} + \item On a MiK\TeX{} system earlier than version~2.2, the ``Refresh + filename database'' operation, which you performed after installing + files, also updates the system's ``\PS{} resources database''. + \item On a MiK\TeX{} system, version~2.2 or later, update + \File{updmap.cfg} which is described in MiK\TeX{} % beware line break + \href{http://www.miktex.org/manual/psfonts.html}{online documentation}. + Then execute the command \texttt{initexmf -\relax-mkmaps}, and the job + is done. + \end{itemize} +\end{itemize} +The whole process is very well (and thoroughly) described in Philipp +Lehman's guide to font installation, which may be found on \acro{CTAN}. +\begin{ctanrefs} +\item[fontinst.sty]\CTANref{fontinst} +\item[\nothtml{\rmfamily}Type 1 installation guide]\CTANref{T1instguide} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Fonts} + +\subsection{\MF{} fonts} + +\Question[Q-useMF]{Getting \MF{} to do what you want} + +\MF{} allows you to create your own fonts, and most \TeX{} users +will never need to use it. \MF{}, unlike \TeX{}, requires some +customisation: each output device for which you will be generating +fonts needs a mode associated with it. Modes are defined using the +|mode_def| convention described on page~94 of \emph{The \MF{}book} +(see \Qref[question]{\TeX{}-related books}{Q-books}). You will need +a file, which conventionally called \File{local.mf}, containing all the +|mode_def|s you will be using. If \File{local.mf} doesn't already +exist, Karl Berry's collection of modes (\File{modes.mf}) +is a good starting point +(it can be used as a `\File{local.mf}' without modification in a `big +enough' implementation of \MF{}). Lists of +settings for various output devices are also published periodically in +\textsl{TUGboat} (see \Qref[question]{\acro{TUG}}{Q-TUG*}). Now create +a |plain| base +file using \ProgName{inimf}, |plain.mf|, and |local.mf|: +\begin{htmlversion} +\begin{verbatim} + % inimf + This is METAFONT... + **plain # you type plain + (output) + *input local # you type this + (output) + *dump # you type this + Beginning to dump on file plain... + (output) +\end{verbatim} +\end{htmlversion} +\htmlignore +\par\vspace{\topsep} +%\begin{tabular}{@{}l@{}l@{}} +%|% inimf|\\ +%This is METAFONT\dots{}\\{} +%**|plain|& you type `|plain|'\\{} +%(output)\\{} +%*|input local|& you type this\\{} +%(output)\\{} +%*|dump|& you type this\\{} +%Beginning to dump on file plain\dots{}\\{} +%(output)\\{} +%\end{tabular}\par +\begin{list}{}{}\item\relax + |% inimf|\\ + This is METAFONT\dots{}\\{} + \fullline{**\texttt{plain}\hss you type `\texttt{plain}'} + (\emph{output})\\{} + \fullline{*\texttt{input local}\hss you type this} + (\emph{output})\\{} + \fullline{*\texttt{dump}\hss you type this} + Beginning to dump on file plain\dots{}\\{} + (\emph{output}) +\end{list}\par +\endhtmlignore +This will create a base file named \File{plain.base} (or something +similar; for example, it will be +\htmlignore +\acro{\File{PLAIN.BAS}} +\endhtmlignore +\begin{htmlversion} + \File{PLAIN.BAS} +\end{htmlversion} +on \MSDOS{} systems) which should be moved to the directory containing +the base files on your system (note that some systems have two or more +such directories, one for each `size' of \MF{} used). + +Now you need to make sure \MF{} loads this new base when it starts up. If +\MF{} loads the |plain| base by default on your system, then you're +ready to go. Under Unix (using the default \ProgName{web2c} +distribution% +\begin{footnoteenv} + The \ProgName{command_name} is symbolically linked to + \ProgName{virmf}, and \ProgName{virmf} loads \File{command_name.base} +\end{footnoteenv}) +this does indeed happen, but we could for instance define a command +\ProgName{mf} which executes |virmf &plain| loading the |plain| base +file. + +The usual way to create a font with |plain| \MF{} is to start +it with the line +\htmlignore +\bgroup +\par\vskip\topsep +\hangindent3em\hangafter1\raggedright\parindent10pt\relax +|\mode=<mode name>;| |mag=<magnification>;| |input <font file name>|% +\par\vskip\topsep +\egroup +\noindent in +\endhtmlignore +\begin{htmlversion} +\begin{verbatim} +\mode=<mode name>; mag=<magnification>; input <font file name> +\end{verbatim} +in +\end{htmlversion} +response to the `**' prompt or on the \MF{} command line. (If +|<mode name>| is unknown or omitted, the mode defaults to `proof' and +\MF{} will produce an output file called +% beware!! -- argument of \File naturally breaks across line end +\File{<font file name>.2602gf}) +The |<magnification>| is a floating point number or +`magstep' (magsteps are defined in \emph{The \MF{}book} and +\emph{The \TeX{}book}). +If |mag=<magnification>| is omitted, then the default +is 1 (magstep 0). For example, to generate cmr10 at 12pt for an epson +printer you would type +\begin{verbatim} + mf \mode=epson; mag=magstep 1; input cmr10 +\end{verbatim} +Note that under Unix the |\| and |;| characters must usually be quoted or +escaped, so this would typically look something like +\begin{verbatim} + mf '\mode=epson; mag=magstep 1; input cmr10' +\end{verbatim} + +If you don't have \ProgName{inimf} or need a special mode that isn't +in the base, you can put its commands in a file (\emph{e.g.}, +\File{ln03.mf}) and invoke it on the fly with the |\smode| command. +For example, to create \File{cmr10.300gf} for an \acro{LN}03 printer, using +the file +\begin{verbatim} + % This is ln03.mf as of 1990/02/27 + % mode_def courtesy of John Sauter + proofing:=0; + fontmaking:=1; + tracingtitles:=0; + pixels_per_inch:=300; + blacker:=0.65; + fillin:=-0.1; + o_correction:=.5; +\end{verbatim} +(note the absence of the |mode_def| and |enddef| commands), you would +type +\begin{verbatim} + mf \smode="ln03"; input cmr10 +\end{verbatim} +This technique isn't one you should regularly use, but it may +prove useful if you acquire a new printer and want to experiment with +parameters, or for some other reason are regularly editing the +parameters you're using. Once you've settled on an appropriate set of +parameters, you should use them to rebuild the base file that you use. + +Other sources of help are mentioned in % beware line break +\Qref[question]{\MF{} and \MP{} Tutorials}{Q-mfptutorials}. +\begin{ctanrefs} +\item[modes.mf]\CTANref{modes-file} +\end{ctanrefs} + +\Question[Q-keepfonts]{Which font files should be kept} + +\MF{} produces from its run three files, a metrics (\acro{TFM}) file, a +generic font (\acro{GF}) file, and a log file; all of these files have the +same base name as does the input (\emph{e.g.}, if the input file was +\File{cmr10.mf}, the outputs will be \File{cmr10.tfm}, +\File{cmr10.nnngf}% +\begin{footnoteenv} + Note that the file name may be transmuted by such operating systems + as \MSDOS{}, which don't permit long file names +\end{footnoteenv} +and \File{cmr10.log}). + +For \TeX{} to use the font, you need a \acro{TFM} file, so you need +to keep that. However, you are likely to generate the same font +at more than one magnification, and each time you do so you'll +(incidentally) generate another \acro{TFM} file; these files are +all the same, so you only need to keep one of them. + +To preview or to produce printed output, the \acro{DVI} processor will need a +font raster file; this is what the \acro{GF} file provides. However, while +there used (once upon a time) to be \acro{DVI} processors that could use +\acro{GF} files, modern processors use packed raster (\acro{PK}) files. +Therefore, you need to generate a \acro{PK} file from the \acro{GF} file; the +program \ProgName{gftopk} does this for you, and once you've done that you +may throw the \acro{GF} file away. + +The log file should never need to be used, unless there was some sort +of problem in the \MF{} run, and need not be ordinarily kept. + +\Question[Q-getbitmap]{Acquiring bitmap fonts} + +When \acro{CTAN} was young, most people would start using \TeX{} +with a 300 dots-per-inch (dpi) laser printer, and sets of Computer +Modern bitmap fonts for this resolution are available on \acro{CTAN}. +(There are separate sets for write-black and write-white printers, as +well as sets at 120~dpi and 240~dpi.) + +Over the years, there have been regular requests that \acro{CTAN} should hold +a wider range of resolutions, but they were resisted for two reasons: +\begin{itemize} +\item The need to decide which printers to generate fonts for. The + broad-brush approach taken for 300~dpi printers was (more or less) + justified back then, given the dominance of certain printer + `engines', but nowadays one could not make any such assumption. +\item Given the above, justifying the space taken up by a huge array + of bitmap fonts. +\end{itemize} +Fortunately, \AllTeX{} distribution technology has put a stop to these +arguments: most (if not all) current distributions generate bitmap +fonts as needed, and cache them for later re-use. The impatient +user, who is determined that all bitmap fonts should be created once +and for all, may be supported by scripts such as \ProgName{allcm} +(distributed with te\TeX{}, at least; otherwise such a person should +consult \Qref[question]{"the use of \MF{}"}{Q-useMF}). + +If your output is to a \PS{}-capable device, you advised to switch to +using Type~1 versions of the \acro{CM} fonts. Two free +sets are currently available; the older (\Package{bakoma}) is +somewhat less well produced than the \Package{bluesky} fonts, which were +originally professionally produced and sold, but were then donated to +the public domain by their originators \YandY{} and Bluesky Research, +in association with the \acro{AMS}. Unfortunately, the coverage of +the sets is slightly different, but you are advised to use the +\Package{bluesky} set except when \Package{bakoma} is for some reason +absolutely unavoidable. In recent years, several other `\MF{}' fonts +have been converted to Type~1 format; it's common never to need to +generate bitmap fonts for any purpose other than previewing (see +% beware of line wrap +\Qref[question]{``previewing documents with Type~1 fonts''}{Q-PSpreview}). +\begin{ctanrefs} +\item[bakoma]\CTANref{bakoma} +\item[bluesky]Browse \CTANref{bluesky} +\item[cm fonts \nothtml{\rmfamily}(write-black printers)]\CTANref{pk300} +\item[cm fonts \nothtml{\rmfamily}(write-white printers)]\CTANref{pk300w} +\end{ctanrefs} + +\subsection{Adobe Type~1 (``\PS{}'') fonts} + +\Question[Q-usepsfont]{Using \PS{} fonts with \protect\TeX{}} + +In order to use \PS{} fonts, \TeX{} needs +\emph{metric} (called \acro{TFM}) files. Several sets of metrics are +available from the archives; for mechanisms for generating new ones, +see \Qref[question]{metrics for \PS{} fonts}{Q-metrics}. You +also need the fonts themselves; \PS{} printers come with a set of +fonts built in, but to extend your repertoire you almost invariably +need to buy from one of the many commercial font vendors (see, for +example, \Qref[question]{``choice of fonts''}{Q-psfchoice}). + +If you use \LaTeXe{}, the best way to get \PS{} fonts into your +document is to use the \acro{PSNFSS} package maintained by Walter +Schmidt. The \LaTeX{}3 project team declare that \acro{PSNFSS} is +``required'', and bug reports may be submitted via the % line break +\Qref*{\LaTeX{} bugs system}{Q-latexbug}. +\acro{PSNFSS} gives you a set of packages for changing the default +roman, sans-serif and typewriter fonts; \emph{e.g}., the +\Package{mathptmx} package will set up \FontName{Times} +\FontName{Roman} as the main text font (and introduces mechanisms to +typeset mathematics using \FontName{Times} and various more-or-less +matching fonts), while package \Package{avant} changes the sans-serif +family to \FontName{AvantGarde}, and \Package{Courier} changes the +typewriter font to \FontName{Courier}. To go with these +packages, you need the font metric files +and font description (\File{.fd}) files for each font family you +want to use. For convenience, +metrics for the `common 35' \PS{} fonts found in most \PS{} printers +are provided with \acro{PSNFSS}, packaged as the ``Laserwriter set''. + +For older versions of \LaTeX{} there are various schemes, of which the +simplest to use is probably the \acro{PS}\LaTeX{} macros distributed with +\ProgName{dvips}. + +For Plain \TeX{}, you load whatever fonts you like; if the encoding of +the fonts is not the same as Computer Modern it will be up to you to +redefine various macros and accents, or you can use the font +re-encoding mechanisms available in many drivers and in +\ProgName{ps2pk} and \ProgName{afm2tfm}. + +Victor Eijkhout's\nothtml{ Lollipop package (}% +\Qref{Lollipop package}{Q-lollipop}\nothtml{)} +supports declaration of font families and styles in a similar way to +\LaTeX{}'s \acro{NFSS}, and so is easy to use with \PS{} fonts. + +Some common problems encountered are discussed elsewhere +(see \Qref[question]{problems with \acro{PS} fonts}{Q-psfontprob}). +\begin{ctanrefs} +\item[Metrics for the `Laserwriter' set of 35 fonts]\CTANref{lw35nfss-zip} +\item[lollipop]\CTANref{lollipop} +\item[psnfss]\CTANref{psnfss} +\end{ctanrefs} + +\Question[Q-PSpreview]{Previewing files using Type 1 fonts} + +Until recently, free \TeX{} previewers have only been capable of +displaying bitmap \acro{PK} fonts, but current versions of +\ProgName{xdvi} sport a Type~1 font renderer. +%% \YandY{}'s commercial +%% previewer \Qref*{\acro{DVIW}indo}{Q-commercial} has in the past used +%% \ProgName{Adobe} \ProgName{Type} \ProgName{Manager} to display Type~1 +%% fonts directly and now uses the system-provided font renderer +%% available in Windows~2000 and~XP. + +Other (free) previewers of the current generation offer automatic +generation of the requisite \acro{PK} files (using \ProgName{gsftopk}, +or similar, behind the scenes). If your previewer isn't capable of +this, you have three options: +\begin{itemize} +\item Convert the \acro{DVI} file to \PS{} and use a + \PS{} previewer. Some systems offer this capability as + standard, but most people will need to use a separate previewer such + as \ProgName{ghostscript} or \ProgName{ghostscript}-based viewers + such as \ProgName{ghostview} or shareware offering \ProgName{GSview}. +\item Under Windows on a \acro{PC}, or on a Macintosh, let Adobe Type Manager + display the fonts (textures, on the Macintosh, works like this). +%% , and under +%% Windows you can use \YandY{}'s \ProgName{dviwindo} for bitmap-free +%% previewing. +\begin{narrowversion} % really hyper + (See \Qref[question]{}{Q-commercial} for details of these + suppliers.) +\end{narrowversion} +\begin{wideversion} + (See \Qref{commercial suppliers}{Q-commercial} for details.) +\end{wideversion} +\item If you have the \PS{} fonts in Type~1 format, + use \ProgName{ps2pk} or \ProgName{gsftopk} + (designed for use with the \ProgName{ghostscript} fonts) to make + \acro{PK} bitmap fonts which your previewer + will understand. This can produce excellent results, also suitable + for printing with non-\PS{} devices. Check the legalities of + this if you have purchased the fonts. +\end{itemize} +\begin{ctanrefs} +\item[ghostscript]Browse \CTANref{ghostscript} +\item[ghostview]Browse \CTANref{ghostview} +\item[gsftopk]\CTANref{gsftopk} +\item[GSview]Browse \CTANref{gsview} +\item[ps2pk]\CTANref{ps2pk} +\item[xdvi]\CTANref{xdvi} +\end{ctanrefs} + +\Question[Q-metrics]{\protect\TeX{} font metric files for \PS{} fonts} + +Reputable font vendors such as Adobe supply metric files for each +font, in \acro{AFM} (Adobe Font Metric) form; these can be converted +to \acro{TFM} (\TeX{} Font Metric) form. Most modern distributions have +prebuilt metrics which will be more than enough for many people; but you may +need to do the conversion yourself if you have special needs or +acquire a new font. One important question is the \emph{encoding} of +(Latin character) fonts; while we all more or less agree about the +position of about 96 characters in fonts (the basic \acro{ASCII} set), the +rest of the (typically) 256 vary. The most obvious problems are with +floating accents and special characters such as the `pounds sterling' +sign. There are three ways of dealing with this: either you change the +\TeX{} macros which reference the characters (not much fun, and +error-prone); or you change the encoding of the font (easier than you +might think); or you use \Qref*{virtual fonts}{Q-virtualfonts} to +\emph{pretend} to \TeX{} that the encoding is the same as it is used to. +\LaTeXe{} has facilities for dealing with fonts in different +encodings; read the \Qref*{\emph{\LaTeX{} Companion}}{Q-books} for +more details. In practice, if you do much non-English (but Latin +script) typesetting, you are strongly recommended to use the +\Package{fontenc} package with option `\pkgoption{T1}' to select +\Qref*{`Cork'}{Q-ECfonts} encoding. +A useful alternative is \YandY{}'s ``private'' \acro{LY}1 encoding, +which is designed to sit well with ``Adobe standard'' encoded fonts. +Basic support of \acro{LY1} is available on \acro{CTAN}: note that the +``relation with Adobe's encoding'' means that there are no +virtual fonts in the \acro{LY}1 world. + +Alan Jeffrey's \ProgName{fontinst} package is an \acro{AFM} to +\acro{TFM} converter written in \TeX{}; it is used to generate the +files used by \LaTeXe{}'s \acro{PSNFSS} package to support use of +\PS{} fonts. It is a sophisticated package, not for the faint-hearted, +but is powerful enough to cope with most needs. Much of its power +relies on the use of \Qref*{virtual fonts}{Q-virtualfonts}. + +For slightly simpler problems, Rokicki's \ProgName{afm2tfm}, +distributed with \ProgName{dvips}, is fast and +efficient; note that the metrics and styles that come with +\ProgName{dvips} are \emph{not} currently \LaTeXe{} compatible. + +For the Macintosh (classic), there is a program called +\ProgName{EdMetrics} which does the job (and more). +\ProgName{EdMetrics} comes with the (commercial) +\Qref*{Textures}{Q-commercial} distribution, but is itself free +software, and is available on \acro{CTAN}. +%% \par +%% Windows users can buy \Qref*{\YandY{}'s}{Q-commercial} +%% Font Manipulation Tools package which includes a powerful +%% \ProgName{afmtotfm} program among many other goodies. +\begin{ctanrefs} +\item[dvips]\CTANref{dvips} +\item[EdMetrics]\CTANref{edmetrics} +\item[fontinst]\CTANref{fontinst} +\item[LY1 support]\CTANref{ly1} +\end{ctanrefs} + +\Question[Q-psfontprob]{Deploying Type 1 fonts} + +For the \LaTeX{} user trying to use the +\nothtml{\acro{PSNFSS} (}\Qref{\acro{PSNFSS}}{Q-usepsfont}\nothtml{)} +package, three questions may arise. + +First, you have to declare to the \acro{DVI} driver that you are using +\PS{} fonts; in the case of \ProgName{dvips}, this means adding +lines to the |psfonts.map| file, so that \ProgName{dvips} will know +where the proper fonts are, and won't try to find \acro{PK} +files. If the font isn't built into the printer, you have to acquire +it (which may mean that you need to purchase the font files). + +Second, your previewer must know what to do with the fonts: see +\Qref[question]{previewing type 1 fonts}{Q-PSpreview}. + +Third, the stretch and shrink between words is a function of the +font metric; it is not specified in \acro{AFM} files, so different converters +choose different values. The \PS{} metrics that come with \acro{PSNFSS} +used to produce quite tight setting, but they were revised in mid 1995 +to produce a compromise between American and European practice. +Sophisticated users may not find even the new the values to their taste, and +want to override them. Even the casual user may find more +hyphenation or overfull boxes than Computer Modern produces; but \acro{CM} +is extremely generous. + +\Question[Q-psfchoice]{Choice of scalable outline fonts} + +If you are interested in text alone, you can in principle use any of +the huge numbers of text fonts in Adobe Type~1, TrueType or OpenType +formats. The constraint is, of course, that your previewer and +printer driver should support such fonts (\TeX{} itself \emph{only} +cares about metrics, not the actual character programs). + +If you also need mathematics, then you are severely limited by the +demands that \TeX{} makes of maths fonts (for details, see the paper by B.K.P. +Horn in \TUGboat{} 14(3)). +For maths, then, there are relatively few choices (though the list is +at last growing). There are several font families available that are +based on Knuth's original designs, and some that complement other +commercial text font designs; one set (MicroPress's `informal math') +stands alone. ``Free'' font families that will support \TeX{} +mathematics include: +\begin{booklist} +\item[Computer Modern](75 fonts~--- optical scaling) Donald E. Knuth\\ + The \acro{CM} fonts were originally designed in \MF{}, but are also + now available in scalable outline form. There are commercial as + well as public domain versions, and there are both Adobe Type~1 and + TrueType versions. A set of outline versions of the fonts was + developed as a commercial venture by \YandY{} and Blue Sky Research; + they have since assigned the copyright to the \acro{AMS}, and the + fonts are now freely available from \acro{CTAN}. Their quality is + such that they have become the \emph{de facto} standard for Type~1 + versions of the fonts. +\item[\acro{AMS} fonts](52 fonts, optical scaling) The \acro{AMS}\\ + This set of fonts offers adjuncts to the \acro{CM} set, including + two sets of symbol fonts (|msam| and |msbm|) and Euler text fonts. + These are not a self-standing family, but merit discussion here (not + least because several other families mimic the symbol fonts). + Freely-available Type~1 versions of the fonts are available on + \acro{CTAN}. The \Package{eulervm} package permits use + of the Euler maths alphabet in conjunction with text fonts that do + not provide maths alphabets of their own (for instance, Adobe + Palatino or Minion). +\item[mathpazo version 1.003](5 fonts) Diego Puga\\ + The Pazo Math fonts are a family of type~1 fonts suitable for + typesetting maths in combination with the Palatino family of text + fonts. Four of the five fonts of the distribution are maths + alphabets, in upright and italic shapes, medium and bold weights; + the fifth font contains a small selection of ``blackboard bold'' + characters (chosen for their mathematical significance). Support + under \LaTeXe{} is available in \nothtml{\acro{PSNFSS} (}% + \Qref{\acro{PSNFSS}}{Q-usepsfont}\nothtml{)}; the fonts are + licensed under the \acro{GPL}, with legalese permitting the use of + the fonts in published documents. +\item[Fourier/Utopia](15 fonts) Michel Bovani\\ + \FontName{Fourier} is a family built on Adobe \FontName{Utopia} + (which has been released for usage free of charge by Adobe). The + fonts provide the basic Computer Modern set of mathematical symbols, + and add many of the \acro{AMS} mathematical symbols (though you are + expected to use some from the \acro{AMS} fonts themselves). There + are also several other mathematical and decorative symbols. The + fonts come with a \Package{fourier} package for use with \LaTeX{}; + text support of \acro{OT}1 encoding is not provided~--- you are + expected to use \acro{T}1. +\item[MathDesign](3 entire families\dots{}so far) Paul Pichareau\\ + This (very new: first release was in April 2005) set so far offers + mathematics fonts to match Adobe Utopia, URW Garamond and Bitstream + Charter (all of which are separately available, on \acro{CTAN}, in Type~1 + format). There has been a little comment on these fonts, but none + from actual users posted to the public forums. Users, particularly + those who are willing to discuss their experiences, would obviously + be welcome. Browse the \acro{CTAN} directory and see which you + want: there is a wealth of documentation and examples. +\item[Belleek](3 fonts) Richard Kinch\\ + Belleek is the upshot of Kinch's thoughts on how \MF{} might be used + in the future: they were published simultaneously as \MF{} source, + as Type~1 fonts, and as TrueType fonts. The fonts act as ``drop-in'' + replacements for the basic MathTime set (as an example of ``what might + be done''). + + The paper outlining Kinch's thoughts, proceeding from considerations + of the `intellectual' superiority of \MF{} to evaluations of why its + adoption is so limited and what might be done about the problem, is + to be found at \URL{http://truetex.com/belleek.pdf} (the paper is a + good read, but exhibits the problems discussed in % line wrap + \htmlonly{``}\Qref[question]{getting good \acro{PDF}}{Q-dvips-pdf}\htmlonly{''}~--- + don't try to read it on-screen in Acrobat reader). +\item[mathptmx]Alan Jeffrey, Walter Schmidt and others.\\ + This set contains maths italic, symbol, extension, and roman virtual + fonts, built from Adobe Times, Symbol, Zapf Chancery, and the + Computer Modern fonts. The resulting mixture is not entirely + acceptable, but can pass in many circumstances. The real advantage + is that the mathptm fonts are (effectively) free, and the resulting + \PS{} files can be freely exchanged. Support under \LaTeXe{} + is available in \Qref*{\acro{PSNFSS}}{Q-usepsfont}. +\item[Computer Modern Bright]Free scalable outline versions of these + fonts do exist; they are covered below together with their + commercial parallels. +\end{booklist} +Fonts capable of setting \TeX{} mathematics, that are available +commercially, include: +\begin{booklist} +\item[BA Math](13 fonts) MicroPress Inc.\\ + BA Math is a family of serif fonts, inspired by the elegant + and graphically perfect font design of John Baskerville. BA + Math comprises the fonts necessary for mathematical typesetting + (maths italic, math symbols and extensions) in normal and bold + weights. The family also includes all \acro{OT}1 and \acro{T}1 + encoded text fonts of various shapes, as well as fonts with most + useful glyphs of the \acro{TS}1 encoding. Macros for using the + fonts with Plain~\TeX{}, \LaTeXo{} and current \LaTeX{} are + provided. + + \nothtml{\bgroup\raggedwithindent} + For further details (including samples) see\\ + \URL{http://www.micropress-inc.com/fonts/bamath/bamain.htm} + \nothtml{\par\egroup} +\item[CH Math](15 fonts) MicroPress Inc.\\ + CH Math is a family of slab serif fonts, designed as a maths + companion for Bitstream Charter. (The distribution includes + four free Bitstream text fonts, in addition to the 15 hand-hinted + MicroPress fonts.) + \nothtml{\bgroup\raggedwithindent} + For further details (including samples) see\\ + \URL{http://www.micropress-inc.com/fonts/chmath/chmain.htm} + \nothtml{\par\egroup} +\item[Computer Modern Bright](62 fonts~--- optical scaling) Walter + Schmidt\\ + \acro{CM} Bright is a family of sans serif fonts, based on Knuth's + \acro{CM} fonts. It comprises the fonts necessary for mathematical + typesetting, including \acro{AMS} symbols, as well as text and text + symbol fonts of various shapes. The collection comes with its own + set of files for use with \LaTeX{}. The \acro{CM} Bright fonts are + supplied in Type~1 format by MicroPress, Inc. The + \Package{hfbright} bundle offers free Type~1 fonts for text using + the \acro{OT}1 encoding~--- the \Package{cm-super} set for + use with \acro{T}1 texts doesn't (yet) offer support for mathematics. + + \nothtml{\bgroup\raggedwithindent} + For further details of Micropress' offering (including samples) see\\ + \URL{http://www.micropress-inc.com/fonts/brmath/brmain.htm} + \nothtml{\par\egroup} +\item[Concrete Math](25 fonts~--- optical scaling) Ulrik Vieth\\ + The Concrete Math font set was derived from the Concrete Roman + typefaces designed by Knuth. The set provides a collection of math + italics, math symbol, and math extension fonts, and fonts of + \acro{AMS} symbols that fit with the Concrete set, so that Concrete + may be used as a complete replacement for Computer Modern. Since + Concrete is considerably darker than \acro{CM}, the family may + particularly attractive for use in low-resolution printing or in + applications such as posters or transparencies. Concrete Math + fonts, as well as Concrete Roman fonts, are supplied in Type 1 + format by MicroPress, Inc. + + \nothtml{\bgroup\raggedwithindent} + For further information (including samples) see\\ + \URL{http://www.micropress-inc.com/fonts/ccmath/ccmain.htm} + \nothtml{\par\egroup} +\item[HV Math](14 fonts) MicroPress Inc.\\ + HV Math is a family of sans serif fonts, inspired by the + Helvetica (\acro{TM}) typeface. HV Math comprises the fonts + necessary for mathematical typesetting (maths italic, maths symbols + and extensions) in normal and bold weights. The family also + includes all \acro{OT}1 and \acro{T}1 encoded text fonts of various + shapes, as well as fonts with most useful glyphs of the \acro{TS}1 + encoding. Macros for using the fonts with Plain~\TeX{}, \LaTeXo{} + and current \LaTeX{} are provided. Bitmapped copies of the fonts + are available free, on \acro{CTAN}. + + \nothtml{\bgroup\raggedwithindent} + For further details (and samples) see\\ + \URL{http://www.micropress-inc.com/fonts/hvmath/hvmain.htm} + \nothtml{\par\egroup} +\item[Informal Math](7 outline fonts) MicroPress Inc.\\ + Informal Math is a family of fanciful fonts loosely based on the + Adobe's Tekton (\acro{TM}) family, fonts which imitate handwritten + text. Informal Math comprises the fonts necessary for + mathematical typesetting (maths italic, maths symbols and extensions) + in normal weight, as well as \acro{OT}1 encoded text fonts in + upright and oblique shapes. Macros for using the fonts with + Plain~\TeX{}, \LaTeXo{} and current \LaTeX{} are provided. + + \nothtml{\bgroup\raggedwithindent} + For further details (including samples) see\\ + \URL{http://www.micropress-inc.com/fonts/ifmath/ifmain.htm} + \nothtml{\par\egroup} +%% \item[Lucida Bright \emph{with} Lucida New Math](25 fonts) Chuck Bigelow and +%% Kris Holmes\\ +%% Lucida is a family of related fonts including seriffed, sans serif, +%% sans serif fixed width, calligraphic, blackletter, fax, Kris Holmes' +%% connected handwriting font, \emph{etc}; they're not as `spindly' as +%% Computer Modern, with a large x-height, and include a larger set of +%% maths symbols, operators, relations and delimiters than \acro{CM} +%% (over 800 instead of 384: among others, it also includes the +%% \acro{AMS} |msam| and |msbm| symbol sets). `Lucida Bright Expert' +%% (14 fonts) adds seriffed fixed width, another handwriting font, +%% smallcaps, bold maths, upright `maths italic', \emph{etc}., to the +%% set. The distribution includes support for use with Plain \TeX{} +%% and \LaTeXo{}. Support under \LaTeXe{} is provided in +%% \Qref*{\acro{PSNFSS}}{Q-usepsfont} +%% thanks to Sebastian Rahtz and David Carlisle. +%% \par +%% \nothtml{\bgroup\raggedwithindent} +%% For a sample, see \URL{http://www.YandY.com/download/chironlb.pdf} +%% \nothtml{\par\egroup} +\item[Adobe Lucida, LucidaSans \emph{and} LucidaMath](12 fonts)\\ + Lucida and LucidaMath are generally considered to be a bit heavy. + The three maths fonts contain only the glyphs in the \acro{CM} maths + italic, symbol, and extension fonts. Support for using LucidaMath + with \TeX{} is not very good; you will need to do some work + reencoding fonts \emph{etc}. (In some sense this set is the + ancestor of the LucidaBright plus LucidaNewMath font set, which are + not currently available.) +%% \item[MathTime 1.1](3 fonts) Publish or Perish (Michael Spivak)\\ +%% The set contains maths italic, symbol, and extension fonts, designed +%% to work well with the Times-Roman family, which is resident on many +%% printers, and which is supplied with some \acro{PC} versions. In +%% addition you may want to complement this basic set with Adobe's +%% Times Smallcap, and perhaps the set of Adobe `Math Pi' fonts, which +%% include blackboard bold, blackletter, and script faces. +%% \par +%% \nothtml{\bgroup\raggedwithindent} +%% For a sample, see \URL{http://www.YandY.com/download/chironmt.pdf} +%% \nothtml{\par\egroup} +%% \item[MathTime Plus](12 fonts) Publish or Perish (Michael Spivak)\\ +%% Adds bold and heavy versions of the basic math fonts, as well as +%% upright math ``italic''. There are also Greek letters for use in +%% typesetting terms commonly used in physics, as well as regular and +%% bold script faces. Both MathTime distributions include support for +%% use with Plain \TeX{} and \LaTeXo{} (including code to link in +%% Adobe Math Pi~2 and Math Pi~6). Support under \LaTeXe{} is provided +%% in +%% \Qref*{\acro{PSNFSS}}{Q-usepsfont} +%% thanks to Frank Mittelbach and David Carlisle. +%% \par +%% \nothtml{\bgroup\raggedwithindent} +%% For a sample, see \URL{http://www.YandY.com/download/mathplus.pdf} +%% \nothtml{\par\egroup} +\item[MathTime Pro]Publish or Perish (Michael Spivak)\\ + This latest instance of the MathTime family covers all the weights + (medium, bold and heavy) and symbols of previous versions of + MathTime. In addition it has a much extended range of symbols, and + many typographic improvements that make for high-quality documents. + The fonts are supported under both Plain \TeX{} and \LaTeXe{}, and + are exclusively available for purchase from + \Qref*{Personal \TeX{} Inc}{Q-commercial}. + \par + \nothtml{\bgroup\raggedwithindent} + For a sample, see \URL{http://www.pctex.com/mtpdemo.pdf} + \nothtml{\par\egroup} +\item[PA Math] PA~Math is a family of serif fonts + loosely based on the Palatino (\acro{TM}) typeface. PA~Math + comprises the fonts necessary for mathematical typesetting (maths + italics, maths, calligraphic and oldstyle symbols, and extensions) + in normal and bold weights. The family also includes all \acro{OT}1, + \acro{T}1 encoded text fonts of various shapes, as well as fonts + with the most useful glyphs of the \acro{TS}1 encoding. Macros for + using the fonts with Plain~\TeX{}, \LaTeXo{} and current \LaTeX{} + are provided. + + \nothtml{\bgroup\raggedwithindent} + For further details (and samples) see\\ + \URL{http://www.micropress-inc.com/fonts/pamath/pamain.htm} + \nothtml{\par\egroup} +\item[TM Math](14 fonts) MicroPress Inc.\\ + TM Math is a family of serif fonts, inspired by the Times + (\acro{TM}) typeface. TM Math comprises the fonts necessary for + mathematical typesetting (maths italic, maths symbols and extensions) + in normal and bold weights. The family also includes all \acro{OT}1 + and \acro{T}1 encoded text fonts of various shapes, as well as fonts + with most useful glyphs of the \acro{TS}1 encoding. Macros for + using the fonts with Plain~\TeX{}, \LaTeXo{} and current \LaTeX{} + are provided. Bitmapped copies of the fonts are available free, on + \acro{CTAN}. + + \nothtml{\bgroup\raggedwithindent} + For further details (and samples) see\\ + \URL{http://www.micropress-inc.com/fonts/tmmath/tmmain.htm} + \nothtml{\par\egroup} +\end{booklist} +Two other font sets should be mentioned, even though they don't +currently produce satisfactory output~--- their author is no longer +working on them, and several problems have been identified: +\begin{booklist} +\item[pxfonts set version 1.0](26 fonts) by Young Ryu\\ + The \FontName{pxfonts} set consists of + \begin{itemize} + \item virtual text fonts using \FontName{Adobe} \FontName{Palatino} (or the \acro{URW} + replacement used by \ProgName{ghostscript}) with modified plus, + equal and slash symbols; + \item maths alphabets using \FontName{Palatino}; + \item maths fonts of all symbols in the computer modern maths fonts + (\FontName{cmsy}, \FontName{cmmi}, \FontName{cmex} and the Greek + letters of \FontName{cmr}) + \item maths fonts of all symbols corresponding to the \acro{AMS} + fonts (\FontName{msam} and \FontName{msbm}); + \item additional maths fonts of various symbols. + \end{itemize} + The text fonts are available in \acro{OT}1, \acro{T}1 and \acro{LY}1 + encodings, and \acro{TS} encoded symbols are also available. The + sans serif and monospaced fonts supplied with the \FontName{txfonts} + set (see below) may be used with \FontName{pxfonts}; the + \FontName{txfonts} set should be installed whenever \FontName{pxfonts} + are. \LaTeX{}, \ProgName{dvips} and \PDFTeX{} support files are + included. +\begin{narrowversion} % really non-hyper version + Documentation + (\URL{http://www.tex.ac.uk/tex-archive/fonts/pxfonts/doc/pxfontsdocA4.pdf}) +\end{narrowversion} +\begin{wideversion} + \href{http://www.tex.ac.uk/tex-archive/fonts/pxfonts/doc/pxfontsdocA4.pdf}{Documentation} +\end{wideversion} + is readily available. + + The fonts are licensed under the \acro{GPL}; use in published + documents is permitted. +\item[txfonts set version 3.1](42 fonts) by Young Ryu\\ + The \FontName{txfonts} set consists of + \begin{itemize} + \item virtual text fonts using \FontName{Adobe} \FontName{Times} (or the \acro{URW} + replacement used by \ProgName{ghostscript}) with modified plus, + equal and slash symbols; + \item matching sets of sans serif and monospace (`typewriter') + fonts (the sans serif set is based on \FontName{Adobe} \FontName{Helvetica}); + \item maths alphabets using \FontName{Times}; + \item maths fonts of all symbols in the computer modern maths fonts + (\FontName{cmsy}, \FontName{cmmi}, \FontName{cmex} and the Greek letters of \FontName{cmr}) + \item maths fonts of all symbols corresponding to the \acro{AMS} + fonts (\FontName{msam} and \FontName{msbm}); + \item additional maths fonts of various symbols. + \end{itemize} + The text fonts are available in \acro{OT}1, \acro{T}1 and \acro{LY}1 + encodings, and \acro{TS} encoded symbols are also available. +\begin{narrowversion} % really non-hyper version + Documentation + (\URL{http://www.tex.ac.uk/tex-archive/fonts/txfonts/doc/txfontsdocA4.pdf}) +\end{narrowversion} +\begin{wideversion} + \href{http://www.tex.ac.uk/tex-archive/fonts/txfonts/doc/txfontsdocA4.pdf}{Documentation} +\end{wideversion} + is readily available. + + The fonts are licensed under the \acro{GPL}; use in published + documents is permitted. +\end{booklist} +Finally, one must not forget: +\begin{booklist} +\item[Proprietary fonts]Various sources.\\ + Since having a high quality font set in scalable outline form that + works with \TeX{} can give a publisher a real competitive advantage, + there are some publishers that have paid (a lot) to have such font + sets made for them. Unfortunately, these sets are not available on + the open market, despite the likelihood that they're more complete + than those that are. +\end{booklist} +We observe a very limited selection of commercial maths font sets; a +maths font has to be explicitly designed for use with \TeX{}, which is +an expensive business, and is of little appeal in other markets. +Furthermore, the \TeX{} market for commercial fonts is minute by +comparison with the huge sales of other font sets. + +Text fonts in Type~1 format are available from many vendors including +Adobe, Monotype and Bitstream. However, be careful with cheap font +``collections''; many of them dodge copyright restrictions by removing +(or crippling) parts of the font programs such as hinting. Such +behaviour is both unethical and bad for the consumer. +The fonts may not render well (or at all, under \acro{ATM}), may not have the +`standard' complement of 228 glyphs, or may not include metric files +(which you need to make \acro{TFM} files). + +TrueType remains the ``native'' format for Windows. Some \TeX{} +implementations such as \Qref*{True\TeX{}}{Q-commercial} use TrueType +versions of Computer Modern and Times Maths fonts to render \TeX{} +documents in Windows without the need for additional system software like +\acro{ATM}. (When used on a system running Windows~XP, True\TeX{} can +also use Type~1 fonts.) + +When choosing fonts, your own system environment may not be the only one of +interest. If you will be sending your finished documents to others for +further use, you should consider whether a given font format will introduce +compatibility problems. Publishers may require TrueType exclusively because +their systems are Windows-based, or Type~1 exclusively, because their systems +are based on the early popularity of that format in the publishing industry. +Many service bureaus don't care as long as you present them with a finished +print file (\PS{} or \acro{PDF}) for their output device. +\begin{ctanrefs} +\item[CM \nothtml{\normalfont}family collection]% + Browse \CTANref{cm-AMStype1} +\item[AMS \nothtml{\normalfont}font collection]% + Browse \CTANref{ams-AMStype1} +\item[Belleek \nothtml{\normalfont}fonts]% + \CTANref{belleek} +\item[CM-super \nothtml{\normalfont}collection]\CTANref{cm-super} +\item[eulervm.sty \nothtml{\normalfont}and supporting metrics]% + \CTANref{eulervm} +\item[fourier \nothtml{\normalfont}(including metrics and other support for \nothtml{\itshape}utopia]% + \CTANref{fourier} +\item[hfbright \nothtml{\normalfont}collection]\CTANref{hfbright} +\item[hvmath \nothtml{\normalfont\itshape}(free bitmapped version)]% + \CTANref{hvmath} +\item[MathDesign \nothtml{\normalfont}collection]\CTANref{mathdesign} +\item[pxfonts]\CTANref{pxfonts} +\item[tmmath \nothtml{\normalfont\itshape}(free bitmapped version)]% + \CTANref{tmmath} +\item[txfonts]\CTANref{txfonts} +\item[utopia \nothtml{\normalfont}fonts]\CTANref{utopia} +\end{ctanrefs} + +\Question[Q-charshift]{Weird characters in \ProgName{dvips} output} +\keywords{fi ligature pound pounds sterling elephants} + +You've innocently generated output, using \ProgName{dvips}, and there +are weird transpositions in it: for example, the \texttt{fi} ligature has +appeared as a \textsterling{} symbol. +This is an unwanted side-effect of the +precautions\nothtml{ about generating \PS{} for \acro{PDF}} % beware line break +outlined in \Qref[question]{generating \PS{} for PDF}{Q-dvips-pdf}. +The \texttt{-G1} switch discussed in that question is appropriate for +Knuth's text fonts, but doesn't work with text fonts that don't follow +Knuth's patterns (such as fonts supplied by Adobe). + +If the problem arises, suppress the \texttt{-G1} switch: if you were using it +explicitly, \emph{don't}; if you were using \texttt{-Ppdf}, add \texttt{-G0} to +suppress the implicit switch in the pseudo-printer file. + +The problem has been corrected in \ProgName{dvips} v~5.90 (and later +versions), which should be available in any recent \TeX{} distribution. + +\subsection{Particular font families} + +\Question[Q-concrete]{Using the ``Concrete'' fonts} + +The Concrete Roman fonts were designed by Don Knuth for a book called +``Concrete Mathematics'', which he wrote with Graham and Patashnik +(\emph{the} Patashnik, of \BibTeX{} fame). Knuth +only designed text fonts, since the book used the Euler fonts for +mathematics. The book was typeset using Plain \TeX{}, of course, with +additional macros that may be viewed in a file \File{gkpmac.tex}, +which is available on \acro{CTAN}. + +The packages \Package{beton}, \Package{concmath}, and +\Package{ccfonts} are \LaTeX{} packages that change the default text +fonts from Computer Modern to Concrete. Packages \Package{beton} and +\Package{ccfonts} also slightly increase the default value of +\csx{baselineskip} to account for the rather heavier weight of the +Concrete fonts. If you wish to use the \FontName{Euler} fonts for +mathematics, as Knuth did, there's the \Package{euler} package which +has been developed from Knuth's own Plain \TeX{}-based set: these +macros are currently deprecated (they clash with many things, including +\AMSLaTeX{}). The independently-developed \Package{eulervm} +bundle is therefore preferred to the \Package{euler} package. (Note +that installing the \Package{eulervm} bundle involves installing a +series of virtual fonts. While most modern distributions seem to have +the requisite files installed by default, you may find you have to +install them. If so, see the file \File{readme} in the +\Package{eulervm} distribution.) + +A few years after Knuth's original design, Ulrik Vieth +designed the Concrete Math fonts. Packages +\Package{concmath}, and \Package{ccfonts} also change the default math +fonts from Computer Modern to Concrete and use the Concrete versions +of the \acro{AMS} fonts (this last behaviour is optional in the case +of the \Package{concmath} package). + +There are no bold Concrete fonts, but it is generally accepted that +the Computer Modern Sans Serif demibold condensed fonts are an +adequate substitute. If you are using \Package{concmath} or +\Package{ccfonts} and you want to follow this suggestion, then use the +package with \pkgoption{boldsans} class option (in spite of the fact +that the \Package{concmath} documentation calls it +\pkgoption{sansbold} class option). If you are using \Package{beton}, +add +\begin{quote} + \cmdinvoke{renewcommand}{\csx{bfdefault}}{sbc} +\end{quote} +to the preamble of your document. + +Type~1 versions of the fonts are available. For the OT1 encoding, +they are available from \nothtml{MicroPress (}% beware line break +\Qref{MicroPress}{Q-psfchoice}\nothtml{)}. The +\nothtml{CM-Super fonts (}% beware line break +\Qref{CM-Super fonts}{Q-textrace}\nothtml{)} contain Type~1 versions +of the Concrete fonts in the T1 encoding. +\begin{ctanrefs} +\item[beton.sty]\CTANref{beton} +\item[ccfonts.sty]\CTANref{ccfonts} +\item[\nothtml{\rmfamily}CM-Super fonts]\CTANref{cm-super} +\item[concmath.sty]\CTANref{concmath} +\item[\nothtml{\rmfamily}Concmath fonts]\CTANref{concmath-f} +\item[\nothtml{\rmfamily}Concrete fonts]\CTANref{concrete} +\item[euler.sty]\CTANref{euler-latex} +\item[eulervm \nothtml{\rmfamily}bundle]\CTANref{eulervm} +\item[gkpmac.tex]\CTANref{gkpmac} +\end{ctanrefs} + +\Question[Q-uselmfonts]{Using the Latin Modern fonts} + +The \Package{lm} fonts are an exciting addition to +the armoury of the \AllTeX{} user: high quality outlines of fonts that +were until recently difficult to obtain, all in a free and +relatively compact package. However, the spartan information file +that comes with the fonts remarks ``It is presumed that a potential +user knows what to do with all these files''. This answer aims to +fill in the requirements: the job is really not terribly difficult. + +Note that te\TeX{} distributions, from version~3.0, already have the +\Package{lm} fonts: all you need do is use them. The fonts may also +be installed via the package manager, in a current MiK\TeX{} system. +The remainder of this answer, then, is for people who don't use such +systems. + +The font (and related) files appear on \acro{CTAN} as a set of +single-entry \Qref*{\acro{TDS} trees}{Q-tds}~--- +\File{fonts}, \File{dvips}, \File{tex} and \File{doc}. The \File{doc} +subtree really need not be copied (it's really a pair of sample +files), but copy the other three into your existing Local |$TEXMF| +tree, and +% beware line break +\Qref*{update the filename database}{Q-instpackages}. + +Now, incorporate the fonts in the set searched by \PDFLaTeX{}, +\ProgName{dvips}, \ProgName{dvipdfm}, your previewers and +Type~1-to-\acro{PK} conversion programs, by +\begin{itemize} +\item On a te\TeX{} system earlier than version~2.0, edit the file + \File{$TEXMF/dvips/config/updmap} and insert an absolute path for + the \File{lm.map} just after the line that starts + |extra_modules="| (and before the closing quotes). +\item On a te\TeX{} version~2.0 (or later), execute the command +\begin{verbatim} + updmap --enable Map lm.map +\end{verbatim} +\item On a MiK\TeX{} system earlier than version~2.2, the ``Refresh + filename database'' operation, which you performed after installing + files, also updates the system's ``\PS{} resources database''. +\item On a MiK\TeX{} system, version~2.2 or later, update + \File{updmap.cfg} as described in the MiK\TeX{} % beware line break + \href{http://www.miktex.org/manual/psfonts.html}{online documentation}. + Then execute the command \texttt{initexmf -\relax-mkmaps}, and the + job is done. +\end{itemize} + +To use the fonts in a \LaTeX{} document, you should +\begin{quote} + \cmdinvoke{usepackage}{lmodern} +\end{quote} +this will make the fonts the default +for all three \LaTeX{} font families (``roman'', ``sans-serif'' and +``typewriter''). You also need +\begin{quote} + \cmdinvoke{usepackage}[T1]{fontenc} +\end{quote} +for text, and +\begin{quote} + \cmdinvoke{usepackage}{textcomp} +\end{quote} +if you want to use any of the \acro{TS}1-encoding symbols. There is +no support for using fonts according to the \acro{OT}1 encoding. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Latin Modern fonts]\CTANref{lm} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Hypertext and \acro{PDF}} + +\Question[Q-hyper]{Making hypertext documents from \TeX{}} + +If you want on-line hypertext with a \AllTeX{} source, probably on the +World Wide Web, there are four technologies to consider: +\begin{itemize} +\item Direct \nothtml{\AllTeX{} conversion to \acro{HTML} (}% + \Qref{\AllTeX{} conversion to \acro{HTML}}{Q-LaTeX2HTML}\nothtml{)}; +% beware line break +\item Use \Qref*{\Package{Texinfo}}{Q-texinfo}, + and use the \ProgName{info} viewer, or convert the \Package{texinfo} + to \acro{HTML}; +\item Use Adobe Acrobat, which will preserve your typesetting + perfectly (see + \Qref[question]{Making Acrobat documents from \LaTeX{}}{Q-acrobat}); +\item The hyper\TeX{} conventions (standardised \csx{special} + commands); there are supporting macro packages for Plain \TeX{} and + \LaTeX{}). +\end{itemize} + +The Hyper\TeX{} project extended the functionality of all the +\LaTeX{} cross-referencing commands (including the table of contents) +to produce \csx{special} commands which are parsed by \acro{DVI} processors +conforming to the Hyper\TeX{} guidelines; +it provides general hypertext links, including those +to external documents. + +The Hyper\TeX{} specification says that conformant viewers/translators +must recognize the following set of \csx{special} commands: +\begin{description} +\item[href:] |html:<a href = "href_string">| +\item[name:] |html:<a name = "name_string">| +\item[end:] |html:</a>| +\item[image:] |html:<img src = "href_string">| +\item[base\_name:] |html:<base href = "href_string">| +\end{description} + +The \emph{href}, \emph{name} and \emph{end} commands are used to do +the basic hypertext operations of establishing links between sections +of documents. + +Further details are available on \URL{http://arXiv.org/hypertex/}; there +are two commonly-used implementations of the specification, a +modified \ProgName{xdvi} and (recent releases of) +\ProgName{dvips}. Output from the latter may be used in recent +releases of \ProgName{ghostscript} or Acrobat Distiller. + +\Question[Q-acrobat]{Making Acrobat documents from \LaTeX{}} + +There are three general routes to Acrobat output: Adobe's original +`distillation' route (via \PS{} output), conversion of a +\acro{DVI} file, and the use of a direct \acro{PDF} generator such as +\PDFTeX{} (see \Qref[question]{the \PDFTeX{} project}{Q-pdftex}) or +MicroPress's V\TeX{} (see % beware line breaks +\Qref[questions]{commercial \TeX{} implementations}{Q-commercial} +and \Qref[\htmlonly]{`free' \TeX{} implementations)}{Q-TeXsystems}). + +For simple documents (with no hyper-references), you can either +\begin{itemize} +\item process the document in the normal way, produce \PS{} + output and distill it; +\item (on a Windows or Macintosh machine with the appropriate Adobe + tools installed) pass the output through the + \acro{PDF}writer in place of a printer driver (this route is a dead + end: the \acro{PDF}writer cannot create hyperlinks); +\item process the document in the normal way and generate \acro{PDF} + direct from the \acro{DVI} with \ProgName{dvipdfm}; or +\item process the document direct to \acro{PDF} with \PDFTeX{} or + V\TeX{}. \PDFTeX{} has + the advantage of availability for a wide range of platforms, V\TeX{} + (available commercially for Windows, or free of charge for Linux or + \acro{OS/}2) has wider graphics capability, dealing with + encapsulated \PS{} and some in-line \PS{}. +\end{itemize} + +To translate all the \LaTeX{} cross-referencing into Acrobat +links, you need a \LaTeX{} package to suitably redefine +the internal commands. There are two of these for \LaTeX{}, both +capable of conforming to the Hyper\TeX{} specification +(see \Qref[question]{Making hypertext documents from \TeX{}}{Q-hyper}): +Sebastian Rahtz's \Package{hyperref}, and Michael Mehlich's +\Package{hyper}. \Package{Hyperref} +uses a configuration file to determine how it will generate hypertext; +it can operate using \PDFTeX{} primitives, the hyper\TeX{} +\csx{special}s, or \acro{DVI} driver-specific \csx{special} commands. +%% Both \ProgName{dvips} and \YandY{}'s \acro{\ProgName{DVIPSONE}} +\ProgName{Dvips} +translates the \acro{DVI} with these \csx{special} commands into +\PS{} acceptable to Distiller, and \ProgName{dvipdfm} has \csx{special} +commands of its own. + +There is no free implementation of all of \ProgName{Adobe} +\ProgName{Distiller}'s +functionality, but recent versions of \ProgName{ghostscript} +provide pretty reliable distillation (but beware of the problems +discussed in +% beware line break +\Qref[question]{\ProgName{dvips} output for distillation}{Q-dvips-pdf}). +In fact, \ProgName{Distiller} itself is now remarkably cheap (for +academics at least). + +For viewing (and printing) the resulting files, Adobe's +\ProgName{Acrobat} \ProgName{Reader} is available for a fair range of +platforms; for those for which Adobe's reader is unavailable, remotely +current versions of \ProgName{ghostscript} combined with +\ProgName{ghostview} or \ProgName{GSview} can display and print +\acro{PDF} files. + +In many circumstances, \ProgName{ghostscript} combined with a viewer +application is actually preferable to Acrobat Reader. For example, on +Windows Acrobat Reader locks the |.pdf| file it's displaying: this +makes the traditional (and highly effective) \AllTeX{} development +cycle of ``Edit\arrowhyph{}Process\arrowhyph{}Preview'' become +incredibly clumsy~--- \ProgName{GSview} doesn't make the same +mistake. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Acrobat Reader]browse + \URL{ftp://ftp.adobe.com/pub/adobe/acrobatreader} +\item[dvipdfm]\CTANref{dvipdfm} +\item[ghostscript]Browse \CTANref{ghostscript} +\item[ghostview]Browse \CTANref{ghostview} +\item[GSview]Browse \CTANref{gsview} +\item[hyper.sty]\CTANref{hyper} +\item[hyperref.sty]\CTANref{hyperref} +\end{ctanrefs} + +\Question[Q-dvips-pdf]{Quality of \acro{PDF} from \PS{}} +\keywords{blurry fuzzy crippled} + +Any reasonable \PS{}, including any output of \ProgName{dvips}, may be +converted to \acro{PDF}, using (for example) a sufficiently recent +version of \ProgName{ghostscript}, Frank Siegert's (shareware) +\href{http://www.pstill.com/}{\ProgName{PStill}}, or Adobe's (commercial) +\ProgName{Distiller}. + +But, although the job may (almost always) be done, the results are +often not acceptable: the most frequent problem is bad presentation of +the character glyphs that make up the document. The following answers +offer solutions to this (and other) problems of bad presentation. +Issues covered are: +\begin{itemize} +% beware line breaks (two lines) +\item \nothtml{Wrong type of fonts used (}% + \Qref{Wrong type of fonts used}{Q-fuzzy-type3}\nothtml{)}, which is + the commonest cause of fuzzy text. +% beware line breaks (two lines) +\item \nothtml{\ProgName{ghostscript} too old (}% + \Qref{\ProgName{ghostscript} too old}{Q-fuzzy-gs}\nothtml{)}, + which can also result in fuzzy text. +\item \nothtml{Switching to font encoding T1 (}% + \Qref{Switching to font encoding T1}{Q-fuzzy-T1}\nothtml{)}, which + is yet another possible cause of fuzzy text. +\item Another problem~--- missing characters~--- arises from an + % beware line breaks + \nothtml{aged version of \ProgName{Adobe}~\ProgName{Distiller} (}% + \Qref{aged version of \ProgName{Adobe}~\ProgName{Distiller}}{Q-distill-prob}\nothtml{)}. +\item Finally, there's the common confusion that arises from using the + \ProgName{dvips} configuration file \texttt{-Ppdf}, the + \nothtml{weird characters (}% + \Qref{weird characters}{Q-charshift}\nothtml{)}. +\end{itemize} +It should be noted that \ProgName{Adobe} % \ProgName{Acrobat} no longer + % part of the name +\ProgName{Reader}~6 (released in mid-2003) does not exhibit the +``fuzziness'' that so many of the answers below address. This is of +course good news: however, it will inevitably be a long time before +every user in the world has this (or later) versions, so the remedies +below are going to remain for some time to come. + +\Question[Q-fuzzy-type3]{The wrong type of fonts in \acro{PDF}} +\keywords{crippled blurry} + +This is far the commonest problem: the symptom is that text in the +document looks ``fuzzy''. + +Most people use \ProgName{Adobe} \ProgName{Acrobat} \ProgName{Reader} +to view their \acro{PDF}: \ProgName{Reader} is distributed free of +charge, and is widely available, for all its faults. One of those +faults is its failure to deal with bitmap fonts (at least, in all +versions earlier than the recently released version~6). + +So we don't want bitmap fonts in our \PS{}: with them, characters show +up in \ProgName{Reader}'s display as blurred blobs which are often not +recognisable as the original letter, and are often not properly placed +on the line. Nevertheless, even now, most \TeX{} systems have +\ProgName{dvips} configured to use +\nothtml{\texttt{.pk} files (}% beware line breaks +\Qref{\texttt{.pk} files}{Q-pk}\nothtml{)} in its output. Even +\PDFTeX{} will use \texttt{.pk} files if it can see no alternative for +a font in the document it is processing. + +Our remedy is to use +% perniciously dangerous line wraps await editors here ;-) +\latexhtml{``Adobe Type~1'' (}{``}\Qref{Adobe Type~1}{Q-adobetypen}\latexhtml{)}{''} +versions of the fonts we need. Since Adobe are in the +business of selling Type~1 fonts, \ProgName{Reader} was of course made +to deal with them really rather well, from the very beginning. + +Of course, if your document uses nothing but fonts that came from +Adobe in the first place~--- fonts such as \FontName{Times} that +appear in pretty much every \PS{} printer, or such as Adobe +\FontName{Sabon} that you pay extra for~--- then there's no problem. + +But most people use \FontName{Computer} \FontName{Modern} to start +with, and even those relative sophisticates who use something as +exotic as \ProgName{Sabon} often find themselves using odd characters +from \acro{CM} without really intending to do so. Fortunately, rather +good versions of the \acro{CM} fonts are available from the \acro{AMS} +% beware line break +(who have them courtesy of \nothtml{Blue Sky Research~---} +\Qref{Blue Sky Research}{Q-commercial}\nothtml{ and \YandY{}}). + +Most modern systems have the fonts installed ready to use; and any +system installed less than 3~years ago has a \ProgName{dvips} +configuration file `\texttt{pdf}' that signals the use of the +\acro{CM} fonts, and also sets a few other parameters to improve +\ProgName{dvips}' output. Use this configuration as: +\begin{verbatim} + dvips -Ppdf myfile -o myfile.ps +\end{verbatim} +This may produce a warning message about failing to find the +configuration file: +\begin{verbatim} + dvips: warning: no config file for `pdf' +\end{verbatim} +or something similar, or about failing to find a font file: +\begin{verbatim} + dvips: ! Couldn't find header file cmr10.pfb +\end{verbatim} +Either of these failures signals that your +system doesn't have the fonts in the first place. + +A way of using the fonts that doesn't involve the sophistication of +the \texttt{-Ppdf} mechanism is simply to load maps: +\begin{verbatim} + dvips -Pcmz -Pamz myfile -o myfile.ps +\end{verbatim} +You may encounter the same warning messages as listed above. + +If your system does not have the fonts, it won't have the +configuration file either; however, it might have the configuration +file without the fonts. In either case, you need to +\nothtml{install the fonts (}% beware line breaks +\Qref{install the fonts}{Q-inst1cm}\nothtml{)}. + +\Question[Q-fuzzy-gs]{Fuzzy fonts because \ProgName{Ghostscript} too old} +\keywords{crippled blurry} + +So you've done everything the \acro{FAQ} has told you that you need, +correct fonts properly installed and appearing in the \ProgName{dvips} +output, but \emph{still} you get fuzzy character output after +distilling with \ProgName{ghostscript}. + +The problem could arise from too old a version of +\ProgName{ghostscript}, which you may be using directly, or via a +script such as \ProgName{ps2pdf} (distributed with +\ProgName{ghostscript} itself), \ProgName{dvipdf}, or similar. +Though \ProgName{ghostscript} was capable of distillation from +version~5.50, that version could only produce bitmap Type~3 output of +any font other than the fundamental 35~fonts (\FontName{Times}, +\FontName{Helvetica}, etc.). Later versions added `complete' +distillation, but it wasn't until version~6.50 that one could rely on +it for everyday work. + +So, if your \acro{PDF} output still looks fuzzy in \ProgName{Acrobat} +\ProgName{Reader}, upgrade \ProgName{ghostscript}. The new version +should be at least version~6.50, of course, but it's usually good +policy to go to the most recent version (version~8.12 at the time of +writing~--- 2003). + +\Question[Q-fuzzy-T1]{Fonts go fuzzy when you switch to T1} +\keywords{crippled blurry} + +You've been having problems with hyphenation, and someone has +suggested that you should use ``\cmdinvoke{usepackage}[T1]{fontenc}'' +to help sort them out. Suddenly you find that your final \acro{PDF} +has become fuzzy. The problem may arise whether you are using \PS{} +output and then distilling it, or you are using \PDFTeX{} for the +whole job. + +In fact, this is the same problem as most others about the +\nothtml{quality of \acro{PDF} (}% beware line break +\Qref{quality of \acro{PDF}}{Q-dvips-pdf}\nothtml{)}: you've abandoned +your previous setup using Type~1 versions of the \acro{CM} fonts, and +\ProgName{dvips} has inserted Type~3 versions of the \acro{EC} fonts +into your document output. (See % beware line break +\htmlonly{``}\Qref[question]{Adobe font types}{Q-adobetypen}\htmlonly{''} +for details of these font types; also, note that the font \emph{encoding}~T1 +has nothing directly to do with the font \emph{type}~Type~1). + +However, as noted in % beware line break +\htmlonly{``}\Qref[question]{8-bit Type~1 fonts}{Q-type1T1}\htmlonly{''}, +Type~1 versions of \acro{CM}-like fonts in T1 (or equivalent) encoding +are now available, both as ``real'' fonts, and as virtual font sets. +One solution, therefore, is to use one of these alternatives. + +The alternative is to switch font family altogether, to something like +\FontName{Times} (as a no-thought default) or one of the many more pleasing +Adobe-encoded fonts. The default action of \Package{fontinst}, when +creating metrics for such a font, is to create settings for both OT1 +and T1 encodings, so there's little change in what goes on (at the +user level) even if you have switched to T1~encoding when using the +fonts. + +\Question[Q-distill-prob]{Characters missing from \acro{PDF} output} + +If you're using \ProgName{Acrobat} \ProgName{Distiller} to create your +\acro{PDF} output, you may find +characters missing. This may manifest +itself as messed-up maths equations (missing +``\latexhtml{\ensuremath{-}}{-}'' signs, for example), or bits missing +from large symbols. Early versions of \ProgName{Distiller} used to +ignore character positions 0--31 and 128--159 of every font: Adobe's +fonts never use such positions, so why should \ProgName{Distiller}? + +Well, the answer to this question is ``because Adobe don't produce all +the world's fonts''~--- fonts like \FontName{Computer} +\FontName{Modern} were around before Adobe came on the scene, and +\emph{they} use positions 0--31. Adobe don't react to complaints like +that in the previous sentence, but they do release new versions of +their programs; and \ProgName{Distiller}, since at least version~4.0, +\emph{has} recognised the font positions it used to shun. + +Meanwhile, \TeX{} users with old versions of \ProgName{Distiller} need +to deal with their fonts. \ProgName{Dvips} comes to our aid: the +switch \texttt{-G1} (``remap characters''), which moves the offending +characters out of the way. The \acro{PDF} configuration file +(\texttt{-Ppdf}), recommended % beware line break +\latexhtml{above}{in ``\Qref{the wrong type of fonts}{Q-fuzzy-type3}''}, +includes the switch. + +The switch is not without its problems; pre-2003 versions of +\ProgName{dvips} will apply it to Adobe fonts as well, causing +\nothtml{havoc (}\Qref{havoc}{Q-charshift}\nothtml{)}, but fortunately +that problem is usually soluble. However, a document using both +\acro{CM} and Adobe-specified fonts is stuck. The only real solution +is either to upgrade \ProgName{dvips}, or to spend money to upgrade +\ProgName{Distiller}. + +\Question[Q-type1T1]{Finding `8-bit' Type~1 fonts} +\keywords{eight} + +Elsewhere, answers to these \acro{FAQ}s recommend that you use an +`8-bit' font to permit % line break!! +\Qref*{accentuation of inflected languages}{Q-hyphenaccents}, +and also recommend the use of Type~1 fonts to ensure that +you get \Qref*{good quality \acro{PDF}}{Q-fuzzy-type3}. These +recommendations used to be contradictory: one could not just +``switch'' from the free \acro{CM} fonts to free Cork- (or similarly) +encoded Type~1 fonts. The first approach that started to alleviate +these problems, was the development of virtual fonts that make +a good approach to the Cork encoding (see below). Now, however, we +have ``true'' Type~1 fonts available: as always, we have an +embarrassment of riches with three free alternatives, and one +commercial and one shareware version. + +\Package{CM-super} is an +auto-traced set which encompasses all of the \acro{T}1 and \acro{TS}1 +encodings as well as the \acro{T}2* series (the family of encodings +that cover languages based on Cyrillic alphabets). These fonts are +pretty easy to install (the installation instructions are clear), but +they are huge: don't try to install them if you're short of disc +space. + +\Package{CM-LGC} is a similar ``super-font'' set, but of much more +modest size; it covers \acro{T}1, \acro{TS}1 and \acro{T}2{A} +encodings (as does \Package{CM-super}, and also covers the \acro{LGR} +encoding (for typesetting Greek, based on Claudio Beccari's \MF{} +sources). \Package{CM-LGC} manages to be small by going to the +opposite extreme from \Package{CM-super}, which includes fonts at all +the sizes supported by the original \acro{EC} (a huge range); +\Package{CM-LGC} has one font per font shape, getting other sizes by +scaling. There is an inevitable loss of quality inherent in this +approach, but for the disc-space-challenged machine, \Package{CM-LGC} +is an obvious choice. + +\Package{Tt2001} is a simple scan of the \acro{EC} and \acro{TC} +fonts, and has some virtues~--- it's noticeably smaller than +\Package{CM-super} while being less stark than \Package{CM-LGC}. + +\Package{Latin} \Package{Modern} is produced using the +program \Qref*{\ProgName{MetaType1}}{Q-textrace}. The +\Package{Latin} \Package{Modern} set comes with \acro{T}1, \acro{TS}1 +\acro{LY}1 encoded variants (as well as a variant using the Polish +\acro{QX} encoding); for the glyph set it covers, its outlines seem +rather cleaner than those of \Package{CM-super}. \Package{Latin} +\Package{Modern} is more modest in its disc space demands than is +\Package{CM-super}, while not being nearly as stark in its range of +design sizes as is \Package{CM-LGC}~--- \Package{Latin} +\Package{Modern}'s fonts are offered in the same set of sizes as the +original \Package{CM} fonts. It's hard to argue with the choice: +Knuth's range of sizes has stood the test of time, and is one of the +bases on which the excellence of the \TeX{} system rests. + +\Qref*{Virtual fonts}{Q-virtualfonts} help us deal with the problem, +since they allow us to map ``bits of \acro{DVI} file'' to single +characters in the virtual font; so we can create an ``\'e'' character +by recreating the \acro{DVI} commands that would result from the code +``|\'||e|''. However, since this involves two characters being +selected from a font, the arrangement is sufficient to fool +\ProgName{Acrobat} \ProgName{Reader}: you can't use the program's +facilities for searching for text that contains inflected characters, +and if you \emph{cut} text from a window that contains such a +character, you'll find something unexpected (typically the accent and +the `base' characters separated by a space) when you \ProgName{paste} +the result. However, if you can live with this difficulty, virtual +fonts are a useful and straightforward solution to the problem. + +There are two virtual-font offerings of \acro{CM}-based 8-bit +fonts~--- the \Package{ae} (``almost \acro{EC}'') and +\Package{zefonts} sets; the \Package{zefonts} set has wider coverage +(though the \Package{ae} set may be extended to offer guillemets by +use of the \Package{aeguill} package). Neither offers characters such +as |eth| and |thorn| (used in, for example, in Icelandic), but the +\Package{aecompl} package works with the \Package{ae} fonts to provide +the missing characters from the \acro{EC} fonts (i.e., as bitmaps). + +The sole remaining commercial \acro{CM}-like 8-bit font comes from +Micropress, who offer the complete \acro{EC} set +in Type~1 format, as part of their range of outline versions of fonts +that were originally distributed in \MF{} format. See +\Qref[question]{``commercial distributions''}{Q-commercial}. + +The shareware % ! line break +\Qref*{BaKoMa \TeX{} distribution}{Q-TeXsystems} offers a +set of Type~1 \acro{EC} fonts, as an extra shareware option. (As far +as the present author can tell, these fonts are \emph{only} available +to users of BaKoMa \TeX{}: they are stored in an archive format that +seems not to be publicly available.) + +Finally, you can use one of the myriad text fonts available in Type~1 +format (with appropriate \acro{PSNFSS} metrics for \acro{T}1 encoding, +or metrics for some other 8-bit encoding such as \acro{LY}1). However, +if you use someone else's text font (even something as simple as +Adobe's Times family) you have to find a matching family of +mathematical fonts, which is a non-trivial undertaking~--- +\htmlonly{see }\Qref{``choice of scalable fonts''}{Q-psfchoice}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}ae fonts]\CTANref{ae} +\item[aecompl.sty]Distributed with \CTANref{ae} +\item[aeguill.sty]\CTANref{aeguill} +\item[\nothtml{\rmfamily}BaKoMa fonts]Browse \CTANref{bakoma-texfonts} +\item[\nothtml{\rmfamily}CM-LGC fonts]\CTANref{cm-lgc} +\item[\nothtml{\rmfamily}CM-super fonts]\CTANref{cm-super} (beware: + very large download) +\item[\nothtml{\rmfamily}Latin Modern fonts]\CTANref{lm} +\item[\nothtml{\rmfamily}tt2001 fonts]\CTANref{tt2001} +\item[\nothtml{\rmfamily}zefonts]\CTANref{zefonts} +\end{ctanrefs} + +\Question[Q-pkfix]{Replacing Type 3 fonts in \PS{}} + +One often comes across a \PS{} file generated by +\ProgName{dvips} which contains embedded \acro{PK} fonts; if you try +to generate \acro{PDF} from such a file, the quality will be poor. + +Of course, the proper solution is to regenerate the \PS{} file, +but if neither the sources nor the \acro{DVI} file are available, one +must needs resort to some sort of patching to replace the bitmap fonts +in the file by outline fonts. + +The program \ProgName{pkfix} (by Heiko Oberdiek) will do this +patching, for files created by ``not too old versions'' of +\ProgName{dvips}: it finds the fonts to be replaced by examining the +\PS{} comments \ProgName{dvips} has put in the file. For each +font, \ProgName{pkfix} puts appropriate \TeX{} commands in a file, +which it then processes and runs through \ProgName{dvips} (with switch +|-Ppdf|) to acquire an appropriate copy of the font; these copies are +then patched back into the original file. + +%% Another program, available free from \nothtml{\YandY{} (}% beware line break +%% \Qref{\YandY{}}{Q-commercial}\nothtml{)} for Windows users who also +%% have Adobe \ProgName{Acrobat} \ProgName{Distiller} available, is +%% \href{http://www.yandy.com/download/dvipsstrip.exe}{\ProgName{dvipsstrip}}. +%% \ProgName{Dvipsstrip} simply removes +%% the fonts: the idea is that you then reinstate them in the course of a +%% run through \ProgName{distiller} (which only works if +%% \ProgName{distiller} `knows' about the fonts: it can be instructed via +%% its \texttt{Settings}\arrowhyph{}\texttt{Font Locations} tool). +%% \par +Yet another option is Frank Siegert's (shareware) +\href{http://www.pstill.com}{PStill}, which is capable of processing +the \PS{} it is distilling, and one option is to replace bitmap fonts +in the file with Type~1 versions. +\begin{ctanrefs} +\item[pkfix]\CTANref{pkfix} +\end{ctanrefs} + +\Question[Q-pdfpagelabels]{\Package{Hyperref} and repeated page numbers} + +The \Class{book} class (and its friends and relations) automatically +changes the display of page numbers in the frontmatter of the document +to lower-case roman. This is fine for human readers, but it confuses +\Package{hyperref} since there are pages which seem (to +\Package{hyperref}) to have the same page number. Fortunately, there are +configuration options to make \Package{hyperref} ``do the right +thing''. + +The two options in question are: +\begin{description} +\item[\pkgoption{plainpages=false}] Make page anchors using the + formatted form of the page number. With this option, + \Package{hyperref} writes different anchors for pages `ii' and `2'. + (If the option is set `\texttt{true}'~--- the default~--- + \Package{hyperref} writes page anchors as the arabic form of the + absolute page number, rather than the formatted form.) +\item[\pkgoption{pdfpagelabels}] Set \acro{PDF} page labels; i.e., + write the value of \csx{thepage} to the \acro{PDF} file so that + \Package{Acrobat Reader} can display the page number as (say) `ii (4 + of 40)' rather than simply `4 of 40'. +\end{description} +The two should be used whenever page numbering is not just +`1\texttt{..}\ensuremath{n}'; they may be used independently, but usually are not. + +The recipe isn't perfect: it relies on \csx{thepage} being different +for every page in the document. A common problem arises when there is +an unnumbered title page, after which page numbers are reset: the +\PDFTeX{} warning of ``\Qref*{duplicate destinations}{Q-hyperdupdest}'' +will happen in this case, regardless of the options. +\begin{ctanrefs} +\item[hyperref.sty]\CTANref{hyperref} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Graphics} + +\Question[Q-impgraph]{How to import graphics into \AllTeX{} documents} + +Knuth, when designing the current version of \TeX{} back in the early +1980s, could discern no ``standard'' way of expressing graphics in +documents. He reasoned that this state could not persist for ever, +but that it would be foolish for him to define \TeX{} primitives that +allowed the import of graphical image definitions. He therefore +deferred the specification of the use of graphics to the writers of +\acro{DVI} drivers; \TeX{} documents would control the drivers by +means of \nothtml{\csx{special} commands (}% beware line breaks +\Qref{\csx{special} commands}{Q-specials}\nothtml{)}. + +There is therefore a straightforward way for anyone to import graphics +into their document: read the specification of the \csx{special} +commands your driver uses, and `just' code them. This is the +hair-shirt approach: it definitely works, but it's not for everyone. + +Over the years, therefore, ``graphics inclusion'' packages have sprung +up; most were designed for inclusion of +\nothtml{Encapsulated \PS{} graphics (}% beware line break +\Qref{Encapsulated \PS{} graphics}{Q-eps}\nothtml{)}\nobreakspace--- +which has become the \emph{lingua franca} of graphics inclusion over +the last decade or so. + +Notable examples are the \Package{epsf} package (distributed with +\ProgName{dvips}) and the \Package{psfig} package. (Both of these +packages were designed to work well with both Plain \TeX{} and +\LaTeXo{}; they are both still available.) All such packages were +tied to a particular \acro{DVI} driver (\ProgName{dvips}, in +the above two cases), but their code could be configured for others. + +The obvious next step was to make the code configurable dynamically. +The \LaTeX{} standard \Package{graphics} package and its derivatives +made this step: it is strongly preferred for all current work. It can +also be used (with the help of the \Package{miniltx} ``\LaTeX{} +emulator'' and the \Package{graphicx.tex} front-end) in documents +written in Plain \TeX{}. + +The \Package{graphics} package takes a variety of ``driver +options''~--- package options that select code to generate the +commands appropriate to the \acro{DVI} driver in use. In most cases, +your \AllTeX{} distribution will provide a \File{graphics.cfg} file +that will select the correct driver for what you're doing (for +example, a distribution that provides both \LaTeX{} and \PDFLaTeX{} +will usually provide a configuration file that determins whether +\PDFLaTeX{} is running, and selects the definitions for it if so). + +The \Package{graphics} package provides a toolkit of commands (insert +graphics, scale a box, rotate a box), which may be composed to provide +most facilities you need; the basic command, \csx{includegraphics}, +takes one optional argument, which specifies the bounding box of the +graphics to be included. + +The \Package{graphicx} package uses the facilities of of +\Package{graphics} behind a rather more sophisticated command syntax +to provide a very powerful version of the \csx{includegraphics} +command. \Package{graphicx}'s version can combine scaling and +rotation, viewporting and clipping, and many other things. While this +is all a convenience (at some cost of syntax), it is also capable of +producing noticeably more efficient \PS{}, and some of its +combinations are simply not possible with the \Package{graphics} +package version. + +The \Package{epsfig} package provides the same facilities as +\Package{graphicx}, but via a \csx{psfig} command (also known as +\csx{epsfig}), capable of emulating +the behaviour (if not the bugs) the old \Package{psfig} package. +\Package{Epsfig} also supplies homely support for former users of the +\Package{epsf} package. However, there's a support issue: if you +declare you're using \Package{epsfig}, any potential mailing list or +usenet helper has to clear out of the equation the possibility that +you're using ``old'' \Package{epsfig}, so that support is slower +coming than it would otherwise be. + +There is no rational reason to stick with the old packages, which have +never been entirely satisfactory in the \LaTeX{} context. (One +irrational reason to leave them behind is that their replacement's +name tends not to imply that it's exclusively related to \PS{} +graphics. The reasoning also excludes \Package{epsfig}, of course.) + +A wide variety of detailed techniques and tricks have been developed +over the years, and Keith Reckdahl's \Package{epslatex} outlines them +in compendious detail: this highly recommendable document is available +from \acro{CTAN}. An invaluable review of the practicalities of +exchanging graphics between sites, +% beware multiple line break problems +\begin{wideversion} % hyperversion +``\href{http://silas.psfc.mit.edu/elec_fig/elec_figures.pdf}{Graphics for Inclusion in Electronic Documents}'' +\end{wideversion} +\begin{narrowversion} % non-hyper +\href{http://silas.psfc.mit.edu/elec_fig/elec_figures.pdf}% + {``Graphics for Inclusion in Electronic Documents''} +\end{narrowversion} +has been written by Ian Hutchinson; the document isn't on \acro{CTAN}, +but may also be +% beware line breaks +\href{http://silas.psfc.mit.edu/elec_fig/}{browsed on the Web}. +\begin{ctanrefs} +\item[epsf.tex]\CTANref{epsf} +\item[epsfig.sty]Part of the \CTANref{graphics} bundle +\item[epslatex.pdf]\CTANref{epslatex}; the document is also available + in \PS{} format as \CTANref{epslatex_ps} +\item[graphics.sty]\CTANref{graphics} +\item[graphicx.sty]Part of the \CTANref{graphics} bundle +\item[miniltx.tex]\CTANref{graphics-plain} +\item[psfig.sty]\CTANref{psfig} +\end{ctanrefs} + +\Question[Q-dvipsgraphics]{Imported graphics in \ProgName{dvips}} + +\ProgName{Dvips}, as originally conceived, can only import a single +graphics format: \nothtml{encapsulated \PS{} (\texttt{.eps} files, }% +\Qref{encapsulated \PS{}}{Q-eps}\htmlonly{ (\texttt{.eps} files}). +\ProgName{Dvips} also deals with the slightly eccentric \acro{EPS} that is +created by \Qref*{\MP{}}{Q-MP}. + +Apart from the fact that a depressing proportion of drawing +applications produce corrupt \acro{EPS} when asked for such output, +this is pretty satisfactory for vector graphics work. + +To include bitmap graphics, you need some means of converting them to +\PS{}; in fact many standard image manipulators (such as +\ProgName{ImageMagick}'s \ProgName{convert}) make a good job of +creating \acro{EPS} files. (Though \ProgName{Unix} users should +beware of \ProgName{xv}'s claims: it has a tendency to downsample your +bitmap to your screen resolution.) + +Special purpose applications \ProgName{jpeg2ps} (which converts +\acro{JPEG} files using \PS{} level 2 functionality) and +\ProgName{bmeps} (which converts both \acro{JPEG} and \acro{PNG} +files) are also considered ``good bets''. \ProgName{Bmeps} comes with +patches to produce your own version of \ProgName{dvips} that can cope +with \acro{JPEG} and \acro{PNG} direct, using \ProgName{bmeps}'s +conversion library. +\begin{ctanrefs} +\item[bmeps]\CTANref{bmeps} +\item[jpeg2ps]\CTANref{jpeg2ps} +\end{ctanrefs} + +\Question[Q-pdftexgraphics]{Imported graphics in \PDFLaTeX{}} + +\PDFTeX{} itself has a rather wide range of formats that it can +``natively'' incorporate into its output \acro{PDF} stream: +\acro{JPEG} (\texttt{.jpg} files) for photographs and similar images, +\acro{PNG} files for artificial bitmap images, and \acro{PDF} for +vector drawings. Old versions of \PDFTeX{} (prior to version~1.10a) +supported \acro{TIFF} (\texttt{.tif} files) format as an alternative +to \acro{PNG} files; don't rely on this facility, even if you +\emph{are} running an old enough version of \PDFTeX{}\dots{} + +In addition to the `native' formats, the standard \PDFLaTeX{} +\Package{graphics} package setup causes Hans Hagen's \File{supp-pdf} +macros to be loaded: these macros are capable of translating the +output of \MP{} to \acro{PDF} ``on the fly''; thus \MP{} output +(\texttt{.mps} files) may also be included in \PDFLaTeX{} documents. + +The commonest problem users encounter, when switching from \TeX{}, is +that there is no straightforward way to include \acro{EPS} files: +since \PDFTeX{} is its own ``driver'', and since it contains no means +of converting \PS{} to \acro{PDF}, there's no direct way the job can +be done. + +The simple solution is to convert the \acro{EPS} to an appropriate +\acro{PDF} file. The \ProgName{epstopdf} program will do this: it's +available either as a Windows executable or as a \ProgName{Perl} +script to run on Unix and other similar systems. A \LaTeX{} package, +\Package{epstopdf}, can be used to generate the requisite \acro{PDF} +files ``on the fly''; this is convenient, but requires that you +suppress one of \TeX{}'s security checks: don't use it in files from +sources you don't entirely trust. + +A similar package, \Package{ps4pdf}, permits other things than `mere' +graphics files in its argument. (Documentation is scarce: see the +\href{http://www.perce.de/LaTeX/ps4pdf/Examples/}{distribution page} +for some examples.) + +An alternative solution is to use \ProgName{purifyeps}, a +\ProgName{Perl} script which uses the good offices of +\ProgName{pstoedit} and of \MP{} to convert your Encapsulated \PS{} to +``Encapsulated \PS{} that comes out of \MP{}'', and can therefore be +included directly. Sadly, \ProgName{purifyeps} doesn't work for all +\texttt{.eps} files. + +Good coverage of the problem is to be found in Herbert Vo\ss{}' +\href{http://pstricks.de/pdf/pdfoutput.phtml#pdftricks}{\acro{PDF}tricks support page}, +which is, in fact, targeted at the use of \Package{pstricks} in +\PDFLaTeX{}, and also covers the \Package{pstricks}-specific package +\Package{pdftricks}. +\begin{ctanrefs} +\item[epstopdf]Browse \CTANref{epstopdf} +\item[epstopdf.sty]Distributed with Heiko Oberdiek's packages + \CTANref{oberdiek} +\item[pdftricks.sty]\CTANref{pdftricks} +\item[ps4pdf.sty]\CTANref{ps4pdf} +\item[pstoedit]\CTANref{pstoedit} +\item[purifyeps]\CTANref{purifyeps} +\end{ctanrefs} + +\Question[Q-dvipdfmgraphics]{Imported graphics in \ProgName{dvipdfm}} + +\ProgName{Dvipdfm} translates direct from \acro{DVI} to \acro{PDF} +(all other available routes produce \PS{} output using +\ProgName{dvips} and then convert that to \acro{PDF} with +\ProgName{ghostscript} or \ProgName{Acrobat} \ProgName{Distiller}). + +\ProgName{Dvipdfm} is a particularly flexible application. It will +permit the inclusion of bitmap and \acro{PDF} graphics, as does +\Qref*{\PDFTeX{}}{Q-pdftexgraphics}, but is also capable of employing +\ProgName{ghostscript} ``on the fly'' so as to be able to permit the +inclusion of encapsulated \PS{} (\texttt{.eps}) files by translating +them to \acro{PDF}. In this way, \ProgName{dvipdfm} combines the good +qualities of \ProgName{dvips} and of \PDFTeX{} as a means of +processing illustrated documents. + +Unfortunately, ``ordinary'' \LaTeX{} can't deduce the bounding box of +a binary bitmap file (such as \acro{JPEG} or \acro{PNG}), so you have +to specify the bounding box. This may be done explicitly, in the +document: +\begin{quote} +\begin{verbatim} +\usepackage[dvipdfm]{graphicx} +... +\includegraphics[bb=0 0 540 405]{photo.jpg} +\end{verbatim} +\end{quote} +It's usually not obvious what values to give the ``\texttt{bb}'' key, +but the program \ProgName{ebb} will generate a file +containing the information; the above numbers came from an +\ProgName{ebb} output file \File{photo.bb}: +\begin{quote} +\begin{verbatim} +%%Title: /home/gsm10/photo.jpg +%%Creator: ebb Version 0.5.2 +%%BoundingBox: 0 0 540 405 +%%CreationDate: Mon Mar 8 15:17:47 2004 +\end{verbatim} +\end{quote} +However, if such a file is available, you may abbreviate the inclusion +code, above, to read: +\begin{quote} +\begin{verbatim} +\usepackage[dvipdfm]{graphicx} +... +\includegraphics{photo} +\end{verbatim} +\end{quote} +which makes the operation feel as simple as does including +\texttt{.eps} images in a \LaTeX{} file for processing with +\ProgName{dvips}; the \Package{graphicx} package knows to look for a +\texttt{.bb} file if no bounding box is provided in the +\csx{includegraphics} command. + +The one place where usage isn't quite so simple is the need to quote +\ProgName{dvipdfm} explicitly, as an option when loading the +\Package{graphicx} package: if you are using \ProgName{dvips}, you +don't ordinarily need to specify the fact, since the default graphics +configuration file (of most distributions) ``guesses'' the +\texttt{dvips} option if you're using \TeX{}. +\begin{ctanrefs} +\item[dvipdfm]\CTANref{dvipdfm} +\item[ebb]Distributed as part of \CTANref{dvipdfm} +\end{ctanrefs} + +\Question[Q-graphicspath]{Importing graphics from ``somewhere else''} + +By default, graphics commands like \csx{includegraphics} look +``wherever \TeX{} files are found'' for the graphic file they're being +asked to use. This can reduce your flexibility if you choose to hold +your graphics files in a common directory, away from your \AllTeX{} +sources. + +The simplest solution is to patch \TeX{}'s path, by changing the +default path. On most systems, the default path is taken from the +environment variable |TEXINPUTS|, if it's present; you can adapt that +to take in the path it already has, by setting the variable to +\begin{verbatim} + TEXINPUTS=.:<graphics path(s)>: +\end{verbatim} +on a Unix system; on a Windows system the separator will be ``|;|'' +rather than ``|:|''. The ``|.|'' is there to ensure that the current +directory is searched first; the trailing ``|:|'' says ``patch in the +value of |TEXINPUTS| from your configuration file, here''. + +This method has the merit of efficiency (\AllTeX{} does \emph{all} of +the searches, which is quick), but it's always clumsy and may prove +inconvenient to use in Windows setups (at least). + +The alternative is to use the \Package{graphics} package command +\csx{graphicspath}; this command is of course also available to users +of the \Package{graphicx} and the \Package{epsfig} packages. The +syntax of \csx{graphicspath}'s one argument is slightly odd: it's a +sequence of paths (typically relative paths), each of which is +enclosed in braces. A slightly odd sample, given in the +\Package{graphics} bundle documentation, is: +\begin{verbatim} + \graphicspath{{eps/}{tiff/}} +\end{verbatim} +however, if the security checks on your \AllTeX{} system allow, the +path may be anything you choose (rather than strictly relative, like +those above). + +Be aware that \csx{graphicspath} does not affect the operations of +graphics macros other than those from the graphics bundle~--- in +particular, those of the outdated \Package{epsf} and +\Package{psfig} packages are immune. + +The disadvantage of the \csx{graphicspath} method is inefficiency. The +package will call \AllTeX{} once for each entry in the list, which is +itself slows things. More seriously, \TeX{} remembers the file name, +thus effectively losing memory, every time it's +asked to look up a file, so a document that uses a huge number of +graphical inputs could be embarrassed by lack of memory. + +If your document is split into a variety of directories, and each +directory has its associated graphics, the \Package{import} package +may well be the thing for you; see the discussion % beware line break +\latexhtml{of ``bits of document in other directories'' (}{in the question ``}% +\Qref{bits of document in other directories}{Q-docotherdir}% +\latexhtml{)}{''}. +\begin{ctanrefs} +\item[graphics \nothtml{\rmfamily}bundle]\CTANref{graphics} +\item[import.sty]\CTANref{import} +\end{ctanrefs} + +\Question[Q-graph-pspdf]{Portable imported graphics} + +A regular need is a document to be distributed in more than +one format: commonly both \PS{} and \acro{PDF}. The +following advice is based on a post by one with much experience of +dealing with the problem of dealing with \acro{EPS} graphics in this +case. +\begin{itemize} +\item Don't specify a driver when loading loading whichever version of + the \Package{graphics} package you use. The scheme relies on the + distribution's ability to decide which driver is going to be used: + the choice is between \ProgName{dvips} and \PDFTeX{}, in this case. + Be sure to exclude options \pkgoption{dvips}, \pkgoption{pdftex} and + \pkgoption{dvipdfm} (\ProgName{dvipdfm} is not used in this scheme, + but the aspirant \acro{PDF}-maker may be using it for his output, + before switching to the scheme). +\item Use \cmdinvoke{includegraphics}[...]{filename} without + specifying the extension (i.e., neither |.eps| nor |.pdf|). +\item For every |.eps| file you will be including, produce a |.pdf| + version, as described in % beware line break + \Qref[question]{Graphics in \PDFLaTeX{}}{Q-pdftexgraphics}. Having + done this, you will have two copies of each graphic (a |.eps| and a + |.pdf| file) in your directory. +\item Use \PDFLaTeX{} (rather than + \LaTeX{}--\ProgName{dvips}--distillation or + \LaTeX{}--\ProgName{dvipdfm}) to produce your \acro{PDF} output. +\end{itemize} +\ProgName{Dvipdfm}'s charms are less than attractive here: the +document itself needs to be altered from its default +(\ProgName{dvips}) state, before \ProgName{dvipdfm} will process it. + +\Question[Q-grmaxwidth]{Limit the width of imported graphics} + +Suppose you have graphics which may or may not be able to fit within +the width of the page; if they will fit, you want to set them at their +natural size, but otherwise you want to scale the whole picture so +that it fits within the page width. + +You do this by delving into the innards of the graphics package (which +of course needs a little \LaTeX{} internals programming): +\begin{quote} +\begin{verbatim} +\makeatletter +\def\maxwidth{% + \ifdim\Gin@nat@width>\linewidth + \linewidth + \else + \Gin@nat@width + \fi +} +\makeatother +\end{verbatim} +\end{quote} +This defines a ``variable'' width which has the properties you want. +Replace \csx{linewidth} if you have a different constraint on the width +of the graphic. + +Use the command as follows: +\begin{quote} +\begin{verbatim} +\includegraphics[width=\maxwidth]{figure} +\end{verbatim} +\end{quote} +\Question[Q-topgraph]{Top-aligning imported graphics} + +When \TeX{} sets a line of anything, it ensures that the base-line of +each object in the line is at the same level as the base-line of the +final object. (Apart, of course, from \csx{raisebox} commands\dots{}) + +Most imported graphics have their base-line set at the bottom of the +picture. When using packages such as \Package{subfig}, one often +wants to align figures by their tops. The following odd little bit of +code does this: +\begin{quote} +\begin{verbatim} +\vtop{% + \vskip0pt + \hbox{% + \includegraphics{figure}% + }% +} +\end{verbatim} +\end{quote} +The \csx{vtop} primitive sets the base-line of the resulting object to +that of the first ``line'' in it; the \csx{vskip} creates the illusion +of an empty line, so \csx{vtop} makes the very top of the box into the +base-line. + +In cases where the graphics are to be aligned with text, there is a +case for making the base-line one ex-height below the top of the box, +as in: +\begin{quote} +\begin{verbatim} +\vtop{% + \vskip-1ex + \hbox{% + \includegraphics{figure}% + }% +} +\end{verbatim} +\end{quote} +The fact is, \emph{you} may choose where the base-line ends up. This +answer merely shows you sensible choices you might make. + +\Question[Q-mpprologues]{Making \MP{} output display in \ProgName{ghostscript}} + +\MP{} ordinarily expects its output to be included in some context +where the `standard' \MF{} fonts (that you've specified) are already +defined~--- for example, as a figure in \TeX{} document. If you're +debugging your \MP{} code, you may want to view it in +\ProgName{ghostscript} (or some other \PS{} previewer). However, +the \PS{} `engine' in \ProgName{ghostscript} \emph{doesn't} +ordinarily have the fonts loaded, and you'll eperience an error such +as +\begin{quote} +\begin{verbatim} +Error: /undefined in cmmi10 +\end{verbatim} +\end{quote} +There is provision in \MP{} for avoiding this problem: issue the +command |prologues := 2;| at the start of the |.mp| file. + +Unfortunately, the \PS{} that \MP{} inserts in its output, +following this command, is incompatible with ordinary use of the +\PS{} in inclusions into \AllTeX{} documents, so it's best to +make the |prologues| command optional. Furthermore, \MP{} takes a +very simple-minded approach to font encoding: since \TeX{} font +encodings regularly confuse sophisticated minds, this can prove +troublesome. If you're suffering such problems (the symptom is that +characters disappear, or are wrongly presented) the only solution is +to view the `original' metapost output after processing through +\LaTeX{} and \ProgName{dvips}. + +Conditional compilation may be done either +by inputting \File{MyFigure.mp} indirectly from a simple wrapper +\File{MyFigureDisplay.mp}: +\begin{quote} +\begin{verbatim} +prologues := 2; +input MyFigure +\end{verbatim} +\end{quote} +or by issuing a shell command such as +\begin{quote} +\begin{verbatim} +mp '\prologues:=2; input MyFigure' +\end{verbatim} +\end{quote} +(which will work without the quote marks if you're not using a Unix +shell). + +A suitable \LaTeX{} route would involve processing +\File{MyFigure.tex}, which contains: +\begin{quote} +\begin{verbatim} +\documentclass{article} +\usepackage{graphicx} +\begin{document} +\thispagestyle{empty} +\includegraphics{MyFigure.1} +\end{document} +\end{verbatim} +\end{quote} +Processing the resulting \acro{DVI} file with the \ProgName{dvips} +command +\begin{quote} +\begin{verbatim} +dvips -E -o MyFigure.eps MyFigure +\end{verbatim} +\end{quote} +would then give a satisfactory Encapsulated \PS{} file. This +procedure may be automated using the \ProgName{Perl} script +\ProgName{mps2eps}, thus saving a certain amount of tedium. + +The Plain~\TeX{} user may use an adaptation of a jiffy of Knuth's, by +Dan Luecking. Dan's version \Package{mpsproof.tex} will work under +\TeX{} to produce a \acro{DVI} file for use with \ProgName{dvips}, or +under \PDFTeX{} to produce a \acro{PDF} file, direct. The output is +set up to look like a proof sheet. + +A script application, \ProgName{mptopdf}, is available in recent +\AllTeX{} distributions: it seems fairly reliably to produce +\acro{PDF} from \MP{}, so may reasonably be considered an answer to +the question\dots{} +\begin{ctanrefs} +\item[mps2eps]\CTANref{mps2eps} +\item[mpsproof.tex]\CTANref{mpsproof} +\end{ctanrefs} + +\Question[Q-drawing]{Drawing with \TeX{}} + +There are many packages to do pictures in \AllTeX{} itself (rather than +importing graphics created externally), ranging from simple use of +\LaTeX{} \environment{picture} environment, through enhancements like +\ProgName{epic}, to +sophisticated (but slow) drawing with \PiCTeX{}. Depending on your type +of drawing, and setup, here are a few systems you may consider: +\begin{itemize} +\item \Package{pict2e}; this was advertised in % !line break + \Qref*{the \LaTeX{} manual}{Q-books}, but didn't appear for nearly + ten years after publication of the book! It removes all the petty + niggles that surround the use of the \environment{picture} + environment. It therefore suffers \emph{only} from the rather + eccentric drawing language of the environment, and is a far more + useful tool than the original environment has ever been. (Note that + \Package{pict2e} supersedes David Carlisle's stop-gap + \Package{pspicture}.) +\item \Package{pstricks}; this gives you access to all the power of + \PS{} from \TeX{} itself, by sophisticated use of + \Qref*{\csx{special} commands}{Q-specials}. Since \PS{} is itself a + pretty powerful programming language, this means there are many + astounding things that can in principle be achieved. + \Package{pstricks}' \csx{special}s are + by default specific to \ProgName{dvips}, but V\TeX{} (both in its + commercial and in its free versions) understands them. \PDFTeX{} + users may use \Package{pdftricks}, which (like + \Package{epstopdf}~--- see % ! line break + \Qref[question]{\PDFLaTeX{} graphics}{Q-pdftexgraphics}) generates + \acro{PDF} files on the fly from \Package{pstricks} commands. The + documentation is good (you may browse it via the % ! line break + \href{http://www.tug.org/applications/PSTricks/}{\Package{pstricks} page} + on the \acro{TUG} web site), and another extremely valuable + \href{http://www.pstricks.de}{web site} lists supporting + packages (for various specialised drawing operations) and many + enticing examples. There is also a mailing list + (\mailto{pstricks@tug.org}) which you may + \href{http://tug.org/mailman/listinfo/pstricks}{join}, or you may + just + browse the \href{http://tug.org/pipermail/pstricks/}{list archives}. +\item \Package{pgf}: while \Package{pstricks} is very powerful and + convenient, using it with \PDFLaTeX{} is an awful fidget: if you + simply want the graphical capabilities, \Package{pgf} may be a good + bet for you. While \acro{PDF} has (in essence) the same graphical + capabilities as \PS{}, it isn't programmable; \Package{pgf} provides + common \LaTeX{} commands that will utilise the graphical + capabilities of both \PS{} and \acro{PDF} equally. +\item \MP{}; you liked \MF{}, but never got to grips with font files? + Try \Qref*{\MP{}}{Q-MP}~--- + all the power of \MF{}, but it generates \PS{} figures; \MP{} + is nowadays part of most serious \AllTeX{} distributions. Knuth + uses it for all his work\dots{} +\item \ProgName{Mfpic}; you liked \MF{}, but can't understand the + language? The package makes up \MF{} or \MP{} code for you + within using familiar-looking \TeX{} macros. Not \emph{quite} the + full power of \MP{}, but a friendlier interface; of course, with + \MP{} output, the results can be used equally well in either + \LaTeX{} or \PDFLaTeX{}. +\item You liked \PiCTeX{} but don't have enough memory or time? Look + at Eitan Gurari's \Package{dratex}, which is as powerful as most + other \TeX{} drawing packages, but is an entirely new + implementation, which is not as hard on memory, is much more + readable (and is fully documented). +\end{itemize} +\begin{ctanrefs} +\item[dratex.sty]\CTANref{dratex} +\item[mfpic]\CTANref{mfpic} +\item[pdftricks.sty]\CTANref{pdftricks} +\item[pspicture.sty]Distributed as part of \CTANref{carlisle} +\item[pgf.sty]\CTANref{pgf} +\item[pict2e.sty]\CTANref{pict2e} +\item[pstricks]\CTANref{pstricks} +\end{ctanrefs} + +\Question[Q-drawFeyn]{Drawing Feynman diagrams in \LaTeX{}} + +Michael Levine's \Package{feynman} bundle for drawing the diagrams in +\LaTeXo{} is still available. + +Thorsten Ohl's \Package{feynmf} is designed for use with current +\LaTeX{}, and works in +combination with \MF{} (or, in its \Package{feynmp} incarnation, with +\MP{}). The \ProgName{feynmf} or +\ProgName{feynmp} package reads a description of the diagram written +in \TeX{}, and writes out code. \MF{} (or \MP{}) can then produce a +font (or \PS{} file) for use in a subsequent \LaTeX{} run. For +new users, who have access to \MP{}, the \PS{} version is +probably the better route, for document portability and other reasons. +% checked rf 2001/03/22 + +Jos Vermaseren's \Package{axodraw} is mentioned as an alternative in +the documentation of \Package{feynmf}, but it is written entirely in +terms of \ProgName{dvips} \csx{special} commands, and is thus rather +imperfectly portable. + +An alternative approach is implemented by Norman Gray's \Package{feyn} +package. Rather than creating complete diagrams as postscript images, +\Package{feyn} provides a font (in a variety of sizes) containing +fragments, which you can compose to produce complete diagrams. It +offers fairly simple diagrams which look good in equations, rather +than complicated ones more suitable for display in figures. +\begin{ctanrefs} +\item[axodraw]\CTANref{axodraw} +\item[feyn \nothtml{\rmfamily}font bundle]\CTANref{feyn} +\item[feynman bundle]\CTANref{feynman} +\item[feynmf/feynmp bundle]\CTANref{feynmf} +\end{ctanrefs} + +\Question[Q-labelfig]{Labelling graphics} + +``Technical'' graphics (such as graphs and diagrams) are often +labelled with quite complex mathematical expressions: there are few +drawing or graphing tools that can do such things (the honourable +exception being \MP{}, which allows you to program the labels, in +\AllTeX{}, in the middle of specifying your graphic). + +Labels on graphics produced by all those \emph{other} tools is where +the \Package{psfrag} package can help. Place an unique +text in your graphic, using the normal text features of your tool, and +you can ask \Package{psfrag} to replace the text with arbitrary +\AllTeX{} material. \Package{Psfrag}'s ``operative'' command is +\cmdinvoke{psfrag}{\emph{PS text}}{\emph{Repl text}}, which instructs +the system to replace the original (``\texttt{PS}'') text with the +\TeX{}-typeset replacement text. Optional +arguments permit adjustment of position, scale and rotation; full +details may be found in \File{pfgguide} in the distribution. +(Unfortunately, \Package{psfrag} can't be used with \PDFLaTeX{}, +though one might hope that it would be susceptible to the same sort of +treatment as is used in the \Package{pdftricks} package. On the other +hand, \Qref*{V\TeX{}}{Q-commercial}'s GeX processor explicitly deals +with \Package{psfrag}, both in its free and commercial instances.) + +Another useful approach is \Package{overpic}, which overlays a +\environment{picture} environment on a graphic included by use of +\csx{includegraphics}. This treatment lends itself to ready placement +of texts and the like on top of a graphic. The package can draw a +grid for planning your ``attack''; the distribution comes with simple +examples. + +\Package{Pstricks} can of course do everything that \Package{overpic} +can, with all the flexibility of \PS{} programming that it offers. +The \Package{pstricks} web site has a page of % ! line break +\href{http://pstricks.de/Examples/overlay.phtml}{examples of labelling} +which will get you started; if \Package{pstricks} is % ! line break +\Qref*{an option for you}{Q-drawing}, this route is worth a try. + +The confident user may, of course, do the whole job in a picture +environment which itself includes the graphic. I would recommend +\Package{overpic} or the \Package{pstricks} approach, but such things +are plainly little more than a convenience over what is achievable +with the do-it-yourself approach. +\begin{ctanrefs} +\item[overpic.sty]\CTANref{overpic} +\item[psfrag.sty]\CTANref{psfrag} +\item[pstricks.sty]\CTANref{pstricks} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Bibliographies and citations} + +\subsection{Creating bibliographies} + +\Question[Q-buildbib]{Creating a \BibTeX{} bibliography file} + +A \BibTeX{} bibliography file may reasonably be compared to a small +database, the entries in which are references to literature that may +be called up by citations in a document. + +Each entry in the bibliography has a \emph{type} and a unique +\emph{key}. The bibliography is read, by \BibTeX{}, using the details +specified in a \emph{bibliography style}. From the style, \BibTeX{} +finds what entry types are permissible, what \emph{fields} each entry +type has, and how to format the whole entry. + +The type specifies the type of document you're making reference to; it +may run all the way from things like ``\environment{Book}'' and +``\environment{Proceedings}'' (which may even contain other citations +of type ``\environment{InBook}'' or ``\environment{InProceedings}'') +through dissertation styles like ``\environment{PhdThesis}'' to +otherwise-uncategorisable things such as ``\environment{Misc}''. The +unique key is something you choose yourself: it's what you use when +you want to \Qref*{cite an entry in the file}{Q-usebibtex}. People +commonly create a key that combines the (primary) author's name and +the year of publication, possibly with a marker to distinguish +publications in the same year. So, for example, the Dyson, Eddington, +Davidson paper about deflection of starlight appears in my +experimental \texttt{.bib} file as \texttt{Dyson20.1}. + +So, noting the rules of the style, you have `simply' to write a +bibliography database. Fortunately, there are several tools to help +in this endeavour: +\begin{itemize} +\item Most of the better \Qref*{\AllTeX{}-oriented editors}{Q-editors} + have ``\BibTeX{} modes''. +\item If you have an existing \environment{thebibliography} + environment, the \ProgName{Perl} script \ProgName{tex2bib} will + probably help (there's no documentation other than the oddly-named + \File{tex2bib.readme}). +\item There are a number of \BibTeX{} bibliography management systems + available, some of which permit a graphical user interface to the + task. Sadly, none seems to be available with the ordinary \TeX{} + distributions. + + Tools such as \ProgName{Xbibfile} (a graphical user interface), + \ProgName{ebib} (a database application written to run `inside' + \ProgName{emacs}) and + \ProgName{btOOL} (a set of \ProgName{perl} tools for building + \BibTeX{} database handlers) are available from \acro{CTAN}. + + Other systems, such as + \href{http://refdb.sourceforge.net/}{\ProgName{RefDB}}, + \href{http://www.nongnu.org/biborb}{BibORB}, + \href{http://bibdesk.sourceforge.net/}{\ProgName{BibDesk}}, + \href{http://pybliographer.org}{\ProgName{pybliographer}} and the + \ProgName{Java}-based + \href{http://freshmeat.net/projects/bibkeeper/}{\ProgName{Bibkeeper}} + and \href{http://jabref.sourceforge.net}{\ProgName{JabRef}} (which + claims to supersede \ProgName{Bibkeeper}) + are only available from their development sites. +% review of web database offerings in textex_368 +\item Some commercial citation-management systems will export in + \BibTeX{} format; an example is + \href{http://www.endnote.com/}{EndNote}. +\item Data from on-line citation databases may often be translated to + \BibTeX{} format by utilities to be found on \acro{CTAN}. For + example, the \ProgName{Perl} script \ProgName{isi2bibtex} will + translate citations from \acro{ISI} ``Web of knowledge'' (a + subscription service, available to \acro{UK} academics as \acro{BIDS}). +\end{itemize} +\begin{ctanrefs} +\item[btOOL]\CTANref{btOOL} +\item[ebib]\CTANref{ebib} +\item[isi2bibtex]\CTANref{isi2bibtex} +\item[tex2bib]\CTANref{tex2bib} +\item[tex2bib.readme]\CTANref{tex2bib-doc} +\item[xbibfile]\CTANref{xbibfile} +\end{ctanrefs} + +\Question[Q-custbib]{Creating a bibliography style} + +It \emph{is} possible to write your own: the standard bibliography +styles are distributed in a commented form, and there is a description +of the language (see +% beware line-wrap +\Qref[question]{BibTeX documentation}{Q-BibTeXing}). +However, it must be admitted that the language in which \BibTeX{} +styles are written is pretty obscure, and one would not recommend +anyone who's not a confident programmer to write their own, though +minor changes to an existing style may be within the grasp of many. + +If your style isn't too `far out', you can probably generate it by +using the facilities of the \Package{custom-bib} bundle. This +contains a file \File{makebst.tex}, which runs you through a text menu +to produce a file of instructions, with which you can generate your +own \texttt{.bst} file. This technique doesn't offer entirely new styles +of document, but the system's ``master \BibTeX{} styles'' already +offer significantly more than the \BibTeX{} standard set. +\begin{ctanrefs} +\item[\nothtml{\normalfont}\BibTeX{} documentation]\CTANref{bibtex-doc} +\item[makebst.tex]Distributed with \CTANref{custom-bib} +\end{ctanrefs} + +\Question[Q-capbibtex]{Capitalisation in \BibTeX{}} + +The standard \BibTeX{} bibliography styles impose fixed ideas about +the capitalisation of titles of things in the bibliography. While +this is not unreasonable by \BibTeX{}'s lights (the rules come from +the \emph{Chicago Manual of Style}) it can be troublesome, since +\BibTeX{} fails to recognise special uses (such as acronyms, chemical +formulae, etc.). + +The solution is to enclose the letter or letters, whose capitalisation +\BibTeX{} should not touch, in braces, as: +\begin{quote} +\begin{verbatim} +title = {The {THE} operating system}, +\end{verbatim} +\end{quote} +Sometimes you find \BibTeX{} changing the case of a single letter +inappropriately. No matter: the technique can be applied to single +letters, as in: +\begin{quote} +\begin{verbatim} +title = {Te{X}niques and tips}, +\end{verbatim} +\end{quote} +If your document design specification requires a different style of +capitalisation, you should acquire a bibliography style that doesn't +enforce \BibTeX{}'s default rules. It is definitely \emph{not} a good +idea to enclose an entire title in braces, as in +\begin{quote} +\begin{verbatim} +title = {{TeXniques and tips}}, +\end{verbatim} +\end{quote} +though that does ensure that the capitalisation is not changed. Your +\BibTeX{} database should be a general-purpose thing, not something +tuned to the requirements of a particular document, or to the way you +are thinking today. + +There's more on the subject in the +% beware line wrap +\Qref*{\BibTeX{} documentation}{Q-BibTeXing}. + +\Question[Q-bibaccent]{Accents in bibliographies} + +\BibTeX{} not only has a tendency (by default) to mess about with the +% line wrap +\Qref*{case of letters in your bibliography}{Q-capbibtex}, +also makes a hash of accent commands: +\begin{htmlversion} +``\texttt{ma\~nana}'' comes out as ``ma nana'' (!). The solution is +similar: enclose the troublesome sequence in braces, as +``|{|\texttt{\~n}|}|'', in this example. +\end{htmlversion} +\htmlignore +``|ma\~nana|'' comes out as ``ma nana'' (!). The solution is similar: +enclose the troublesome sequence in braces, as ``|{\~n}|'', in this +example. +\endhtmlignore + +\Question[Q-bibstrtl]{`String too long' in \BibTeX{}} + +The \BibTeX{} diagnostic ``Warning--you've exceeded 1000, the +|global-string-size|, for entry |foo|'' usually arises from a very +large abstract or annotation included in the database. The diagnostic +usually arises because of an infelicity in the coding of +\File{abstract.bst}, or styles derived from it. (One doesn't +ordinarily output annotations in other styles.) + +The solution is to make a copy of the style file (or get a clean copy +from \acro{CTAN}~--- \CTANref{abstract-bst}), and rename it (e.g., on a +long file-name system to \File{abstract-long.bst}). Now edit it: find +function |output.nonnull| and +\begin{itemize} +\item change its first line (line 60 in the version on \acro{CTAN}) + from |"{ 's :="| to |"{ swap$"|, and +\item delete its last line, which just says |"s"| (line 84 in the + version on \acro{CTAN}). +\end{itemize} +Finally, change your \csx{bibliographystyle} command to refer to the +name of the new file. + +This technique applies equally to any bibliography style: the same +change can be made to any similar |output.nonnull| function. + +%is not one that you can hope +%to avoid by altering the \BibTeX{} style in a simple way~--- \BibTeX{} +%itself needs recompiling to increase its limit on string sizes (which is +%often not practical, and is never desirable). You must therefore +%address the problem by changing your bibliography database. + +If you're reluctant to make this sort of change, the only way forward +is to take the entry out of the database, so that you don't encounter +\BibTeX{}'s limit, but you may need to retain the entry because it +will be included in the typeset document. In such cases, put the body +of the entry in a separate file: +\begin{quote} +\begin{verbatim} +@article{long.boring, + author = "Fred Verbose", + ... + abstract = "{\input{abstracts/long.tex}}" +} +\end{verbatim} +\end{quote} +In this way, you arrange that all \BibTeX{} has to deal with is the +file name, though it will tell \TeX{} (when appropriate) to include +all the long text. + +\Question[Q-manyauthor]{\BibTeX{} doesn't understand lists of names} + +\BibTeX{} has a strict syntax for lists of authors' (or editors') +names in the \BibTeX{} data file; if you write the list of names in a +``natural''-seeming way, the chances are you will confuse \BibTeX{}, +and the output produced will be quite different from what you had +hoped. + +Names should be expressed in one of the forms +\begin{quote} +\begin{verbatim} +First Last +Last, First +Last, Suffix, First +\end{verbatim} +\end{quote} +and lists of names should be separated with ``\texttt{and}''. +For example: +\begin{quote} +\begin{verbatim} +AUTHOR = {Fred Q. Bloggs, John P. Doe \& + Robin Fairbairns} +\end{verbatim} +\end{quote} +falls foul of two of the above rules: a syntactically significant +comma appears in an incorrect place, and `\csx{\&}' is being used as a +name separator. The output of the above might be something like: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +John P. Doe \& Robin Fairbairns Fred Q. Bloggs +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +John P. Doe \& Robin Fairbairns + Fred Q. Bloggs +\end{verbatim} +\end{narrowversion} +\end{quote} +because ``John P. Doe \& Robin Fairbairns'' has become the `first name', +while ``Fred Q. Bloggs'' has become the `last name' of a single +person. The example should have been written: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +AUTHOR = {Fred Q. Bloggs and + John P. Doe and + Robin Fairbairns} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +AUTHOR = {Fred Q. Bloggs and John P. Doe and + Robin Fairbairns} +\end{verbatim} +\end{wideversion} +\end{quote} +Some bibliography styles implement clever acrobatics with very long +author lists. You can force truncation by using the pseudo-name +``|others|'', which will usually translate to something like +``\emph{et al}'' in the typeset output. So, if Mr.~Bloggs wanted to +distract attention from his co-authors, he would write: +\begin{quote} +\begin{verbatim} +AUTHOR = {Fred Q. Bloggs and others} +\end{verbatim} +\end{quote} + +\Question[Q-citeURL]{\acro{URL}s in \BibTeX{} bibliographies} + +There is no citation type for \acro{URL}s, \emph{per se}, in the +standard \BibTeX{} styles, though Oren Patashnik (the author of +\BibTeX{}) is believed to beconsidering developing one such for use +with the long-awaited \BibTeX{} version~1.0. + +The actual information that need be available in a citation of an +\acro{URL} is discussed at some length in the publicly available +on-line +\begin{narrowversion} + extracts of \acro{ISO}~690--2, available via + \URL{http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm}; + % checked 2004-01-15 +\end{narrowversion} +\begin{wideversion} +\href{http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm}{extracts of \acro{ISO}\nobreakspace690--2}; +\end{wideversion} +the techniques below do \emph{not} satisfy all the requirements of +\acro{ISO}~690--2, but they offer a solution that is at least +available to users of today's tools. + +Until the new version of \BibTeX{} arrives, the simplest technique is +to use the \texttt{howpublished} field of the standard styles' \texttt{@misc} +function. Of course, the strictures +about \Qref*{typesetting \acro{URL}s}{Q-setURL} still apply, so the +entry will look like: +\begin{quote} +\begin{verbatim} +@misc{..., + ..., + howpublished = "\url{http://...}" +} +\end{verbatim} +\end{quote} +A possible alternative approach is to use \BibTeX{} styles other than +the standard ones, that already have \acro{URL} entry types. +Pre-eminent are the \Package{natbib} styles (\Package{plainnat}, +\Package{unsrtnat} and \Package{abbrevnat}). These styles are +extensions of the standard styles, principally for use with +\Package{natbib} itself, but they've acquired \acro{URL}s and other +``modern'' entries along the way. The same author's +\Package{custom-bib} is also capable of generating styles that honour +\acro{URL} entries. + +Another candidate is the \Package{harvard} package (if its citation +styles are otherwise satisfactory for you). \Package{Harvard} +bibliography styles all include a ``|url|'' field in their +specification; however, the typesetting offered is somewhat feeble +(though it does recognise and use \ProgName{LaTeX2HTML} macros if they +are available, to create hyperlinks). + +You can also acquire new \BibTeX{} styles by use of Norman Gray's +\Package{urlbst} system, which is based on a \ProgName{Perl} script +that edits an existing \BibTeX{} style file to produce a new +style. The new style thus generated has a |webpage| entry type, and +also offers support for |url| and |lastchecked| fields in the other entry +types. The \ProgName{Perl} script comes with a set of converted +versions of the standard bibliography styles. Documentation is +distributed as \LaTeX{} source. + +Another possibility is that some conventionally-published paper, +technical report (or even book) is also available on the Web. In such +cases, a useful technique is something like: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +@techreport{..., + ..., + note = "Also available as \url{http://...}" +} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +@techreport{..., + ..., + note = "Also available as + \url{http://...}" +} +\end{verbatim} +\end{narrowversion} +\end{quote} +There is good reason to use the \Package{url} or \Package{hyperref} +packages in this context: \BibTeX{} has a habit of splitting +lines it considers excessively long, and if there are no space +characters for it to use as `natural' breakpoints, \BibTeX{} will +insert a comment (`\texttt{\textpercent}') character~\dots{}\@ which +is an acceptable character in an \acro{URL}. Any current version of the +\Package{url} or \Package{hyperref} package detects this +``\texttt{\textpercent}--end-of-line'' structure in its argument, and +removes it. +\begin{ctanrefs} +\item[custom-bib \nothtml{\rmfamily}bundle]\CTANref{custom-bib} +\item[harvard.sty]\CTANref{harvard} +\item[hyperref.sty]\CTANref{hyperref} +\item[natbib \nothtml{\rmfamily}styles]\CTANref{natbib} +\item[url.sty]\CTANref{url} +\item[urlbst]\CTANref{urlbst} +\end{ctanrefs} + +\Question[Q-bibplain]{Using \BibTeX{} with Plain \TeX{}} + +The file \File{btxmac.tex} (which is part of the \Eplain{} system) +contains macros and documentation for using \BibTeX{} with Plain +\TeX{}, either directly or with \Qref*{\Eplain{}}{Q-eplain}. See +\Qref[question]{the use of \BibTeX{}}{Q-BibTeXing} for more +information about \BibTeX{} itself. +\begin{ctanrefs} +\item[btxmac.tex]\CTANref{btxmactex} +\item[eplain \nothtml{\rmfamily}system]\CTANref{eplain} +\end{ctanrefs} + +\Question[Q-makebib]{Reconstructing \texttt{.bib} files} + +Perhaps you've lost the \texttt{.bib} file you generated your document from, +or have been sent a document without one. Or even, you've realised +the error of building a substantial document without the benefit of +\BibTeX{}\dots{} + +The \ProgName{Perl} script, \Package{tex2bib} makes a reasonable job +of regenerating |.bib| files from \environment{thebibliography} +environments, provided that the original (whether automatically or +manually generated) doesn't deviate too far from the ``standard'' +styles. + +You are well-advised to check the output of the script. While it will +not usually destroy information, it can quite reasonably mislabel it. + +Documentation of the script is to be found in the file \File{tex2bib.readme} +\begin{ctanrefs} +\item[tex2bib]\CTANref{tex2bib} +\item[tex2bib.readme]\CTANref{tex2bib-doc} +\end{ctanrefs} + +\Question[Q-bibprefixsort]{\BibTeX{} sorting and name prefixes} + +\BibTeX{} recognises a bewildering array of name prefixes (mostly +those deriving from European language names); it ignores the prefixes +when sorting the bibliography~--- you want ``Ludwig van Beethoven'' +sorted under ``Beethoven'', not under ``van''. (Lamport made a witty +deliberate mistake with Beethoven's name, in the first edition of his +\LaTeX{} manual.) + +However, a recurring issue is the desire to quote Lord Rayleigh's +publications (``Lord'' isn't an acceptable prefix), or names from +languages that weren't considered when \BibTeX{} was designed such as +``al-Wakil'' (transcribed from the Arabic). What's needed is a +separate ``sort key'', but \BibTeX{} only allows such a thing in +citations of items that have no author or editor. + +The solution is to embed the sort key in the author's name, but to +prevent it from being typeset. Patashnik recommends a command +\csx{noopsort} (no-output-sortkey), which is defined and used as +follows: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +@PREAMBLE{ {\providecommand{\noopsort}[1]{}} } +... +@ARTICLE{Rayleigh1, +AUTHOR = "{\noopsort{Rayleigh}}{Lord Rayleigh}", +... +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +@PREAMBLE{ + {\providecommand{\noopsort}[1]{}} + } +... +@ARTICLE{Rayleigh1, +AUTHOR = + "\noopsort{Rayleigh}{Lord Rayleigh}", +... +\end{verbatim} +\end{narrowversion} +\end{quote} + +\Question[Q-bibtranscinit]{Transcribed initials in \BibTeX{}} + +If your bibliographic style uses initials~+ surname, you may encounter +a problem with some transcribed names (for example, Russian ones). +Consider the following example from the real world: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +@article{epifanov1997, + author = {Epifanov, S. Yu. and + Vigasin, A. A.}, + title = ... +} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +@article{epifanov1997, + author = {Epifanov, S. Yu. and Vigasin, A. A.}, + title = ... +} +\end{verbatim} +\end{wideversion} +\end{quote} +Note that the ``Yu'' is the initial, not a complete name. However, +\BibTeX{}'s algorithms will leave you with a citation~--- +slightly depending on the bibliographic style~--- that reads: +``S. Y. Epifanov and A. A. Vigasin, \dots{}''. instead of the intended +``S. Yu. Epifanov and A. A. Vigasin, \dots{}''. + +One solution is to replace each affected initial by a command that +prints the correct combination. To keep your bibliography portable, +you need to add that command to your bibliography with the +\texttt{@preamble} directive: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +@preamble{ {\providecommand{\BIBYu}{Yu} } } + +@article{epifanov1997, + author = {Epifanov, S. {\BIBYu}. and + Vigasin, A. A.}, + title = ... +} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +@preamble{ {\providecommand{\BIBYu}{Yu} } } + +@article{epifanov1997, + author = {Epifanov, S. {\BIBYu}. and Vigasin, A. A.}, + title = ... +} +\end{verbatim} +\end{wideversion} +\end{quote} +If you have many such commands, you may want to put them in a separate +file and \csx{input} that \LaTeX{} file in a \texttt{@preamble} +directive. + +An alternative is to make the transcription look like an accent, from +\BibTeX{}'s point of view. For this we need a control sequence that +does nothing: +\begin{quote} +\begin{verbatim} +@article{epifanov1997, + author = {Epifanov, S. {\relax Yu}. and Vigasin, A. A.}, + title = ... +} +\end{verbatim} +\end{quote} +Like the solution by generating extra commands, this involves tedious +extra typing; which of the two techniques is preferable for a given +bibliography will be determined by the names in it. + + +\subsection{Creating citations} + +\Question[Q-usebibtex]{``Normal'' use of \BibTeX{} from \LaTeX{}} + +To create a bibliography for your document, you need to perform a +sequence of steps, some of which seem a bit odd. If you choose to use +\BibTeX{}, the sequence is: + +First: you need a \BibTeX{} bibliography file (a |.bib| file)~--- see +\nothtml{``creating a \BibTeX{} file'' (\Qref[question]{}{Q-buildbib}).} +\begin{htmlversion} +``\Qref[question]{creating a \BibTeX{} file}{Q-buildbib}''. +\end{htmlversion} + +Second: you must write your \LaTeX{} document to include a declaration +of the `style' of bibliography, citations, and a reference to the +bibliography file mentioned in the step 1. So we may have a \LaTeX{} +file containing: +\begin{quote} +\begin{verbatim} +\bibliographystyle{plain} +... +Pooh is heroic~\cite{Milne:1926}. +... +Alice struggles~\cite{Carroll:1865}. +... +\bibliography{mybooks} +\end{verbatim} +\end{quote} +Note: we have bibliography style \Package{plain}, above, which is +nearly the simplest of the lot: a sample text, showing the sorts of +style choices available, can be found on Ken Turner's web site: +\URL{http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html} + +Third: you must process the file. +\begin{quote} +\begin{verbatim} +latex myfile +\end{verbatim} +\end{quote} +As \LaTeX{} processes the file, the \csx{bibliographystyle} command +writes a note of the style to the |.aux| file; each \csx{cite} command +writes a note of the citation to the |.aux| file, and the +\csx{bibliography} command writes a note of which |.bib| file is to be +used, to the |.aux| file. + +Note that, at this stage, \LaTeX{} isn't ``resolving'' any of the +citations: at every \csx{cite} command, \LaTeX{} will warn you of the +undefined citation, and when the document finishes, there will be a +further warning of undefined references. + +%Some bibliography styles are designed to work with particular +%packages... + +Fourth: you must run \BibTeX{}: +\begin{quote} +\begin{verbatim} +bibtex myfile +\end{verbatim} +\end{quote} +Don't try to tell \BibTeX{} anything but the file name: say +\texttt{bibtex myfile.aux} (because you know it's going to read the +|.aux| file) and \BibTeX{} will blindly attempt to process +\texttt{myfile.aux.aux}. + +\BibTeX{} will scan the |.aux| file; it will find which bibliography +style it needs to use, and will ``compile'' that style; it will note +the citations; it will find which bibliography files it needs, and +will run through them matching citations to entries in the +bibliography; and finally it will sort the entries that have been +cited (if the bibliography style specifies that they should be +sorted), and outputs the resulting details to a |.bbl| file. + +Fifth: you run \LaTeX{} again. It warns, again, that each citation is +(still) undefined, but when it gets to the \csx{bibliography} command, +it finds a |.bbl| file, and reads it. As it encounters each +\csx{bibitem} command in the file, it notes a definition of the +citation. + +Sixth: you run \LaTeX{} yet again. This time, it finds values for all +the citations, in its |.aux| file. Other things being equal, you're +done\dots{} until you change the file. + +If, while editing, you change any of the citations, or add new ones, +you need to go through the process above from steps 3 (first run of +\LaTeX{}) to 6, again, before the document is once again stable. +These four mandatory runs of \LaTeX{} make processing a document with +a bibliography even more tiresome than the normal two runs required to +resolve labels. + +To summarise: processing to resolve citations requires: \LaTeX{}; +\BibTeX{}; \LaTeX{}; \LaTeX{}. + +\Question[Q-chapbib]{Separate bibliographies per chapter?} + +A separate bibliography for each `chapter' of a document can be provided +with the package \Package{chapterbib} (which comes with a bunch of +other good bibliographic things). The package allows you a +different bibliography for each \csx{include}d file (i.e., despite the +package's name, the availability of bibliographies is related to the +component source files of the document rather than to the chapters that +logically structure the document). + +The package \Package{bibunits} ties bibliographies to logical units +within the document: the package will deal with chapters and sections +(as defined by \LaTeX{} itself) and also defines a \environment{bibunit} +environment so that users can select their own structuring. +\begin{ctanrefs} +\item[chapterbib.sty]\CTANref{cite} +\item[bibunits.sty]\CTANref{bibunits} +\end{ctanrefs} + +\Question[Q-multbib]{Multiple bibliographies?} + +If you're thinking of multiple bibliographies tied to some part of +your document (such as the chapters within the document), please see +\Qref[question]{bibliographies per chapter}{Q-chapbib}. + +For more than one bibliography, there are three options. + +The \Package{multibbl} package offers a very simple interface: you use +a command \csx{newbibliography} to define a bibliography ``tag''. The package +redefines the other bibliography commands so that each time you use any one +of them, you give it the tag for the bibliography where you want the +citations to appear. The \csx{bibliography} command itself also takes +a further extra argument that says what title to use for the resulting +section or chapter (i.e., it patches +\nothtml{\csx{refname} and \csx{bibname}~---} +\Qref{\csx{refname} and \csx{bibname}}{Q-fixnam}\nothtml{~---} in a +\Package{babel}-safe way). So one might write: +\begin{narrowversion} +\begin{quote} +\begin{verbatim} +\usepackage{multibbl} +\newbibliography{bk} +\bibliographystyle{bk}{alpha} +\newbibliography{art} +\bibliographystyle{art}{plain} +... +\cite[pp.~23--25]{bk}{milne:pooh-corner} +... +\cite{art}{einstein:1905} +... +\bibliography{bk}{book-bib}% + {References to books} +\bibliography{art}{art-bib}% + {References to articles} +\end{verbatim} +\end{quote} +\end{narrowversion} +\begin{wideversion} +\begin{quote} +\begin{verbatim} +\usepackage{multibbl} +\newbibliography{bk} +\bibliographystyle{bk}{alpha} +\newbibliography{art} +\bibliographystyle{art}{plain} +... +\cite[pp.~23--25]{bk}{milne:pooh-corner} +... +\cite{art}{einstein:1905} +... +\bibliography{bk}{book-bib}{References to books} +\bibliography{art}{art-bib}{References to articles} +\end{verbatim} +\end{quote} +\end{wideversion} +(Note that the optional argument of \csx{cite} appears \emph{before} the +new tag argument, and that the \csx{bibliography} commands may list +more than one \texttt{.bib} file~--- indeed all \csx{bibliography} commands +may list the same set of files.) + +The \csx{bibliography} data goes into files whose names are +\meta{tag-name}\emph{.aux}, so you will need to run +\begin{quote} +\begin{verbatim} +bibtex bk +bibtex art +\end{verbatim} +\end{quote} +after the first run of \LaTeX{}, to get the citations in the correct +place. + +The \Package{multibib} package allows you to define a series of +``additional topics'', each of which comes with its own series of +bibliography commands. So one might write: +\begin{quote} +\begin{verbatim} +\usepackage{multibib} +\newcites{bk,art}% + {References from books,% + References from articles} +\bibliographystylebk{alpha} +\bibliographystyleart{plain} +... +\citebk[pp.~23--25]{milne:pooh-corner} +... +\citeart{einstein:1905} +... +\bibliographybk{book-bib} +\bibliographyart{art-bib} +\end{verbatim} +\end{quote} +Again, as for \Package{multibbl}, any \csx{bibliography...} command may +scan any list of \texttt{.bib} files. + +\BibTeX{} processing with \Package{multibib} is much like that with +\Package{multibbl}; with the above example, one needs: +\begin{quote} +\begin{verbatim} +bibtex bk +bibtex art +\end{verbatim} +\end{quote} +Note that, unlike \Package{multibbl}, \Package{multibib} allows a +simple, unmodified bibliography (as well as the ``topic'' ones). + +The \Package{bibtopic} package allows you separately to cite several +different bibliographies. At the appropriate place in your document, +you put a sequence of \environment{btSect} environments (each of which +specifies a bibliography database to scan) to typeset the separate +bibliographies. Thus, one might have a file \File{diss.tex} containing: +\begin{quote} +\begin{verbatim} +\usepackage{bibtopic} +\bibliographystyle{alpha} +... +\cite[pp.~23--25]{milne:pooh-corner} +... +\cite{einstein:1905} +... +\begin{btSect}{book-bib} +\section{References from books} +\btPrintCited +\end{btSect} +\begin{btSect}[plain]{art-bib} +\section{References from articles} +\btPrintCited +\end{btSect} +\end{verbatim} +\end{quote} +Note the different way of specifying a bibliographystyle: if you want +a different style for a particular bibliography, you may give it as an +optional argument to the \environment{btSect} environment. + +Processing with \BibTeX{}, in this case, uses \texttt{.aux} files whose names +are derived from the name of the base document. So in this example +you need to say: +\begin{quote} +\begin{verbatim} +bibtex diss1 +bibtex diss2 +\end{verbatim} +\end{quote} + +There is also a command \csx{btPrintNotCited}, which gives the rest of +the content of the database (if nothing has been cited from the +database, this is equivalent to \LaTeX{} standard \cmdinvoke{nocite}{*}). + +However, the \emph{real} difference from \Package{miltibbl} and +\Package{mltibib} is that selection of what appears in each +bibliography section is determined in \Package{bibtopic} by what's in +the \texttt{.bib} files. + +An entirely different approach is taken by the \Package{splitbib} +package. You provide a \environment{category} environment, in the +preamble of your document, for each category you want a separate +citation list for. In each environment, you list the \csx{cite} keys +that you want listed in each category. The \csx{bibliography} command +(or, more precisely, the \environment{thebibliograph} environment it +uses) will sort the keys as requested. (Keys not mentioned in a +\environment{category} appear in a ``misc'' category created in the +sorting process.) A code example appears in the package documentation +(a \acro{PDF} file in the \acro{CTAN} directory, +\begin{htmlversion} + which you can browse to, from the link, below). +\end{htmlversion} +\htmlignore + see the file list, below). +\endhtmlignore +\begin{ctanrefs} +\item[bibtopic.sty]\CTANref{bibtopic} +\item[multibbl.sty]\CTANref{multibbl} +\item[multibib.sty]\CTANref{multibib} +\item[splitbib.sty]\CTANref{splitbib} +\end{ctanrefs} + + +\Question[Q-bibinline]{Putting bibliography entries in text} + +This is a common requirement for journals and other publications in +the humanities. Sometimes the requirement is for the entry to appear +in the running text of the document, while other styles require that +the entry appear in a footnote. + +Options for entries in running text are +\begin{itemize} +\item The package \Package{bibentry}, which puts slight restrictions + on the format of entry that your \texttt{.bst} file generates, but is + otherwise undemanding of the bibliography style. +\item The package \Package{inlinebib}, which requires that you use its + \File{inlinebib.bst} +\item The package \Package{jurabib}, which was originally targetted at + German law documents, and has comprehensive facilities for the + manipulation of citations. The package comes with four bibliography + styles that you may use: \File{jurabib.bst}, \File{jhuman.bst} and + two Chicago-like ones. +\end{itemize} + +Options for entries in footnotes are +\begin{itemize} +\item The package \Package{footbib}, and +\item The package \Package{jurabib}, again. +\end{itemize} +Note that \Package{jurabib} does the job using \LaTeX{}'s standard +footnotes, whereas \Package{footbib} creates its own sequence of +footnotes. Therefore, in a document which has other footnotes, it's +best to use \Package{jurabib}, to avoid confusion of footnotes and +foot-citations. +\begin{ctanrefs} +\item[bibentry.sty]\emph{Distributed with} \CTANref{natbib} +\item[footbib.sty]\CTANref{footbib} +\item[inlinebib.sty]\CTANref{inlinebib} +\item[jurabib.sty]\CTANref{jurabib} +\end{ctanrefs} + +\Question[Q-citesort]{Sorting and compressing citations} + +If you give \LaTeX{} +\cmdinvoke{cite}{fred,joe,harry,min}, its default commands could give +something like ``[2,6,4,3]''; +this looks awful. One can of course get the things in order by +rearranging the keys in the \csx{cite} command, but who wants to do +that sort of thing for no more improvement than ``[2,3,4,6]''? + +The \Package{cite} package sorts the numbers and detects consecutive +sequences, so creating ``[2--4,6]''. The \Package{natbib} package, +with the \texttt{numbers} and \texttt{sort\&compress} options, will +do the same when working with its own numeric bibliography styles +(\File{plainnat.bst} and \File{unsrtnat.bst}). + +If you might need to make hyperreferences to your citations, +\Package{cite} isn't adequate. If you add the \Package{hypernat} +package: +\begin{verbatim} + \usepackage[...]{hyperref} + \usepackage[numbers,sort&compress]{natbib} + \usepackage{hypernat} + ... + \bibliographystyle{plainnat} +\end{verbatim} +the \Package{natbib} and \Package{hyperref} packages will interwork. +\begin{ctanrefs} +\item[cite.sty]\CTANref{cite} +\item[hypernat.sty]\CTANref{hypernat} +\item[hyperref.sty]\CTANref{hyperref} +\item[plainnat.bst]Distributed with \CTANref{natbib} +\item[unsrtnat.bst]Distributed with \CTANref{natbib} +\end{ctanrefs} + +\Question[Q-mcite]{Multiple citations} + +A convention sometimes used in physics journals is to ``collapse'' a group of +related citations into a single entry in the bibliography. \BibTeX{}, +by default, can't cope with this arrangement, but the \Package{mcite} +package deals with the problem. + +The package overloads the \csx{cite} command to recognise a +``\texttt{*}'' at the start of a key, so that citations of the form +\begin{quote} +\begin{verbatim} +\cite{paper1,*paper2} +\end{verbatim} +\end{quote} +appear in the document as a single citation, and appear arranged +appropriately in the bibliography itself. You're not limited to +collapsing just two references. You can mix ``collapsed'' references +with ``ordinary'' ones, as in +\begin{quote} +\begin{verbatim} +\cite{paper0,paper1,*paper2,paper3} +\end{verbatim} +\end{quote} +Which will appear in the document as 3~citations ``[4,7,11]'' +(say)~--- citation `4' will refer to paper~0, `7' will refer to a +combined entry for paper~1 and paper~2, and `11' will refer to +paper~3. + +You need to make a small change to the bibliography style +(\texttt{.bst}) file you use; the \Package{mcite} package +documentation tells you how to do that. + +Unfortunately, the \Class{revtex} system doesn't play with +\Package{mcite}. As a result, for that (primarily physics-targeted +system) you need to play silly games like: +\begin{quote} +\begin{verbatim} +\cite{paper0,paper1,paper3} +\nocite{paper2} +\end{verbatim} +\end{quote} +and then edit the \texttt{.bbl} file to merge the two citations, to +achieve the effects of \Package{mcite}. +\begin{ctanrefs} +\item[mcite.sty]\CTANref{mcite} +\item[revtex \nothtml{\rmfamily}bundle]\CTANref{revtex} +\end{ctanrefs} + +\Question[Q-backref]{References from the bibliography to the citation} + +A link (or at least a page reference), from the bibliography to the +citing command, is often useful in large documents. + +Two packages support this requirement, \Package{backref} and +\Package{citeref}. \Package{Backref} is part of the +\Package{hyperref} bundle, and supports hyperlinks back to the citing +command. \Package{Citeref} is the older, and seems to rely on rather +simpler (and therefore possibly more stable) code. Neither collapses +lists of pages (``\texttt{5, 6, 7}'' comes out as such, rather than as +``\texttt{5--7}''), but neither package repeats the reference to a page that +holds multiple citations. (The failure to collapse lists is of course +forgiveable in the case of the \Package{hyperref}-related +\Package{backref}, since the concept of multiple hyperlinks from the +same anchor is less than appealing.) +\begin{ctanrefs} +\item[backref.sty]Distributed with \CTANref{hyperref} +\item[citeref.sty]\CTANref{citeref} +\end{ctanrefs} + +\Question[Q-sortbib]{Sorting lists of citations} + +\BibTeX{} has a sorting function, and most \BibTeX{} styles sort the +citation list they produce; most people find this desirable. + +However, it is perfectly possible to write a +\environment{thebibliography} environment that \emph{looks} as if it +came from \BibTeX{}, and many people do so (in order to save time in +the short term). + +The problem arises when \environment{thebibliography}-writers decide +their citations need to be sorted. A common misapprehension is to +insert \cmdinvoke{bibliographystyle}{alpha} (or similar) and expect +the typeset output to be sorted in some magical way. \BibTeX{} +doesn't work that way!~--- if you write \environment{thebibliography}, +you get to sort its contents. \BibTeX{} will only sort the contents +of a \environment{thebibliography} environment when it creates it, to +be inserted from a |.bbl| file by a \csx{bibliography} command. + +\Question[Q-compactbib]{Reducing spacing in the bibliography} + +Bibliographies are, in fact, implemented as lists, so all the +confusion about \Qref*{reducing list item spacing}{Q-complist} also +applies to bibliographies. + +If the \Package{natbib} package `works' for you (it may not if you are using +some special-purpose bibliography style), the solution is relatively +simple~--- add +\begin{quote} +\begin{verbatim} +\usepackage{natbib} +\setlength{\bibsep}{0.0pt} +\end{verbatim} +\end{quote} +to the preamble of your document. + +Otherwise, one is into unseemly hacking of something or other. The +\Package{mdwlist} package actually does the job, but it doesn't work +here, because it makes a different-named list, while the name +``\environment{thebibliography}'' is built into \LaTeX{} and +\BibTeX{}. Therefore, we need to % ! line break +\Qref*{patch the underlying macro}{Q-patch}: +\begin{quote} +\begin{verbatim} +\let\oldbibliography\thebibliography +\renewcommand{\thebibliography}[1]{% + \oldbibliography{#1}% + \setlength{\itemsep}{0pt}% +} +\end{verbatim} +\end{quote} +The \Package{savetrees} package performs such a patch, among a +plethora of space-saving measures: you can, in principle, suppress all +its other actions, and have it provide you a compressed bibliography +\emph{only}. +\begin{ctanrefs} +\item[mdwlist.sty]Distributed as part of \CTANref{mdwtools} +\item[natbib.sty]\CTANref{natbib} +\item[savetrees.sty]\CTANref{savetrees} +\end{ctanrefs} + +\Question[Q-bibtocorder]{Table of contents rearranges ``\Package{unsrt}'' ordering} + +If you're using the \Package{unsrt} bibliography style, you're +expecting that your bibliography will \emph{not} be sorted, but that +the entries will appear in the order that they first appeared in your +document. + +However, if you're unfortunate enough to need a citation in a section +title, and you also have a table of contents, the citations that now +appear in the table of contents will upset the ``natural'' ordering +produced by the \Package{unsrt} style. Similarly, if you have +citations in captions, and have a list of figures (or tables). + +There's a pretty simple ``manual'' method for dealing with the +problem~--- when you have the document stable: +\begin{enumerate} +\item Delete the \texttt{.aux} file, and any of \texttt{.toc}, + \texttt{.lof}, \texttt{.lot} files. +\item Run \LaTeX{}. +\item Run \BibTeX{} for the last time. +\item Run \LaTeX{} often enough that things are stable again. +\end{enumerate} +Which is indeed simple, but it's going to get tedious when you've +found errors in your ``stable'' version, often enough. + +The package \Package{notoccite} avoids the kerfuffle, and suppresses +citations while in the table of contents, or lists of figures, tables +(or other floating things: the code is quite general). +\begin{ctanrefs} +\item[notoccite.sty]\CTANref{notoccite} +\end{ctanrefs} + +\Question[Q-i18nbib]{Non-english bibliographies} + +Like so much of early \AllTeX{} software, \BibTeX{}'s assumptions were +firmly rooted in what its author knew well, viz., academic papers in +English (particularly those with a mathematical bent). \BibTeX{}'s +standard styles all address exactly that problem, leaving the user who +writes in another language (or who deal with citations in the style of +other disciplines than maths) to strike out into contributed software. + +For the user whose language is not English, there are several +alternatives. The simplest is to provide translations of \BibTeX{} +styles into the required language: the solitary \Package{finplain.bst} +does that for Finnish; others one can find are for Danish +(\Package{dk-bib}), French (\Package{bib-fr}), German +(\Package{bibgerm}), Norwegian (\Package{norbib}) and Swedish +(\Package{swebib}) bundles (of which the \Package{bib-fr} set is the +most extensive). The \Package{spain} style implements a traditional +Spanish citation style. + +These static approaches solve the problem, for the languages that have +been covered by them. Unfortunately, with such an approach, a lot of +work is needed for every language involved. Two routes to a solution +of the ``general'' problem are available~--- that offered by +\Package{babelbib}, and the % ! line break +\Qref*{\Package{custom-bib} mechanism for generating styles}{Q-custbib}. + +\Package{Babelbib} (which is a development of the ideas of the +\Package{bibgerm} package) co-operates with \Package{babel} to control +the language of presentation of citations (potentially at the level of +individual items). The package has a built-in set of languages it +`knows about', but the documentation includes instructions on defining +commands for other languages. \Package{Babelbib} comes with its own +set of bibliography styles, which could be a restriction if there +wasn't also a link from \Package{custom-bib}. + +The \Package{makebst} menu of \Package{custom-bib} allows you to +choose a language for the \BibTeX{} style you're generating (there are +14 languages to choose; it looks as if \Package{spain.bst}, mentioned +above, was generated this way). If, however, you opt not to specify a +language, you are asked whether you want the style to interact with +\Package{babelbib}; if you do so, you're getting the best of both +worlds~--- formatting freedom from \Package{custom-bib} and linguistic +freedom via the extensibility of \Package{babelbib} +\begin{ctanrefs} +\item[babelbib.sty]\CTANref{babelbib} +\item[bib-fr \nothtml{\rmfamily\upshape}bundle]\CTANref{bib-fr} +\item[bibgerm \nothtml{\rmfamily\upshape}bundle]\CTANref{bibgerm} +\item[custom-bib \nothtml{\rmfamily\upshape}bundle]\CTANref{custom-bib} +\item[finplain.bst]\CTANref{finplain} +\item[norbib \nothtml{\rmfamily\upshape}bundle]\CTANref{norbib} +\item[spain]\CTANref{spain} +\item[swebib \nothtml{\rmfamily\upshape}bundle]\CTANref{swebib} +\end{ctanrefs} + +\subsection{Manipulating whole bibliographies} + +\Question[Q-nocite*]{Listing all your \BibTeX{} entries} + +\LaTeX{} and \BibTeX{} co-operate to offer special treatment of this +requirement. The command \cmdinvoke{nocite}{*} is specially treated, +and causes \BibTeX{} to generate bibliography entries for every entry +in each \texttt{.bib} file listed in your \csx{bibliography} statement, so +that after a \LaTeX{}--\BibTeX{}--\LaTeX{} sequence, you have a +document with the whole thing listed. + +Note that \LaTeX{} \emph{doesn't} produce +% beware line breaks +``\texttt{Citation ... undefined}'' or +``\texttt{There were undefined references}'' warnings in respect of +\cmdinvoke{nocite}{*}. This isn't a problem if you're running +\LaTeX{} ``by hand'' (you \emph{know} exactly how many times you have +to run things), but the lack might confuse automatic processors that +scan the log file to determine whether another run is necessary. + +\Question[Q-htmlbib]{Making \acro{HTML} of your Bibliography} + +A neat solution is offered by the \Package{noTeX} bibliography style. +This style produces a \texttt{.bbl} file which is in fact a series of +\acro{HTML} `\texttt{P}' elements of class \texttt{noTeX}, and which +may therefore be included in an \acro{HTML} file. Provision is made +for customising your bibliography so that its content when processed by +\Package{noTeX} is different from that presented when it is processed +in the ordinary way by \AllTeX{}. + +A thorough solution is offered by \Package{bib2xhtml}; using it, you +make use of one of its modified versions of many common \BibTeX{} +styles, and post-process the output so produced using a +\ProgName{perl} script. + +A more conventional translator is the \ProgName{awk} script +\ProgName{bbl2html}, which translates the \texttt{.bbl} file you've generated: +a sample of the script's output may be viewed on the web, at +\URL{http://rikblok.cjb.net/lib/refs.html} +\begin{ctanrefs} +\item[bbl2html.awk]\CTANref{bbl2html} +\item[bib2xhtml]\CTANref{bib2xhtml} +\item[noTeX.bst]\CTANref{noTeX} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Adjusting the typesetting} + +\subsection{Alternative document classes} + +\Question[Q-replstdcls]{Replacing the standard classes} + +People are forever concocting classes that replace the standard ones: +the present author produced an \Class{ukart} class that used the +\Package{sober} package, and a few British-specific things (such as +appear in the \Package{babel} package's British-english +specialisation) in the 1980s, which is still occasionally used. + +Similar public efforts were available well back in the days of +\LaTeXo{}: a notable example, whose pleasing designs seem not to have +changed much over all that time, is the \Class{ntgclass} bundle. +Each of the standard classes is replaced by a selection of classes, +named in Dutch, sometimes with a single numeric digit attached. So we +have classes \Class{artikel2}, \Class{rapport1}, \Class{boek3} and +\Class{brief}. These classes are moderately well documented in +English. + +The \Class{KOMA-script} bundle (classes named \Class{scr...}) are a +strong current contender. They are actively supported, are +comprehensive in their coverage of significant typesetting issues, +produce good-looking output and are well documented in both English +and German (\Package{scrguien} in the distribution for English, +\Package{scrguide} for German). + +The other comparable class is \Class{memoir}. This aims to replace +\Class{book} and \Class{report} classes directly, and (like +\Class{KOMA-script}) is comprehensive in its coverage of small issues. +\Class{Memoir}'s documentation (\Package{memman}) is very highly +spoken of, and its lengthy introductory section is regularly +recommended as a tutorial on typesetting. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}KOMA-script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[\nothtml{\rmfamily}NTGclass bundle]\CTANref{ntgclass} +\item[sober.sty]\CTANref{sober} +\end{ctanrefs} + +\Question[Q-slidecls]{Producing slides} + +Lamport's original \LaTeX{} had a separate program (Sli\TeX{}) for +producing slides; it dates from the age when colour effects were +produced by printing separate slides in different-coloured inks, and +overlaying them, and was just about acceptable back then. When +\LaTeXe{} came along, the reason Sli\TeX{} had to be a separate +program went away, and its functionality was supplied by the +\Class{slides} class. While this makes life a little easier for +system administrators, it does nothing for the inferior functionality +of the class: no-one ``who knows'' uses \Class{slides} nowadays. + +The `classic' alternatives have been \Class{seminar} and \Class{foils} +(originally known as Foil\TeX{}). Both were originally designed to +produce output on acetate foils, though subsequent work has provided +environments in which they can be used with screen projectors (see +below). + +The advent of MicroSoft \ProgName{PowerPoint} (feeble though early +versions of it were) has created a demand for ``dynamic'' slides~--- +images that develop their content in a more elaborate fashion than by +merely replacing one foil with the next in the way that was the norm +when \Class{slides}, \Class{foils} and \Class{seminar} were designed. + +The \Class{prosper} class builds on \Class{seminar} to provide dynamic +effects and the like; it retains the ability to provide \acro{PDF} for +a projected presentation, or to print foils for a foil-based +presentation. The add-on package \Package{ppr-prv} adds ``preview'' +facilities (that which is commonly called ``hand-out printing''). The +\Package{HA-prosper} package, which you load with \Class{prosper}, +mends a few bugs, and adds several facilities and slide design styles. + +\Class{Beamer} is a relatively easy-to-learn, yet powerful, class that +(as its name implies) was designed for use with projection displays. +It needs the \Package{pgf} package (for graphics support), which in +turn requires \Package{xcolor}; while this adds to the tedium of +installing \Class{beamer} ``from scratch'', both are good additions to +a modern \LaTeX{} installation. \Class{Beamer} has reasonable +facilities for producing printed copies of slides. + +\ProgName{Ppower4} (commonly known as \ProgName{pp4}) is a +\ProgName{Java}-based support program that will postprocess +\acro{PDF}, to `animate' the file at places you've marked with +commands from one of the \ProgName{pp4} packages. The commands don't +work on \acro{PDF} that has come from \ProgName{dvips} output; they +work with \acro{PDF} generated by \PDFLaTeX{}, V\TeX{} \LaTeX{}, or +\ProgName{dvipdfm} running on \LaTeX{} output. + +\Package{Pdfscreen} and \Package{texpower} are add-on pakages that +permit dynamic effects in documents formatted in ``more modest'' +classes; \Package{pdfscreen} will even allow you to plug +``presentation effects'' into an \Class{article}-class document. + +% ifmslide +%\noindent ifmslide: a few slides extolling virtues in \File{doc/ifmman.pdf} + +A more detailed examination of the alternatives (including examples +of code using many of them) may be found at Michael Wiedmann's fine +\URL{http://www.miwie.org/presentations/presentations.html} +% +\begin{ctanrefs} +\item[beamer.cls]Download all of \CTANref{beamer} +\item[foils.cls]\CTANref{foiltex} +\item[HA-prosper.sty]\CTANref{ha-prosper} +%\item[ifmslide.sty]\CTANref{ifmslide} +\item[seminar.cls]\CTANref{seminar} +\item[pgf.sty]\CTANref{pgf} +\item[pp4]\CTANref{ppower4} +\item[ppr-prv.sty]\CTANref{ppr-prv} +\item[prosper.cls]\CTANref{prosper} +\item[texpower]\CTANref{texpower} +\item[xcolor.sty]\CTANref{xcolor} +\end{ctanrefs} + +\Question[Q-thesis]{Formatting a thesis in \LaTeX{}} + +Thesis styles are usually very specific to your University, so it's +usually not profitable to ask around for a package outside your own +University. Since many Universities (in their eccentric way) still +require double-spacing, you may care to refer to +\Qref[question]{the relevant question}{Q-linespace}. +If you want to write your own, a good place to start is the University +of California style, but it's not worth going to a lot of trouble. (If +officials won't allow standard typographic conventions, you won't be +able to produce an \ae{}sthetically pleasing document anyway!) +\begin{ctanrefs} +\item[UC thesis style]\CTANref{ucthesis} +\end{ctanrefs} + +\Question[Q-journalpaper]{Setting papers for journals} + +Publishers of journals have a wide range of requirements for the +presentation of papers, and while many publishers do accept electronic +submissions in \AllTeX{}, they don't often submit recommended macros to +public archives. + +Nevertheless, there are considerable numbers of macros of one sort or +another available on \acro{CTAN}; searching for your journal name in +the CTAN catalogue (see % ! line wrap +\Qref[question]{searching \acro{CTAN}}{Q-findfiles}) +may well turn up what you're seeking. + +Failing that, you may be well advised to contact the prospective +publisher of your paper; many publishers have macros on their own web +sites, or otherwise available only upon application. + +Check that the publisher is offering you macros suitable to an +environment you can use: a few still have no macros for current +\LaTeX{}, for example, claiming that \LaTeXo{} is good enough\dots{} + +Some publishers rekey anything sent them anyway, so that it doesn't +really matter what macros you use. Others merely encourage you to use +as few extensions of a standard package as possible, so that they will +find it easy to transform your paper to their own internal form. + +\Question[Q-multidoc]{A `report' from lots of `article's} + +This is a requirement, for example, if one is preparing the +proceedings of a conference whose papers were submitted in \LaTeX{}. + +The nearest things to canned solutions are Peter Wilson's +\Class{combine} and Federico Garcia's \Class{subfiles} classes. + +\Class{Combine} defines the means to `\csx{import}' entire documents, +and provides means of specifying significant features of the layout of +the document, as well as a global table of contents, and so on. An +auxiliary package, \Package{combinet}, allows use of the \csx{title}s +and \csx{author}s (etc.\@) of the \csx{import}ed documents to appear in +the global table of contents. + +\Class{Subfiles} is used in the component files of a multi-file +project, and the corresponding \Package{subfiles} is used in the +master file; arrangements may be made so that the component files will +be typeset using different page format, etc., parameters than those +used when they are typeset as a part of the main file. + +A more `raw' toolkit is offered by Matt Swift's \Package{includex} and +\Package{moredefs} packages, both part of the \Package{frankenstein} +bundle) offer a possible way forward. + +\Package{Includex} enables you to `\csx{includedoc}' complete articles +(in the way that you `\csx{include}' chapter files in an ordinary +report). It doesn't do the whole job for you, though. You need to +analyse the package use of the individual papers, and ensure that a +consistent set is loaded in the preamble of the main report. + +A completely different approach is to use the \Package{pdfpages} +package, and to include articles submitted in \acro{PDF} format into a +a \acro{PDF} document produced by \PDFLaTeX{}. The package +defines an \csx{includepdf} command, which takes arguments similar to +those of the \csx{includegraphics} command. With keywords in the +optional argument of the command, you can specify which pages you want +to be included from the file named, and various details of the layout +of the included pages. +\begin{ctanrefs} +\item[combine.cls]\CTANref{combine} +\item[combinet.sty]\CTANref{combine} +\item[includex.sty]Distributed in the ``unsupported'' part of + \CTANref{frankenstein} +\item[moredefs.sty]Distributed as part of \CTANref{frankenstein} +\item[pdfpages.sty]\CTANref{pdfpages} +\item[subfiles.cls, etc.]\CTANref{subfiles} +\end{ctanrefs} + +\Question[Q-cv]{\emph{Curriculum Vitae} (R\'esum\'e)} + +Andrej Brodnik's class, \Class{vita}, offers a framework for producing +a \emph{curriculum vitae}. The class may be customised both for +subject (example class option files support both computer scientists +and singers), and for language (both the options provided are +available for both English and Slovene). Extensions may be written by +creating new class option files, or by using macros defined in the +class to define new entry types, etc. + +Didier Verna's class, \Class{curve}, is based on a model in which +the \acro{CV} is made of a set of \emph{rubrics} (each one dealing +with a major item that you want to discuss, such as `education', `work +experience', etc). The class's documentation is supported by a couple +of example files, and an emacs mode is provided. + +The European Commission has recommended a format for % ! line break +\emph{curricula vitarum} within Europe, and Nicola Vitacolonna has +developed a class \Class{europecv} to produce it. While (by his own +admission) the class doesn't solve all problems, it seems well-thought +out and supports many EU languages (it omits Dutch and Greek, and all +the languages of the 2004 accessions; instructions for creating new +language options are, however, there for the energetic). + +The alternative to using a separate class is to impose a package on +one of the standard classes. An example, +Axel Reichert's \Package{currvita} package, has been recommended to the +\acro{FAQ} team. Its output certainly looks good. + +There is also a \LaTeXo{} package \Package{resume}, which comes with +little but advice \emph{against} trying to use it. +\begin{ctanrefs} +\item[currvita.sty]\CTANref{currvita} +\item[curve.cls]\CTANref{curve} +\item[europecv.cls]\CTANref{europecv} +\item[resume.sty]\CTANref{resume} +\item[vita.cls]\CTANref{vita} +\end{ctanrefs} + +\Question[Q-letterclass]{Letters and the like} + +\LaTeX{} itself provides a \Class{letter} document class, which is +widely disliked; the present author long since gave up trying with +it. If you nevertheless want to try it, but are irritated by its way +of vertically-shifting a single-page letter, try the following hack: +\begin{verbatim} +\makeatletter +\let\@texttop\relax +\makeatother +\end{verbatim} +in the preamble of your file. + +Doing-it-yourself is a common strategy; Knuth (for use with plain +\TeX{}, in the \TeX{}book), and Kopka and Daly (in their Guide to +\LaTeX{}) offer worked examples. + +Nevertheless, there \emph{are} contributed alternatives~--- in fact +there are an awfully large number of them: the following list, of +necessity, makes but a small selection. + +The largest, most comprehensive, class is \Class{newlfm}; the |lfm| +part of the name implies that the class can create letters, faxes and +memoranda. The documentation is voluminous, and the package seems +very flexible. + +Axel Kielhorn's \Class{akletter} class is the only other one, +recommended for inclusion in this \acro{FAQ}, whose documentation is +available in English. + +The \Class{dinbrief} class, while recommended, is only documented in +German. + +There are letter classes in each of the excellent +\Class{KOMA-script} (\Class{scrlttr2}: documentation is available in +English) and \Package{ntgclass} (\Class{brief}: documentation in Dutch +only) bundles. While these are probably good (since the bundles +themselves inspire trust) they've not been specifically recommended by +any users. +\begin{ctanrefs} +\item[akletter.cls]\CTANref{akletter} +\item[brief.cls]Distributed as part of \CTANref{ntgclass} +\item[dinbrief.cls]\CTANref{dinbrief} +\item[newlfm.cls]\CTANref{newlfm} +\item[scrlttr2.cls]Distributed as part of \CTANref{koma-script} +\end{ctanrefs} + +\Question[Q-extsizes]{Other ``document font'' sizes?} + +The \LaTeX{} standard classes have a concept of a (base) ``document +font'' size; this size is the basis on which other font sizes (those +from \csx{tiny} to \csx{Huge}) are determined. The classes are designed +on the assumption that they won't be used with sizes other than the +set that \LaTeX{} offers by default (10--12pt), but people regularly +find they need other sizes. The proper response to such a requirement +is to produce a new design for the document, but many people don't +fancy doing that. + +A simple solution is to use the \Package{extsizes} bundle. This +bundle offers ``extended'' versions of the article, report, book and +letter classes, at sizes of 8, 9, 14, 17 and 20pt as well as the +standard 10--12pt. Since little has been done to these classes other +than to adjust font sizes and things directly related to them, they +may not be optimal~--- but they're certainly practical. + +More satisfactory are the \emph{\acro{KOMA}-script} classes, which are +designed to work properly with the class option files that come with +\Package{extsizes}, and the \Class{memoir} class that has its own +options for document font sizes 9pt, 14pt and 17pt. +\begin{ctanrefs} +\item[extsizes bundle]\CTANref{extsizes} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\subsection{Document structure} + +\Question[Q-titlsty]{The style of document titles} + +The \Package{titling} package provides a number of facilities that +permit manipulation of the appearance of a \csx{maketitle} command, the +\csx{thanks} commands within it, and so on. The package also defines a +\environment{titlingpage} environment, that offers something in between the +standard classes' \pkgoption{titlepage} option and the \environment{titlepage} +environment, and is itself somewhat configurable. + +The memoir class includes all the functionality of the +\Package{titling} package, while the \Class{KOMA-script} classes have +their own range of different titling styles. + +Finally, the indefatigable Vincent Zoonekynd supplies examples of how +to program alternative % don't let this \href suffer a line-break +\href{http://zoonek.free.fr/LaTeX/LaTeX_samples_title/0.html}{title styles}. +The web page is not useful to users unless they are willing to do +their own \LaTeX{} programming. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[titling.sty]\CTANref{titling} +\end{ctanrefs} + +\Question[Q-secthead]{The style of section headings} + +Suppose that the editor of your favourite journal has specified that section +headings must be centred, in small capitals, and subsection headings ragged +right in italic, but that you don't want to get involved in the sort of +programming described in section 2.2 of \emph{The \LaTeX{} Companion} +\begin{narrowversion} % really non-hyper + (\Qref{}{Q-books}; the programming itself is discussed in + \Qref[question]{}{Q-atsigns}). +\end{narrowversion} +\begin{wideversion} % really hyper + (see \Qref{\TeX{}-related books}{Q-books}; the + \Qref{programming}{Q-atsigns} itself is discussed elsewhere in this + \acro{FAQ}). +\end{wideversion} +The following hack will +probably satisfy your editor. Define yourself new commands +\begin{quote} +\begin{verbatim} +\newcommand{\ssection}[1]{% + \section[#1]{\centering\sc #1}} +\newcommand{\ssubsection}[1]{% + \subsection[#1]{\raggedright\it #1}} +\end{verbatim} +\end{quote} +and then use \csx{ssection} and \csx{ssubsection} in place of +\csx{section} and \csx{subsection}. This isn't perfect: section numbers +remain in bold, and starred forms need a separate redefinition. + +The package \Package{sectsty} provides an easy-to-use set of tools to +do this job, while the package \Package{titlesec} has a structured +approach based on redefinition of the sectioning and chapter commands +themselves. \Package{Titlesec}'s approach allows it to offer far more +radical adjustment: its options provide (in effect) a toolbox for +designing your own sectioning commands' output. + +The \Package{fncychap} package provides a nice collection of customised +chapter heading designs. The \Package{anonchap} package provides a +simple means of typesetting chapter headings ``like section headings'' +(i.e., without the ``Chapter'' part of the heading); the +\Package{tocbibind} package provides the same commands, in pursuit of +another end. Unfortunately, \Package{fncychap} is not attuned to the +existence of front- and backmatter in \Class{book} class documents. + +The \Class{memoir} class includes facilities that match +\Package{sectsty} and \Package{titlesec}, as well as a bundle of +chapter heading styles (including an \Package{anonchap}-equivalent). +The \Class{KOMA-script} classes also have sets of tools that provide +equivalent functionality, notably formatting specifications \csx{partformat}, +\csx{chapterformat}, \csx{sectionformat}, \dots{}, as well as several +useful overall formatting specifications defined in class options. + +Finally, the indefatigable Vincent Zoonekynd supplies examples of how +to program alternative % don't let these \href suffer line-breaks +\href{http://zoonek.free.fr/LaTeX/LaTeX_samples_chapter/0.html}{chapter heading styles} +and +\href{http://zoonek.free.fr/LaTeX/LaTeX_samples_section/0.html}{section heading styles}. +The web pages are not useful to users unless they are willing to do +their own \LaTeX{} programming. + +The documentation of \Package{fncychap} is distributed as a separate +\PS{} file. +\begin{ctanrefs} +\item[anonchap.sty]\CTANref{anonchap} +\item[fncychap.sty]\CTANref{fncychap} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[sectsty.sty]\CTANref{sectsty} +\item[titlesec.sty]\CTANref{titlesec} +\item[tocbibind.sty]\CTANref{tocbibind} +\end{ctanrefs} + +\Question[Q-appendix]{Appendixes} + +\LaTeX{} provides an exceedingly simple mechanism for appendixes: the +command \csx{appendix} switches the document from generating sections +(in \Class{article} class) or chapters (in \Class{report} or +\Class{book} classes) to producing appendixes. Section or chapter +numbering is restarted and the representation of the counter switches +to alphabetic. So: +\begin{quote} +\begin{verbatim} +\section{My inspiration} +... + +\section{Developing the inspiration} +... + +\appendix +\section{How I became inspired} +... +\end{verbatim} +\end{quote} +would be typeset (in an \Class{article} document) something like: +\begin{quote} +\textbf{1~~My inspiration} + +\dots{} + +\textbf{2~~Developing the inspiration} + +\dots{} + +\textbf{A~~How I became inspired} + +\dots{} +\end{quote} +which is quite enough for many ordinary purposes. Note that, once +you've switched to typesetting appendixes, \LaTeX{} provides you with +no way back~--- once you've had an appendix, you can no longer have an +``ordinary'' \csx{section} or \csx{chapter}. + +The \Package{appendix} provides several ways of elaborating on this +simple setup. Straightforward use of the package allows you to have a +separate heading, both in the body of the document and the table of +contents; this would be achieved by +\begin{quote} +\begin{verbatim} +\usepackage{appendix} +... +\appendix +\appendixpage +\addappheadtotoc +\end{verbatim} +\end{quote} +The \csx{appendixpage} command adds a separate title ``Appendices'' +above the first appendix, and \csx{addappheadtotoc} adds a similar +title to the table of contents. These simple modifications cover many +people's needs about appendixes. + +The package also provides an \environment{appendices} environment, +which provides for fancier use. The environment is best controlled by +package options; the above example would be achieved by +\begin{quote} +\begin{verbatim} +\usepackage[toc,page]{appendix} +... +\begin{appendices} +... +\end{appendices} +\end{verbatim} +\end{quote} +The great thing that the \environment{appendices} environment gives +you, is that once the environment ends, you can carry on with sections +or chapters as before~--- numbering isn't affected by the intervening +appendixes. + +The package provides another alternative way of setting appendixes, as +inferior divisions in the document. The \environment{subappendices} +environment allows you to put separate appendixes for a particular +section, coded as \csx{subsection}s, or for a particular chapter, coded +as \csx{section}s. So one might write: +\begin{quote} +\begin{verbatim} +\usepackage{appendix} +... +\section{My inspiration} +... +\begin{subappendices} +\subsection{How I became inspired} +... +\end{subappendices} + +\section{Developing the inspiration} +... +\end{verbatim} +\end{quote} +Which will produce output something like: +\begin{quote} +\textbf{1~~My inspiration} + +\dots{} + +\textbf{1.A~~How I became inspired} + +\dots{} + +\textbf{2~~Developing the inspiration} + +\dots{} +\end{quote} + +There are many other merry things one may do with the package; the +user is referred to the package documentation for further details. + +The \Class{memoir} class includes the facilities of the +\Package{appendix} package. The \Class{KOMA-script} classes offer a +\csx{appendixprefix} command for manipulating the appearance of appendixes. +\begin{ctanrefs} +\item[appendix.sty]\CTANref{appendix} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\Question[Q-secindent]{Indent after section headings} + +\LaTeX{} implements a style that doesn't indent the first paragraph +after a section heading. There are coherent reasons for this, but not +everyone likes it. +The \Package{indentfirst} package +suppresses the mechanism, so that the first paragraph is +indented. +\begin{ctanrefs} +\item[indentfirst.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + +\Question[Q-subsubsub]{How to create a \csx{subsubsubsection}} + +\LaTeX{}'s set of ``sections'' stops at the level of +\csx{subsubsection}. This reflects a design decision by Lamport~--- +for, after all, who can reasonably want a section with such huge +strings of numbers in front of it? + +In fact, \LaTeX{} standard classes \emph{do} define ``sectioning'' +levels lower than \csx{subsubsection}, but they don't format them like +sections (they're not numbered, and the text is run-in after the +heading). These deeply inferior section commands are \csx{paragraph} +and \csx{subparagraph}; you can (if you \emph{must}) arrange that these +two commands produce numbered headings, so that you can use them as +\csx{subsubsubsection}s and lower. + +The \Package{titlesec} allows you to adjust the definitions of the +sectioning macros, and it may be used to +transform a \csx{paragraph}'s typesetting so that it looks like that +of a \csx{section}. + +If you want to program the change yourself, you'll find that the +commands (\csx{section} all the way down to \csx{subparagraph}) are +defined in terms of the internal \csx{@startsection} command, which +takes 6~arguments. Before attempting this sort of work, you are well +advised to read the \LaTeX{} sources (\File{ltsect.dtx} in the +\LaTeX{} distribution) and the source of the standard packages +(\File{classes.dtx}). The \Qref*{\LaTeX{} Companion}{Q-books} +discusses use of \csx{@startsection} for this sort of thing. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\LaTeX{} source]\CTANref{latex} +\item[titlesec.sty]\CTANref{titlesec} +\end{ctanrefs} + +\Question[Q-captsty]{The style of captions} + +Changes to the style of captions may be made by redefining the commands +that produce the caption. So, for example, \csx{fnum@figure} (which +produces the float number for figure floats) may be redefined, in a +package of your own, or between +\Qref*{\csx{makeatletter}--\csx{makeatother}}{Q-atsigns}: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\renewcommand{\fnum@figure}{\textbf{Fig.~\thefigure}} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\renewcommand{\fnum@figure}% + {\textbf{Fig.~\thefigure}} +\end{verbatim} +\end{narrowversion} +\end{quote} +which will cause the number to be typeset in bold face. (Note that +the original definition used \nothtml{\csx{figurename}~--- }% +\Qref{\csx{figurename}}{Q-fixnam}.) More elaborate changes can be +made by patching the \csx{caption} command, but since there are +packages to do the job, such changes (which can get rather tricky) +aren't recommended for ordinary users. + +The \Package{float} package provides some control of the appearance of +captions, though it's principally designed for the creation of +non-standard floats. The \Package{caption} and \Package{ccaption} +(note the double ``\emph{c}'') packages provide a range of different +formatting options. + +\Package{ccaption} also provides `continuation' captions and captions +that can be placed outside of float environments. The (very simple) +\Package{capt-of} package also allows captions outside a float +environment. Note that care is needed when doing things that assume +the sequence of floats (as in continuation captions), or potentially +mix non-floating captions with floating ones. + +The \Class{memoir} class includes the facilities of the +\Package{ccaption} package; the \Class{KOMA-script} classes also +provide a wide range of caption-formatting commands. + +The documentation of \Package{caption} is available by processing a +file \File{manual.tex}, which is created when you unpack +\File{caption.dtx} + +Note that the previously-recommended package \Package{caption2} has +now been overtaken again by \Package{caption}; however, +\Package{caption2} remains available for use in older documents. +\begin{ctanrefs} +\item[caption.sty]\CTANref{caption} +\item[capt-of.sty]\CTANref{capt-of} +\item[ccaption.sty]\CTANref{ccaption} +\item[float.sty]\CTANref{float} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\Question[Q-fancyhdr]{Alternative head- and footlines in \LaTeX{}} + +The standard \LaTeX{} document classes define a small set of `page +styles' which (in effect) specify head- and footlines for your +document. The set defined is very restricted, but \LaTeX{} is capable +of much more; people occasionally set about employing \LaTeX{} +facilities to do the job, but that's quite unnecessary~--- Piet van +Oostrum has already done the work. + +The \Package{fancyhdr} package provides +simple mechanisms for defining pretty much every head- or footline +variation you could want; the directory also contains some +documentation and one or two smaller packages. \Package{Fancyhdr} +also deals with the tedious behaviour of the standard styles with +\Qref*{initial pages}{Q-ps@empty}, by enabling you to define +different page styles for initial and for body pages. + +While \Package{fancyhdr} will work with \Class{KOMA-script} classes, +an alternative package, \Package{scrpage2}, eases integration with the +classes. \Package{Scrpage2} may also be used as a \Package{fancyhdr} +replacement, providing similar facilities. The \Class{KOMA-script} +classes themselves permit some modest redefinition of head- and +footlines, without the use of the extra package. + +\Class{Memoir} also contains the functionality of \Package{fancyhdr}, +and has several predefined styles. + +Documentation of \Package{fancyhdr} is distributed with the package, +in a separate file; documentation of \Package{scrpage2} is integrated +with the \File{scrgui*} documentation files that are distributed with +the \Class{KOMA-script} classes. +\begin{ctanrefs} +\item[fancyhdr.sty]\CTANref{fancyhdr} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[scrpage2.sty]Distributed as part of \CTANref{koma-script} +\end{ctanrefs} + +\Question[Q-widefigs]{Wide figures in two-column documents} + +Floating figures and tables ordinarily come out the same width as the +page, but in two-column documents they're restricted to the width of +the column. This is sometimes not good enough; so there are alternative +versions of the float environments~--- in two-column documents, +|figure*| provides a floating page-wide figure (and |table*| a +page-wide table) which will do the necessary. + +The ``|*|''ed float environments can only appear at the top of a page, +or on a whole page~--- |h| or |b| float placement directives are +simply ignored. + +Unfortunately, page-wide equations can only be accommodated inside +float environments. You should include them in |figure| environments, +or use the \Package{float} or \Package{ccaption}package to define a +new float type. +\begin{ctanrefs} +\item[ccaption.sty]\CTANref{ccaption} +\item[float.sty]\CTANref{float} +\end{ctanrefs} + +\Question[Q-onecolabs]{1-column abstract in 2-column document} + +One often requires that the abstract of a paper should appear across +the entire page, even in a two-column paper. The required trick is: +\begin{verbatim} + \documentclass[twocolumn]{article} + ... + \begin{document} + ... % \author, etc + \twocolumn[ + \begin{@twocolumnfalse} + \maketitle + \begin{abstract} + ... + \end{abstract} + \end{@twocolumnfalse} + ] +\end{verbatim} +Unfortunately, with the above \csx{thanks} won't work in the +\csx{author} list. If you need such specially-numbered footnotes, you +can make them like this: +\begin{verbatim} + \title{Demonstration} + \author{Me, You\thanks{}} + \twocolumn[ + ... as above ... + ] + { + \renewcommand{\thefootnote}% + {\fnsymbol{footnote}} + \footnotetext[1]{Thanks for nothing} + } +\end{verbatim} +and so on. + +As an alternative, among other facilities the \Package{abstract} package +provides a +\csx{saythanks} command and a \environment{onecolabstract} environment +which remove the need to fiddle with the \csx{thanks} and +footnoting. They can be used like this: +\begin{verbatim} +\twocolumn[ + \maketitle % full width title + \begin{onecolabstract} % full width abstract + ... text + \end{onecolabstract} +] +\saythanks % typeset any \thanks +\end{verbatim} +The \Class{memoir} class offers all the facilities of \Package{abstract}. +\begin{ctanrefs} +\item[abstract.sty]\CTANref{abstract} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\Question[Q-reallyblank]{Really blank pages between chapters} + +\Class{Book} (by default) and \Class{report} (with \pkgoption{openright} class +option) ensure that each chapter starts on a right-hand (recto) page; +they do this by inserting a \csx{cleardoublepage} command between +chapters (rather than a mere \csx{clearpage}). The empty page thus +created gets to have a normal running header, which some people don't +like. + +The (excellent) \Package{fancyhdr} manual covers this issue, basically +advising the creation of a command \csx{clearemptydoublepage}: +\begin{quote} +\begin{verbatim} +\let\origdoublepage\cleardoublepage +\newcommand{\clearemptydoublepage}{% + \clearpage + {\pagestyle{empty}\origdoublepage}% +} +\end{verbatim} +\end{quote} +The ``obvious'' thing is then to use this command to replace +\csx{cleardoublepage} in a patched version of the \csx{chapter} command. +(Make a package of your own containing a copy +of the command out of the class.) This isn't particularly difficult, +but you can instead simply subvert \csx{cleardoublepage} (which isn't +often used elsewhere): +\begin{quote} +\begin{verbatim} +\let\cleardoublepage\clearemptydoublepage +\end{verbatim} +\end{quote} +Note: this command works because \csx{clearemptydoublepage} uses a copy +of \csx{cleardoublepage}: instructions on macro programming +% beware line break +\Qref*[question]{patching techniques}{Q-patch} explain the problem and +why this is a solution. + +Note that the \emph{\acro{KOMA}-Script} replacements for the +\Class{book} amd \Class{report} classes (\Class{scrbook} and +\Class{scrreprt} offers class options \pkgoption{cleardoubleempty}, +\pkgoption{cleardoubleplain} and \pkgoption{cleardoublestandard} +(using the running page style, as normal) that control the appearance +of these empty pages. The classes also offer do-it-yourself commands +\csx{cleardoubleempty} (etc.\@). + +The \Class{memoir} class (and the \Package{nextpage} package) +provide commands \csx{cleartooddpage} and \csx{cleartoevenpage}, +which both take an optional argument (the first, with no argument, +being an equivalent of \csx{cleardoublepage}). One can achieve +`special' effects by putting commands in the optional argument: the +\csx{clearemptydoublepage} we're after would be achieved by +\csx{cleartooddpage[}\cmdinvoke{thispagestyle}{empty}\texttt{]}. The +commands will also serve if you want the surreal effect of ``This page +intentionally left blank'' in the centre of an otherwise empty page. +\begin{ctanrefs} +\item[fancyhdr]\CTANref{fancyhdr} +\item[memoir.cls]\CTANref{memoir} +\item[nextpage.sty]\CTANref{nextpage} +\item[scrbook.cls, scrrept.cls]Part of \CTANref{koma-script} +\end{ctanrefs} + +\Question[Q-balance]{Balancing columns at the end of a document} + +The \Package{twocolumn} option of the standard classes causes +\LaTeX{} to set the text of a document in two columns. However, the last +page of the document typically ends up with columns of different +lengths~--- such columns are said to be ``unbalanced''. Many (most?) +people don't like unbalanced columns. + +The simplest solution to the problem is to use the \Package{multicol} +package in place of the \Package{twocolumn} option, as +\Package{multicol} balances the columns on the final page by default. +However, the use of \Package{multicol} does come at a cost: its +special output routine disallows the use of in-column floats, though +it does still permit full-width (e.g., \environment{figure*} +environment) floats. + +As a result, there is a constant push for a means of balancing columns +at the end of a \Package{twocolumn} document. Of course, the job can +be done manually: \csx{pagebreak} inserted at the appropriate place on +the last page can often produce the right effect, but this seldom +appeals, and if the last page is made up of automatically-generated +text (for example, bibliography or index) inserting the command will +be difficult. + +The \Package{flushend} package offers a solution to this problem. It's a +somewhat dangerous piece of macro code, which patches one of the most +intricate parts of the \LaTeX{} kernel without deploying any of the +safeguards discussed in \Qref[question]{patching commands}{Q-patch}. +The package only changes the behaviour at end document (its +\csx{flushend} command is enabled by default), and one other command +permits adjustment of the final balance; other packages in the bundle +provide means for insertion of full width material in two-column +documents. + +The \Package{balance} package also patches the output routine +(somewhat more carefully than \Package{flushend}). + +The user should be aware that any of these packages are liable to +become confused in the presence of floats: if problems arise, manual +adjustment of the floats in the document is likely to be necessary. +It is this difficulty (what's required in any instance can't really be +expressed in current \LaTeX{}) that led the author of +\Package{multicol} to suppress single-column-wide floats. +\begin{ctanrefs} +\item[balance.sty]Distributed as part of \CTANref{preprint} +\item[flushend.sty]Distributed as part of \CTANref{sttools} +\item[multicol.sty]Distributed as part of \CTANref{2etools} + +\end{ctanrefs} + +\Question[Q-runheadtoobig]{My section title is too wide for the page header} + +By default, \LaTeX{} sectioning commands make the chapter or section +title available for use by page headers and the like. Page headers +operate in a rather constrained area, and it's common for titles too +be too big to fit: the \LaTeX{} sectioning commands therefore take an +optional argument: +\begin{quote} +\begin{verbatim} +\section[short title]{full title} +\end{verbatim} +\end{quote} +If the \meta{short title} is present, it is used both for the table of +contents and for the page heading: the usual answer to people who +complain about the size of the title that's gone in to the running +head, is to suggest that they the optional argument. + +However, using the same text for the table of contents as for the +running head may also be unsatisfactory: if your chapter titles are +seriously long (like those of a Victorian novel), a valid and rational +scheme is to have a shortened table of contents entry, and a really +terse entry in the running head. + +One of the problems is the tendency of page headings to be set in +capitals; so why not set headings as written for ``ordinary'' reading? +It's not possible to do so with unmodified \LaTeX{}, but the +\Package{fancyhdr} package provides a command \csx{nouppercase} for use +in its header (and footer) lines to suppress \LaTeX{}'s uppercasing +tendencies. Classes in the \Class{KOMA-script} bundle don't uppercase +in the first place. + +In fact, the sectioning commands use `mark' commands to pass +information to the page headers. For example, \csx{chapter} uses +\csx{chaptermark}, \csx{section} uses \csx{sectionmark}, and so on. With +this knowledge, one can achieve a three-layer structure for chapters: +\begin{quote} +\begin{verbatim} +\chapter[middling version]{verbose version} +\chaptermark{terse version} +\end{verbatim} +\end{quote} +which should supply the needs of every taste. + +Chapters, however, have it easy: hardly any book design puts a page +header on a chapter start page. In the case of sections, one has +typically to take account of the nature of the \csx{*mark} commands: +the thing that goes in the heading is the first mark on the page (or, +failing any mark, the last mark on any previous page). As a result +the recipe for sections is more tiresome: +\begin{quote} +\begin{verbatim} +\section[middling version]{verbose version% + \sectionmark{terse version}} +\sectionmark{terse version} +\end{verbatim} +\end{quote} +(the first \csx{sectionmark} deals with the header of the page the +\csx{section} command falls on, and the second deal with subsequent +pages; note that here, you need the optional argument to \csx{section}, +even if ``\emph{middling version}'' is in fact the same text as +``\emph{long version''}.) + +A similar arrangement is necessary even for chapters if the class +you're using is odd enough that it puts a page header on a chapter's +opening page. + +Note that the \Package{titlesec} package manages the running heads in +a completely different fashion; users of that package should refer to +the documentation. + +The \Class{memoir} class avoids all the silliness by providing an +extra optional argument for chapter and sectioning commands, for +example: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\section[middling version][terse version]% + {verbose version} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\section[middling version][terse version]{verbose version} +\end{verbatim} +\end{wideversion} +\end{quote} +As a result, it is always possible for users of \Class{memoir} to +tailor the header text to fit, with very little trouble. +\begin{ctanrefs} +\item[fancyhdr.sty]\CTANref{fancyhdr} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[titlesec.sty]\CTANref{titlesec} +\end{ctanrefs} + +\nothtml{\begingroup\boldmath} +\Question[Q-nofm]{Page numbering ``\meta{n} of \meta{m}''} +\nothtml{\afterquestion} + +Finding the page number of the last page of a document, from within +the document, is somewhat tricky. The \Package{lastpage} package is +therefore supplied to make life easy for us all; it defines a label +\texttt{LastPage} whose number is \emph{right} (after sufficiently many +passes through \LaTeX{}, of course). The \Class{memoir} class also +defines a ``last page'' label. + +The documentation of the \Package{fancyhdr} package spells out exactly +how one might actually use this information to produce page numbering +as suggested in the question. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}fancyhdr documentation]\CTANref{fancyhdr} +\item[lastpage.sty]\CTANref{lastpage} +\end{ctanrefs} + +\Question[Q-pagebychap]{Page numbering by chapter} + +When I was a young man, a common arrangement for loose bound technical +manuals is to number pages by chapter. (It's quite a good scheme, in +those situations: even if your corrections add a whole page to the +chapter, the most you have to redistribute is that chapter.) + +The problem, at first sight, seems pretty much the same as that in +another answer on \nothtml{running numbers within a chapter (}% +% beware line break +\Qref[question]{running numbers within a chapter}{Q-running-nos}\nothtml{)}, +and the basic technique is indeed pretty similar. + +However, tidying-up loose ends, making sure the page number gets reset +to the correct value at the start of each chapter, and so on, is +slightly more challenging. This is why the \Package{chappg} package +was written: it does the obvious things, and more. + +Users have been known to ask for running page numbers within a +section, but this really doesn't make sense: you need to run page +numbers within document objects that always start on a fresh page. + +Documentation of \Package{chappg} is to be found in the package file. +\begin{ctanrefs} +\item[chappg.sty]\CTANref{chappg} +\end{ctanrefs} + +\subsection{Page layout} + +\Question[Q-papersize]{Printer paper sizes} + +Paper sizes can be a pain: they're a forgotten backwater, because +there's no \acro{DVI} command to specify the paper size of the +document. One usually finds American ``letter'' paper size being +used, by default, in macro packages (such as \Class{plain} and +\LaTeX{}); but distributions provide configuration files for +\acro{DVI} drivers (and since most distributions originate in Europe, +the drivers usually default to \acro{ISO} ``A4'' paper size). + +This is (of course) pretty unsatisfactory. Users may change the paper +size their document is designed for, pretty easily (and once off), but +they have to ensure that every run of \ProgName{xdvi}, +\ProgName{dvips}, or whatever, is given the correct override for using +anything non-`standard'. + +Of course, the default paper size for \acro{DVI} drivers may be +changed by a distribution management command, but this still doesn't +provide for people using the ``wrong'' sort of paper for some reason. + +An interestingly different issue arises for users of \PDFTeX{}~--- the +\acro{PDF} format \emph{does} have the means of expressing paper size, +but much of the core software predates \PDFTeX{}, so not even +\PDFLaTeX{} sets the correct values into \csx{pdfpagewidth} and +\csx{pdfpageheight}. + +The \acro{DVI} drivers \ProgName{dvips} and \ProgName{dvipdfm} define +\csx{special} commands for the document to specify its own paper size; +so in those cases, as in the case of \PDFTeX{} and V\TeX{}, the paper +size can be programmed by the document. Users who wish to, may of +course consult the manuals of the various programs to write the +necessary code. + +The \Package{geometry} package (whose main business is defining +typeset page areas), also takes notice of the paper size the document +is going to print to, and can issue the commands necessary to ensure +the correct size is used. If \Package{geometry} is used when a +document is being processed by either \PDFLaTeX{} or V\TeX{}, it will +set the necessary dimensions as a matter of course. If the document +is being processed by \LaTeX{} on a \TeX{} or \eTeX{} engine, there +are two package options (\pkgoption{dvipdfm} and \pkgoption{dvips}) +which instruct \Package{geometry} which \csx{special} commands to use. +(Note that the options are ignored if you are using either \PDFLaTeX{} +or V\TeX{}.) + +So, the resolution of the problem is to add +\begin{verbatim} + \usepackage[dvixxx,...]{geometry} +\end{verbatim} +(where \pkgoption{dvixxx} is your current favourite \acro{DVI} +driver), and the document will run correctly with any of +\LaTeX{} (whether or not run on V\TeX{}) or \PDFLaTeX{}. + +Give the \Package{typearea} package the \pkgoption{pagesize} and it +will do the same job, for \PDFLaTeX{} output and \PS{} output from +\LaTeX{} via \ProgName{dvips}. +\begin{ctanrefs} +\item[geometry.sty]\CTANref{geometry} +\item[typearea.sty]Distributed as part of \CTANref{koma-script} +\end{ctanrefs} + +\Question[Q-changemargin]{Changing the margins in \LaTeX{}} + +Changing the layout of a document's text on the page involves several +subtleties not often realised by the beginner. There are interactions +between fundamental \TeX{} constraints, constraints related to the +design of \LaTeX{}, and good typesetting and design practice, that +mean that any change must be very carefully considered, both to ensure +that it ``works'' and to ensure that the result is pleasing to the +eye. + +Lamport's warning to beginners in his section on `Customizing the +Style'~--- ``don't do it''~--- needs to be taken seriously. One-inch +margins on A4 paper are fine for 10- or 12-pitch typewriters, but not +for 10pt (or even 11pt or 12pt) type because readers find such wide, +dense, lines difficult to read: there should ideally be no more than +75 characters per line (though the constraints change for two-column +text). + +The `ultimate' tool for adjusting the dimensions and position of the +printed material on the page is the \Package{geometry} package; a very +wide range of adjustments of the layout may be relatively +straightforwardly programmed, and package documentation is good and +comprehensive. + +Somewhat simpler to use is the \Package{vmargin} package, which has a +canned set of paper sizes (a superset of that provided in \LaTeXe{}), +provision for custom paper, margin adjustments and provision for +two-sided printing. + +\LaTeX{} controls the page layout with a number of parameters, which +allow you to change the distance from the edges of a page to the left +and top edges of your typeset text, the width and height of the text, +and the placement of other text on the page. However, they are +somewhat complex, and it is easy to get their interrelationships wrong +when redefining the page layout. The layout package defines a +\csx{layout} command which draws a diagram of your existing page +layout, with the dimensions (but not their interrelationships) shown. +This \acro{FAQ} recommends that you use a package to establish +consistent settings of the parameters: the interrelationships are +taken care of in the established packages, without you needing to +think about them. + +If you're still eager to ``do it yourself'', start by familiarising yourself +with LaTeX's page layout parameters. For example, see section C.5.3 of the +\LaTeX{} manual (pp.~181-182), or corresponding sections in many of the other +good \LaTeX{} manuals (see \Qref[question]{\LaTeX{} books}{Q-books}). + +The text height and width, \csx{textheight} and \csx{textwidth}, +require more care than you might expect: the height should be set to +fit an integral number of text lines, and the width should be +constrained by the number of characters per line, as mentioned above. + +Margins are controlled by three parameters. The pair +\csx{oddsidemargin} and \csx{evensidemargin} are so-called because it +is conventionally taken that odd-numbered pages appear on the +right-hand side of a two-page spread (`recto') and even-numbered pages +on the left-hand side (`verso'). Both parameters refer to the +left-hand margin; the right-hand margin is specified by implication, +from the size of \csx{textwidth} and the width of the paper. The +``origin'' (the zero position) on the page is one inch from the top of +the paper and one inch from the left side; positive horizontal +measurements extend right across the page, and positive vertical +measurements extend down the page. Thus, the parameters +\csx{evensidemargin}, \csx{oddsidemargin} and \csx{topmargin}, should +be set to be 1~inch less than the true margin; for margins closer to +the left and top edges of the page than 1 inch, the margin parameters +must be set to negative values. + +Another surprise is that you cannot change the width or height of the +text within the document, simply by modifying the text size +parameters. The simple rule is that the parameters should only be +changed in the preamble of the document, i.e., before the +\cmdinvoke{begin}{document} statement. To adjust text width within a +document we define an environment: +\begin{quote} +\begin{verbatim} +\newenvironment{changemargin}[2]{% + \begin{list}{}{% + \setlength{\topsep}{0pt}% + \setlength{\leftmargin}{#1}% + \setlength{\rightmargin}{#2}% + \setlength{\listparindent}{\parindent}% + \setlength{\itemindent}{\parindent}% + \setlength{\parsep}{\parskip}% + }% + \item[]}{\end{list}} +\end{verbatim} +\end{quote} +This environment takes two arguments, and will indent the left and +right margins, respectively, by the parameters' values. Negative +values will cause the margins to be narrowed, so +\cmdinvoke{begin}{changemargin}{-1cm}{-1cm} narrows the left and right +margins by 1cm. + +The \Package{chngpage} package provides ready-built commands to do the +above; it includes provision for changing the shifts applied to your +text according to whether you're on an odd or an even page of a +two-sided document. The package's documentation (in the file itself) +suggests a strategy for changing text dimensions between pages~--- as +mentioned above, changing the text dimensions within the body of a +page may lead to unpredictable results. +\begin{ctanrefs} +\item[chngpage.sty]\CTANref{chngpage} +\item[geometry.sty]\CTANref{geometry} +\item[layout.sty]Distributed as part of \CTANref{2etools} +\item[vmargin.sty]\CTANref{vmargin} +\end{ctanrefs} + +\Question[Q-nopageno]{How to get rid of page numbers} + +The package \Package{nopageno} will suppress page numbers in a whole +document. + +To suppress page numbers from a single page, use +\cmdinvoke{thispagestyle}{empty} somewhere within the text of the +page. (Note that \csx{maketitle} and \csx{chapter} both use +\csx{thispagestyle} internally, so you need to call it after you've +called them.) + +To suppress page numbers from a sequence of pages, you may use +\cmdinvoke{pagestyle}{empty} at the start of the sequence, and restore +the original page style at the end. Unfortunately, you still have to +use \csx{thispagestyle} after any \csx{maketitle} or \csx{chapter} +command. + +In the \Class{memoir} class, the troublesome commands (\csx{maketitle}, +\csx{chapter}, etc.\@) invoke their own page style +(\environment{title}, \environment{chapter}, etc.\@), which you may +redefine using the class's own techniques to be equivalent to +``\environment{empty}''. The \Class{KOMA-script} classes have +commands that contain the page style to be used, so one might say: +\begin{quote} +\begin{verbatim} +\renewcommand*{\titlepagestyle}{empty} +\end{verbatim} +\end{quote} + +An alternative (in all classes) is to use the rather delightful +\cmdinvoke{pagenumbering}{gobble}; this has the simple effect that any +attempt to print a page number produces nothing, so there's no issue +about preventing any part of \LaTeX{} from printing the number. +However, the \csx{pagenumbering} command does have the side effect that +it resets the page number (to 1), which may be undesirable. + +The \Package{scrpage2} package separates out the representation from +the resetting; so one can say +\begin{quote} +\begin{verbatim} +\renewcommand*{\pagemark}{} +\end{verbatim} +\end{quote} +to have the same effect as the \texttt{gobble} trick, without +resetting the page number. +\begin{ctanrefs} +\item[nopageno]\CTANref{nopageno} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[scrpage2.sty]Distributed as part of \CTANref{koma-script} +\end{ctanrefs} + +\Question[Q-ps@empty]{\psatempty{} on first page in \LaTeX{}} + +If you use \cmdinvoke{pagestyle}{empty}, but the first page is numbered +anyway, you are probably using the \csx{maketitle} command too. The +behaviour is not a bug but a feature. The standard \LaTeX{} classes are +written so that initial pages (pages containing a \csx{maketitle}, +\csx{part}, or \csx{chapter}) have a different page style from the rest +of the document; to achieve this, the commands internally issue +\cmdinvoke{thispagestyle}{plain}. This is usually not acceptable +behaviour if the surrounding page style is `empty'. + +Possible workarounds include: +\begin{itemize} +\item Put \csx{thispagestyle{empty}} immediately after the + \csx{maketitle} command, with no blank line between them. +\item Use the \Package{fancyhdr} or \Package{scrpage2} packages, which + allow you to customise the style for initial pages independently of + that for body pages. + + For example, use \Package{fancyhdr} commands: +\begin{verbatim} +\fancypagestyle{plain}{% + \fancyhf{}% + \renewcommand{\headrulewidth}{0pt}% + \renewcommand{\footrulewidth}{0pt}% +} +\end{verbatim} + and the ``\texttt{empty}'' page style (invoked by \csx{chapter} + commands and title pages) will have no header or footer. +\item If you are using either the \Class{memoir} class or a + \Class{KOMA-script} class, use the techniques outlined for them in + ``\Qref*[question]{no page numbers}{Q-nopageno}''. +\end{itemize} +\begin{ctanrefs} +\item[fancyhdr.sty]\CTANref{fancyhdr} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[nopageno.sty]\CTANref{nopageno} +\item[scrpage2.sty]Distributed as part of \CTANref{koma-script} +\end{ctanrefs} + +\Question[Q-crop]{How to create crop marks} + +If you're printing something that's eventually to be reproduced in +significant quantities, and bound, it's conventional to print on paper +larger than your target product, and to place ``crop marks'' outside +the printed area. These crop marks are available to the production +house, for lining up reproduction and trimming machines. + +You can save yourself the (considerable) trouble of programming these +marks for yourself by using the package \Package{crop}, which has +facilities to satisfy any conceivable production house. Users of the +\Class{memoir} class don't need the package, since \Class{memoir} has +its own facilities for programming crop marks. +\begin{ctanrefs} +\item[crop.sty]\CTANref{crop} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\Question[Q-watermark]{`Watermarks' on every page} + +It's often useful to place some text (such as `DRAFT') in the +background of every page of a document. For \LaTeX{} users, this can +be achieved with the \Package{draftcopy} package. This can deal with +many types of \acro{DVI} processors (in the same way that the graphics +package does) and knows translations for the word `DRAFT' into a wide +range of languages (though you can choose your own word, too). + +More elaborate watermarks may be achieved using the \Package{eso-pic} +package, which in turn uses the package \Package{everyshi}, part of +Martin Schr\"oder's \Package{ms} bundle. \Package{Eso-pic} attaches a +\environment{picture} environment to every page as it is shipped out; +you can put things into that environment. The package provides +commands for placing things at certain useful points (like ``text +upper left'' or ``text centre'') in the picture, but you're at liberty +to do what you like. + +The \Package{wallpaper} package builds, as above, on +\Package{eso-pic}. Apart from the single-image backdrops described +above (``wallpapers'', of course, to this package), the package +provides facilities for tiling images. All its commands come in +pairs: on for ``general'' use, and one applying to the current page only. +\begin{ctanrefs} +\item[draftcopy.sty]\CTANref{draftcopy} +\item[eso-pic.sty]\CTANref{eso-pic} +\item[everyshi.sty]Distributed as part of \CTANref{ms} +\item[wallpaper.sty]\CTANref{wallpaper} +\end{ctanrefs} + +\Question[Q-landscape]{Typesetting things in landscape orientation} + +It's often necessary to typeset part of a document in landscape +orientation; to achieve this, one needs not only to change the page +dimensions, but also to instruct the output device to print the +strange page differently. + +There are two ``ordinary'' mechanisms for doing two slight variations +of landscape typesetting: +\begin{itemize} +\item If you have a single floating object that is wider than it is + deep, and will only fit on the page in landscape orientation, use + the \Package{rotating} package; this defines |sidewaysfigure| and + \environment{sidewaystable} environments which create floats that + occupy a whole page. +\item If you have a long sequence of things that need to be typeset in + landscape (perhaps a code listing, a wide \environment{tabbing} + environment, or a huge table typeset using \Package{longtable} or + \Package{supertabular}), use the \Package{lscape} package (or + \Package{pdflscape} if you're generating \acro{PDF} output, whether + using \PDFLaTeX{} or \ProgName{dvips} and generating \acro{PDF} from + that). Both packages define an environment \environment{landscape}, which + clears the current page and restarts typesetting in landscape + orientation (and clears the page at the end of the environment + before returning to portrait orientation). +\end{itemize} +No currently available package makes direct provision for typesetting +in both portrait and landscape orientation on the same page (it's not +the sort of thing that \TeX{} is well set-up to do). If such +behaviour was an absolute necessity, one would use the techniques +described in +% beware line-wrap +\Qref[question]{"flowing text around figures"}{Q-textflow}, and would +rotate the landscape portion using the rotation facilities of the +\Package{graphics} package. (Returning from landscape to portrait +orientation would be somewhat easier: the portrait part of the page +would be a bottom float at the end of the landscape section, with its +content rotated.) + +To set an entire document in landscape orientation, one might use +\Package{lscape} around the whole document. A better option is the +\pkgoption{landscape} option of the \Package{geometry} package; if you +also give it \pkgoption{dvips} or \pkgoption{pdftex} option, +\Package{geometry} also emits the rotation instructions to cause the +output to be properly oriented. The \Class{memoir} class has the same +facilities, in this respect, as does \Package{geometry}. + +A word of warning: most current \TeX{} previewers do not honour +rotation requests in |.dvi| files (the exception is +%% (the exceptions are the +%% \begin{htmlversion} +%% (\Qref{commercial}{Q-commercial}) \YandY{} previewer +%% \ProgName{dviwindo}, +%% \end{htmlversion} +%% \htmlignore +%% (commercial) \YandY{} previewer \ProgName{dviwindo} +%% (\Qref{}{Q-commercial}), +%% \endhtmlignore +%% and +the fp\TeX{} previewer Win\acro{DVI}). If your previewer is not +capable of rotation, your best bet is to convert your output to \PS{} +or to \acro{PDF}, and to view these `final' forms with an appropriate +viewer. +\begin{ctanrefs} +\item[geometry.sty]\CTANref{geometry} +\item[graphics.sty]Distributed as part of \CTANref{graphics} +\item[longtable.sty]Distributed as part of \CTANref{2etools} +\item[lscape.sty]Distributed as part of \CTANref{graphics} +\item[memoir.cls]\CTANref{memoir} +\item[pdflscape.sty]Distributed with Heiko Oberdiek's packages + \CTANref{oberdiek} +\item[rotating.sty]\CTANref{rotating} +\item[supertabular.sty]\CTANref{supertabular} +\end{ctanrefs} + +\Question[Q-abspos]{Putting things at fixed positions on the page} + +\TeX{}'s model of the world is (broadly speaking) that the author +writes text, and \TeX{} and its macros decide how it all fits on the +page. This is not good news for the author who has, from whatever +source, a requirement that certain things go in exactly the right +place on the page. + +There \emph{are} places on the page, from which things may be hung, +and two \LaTeX{} packages allow you position things relative to such +points, thus providing a means of absolute positioning. + +The \Package{textpos} package aids the construction of pages from +``blobs'', dotted around over the page (as in a poster); you give it +the location, and it places your typeset box accordingly. + +The \Package{eso-pic} defines a ``shipout picture'' that covers the +page. The user may add \environment{picture}-mode commands to this +picture, which of course can include box placements as well as the +other rather stilted commands of \environment{picture}-mode. +(\Package{Eso-pic} requires the services of \Package{everyshi}, which +must therefore also be available.) +% +% Fortunately, in the \LaTeX{} world at least, there \emph{is} a fixed +% point on every page, to whit the page header. The package +% \Package{textpos} latches bits of typesetting to locations you +% specify, by fixing them to the page header, and thereby solves the +% problem. +\begin{ctanrefs} +\item[eso-pic.sty]\CTANref{eso-pic} +\item[everyshi.sty]Distributed as part of \CTANref{ms} +\item[textpos.sty]\CTANref{textpos} +\end{ctanrefs} + +\Question[Q-nopagebrk]{Preventing page breaks between lines} + +One commonly requires that a block of typeset material be kept on the +same page; it turns out to be surprisingly tricky to arrange this. + +\LaTeX{} provides a \environment{samepage} environment which claims it +does this sort of thing for you. It proceeds by setting infinite +penalties for all sorts of page-break situations; but in many +situations where you want to prevent a page break, +\environment{samepage} doesn't help. If you're trying to keep running +text together, you need to end the paragraph inside the environment +(see \Qref[question]{preserving paragraph parameters}{Q-paraparam}). +Also, if the things you are trying to keep together insert their own +pagebreak hints, \environment{samepage} has no power over them: a good +exaple is list items~--- they suggest page breaks between them. Even +if \environment{samepage} \emph{does} work, it's likely to leave stuff +jutting out at the bottom of the page. + +A convenient trick is to set all the relevant stuff in a \csx{parbox} +(or a \environment{minipage} if it contains things like verbatim text +that may not be in the argument of a \csx{parbox}). The resulting box +certainly \emph{won't} break between pages, but that's not to say that +it will actually do what you want it to do: again, the box may be left +jutting out at the bottom of the page. + +Why do neither of these obvious things work? Because \TeX{} can't +really distinguish between infinitely awful things. +\environment{Samepage} will make any possible break point ``infinitely +bad'' and boxes don't even offer the option of breaks, but if the +alternative is the leave an infinitely bad few centimetres of blank +paper at the bottom of the page, \TeX{} will take the line of least +resistance and do nothing. + +This problem still arises even if you have \csx{raggedbottom} in +effect: \TeX{} doesn't notice the value of \emph{that} until it starts +actually shipping a page out. One approach is to set: +\begin{quote} +\begin{verbatim} +\raggedbottom +\addtolength{\topskip}{0pt plus 10pt} +\end{verbatim} +\end{quote} +The \texttt{10pt} offers a hint to the output routine that the column is +stretchable; this will cause \TeX{} to be more tolerant of the need to +stretch while building the page. If you're doing this as a temporary +measure, cancel the change to \csx{topskip} by: +\begin{quote} +\begin{verbatim} +\addtolength{\topskip}{0pt plus-10pt} +\end{verbatim} +\end{quote} +as well as resetting \csx{flushbottom}. (Note that the \texttt{10pt} never +actually shows up, because it is overwhelmed when the page is shipped +out by the stretchability introduced by \csx{raggedbottom}; however, it +could well have an effect if \csx{flushbottom} was in effect.) + +An alternative (which derives from a suggestion by Knuth in the +\TeX{}book) is the package \Package{needspace} or the \Class{memoir}, +which both define a command \csx{needspace} whose argument tells it +what space is needed. If the space isn't available, the current page +is cleared, and the matter that needs to be kept together will be +inserted on the new page. For example, if 4~lines of text need to be +kept together, the sequence +\begin{quote} +\begin{verbatim} +\par +\needspace{4\baselineskip} +% the stuff that must stay together +<text generating lines 1-4> +% now stuff we don't mind about +\end{verbatim} +\end{quote} +Yet another trick by Knuth is useful if you have a sequence of small +blocks of text that need, individually, to be kept on their own page. +Insert the command \csx{filbreak} before each small block, and the +effect is achieved. The technique can be used in the case of +sequences of \LaTeX{}-style sections, by incorporating \csx{filbreak} +into the definition of a command (as in % beware line break +\Qref[question]{patching commands}{Q-patch}). A simple and effective +patch would be: +\begin{quote} +\begin{verbatim} +\let\oldsubsubsection=\subsubsection +\renewcommand{\subsubsection}{% + \filbreak + \oldsubsubsection +} +\end{verbatim} +\end{quote} +While the trick works for consecutive sequences of blocks, it's +slightly tricky to get out of such sequences unless the sequence is +interrupted by a forced page break (such as \csx{clearpage}, which may +be introduced by a \csx{chapter} command, or the end of the document). +If the sequence is not interrupted, the last block is likely to be +forced onto a new page, regardless of whether it actually needs it. + +If one is willing to accept that not everything can be accomplished +totally automatically, the way to go is to typeset the document and to +check for things that have the potential to give trouble. In such a +scenario (which has Knuth's authority behind it, if one is to believe +the rather few words he says on the subject in the \TeX{}book) one can +decide, case by case, how to deal with problems at the last +proof-reading stage. The alternatives are to insert \csx{clearpage} +commands as necessary, or to use \csx{enlargethispage}. Supposing you +have a line or two that stray: issue the command +\cmdinvoke{enlargethispage}{2\csx{baselineskip}} and two lines are +added to the page you're typesetting. It depends on the document +whether this looks impossibly awful or entirely acceptable, but the +command remains a useful item in the armoury. +\begin{ctanrefs} +\item[memoir.cls]\CTANref{memoir} +\item[needspace.sty]\CTANref{needspace} +\end{ctanrefs} + +\Question[Q-parallel]{Parallel setting of text} + +It's commonly necessary to present text in two languages `together' on a +page, or on a two-page spread. For this to be satisfactory, one usually +needs some sort of alignment between the two texts. + +The \Package{parallel} package satisfies the need, permitting +typesetting in two columns (not necessarily of the same width) on one +page, or on the two opposing pages of a two-page spread. +\begin{ctanrefs} +\item[ledpar.sty]Distributed with \CTANref{ledmac} +\item[parallel.sty]\CTANref{parallel} +\item[parcolumns.sty]Distributed as part of \CTANref{sauerj} +\end{ctanrefs} + +\Question[Q-epigraph]{Typesetting epigraphs} + +Epigraphs are those neat quotations that authors put at the start of +chapters (or even at the end of chapters: Knuth puts things at the +ends of chapters of the \TeX{}book). + +Typesetting them is a bit of a fiddle, but not impossible to do for +yourself. However, the \Package{epigraph} package will do the job for +you, even in situations where it's particularly nasty to get right. + +The package defines an \csx{epigraph} command, for creating a single +epigraph (as at the top of a chapter): +\begin{quote} +\begin{verbatim} +\chapter{The Social Life of Rabbits} +\epigraph{Oh! My ears and whiskers!}% + {Lewis Carroll} +\end{verbatim} +\end{quote} +and an epigraphs environment, for entering more than one epigraph +consecutively, in a sort of list introduced by \csx{qitem} commands: +\begin{quote} +\begin{verbatim} +\begin{epigraphs} +\qitem{What I tell you three times is true}% + {Lewis Carroll} +\qitem{Oh listen do, I'm telling you!}% + {A.A. Milne} +\end{epigraphs} +\end{verbatim} +\end{quote} +The \csx{epigraphhead} command enables you to place your epigraph +\emph{above} a chapter header: +\begin{quote} +\begin{verbatim} +\setlength{\unitlength}{1pt} +... +\chapter{The Social Life of Rabbits} +\epigraphhead[<distance>]{% + \epigraph{Oh! My ears and whiskers!}% + {Lewis Carroll}% +} +\end{verbatim} +\end{quote} +The \meta{distance} says how far above the chapter heading the +epigraph is to go; it's expressed in terms of the \csx{unitlength} +that's used in the \environment{picture} environment; the package's +author recommends \texttt{70pt}. + +The package also offers various tricks for adjusting the layout of +chapter header (necessary if you've found a hugely long quotation for +an \csx{epigraphhead}), for patching the bibliography, for patching +\csx{part} pages, and so on. (Some of these suggested patches lead you +through writing your own package\dots{}) + +The \Class{memoir} class offers all the facilities of the +\Package{epigraph} package. The \Class{Koma-script} classes have +commands \csx{setchapterpreamble} and \csx{dictum} to provide these +facilities. +\begin{ctanrefs} +\item[epigraph.sty]\CTANref{epigraph} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\Question[Q-outszwrng]{\AllTeX{} \acro{PDF} output prints at wrong size} + +Having got everything \emph{else} right, you should be aware that the +problem may have nothing to do with \AllTeX{} and everything to do +with the program you use for printing. A regular cause for such +problems lies with Acrobat Reader, which by default enables its option +to scale pages to fit on the printable area of the paper. Since a +printer can rarely print right to the edge, this means that pdf-files +will be shrunk by some (small) factor (even if the pdf-file is +formatted for A4, and your paper size is set to A4 as well). + +Correcting this silliness is not very hard, but the exact details +depend on the version of Acrobat Reader (or "Adobe Reader" from +version 6.0 onwards) you have installed: +\begin{itemize} +\item Mac OS X, Adobe Reader 6:\\ + in the print dialogue, on the ``copies \& pages'' pane, you'll find a + popup menu titled ``Page Scaling''. Make sure that the menu reads + ``None''. +\item Windows, Adobe Reader 6:\\ + in the print dialogue, select ``None'' from the drop-down list + ``Page Scaling''. +\item Windows, Linux Acrobat (Reader) 5.0:\\ + In the print dialog, make sure the ``Shrink oversized pages to fit'' + checkbox is unchecked. It may also be useful to uncheck the + ``Expand small pages to fit paper size'' checkbox as well. +\end{itemize} + +\subsection{Spacing of characters and lines} + +\Question[Q-linespace]{Double-spaced documents in \LaTeX{}} + +A quick and easy way of getting inter-line space for copy-editing is +to change \csx{baselinestretch}~--- \cmdinvoke{linestretch}{1.2} (or, +equivalently \cmdinvoke{renewcommand}{\csx{baselinestretch}}{1.2}) may +be adequate. Note that \csx{baselinestretch} changes don't take +effect until you select a new font, so make the change in the preamble +before any font is selected. Don't try changing \csx{baselineskip}: +its value is reset at any size-changing command so that results will +be inconsistent. + +For preference (and certainly for a production document, such as a +dissertation or an article submission), use a line-spacing package. +The only one currently supported is \Package{setspace} (do \emph{not} +be tempted by \Package{doublespace}~--- its performance under current +\LaTeX{} is at best problematical). \Package{Setspace} switches off +double-spacing at places where even the most die-hard official would +doubt its utility (footnotes, figure captions, and so on); it's very +difficult to do this consistently if you're manipulating +\csx{baselinestretch} yourself. + +Of course, the real solution (other than for private copy editing) is +\emph{not} to use double-spacing at all. Universities, in particular, +have no excuse for specifying double-spacing in submitted +dissertations: \LaTeX{} is a typesetting system, not a +typewriter-substitute, and can (properly used) make single-spaced text +even more easily readable than double-spaced typewritten text. If you +have any influence on your university's system (for example, through +your dissertation supervisor), it may be worth attempting to get the +rules changed (at least to permit a ``well-designed book'' format). + +Double-spaced submissions are also commonly required when submitting +papers to conferences or journals. Fortunately (judging by the +questions from users in this author's department), this demand is +becoming less common. + +Documentation of \Package{setspace} appears as \TeX{} comments in the +package file itself. +\begin{ctanrefs} +\item[setspace.sty]\CTANref{setspace} +\end{ctanrefs} + +\Question[Q-letterspace]{Changing the space between letters} + +A common technique in advertising copy (and other text whose actual +content need not actually be \emph{read}) is to alter the space +between the letters (otherwise known as the tracking). As a general +rule, this is a very bad idea: it detracts from legibility, which is +contrary to the principles of typesetting (any respectable font you +might be using should already have optimum tracking built into it). + +The great type designer, Eric Gill, is credited with saying ``he who +would letterspace lower-case text, would steal sheep''. (The +attribution is probably apocryphal: others are also credited with the +remark. Stealing sheep was, in the 19th century, a capital offence in +Britain.) As the remark suggests, though, letterspacing of upper-case +text is less awful a crime; the technique used also to be used for +emphasis of text set in Fraktur (or similar) fonts. + +Straightforward macros (usable, in principle, with any \TeX{} macro +package) may be found in \Package{letterspacing} (which is the name of +the |.tex| file; it also appears as the \Package{letterspace} package +in some distributions). + +%%% the package has a serious bug in it, so suppress mention pro tem +%The \Package{tracking} package has similar facilities. + +A more comprehensive solution is to be found in the \Package{soul} +package (which is optimised for use with \LaTeX{}, but also works with +Plain \TeX{}). Soul also permits hyphenation of letterspaced text; +Gill's view of such an activity is not (even apocryphally) recorded. +(Spacing-out forms part of the name of \Package{soul}; the other half +is described in \Qref[question]{another question}{Q-underline}.) +\begin{ctanrefs} +\item[letterspacing.tex]\CTANref{letterspacing} +\item[soul.sty]\CTANref{soul} +%\item[tracking.sty]\CTANref{tracking} +\end{ctanrefs} + +\Question[Q-ragright]{Setting text ragged right} + +The trick with typesetting ragged right is to be sure you've told the +\TeX{} engine ``make this paragraph ragged, but never \emph{too} +ragged''. The \LaTeX{} \csx{raggedright} command (and the +corresponding \environment{flushleft} environment) has a tendency to +miss the ``never'' part, and will often create ridiculously short +lines, for some minor benefit later in the paragraph. The Plain +\TeX{} version of the command doesn't suffer this failing, but is +rather conservative: it is loath to create too large a gap at the end +of the line, but in some circumstances (such as where +% beware line break +\nothtml{hyphenation is suppressed }% +\Qref{hyphenation is suppressed}{Q-hyphoff}) painfully large gaps may +sometimes be required. + +Martin Schr\"oder's \Package{ragged2e} package offers the best of both +worlds: it provides raggedness which is built on the Plain \TeX{} +model, but which is easily configurable. It defines easily-remembered +command (e.g., \csx{RaggedRight}) and environment (e.g., +\environment{FlushLeft}) names that are simply capitalised +transformations of the \LaTeX{} kernel originals. The documentation +discusses the issues and explains the signficance of the various +parameters of \Package{ragged2e}'s operation. +\begin{ctanrefs} +\item[ragged2e.sty]Distributed as part of \CTANref{ms} +\end{ctanrefs} + +\Question[Q-flushboth]{Cancelling \csx{ragged} commands} + +\LaTeX{} provides commands \csx{raggedright} and \csx{raggedleft}, but +none to cancel their effect. The \csx{centering} command is +implemented in the same way as the \csx{ragged*} commands, and suffers +in the same way. + +The following code (to be inserted in a package of your own, or as +\nothtml{internal \LaTeX{} code~---}% beware line break +\Qref{internal \LaTeX{} code}{Q-atsigns}) defines a command that +restores flush justification at both margins: +\begin{verbatim} +\def\flushboth{% + \let\\\@normalcr + \@rightskip\z@skip \rightskip\@rightskip + \leftskip\z@skip + \parindent 1.5em\relax} +\end{verbatim} +There's a problem with the setting of \csx{parindent} in the code: it's +necessary because both the \csx{ragged} commands set \csx{parindent} to +zero, but the setting isn't a constant of nature: documents using a +standard \LaTeX{} class with \pkgoption{twocolumn} option will have |1.0em| by +default, and there's no knowing what you (or some other class) will +have done. + +If you are using Martin Schr\"oder's \Package{ragged2e} package, it is +worth updating to the latest release (January 2003), which has a +\csx{justifying} command to match its % ! line break +\Qref*{versions of the \LaTeX{} `ragged' commands}{Q-ragright}. The +package also provides a +\environment{justify} environment, which permits areas of justified +text in a larger area which is ragged. +\begin{ctanrefs} +\item[ragged2e.sty]Distributed as part of \CTANref{ms} +\end{ctanrefs} +% this package hasn't materialised, for some reason i don't now +% remember... +%% Donald Arseneau's \Package{flushboth} package provides this code, and +%% preserves a sensible value for \csx{parindent} (at begin document). +%% This still doesn't protect it against any change you might make to +%% \csx{parindent} within the body of your document. +%% \begin{ctanrefs} +%% \item[flushboth.sty]\CTANref{flushboth} +%% \end{ctanrefs} + +\subsection{Typesetting specialities} + +\Question[Q-verbfile]{Including a file verbatim in \LaTeX{}} + +A good way is to use Rainer Sch\"opf's \Package{verbatim} package, +which provides a command |\verbatiminput| that takes a file name as +argument: +\begin{quote} +\begin{verbatim} +\usepackage{verbatim} +... +\verbatiminput{verb.txt} +\end{verbatim} +\end{quote} +Another way is to use the \environment{alltt} environment, which +requires the \Package{alltt} package. The environment interprets its +contents `mostly' verbatim, but executes any \AllTeX{} commands it +finds: +\begin{quote} +\begin{verbatim} +\usepackage{alltt} +... +\begin{alltt} +\input{verb.txt} +\end{alltt} +\end{verbatim} +\end{quote} +of course, this is little use for inputting \AllTeX{} source +code\dots{} + +The \Package{moreverb} package extends the \Package{verbatim} package, +providing a \environment{listing} environment and a \csx{listinginput} +command, which line-number the text of the file. The package also has +a \csx{verbatimtabinput} command, that honours \acro{TAB} characters in +the input (the package's \environment{listing} environment and the +\csx{listinginput} command also both honour \acro{TAB}). + +The \Package{sverb} package provides verbatim input (without recourse +to the facilities of the \Package{verbatim} package): +\begin{quote} +\begin{verbatim} +\usepackage{sverb} +... +\verbinput{verb.txt} +\end{verbatim} +\end{quote} + +The \Package{fancyvrb} package offers configurable implementations of +everything \Package{verbatim}, \Package{sverb} and \Package{moreverb} +have, and more besides. It is nowadays the package of choice for the +discerning typesetter of verbatim text, but its wealth of facilities +makes it a complex beast and study of the documentation is strongly +advised. + +The \Class{memoir} class includes the relevant functionality of the +\Package{verbatim} and \Package{moreverb} packages. +\begin{ctanrefs} +\item[alltt.sty]Part of the \LaTeX{} distribution. +\item[fancyvrb.sty]\CTANref{fancyvrb} +\item[memoir.cls]\CTANref{memoir} +\item[moreverb.sty]\CTANref{moreverb} +\item[sverb.sty]Distributed as part of \CTANref{mdwtools} +\item[verbatim.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + +\Question[Q-linenos]{Including line numbers in typeset output} + +For general numbering of lines, there are two packages for use with +\LaTeX{}, \Package{lineno} (which permits labels attached to +individual lines of typeset output) and \Package{numline}. + +Both of these packages play fast and loose with the \LaTeX{} output +routine, which can cause problems: the user should beware\dots{} + +If the requirement is for numbering verbatim text, \Package{moreverb}, +\Class{memoir} or \Package{fancyvrb} (see % beware line break +\Qref[question]{including files verbatim}{Q-verbfile}) may be used. + +One common use of line numbers is in critical editions of texts, and +for this the \Package{edmac} package offers comprehensive support; +\Package{ledmac} is a \LaTeX{} port of \Package{edmac}. + +The \Package{vruler} package sidesteps many of the problems associated +with line-numbering, by offering (as its name suggests) a rule that +numbers positions on the page. The effect is good, applied to +even-looking text, but is poor in texts that involve breaks such as +interpolated mathematics or figures. Documentation of the package, in +the package itself, is pretty tough going, though there is an example +(also inside the package file). +\begin{ctanrefs} +\item[edmac]\CTANref{edmac} +\item[fancyvrb.sty]\CTANref{fancyvrb} +\item[ledmac.sty]\CTANref{ledmac} +\item[lineno.sty]\CTANref{lineno} +\item[memoir.cls]\CTANref{memoir} +\item[moreverb.sty]\CTANref{moreverb} +\item[numline.sty]\CTANref{numline} +\item[vruler.sty]\CTANref{vruler} +\end{ctanrefs} + +\Question[Q-codelist]{Code listings in \LaTeX{}} + +`Pretty' code listings are sometimes considered worthwhile by the +``ordinary'' programmer, but they have a serious place in +the typesetting of dissertations by computer science and other +students who are expected to write programs. Simple verbatim listings +of programs are commonly useful, as well. + +\begin{wideversion} % really hyper + \Qref{Verbatim listings}{Q-verbfile} are dealt with elsewhere, +\end{wideversion} +\begin{narrowversion} + Verbatim listings are dealt with elsewhere (\Qref{}{Q-verbfile}), +\end{narrowversion} +as is the problem of % ! line break +\Qref*{typesetting algorithm specifications}{Q-algorithms}. + +The \Package{listings} package is widely regarded as the best bet for +formatted output (it is capable of parsing program source, within the +package itself), but there are several well-established packages that +rely on a pre-compiler of some sort. You may use \Package{listings} +to typeset snippets that you include within your source: +\begin{quote} +\begin{verbatim} +\usepackage{listings} +\lstset{language=C} +... +\begin{document} +\begin{lstlisting} +#include <stdio.h> + +int main(int argc, char ** argv) +{ + printf("Hello world!\n"); + return 0; +} +\end{lstlisting} +\end{document} +\end{verbatim} +\end{quote} +or you can have it typeset whole files: +\begin{quote} +\begin{verbatim} +\usepackage{listings} +\lstset{language=C} +... +\begin{document} +\lstinputlisting{main.c} +\end{document} +\end{verbatim} +\end{quote} +These very simple examples may be decorated in a huge variety of ways, +and of course there are other languages in the package's vocabulary +than just \ProgName{C}\dots{} + +Most people, advising others on \AllTeX{} lists, seem to regard +\Package{listings} as the be-all and end-all on this topic. But there +\emph{are} alternatives, which may be worth considering, in some +situations. + +\ProgName{Highlight} is attractive if you need more than one output +format for your program: as well as \AllTeX{} output, +\ProgName{highlight} will produce (\acro{X})\acro{HTML}, \acro{RTF} +and \acro{XSL}-\acro{FO} representations of your program listing. +Documentation is available on the % ! line break +\href{http://www.andre-simon.de/}{\ProgName{highlight} project site}. + +The \ProgName{lgrind} system is another well-established pre-compiler, +with all the facilities one might need and a wide repertoire of +languages; it is derived from the very long-established +\ProgName{tgrind}, whose output is based on plain \TeX{} + +The \ProgName{tiny_c2l} system is more recent: users are encouraged to +generate their own driver files for languages it doesn't already deal +with. + +The \ProgName{C++2LaTeX} system comes with strong recommendations for +use with \acro{C} and \acro{C}++. + +An extremely simple system is \ProgName{c2latex}, for which you write +\LaTeX{} source in your \acro{C} program comments. The program then +converts your program into a \LaTeX{} document for processing. The +program (implicitly) claims to be ``self-documenting''. +\begin{ctanrefs} +\item[c2latex]\CTANref{c2latex} +\item[C++2LaTeX]\CTANref{c++2latex} +\item[highlight]\CTANref{highlight} +\item[lgrind]\CTANref{lgrind} +\item[listings.sty]\CTANref{listings} +\item[tgrind]\CTANref{tgrind} +\item[tiny\_c2l]\CTANref{tiny_c2l} +\end{ctanrefs} + +\Question[Q-algorithms]{Typesetting pseudocode in \LaTeX{}} + +There is no consensus on the `right' way to typeset pseudocode. +Consequently, there are a variety of \LaTeX{} packages to choose from +for producing \ae{}sthetically pleasing pseudocode listings. + +Pseudocode differs from actual program listings in that it lacks +strict syntax and semantics. Also, because pseudocode is supposed to +be a clear expression of an algorithm it may need to incorporate +mathematical notation, figures, tables, and other \LaTeX{} features +that do not appear in conventional programming languages. +\begin{wideversion} % hyper? + \Qref{Typesetting program listings}{Q-codelist} is described + elsewhere. +\end{wideversion} +\begin{narrowversion} % non-hyper + Typesetting program listings is described elsewhere + (\Qref{}{Q-codelist}). +\end{narrowversion} + +You can certainly create your own environment for typesetting +pseudocode using, for example, the \environment{tabbing} or +\environment{list} environments~--- it's not difficult, but it may +prove boring. So it's worth trying the following packages, all +designed specifically for typesetting pseudocode. + +The \Package{algorithms} bundle (which contains packages +\Package{algorithm} and \Package{algorithmic}, both of which are +needed for ordinary use) has a simple interface and produces fairly +nice output. It provides primitives for statements, which can contain +arbitrary \LaTeX{} commands, comments, and a set of iterative and +conditional constructs. These primitives can easily be redefined to +produce different text in the output. However, there is no support +for adding new primitives. Typesetting the pseudocode itself is +performed in \Package{algorithmic}; the \Package{algorithms} package +uses the facilities of the the \Package{float} package to number +algorithms sequentially, enable algorithms to float like figures or +tables, and support including a List of Algorithms in a document's +front matter. + +Packages in the \Package{algorithmicx} bundle are similiar both in +concept and output form to \Package{algorithmic} but additionally +provide support for adding new keywords and altering the formatting. +It provides the \Package{algpseudocode} package which is (almost) a +drop-in replacement for \Package{algorithmic}. Another package in the +bundle, \Package{algpascal}, uses Pascal-like keywords, indents +differently from \Package{algpseudocode}, and puts command arguments +in maths mode instead of text mode. There is no floating environment +but \Package{algorithmicx}, like \Package{algorithmic}, is compatible +with the \Package{algorithm} package. + +The \Package{alg} package, like \Package{algorithms}, offers a +floating algorithm environment with all of the ensuing niceties. +\Package{alg}, however, can caption its floats in a variety of +(natural) languages. In addition, \Package{alg} unlike +\Package{algorithms}, makes it easy to add new constructs. + +The \Package{newalg} package has a somewhat similar interface to +\Package{algorithms}, but its output is designed to mimic the rather +pleasant typesetting used in the book ``\emph{Introduction to Algorithms}'' +by Corman, Leiserson, Rivest and Stein. Unfortunately, +\Package{newalg} does not support a floating environment or any +customisation of the output. + +``\emph{Bona fide}'' use of the style of ``Introduction to +Algorithms'' may be achieved with Cormen's own \Package{clrscode}: +this is the package as used in the second edition of the book. + +Similarly, the style of % ! line break +``\emph{Combinatorial Algorithms: Generation, Enumeration and Search}'' +is supported by the \Package{pseudocode} package, written by the +authors of the book. It has the common `Pascal-like' style, and has +some interesting constructs for what one thinks of as Pascal blocks. + +The \Package{algorithm2e} is of very long standing, and is widely used +and recommended. It loads the \Package{float} package to provide the +option of floating algorithm descriptions, but you can always use the +``\texttt{H}'' option of \Package{float} to have the algorithm appear +``where you write it''. + +The usage of the \Package{program} package is a little different from +that of the other packages. It typesets programs in maths mode +instead of text mode; and linebreaks are significant. +\Package{program} lacks a floating environment but does number +algorithms like \Package{alg} and \Package{algorithms}. Customisation +and extension are not supported. Documentation of the +\Package{program} package (such as it is) appears in a file +\File{program.msg} in the distribution. + +None of the above are perfect. The factors that should influence your +choice of package include the output style you prefer, how much you +need to extend or modify the set of keywords, and whether you require +algorithms to float like figures and tables. +%% +%% Documentation availability: +%% \begin{description} +%% \item[\Package{algorithms} bundle] is provided in \File{algorithms.ps} +%% (also available as LaTeX{} source). The documentation speaks as if +%% the two packages of the bundle were indeed one, called +%% \Package{algorithms}. +%% \item[\Package{program} package] (such as it is) appears in a file +%% \File{program.msg}. +%% \item[\Package{clrscode} package] is to be found in +%% \File{clrscode.pdf} in the distribution. +%% \item[\Package{algorithm2e} package] is to be found in +%% \File{algorithm2e.tex} in the distribution (it needs the package +%% itself when you process it). +%% \end{description} +\begin{ctanrefs} +\item[algorithm2e.sty]\CTANref{algorithm2e} +\item[algorithmicx\nothtml{\rmfamily} bundle]\CTANref{algorithmicx} +\item[algorithms\nothtml{\rmfamily} bundle]\CTANref{algorithms} +\item[alg.sty]\CTANref{alg} +\item[clrscode.sty]\CTANref{clrscode} +\item[float.sty]\CTANref{float} +\item[newalg.sty]\CTANref{newalg} +\item[program.sty]\CTANref{program} +\item[pseudocode.sty]\CTANref{pseudocode} +\end{ctanrefs} + +\Question[Q-makeindex]{Generating an index in \AllTeX{}} + +Making an index is not trivial; what to index, and how to index it, is +difficult to decide, and uniform implementation is difficult to +achieve. You will need to mark all items to be indexed in your text +(typically with \csx{index} commands). + +It is not practical to sort a large index within \TeX{}, so a +post-processing program is used to sort the output of one \TeX{} run, +to be included into the document at the next run. + +The following programs are available: +\begin{description} +\item[makeindex] Comes with most distributions~--- a good workhorse, + but is not well-arranged to deal with other sort orders than the + canonical \acro{ASCII} ordering. + + The \Package{makeindex} documentation is a good source of + information on how to create your own index. \Package{Makeindex} can + be used with some \TeX{} + macro packages other than \LaTeX{}, such as \nothtml{\Eplain\ (}% + \Qref{Eplain}{Q-eplain}\nothtml{)}, and \TeX{} (whose macros can + be used independently with Plain \TeX{}). +\item[idxtex] for \LaTeX{} under \acro{VMS}, which comes with a + glossary-maker called \Package{glotex}. +\item[texindex] A witty little shell/\ProgName{sed}-script-based + utility for \LaTeX{} under Unix. + + The \Qref*{Texinfo}{Q-texinfo} system also uses a program + \ProgName{texindex}, whose source is to be found in the + \ProgName{texinfo} distribution. The \Package{ltxindex} package + provides macros to allow \LaTeX{} users to use \emph{this} + \ProgName{texindex}. +\item[xindy] arose from frustration at the difficulty of making a + multi-language version of \ProgName{makeindex}. It is designed to + be a successor to \ProgName{makeindex}, by a team that included the + then-current maintainer of \ProgName{makeindex}. It successfully + addresses many of \ProgName{makeindex}'s shortcomings, including + difficulties with collation order in different languages, and it is + highly flexible. Sadly, its take-up is proving rather slow. +\end{description} +\begin{ctanrefs} +\item[idxtex]\CTANref{glo+idxtex} +\item[ltxindex.sty]\CTANref{ltxindex} +\item[makeindex]\CTANref{makeindex} +\item[makeindex (Macintosh)]\CTANref{macmakeindex} +\item[texindex \nothtml{\upshape\rmfamily}(the script)]\CTANref{texindex} +\item[texindex \nothtml{\upshape\rmfamily}(the program)]Distributed + with \CTANref{texinfo} +\item[texsis (system)]\CTANref{texsis} +\item[texsis (makeindex support)]\CTANref{texsis-index} +\item[xindy]\CTANref{xindy} +\end{ctanrefs} + +\Question[Q-setURL]{Typesetting \acro{URL}s} + +\acro{URL}s tend to be very long, and contain characters that would +naturally prevent them being hyphenated even if they weren't typically +set in \csx{ttfamily}, verbatim. Therefore, without special treatment, +they often produce wildly overfull \csx{hbox}es, and their typeset +representation is awful. + +There are three packages that help solve this problem: +\begin{itemize} +\item The \Package{path} package, which defines a \csx{path} command. + The command defines each potential break character as a + \csx{discretionary}, and offers the user the opportunity of + specifying a personal list of potential break characters. Its chief + disadvantage is fragility in \LaTeX{} moving arguments. The +% beware line breaks + \Qref*{\Eplain{} macros}{Q-eplain}~--- define a similar \csx{path} command. + + \Package{Path}, though it works in simple situations, makes no + attempt to work with \LaTeX{} (it is irremediably fragile). Despite + its long and honourable history, it is no longer recommended for + \LaTeX{} use. +\item The \Package{url} package, which defines an \csx{url} command + (among others, including its own \csx{path} command). The command + gives each potential break character a maths-mode `personality', and + then sets the \acro{URL} itself (in the user's choice of font) in + maths mode. It can produce (\LaTeX{}-style) `robust' commands + % beware line break within paren + (\htmlonly{see }\Qref{use of \csx{protect}}{Q-protect}) for use + within moving arguments. Note that, because the operation is + conducted in maths mode, spaces within the \acro{URL} argument are + ignored unless special steps are taken. + + It is possible to use the \Package{url} package in Plain \TeX{}, + with the assistance of the \Package{miniltx} package (which was + originally developed for using the \LaTeX{} graphics package in + Plain \TeX{}). A small patch is also necessary: the required + sequence is therefore: +\begin{narrowversion} +\begin{verbatim} +\input miniltx +\expandafter\def\expandafter\+% + \expandafter{\+} +\input url.sty +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\input miniltx +\expandafter\def\expandafter\+\expandafter{\+} +\input url.sty +\end{verbatim} +\end{wideversion} +\item The \Package{hyperref} package, which uses the typesetting code + of \Package{url}, in a context where the typeset text forms the + anchor of a link. +\end{itemize} + +The author of this answer prefers the (rather newer) \Package{url} +package (directly or indirectly); both \Package{path} and +\Package{url} work well with Plain \TeX{} (though of course, the fancy +\LaTeX{} facilities of \Package{url} don't have much place there). +(\Package{hyperref} isn't available in a version for use with Plain +\TeX{}.) + +Documentation of both \Package{path} and \Package{url} is in the +package files. +\begin{ctanrefs} +\item[hyperref.sty]\CTANref{hyperref} +\item[miniltx.tex]Distributed as part of \CTANref{graphics-plain} +\item[path.sty]\CTANref{path} +\item[url.sty]\CTANref{url} +\end{ctanrefs} + +\Question[Q-music]{Typesetting music in \TeX{}} + +In the early days, a simple music package called \Package{mutex} was +written by Angelika Schofer and Andrea Steinbach, which demonstrated +that music typesetting was possible; the package was very limited, and +is no longer available. Daniel Taupin took up the baton, and +developed Music\TeX{}, which allows the typesetting of polyphonic and +other multiple-stave music; Music\TeX{} remains available, but is most +definitely no longer recommended. + +Music\TeX{} has been superseded by its successor MusiX\TeX{}, which is +a three-pass system (with a processor program that computes values for +the element spacing in the music), and achieves finer control than is +possible in the unmodified \TeX{}-based mechanism that Music\TeX{} +uses. Daniel Taupin's is the only version of MusiX\TeX{} currently +being developed (the original author, Andreas Egler, had an +alternative version, but he is now working on a different package +altogether). + +Input to Musix\TeX{} is extremely tricky stuff, and Don Simons' +preprocessor \ProgName{pmx} is the preferred method of creating input +for Taupin's version. \ProgName{Pmx} greatly eases use of +Musix\TeX{}, but it doesn't support the full range of Musix\TeX{}'s +facilities directly; however, it does allow in-line Musix\TeX{} code +in \ProgName{pmx} sources. + +Dirk Laurie's \ProgName{M-Tx} allows preparation of music with lyrics; +it operates ``on top of'' \ProgName{pmx} + +Another simple notation is supported by \ProgName{abc2mtex}; this is a +package designed to notate tunes stored in an \acro{ASCII} format +(|abc| notation). It was designed primarily for folk and traditional +tunes of Western European origin (such as Irish, English and Scottish) +which can be written on one stave in standard classical notation, and +creates input intended for Music\TeX{}. However, it should be +extendable to many other types of music. + +Digital music fans can typeset notation for their efforts by using +\ProgName{midi2tex}, which translates MIDI data files into Music\TeX{} +source code. + +There is a mailing list (\Email{TeX-music@icking-music-archive.org}) +for discussion of typesetting music in \TeX{}. To subscribe, use +\URL{http://icking-music-archive.org/mailman/listinfo/tex-music/} +\begin{ctanrefs} +\item[abc2mtex]\CTANref{abc2mtex} +\item[M-Tx]\CTANref{mtx} +\item[midi2tex]\CTANref{midi2tex} +\item[musictex]\CTANref{musictex} +\item[musixtex \nothtml{\rmfamily}(Taupin's + version)]\CTANref{musixtex-taupin} +\item[musixtex \nothtml{\rmfamily}(Egler's + version)]\CTANref{musixtex-egler} +\item[pmx]\CTANref{pmx} +\end{ctanrefs} + +\Question[Q-parskip]{Zero paragraph indent} + +The conventional way of typesetting running text has no separation +between paragraphs, and the first line of each paragraph in a block of +text indented. + +In contrast, one common convention for typewritten text was to have no +indentation of paragraphs; such a style is often required for +``brutalist'' publications such as technical manuals, and in styles +that hanker after typewritten manuscripts, such as +officially-specified dissertation formats. + +Anyone can see, after no more than a moment's thought, that if the +paragraph indent is zero, the paragraphs must be separated by blank +space: otherwise it is sometimes going to be impossible to see the +breaks between paragraphs. + +The simple-minded approach to zero paragraph indentation is thus: +\begin{verbatim} + \setlength{\parindent}{0pt} + \setlength{\parskip}{\baselineskip} +\end{verbatim} +and in the very simplest text, it's a fine solution. + +However, the non-zero \csx{parskip} interferes with lists and the like, +and the result looks pretty awful. The \Package{parskip} package +patches things up to look reasonable; it's not perfect, but it deals +with most problems. + +The Netherlands Users' Group's set of classes includes an +\Class{article} equivalent (\Class{artikel3}) and a \Class{report} +equivalent (\Class{rapport3}) whose design incorporates zero paragraph +indent and non-zero paragraph skip. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\acro{NTG} classes]\CTANref{ntgclass} +\item[parskip.sty]\CTANref{parskip} +\end{ctanrefs} + +\Question[Q-dropping]{Big letters at the start of a paragraph} + +A common style of typesetting, now seldom seen except in newspapers, +is to start a paragraph (in books, usually the first of a chapter) +with its first letter set large enough to span several lines. + +This style is known as ``dropped capitals'', or (in French) +\latexhtml{``lettrines''}{«lettrines»}, and \TeX{}'s primitive +facilities for hanging indentation make its (simple) implementation +pretty straightforward. + +The \Package{dropping} package does the job simply, but has a curious +attitude to the calculation of the size of the font to be used for the +big letters. Examples appear in the package documentation, so before +you process the |.dtx|, the package itself must already be installed. +Unfortunately, \Package{dropping} has an intimate relation to the set +of device drivers available in an early version of the \LaTeX{} +graphics package, and it cannot be trusted to work with recent +offerings like \PDFTeX{}, V\TeX{} or \acro{DVI}pdfm. + +On such occasions, the more recent \Package{lettrine} package is more +likely to succeed. It has a well-constructed array of options, and +the examples (a pretty impressive set) come as a separate file in the +distribution (also available in \PS{}, so that they can be viewed +without installing the package itself). +\begin{ctanrefs} +\item[dropping]\CTANref{dropping} +\item[lettrine]\CTANref{lettrine} +\end{ctanrefs} + +\Question[Q-dec_comma]{The comma as a decimal separator} + +If you use a comma in maths mode, you get a small space after it; this +space is inappropriate if the comma is being used as a decimal +separator. An easy solution to this problem, in maths +mode, is to type \texttt{3}\marg{,}\texttt{14} instead of typing +\texttt{3,14}. However, if your language's +typographic rules require the comma as a decimal separator, such usage +can rapidly become extremely tiresome. There are two packages that +can help relieve the tedium: \Package{icomma} and \Package{ziffer}. + +\Package{Icomma} ensures that there will be no extra space after a +comma, unless you type a space after it (as in \texttt{f(x, y)}, for +instance), in which case the usual small space after the comma +appears. \Package{Ziffer} is specifically targeted at the needs of +those typesetting German, but covers the present need, as well as +providing the double-minus sign used in German (and other languages) +for the empty `cents' part of an amount of currency. +\begin{ctanrefs} +\item[icomma.sty]Distributed as part of \CTANref{was} +\item[ziffer.sty]\CTANref{ziffer} +\end{ctanrefs} + +\Question[Q-breakbox]{Breaking boxes of text} + +\AllTeX{} boxes may not be broken, in ordinary usage: once you've +typeset something into a box, it will stay there, and the box will jut +out beyond the side or the bottom of the page if it doesn't fit in the +typeset area. + +If you want a substantial portion of your text to be framed (or +coloured), the restriction starts to seem a real imposition. +Fortunately, there are ways around the problem. + +The \Package{framed} package provides \environment{framed} and +\environment{shaded} environments; both put their content into +something which looks like a framed (or coloured) box, but which +breaks as necessary at page end. The environments ``lose'' footnotes, +marginpars and head-line entries, and will not work with +\Package{multicol} or other column-balancing macros. The +\Class{memoir} class includes the functionality of the +\Package{framed} package. + +The \Package{boites} package provides a \environment{breakbox} +environment; examples of its use may be found in the distribution, and +the package's \File{README} file contains terse documentation. The +environments may be nested, and may appear inside +\environment{multicols} environments; however, floats, footnotes and +marginpars will be lost. + +For Plain \TeX{} users, the facilities of the \Package{backgrnd} +package may be useful; this package subverts the output routine to +provide vertical bars to mark text, and the macros are clearly marked +to show where coloured backgrounds may be introduced (this requires +\Package{shade}, which is distributed as tex macros and +device-independent \MF{} for the shading). The author of +\Package{backgrnd} claims that the package works with \LaTeXo{}, but +there are reasons to suspect that it may be unstable working with +current \LaTeX{}. +\begin{ctanrefs} +\item[backgrnd.tex]\CTANref{backgrnd} +\item[boites.sty]\CTANref{boites} +\item[framed.sty]\CTANref{framed} +\item[memoir.cls]\CTANref{memoir} +\item[shade.tex]\CTANref{shade} +\end{ctanrefs} + +\Question[Q-overstrike]{Overstriking characters} + +This may be used, for example, to indicate text deleted in the course +of editing. Both the \Package{ulem} and the \Package{soul} packages +provide the necessary facilities. + +Overstriking for % beware line break +\Qref*{cancellation in maths expressions}{Q-cancellation} is achieved +by a different mechanism. + +Documentation of \Package{ulem} is in the package file. +\begin{ctanrefs} +\item[soul.sty]\CTANref{soul} +\item[ulem.sty]\CTANref{ulem} +\end{ctanrefs} + +\Question[Q-upquot]{Realistic quotes for verbatim listings} + +The \texttt{cmtt} font has ``curly'' quotes\nothtml{ (\texttt{`thus'})}, +which are pleasing on the eye, but don't really tally with what one +sees on a modern % beware line break +\ProgName{xterm}\nothtml{ (which look like \texttt{\char18 this\char13})}. + +The appearance of these quotes is critical in program listings, +particularly in those of Unix-like shell scripts. The +\Package{upquote} package modifies the behaviour of the +\environment{verbatim} environment so that the output is a clearer +representation of what the user must type. +\begin{ctanrefs} +\item[upquote.sty]\CTANref{upquote} +\end{ctanrefs} + +\Question[Q-time]{Printing the time} + +\TeX{} has a primitive register that contains ``the number of minutes +since midnight''; with this knowledge it's a moderately simple +programming job to print the time (one that no self-respecting +Plain~\TeX{} user would bother with anyone else's code for). + +However, \LaTeX{} provides no primitive for ``time'', so the +non-programming \LaTeX{} user needs help. + +Two packages are available, both providing ranges of ways of printing +the date, as well as of the time: this question will concentrate on +the time-printing capabilities, and interested users can investigate +the documentation for details about dates. + +The \Package{datetime} package defines two time-printing functions: +\csx{xxivtime} (for 24-hour time), \csx{ampmtime} (for 12-hour time) and +\csx{oclock} (for time-as-words, albeit a slightly eccentric set of +words). + +The \Package{scrtime} package (part of the compendious +\Class{KOMA-Script} bundle) takes a package option (\pkgoption{12h} or +\pkgoption{24h}) to specify how times are to be printed. The command +\csx{thistime} then prints the time appropriately (though there's no +\emph{am} or \emph{pm} in \pkgoption{12h} mode). The \csx{thistime} +command also takes an optional argument, the character to separate the +hours and minutes: the default is of course \texttt{:}. +\begin{ctanrefs} +\item[datetime.sty]\CTANref{datetime} +\item[scrtime.sty]Distributed as part of \CTANref{koma-script} +\end{ctanrefs} + +\Question[Q-the-commands]{Redefining counters' \csx{the-}commands} + +Whenever you request a new \LaTeX{} counter, \LaTeX{} creates a bunch +of behind-the-scenes commands, as well as definining the counter +itself. + +Among other things, \cmdinvoke*{newcounter}{fred} creates a command +\csx{the}\texttt{\emph{fred}}, which expands to ``the value of +\texttt{\emph{fred}}'' when you're typesetting. + +The definition of \csx{the}\texttt{\emph{fred}} should express the +value of the counter: it is almost always always a mistake to use the +command to produce anything else. The value may reasonably be +expressed as an arabic, a roman or a greek number, as an alphabetic +expression, or even as a sequence (or pattern of) symbols. If you +need a decision process on whether to re-define +\csx{the}\texttt{\emph{fred}}, consider what might happen when you do +so. + +So, for example, if you want your section numbers to be terminated by +a period, you could make \csx{thesection} expand with a terminating +period. However, such a change to \csx{thesection} makes the +definition of \csx{thesubsection} look distinctly odd: you are going to +find yourself redefining things left, right and centre. Rather, use +the standard techniques for % beware line break +\Qref*{adjusting the presentation of section numbers}{Q-seccntfmt}. + +Or, suppose you want the page number to appear at the bottom of each +page surrounded by dashes (``|-|{}|-~nnn~-|{}|-|''). Would you want to +achieve this by redefining \csx{thepage}, given the likely appearance +of the table of contents with the dashes attached every page number, +or of the modified \csx{pageref} references. In this case, the +modification is best done by redefining the page style itself, perhaps +\Qref*{package \Package{fancyhdr}}{Q-fancyhdr}. + +\subsection{Tables of contents and indexes} + +\Question[Q-tocloft]{The format of the Table of Contents, etc.} + +The formats of entries in the table of contents (\acro{TOC}) are +controlled by a number of internal commands (discussed in section~2.3 +of \Qref*{\emph{The \LaTeX{} Companion}}{Q-books}. The commands +\csx{@pnumwidth}, \csx{@tocrmarg} and \csx{@dotsep} control the space +for page numbers, the indentation of the right-hand margin, and the +seperation of the dots in the dotted leaders, respectively. The +series of commands named \csx{l@\emph{xxx}}, where \texttt{\emph{xxx}} +is the name of a sectional heading (such as \texttt{chapter} or +\texttt{section}, \dots{}\@) control the layout of the corresponding +heading, including the space for section numbers. All these internal +commands may be individually redefined to give the effect that you +want. + +Alternatively, the package \Package{tocloft} provides a set of +user-level commands that may be used to change the \acro{TOC} +formatting. Since exactly the same mechanisms are used for the List +of Figures and List of Tables, the layout of these sections may be +controlled in the same way. + +The \Class{KOMA-Script} classes provides an optional variant structure +for the table of contents, and calculates the space needed for the +numbers automatically. The \Class{memoir} includes the functionality +of \Package{tocloft}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[tocloft.sty]\CTANref{tocloft} +\end{ctanrefs} + +\Question[Q-secnumdep]{Unnumbered sections in the Table of Contents} + +The way the relevant parts of sectioning commands work is exemplified +by the way the \csx{chapter} command uses the counter \texttt{secnumdepth} +(described in Appendix~C of the \LaTeX{} manual): +\begin{enumerate} +\item put something in the \texttt{.aux} file, which will appear in + the \texttt{.toc}; +\htmlignore +\item if \ensuremath{\texttt{secnumdepth} \geq 0}, +\endhtmlignore +\begin{htmlversion} +\item if the \texttt{secnumdepth} counter is greater than or equal to + zero, +\end{htmlversion} + increase the counter for the chapter and write it out. +\item write the chapter title. +\end{enumerate} +Other sectioning commands are similar, but with other values used in +the test. + +So a simple way to get headings of funny `sections' such as prefaces +in the table of contents is to use the counter: +\begin{quote} +\begin{verbatim} +\setcounter{secnumdepth}{-1} +\chapter{Preface} +\end{verbatim} +\end{quote} +Unfortunately, you have to set \texttt{secnumdepth} back to its usual +value (which is~2 in the standard styles) before you do any `section' +which you want to be numbered. + +Similar settings are made, automatically, in the \LaTeX{} book class by +the \csx{frontmatter} and \csx{backmatter} commands. + +The value of the counter \texttt{tocdepth} controls which headings +will be finally printed in the table of contents. This normally has +to be set in the preamble and is a constant for the document. The +package \Package{tocvsec2} package provides a convenient interface to +allow you to change the \texttt{secnumdepth} and/or the +\texttt{tocdepth} counter values at any point in the body of the +document; this provides convenient independent controls over the +sectional numbering and the table of contents. + +The package \Package{abstract} (see % line break! +\Qref[question]{one-column abstracts}{Q-onecolabs}) includes an option +to add the \texttt{abstract} to the table of contents, while the +package \Package{tocbibind} has options to include the table of +contents itself, the \texttt{bibliography}, \texttt{index}, etc., to +the table of contents. + +The \Class{KOMA-Script} classes have commands \csx{addchap} and +\csx{addsec}, which work like \csx{chapter} and \csx{section} but +aren't numbered. The \Class{memoir} class incorporates the facilities +of all three of the \Package{abstract}, \Package{tocbibind} and +\Package{tocvsec2} packages. +\begin{ctanrefs} +\item[abstract.sty]\CTANref{abstract} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[tocbibind.sty]\CTANref{tocbibind} +\item[tocvsec2.sty]\CTANref{tocvsec2} +\end{ctanrefs} + +\Question[Q-tocbibind]{Bibliography, index, etc., in \acro{TOC}} + +The standard \LaTeX{} classes (and many others) use \csx{section*} or +\csx{chapter*} for auto-generated parts of the document (the tables of +contents, lists of figures and tables, the bibliography and the index). As a +result, these items aren't numbered (which most people don't mind), +and (more importantly) they don't appear in the table of contents. + +The correct solution (as always) is to have a class of your own that +formats your document according to your requirements. The macro to do +the job (\csx{addcontentsline}) is fairly simple, but there is always +an issue of ensuring that the contents entry quotes the correct page. +Supposing that our the document is chapter-based (class \Class{report} +or \Class{book}, for example), the text: +\begin{quote} +\begin{verbatim} +\bibliography{frooble} +\addcontentsline{toc}{chapter}{Bibliography} +\end{verbatim} +\end{quote} +will produce the \emph{wrong} answer if the bibliography is more than +one page long. Instead, one should say: +\begin{quote} +\begin{verbatim} +\cleardoublepage +\addcontentsline{toc}{chapter}{Bibliography} +\bibliography{frooble} +\end{verbatim} +\end{quote} +(Note that \csx{cleardoublepage} does the right thing, even if your +document is single-sided~--- in that case, it's a synonym for +\csx{clearpage}). Ensuring that the entry refers to the right place is +trickier still in a \csx{section}-based class. + +The common solution, therefore, is to use the \Package{tocbibind} +package, which provides many facilities to control the way these +entries appear in the table of contents. + +Classes of the \Class{KOMA-script} bundle provide this functionality +as a set of class options; the \Class{memoir} class includes +\Package{tocbibind} itself. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[tocbibind.sty]\CTANref{tocbibind} +\end{ctanrefs} + +\Question[Q-minitoc]{Table of contents, etc., per chapter} + +The common style, of a ``small'' table of contents for each part, +chapter, or even section, is supported by the \Package{minitoc} +package. The package also supports mini-lists of tables and figures; +but, as the documentation observes, mini-bibliographies are a +different problem~--- see +\Qref[question]{bibliographies per chapter}{Q-chapbib}. + +The package's basic scheme is to generate a little |.aux| file for +each chapter, and to process that within the chapter. Simple usage +would be: +\begin{quote} +\begin{verbatim} +\usepackage{minitoc} +... +\begin{document} +... +\tableofcontents +\dominitoc \listoffigures \dominilof ... +\chapter{blah blah} +\minitoc \mtcskip \minilof ... +\end{verbatim} +\end{quote} +though a lot of elaborations are possible (for example, you don't need +a \csx{minitoc} for every chapter). + +\Package{Babel} doesn't know about \Package{minitoc}, but +\Package{minitoc} makes provision for other document languages than +English~--- a wide variety is available. However, current versions of +the \Package{hyperref} package will treat \csx{minitoc} tables in the +same way as ``real'' tables of contents. + +The documentation is pretty extensive and readable: process the file +\File{minitoc.tex} in the distribution +\begin{ctanrefs} +\item[babel.sty]\CTANref{babel} +\item[hyperref.sty]\CTANref{hyperref} +\item[minitoc.sty]\CTANref{minitoc} +\end{ctanrefs} + +\Question[Q-multind]{Multiple indexes} + +\LaTeX{}'s standard indexing capabilities (those provided by the +\Package{makeidx} package) only provide for one index in your +document; even quite modest documents can be improved by indexes for +separate topics. + +The \Package{multind} package provides simple and straightforward +multiple indexing. You tag each \csx{makeindex}, \csx{index} and +\csx{printindex} command with a file name, and indexing commands are +written to (or read from) the name with the appropriate (\texttt{.idx} or +\texttt{.ind}) extension appended. The \csx{printindex} command is modified +from the \LaTeX{} standard so that it doesn't create its own chapter +or section heading; you therefore decide what names (or sectioning +level, even) to use for the indexes, and +\Qref*{\csx{indexname}}{Q-fixnam} is completely ignored. + +To create a ``general'' and an ``authors'' index, one might write: +\begin{quote} +\begin{verbatim} +\usepackage{multind} +\makeindex{general} +\makeindex{authors} +... +\index{authors}{Robin Fairbairns} +... +\index{general}{FAQs} +... +\printindex{general}{General index} +\printindex{authors}{Author index} +\end{verbatim} +\end{quote} +To complete the job, run \LaTeX{} on your file enough times that +labels, etc., are stable, and then execute the commands +\begin{quote} +\begin{verbatim} +makeindex general +makeindex authors +\end{verbatim} +\end{quote} +before running \LaTeX{} again. Note that the names of the index files +to process are not necessarily related to the name of the \LaTeX{} +file you're processing, at all. (There's no documentation that comes +with the package: what you see above is as good as you will +get\dots{}) + +The \Package{index} package provides a comprehensive set of indexing +facilities, including a \csx{newindex} command that allows the +definition of new styles of index. \csx{newindex} takes a `tag' (for +use in indexing commands), replacements for the \texttt{.idx} and +\texttt{.ind} file extensions, and a title for the index when it's +finally printed; it can also change the item that's being indexed +against (for example, one might have an index of artists referenced by +the figure number where their work is shown). + +Using \Package{index}, to create an author index together with a +``normal'' index, one would start with preamble commands: +\begin{quote} +\begin{verbatim} +\usepackage{index} +\makeindex +\newindex{aut}{adx}{and}{Name Index} +\end{verbatim} +\end{quote} +which load the package, define a ``main'' (original-style) index, and +then define an author index. Then, in the body of the document, we +might find commands like: +\begin{quote} +\begin{verbatim} +\index[aut]{Robin Fairbairns} +... +\index{FAQs} +\end{verbatim} +\end{quote} +Which place an entry in the author index, and then one in the main +index. At the end of the document, we have two commands: +\begin{quote} +\begin{verbatim} +\printindex +\printindex[aut] +\end{verbatim} +\end{quote} +Which will print the main index and then the author index. Supposing +this lot to be in \File{myfile.tex}, after enough runs through +\LaTeX{} that labels are stable, execute the following commands +(Unix-style shell commands shown here, but the principle is the same +whatever system you're using): +\begin{quote} +\begin{verbatim} +makeindex myfile +makeindex myfile.adx -o myfile.and +\end{verbatim} +\end{quote} +and rerun \LaTeX{}. The \ProgName{makeindex} commands process +\File{myfile.idx} to \File{myfile.ind} (the default action), and then +\File{myfile.adx} to \File{myfile.and}, the two files needed as input +by the two \csx{printindex} commands in \File{myfile.tex}. + +The \Package{splitidx} package can operate in the same way as the +others: load the package with the \pkgoption{split} option, and +declare each index with a \csx{newindex} command: +\begin{quote} + \cmdinvoke{newindex}[\meta{index name}]{\meta{shortcut}} +\end{quote} +and \Package{splitidx} will generate a file +\csx{jobname}\texttt{.\meta{shortcut}} to receive index entries +generated by commands like \cmdinvoke{sindex}[\meta{shortcut}]{\meta{item}}. +As with the other packages, this method is limited by \TeX{}'s total +number of output files. However, \Package{splitindex} also comes with +a small executable \ProgName{splitindex} (available for a variety of +operating systems); if you use this auxiliary program (and don't use +\pkgoption{split}), there's no limit to the number of indexes. Apart +from this trick, \Package{splitidx} supports the same sorts of things +as does \Package{index}. An example of use appears in +the documentation. + +The \Class{memoir} class has its own multiple-index functionality (as +well as index layout options, which other packages delegate to the +index style used by \ProgName{makeindex}. +\begin{ctanrefs} +\item[index.sty]\CTANref{index} +\item[makeidx.sty]Part of the \LaTeX{} distribution +\item[memoir.cls]\CTANref{memoir} +\item[multind.sty]\CTANref{multind} +\item[splitidx.sty \bgroup\nothtml{\normalfont}and \egroup splitindex]% + \CTANref{splitindex} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\subsection{Labels and references} + +\Question[Q-nameref]{Referring to things by their name} + +\LaTeX{}'s labelling mechanism is designed for the impersonal world of +the academic publication, in which everything has a number: an +extension is necessary if we are to record the \emph{name} of things +we've labelled. The two packages available extend the \LaTeX{} +sectioning commands to provide reference by the name of the section. + +The \Package{titleref} package is a simple extension which provides +the command \csx{titleref}; it is a stand-alone package~--- don't use it +in a document in which you also need to use \Package{hyperref}. + +The \Package{byname} package is part of the \Package{smartref} bundle +and works well with \Package{smartref}, and works (to an extent) with +\Package{hyperref}, but the links it defines are not hyperlinks. + +The \Class{memoir} class incorporates the functionality of +\Package{titleref}, but doesn't work with \Package{byname} (though a +search of \Newsgroup{comp.text.tex} on \URL{groups.google.com} will +find a patch to \Package{byname} to remedy the problem). + +The \Package{hyperref} bundle includes a package \Package{nameref}, +which will work standing alone (i.e., without \Package{hyperref}: of +course, in this mode its references are not hyperlinked). If you load +\Package{hyperref} itself, \Package{nameref} is automatically loaded. +\Class{Memoir} requires the \Package{memhfixc} when running with +\Package{hyperref}; however, following the sequence +\begin{quote} +\begin{verbatim} +\documentclass[...]{memoir} +... +\usepackage[...]{hyperref} +\usepackage{memhfixc} +\end{verbatim} +\end{quote} +\Package{nameref} commands may be used in a \Class{memoir} document. + +Each of the name-reference packages defines a reference command +with the same name as the package: \csx{titleref}, \csx{byname} and +\csx{nameref}. The \Package{nameref} package also defines a command +\csx{byshortnameref}, which uses the optional `short' title argument +to the chapter and section commands. +\begin{ctanrefs} +\item[byname.sty]Distributed with \CTANref{smartref} +\item[hyperref.sty]\CTANref{hyperref} +\item[memoir.cls]\CTANref{memoir} +\item[nameref.sty]Distributed with \CTANref{hyperref} +\item[smartref.sty]\CTANref{smartref} +\item[titleref.sty]\CTANref{titleref} +\end{ctanrefs} + +\Question[Q-extref]{Referring to labels in other documents} + +When producing a set of inter-related documents, you'll often want to +refer to labels in another document of the set; but \LaTeX{}, of its +own accord, doesn't permit this. + +So the package \Package{xr} was written: if you say +\begin{quote} +\begin{verbatim} +\usepackage{xr} +\externaldocument{volume1} +\end{verbatim} +\end{quote} +will load all the references from \File{volume1} into your present +document. + +But what if the documents both have a section labelled +``\environment{introduction}'' (likely enough, after all)? The +package provides a means to transform all the imported labels, so you +don't have to change label names in either document. For example: +\begin{quote} +\begin{verbatim} +\usepackage{xr} +\externaldocument[V1-]{volume1} +\end{verbatim} +\end{quote} +loads the references from \File{volume1}, but prefixes every one with +the string \texttt{V1-}. So you would refer to the introduction to volume~1 +as: +\begin{narrowversion} +\begin{quote} +\begin{verbatim} +\usepackage{xr} +\externaldocument[V1-]{volume1} +... +... the introduction to volume1 + (\ref{V1-introduction})... +\end{verbatim} +\end{quote} +\end{narrowversion} +\begin{wideversion} +\begin{quote} +\begin{verbatim} +\usepackage{xr} +\externaldocument[V1-]{volume1} +... +... the introduction to volume1 (\ref{V1-introduction})... +\end{verbatim} +\end{quote} +\end{wideversion} +To have the facilities of \Package{xr} working with +\Package{hyperref}, you need \Package{xr-hyper}. For simple +hyper-cross-referencing (i.e., to a local \acro{PDF} file you've just +compiled), write: +\begin{quote} +\begin{verbatim} +\usepackage{xr-hyper} +\usepackage{hyperref} +\externaldocument[V1-]{volume1} +... +... the \nameref{V1-introduction})... +\end{verbatim} +\end{quote} +and the name reference will appear as an active link to the +``introduction'' chapter of \File{volume1.pdf}. + +To link to a \acro{PDF} document on the Web, for which you happen to +have the .aux file, write: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\usepackage{xr-hyper} +\usepackage{hyperref} +\externaldocument[V1-]{volume1}[http://mybook.com/volume1.pdf] +... +... the \nameref{V1-introduction})... +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\usepackage{xr-hyper} +\usepackage{hyperref} +\externaldocument[V1-]{volume1}% + [http://mybook.com/volume1.pdf] +... +... the \nameref{V1-introduction})... +\end{verbatim} +\end{narrowversion} +\end{quote} +\begin{ctanrefs} +\item[xr.sty]Distributed as part of \CTANref{2etools} +\item[xr-hyper.sty]Distributed with \CTANref{hyperref} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{How do I do\dots{}?} + +\subsection{Mathematics} + +\Question[Q-proof]{Proof environment} + +It has long been thought impossible to make a \environment{proof} +environment which automatically includes an `end-of-proof' symbol. +Some proofs end in displayed maths; others do not. If the input file +contains +% beware line break +\texttt{...\csx{]} }\cmdinvoke{end}{proof} then \LaTeX{} finishes off +the displayed maths and gets ready for a new line before it reads any +instructions connected with ending the proof, so the code is very +tricky. You \emph{can} insert the symbol by hand, but the +\Package{ntheorem} package now solves the problem for \LaTeX{} users: +it does indeed provide an automatic way of signalling the end of a +proof. + +The \AMSLaTeX{} package \Package{amsthm} also provides a +\environment{proof} environment that does the job; though you need to +insert a \csx{qedhere} command if the proof ends with a displayed +equation: +\begin{quote} +\begin{verbatim} +\begin{proof} + text... + \begin{equation*} + maths... \tag*{\qedhere} + \end{equation*} +\end{proof} +\end{verbatim} +\end{quote} +The \cmdinvoke{tag*}{\csx{qedhere}} construction may be used in any of +\AMSLaTeX{}'s numbering environments. +\begin{ctanrefs} +\item[amsthm.sty]Distributed as part of the \AMSLaTeX{} bundle + \CTANref{amslatex} +\item[ntheorem]\CTANref{ntheorem} +\end{ctanrefs} + +\Question[Q-theoremfmt]{Roman theorems} + +If you want to take advantage of the powerful \csx{newtheorem} command +without the constraint that the contents of the theorem is in a sloped +font (for example, to use it to create remarks, examples, proofs, +\dots{}) then you can use the \AMSLaTeX{} \Package{amsthm} package +(which now supersedes the \Package{theorem} package previously +recommended in these answers). +Alternatively, the following sets up an environment +\environment{remark} whose content is in roman. +\begin{verbatim} + \newtheorem{preremark}{Remark} + \newenvironment{remark}% + {\begin{preremark}\upshape}{\end{preremark}} +\end{verbatim} +The \Package{ntheorem} package provides roman theorems directly. +\begin{ctanrefs} +\item[amsthm.sty]Distributed as part of \CTANref{amslatex} +\item[ntheorem.sty]\CTANref{ntheorem} +\item[theorem.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + +\Question[Q-newfunction]{Defining a new log-like function in \LaTeX{}} + +Use the \csx{mathop} command, as in: +\begin{verbatim} + \newcommand{\diag}{\mathop{\mathrm{diag}}} +\end{verbatim} + +Subscripts and superscripts on \csx{diag} will be placed as they are on +\csx{lim}. If you want your subscripts and superscripts always placed +to the right, do: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\newcommand{\diag}% + {\mathop{\mathrm{diag}}\nolimits} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\newcommand{\diag}{\mathop{\mathrm{diag}}\nolimits} +\end{verbatim} +\end{wideversion} +\end{quote} + +\AMSLaTeX{} (in its \Package{amsopn} package) provides a command +\csx{DeclareMathOperator} that takes does the same job as the first +definition above. To create our original \csx{diag} command, one would +say: +\begin{verbatim} + \DeclareMathOperator{\diag}{diag} +\end{verbatim} +\csx{DeclareMathOperator*} declares the operator always to have its +sub- and superscripts in the % ! line break +``\Qref*{\csx{limits} position}{Q-limits}''. + +(It should be noted that ``log-like'' was reportedly a \emph{joke} on +Lamport's part; it is of course clear what was meant.) +\begin{ctanrefs} +\item[amsopn.sty]In the \AMSLaTeX{} distribution \CTANref{amslatex} +\end{ctanrefs} + +\Question[Q-braket]{Set specifications and Dirac brackets} + +One of the few glaring omissions from \TeX{}'s mathematical +typesetting capabilities is a means of setting separators in the +middle of mathematical expressions. \TeX{} provides primitives called +\csx{left} and \csx{right}, which can be used to modify brackets (of +whatever sort) around a mathematical expression, as in: +% beware line wrap +|\left( <expression> \right)|~--- the size of the parentheses is +matched to the vertical extent of the expression. + +However, in all sorts of mathematical enterprises one may find oneself +needing a \csx{middle} command, to be used in expressions like +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\left\{ x \in \mathbb{N} \middle| x \mbox{ even} \right\} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\left\{ x\in \mathbb{N} \middle| + x \mbox{ even} \right\} +\end{verbatim} +\end{narrowversion} +\end{quote} +to specify the set of even natural numbers. The % ! line break +\Qref*{\eTeX{} system}{Q-NTS} +defines just such a command, but users of Knuth's original need some +support. Donald Arseneau's \Package{braket} package provides commands +for set specifications (as above) and for Dirac brackets (and bras and +kets). The package uses the \eTeX{} built-in command if it finds +itself running under \eTeX{}. +\begin{ctanrefs} +\item[braket.sty]\CTANref{braket} +\end{ctanrefs} + +\Question[Q-cancellation]{Cancelling terms in maths expressions} + +A technique used when explaining the behaviour of expressions or +equations (often for pedagogical purposes). The \Package{cancel} +package provides several variants of cancellation marks (``|\|'', +``|/|'' and ``|X|''), and a means of cancelling `to' a particular +value. + +Documentation of \Package{cancel} is in the package file. +\begin{ctanrefs} +\item[cancel.sty]\CTANref{cancel} +\end{ctanrefs} + +\Question[Q-mathsize]{Adjusting maths font sizes} + +In Plain~\TeX{}, when you introduce a new font size you must also +declare what size fonts are to be used in mathematics with it. This +is done by declaring \csx{textfont}, \csx{scriptfont} and +\csx{scriptscriptfont} for the maths families you're using; all such +things are described in chapter~17 of the % line wrap! +\Qref*{\TeX{}book}{Q-books} and in other books and +\Qref*{tutorials}{Q-tutorials} that discuss Plain~\TeX{} in sufficient +detail. + +In \LaTeX{}, of course, all this stuff is automated: there is a scheme +that, for each (text) font size, determines what maths font sizes are +to be used. The scheme first checks a set of ``known'' text sizes, +for each of which maths sizes are declared in advance. If the text +size isn't ``known'', the script- and scriptscriptfont sizes are +calculated as fixed ratios of the tex font size. (The values used are +\csx{defaultscriptratio}\ensuremath{=}0.7, and +\csx{defaultscriptscriptratio}\ensuremath{=}0.5.) + +The fixed-ratio formula is capable of producing inconvenient results +(particularly if you are using fonts which \LaTeX{} believes are only +available in a fixed set of sizes). You may also want to replace +\LaTeX{}'s ideas altogether, for example by setting maths noticeably +larger or smaller than its surrounding text. For this purpose, the +\LaTeX{} command +\cmdinvoke{DeclareMathSizes}{\meta{tfs}}{\meta{ts}}{\meta{ss}}{\meta{sss}} +may be used (this is the same command that \LaTeX{} itself uses to +define its own set of sizes). This establishes (or re-establishes) +the maths font sizes to be used when the surrounding text font size is +\texttt{\meta{tfs}}; (\texttt{\meta{ts}} being the size used for +\csx{textfont}, \texttt{\meta{ss}} for \csx{scriptfont} and +\texttt{\meta{sss}} for \csx{scriptscriptfont}). + +For example, you might want to use a font with a smaller body height +than Computer Modern, but still prefer \acro{CM} math to any of the +alternatives. In this case, you might use: +\begin{quote} +\begin{verbatim} +\DeclareMathSizes{10}{9}{7}{5} +\end{verbatim} +\end{quote} +to get 9pt maths when the surrounding body text is (nominal) 10pt. + +\csx{DeclareMathSizes} may only be used in the preamble of the +document: only one association is available for each text font size +for the whole document. The default settings are specified in +\File{fontdef.dtx} in the latex distribution, and are compiled into +\File{fontmath.ltx}; the arguments to the command are just numbers +(`\texttt{pt}' is assumed), but some of them are written using +\Qref*{\LaTeX{} abbreviations}{Q-ltxabbrv} for standard font sizes. +Beware simply copying (parts of) the \LaTeX{} definitions~--- since +they contain those internal abbreviations, they need to be treated as +\Qref{internal commands}{Q-atsigns}. +\begin{ctanrefs} +\item[fontdef.dtx]\CTANref{fontdef} +\item[fontmath.ltx]\CTANref{fontmath} +\end{ctanrefs} + +\Question[Q-mathlips]{Ellipses} +\keywords{\csx{dots} \csx{cdots} \csx{vdots} \csx{ddots}} + +Ellipses are commonly required, and \LaTeX{} natively supplies a fair +range (\csx{dots}, \csx{cdots}, \csx{vdots} and \csx{ddots}). By using +the \Package{graphics} package, one can change the slope of the +\csx{ddots} command, as in +\begin{verbatim} + $ ... \reflectbox{$\ddots$} ... $ +\end{verbatim} +While this works, it is not a recommended way of achieving the desired +result (see below). Moreover, \LaTeX{}'s range is not adequate to +everyone's requirements, and at least three packages provide +extensions to the set. + +The \AMSLaTeX{} bundle provides a range of ``semantically-named'' +ellipses, for use in different situations: \csx{dotsb} for use between +pairs of binary operators, \csx{dotsc} for use between pairs of commas, +and so on. + +The \Package{yhmath} package defines an \csx{adots} command, which is +the analogue of \csx{ddots}, sloping forwards rather than backwards. +The \Package{yhmath} package comes with a rather interesting font that +extends the standard \Package{cmex}; details are in the documentation. +The disadvantage of this setup is, that although \csx{adots} is merely +a macro, the package tries to load its own font and produces a +``missing font'' substitution warning message if you haven't installed +the font. + +The \Package{mathdots} package (besides fixing up the behaviour of +\AllTeX{} \csx{ddots} and \csx{vdots} when the font size changes) +provides an ``inverse diagonal'' ellipsis \csx{iddots} (doing the same +job as \Package{yhmath}'s \csx{adots}, but better). + +Documentation of \Package{yhmath} appears, processed, in the +distribution (thus saving you the bother of installing the package +before being able to read the documentation). Documentation of +\Package{mathdots} appears at the end the package file itself. +\begin{ctanrefs} +\item[amslatex]\CTANref{amslatex} +\item[graphics.sty]Part of the \CTANref{graphics} bundle +\item[mathdots.sty]\CTANref{mathdots} +\item[yhmath \nothtml{\rmfamily}(fonts)]\CTANref{yhmath-fonts} +\item[yhmath \nothtml{\rmfamily}(macros)]\CTANref{yhmath-macros} +\end{ctanrefs} + +\Question[Q-limits]{Sub- and superscript positioning for operators} + +The commonest hand-written style for expressions is to place the limit +expressions on operators such as \csx{sum} and \csx{int} physically +above and below the operator. In \AllTeX{}, we write these limit +expressions using sub- and superscripts applied to the operator, but +they don't always appear in the ``handwritten'' way in \TeX{}'s +output. + +The reason is, that when an expression appears in non-display maths, +in running text (and is therefore in \TeX{} \csx{textstyle}), placing +the limits thus could lead to ragged line spacing (and hence +difficult-to-read text). It is therefore common (in \csx{textstyle}) +to place the limits as one would sub- and superscripts of variables. + +This is not universally satisfactory, so the primitive \csx{limits} is +provided: +\begin{verbatim} + $\sum\limits_{n=1}^{m} ...$ +\end{verbatim} +which will place the limits right above and below the symbol (and be +blowed to the typography\dots{}). + +Contrariwise, you may wish to change the arrangement of the limits +when in \csx{displaystyle}. For this purpose, there's a corresponding +\csx{nolimits}: +\begin{verbatim} + \[\sum\nolimits_{n=1}^{m} ...\] +\end{verbatim} +which will place the limits as they would be in \csx{textstyle}. + +(Note that the macro \csx{int} normally has \csx{nolimits} built in to +its definition. There is an example in the \TeX{}book to show how odd +\csx{int}\csx{limits} looks when typeset.) + +\Question[Q-mathstext]{Text inside maths} + +When we type maths in \AllTeX{}, the letters from which we make up +ordinary text assume a special significance: they all become +single-letter variable names. The letters appear in italics, but it's +not the same sort of italics that you see when you're typing ordinary +text: a run of maths letters (for example ``here'') looks oddly +``lumpy'' when compared with the word written in italic text. The +difference is that the italic text is kerned to make the letters fit +well together, whereas the maths is set to look as if you're +multiplying \emph{h} by \emph{e} by \emph{r} by \emph{e}. The other +way things are odd in \TeX{} maths typing is that spaces are ignored: +at best we can write single words in this oddly lumpy font. + +So, if we're going to have good-looking text in amongst maths we're +writing, we have to take special precautions. If you're using +\LaTeX{}, the following should help. + +The simplest is to use \csx{mbox} or \csx{textrm}: +\begin{quote} +\begin{verbatim} +$e = mc^2 \mbox{here we go again}$ +\end{verbatim} +\end{quote} +The problem is that, with either, the size of the text remains firmly +at the surrounding text size, so that +\begin{quote} +\begin{verbatim} +$z = a_{\mbox{other end}}$ +\end{verbatim} +\end{quote} +looks quite painfully wrong. + +The other simple technique, \csx{textrm}, is more promising: +\begin{quote} +\begin{verbatim} +$z = a_{\textrm{other end}}$ +\end{verbatim} +\end{quote} +is definitely right. However, the surrounding text may not be in your +roman font; if you care about matching text, you need to choose +between \csx{textrm}, \csx{textsf}, and so on. + +(The maths-mode instance of your roman font (\csx{mathrm}) gets the +size right, but since it's intended for use in maths, its spaces get +ignored~--- use \csx{mathrm} for upright roman alphabetic variable +names, but not otherwise.) + +You can correct these problems with size selectors in the text, as: +\begin{quote} +\begin{verbatim} +$z = a_{\mbox{\scriptsize other end}}$ +\end{verbatim} +\end{quote} +which works if your surrounding text is at default document size, but +gives you the wrong size otherwise. + +These short cuts are (just about) \acro{OK} for the ``occasional'' +mathematician, but serious mathematics calls for a technique that +relieves the typist of the sort of thought required. As usual, the +\AMSLaTeX{} system provides what's necessary~--- the \csx{text} +command. The command is actually provided by the \Package{amstext} +package, but the ``global'' \Package{amsmath} package loads it, so +anyone using \AMSLaTeX{} proper has the command available, so even +joke mathematicians can write: +\begin{quote} +\begin{verbatim} +\usepackage{amsmath} +... +$z = a_{\text{other end}}$ +\end{verbatim} +\end{quote} +and the text will be at the right size, and in the same font as +surrounding text. + +\AMSLaTeX{} also makes provision for interpolated comments in the +middle of one of its multi-line display structures, through the +\csx{intertext} command. For example: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\begin{align} + A_1&=N_0(\lambda;\Omega')- + \phi(\lambda;\Omega'),\\ + A_2&=\phi(\lambda;\Omega')- + \phi(\lambda;\Omega),\\ +\intertext{and} + A_3&=\mathcal{N}(\lambda;\omega). +\end{align} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\begin{align} + A_1&=N_0(\lambda;\Omega')-\phi(\lambda;\Omega'),\\ + A_2&=\phi(\lambda;\Omega')-\phi(\lambda;\Omega),\\ + \intertext{and} A_3&=\mathcal{N}(\lambda;\omega). +\end{align} +\end{verbatim} +\end{wideversion} +\end{quote} +places the text ``and'' on a separate line before the last line of the +display. If the interjected text is short, or the equations +themselves are light-weight, you may find that \csx{intertext} leaves +too much space. Slightly more modest is the \csx{shortintertext} +command from the \Package{mathtools} package: +\begin{quote} +\begin{verbatim} +\begin{align} + a =& b + \shortintertext{or} + c =& b +\end{align} +\end{verbatim} +\end{quote} +To have the text on the same line as the second equation, one can use +the the \environment{flalign} environment (from \Package{amsmath}) +with lots of dummy equations (represented by the double \texttt{\&} +signs): +\begin{quote} +\begin{verbatim} +\begin{flalign} + && a =& b && \\ + \text{or} && c =& b && +\end{flalign} +\end{verbatim} +\end{quote} + +Comprehensive documentation of \AMSLaTeX{} is to be found in +\File{amsldoc}, in the distribution; it is also available on the web +at \URL{ftp://ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf} +\begin{ctanrefs} +\item[amsldoc.tex]Distributed as part of \AMSLaTeX{} + \CTANref{amslatex} +\item[amsmath.sty]Distributed as part of \AMSLaTeX{} + \CTANref{amslatex} +\item[amstext.sty]Distributed as part of \AMSLaTeX{} + \CTANref{amslatex} +\item[mathtools.sty]Distributed as part of the \Package{mh} bundle + \CTANref{mh} +\end{ctanrefs} + +\Question[Q-reuseq]{Re-using an equation} + +To repeat an existing equation, one wants not only to have the same +mathematics in it, one also wants to re-use the original label it had. +The \Package{amsmath} package comes to our help, here: +\begin{quote} +\begin{verbatim} +\usepackage{amsmath} +... +\begin{equation} + a=b + \label{eq1} +\end{equation} +... +Remember that +\begin{equation} + a=b + \tag{\ref{eq1}} +\end{equation} +\end{verbatim} +\end{quote} +Here, the second instance of \ensuremath{a=b} will be +typeset with a copy, made by the \csx{tag} command, of the label of the +first instance. + +Comprehensive documentation of \AMSLaTeX{} is to be found in +\File{amsldoc}, in the distribution; it is also available on the web +at \URL{ftp://ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf} +\begin{ctanrefs} +\item[amsldoc.tex]Distributed as part of \AMSLaTeX{} + \CTANref{amslatex} +\item[amsmath.sty]Distributed as part of \AMSLaTeX{} + \CTANref{amslatex} +\end{ctanrefs} + +\subsection{Lists} + +\Question[Q-enumerate]{Fancy enumeration lists} + +The \Package{enumerate} package allows you to control the display of +the enumeration counter. The package adds an optional parameter to +the \environment{enumerate} environment, which is used to specify the +layout of the labels. The layout parameter contains an enumeration +type (`\texttt{1}' for arabic numerals, `\texttt{a}' or `\texttt{A}' +for alphabetic enumeration, and `\texttt{i}' or `\texttt{I}' for Roman +numberals), and things to act as decoration of the enumeration. So, +for example +\begin{quote} +\begin{verbatim} +\usepackage{enumerate} +... +\begin{enumerate}[(a)] +\item ... ... +\end{enumerate} +\end{verbatim} +\end{quote} +starts a list whose labels run (a), (b), (c), \dots{}; while +\begin{quote} +\begin{verbatim} +\usepackage{enumerate} +... +\begin{enumerate}[I/] +\item ... ... +\end{enumerate} +\end{verbatim} +\end{quote} +starts a list whose labels run I/, II/, III/, \dots{} + +The \Package{paralist} package, whose primary purpose is % beware line break +\Qref*{compaction of lists}{Q-complist}, provides the same facilities +for its \environment{enumerate}-like environments. + +If you need non-stereotyped designs, the \Package{enumitem} package +gives you most of the flexibility you might want to design your own. +The silly roman example above could be achieved by: +\begin{quote} +\begin{verbatim} +\usepackage{enumitem} +... +\begin{enumerate}[label=\Roman{*}/] +\item ... ... +\end{enumerate} +\end{verbatim} +\end{quote} +Note that the `\texttt{*}' in the key value stands for the list +counter at this level. You can also manipulate the format of +references to list item labels: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\usepackage{enumitem} +... +\begin{enumerate}[label=\Roman{*}/, + ref=(\roman{*})] +\item ... ... +\end{enumerate} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\usepackage{enumitem} +... +\begin{enumerate}[label=\Roman{*}/, ref=(\roman{*})] +\item ... ... +\end{enumerate} +\end{verbatim} +\end{wideversion} +\end{quote} +to make references to the list items format appear as (i), (ii), +(iii), etc. + +The \Class{memoir} class includes functions that match those in the +\Package{enumerate} package, and has similar functionality for +\environment{itemize} lists. +%% It is possible (if not particularly convenient) to do the same thing +%% yourself. Suppose you want your top-level \environment{enumerate}s to +%% be labelled I/, II/, III/, \dots{}, then give these commands: +%% \begin{verbatim} +%% \renewcommand{\theenumi}{\Roman{enumi}} +%% \renewcommand{\labelenumi}{\theenumi/} +%% \end{verbatim} +%% The possible styles of numbering are given in Section~6.3 of Lamport's +%% book (see \Qref[question]{\TeX{}-related books}{Q-books}). Both +%% \csx{theenumi} and \csx{labelenumi} must be changed, since +%% \csx{theenumi} is used in cross-references to the list. +%% +%% For lower level \environment{enumerate}s, replace |enumi| by |enumii|, +%% |enumiii| or |enumiv|, according to the level. If your label is much +%% larger than the default, you should also change \csx{leftmargini}, +%% \csx{leftmarginii}, \emph{etc}. +\begin{ctanrefs} +\item[enumerate.sty]Distributed as part of \CTANref{2etools} +\item[enumitem.sty]\CTANref{enumitem} +\item[memoir.cls]\CTANref{memoir} +\item[paralist.sty]\CTANref{paralist} +\end{ctanrefs} + +\Question[Q-complist]{How to reduce list spacing} + +\Qref*{Lamport's book}{Q-books} lists various +parameters for the layout of list (things like \csx{topsep}, +\csx{itemsep} and \csx{parsep}), but fails to mention that they're set +automatically within the list itself. It works by each list executes +a command \csx{@list}\texttt{\meta{depth}} (the depth appearing as a +lower-case roman numeral); what's more, \csx{@listi} is usually reset +when the font size is changed. As a result, it's rather tricky for +the user to control list spacing; of course, the real answer is to use +a document class designed with more modest list spacing, but we all +know such things are hard to come by. The \Class{memoir} class wasn't +designed for more compact lists \emph{per se}, but offers the user +control over the list spacing. + +There are packages that provide some control of list spacing, but they +seldom address the separation from surrounding text (defined by +\csx{topsep}). The \Package{expdlist} package, among its many controls +of the appearance of \environment{description} lists, offers a +compaction parameter (see the documentation); the \Package{mdwlist} +package offers a \csx{makecompactlist} command for users' own list +definitions, and uses it to define compact lists +\environment{itemize*}, \environment{enumerate*} and +\environment{description*}. In fact, you can write lists such as +these commands define pretty straightforwardly~--- for example: +\begin{quote} +\begin{verbatim} +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} +\end{verbatim} +\end{quote} +The \Package{paralist} package provides several approaches to list +compaction: +\begin{itemize} +\item its \environment{asparaenum} environment formats each item as if + it were a paragraph introduced by the enumeration label (which saves + space if the item texts are long); +\item its \environment{compactenum} environment is the same sort of + compact list as is provided in \Package{expdlist} and + \Package{mdwlist}; and +\item its \environment{inparaenum} environment produces a list ``in + the paragraph'', i.e., with no line break between items, which is a + great space-saver if the list item texts are short. +\end{itemize} +The package will manipulate its \environment{enumerate} environment +labels just like the \Qref*{\Package{enumerate} package}{Q-enumerate} +does. + +\Package{Paralist} also provides \environment{itemize} equivalents +(\environment{asparaitem}, etc.), and \environment{description} +equivalents (\environment{asparadesc}, etc.). + +The ultimate in compaction (of every sort) is offered by the +\Package{savetrees} package; compaction of lists is included. The +package's prime purpose is to save space at every touch and turn: +don't use it if you're under any design constraint whatever! + +The \Package{expdlist}, \Package{mdwlist} and \Package{paralist} +packages all offer other facilities for list configuration: you should +probably not try the ``do-it-yourself'' approaches outlined below if +you need one of the packages for some other list configuration +purpose. + +For ultimate flexibility (including manipulation of \csx{topsep}), the +\Package{enumitem} package permits adjustment of list parameters using +a ``\emph{key}\latexhtml{\ensuremath{=}}{=}\meta{value}'' format; so +for example, one might write +\begin{quote} +\begin{verbatim} +\usepackage{enumitem} +... +\begin{enumerate}[topsep=0pt, partopsep=0pt] +\item ... ... +\end{enumerate} +\end{verbatim} +\end{quote} +to suppress all spacing above and below your list. \Package{Enumitem} +also permits manipulation of the label format in a more ``basic'' +manner than the \Qref*{\Package{enumerate} package}{Q-enumerate} does. +%% If you want to adjust \csx{topsep}, the most sensible approach (at +%% present) is to define your list `from first principles' using the +%% \csx{list} command; its invocation is +%% % beware line break +%% \cmdinvoke{list}{\meta{item stuff}}{\meta{list stuff}}; the +%% \texttt{\meta{list stuff}} is executed \emph{after} the +%% \csx{@list}\texttt{\meta{depth}}, and can therefore be used to adjust +%% all the parameters, including \csx{topsep}. +%% +%% An alternative is to redefine \csx{@list}\texttt{\meta{depth}} (and the +%% size-changing commands that alter \csx{@listi}), but this is not +%% recommended unless you're building your own class or package, in which +%% case one hopes you're capable of analysing the way in which the +%% standard classes do things (as recommended in +%% % beware line wrap +%% \Qref[question]{writing your own package}{Q-writecls}). +\begin{ctanrefs} +\item[enumerate.sty]Distributed as part of \CTANref{2etools} +\item[enumitem.sty]\CTANref{enumitem} +\item[expdlist.sty]\CTANref{expdlist} +\item[memoir.cls]\CTANref{memoir} +\item[mdwlist.sty]Distributed as part of \CTANref{mdwtools} +\item[paralist.sty]\CTANref{paralist} +\item[savetrees.sty]\CTANref{savetrees} +\end{ctanrefs} + +\Question[Q-interruptlist]{Interrupting enumerated lists} + +It's often convenient to have commentary text, `outside' the list, +between successive entries of a list. In the case of +\environment{itemize} lists this is no problem, since there's never +anything to distinguish successive items, while in the case of +\environment{description} lists, the item labels are under the user's +control so there's no automatic issue of continuity. + +For \environment{enumerate} lists, the labels are generated +automatically, and are context-sensitive, so the context (in this +case, the state of the enumeration counter) needs to be preserved. + +The belt-and-braces approach is to remember the state of the +enumeration in your own counter variable, and then restore it when +restarting enumerate: +\begin{quote} +\begin{verbatim} +\newcounter{saveenum} + ... +\begin{enumerate} + ... + \setcounter{saveenum}{\value{enumi}} +\end{enumerate} +<Commentary text> +\begin{enumerate} + \setcounter{enumi}{\value{saveenum}} + ... +\end{enumerate} +\end{verbatim} +\end{quote} + +This is reasonable, in small doses\dots{} Problems (apart from sheer +verbosity) are getting the level right (``should I use counter +\texttt{enumi}, \texttt{enumii}, \dots{}'') and remembering not to +nest the interruptions (i.e., not to have a separate list, that is +itself interrupted) in the ``commentary text''). + +The \Package{mdwlist} package defines commands \csx{suspend} and +\csx{resume} that simplify the process: +\begin{quote} +\begin{verbatim} +\begin{enumerate} + ... +\suspend{enumerate} +<Commentary text> +\resume{enumerate} + ... +\end{enumerate} +\end{verbatim} +\end{quote} +The package allows an optional name (as in +\cmdinvoke{suspend}[id]{enumerate}) to allow you to identify a +particular suspension, and hence provide a handle for manipulating +nested suspensions. + +If you're suspending a \Qref*{fancy-enumeration list}{Q-enumerate}, +you need to +re-supply the optional ``item label layout'' parameters required by +the \Package{enumerate} package when resuming the list, whether by the +belt-and-braces approach, or by the \Package{mdwlist} +\cmdinvoke{resume}{enumerate} technique. The task is a little tedious +in the \Package{mdwlist} case, since the optional argument has to be +encapsulated, whole, inside an optional argument to \csx{resume}, +which requires use of extra braces: +\begin{quote} +\begin{verbatim} +\begin{enumerate}[\textbf{Item} i] + ... +\suspend{enumerate} +<comment> +\resume{enumerate}[{[\textbf{Item} i]}] +... +\end{enumerate} +\end{verbatim} +\end{quote} +\nothtml{\noindent}The \Package{enumitem} package, in its most recent +release, will allow you to resume lists, at one level only: +\begin{quote} +\begin{verbatim} +\begin{enumerate} +... +\end{enumerate} +<comment> +\begin{enumerate}[resume] +... +\end{enumerate} +\end{verbatim} +\end{quote} +which feels just as ``natural'' as the \Package{mdwtools} facility, +and has the advantage of playing well with the other excellent +facilities of \Package{enumitem}. +\begin{ctanrefs} +\item[enumerate.sty]Distributed as part of \CTANref{2etools} +\item[enumitem.sty]\CTANref{enumitem} +\item[mdwlist.sty]Distributed as part of \CTANref{mdwtools} +\end{ctanrefs} + +\subsection{Tables, figures and diagrams} + +\Question[Q-destable]{The design of tables} + +In recent years, several authors have argued that the examples, set +out by Lamport in his \Qref*{\LaTeX{} manual}{Q-books}, have cramped +authors' style and have led to extremely poor table design. It is in +fact difficult even to work out what many of the examples in Lamport's +book ``mean''. + +The criticism focuses on the excessive use of rules (both horizontal +and vertical) and on the poor vertical spacing that Lamport's macros +offer. + +The problem of vertical spacing is plain for all to see, and is +addressed in several packages~--- see % beware line breaks +``\Qref*[question]{spacing of lines in tables}{Q-struttab}''. + +The argument about rules is presented in the excellent essay that +prefaces the documentation of Simon Fear's \Package{booktabs} package, +which (of course) implements Fear's scheme for `comfortable' rules. +(The same rule commands are implemented in the \Class{memoir} class.) + +Lamport's \LaTeX{} was also inflexibly wrong in ``insisting'' that +captions should come at the bottom of a table. Since a table may +extend over several pages, traditional typography places the caption +at the top of a table float. The \csx{caption} command will get its +position wrong (by \texttt{10pt}) if you simply write: +\begin{quote} +\begin{verbatim} +\begin{table} + \caption{Example table} + \begin{tabular}{...} + ... + \end{tabular} +\end{table} +\end{verbatim} +\end{quote} +The \Package{topcapt} package solves this problem: +\begin{quote} +\begin{verbatim} +\usepackage{topcaption} +... +\begin{table} + \topcaption{Example table} + \begin{tabular}{...} + ... + \end{tabular} +\end{table} +\end{verbatim} +\end{quote} +The \Class{KOMA-script} classes provide a similar command +\csx{captionabove}; they also have a class option +\pkgoption{tablecaptionabove} which arranges that \csx{caption} +\emph{means} \csx{captionabove}, in table environments. The +\Package{caption} (from the release of 23 January, 2004) may be loaded +with an option that has the same effect: +\begin{quote} +\begin{verbatim} +\usepackage[tableposition=top]{caption} +\end{verbatim} +\end{quote} + +Doing the job yourself is pretty easy: \Package{topcapt} switches the +values of the \LaTeXe{} parameters \csx{abovecaptionskip} (default +value |10pt|) and \csx{belowcaptionskip} (default value |0pt|), so: +\begin{quote} +\begin{verbatim} +\begin{table} + \setlength{\abovecaptionskip}{0pt} + \setlength{\belowcaptionskip}{10pt} + \caption{Example table} + \begin{tabular}{...} + ... + \end{tabular} +\end{table} +\end{verbatim} +\end{quote} +does the job. (The package itself is very slightly more elaborate\dots{}) +\begin{ctanrefs} +\item[booktabs.sty]\CTANref{booktabs} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\item[memoir.cls]\CTANref{memoir} +\item[topcapt.sty]\CTANref{topcapt} +\end{ctanrefs} + +\Question[Q-fixwidtab]{Fixed-width tables} + +There are two basic techniques for making fixed-width tables in +\LaTeX{}: you can make the gaps between the columns stretch, or you +can stretch particular cells in the table. + +Basic \LaTeX{} can make the gaps stretch: the \environment{tabular*} +environment takes an extra argument (before the |clpr| layout one) +which takes a length specification: you can say things like ``|15cm|'' +or ``\csx{columnwidth}'' here. You must also have an \csx{extracolsep} +command in the |clpr| layout argument, inside an |@{}| directive. So, +for example, one might have +\begin{htmlversion} +\begin{verbatim} +\begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}}lllr} +\end{verbatim} +\end{htmlversion} +\htmlignore \ifpdf +\begin{verbatim} +\begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}}lllr} +\end{verbatim} +\else +\begin{verbatim} +\begin{tabular*}{\columnwidth}% + {@{\extracolsep{\fill}}lllr} +\end{verbatim} +\fi +\endhtmlignore +The \csx{extracolsep} applies to all inter-column gaps to its right as +well; if you don't want all gaps stretched, add +\cmdinvoke{extracolsep}{0pt} to cancel the original. + +The \Package{tabularx} package defines an extra |clpr| column +specification, |X|; |X| columns behave as |p| columns which expand to +fill the space available. If there's more than one |X| column in a +table, the spare space is distributed between them. + +The \Package{tabulary} package (by the same author) provides a way of +``balancing'' the space taken by the columns of a table. The package +defines column specifications |C|, |L|, |R| and |J|, giving, +respectively, centred, left, right and fully-justified versions of +space-sharing columns. The package examines how long each column would +be ``naturally'' (i.e., on a piece of paper of unlimited width), and +allocates space to each column accordingly. There are ``sanity +checks'' so that really large entries don't cause everything else to +collapse into nothingness (there's a ``maximum width'' that any column +can exert), and so that tiny entries can't get smaller than a +specified minimum. Of course, all this work means that the package +has to typeset each row several times, so things that leave +``side-effects'' (for example, a counter used to produce a row-number +somewhere) are inevitably unreliable, and should not even be tried. + +The \Package{ltxtable} combines the features of the +\Package{longtable} and \Package{tabularx} packages: it's important to +read the documentation, since usage is distinctly odd. +\begin{ctanrefs} +\item[ltxtable.sty]Distributed as part of \CTANref{carlisle} +\item[tabularx.sty]Distributed as part of \CTANref{2etools} +\item[tabulary.sty]Distributed as part of \CTANref{carlisle} +\end{ctanrefs} + +\Question[Q-struttab]{Spacing lines in tables} + +\AllTeX{} mechanisms for maintaining the space between lines (the +``\emph{leading}'') rely on \TeX{}'s paragraph builder, which compares +the shape of consecutive lines and adjusts the space between them. + +These mechanisms can't work in exactly the same way when \AllTeX{} is +building a table, because the paragraph builder doesn't get to see the +lines themselves. As a result, tables sometimes typeset with lines +uncomfortably close together (or occasionally ridiculously far apart). + +Traditional (moving metal type) typographers would adjust the spacing +between lines of a table by use of a ``\emph{strut}'' (a metal +spacer). A \TeX{} user can do exactly the same thing: most macro +packages define a \csx{strut} command, that defines a space appropriate +to the current size of the text; placing a \csx{strut} command at the +end of a troublesome row is the simplest solution to the problem~--- +if it works. Other solutions below are \LaTeX{}-specific, but some +may be simply translated to Plain~\TeX{} commands. + +If your table exhibits a systematic problem (i.e., every row is wrong +by the same amount) use \csx{extrarowheight}, which is defined by the +\Package{array} package: +\begin{verbatim} +\usepackage{array}% in the preamble +... +\setlength{\extrarowheight}{length} +\begin{tabular}{....} +\end{verbatim} + +To correct a single row whose maladjustment isn't corrected by a +\csx{strut} command, you can define your own, using +\cmdinvoke{rule}{0pt}{length}~--- which is a near approximation to the +command that goes inside a \csx{strut}. The \Package{bigstrut} package +defines a strut command that you can use for this purpose: +\csx{bigstrut} on its own opens up both above and below the current +line; \cmdinvoke{bigstrut}[t] opens up above the line, +\cmdinvoke{bigstrut}[b] opens up below the line. + +General solutions are available, however. The \Package{tabls} package +automatically generates an appropriately-sized strut at the end of +each row. Its disadvantages are that it's really rather slow in +operation (since it gets in the way of everything within tables) and +its (lack of) compatibility with other packages. + +The \Package{booktabs} package comes with a thought-provoking essay +about how tables should be designed. Since table row-spacing problems +most often appear in collisions with rules, the author's thesis, +that \LaTeX{} users tend too often to rule their tables, is +interesting. The package provides rule commands to support the +author's scheme, but deals with inter-row spacing too. The most +recent release of \Package{booktabs} sports compatibility with +packages such as \Package{longtable}. + +Documentation of both \Package{bigstrut} and \Package{tabls} may be +found as comments in the package files themselves. +\begin{ctanrefs} +\item[array.sty]Distributed as part of \CTANref{2etools} +\item[bigstrut.sty]Distributed as part of \CTANref{multirow} +\item[booktabs.sty]\CTANref{booktabs} +\item[tabls.sty]\CTANref{tabls} +\end{ctanrefs} + +\Question[Q-longtab]{Tables longer than a single page} + +Tables are, by default, set entirely in boxes of their own: as a +result, they won't split over a page boundary. Sadly, the world keeps +turning up tables longer than a single page that we need to typeset. + +For simple tables (whose shape is highly regular), the simplest +solution may well be to use the \environment{tabbing} environment, +which is slightly tedious to set up, but which doesn't force the whole aligment +onto a single page. + +The \Package{longtable} package builds the whole table (in chunks), in +a first pass, and then uses information it has written to the |.aux| +file during later passes to get the setting ``right'' (the package +ordinarily manages to set tables in just two passes). Since the +package has overview of the whole table at the time it's doing +``final'' setting, the table is set ``uniformly'' over its entire +length, with columns matching on consecutive pages. +\Package{longtable} has a reputation for failing to interwork with +other packages, but it does work with \Package{colortbl}, and its +author has provided the \Package{ltxtable} package to provide (most +of) the facilities of \Package{tabularx} (see +% beware line wrap +\Qref[question]{fixed-width tables}{Q-fixwidtab}) for long tables: +beware of its rather curious usage constraints~--- each long table +should be in a file of its own, and included by +\cmdinvoke*{LTXtable}{width}{file}. Since \Package{longtable}'s +multiple-page tables can't possibly live inside floats, the package +provides for captions within the \environment{longtable} environment +itself. + +A seeming alternative to \Package{ltxtable} is \Package{ltablex}; but +it is outdated and not fully functional. Its worst problem is its +strictly limited memory capacity (\Package{longtable} is not so +limited, at the cost of much complication in its code); +\Package{ltablex} can only deal with relatively small tables, it doesn't seem +likely that support is available; but its user interface is much +simpler than \Package{ltxtable}, so if its restrictions aren't a +problem for you, it may be worth a try. + +The \Package{supertabular} package starts and stops a +\environment{tabular} environment for each page of the table. As a +result, each `page worth' of the table is compiled independently, and +the widths of corresponding columns may differ on successive pages. +However, if the correspondence doesn't matter, or if your columns are +fixed-width, \Package{supertabular} has the great advantage of doing +its job in a single run. + +Both \Package{longtable} and \Package{supertabular} allow definition +of head- and footlines for the table; \Package{longtable} allows +distinction of the first and last head and foot. + +The \Package{xtab} package fixes some infelicities of +\Package{supertabular}, and also provides a ``last head'' facility +(though this, of course, destroys \Package{supertabular}'s advantage +of operating in a single run). + +The \Package{stabular} package provides a simple-to-use ``extension to +\environment{tabular}'' that allows it to typeset tables that run over +the end of a page; it also has usability extensions, but doesn't have +the head- and footline capabilities of the major packages. + +Documentation of \Package{ltablex} is to be found in the package file. +\begin{ctanrefs} +\item[longtable.sty]Distributed as part of \CTANref{2etools} +\item[ltablex.sty]\CTANref{ltablex} +\item[ltxtable.sty]Generate by running \CTANref{ltxtable} +\item[stabular.sty]Distributed as part of \CTANref{sttools} +\item[supertabular.sty]\CTANref{supertabular} +\item[xtab.sty]\CTANref{xtab} +\end{ctanrefs} + +\Question[Q-tabcellalign]{How to alter the alignment of tabular cells} + +One often needs to alter the alignment of a tabular \texttt{p} (`paragraph') +cell, but problems at the end of a table row are common. With a +\texttt{p} cell that looks like: +\begin{quote} +\begin{verbatim} +... & \centering blah ... \\ +\end{verbatim} +\end{quote} +one is liable to encounter errors that complain about a ``misplaced +\csx{noalign}'' or ``\Qref*{extra alignment tab}{Q-altabcr}'', or the like. +The problem is that the command \texttt{\bsbs } means different things in +different circumstances: the \environment{tabular} environment +switches the meaning to a value for use in the table, and +\csx{centering}, \csx{raggedright} and \csx{raggedleft} all change the +meaning to something incompatible. Note that the problem only +arises in the last cell of a row: since each cell is set into a box, +its settings are lost at the \texttt{\&} (or \texttt{\bsbs }) that +terminates it. + +The simple (old) solution is to preserve the meaning of \texttt{\bsbs }: +\begin{quote} +\begin{verbatim} +\newcommand\PBS[1]{\let\temp=\\% + #1% + \let\\=\temp +} +\end{verbatim} +\end{quote} +which one uses as: +\begin{quote} +\begin{verbatim} +... & \PBS\centering blah ... \\ +\end{verbatim} +\end{quote} +(for example). + +The technique using \csx{PBS} was developed in the days of \LaTeXo{} +because the actual value of \texttt{\bsbs } that the \environment{tabular} +environment uses was only available as an internal command. Nowadays, +the value is a public command, and you can in principle use it +explicitly: +\begin{quote} +\begin{verbatim} +... & \centering blah ... \tabularnewline +\end{verbatim} +\end{quote} +which may be incorporated into a simple macro as: +\begin{quote} +\begin{verbatim} +\newcommand{\RBS}{\let\\=\tabularnewline} +... +... & \centering\RBS blah ... \\ +\end{verbatim} +\end{quote} +and used as +\begin{quote} +\begin{verbatim} +... & \centering\RBS blah ... \\ +\end{verbatim} +\end{quote} +(note, you Preserve backslash with \csx{PBS} \emph{before} the command +that changes it, and Restore it with \csx{RBS} \emph{after} the +command; in fact, \csx{RBS} is marginally preferable, but the old +trick lingers on). + +The \csx{PBS} and \csx{RBS} tricks also serve well in \Package{array} +package ``field format'' preamble specifications: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\begin{tabular}{...>{\centering\RBS}% + p{50mm}} +... +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\begin{tabular}{... >{\centering\RBS}p{50mm}} +... +\end{verbatim} +\end{wideversion} +\end{quote} +or +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\begin{tabular}{...>{\PBS\centering}% + p{50mm}} +... +\end{verbatim} +\end{narrowversion} +\end{quote} +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\begin{tabular}{... >{\PBS\centering}p{50mm}} +... +\end{verbatim} +\end{wideversion} +\end{quote} +In the \Package{tabularx} and \Package{tabulary} packages, there's a +command \csx{arraybackslash} that has same effect as \csx{RBS} (above); +so in those packages, one might say: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\begin{tabular}{...% + >{\centering\arraybackslash}% + p{50mm}} +... +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\begin{tabular}{... >{\centering\arraybackslash}p{50mm}} +... +\end{verbatim} +\end{wideversion} +\end{quote} +in place of the example above; in fact, the very latest (2003/12/01) +release of array.sty also provides a \csx{tabularnewline} command, +that has the ``basic tabular/array'' meaning of `\bsbs '. +% note space at end of sentence is necessary for sanitize.pl +The command does rather lack brevity, but at least you don't have to +define it for yourself. +\begin{ctanrefs} +\item[array.sty]Distributed as part of \CTANref{2etools} +\item[tabularx.sty]Distributed as part of \CTANref{2etools} +\item[tabulary.sty]Distributed as part of \CTANref{carlisle} +\end{ctanrefs} +\nothtml{\vskip 0pt plus 4ex} + +\Question[Q-rulethk]{The thickness of rules in \LaTeX{} tables} + +The rules in a \LaTeX{} table are by default \texttt{0.4pt} thick; +this is in fact a default built in at the lowest level, and applies to +all rules (including those separating blocks of running text). + +Sometimes, however, we look at a table and find we want the rules to +stand out~--- perhaps to separate the text from the rest of the body +text, or to make the sections of the table stand out from one another. +However, a quick review of any \LaTeX{} manual will reveal no +technique for making any one rule stand out, and a little +experimentation shows that it is indeed pretty difficult to prevent +a change ``bleeding'' out to affect other rules in the same table. + +Refer to the answer on \Qref*{design of tables}{Q-destable}, elsewhere +among these \acro{FAQ}s, and you may sense that the design of \LaTeX{} +suimply skipped the issues surrounding table design, and \emph{that's} +why there's no facilities to help you. + +Specifically, the length \csx{arrayrulewidth} affects the thickness of +the rules (both horizontal and vertical) within both +\environment{tabular} and \environment{array} environments. If you +change from the default (see above) only as far as +\begin{quote} +\begin{verbatim} +\setlength{\arrayrulewidth}{1pt} +\end{verbatim} +\end{quote} +the change is remarkably striking. However, really quite subtle user +level programming proves incapable of changing just \emph{one} rule: +it's necessary to delve into the (rather tricky) code of \csx{hline} +and \csx{cline} themselves. + +Fortunately, this job has already been done for the community: the +\Package{booktabs} package defines three different classes of rule +(\csx{toprule}, \csx{midrule} and \csx{bottomrule}), and the package +documentation offers hints on how to use them. You are +\emph{strongly} advised to read the documentation pretty carefully. + +The \Class{memoir} class includes the \Package{booktabs} package, and +repeats the documentation in its compendious manual. + +Note that none of the above mentions the issue of the weight of +vertical rules (except in passing). For the reasons, see the +documentation of the \Package{booktabs} package (again); vertical +rules in tables are in any case even more trickily coded than are +horizontal rules, and if their lack of configurability makes them +still less attractive, so much the better for the design of your +document. +\begin{ctanrefs} +\item[booktabs.sty]\CTANref{booktabs} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\Question[Q-textflow]{Flowing text around figures in \LaTeX{}} + +There are several \LaTeX{} packages that purport to do this, but they +all have their limitations because the \TeX{} machine isn't really +designed to solve this sort of problem. Piet van Oostrum has +conducted a survey of the available packages; he recommends: + +\begin{description} +\item[\texttt{floatflt}] \Package{floatflt} is an improved version + (for \LaTeXe{}) of \File{floatfig.sty}, and its syntax is: + +\begin{htmlversion} +\begin{verbatim} +\begin{floatingfigure}[options]{width of figure} + figure contents +\end{floatingfigure} +\end{verbatim} +\end{htmlversion} +\htmlignore +|\begin{floatingfigure}[|\emph{options}|]{|\emph{width of figure}|}|\\ + | |\emph{figure contents}\\ + |\end{floatingfigure}| \endhtmlignore + +There is a (more or less similar) \environment{floatingtable} +environment. + +The tables or figures can be set left or right, or alternating on +even/odd pages in a double-sided document. + +The package works with the |multicol| package, but doesn't work well +in the neighbourhood of list environments (unless you change your +\LaTeX{} document). +\item[\texttt{wrapfig}] \Package{wrapfig} has syntax: + +\begin{htmlversion} +\begin{verbatim} +\begin{wrapfigure}[height of figure in lines]{l|r}[overhang]{width} + figure, caption, etc. +\end{wrapfigure} +\end{verbatim} +\end{htmlversion} +\htmlignore \ifpdf + |\begin{wrapfigure}[|\emph{height of figure in lines}|]|% + |{l|,|r|,\emph{etc}|}|\\ + | [|\emph{overhang}|]{|\emph{width}|}|\\ + \else + |\begin{wrapfigure}[|\emph{height of figure in lines}|]|\\ + | {l|,|r|,\emph{etc}|}[|\emph{overhang}|]{|\emph{width}|}|\\ + \fi + | |\emph{figure, caption, etc.}\\ + |\end{wrapfigure}| \endhtmlignore + + The syntax of the \environment{wraptable} environment is similar. + + Height can be omitted, in which case it will be calculated by the + package; the package will use the greater of the specified and the + actual width. The |{l|\emph{,}|r|\emph{,etc}.|}| parameter can + also be specified as |i|\emph{(nside)} or |o|\emph{(utside)} for + two-sided documents, and uppercase can be used to indicate that + the picture should float. The overhang allows the figure to be + moved into the margin. The figure or table will entered into the + list of figures or tables if you use the \csx{caption} command. + + The environments do not work within list environments that end + before the figure or table has finished, but can be used in a + parbox or minipage, and in twocolumn format. + \item[\texttt{picins}] \Package{Picins} is part of a large bundle + that allows inclusion of pictures (e.g., with shadow boxes, + various \MSDOS{} formats, etc.). The command is: + +\begin{htmlversion} + |\parpic(width,height)(x-off,y-off)[Options][Position]{Picture}|\\ +\end{htmlversion} +\htmlignore \ifpdf + |\parpic(|\emph{width}|,|\emph{height}|)(|\emph{x-off}\kern-.125em|,|\emph{y-off}|)|% + |[|\emph{Options}|][|\emph{Position}|]|\\ + \else + |\parpic(|\emph{width}|,|\emph{height}|)(|\emph{x-off}\kern-.125em|,|\emph{y-off}|)|\\ + | [|\emph{Options}|][|\emph{Position}|]|\\ + \fi + | {|\emph{Picture}|}|\\ + \endhtmlignore \emph{Paragraph text} + + All parameters except the \emph{Picture} are optional. The picture + can be positioned left or right, boxed with a rectangle, oval, + shadowbox, dashed box, and a caption can be given which will be + included in the list of figures. + +% This is the only package that I tried that correctly works inside an +% enumerate/itemize item. It does not, however work with +% enumerate/itemize besides the picture (i.e. started after the \parpic +% command) but neither does any of the other packages as far as I could +% discern. + + Unfortunately (for those of us whose understanding of German is not + good), the documentation is in German. Piet van Oostrum has written + an English summary. +\end{description} +\begin{ctanrefs} +\item[floatflt.sty]\CTANref{floatflt} +\item[picins.sty]\CTANref{picins} +\item[picins \nothtml{\rmfamily}documentation + summary]\CTANref{picins-summary} +\item[wrapfig.sty]\CTANref{wrapfig} +\end{ctanrefs} + +\Question[Q-slashbox]{Diagonal separation in corner cells of tables} + +You want to label both the top or bottom row and the left- or +rightmost column, somewhere at the corner of the table where the row +and column meet. A simple way to achieve the result is to construct +the table with an arrangement of rules (and possibly \csx{multicolumn} +entries), to look like: +\begin{quote} +\begin{verbatim} +----------------- +x y + -------------- + 1 2 3 4 5 +----------------- +1 +2 +3 +4 +5 +----------------- +\end{verbatim} +\end{quote} +However, this doesn't satisfy everyone: many want the labelling in a +single cell at the top left of the table. It sounds a simple enough +requirement, yet it calls for some slightly tricky \LaTeX{} coding. +The \Package{slashbox} package does the job for you: it defines +commands \csx{slashbox} and \csx{backslashbox}, each taking the two +labels as arguments. It draws a picture with the two labels on either +side of a slanting line; the command (and hence the picture) may be +placed in the corner cell, where the labelled row and column meet. + +The package isn't the world's neatest: it uses \LaTeX{} +\environment{picture} mode to draw its line, and picture mode has many +tedious restrictions (and doesn't, in all honesty, produce +particularly good pictures). Load slashbox with the \Package{pict2e} +package, and at least the picture quality will be improved. + +Documentation of \Package{slashbox} is less than satisfactory: a +\LaTeX{} source file of rather startling starkness accompanies the +package file in the distribution. It does, however, process to a +\acro{DVI} file that gives some idea of how the \csx{slashbox} may be +expected to look. (The third example in the file shows the effect of +\environment{picture} mode's restrictions: the dividing line doesn't +go from corner to corner in the box: to correct this requires revision +of \Package{slashbox}~--- \Package{pict2e} alone doesn't help in this +regard.) +\begin{ctanrefs} +\item[slashbox.sty]\CTANref{slashbox} +\end{ctanrefs} + +\Question[Q-wholerow]{How to change a whole row of a table} + +Each cell of a table is set in a box, so that a change of font style +(or whatever) only lasts to the end of the cell. If one has a +many-celled table, or a long one which needs lots of rows emphasising, +putting a font style change command in every cell will be impossibly +tedious. + +With the \Package{array} package, you can define column modifiers +which will change the font style for a whole \emph{column}. However, +with a bit of subtlety, one can make such modifiers affect rows rather +than columns. So, we set things up by: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\usepackage{array} +\newcolumntype{$}{>{% + \global\let\currentrowstyle\relax}% +} +\newcolumntype{^}{>{\currentrowstyle}} +\newcommand{\rowstyle}[1]{% + \gdef\currentrowstyle{#1}% + #1\ignorespaces +} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\usepackage{array} +\newcolumntype{$}{>{\global\let\currentrowstyle\relax}} +\newcolumntype{^}{>{\currentrowstyle}} +\newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}% + #1\ignorespaces +} +\end{verbatim} +\end{wideversion} +\end{quote} +Now, we put `\texttt{\$}' before the first column specifier; and we put `|^|' +before the modifiers of subsequent ones. We then use \csx{rowstyle} at +the start of each row we want to modify: +\begin{quote} +\begin{verbatim} +\begin{tabular}{|$l|^l|^l|} \hline + \rowstyle{\bfseries} + Heading & Big and & Bold \\ \hline + Meek & mild & entry \\ + Meek & mild & entry \\ + \rowstyle{\itshape} + Strange & and & italic \\ + Meek & mild & entry \\ \hline +\end{tabular} +\end{verbatim} +\end{quote} +The \Package{array} package works with several other +\environment{tabular}-like environments from other packages (for +example \environment{longtable}), but unfortunately this trick won't +always work. +\begin{ctanrefs} +\item[array.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + +\Question[Q-multirow]{Merging cells in a column of a table} + +It's easy to come up with a table design that requires a cell that +spans several rows. An example is something where the left-most +column labels the rest of the table; this can be done (in simple +cases) by using % beware line break +\Qref*{diagonal separation in corner cells}{Q-slashbox}, but that +technique rather strictly limits what can be used as the content of +the cell. + +The \Package{multirow} package enables you to construct such multi-row +cells, in a very simple manner. For the simplest possible use, one +might write: +\begin{quote} +\begin{verbatim} +\begin{tabular}{|c|c|} +\hline +\multirow{4}*{Common g text} + & Column g2a\\ + & Column g2b \\ + & Column g2c \\ + & Column g2d \\ +\hline +\end{tabular} +\end{verbatim} +\end{quote} +and \Package{multirow} will position ``Common g text'' at the vertical +centre of the space defined by the other rows. Note that the rows +that don't contain the ``multi-row'' specification must have empty +cells where the multi-row is going to appear. + +The ``|*|'' may be replaced by a column width specification. In this +case, the argument may contain forced line-breaks: +\begin{quote} +\begin{verbatim} +\begin{tabular}{|c|c|} +\hline +\multirow{4}{25mm}{Common\\g text} + & Column g2a\\ + & Column g2b \\ + & Column g2c \\ + & Column g2d \\ +\hline +\end{tabular} +\end{verbatim} +\end{quote} +A similar effect (with the possibility of a little more +sophistication) may be achieved by putting a smaller table that lines +up the text into a |*|-declared \csx{multirow}. + +The \csx{multirow} command may also used to write labels vertically +down one or other side of a table (with the help of the +\Package{graphics} or \Package{graphicx} package, which provide the +\csx{rotatebox} command): +\begin{quote} +\begin{verbatim} +\begin{tabular}{|l|l|} +\hline +\multirow{4}*{\rotatebox{90}{hi there}} + & Column g2a\\ + & Column g2b \\ + & Column g2c \\ + & Column g2d \\ +\hline +\end{tabular} +\end{verbatim} +\end{quote} +(which gives text going upwards; use angle |-90| for text going +downwards, of course). + +\Package{Multirow} is set up to interact with the \Package{bigstrut} +package (which is also discussed in the answer to % beware line break +\Qref[question]{spacing lines in tables}{Q-struttab}). You use an +optional argument to the \csx{multirow} command to say how many of the +rows in the multi-row have been opened up with \csx{bigstrut}. + +The documentation of both \Package{multirow} and \Package{bigstrut} is +to be found, as comments, in the package files themselves. +\begin{ctanrefs} +\item[bigstrut.sty]Distributed as part of \CTANref{multirow} +\item[multirow.sty]\CTANref{multirow} +\end{ctanrefs} + +\subsection{Floating tables, figures, etc.} + +\Question[Q-floatpages]{Floats on their own on float pages} + +It's sometimes necessary to force a float to live on a page by itself. +(It's sometimes even necessary for \emph{every} float to live on a +page by itself.) When the float fails to `set', and waits for the end +of a chapter or of the document, the natural thing to do is to declare +the float as +\begin{verbatim} + \begin{figure}[p!] +\end{verbatim} +but the overriding |!| modifier has no effect on float page floats; so +you have to make the float satisfy the parameters. +\Qref[Question]{Moving tables and figures}{Q-floats} offers some +suggestions, but doesn't solve the one-float-per-page question. + +The `obvious' solution, using the counter |totalnumber| (``total +number of floats per page'') doesn't work: +|totalnumber| only applies to floats on `text' pages (pages containing +text as well as one or more float). So, to allow any +size float to take a whole page, set \csx{floatpagefraction} really +small, and to ensure that no more than one float occupies a page, make +the separation between floats really big: +\begin{quote} +\begin{verbatim} +\renewcommand\floatpagefraction{.001} +\makeatletter +\setlength\@fpsep{\textheight} +\makeatother +\end{verbatim} +\end{quote} +\Question[Q-vertspacefloat]{Extra vertical space in floats} + +A common complaint is that extra vertical space has crept into +\environment{figure} or \environment{table} floating environments. +More common still are users who post code that introduces this extra +space, and \emph{haven't noticed the problem}! + +The trouble arises from the fact that the \environment{center} +environment (and its siblings \environment{flushleft} and +\environment{flushright}) are actually based on \LaTeX{}'s +list-handling code; and lists always separate themselves from the +material around them. Meanwhile, there are parameters provided to +adjust the spacing between floating environments and their +surroundings; so if we have: +\begin{verbatim} +\begin{figure} + \begin{center} + \includegraphics{...} + \caption{...} + \end{center} +\end{figure} +\end{verbatim} +\nothtml{\noindent}or worse still: +\begin{verbatim} +\begin{figure} + \begin{center} + \includegraphics{...} + \end{center} + \caption{...} +\end{figure} +\end{verbatim} +unwarranted vertical space is going to appear. + +The solution is to let the float and the objects in it position +themselves, and to use ``generic'' layout commands rather than their +list-based encapsulations. +\begin{verbatim} +\begin{figure} + \centering \includegraphics{...} + \caption{...} +\end{figure} +\end{verbatim} +(which even involves less typing). + +This alternative code will work with any \LaTeX{} package. It will +not work with obsolete (pre-\LaTeXe{}) packages such as +\Package{psfig} or \Package{epsf}~--- see % beware line break +\Qref[question]{graphics inclusion}{Q-impgraph} for discussion of the +genesis of \csx{includegraphics}. + +\Question[Q-2colfloat]{Placing two-column floats at bottom of page} + +You specified placement `|[htbp]|' for your full-width figure or +table, but they always get placed at the top of the page\dots{} Well, +it \emph{is} what the documentation says: \LaTeX{}, unadorned, only +allows full-width floats at the top of a page, or occupying (part of) a +float page. + +The \Package{stfloats} package ameliorates the situation somewhat, and +makes \LaTeX{} honour `[b]' placement as well; the +\Package{dblfloatfix} package combines a tidied version of the changes +made in \Package{stfloats} with the +\begin{narrowversion} % non-hyper + float ordering corrections defined in \Package{fixltx2e} + (\Qref{}{Q-2colfltorder}). +\end{narrowversion} +\begin{wideversion} % hyper + \Qref{float ordering corrections}{Q-2colfltorder} defined in + \Package{fixltx2e}. +\end{wideversion} + +A particular problem with \Package{stfloats} and \Package{dblfloatfix} +is that the float will appear, at its earliest, on the page after it +is specified. This has two undesirable side-effects: first, there may +be no bottom float on the first page of a document, and second, float +numbers may become ``entangled'' (particularly if you're using +\Package{dblfloatfix} that ensures that the early-specified bottom +float is set \emph{before} any single column floats). + +(The \acro{FAQ} team doesn't know of any package that will make +\LaTeX{} honour `[h]' placement of double-column floats, but the +\Package{midfloat} package can be pressed into service to provide +something approximating the effect it would have.) +\begin{ctanrefs} +\item[dblfloatfix.sty]\CTANref{dblfloatfix} +\item[stfloats.sty, midfloat.sty]Distributed as part of + \CTANref{sttools} +\end{ctanrefs} + +\Question[Q-mcfloat]{Floats in multicolumn setting} + +If you use +\begin{verbatim} +\begin{figure} + ... +\end{figure} +\end{verbatim} +in a \environment{multicols} environment, the figure won't appear. If +instead you use +\begin{verbatim} +\begin{figure*} + ... +\end{figure*} +\end{verbatim} +the figure will stretch right across the page (just the same as a +\environment{figure*} in standard \LaTeX{}'s |twocolumn| option). + +It's possible to have single-column figures and tables with captions, +using the `|[H]|' placement option introduced by the \Package{float} +package but you might have to fiddle with the placement because they +won't `float', and exhibit other strange behaviours (such as silently +running off the end of the column at the end of the +\environment{multicols} environment). +\begin{ctanrefs} +\item[float.sty]\CTANref{float} +\item[multicol.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + +\Question[Q-dpfloat]{Facing floats on 2-page spread} + +If a pair of floats are to be forced to form a 2-page spread (in a +book, or whatever), the first must lie on the left side of the spread, +on an even-numbered page. The \Package{dpfloat} package provides for +this: the construction to use is: +\begin{quote} +\begin{verbatim} +\begin{figure}[p] + \begin{leftfullpage} + <left side figure> + \end{leftfullpage} +\end{figure} +\begin{figure}[p] + \begin{fullpage} + <right side figure> + \end{fullpage} +\end{figure} +\end{verbatim} +\end{quote} +The construction has no effect unless the standard class option +\pkgoption{twoside} is in effect. + +Full documentation of the package (such as it is) is to be found in +\File{README.dpfloat} +\begin{ctanrefs} +\item[dpfloat.sty]\CTANref{dpfloat} +\end{ctanrefs} + +\Question[Q-vertposfp]{Vertical layout of float pages} + +By default, \LaTeX{} vertically centres the floats on a float page; +the present author is not alone in not liking this arrangement. +Unfortunately, the control of the positioning is ``buried'' in +\LaTeX{}-internal commands, so some care is needed to change the +layout. + +Float pages use three \LaTeX{} lengths (i.e., \TeX{} skips) to define +their layout: +\begin{description} +\item[\nothtml{\normalfont}\csx{@fptop}] defines the distance from the + top of the page to the top of the first float, +\item[\nothtml{\normalfont}\csx{@fpsep}] defines the separation between + floats, and +\item[\nothtml{\normalfont}\csx{@fpbot}] defines the distance from the + bottom of the last float on the page to the bottom of the page. +\end{description} +(In fact, the output routine places a skip of \csx{@fpsep} above each float, so +the \csx{@fptop} skip is always followed by a correction for that.) + + +The \LaTeX{} defaults are:\\ +\csx{@fptop} = |0pt + 1fil|\\ +\csx{@fpsep} = |8pt + 2fil|\\ +\csx{@fpbot} = |0pt + 1fil|\\ +so that the gaps expand to fill the space not occupied by floats, but +if there is more than one float on the page, the gap between them will +expand to twice the space at top and bottom. + +Those who understand this stuff will be able to play elaborate games, +but the commonest requirement, that the floats start at the top of the +page, is a simple thing to do: +\begin{quote} +\begin{verbatim} +\makeatletter +\setlength{\@fptop}{0pt} +\makeatother +\end{verbatim} +\end{quote} +Surprisingly, you may find this setting leaves your floats too high on +the page. One can justify a value of \texttt{5pt} (in place of +\texttt{0pt})~--- it's roughly the difference between \csx{topskip} +and the height of normal (\texttt{10pt}) text. + +Note that this is a ``global'' setting (best established in a class +file, or at worst in the document preamble); making the change for a +single float page is likely (at the least) to be rather tricky. + +\subsection{Footnotes} + +\Question[Q-footintab]{Footnotes in tables} + +The standard \LaTeX{} \csx{footnote} command doesn't work in tables; the table +traps the footnotes and they can't escape to the bottom of the page. + +If your table is floating, your best bet is (unfortunately) to put the +table in a \environment{minipage} environment and to put the notes +underneath the table, or to use Donald Arseneau's package +\Package{threeparttable} (which implements ``table notes'' proper). + +The \Package{ctable} package extends the model of +\Package{threeparttable}, and also uses the ideas of the +\Package{booktabs} package. The \csx{ctable} command does the complete +job of setting the table, placing the caption, and defining the +notes. The ``table'' may consist of diagrams, and a parameter in +\csx{ctable}'s optional argument makes the float that is created a +``figure'' rather than a ``table''. + +Otherwise, if your table is not floating (it's just a +`|tabular|' in the middle of some text), there are several +things you can do to fix the problem. +\begin{itemize} +\item Use \csx{footnotemark} to position the little marker + appropriately, and then put in \csx{footnotetext} commands to fill in + the text once you've closed the \environment{tabular} environment. + This is described in Lamport's book, but it gets messy if there's + more than one footnote. +\item Stick the table in a |minipage| anyway. This provides all the + ugliness of footnotes in a minipage with no extra effort. +\item Use \Package{threeparttable} anyway; the package is intended for + floating tables, and the result might look odd if the table is not + floating, but it will be reasonable. +\item Use \Package{tabularx} or \Package{longtable} from the \LaTeX{} + tools distribution; they're noticeably less efficient than the + standard \environment{tabular} environment, but they do allow + footnotes. +\item Grab hold of \Package{footnote}, and put your + \environment{tabular} environment inside a \environment{savenotes} + environment. Alternatively, say + \cmdinvoke{makesavenoteenv}{tabular} in the preamble of your + document, and tables will all handle footnotes correctly. +\item Use \Package{mdwtab} from the same bundle; it will handle + footnotes properly, and has other facilities to increase the beauty + of your tables. It may also cause other table-related packages (not + the standard `tools' ones, though) to become very unhappy and stop + working. +\end{itemize} + +The documentation of \Package{threeparttable} appears in the package +file itself; that of \Package{ctable} is distributed as a \acro{PDF} +file (for convenience's sake). +\begin{ctanrefs} +\item[ctable.sty]\CTANref{ctable} +\item[footnote.sty]Distributed as part of \CTANref{mdwtools} +\item[longtable.sty]Distributed as part of \CTANref{2etools} +\item[mdwtab.sty]Distributed as part of \CTANref{mdwtools} +\item[threeparttable.sty]\CTANref{threeparttable} +\item[tabularx.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + +\Question[Q-ftnsect]{Footnotes in \LaTeX{} section headings} + +The \csx{footnote} command is fragile, so that simply placing the +command in \csx{section}'s arguments isn't satisfactory. Using +\csx{protect}\csx{footnote} isn't a good idea either: the arguments of a +section command are used in the table of contents and (more +dangerously) potentially also in page headings. Unfortunately, +there's no mechanism to suppress the footnote in the heading while +allowing it in the table of contents, though having footnotes in the +table of contents is probably unsatisfactory anyway. + +To suppress the footnote in headings and table of contents: +\begin{itemize} +\item Take advantage of the fact that the mandatory argument doesn't + `move' if the optional argument is present: + |\section[title]{title|\csx{footnote}|{title ftnt}}| +\item Use the \Package{footmisc} package, with package option + |stable|~--- this modifies footnotes so that they softly and + silently vanish away if used in a moving argument. +\end{itemize} +\begin{ctanrefs} +\item[footmisc.sty]\CTANref{footmisc} +\end{ctanrefs} + +\Question[Q-ftncapt]{Footnotes in captions} + +Footnotes in captions are especially tricky: they present problems of +their own, on top of the problems one experiences with +\Qref*{footnotes in section titles}{Q-ftnsect} and with % ! line break +\Qref*{footnotes in tables}{Q-footintab}. Fortunately, the +requirement for footnotes in captions is extremely rare: if you are +experiencing problems, it is worth reviewing what you are trying to +say by placing this footnote. Note that the \Package{threeparttable} +scheme (see, again, % ! line break +\Qref[question]{footnotes in tables}{Q-footintab}) also applies +to notes in captions, and may very well be preferable to whatever you +were thinking of. + +If you \emph{are} going to proceed: +\begin{itemize} +\item use an optional argument in your \csx{caption} command, that + doesn't have the footnote in it; this prevents the footnote + appearing in the ``List of \dots{}'', and +\item put your whole float in a \environment{minipage} so as to keep + the footnotes with the float. +\end{itemize} +so we have: +\begin{quote} +\begin{verbatim} +\begin{figure} + \begin{minipage}{\textwidth} + ... + \caption[Caption for LOF]% + {Real caption\footnote{blah}} + \end{minipage} +\end{figure} +\end{verbatim} +\end{quote} +However, \emph{as well as} all of the above, one \emph{also} has to +deal with the tendency of the \csx{caption} command to produce the +footnote's text twice. For this last problem, there is no tidy +solution this author is aware of. + +If you're suffering the problem, a well-constructed \csx{caption} +command in a \environment{minipage} environment within a float (as +in the example above) can produce \emph{two} copies of the footnote +body ``blah''. (In fact, the effect only occurs with captions that are +long enough to require two lines to be typeset, and so wouldn't appear +with such a short caption.) + +The documentation of the \Package{ccaption} package describes a really +rather awful work-around. +\begin{ctanrefs} +\item[ccaption.sty]\CTANref{ccaption} +\item[threeparttable.sty]\CTANref{threeparttable} +\end{ctanrefs} + +\Question[Q-repfootnote]{Footnotes whose texts are identical} + +If the \emph{same} footnote turns up at several places within a +document, it's often inappropriate to repeat the footnote in its +entirety over and over again. We can avoid repetition by +semi-automatic means, or by simply labelling footnotes that we know +we're going to repeat and then referencing the result. There is no +completely automatic solution (that detects and suppresses repeats) +available. + +If you know you only have one footnote, which you want to repeat, the +solution is simple: merely use the optional argument of +\csx{footnotemark} to signify the repeats: +\begin{quote} +\begin{verbatim} +...\footnote{Repeating note} +... +...\footnotemark[1] +\end{verbatim} +\end{quote} +\dots{}\@ which is very easy, since we know there will only ever be a +footnote number 1. A similar technique can be used once the footnotes +are stable, reusing the number that \LaTeX{} has allocated. This can +be tiresome, though, as any change of typesetting could change the +relationships of footnote and repeat: labelling is inevitably better. + +Simple hand-labelling of footnotes is possible, using a counter dedicated +to the job: +\begin{quote} +\begin{verbatim} +\newcounter{fnnumber} +... +...\footnote{Text to repeat}% +\setcounter{fnnumber}{\thefootnote}% +... +...\footnotemark[\thefnnumber] +\end{verbatim} +\end{quote} +but this is somewhat tedious. \LaTeX{}'s labelling mechanism can be +summoned to our aid, but there are ugly error messages before the +\csx{ref} is resolved on a second run through \LaTeX{}: +\begin{quote} +\begin{verbatim} +...\footnote{Text to repeat\label{fn:repeat}} +... +...\footnotemark[\ref{fn:repeat}] +\end{verbatim} +\end{quote} +Alternatively, one may use the \csx{footref} command, which has the +advantage of working even when the footnote mark isn't expressed as a +number. The command is defined in the \Package{footmisc} package and +in the \Class{memoir} class (at least); \csx{footref} reduces the above +example to: +\begin{quote} +\begin{verbatim} +...\footnote{Text to repeat\label{fn:repeat}} +... +...\footref{fn:repeat} +\end{verbatim} +\end{quote} +This is the cleanest simple way of doing the job. Note that the +\csx{label} command \emph{must} be inside the argument of +\csx{footnote}. + +The \Package{fixfoot} package takes away some of the pain of the +matter: you declare footnotes you're going to reuse, typically in the +preamble of your document, using a \csx{DeclareFixedFoot} command, and +then use the command you've `declared' in the body of the document: +\begin{quote} +\begin{verbatim} +\DeclareFixedFootnote{\rep}{Text to repeat} +... +...\rep{} +...\rep{} +\end{verbatim} +\end{quote} +The package ensures that the repeated text appears at most once per +page: it will usually take more than one run of \LaTeX{} to get rid of +the repeats. +\begin{ctanrefs} +\item[fixfoot.sty]\CTANref{fixfoot} +\item[footmisc.sty]\CTANref{footmisc} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\Question[Q-multfoot]{More than one sequence of footnotes} + +The need for more than one series of footnotes is common in critical +editions (and other literary criticism), but occasionally arises in +other areas. + +Of course, the canonical critical edition macros, \Package{edmac}, +offer the facility, as does its \LaTeX{} port, the \Package{ledmac} +package. + +Multiple ranges of footnotes are offered to \LaTeX{} users by the +\Package{manyfoot} package. The package provides a fair array of +presentation options, as well. The (rather new) critical editions +\Package{ednotes} package is built upon a basis that includes +\Package{manyfoot}, as its mechanism for multiple sets of footnotes. +\begin{ctanrefs} +\item[edmac]\CTANref{edmac} +\item[ednotes]\CTANref{ednotes} +\item[ledmac]\CTANref{ledmac} +\item[manyfoot.sty]Distributed as part of the \CTANref{ncctools} + bundle +\end{ctanrefs} + +\Question[Q-footnpp]{Footnotes numbered ``per page''} + +The obvious solution is to make the footnote number reset whenever the +page number is stepped, using the % ! line break +\Qref*{\LaTeX{} internal mechanism}{Q-addtoreset}. Sadly, the place +in the document where the page number is stepped is unpredictable, not +(``tidily'') at the end of the printed page; so the link only ever +works by luck. + +As a result, resetting footnotes is inevitably a two-pass process, +using labels of some sort. It's nevertheless important, given the +common requirement for footnotes marked by symbols (with painfully +small symbol sets). There are three packages that manage it, one way +or another. + +The \Package{footnpag} package does per-page footnotes and nothing +else. + +The \Package{perpage} package provides a general mechanism for +resetting counters per page, so can obviously be used for this task. +The interface is pretty simple: \cmdinvoke{MakePerPage}{footnote} will +do the job. If you want to restart the counter at something other +than~1 (for example to avoid something in the \LaTeX{} footnote symbol +list), you can use: \cmdinvoke{MakePerPage}[2]{footnote}. + +The \Package{footmisc} package provides a variety of means of +controlling footnote appearance, among them a package option +\pkgoption{perpage} that adjusts the numbering per page. + +Documentation of \Package{footnpag} comes as a |.dvi| file +\File{footnpag-user} in the distribution. Documentation of +\Package{perpage} appears in the package file, only: however, it +amounts to no more than appears above\dots +\begin{ctanrefs} +\item[footmisc.sty]\CTANref{footmisc} +\item[footnpag.sty]\CTANref{footnpag} +\item[perpage.sty]\CTANref{perpage} +\end{ctanrefs} + +\subsection{Document management} + +\Question[Q-filename]{What's the name of this file} + +One might want this so as to automatically generate a page header or +footer recording what file is being processed. It's not easy\dots{} + +\TeX{} retains what it considers the name of the \emph{job}, only, in +the primitive \csx{jobname}; this is the name of the file first +handed to \TeX{}, stripped of its directory name and of any extension +(such as |.tex|). If no file was passed (i.e., you're using \TeX{} +interactively), \csx{jobname} has the value |texput| (the name that's +given to |.log| files in this case). + +This is fine, for the case of a small document, held in a single file; +most significant documents will be held in a bunch of files, and +\TeX{} makes no attempt to keep track of files input to the +\emph{job}. So the user has to keep track, himself~--- the only way +is to patch the input commands and cause them to retain details of the +file name. This is particularly difficult in the case of Plain +\TeX{}, since the syntax of the \csx{input} command is so peculiar. + +In the case of \LaTeX{}, the input commands have pretty regular +syntax, and the simplest +% beware line-breaks (next two lines) +\nothtml{patching techniques (}% +\Qref{patching techniques}{Q-patch}\nothtml{)} can be used on them: +\begin{verbatim} + \def\ThisFile{\jobname} + \newcounter{FileStack} + \let\OrigInput\input + \renewcommand{\input}[1]{% + \stepcounter{FileStack} + \expandafter\let + \csname NameStack\theFileStack\endcsname + \ThisFile + \def\ThisFile{#1}% + \OrigInput{#1}% + \expandafter\let\expandafter + \ThisFile + \csname NameStack\theFileStack\endcsname + \addtocounter{FileStack}{-1}% + } +\end{verbatim} +(And similarly for \csx{include}.) The code assumes you always use +\LaTeX{} syntax for \csx{input}, i.e., always use braces around the +argument. + +The \Package{FiNK} (``File Name Keeper'') package provides a +regular means of keeping track of the current file name (with its +extension), in a macro \csx{finkfile}. The bundle includes a +\File{fink.el} that provides support under \ProgName{emacs} with +\acro{AUC}-\TeX{}. +\begin{ctanrefs} +\item[fink.sty]\CTANref{fink} +\end{ctanrefs} + +\Question[Q-filesused]{All the files used by this document} + +When you're sharing a document with someone else (perhaps as part of a +co-development cycle) it's as well to arrange that both correspondents +have the same set of auxiliary files, as well as the document in +question. Your correspondent obviously needs the same set of files +(if you use the \Package{url} package, she has to have \Package{url} +too, for example). But suppose you have a bug-free version of the +\Package{shinynew} package but her copy is still the unstable +original; until you both realise what is happening, such a situation +can be very confusing. + +The simplest solution is the \LaTeX{} \csx{listfiles} command. This +places a list of the files used and their version numbers in the log +file. If you extract that list and transmit it with your file, it can +be used as a check-list in case that problems arise. + +Note that \csx{listfiles} only registers things that are input by the +``standard'' \LaTeX{} mechanisms (\csx{documentclass}, \csx{usepackage}, +\csx{input}, \csx{include}, \csx{includegraphics} and so on). But if you +use \TeX{} primitive syntax, as in +\begin{verbatim} + \input mymacros +\end{verbatim} +\File{mymacros.tex} \emph{won't} be listed by \csx{listfiles}, since +you've bypassed the mechanism that records its use. + +The \Package{snapshot} package helps the owner of a \LaTeX{} document +obtain a list of the external dependencies of the document, in a form +that can be embedded at the top of the document. The intended use of +the package is the creation of archival copies of documents, but it +has application in document exchange situations too. + +The \ProgName{bundledoc} system uses the \Package{snapshot} to produce an +archive (e.g., \texttt{.tar.gz} or \texttt{.zip}) of the files needed by your +document; it comes with configuration files for use with +\ProgName{teTeX} and \ProgName{mikTeX}. It's plainly useful when +you're sending the first copy of a document. +\begin{ctanrefs} +\item[bundledoc]\CTANref{bundledoc} +\item[snapshot.sty]\CTANref{snapshot} +\end{ctanrefs} + +\Question[Q-changebars]{Marking changed parts of your document} + +One often needs clear indications of how a document has changed, but +the commonest technique, ``change bars'' (also known as ``revision +bars''), requires surprisingly much +trickery of the programmer (the problem being that \TeX{} `proper' +doesn't provide the programmer with any information about the +``current position'' from which a putative start- or end-point of a +bar might be calculated; \PDFTeX{} \emph{does} provide the +information, but we're not aware yet of any programmer taking +advantage of the fact to write a \PDFTeX{}-based changebar package). + +The simplest package that offers change bars is Peter Schmitt's +\Package{backgrnd.tex}; this was written as a Plain \TeX{} application +that patches the output routine, but it appears to work at least on +simple \LaTeX{} documents. Wise \LaTeX{} users will be alerted by the +information that \Package{backgrnd} patches their output routine, and +will watch its behaviour very carefully (patching the \LaTeX{} output +routine is not something to undertake lightly\dots{}). + +The longest-established solution is the \Package{changebar} package, +which uses \csx{special} commands supplied by the driver you're using. +You need therefore to tell the package which driver to generate +\csx{special}s for (in the same way that you need to tell the +\Package{graphics} package); the list of available drivers is pretty +restricted, but does include \ProgName{dvips}. The package comes with +a shell script \ProgName{chbar.sh} (for use on Unix machines) that +will compare two documents and generate a third which is marked-up +with \Package{changebar} macros to highlight changes. The (excellent) +shareware \ProgName{WinEDT} editor has a macro that will generate +\Package{changebar} (or other) macros to show differences from an +earlier version of your file, stored in an +\ProgName{RCS}-controlled repository~--- see +\URL{http://www.winedt.org/Macros/LaTeX/RCSdiff.php} + +The \Package{vertbars} package uses the techniques of the +\Package{lineno} package (which must be present); it's thus the +smallest of the packages for change bar marking, since it leaves all +the trickery to another package. The \Package{framed} package is +another that provides bars as a side-effect of other desirable +functionality: its \environment{leftbar} environment is simply a +stripped-down frame (note, though, that the environment makes a +separate paragraph of its contents, so it is best used when the +convention is to mark a whole changed paragraph. + +Finally, the \Class{memoir} class allows marginal editorial comments, +which you can obviously use to delimit areas of changed text. + +Another way to keep track of changes is employed by some +word-processors~--- to produce a document that embodies both ``old'' +and ``new'' versions. The \ProgName{Perl} script \ProgName{latexdiff} +does this for \LaTeX{} documents; you feed it the two documents, and +it produces a new \LaTeX{} document in which the changes are very +visible. An example of the output is embedded in the documentation, +\begin{narrowversion} % actually non-hyperversion + \File{latexdiff-man.pdf}, in the distribution. +\end{narrowversion} +\begin{wideversion} % actually hyperversion + \href{http://www.tex.ac.uk/tex-archive/support/latexdiff/latexdiff-man.pdf}{latexdiff-man.pdf} + (part of the distribution). +\end{wideversion} +A rudimentary revision facilility is provided by another +\ProgName{Perl} script, \ProgName{latexrevise}, which accepts or rejects +all changes. Manual editing of the difference file can be used to +accept or reject selected changes only. +\begin{ctanrefs} +\item[backgrnd.tex]\CTANref{backgrnd} +\item[changebar.sty]\CTANref{changebar} +\item[framed.sty]\CTANref{framed} +\item[latexdiff, latexrevise]\CTANref{latexdiff} +\item[lineno.sty]\CTANref{lineno} +\item[memoir.cls]\CTANref{memoir} +\item[vertbars.sty]\CTANref{vertbars} +\end{ctanrefs} + +\Question[Q-conditional]{Conditional compilation and ``comments''} + +While \LaTeX{} (or any other \TeX{}-derived package) isn't really like a +compiler, people regularly want to do compiler-like things using it. +Common requirements are conditional `compilation' and `block +comments', and several \LaTeX{}-specific means to this end are available. + +The simple \cmdinvoke{newcommand}{\csx{gobble}}[1]|{||}| and % line break! +\csx{iffalse}\texttt{ ... }\csx{fi} aren't really satisfactory (as a general +solution) for comments, since the matter being skipped is nevertheless +scanned by \TeX{}, not always as you would expect. The scanning +imposes restrictions on what you're allowed to skip; this may not be a +problem in \emph{today's} job, but could return to bite you tomorrow. +For an example of surprises that may come to bite you, consider the +following example (derived from real user experience): +\begin{quote} +\begin{verbatim} +\iffalse % ignoring this bit +consider what happens if we +use \verb|\iftrue| -- a surprise +\fi +\end{verbatim} +\end{quote} +The \csx{iftrue} is spotted by \TeX{} as it scans, ignoring the +\csx{verb} command; so the \csx{iffalse} isn't terminated by the +following \csx{fi}. Also, \csx{gobble} is pretty inefficient for any +but trivial arguments, since all the matter to be skipped is copied to +the argument stack before being ignored. + +If your requirement is for a document from which whole chapters (or +the like) are missing, consider the \LaTeX{} +\csx{include}/\csx{includeonly} system. If you `\csx{include}' your +files (rather than \csx{input} them~--- see % line wrap! +\Qref[question]{What's going on in my \csx{include} commands?}{Q-include}), +\LaTeX{} writes macro traces of what's going on at the end of each +chapter to the \texttt{.aux} file; by using \csx{includeonly}, you can give +\LaTeX{} an exhaustive list of the files that are needed. Files that +don't get \csx{include}d are skipped entirely, but the document +processing continues as if they \emph{were} there, and page, footnote, +and other numbers are not disturbed. Note that you can choose which +sections you want included interactively, using the +\Package{askinclude} package. + +The inverse can be done using the \Package{excludeonly} package: this +allows you to exclude a (list of) \csx{include}d files from your +document, by means of an \csx{excludeonly} command. + +If you want to select particular pages of your document, use Heiko +Oberdiek's \Package{pagesel} or the \Package{selectp} packages. You +can do something similar with an existing \acro{PDF} document (which +you may have compiled using \ProgName{pdflatex} in the first place), +using the \Package{pdfpages} package. The job is then done with a +document looking like: +\begin{quote} +\begin{verbatim} +\documentclass{article} +\usepackage[final]{pdfpages} +\begin{document} +\includepdf[pages=30-40]{yoursource.pdf} +\end{document} +\end{verbatim} +\end{quote} +(To include all of the document, you write +\begin{quote} +\begin{verbatim} +\includepdf[pages=-]{yoursource.pdf} +\end{verbatim} +\end{quote} +omitting the start and end pages in the optional argument.) + +If you want flexible facilities for including or excluding small +portions of a file, consider the \Package{comment}, \Package{version} or +\Package{optional} packages. + +The \Package{comment} package allows you to declare areas of a document to be +included or excluded; you make these declarations in the preamble of +your file. The command \cmdinvoke*{includecomment}{version-name} +declares an environment \environment{version-name} whose content will +be included in your document, while +\cmdinvoke*{excludecomment}{version-name} defines an environment whose +content will be excluded from the document. The package uses a method +for exclusion that is pretty robust, and can cope with ill-formed +bunches of text (e.g., with unbalanced braces or \csx{if} commands). + +These FAQs employ the \Package{comment} package to alter layout +between the printed (two-column) version and the \acro{PDF} version +for browsing; there are \environment{narrowversion} and +\environment{wideversion} for the two versions of the file. + +\Package{version} offers similar facilities to \File{comment.sty} +(i.e., \csx{includeversion} and \csx{excludeversion} commands); +it's far ``lighter weight'', but is less robust (and in particular, +cannot deal with very large areas of text being included/excluded). + +A significant development of \Package{version}, confusingly called +\Package{versions} (i.e., merely a plural of the old package name). +\Package{Versions} adds a command +\cmdinvoke*{markversion}{version-name} which defines an environment +that prints the included text, with a clear printed mark around it. + +\Package{optional} defines a command \csx{opt}; its first argument is +an `inclusion flag', and its second is text to be included or +excluded. Text to be included or excluded must be well-formed +(nothing mismatched), and should not be too big~--- if a large body of +text is needed, \csx{input} should be used in the argument. +The documentation (in the package file itself) tells you +how to declare which sections are to be included: this can be done in +the document preamble, but the documentation also suggests ways in +which it can be done on the command line that invokes \LaTeX{}, or +interactively. + +And, not least of this style of conditional compilation, +\Package{verbatim} (which should be available in any distribution) +defines a \environment{comment} environment, which enables the +dedicated user of the source text editor to suppress bits of a +\LaTeX{} source file. The \Class{memoir} class offers the same +environment. + +An interesting variation is the \Package{xcomment} package. This +defines an environment whose body is all excluded, apart from +environments named in its argument. So, for example: +\begin{quote} +\begin{verbatim} +\begin{xcomment}{figure,table} + This text is not included + \begin{figure} + This figure is included + \end{figure} + This is not included, either + \begin{table} + This table also included + \end{table} + ... +\end{xcomment} +\end{verbatim} +\end{quote} + +A further valuable twist is offered by the \Package{extract} package. +This allows you to produce a ``partial copy'' of an existing document: +the package was developed to permit production of a ``book of +examples'' from a set of lecture notes. The package documentation +shows the following usage: +\begin{quote} +\begin{verbatim} +\usepackage[ + active, + generate=foobar, + extract-env={figure,table}, + extract-cmd={chapter,section} +]{extract} +\end{verbatim} +\end{quote} +which will cause the package to produce a file \File{foobar.tex} +containing all the \environment{figure} and \environment{table} +environments, and the \csx{chapter} and \csx{section} commands, from +the document being processed. The new file \File{foobar.tex} is +generated in the course of an otherwise ordinary run on the `master' +document. The package provides a good number of other facilities, +including (numeric or labelled) ranges of environments to extract, and +an \environment{extract} environment which you can use to create complete +ready-to-run \LaTeX{} documents with stuff you've extracted. +\begin{ctanrefs} +\item[askinclude.sty]\CTANref{askinclude} +\item[comment.sty]\CTANref{comment} +\item[excludeonly.sty]\CTANref{excludeonly} +\item[extract.sty]\CTANref{extract} +\item[memoir.cls]\CTANref{memoir} +\item[optional.sty]\CTANref{optional} +\item[pagesel.sty]Distributed with Heiko Oberdiek's packages + \CTANref{oberdiek} +\item[pdfpages.sty]\CTANref{pdfpages} +\item[selectp.sty]\CTANref{selectp} +\item[verbatim.sty]Distributed as part of \CTANref{2etools} +\item[version.sty]\CTANref{version} +\item[versions.sty]\CTANref{versions} +\item[xcomment.sty]Distributed as part of \CTANref{seminar} +\end{ctanrefs} + +\Question[Q-docotherdir]{Bits of document from other directories} + +A common way of constructing a large document is to break it into a +set of files (for example, one per chapter) and to keep everything +related to each of these subsidiary files in a subdirectory. + +Unfortunately, \TeX{} doesn't have a changeable ``current directory'', +so that all files you refer to have to be specified relative to the +same directory as the main file. Most people find this +counter-intuitive. + +It may be appropriate to use the ``path extension'' technique +% beware line break +\Qref[of question]{used in temporary installations}{Q-tempinst} to deal with +this problem. However, if there several files with the same name in +your document, such as \File{chapter1/fig1.eps} and +\File{chapter2/fig1.eps}, you're not giving \TeX{} any hint as to +which you're referring to when in the main chapter file you say +\cmdinvoke{input}{sect1}; while this is readily soluble in the case of +human-prepared files (just don't name them all the same), +automatically produced files have a way of having repetitious names, +and changing \emph{them} is a procedure prone to error. + +The \Package{import} package comes to your help here: it defines an +\csx{import} command that accepts a full path name and the name of a +file in that directory, and arranges things to ``work properly''. +So, for example, if \File{/home/friend/results.tex} contains +\begin{quote} +\begin{verbatim} +Graph: \includegraphics{picture} +\input{explanation} +\end{verbatim} +\end{quote} +then \cmdinvoke{import}{/home/friend/}{results} will include both +graph and explanation as one might hope. A \csx{subimport} command +does the same sort of thing for a subdirectory (a relative path rather +than an absolute one), and there are corresponding \csx{includefrom} +and \csx{subincludefrom} commands. + +The \Package{chapterfolder} package provides commands to deal with its +(fixed) model of file inclusion in a document. It provides commands +\csx{cfpart}, \csx{cfchapter}, \csx{cfsection} and \csx{cfsubsection}, +each of which takes directory and file arguments, e.g.: +\begin{quote} +\begin{verbatim} +\cfpart[pt 1]{Part One}{part1}{part} +\end{verbatim} +\end{quote} +which command will issue a `normal' command % ! line break +\cmdinvoke{part}[pt 1]{Part One} and then input the file +\File{part1/part.tex}, remembering that \File{part1/} is now the +``current folder''. There are also commands of the form +\csx{cfpartstar} (which corresponds to a \csx{part*} command). + +Once you're ``in'' a \Package{chapterfolder}-included document, you +may use \csx{cfinput} to input something relative to the ``current +folder'', or you may use \csx{input}, using \csx{cfcurrentfolder} to +provide a path to the file. (There are also +\csx{cfcurrentfolderfigure} for a \path{figure/} subdirectory and +\csx{cfcurrentfolderlistings} for a \path{listings/} subdirectory.) + +Documentation of \Package{chapterfolder} is in French, but the +\File{README} in the directory is in English. +\begin{ctanrefs} +\item[chapterfolder.sty]\CTANref{chapterfolder} +\item[import.sty]\CTANref{import} +\end{ctanrefs} + +\Question[Q-RCS]{Version control using \acro{RCS}, \acro{CVS} or \ProgName{Subversion}} + +If you use \acro{RCS}, \acro{CVS} or \ProgName{Subversion} to maintain +your \AllTeX{} documents under version control, you may need some +mechanism for including the version details in your document, in such +a way that they can be typeset (that is, rather than just hiding them +inside a comment). + +The most complete solution for \acro{RCS} and \acro{CVS} is to use the +(\LaTeX{}) package \Package{rcs}, which allows you to parse and +display the contents of \acro{RCS} keyword fields in an extremely +flexible way. The package \Package{rcsinfo} is simpler, but does most +of what you want, and some people prefer it; it is explicitly +compatible with \ProgName{LaTeX2HTML}. + +If, however, you need a solution which works without using external +packages, or which will work in plain TeX, then you can use the +following minimal solution: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\def\RCS$#1: #2 ${\expandafter\def\csname RCS#1\endcsname{#2}} +\RCS$Revision: 1.299 $ % or any RCS keyword +\RCS$Date: 2005/07/07 13:52:16 $ +... +\date{Revision \RCSRevision, \RCSDate} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\def\RCS$#1: #2 ${\expandafter + \def\csname RCS#1\endcsname{#2}% +} +\RCS$Revision: 1.299 $ % or any RCS keyword +\RCS$Date: 2005/07/07 13:52:16 $ +... +\date{Revision \RCSRevision, \RCSDate} +\end{verbatim} +\end{narrowversion} +\end{quote} + +If you've entered the brave new world of \ProgName{subversion}, the +package \Package{svn} may be for you. It has explicit cleverness +about dealing with dates: +\begin{quote} +\csx{documentclass}\texttt{\{\meta{foo}\}}\\ +\texttt{...}\\ +\cmdinvoke{usepackage}{svn}\\ +\csx{SVNdate}\texttt{ \$Date\$}\\ +\cmdinvoke{author}{...}\\ +\cmdinvoke{title}{...}\\ +\texttt{...}\\ +\cmdinvoke{begin}{document}\\ +\csx{maketitle}\\ +\texttt{...}\\ +\cmdinvoke{end}{document} +\end{quote} +will (once \ProgName{subversion} has committed a copy of the document) +cause \csx{maketitle} use the date that has been written into the +\texttt{\$Date\$} keyword. + +The alternative is the \Package{svninfo} package, which has much the +same mechanisms as does \Package{svn} but with a rather different +focus. \Package{Svninfo} does the date trick that \Package{svn} +performs (controlled by a package option), and can set up page +foot-lines using \Qref*{package \Package{fancyhdr}}{Q-fancyhdr}. +There isn't much to choose between the two packages: you should read +the packages' documentation to see which you find best. +\begin{ctanrefs} +\item[rcs.sty]\CTANref{rcs} +\item[rcsinfo.sty]\CTANref{rcsinfo} +\item[svn.sty]\CTANref{svn} +\item[svninfo.sty]\CTANref{svninfo} +\end{ctanrefs} + +\Question[Q-make]{Makefiles for \LaTeX{} documents} + +\LaTeX{} is a tricky beast for running \ProgName{make} on: the need to +instruct \LaTeX{} to run several times for essentially different +reasons (for example, ``get the table of contents stable'', ``get the +labels stable'', ``add the bibliography'', ``add the index'') is +actually rather difficult to express in the `ordinary' sort of +dependency graph that one constructs for \ProgName{make}. + +For this reason, the only \ProgName{make}-like package on \acro{CTAN} +(for a long time) was \ProgName{latexmk}, which is a \ProgName{Perl} +script that analyses your \LaTeX{} source for its dependencies, runs +\BibTeX{} or \ProgName{makeindex} as and when it notices that those +programs' input (parts of the |.aux| file, or the |.idx| file, +respectively) has changed, and so on. \ProgName{Latexmk} is a fine +solution (and was used in generating printable versions of these +\acro{FAQ}s for a long time); it has recently been upgraded and has +many bells and whistles that allow it to operate as if it were a poor +man's \WYSIWYG{} system. + +The \nothtml{\Package{texinfo} system (}% beware line breaks +\Qref{\Package{texinfo} system}{Q-texinfo}\nothtml{)} comes with a +utility called \ProgName{texi2dvi}, which is capable of ``converting'' +either \LaTeX{} or \Package{texinfo} files into \acro{DVI} (or into +\acro{PDF}, using \PDFTeX{}). + +A later contribution is the bundle \Package{latexmake}, which +offers a set of \ProgName{make} rules that invoke \ProgName{texi2dvi} +as necessary. + +The curious may examine the rules employed to run the present +\acro{FAQ} through \LaTeX{}: we don't present them as a complete +solution, but some of the tricks employed are surely re-usable. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\acro{FAQ} distribution]\CTANref{faq} +\item[\nothtml{\rmfamily}latexmake]\CTANref{latexmake} +\item[latexmk]\CTANref{latexmk} +\item[texi2dvi]Distributed as part of \CTANref{texinfo} +\end{ctanrefs} + +\Question[Q-howmanypp]{How many pages are there in my document?} + +Simple documents (those that start at page 1, and don't have any +breaks in their page numbering until their last page) present no +problem to the seeker after this truth. The number of pages is +reported by the \Package{lastpage} package in its \texttt{LastPage} label. + +For more complicated documents (most obviously, books with frontmatter +in a different series of page numbers) this simple approach will not +do. + +The \Package{count1to} package defines a label \texttt{TotalPages}; this is +the value of its copy of \csx{count1} (a reserved \TeX{} count +register) at the end of the document. + +Package \Package{totpages} defines a label \texttt{TotPages}, but it also +makes the register it uses available as a \LaTeX{} counter, +\texttt{TotPages}, which you can also reference via \csx{theTotPages}. Of +course, the counter |TotPages| is asynchronous in the same way that +apge numbers are, but snapshots may safely be taken in the output +routine. + +The \Class{memoir} class defines two counters \texttt{lastpage} and +\texttt{lastsheet}, which are set (after the first run of a document) +to the equivalent of the \texttt{LastPage} label and the +\texttt{TotalPages} labels. + +Both \Package{count1to} and \Package{totpages} need the support of +the \Package{everyshi} package. +\begin{ctanrefs} +\item[count1to.sty \nothtml{\bgroup\rmfamily}and\nothtml{\egroup} everyshi.sty]% line break!! + Distributed in \CTANref{ms} +\item[lastpage.sty]\CTANref{lastpage} +\item[memoir.cls]\CTANref{memoir} +\item[totpages.sty]\CTANref{totpages} +\end{ctanrefs} + +\Question[Q-inclplain]{Including Plain \TeX{} files in \LaTeX{}} + +\LaTeX{}, though originally \nothtml{based on Plain \TeX{} (}% beware line brk +\Qref{based on Plain \TeX{}}{Q-LaTeXandPlain}\nothtml{)}, does not +contain all of Plain \TeX{}'s commands. Worse, some Plain \TeX{} +command names appear in \LaTeX{}, with different semantics. As a +result, special measures need to be taken to allow general Plain +\TeX{} documents (or parts of documents) to be typeset within +\LaTeX{}. + +The truly reliable way is to translate the Plain \TeX{} commands, to +produce an equivalent of the original's semantics. However, this is +not practical in many circumstances, and for those occasions, the +\Package{plain} package will often come to your aid. The package +defines a \environment{plain} environment, in which a Plain \TeX{} +document may be processed: +\begin{verbatim} +\begin{plain} + \input{plain-doc} +\end{plain} +\end{verbatim} +The package is known to fail, for example, with documents that use +\AMSTeX{}; no doubt it would also fail if asked to load \Eplain{}. +All these things can be overcome (although it's not often easy), but +the environment saves a lot of work on many occasions. +\begin{ctanrefs} +\item[plain.sty]Distributed as part of \CTANref{carlisle} +\end{ctanrefs} + +\subsection{Hyphenation} + +\Question[Q-nohyph]{My words aren't being hyphenated} + +Let's assume you've selected the right \TeX{} `language'~--- as +explained in \Qref[question]{``how hyphenation works''}{Q-hyphen}, +you're not likely to get the correct results typesetting one language +using the hyphenation rules of another. (Select the proper language, +using \Package{babel} if you're a \LaTeX{} user. This may reveal that +you need another set of hyphenation patterns; see +% beware line wrap +\Qref[question]{``using a new language''}{Q-newlang} for advice on how +to install it.) + +So what else can go wrong? +\begin{itemize} +\item Since \TeX{} version~3.0, the limits on how near to either end + of a word hyphenation may take place have been programmable (see + \Qref[question]{``weird hyphenation''}{Q-weirdhyphen}), and for some + reason the values in question may have been corrupted in some macros + you are using. \TeX{} won't hyphenate less than \csx{lefthyphenmin} + characters after the start of a word, nor less than + \csx{righthyphenmin} before the end of a word; thus it won't + hyphenate a word shorter than the sum of the two minima, at all. + For example, since the minima are 2 and 3 for English, \TeX{} won't + hyphenate a word shorter than 5 letters long, if it believes the + word to be English. +\item \TeX{} won't hyphenate a word that's already been hyphenated. + For example, the (caricature) English surname Smyth-Postlethwaite + wouldn't hyphenate, which could be troublesome. This is correct + English typesetting style (it may not be correct for other + languages), but if needs must, you can replace the hyphen in the + name with a \csx{hyph} command, defined +\begin{verbatim} + \def\hyph{\penalty0\hskip0pt\relax} +\end{verbatim} + This is \emph{not} the sort of thing this \acro{FAQ} would + ordinarily recommend\dots{} The \Package{hyphenat} package defines a + bundle of such commands (for introducing hyphenation points at + various punctuation characters). +\item There may be accents in the word. The causes of and remedies + for this effect are discussed in + % beware line break + \Qref[question]{accents and hyphens}{Q-hyphenaccents}. +\item The hyphenation may simply not have been spotted; while \TeX{}'s + algorithm is good, it's not infallible, and it does miss perfectly + good hyphenations in some languages. When this happens, you need to + give \TeX{} \emph{explicit} instructions on how to hyphenate. +\end{itemize} +The \csx{hyphenation} command allows you to give explicit instructions. +Provided that the word will hyphenate at all (that is, it is not +prevented from hyphenating by any of the other restrictions above), +the command will override anything the hyphenation patterns might +dictate. The command takes one or more hyphenated words as +argument~--- \cmdinvoke{hyphenation}{ana-lysis pot-able}; note that +(as here, for analysis) you can use the command to overrule \TeX{}'s +choice of hyphenation (ana-lysis is the British etymological +hyphenation; some feel the American hyphenation feels +`unfortunate'\dots{}). +\begin{ctanrefs} +\item[hyphenat.sty]\CTANref{hyphenat} +\end{ctanrefs} + +\Question[Q-weirdhyphen]{Weird hyphenation of words} + +If your words are being h-yphenated, like this, with jus-t single +letters at the +beginning or the end of the word, you may have a version mismatch +problem. \TeX{}'s hyphenation system changed between version~2.9 +and~3.0, and macros written for use with version~2.9 can have this +effect with a version~3.0 system. If you are using Plain \TeX{}, make +sure your \File{plain.tex} file has a version number which is at +least~3.0, and rebuild your format. If you are using \LaTeXo{} your +best plan is to upgrade to \LaTeXe{}. If for some reason you can't, +the last version of \LaTeXo{} (released on 25 March 1992) is still +available (for the time being at least) and ought to solve this +problem. + +If you're using \LaTeXe{}, the problem probably arises from your +|hyphen.cfg| file, which has to be created if you're using a +multi-lingual version. + +A further source of oddity can derive from the 1995 release of +\Qref*{Cork-encoded fonts}{Q-ECfonts}, +which introduced an alternative hyphen character. The \LaTeXe{} +configuration files in the font release specified use of the +alternative hyphen, and this could produce odd effects with words +containing an explicit hyphen. The font configuration files in the +December 1995 release of \LaTeXe{} do \emph{not} use the alternative +hyphen character, and therefore removed this source of problems; the +solution, again, is to upgrade your \LaTeX{}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\LaTeXo{}]\CTANref{latex209-base} +\item[plain.tex]\CTANref{plain} +\end{ctanrefs} + +\Question[Q-oddhyphen]{(Merely) peculiar hyphenation} + +You may have found that \TeX{}'s famed automatic word-division does +not produce the break-points recommended by your dictionary. This may be +because \TeX{} is set up for American English, whose rules for word +division (as specified, for example, in Webster's Dictionary) are +completely different from the British ones (as specified, for example, +in the Oxford Dictionaries). This problem is being addressed by the \acro{UK} +\TeX{} User community (see \BV{}, issue~4.4) but an entirely +satisfactory solution will take time; the current status is to be +found on \acro{CTAN} (see +% beware line-wrap +\Qref[question]{``using a new language''}{Q-newlang} for instructions +on adding this new ``language''). +\begin{ctanrefs} +\item[UK patterns]\CTANref{ukhyph} +\end{ctanrefs} + +\Question[Q-hyphenaccents]{Accented words aren't hyphenated} + +\TeX{}'s algorithm for hyphenation gives up when it encounters an +\csx{accent} command; there are good reasons for this, but it means +that quality typesetting in non-English languages can be difficult. + +For \TeX{} macro packages, you can avoiding the effect by using an +appropriately encoded font (for example, a Cork-encoded font~--- see +\Qref[question]{the \acro{EC} fonts}{Q-ECfonts}) which contains accented +letters as single glyphs. \LaTeX{} users can achieve this end simply +by adding the command +\begin{verbatim} + \usepackage[T1]{fontenc} +\end{verbatim} +to the preamble of their document. Other encodings (notably +\acro{LY}1, once promoted by \YandY{} inc) +%% ~--- see +%% %beware line wrap +%% \Qref[question]{commercial implementations}{Q-commercial}) +may be used +in place of \acro{T}1. Indeed, most current 8-bit \TeX{} font +encodings will `work' with the relevant sets of hyphenation patterns. + +In the future, perhaps, \Qref*{Omega}{Q-omega} will provide a rather +different solution. + +\Question[Q-newlang]{Using a new language with Babel} + +\Package{Babel} is capable of working with a large range of +languages, and a new user often wants to use a language that her +\TeX{} installation is not set up to employ. Simply asking Babel to +use the language, with the command +\begin{verbatim} + \usepackage[catalan]{babel} +\end{verbatim} +provokes the warning message +\begin{wideversion} +\begin{verbatim} +Package babel Warning: No hyphenation patterns were loaded for +(babel) the language `Catalan' +(babel) I will use the patterns loaded for \language=0 instead. +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +Package babel Warning: No hyphenation patterns were loaded for +(babel) the language `Catalan' +(babel) I will use the patterns loaded for + \language=0 instead. +\end{verbatim} +(The last line of the above has been wrapped to fit on the page.) +\end{narrowversion} + +The problem is that your \TeX{} system doesn't know how to hyphenate +Catalan text: you need to tell it how before Babel can do its work +properly. To do this, for \LaTeX{} installations, one needs to change +\File{language.dat} (which is part of the Babel installation); it will +contain a line +\begin{verbatim} +%catalan cahyphen.tex +\end{verbatim} +which, if you remove the comment marker, is supposed to instruct +\LaTeX{} to load Catalan hyphenation patterns when you tell it to build +a new format. + +Unfortunately, in many Babel distributions, the line just isn't +right~--- you need to check the name of the file containing the +patterns you're going to use. As you can see, in the author's system, +the name is supposed to be \File{cahyphen.tex}; however the file +actually present on the system is \File{cahyph.tex}~--- fortunately, +the error should prove little more than an inconvenience (most of the +files are in better distributions anyway, but an elusive one +may be found on \acro{CTAN}; if you have to retrieve +a new file, ensure that it's correctly installed, for which see +\Qref[question]{installing a new package}{Q-instpackages}). + +Finally, you need to regenerate the formats used (in fact, most users +of Babel are using it in their \LaTeX{} documents, so regenerating the +\LaTeX{}-related formats will ordinarily be enough; however, the +author always generates the lot, regardless). +\begin{description} +\item[te\TeX{}]It's possible to do the whole operation in one go, by + using the \ProgName{texconfig} command: +\begin{verbatim} +texconfig hyphen latex +\end{verbatim} + which first enters an editor for you to edit \File{language.dat}, + and then regenerates the format you specify (\ProgName{latex} in + this case). + + Otherwise, to regenerate all formats, do: \\ + \texttt{fmtutil -\relax-all} + + If you're willing to think through what you're doing (this is + \emph{not} for the faint-hearted), you can select a sequence of + formats and for each one, run: \\ + \texttt{fmtutil -\relax-byfmt \meta{formatname}}\\ + where \emph{\texttt{formatname}} is something like `\texttt{latex}', + or: \\ + \texttt{fmtutil -\relax-byhyphen \meta{hyphenfile}}\\ + where \emph{\texttt{hyphenfile}} is the file specifying hyphenation + to the format~--- usually \texttt{language.dat} +\item[fp\TeX{}] Click + \texttt{Start}\arrowhyph{}% + \texttt{Programs}\arrowhyph{}% + \texttt{MikTeX}\arrowhyph{}% + \texttt{Maintenance}\arrowhyph{}% + \texttt{Create all format files}, or run any of the te\TeX{} options + in a windows command window. +\item[MiK\TeX{}] On a \Package{MikTeX} distribution earlier than v2.0, do: \\ + \texttt{Start}\arrowhyph{}% + \texttt{Programs}\arrowhyph{}% + \texttt{MikTeX}\arrowhyph{}% + \texttt{Maintenance}\arrowhyph{}% + \texttt{Create all format files} +% this sequence suggested for miktex 1.20e, 2000/12/22, by Giuseppe Bilotta + + or get a DOS window and run:\\ + \texttt{initexmf -\relax-dump} + + On a \Package{MikTeX} distribtution v2.0 or later, the whole + procedure can be done via the \acro{GUI}. To select the new + language, do:\\ + \texttt{Start}\arrowhyph{}% + \texttt{Programs}\arrowhyph{}% + \texttt{MikTeX 2}\arrowhyph{}% + \texttt{MikTeX Options}, and select the \texttt{Languages} tab. + Select your language from the list, press the \texttt{Apply} button, + and then the \texttt{OK} button. Then select the \texttt{General} + tab and press the \texttt{Update Now} button. + + Otherwise, edit the \File{language.dat} file (as outlined above), + and then run:\\ + \texttt{initexmf -\relax-dump}\\ + just as for a pre-v2.0 system. +\end{description} + +\nothtml{\noindent}\textbf{\emph{Caveat}:} It is (just) possible that +your \TeX{} system may run out of ``pattern memory'' while generating +the new format. Most \TeX{} implementations have fixed-size arrays +for storing the details of hyphenation patterns, but although their +size is adjustable in most modern distributions, actually changing the +size is a fiddle. If you \emph{do} find you've run out of memory, +it may be worth scanning the list of languages in your +\File{language.dat} to see whether any could reasonably be removed. +\begin{ctanrefs} +\item[babel]\CTANref{babel} +\item[hyphenation patterns]\CTANref{hyphenation} +\end{ctanrefs} + +\Question[Q-hyphoff]{Stopping all hyphenation} + +It may seem an odd thing to want to do (after all, one of \TeX{}'s +great advertised virtues is the quality of its hyphenation) but it's +sometimes necessary. The real problem is, that the quality of +\TeX{}'s output is by default largely dependent on the presence of +hyphenation; if you want to abandon hyphenation, something has to +give. + +\TeX{} (slightly confusingly) offers four possible mechanisms for +suppressing hyphenation (there were only two prior to the extensions +that arrived with \TeX{} version~3). + +First, one can set the hyphenation penalties \csx{hyphenpenalty} and +\csx{exhyphenpenalty} to an `infinite' value (that is to say, 10000). +This means that all hyphenations will sufficiently penalise the line +that would contain them, that the hyphenation won't happen. The +disadvantage of this method is that \TeX{} will re-evaluate any +paragraph for which hyphenations might help, which will slow \TeX{} +down. + +Second, one can select a language for which no hyphenation patterns +exist. Some distributions create a language |nohyphenation|, +and the \Package{hyphenat} package uses this technique for its +\csx{nohyphens} command which sets its argument without any +hyphenation. + +Third, one can set \csx{left-} and/or \csx{righthyphenmin} to a +sufficiently large value that no hyphenation could possibly succeed, +since the minimum is larger than the the length of the longest word +\TeX{} is willing to hyphenate (the appropriate value is 62). + +Fourth, one can suppress hyphenation for all text using the current +font by the command +\begin{verbatim} + \hyphenchar\font=-1 +\end{verbatim} +This isn't a particularly practical way for users to suppress +hyphenation~--- the command has to be issued for every font the +document uses~--- but it's how \LaTeX{} itself suppresses hyphenation +in |tt| and other fixed-width fonts. + +Which of the techniques you should use depends on what you actually +want to do. If the text whose hyphenation is to be suppressed runs +for less than a paragraph, your only choice is the no-hyphens +language: the language value is preserved along with the text (in the +same way that the current font is); the values for penalties and +hyphen minima active at the end of a paragraph are used when +hyphenation is calculated. + +Contrariwise, if you are writing a multilanguage document using the +\Package{babel} package, you \emph{cannot} suppress hyphenation +throughout using either the no-hyphens language or the hyphen minima: +all those values get changed at a \Package{babel} language switch: use +the penalties instead. + +If you simply switch off hyphenation for a good bit of text, the +output will have a jagged edge (with many lines seriously overfull), +and your \AllTeX{} run will bombard you with warnings about overfull +and underfull lines. To avoid this you have two options. You may use +\csx{sloppy} (or its environment version \environment{sloppypar}), and +have \TeX{} stretch what would otherwise be underfull lines to fill the space +offered, and wrap other lines, while prematurely wrapping overfull +lines and stretching the remainder. Alternatively, you may set the +text \nothtml{ragged right (}% +% beware line wrap +\Qref{ragged right}{Q-ragright}\nothtml{)}, and at least get rid of +the overfull lines; this technique is `traditional' (in the sense that +typists do it) and may be expected to appeal to the specifiers of +eccentric document layouts (such as those for dissertations), but for +once their sense conforms with typographic style. (Or at least, style +constrained in this curious way.) +\begin{ctanrefs} +\item[hyphenat.sty]\CTANref{hyphenat} +\end{ctanrefs} + +\Question[Q-wdnohyph]{Preventing hyphenation of a particular word} + +It's quite possible for (\emph{any}) hyphenation of a particular word +to seem ``completely wrong'', so that you want to prevent it being +hyphenated. + +If the word occurs in just one place, put it in a box: +\begin{verbatim} + \mbox{oddword} +\end{verbatim} +(Plain~\TeX{} users should use \csx{hbox}, and take care at the start +of paragraphs.) However, boxing the word is not really advisable +unless you are sure it only occurs once. + +If the word occurs commonly, the best choice is to assert a +non-hyphenation for it: +\begin{verbatim} + \hyphenation{oddword} +\end{verbatim} +This hyphenation exception (with no break points) will be used in +preference to what \TeX{}'s hyphenation algorithm may come up with. + +In a multilingual document, repeat the exception specification for +each language the word may appear in. So: +\begin{verbatim} + \usepackage[french,english]{babel} + \selectlanguage{english} + \hyphenation{oddword} + \selectlanguage{french} + \hyphenation{oddword} +\end{verbatim} +(note that \Package{babel} will select the default language for the +document~--- English, in this case~--- at \cmdinvoke{begin}{document}.) + +\Question[Q-hyphexcept]{Hyphenation exceptions} + +While \TeX{}'s hyphenation rules are good, they're not infallible: you +will occasionally find words \TeX{} just gets \emph{wrong}. So for +example, \TeX{}'s default hyphenation (for American English) don't +know the word ``\emph{manuscript}'', and since it's a long word you +may find you need to hyphenate it. You \emph{can} ``write the +hyphenation out'' each time you use the word: +\begin{quote} +\begin{verbatim} +... man\-u\-script ... +\end{verbatim} +\end{quote} +Here, each of the \csx{-} commands is converted to a hyphenated break, +if (\emph{and only if}) necessary. + +That technique can rapidly become tedious: you'll probably only accept +it if there are no more than one or two wrongly-hyphenated words in +your document. The alternative is to set up hyphenations in the +document preamble. To do that, for the hyphenation above, you would +write: +\begin{quote} +\begin{verbatim} +\hyphenation{man-u-script} +\end{verbatim} +\end{quote} +and the hyphenation would be set for the whole document. Barbara +Beeton publishes articles containing lists of these ``hyphenation +exceptions'', in \textsl{TUGboat}; the hyphenation `man-u-script' +comes from one of those articles. + +What if you have more than one language in your document? Simple: +select the appropriate language, and do the same as above: +\begin{quote} +\begin{verbatim} +\usepackage[french]{babel} +\selectlanguage{french} +\hyphenation{re-cher-cher} +\end{verbatim} +\end{quote} +(nothing clever here: this is the ``correct'' hyphenation of the word, +in the current tables). However, there's a problem here: just as +words with accents in them won't break, so \csx{hyphenation} commands +with accents in them produce an error: +\begin{quote} +\begin{verbatim} +\usepackage[french]{babel} +\selectlanguage{french} +\hyphenation{r\'e-f\'e-rence} +\end{verbatim} +\end{quote} +tells us that the hyphenation is ``improper'', and that it will be ``flushed''. +But, just as hyphenation of words is enabled by selecting an 8-bit +font encoding, so \csx{hyphenation} commands are rendered proper again +by selecting that same 8-bit font encoding. For the hyphenation +patterns provided in the usual distributions, the encoding is +\Qref*{Cork}{Q-ECfonts}, so the complete sequence is: +\begin{quote} +\begin{verbatim} +\usepackage[T1]{fontenc} +\usepackage[french]{babel} +\selectlanguage{french} +\hyphenation{r\'e-f\'e-rence} +\end{verbatim} +\end{quote} + +The same sort of performance goes for any language for which 8-bit +fonts and corresponding hyphenation patterns are available. Since you +have to select both the language and the font encoding to have your +document typeset correctly, it should not be a great imposition to do +the selections before setting up hyphenation exceptions. + +\subsection{Odds and ends} + +\Question[Q-logos]{Typesetting all those \TeX{}-related logos} + +Knuth was making a particular point about the capabilities of \TeX{} +when he defined the logo. Unfortunately, many believe, he thereby +opened floodgates to give the world a whole range of rather silly +`bumpy road' logos such as \AMSTeX{}, \PiCTeX{}, \BibTeX{}, and so on, +produced in a flurry of different fonts, sizes, and baselines~--- indeed, +everything one might hope to cause them to obstruct the reading process. +In particular, Lamport invented \LaTeX{} +\htmlignore +(silly enough in itself) +\endhtmlignore +\begin{htmlversion} + (silly enough in itself, with a raised small `A' and a lowered `E') +\end{htmlversion} +and marketing input from Addison-Wesley led to the even +stranger current logo +\htmlignore +\LaTeXe{}. +\endhtmlignore +\begin{htmlversion} + \LaTeXe{}, which appends a lowered single-stroke Greek letter + epsilon. +\end{htmlversion} + +Sensible users don't have to follow this stuff wherever it goes, +but, for those who insist, a large collection of logos is defined in +the \Package{texnames} package (but note that this set of macros isn't +entirely reliable in \LaTeXe{}). +The \MF{} and \MP{} logos can be set in fonts that \LaTeXe{} +knows about (so that they scale with the surrounding text) using the +\Package{mflogo} package; but be aware that booby-traps surround the +use of the Knuthian font for \MP{} (you might get +\htmlignore +\textlogo{META\hphantom{P}O\hphantom{S}T}). +\endhtmlignore +% the following htmlversion stuff seems to do roughly what's required, +% which is nice, given the feebleness of representing all these silly +% logos in html otherwise... +\begin{htmlversion} + something like `META O T'). +\end{htmlversion} +You needn't despair, however~--- the author himself uses just `MetaPost'. + +For those who don't wish to acquire the `proper' logos, the canonical +thing to do is to say \texttt{AMS-}\cmdinvoke{TeX}{} +\htmlignore +(\acro{AMS}-\TeX{}) +\endhtmlignore +for \AMSTeX{}, \texttt{Pic}\cmdinvoke{TeX}{} +\htmlignore +(Pic\TeX{}) +\endhtmlignore +for \PiCTeX{}, \texttt{Bib}\cmdinvoke{TeX}{} +\htmlignore +(Bib\TeX{}) +\endhtmlignore +for \BibTeX{}, and so on. + +While the author of this FAQ list can't quite bring himself to do away +with the bumpy-road logos herein, he regularly advises everyone else +to\dots{} +\begin{ctanrefs} +\item[mflogo.sty]\CTANref{mflogo} +\item[texnames.sty]\CTANref{texnames} +\end{ctanrefs} + +\Question[Q-bold-extras]{How to do bold-tt or bold-sc} + +\LaTeX{}, as delivered, offers no means of handling bold ``teletype'' +or small-caps fonts. There's a practical reason for this (Knuth never +designed such fonts), but there are typographical considerations too +(the ``medium weight'' \texttt{cmtt} font is already pretty bold (by +comparison with other fixed-width fonts), and bold small-caps is not +popular with many professional typographers). + +There's a set of ``extra'' \MF{} files on \acro{CTAN} that provide bold +versions of both \texttt{cmtt} and \texttt{cmcsc} (the small caps font). With +modern \TeX{} distributions, one may bring these fonts into use simply +by placing them in an % ! line break +\Qref*{appropriate place in the \emph{texmf} tree}{Q-wherefiles} +(these are \AllTeX{}-specific files, so the ``\emph{public}'' supplier +would be an appropriate place). Once you've % ! line break, again +\Qref*{rebuilt the file indexes as necessary}{Q-instpackages}, +\TeX{} (and friends) will automatically build whatever font files they +need when you first make reference to them. There's a jiffy package +\Package{bold-extra} that builds the necessary font data structures +so that you can use the fonts within \LaTeX{}. + +Another alternative is to use the \Qref*{\acro{EC} fonts}{Q-ECfonts}, +which come with bold variants of the small-caps fonts. + +If you need to use Type~1 fonts, you can't proceed with Knuth-style +fonts, since there are no Type~1 versions of the \Package{mf-extra} +set. There are, however, Type~1 distributions of the EC~fonts, so you +can switch to EC and use them; alternatives are discussed in +\Qref[question]{8-bit Type~1 fonts}{Q-type1T1}. +Of course, commercial fixed-width fonts (even the default +\FontName{Courier}) almost always come with a bold variant, so that's +not a problem. Furthermore \Qref*{\acro{PSNFSS}}{Q-usepsfont} +will usually provide ``faked'' small caps fonts, and has no +compunctions about providing them in a bold form. +\begin{ctanrefs} +\item[bold-extra.sty]\CTANref{bold-extra} +\item[bold tt and small caps fonts]\CTANref{bold} +\end{ctanrefs} + +\Question[Q-varwidth]{Automatic sizing of \environment{minipage}} + +The \environment{minipage} environment requires you to specify the +width of the ``page'' you're going to create. This is sometimes +inconvenient: you would like to occupy less space, if possible, but +\environment{minipage} sets a box that is exactly the width you +specified. + +The \Package{pbox} package defines a \csx{pbox} whose width is exactly +that of the longest enclosed line, subject to a maximum width that you +give it. So while \cmdinvoke{parbox}{2cm}{Hello\bsbs world!} produces a +box of width exactly \texttt{2cm}, +\cmdinvoke{pbox}{2cm}{Hello\bsbs world!} produces one whose width is +\texttt{1.79cm} (if one's using the default \FontName{cmr} font for the +text, at least). The package also provides a +\cmdinvoke*{settominwidth}[min]{length}{text} (which looks (almost) +like the standard \csx{settowidth} command), and a \csx{widthofpbox} +function analagous to the \csx{widthof} command for use with the +\Package{calc} package. + +The \Package{eqparbox} package extends \Package{pbox}'s idea, by +allowing you to set a series of boxes, all with the same (minimised) +width. (Note that it doesn't accept a limiting maximum width +parameter.) The package documentation shows the following example +drawn from a joke \emph{curriculum vitae}: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\noindent% +\eqparbox{place}% + {\textbf{Widgets, Inc.}} + \hfill +\eqparbox{title}% + {\textbf{Senior Widget Designer}} + \hfill +\eqparbox{dates}{\textbf{1/95--present}} + +... + +\noindent% +\eqparbox{place}% + {\textbf{Thingamabobs, Ltd.}} + \hfill +\eqparbox{title}% + {\textbf{Lead Engineer}} + \hfill +\eqparbox{dates}{\textbf{9/92--12/94}} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\noindent% +\eqparbox{place}{\textbf{Widgets, Inc.}} \hfill +\eqparbox{title}{\textbf{Senior Widget Designer}} \hfill +\eqparbox{dates}{\textbf{1/95--present}} + +... + +\noindent% +\eqparbox{place}{\textbf{Thingamabobs, Ltd.}} \hfill +\eqparbox{title}{\textbf{Lead Engineer}} \hfill +\eqparbox{dates}{\textbf{9/92--12/94}} +\end{verbatim} +\end{wideversion} +\end{quote} +The code makes the three items on each of the heading lines have +exactly the same width, so that the lines as a whole produce a regular +pattern down the page. A command \csx{eqboxwidth} allows you to use +the measured width of a group: the documentation shows how the command +may be used to produce sensible-looking columns that mix \texttt{c}-, +\texttt{r}- or \texttt{l}-rows, with the equivalent of a |p{...}| +entry, by making the fixed-width rows an \Package{eqparbox} group, and +making the last from a \csx{parbox} using the width that's been +measured for the group. + +The \Package{varwidth} package defines a \environment{varwidth} +environment which sets the content of the box to match a ``narrower +natural width'' if it finds one. (You give it the same parameters as +you would give \environment{minipage}: in effect, it is a `drop-in' +replacement.) \Package{Varwidth} provides its own ragged text command: +\csx{narrowragged}, which aims to make narrower lines and to put more +text in the last line of the paragraph (thus producing lines with more +nearly equal lengths than typically happens with \csx{raggedright} +itself). + +The documentation (in the package file) lists various restrictions and +things still to be done, but the package is already proving useful for +a variety of jobs. +\begin{ctanrefs} +\item[eqparbox.sty]\CTANref{eqparbox} +\item[pbox.sty]\CTANref{pbox} +\item[varwidth.sty]\CTANref{varwidth} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Symbols, etc.} + +\Question[Q-numbersets]{Symbols for the number sets} + +It is a good idea to have commands such as \csx{R} for the real numbers and +other standard number sets. Traditionally these were typeset in bold. +Because, in the ordinary course of events, mathematicians do not have +access to bold chalk, they invented the special symbols that are now +often used for \csx{R}, \csx{C}, \emph{etc}. These symbols are known +as ``blackboard bold''. Before insisting on using them, consider +whether going back to the old system of ordinary bold might not be +acceptable (it is certainly simpler). + +A set of blackboard bold capitals is available in the \acro{AMS} +\FontName{msbm} fonts (\FontName{msbm} is available at a range of +design sizes, with names such as \FontName{msbm10}). The pair of font +families (the other is called \FontName{msam}) have a large number of +mathematical symbols to supplement the ones in the standard \TeX{} +distribution, and are available in Type~1 format with most modern +distributions. Support files for using the fonts, both under +Plain~\TeX{} and \LaTeX{} (packages \Package{amssymb} and +\Package{amsfonts}), are available. The font shape is a rather +austere sans, which many people don't like (though it captures the +essence of quickly-chalked writing rather well). + +The \FontName{bbold} family is set of blackboard bold fonts written in +\MF{}. This set offers blackboard bold forms of lower-case letters; +the font source directory also contains sources for a \LaTeX{} package +that enables use of the fonts. The fonts are not available in Type~1 format. + +The \FontName{bbm} family claims to provide +`blackboard' versions of most of the \FontName{cm} fonts~\dots{} including +the bold and bold-extended series. Again, the fonts are designed in +\MF{} and are not available in Type~1 format. \LaTeX{} macro support +comes from a package by Torsten Hilbrich. + +The \FontName{doublestroke} family comes in just roman +and sans shapes, at a single weight, and is available both as \MF{} +sources and as Type~1; the font covers the uppercase latin letters, +lowercase `h' and 'k', and the digit `1'. + +An alternative source of Type~1 fonts with blackboard bold characters +may be found in the steadily increasing set of complete families, both +commercial and free, that have been prepared for use with \AllTeX{} +(see % beware line break +\htmlonly{``}\Qref[question]{choice of outline fonts}{Q-psfchoice}\htmlonly{''}). +Of the free sets, the \FontName{txfonts} and \FontName{pxfonts} families +both come with replicas of \FontName{msam} and \FontName{msbm} +(though, as noted elsewhere, there are other reasons not to use these +fonts). The \FontName{mathpazo} family includes a ``mathematically +significant'' choice of blackboard bold characters, and the +\FontName{fourier} fonts contain blackboard bold upper-case letters, +the digit `1', and lower-case `k'. + +The ``lazy person's'' blackboard bold macros: +\begin{quote} +\begin{verbatim} +\newcommand{\R}{{\sf R\hspace*{-0.9ex}% + \rule{0.15ex}{1.5ex}\hspace*{0.9ex}}} +\newcommand{\N}{{\sf N\hspace*{-1.0ex}% + \rule{0.15ex}{1.3ex}\hspace*{1.0ex}}} +\newcommand{\Q}{{\sf Q\hspace*{-1.1ex}% + \rule{0.15ex}{1.5ex}\hspace*{1.1ex}}} +\newcommand{\C}{{\sf C\hspace*{-0.9ex}% + \rule{0.15ex}{1.3ex}\hspace*{0.9ex}}} +\end{verbatim} +\end{quote} +are almost acceptable at normal size if the surrounding text is +\FontName{cmr10}. However, they are not part of a proper maths font, +and so do not work in sub- and superscripts. Moreover, the size and +position of the vertical bar can be affected by the font of the +surrounding text. As we've seen, there are plenty of alternatives: +don't try the macros, or anything similar using capital `I' (which +looks even worse!). +\begin{ctanrefs} +\item[AMS support files (Plain)]\CTANref{amsfonts-plain} +\item[AMS support files (LaTeX)]\CTANref{amsfonts-latex} +\item[AMS symbol fonts]\CTANref{amsfonts-symbols} +\item[AMS symbol fonts in Type~1 format]Browse \CTANref{ams-AMStype1} +\item[bbm fonts]\CTANref{bbm} +\item[bbm macros]\CTANref{bbm-macros} +\item[bbold fonts]\CTANref{bbold} +\item[doublestroke fonts]\CTANref{doublestroke} +\item[fourier fonts]\CTANref{fourier} +\item[mathpazo fonts]\CTANref{mathpazo} +\item[pxfonts]\CTANref{pxfonts} +\item[txfonts]\CTANref{txfonts} +\end{ctanrefs} + +\Question[Q-scriptfonts]{Better script fonts for maths} + +The font selected by \csx{mathcal} is the only script font `built +in'. However, there are other useful calligraphic fonts included with +modern \TeX{} distributions. +\begin{description} +\item[Euler] The \Package{eucal} package (part of most sensible \TeX{} + distributions; the fonts are part of the \acro{AMS} font set) gives + a slightly curlier font than the default. The package changes the + font that is selected by \csx{mathcal}. + + Type 1 versions of the fonts are available in the \acro{AMS} fonts + distribution. +\item[RSFS] The \Package{mathrsfs} package uses a really fancy script + font (the name stands for ``Ralph Smith's Formal Script'') which is + already part of most modern \TeX{} distributions. The package + creates a new command \csx{mathscr}. + + Type 1 versions of the font have been made available by Taco + Hoekwater. +\item[Zapf Chancery] is the standard \PS{} calligraphic font. There + is no package but you can easily make it available by means of the + command +\begin{verbatim} +\DeclareMathAlphabet{\mathscr}{OT1}{pzc}% + {m}{it} +\end{verbatim} + in your preamble. You may find the font rather too big; if so, you + can use a scaled version of it like this: +\begin{verbatim} +\DeclareFontFamily{OT1}{pzc}{} +\DeclareFontShape{OT1}{pzc}{m}{it}% + {<-> s * [0.900] pzcmi7t}{} +\DeclareMathAlphabet{\mathscr}{OT1}{pzc}% + {m}{it} +\end{verbatim} + + Adobe Zapf Chancery (which the above examples use) is distributed in + any but the most basic \PS{} printers. A substantially identical + font (to the the extent that the same metrics may be used) is + available from \acro{URW} and is distributed with + \ProgName{ghostscript}. +\end{description} +Examples of the available styles are available on \acro{CTAN}. +\begin{ctanrefs} +\item[eucal.sty]\CTANref{eucal} +\item[euler fonts]\CTANref{amsfonts-euler} +\item[euler fonts, in Type 1 format]\CTANref{ams-AMStype1} +\item[ghostscript]Browse \CTANref{ghostscript} +\item[mathrsfs.sty]Distributed as part of \CTANref{jknappen-macros} +\item[rsfs fonts]\CTANref{rsfs} +\item[rsfs fonts, in Type 1 format]\CTANref{rsfs-type1} +\item[Script font examples]\CTANref{mathscript} +\end{ctanrefs} + +\Question[Q-boldgreek]{Setting bold Greek letters in \LaTeX{}} + +The issue here is complicated by the fact that \csx{mathbf} (the +command for setting bold \emph{text} in \TeX{} maths) affects a select +few mathematical symbols (the uppercase Greek letters). However +lower-case Greek letters behave differently from upper-case Greek +letters (due to Knuth's esoteric font encoding decisions). However, +\csx{mathbf} \emph{can't} be used even for upper-case Greek letters in +the \AMSLaTeX{} \Package{amsmath} package, which +disables this font-switching and you must use one of the techniques +outlined below. + +The Plain \TeX{} solution \emph{does} work, in a limited way: +\begin{quote} +\begin{verbatim} +{\boldmath$\theta$} +\end{verbatim} +\end{quote} +but \csx{boldmath} may not be used in maths mode, so this `solution' +requires arcana such as: +\begin{quote} +\begin{verbatim} +$... \mbox{\boldmath$\theta$} ...$ +\end{verbatim} +\end{quote} +which then causes problems in superscripts, etc. + +These problems may be addressed by using a bold mathematics package. +\begin{itemize} +\item The \Package{bm} package, which is part of the \LaTeX{} tools + distribution, defines a command \csx{bm} which may be used anywhere + in maths mode. +\item The \Package{amsbsy} package (which is part of \AMSLaTeX{}) + defines a command \csx{boldsymbol}, which (though slightly less + comprehensive than \csx{bm}) covers almost all common cases. +\end{itemize} + +All these solutions cover all mathematical symbols, not merely Greek +letters. +\begin{ctanrefs} +\item[bm.sty]Distributed as part of \CTANref{2etools} +\item[amsbsy.sty]Distributed as part of \AMSLaTeX{} \CTANref{amslatex} +\item[amsmath.sty]Distributed as part of \AMSLaTeX{} + \CTANref{amslatex} +\end{ctanrefs} + +\Question[Q-prinvalint]{The Principal Value Integral symbol} + +This symbol (an integral sign, `crossed') does not appear in any of +the fonts ordinarily available to \AllTeX{} users, but it can be +created by use of the following macros: +\begin{wideversion} +\begin{verbatim} +\def\Xint#1{\mathchoice + {\XXint\displaystyle\textstyle{#1}}% + {\XXint\textstyle\scriptstyle{#1}}% + {\XXint\scriptstyle\scriptscriptstyle{#1}}% + {\XXint\scriptscriptstyle\scriptscriptstyle{#1}}% + \!\int} +\def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$} + \vcenter{\hbox{$#2#3$}}\kern-.5\wd0}} +\def\ddashint{\Xint=} +\def\dashint{\Xint-} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\def\Xint#1{\mathchoice + {\XXint\displaystyle\textstyle{#1}}% + {\XXint\textstyle\scriptstyle{#1}}% + {\XXint\scriptstyle\scriptscriptstyle{#1}}% + {\XXint\scriptscriptstyle + \scriptscriptstyle{#1}}% + \!\int} +\def\XXint#1#2#3{{% + \setbox0=\hbox{$#1{#2#3}{\int}$} + \vcenter{\hbox{$#2#3$}}\kern-.5\wd0}} +\def\ddashint{\Xint=} +\def\dashint{\Xint-} +\end{verbatim} +\end{narrowversion} +\csx{dashint} gives a single-dashed integral sign, \csx{ddashint} a +double-dashed one. + +\Question[Q-underscore]{How to use the underscore character} + +The underscore character \texttt{\symbol{95}} is ordinarily used in +\TeX{} to indicate a subscript in maths mode; if you type +\texttt{\symbol{95}} in the course of ordinary text, \TeX{} will +complain. If you're writing a document which will contain a large +number of underscore characters, the prospect of typing +\csx{\symbol{95}} (or, worse, \csx{textunderscore}) for every one of +them will daunt most ordinary people. + +Moderately skilled macro programmers can readily generate a quick hack +to permit typing \texttt{\symbol{95}} to mean `text underscore'. +However, the code \emph{is} somewhat tricky, and more importantly +there are significant points where it's easy to get it wrong. There +is therefore a package \Package{underscore} which provides a general +solution to this requirement. + +There is a problem, though: \acro{OT}1 text fonts don't contain an +underscore character, unless they're in the typewriter version of the +encoding (used by fixed-width fonts such as \texttt{cmtt}). So either +you must ensure that your underscore characters only occur in text set +in a typewriter font, or you must use a fuller encoding, such as +\acro{T}1, which has an underscore character in every font. + +If the requirement is only for occasional uses of underscores, it may +be acceptable to use the following construct: +\begin{verbatim} +\def\us{\char`\_} +... +\texttt{create\us process} +\end{verbatim} +The construction isn't in the least robust (in the normal English +sense of the word), but it \emph{is} robust under expansion (i.e., the +\LaTeX{} sense of the word); so use it with care, but don't worry +about section headings and the like. +\begin{ctanrefs} +\item[underscore.sty]\CTANref{underscore} +\end{ctanrefs} + +\Question[Q-atsign]{How to type an `@' sign?} + +Long ago, some packages used to make the `@' sign active, so that +special measures were needed to type it. While those packages are +still in principle available, few people use them, and those that do +use them have ready access to rather good documentation. + +Ordinary people (such as the author of this \acro{FAQ}) need only type +`@'. + +\Question[Q-euro]{Typesetting the Euro sign} + +The European currency ``Euro'' is represented by a symbol of somewhat +dubious design, but it's an important currency and \AllTeX{} users +need to typeset it. + +Note that the Commission of the European Community at first deemed +that the Euro symbol should always be set in a sans-serif font; +fortunately, this eccentric ruling has now been rescinded, and one may +apply best typesetting efforts to making it appear at least slightly +``respectable'' (typographically). + +The \acro{TS}1-encoded fonts provided as part of the \acro{EC} font +distribution provide Euro glyphs. The fonts are called Text Companion +(\acro{TC}) fonts, and offer the same range +of faces as do the \acro{EC} fonts themselves. The +\Package{textcomp} package provides a \csx{texteuro} command for +accessing the symbol, which selects a symbol to match the surrounding +text. The design of the symbol in the \acro{TC} fonts is not +universally loved\dots{} +Nevertheless, use the \acro{TC} font version of the symbol if you are +producing documents using Knuth's Computer Modern Fonts. + +The \Package{latin9} input encoding defined by the \Package{inputenc} +package has a euro character defined (character position 164, occupied +in other \acro{ISO} Latin character sets by the ``currency symbol''). +The encoding uses the command \csx{texteuro} for the character; at +present that command is \emph{only} available from the +\Package{textcomp} package. There is a MicroSoft code page position, +too, but standardisation of such things proceeds via rather different +routes and the \LaTeX{} project hasn't yet been given details of the +change. + +Outline fonts which contain nothing but Euro symbols are available +(free) from +\href{ftp://ftp.adobe.com/pub/adobe/type/win/all/eurofont.exe}{Adobe}\nobreakspace--- +the file is packaged as a \ProgName{Windows} self-extracting +executable, but it may be decoded as a |.zip| format achive on other +operating systems. +The \Package{euro} bundle contains metrics, \ProgName{dvips} map +files, and macros (for Plain \TeX{} and \LaTeX{}), for using these +fonts in documents. \LaTeX{} users will find two packages in the +bundle: \Package{eurosans} only offers the sans-serif version (to +conform with the obsolete ruling about sans-serif-only symbols; the +package provides the +command \csx{euro}), whereas \Package{europs} matches the Euro symbol +with the surrounding text (providing the command \csx{EUR}). To use +either package +with the \Package{latin9} encoding, you need to define \csx{texteuro} +as an alias for the euro command the package defines. + +The Adobe fonts are probably the best bet for use in non-Computer +Modern environments. They are apparently designed to fit with Adobe +Times, Helvetica and Courier, but can probably fit with a wider range +of modern fonts. + +The \Package{eurofont} package provides a compendious analysis of the +``problem of the euro symbol'' in its documentation, and offers macros +for configuring the source of the glyphs to be used; however, it seems +rather large for everyday use. + +The \Package{euro-ce} bundle is a rather pleasing \MF{}-only design +providing Euro symbols in a number of shapes. The file +\File{euro-ce.tex}, in the distribution, offers hints as to how a +Plain~\TeX{} user might make use of the fonts. + +Euro symbols are found in several other places, which we list here for +completeness. + +The \Package{marvosym} fonts contain a Euro symbol among many other +good things. +%% ; the font on \acro{CTAN} is not Adobe \ProgName{ATM} +%% compatible, but a compatible version is available free from +%% \href{http://www.YandY.com/download/marvosym.zip}{\YandY{}}. The font +%% on \acro{CTAN} comes with a set of macros to typeset all the symbols +%% it contains. + +Other \MF{}-based bundles containing Euro symbols are to be found in +\Package{china2e} (whose primary aim is Chinese dates and suchlike +matters) and the \Package{eurosym} fonts. +\begin{ctanrefs} +\item[china2e bundle]\CTANref{china2e} +\item[EC fonts]\CTANref{ec} +\item[euro fonts]\CTANref{euro-fonts} +\item[euro-ce fonts]\CTANref{euro-ce} +\item[eurofont.sty]\CTANref{eurofont} +\item[eurosym fonts]\CTANref{eurosym} +\item[marvosym fonts]\CTANref{marvosym-fonts} +\item[textcomp.sty]Part of the \LaTeX{} distribution. +\end{ctanrefs} + +\Question[Q-tradesyms]{How to get copyright, trademark, etc.} + +The ``\nothtml{Comprehensive symbol list'' (}% beware line break +\Qref{Comprehensive symbol list}{Q-symbols}\latexhtml{)}{''}, lists +the symbol commands \csx{textcopyright}, +\csx{textregistered} and \csx{texttrademark}, which are available in +\acro{TS}1-encoded fonts, and which are enabled using the +\Package{textcomp} package. + +In fact, all three commands are enabled in default \LaTeX{}, but the +glyphs you get aren't terribly beautiful. In particular, +\csx{textregistered} behaves oddly when included in bold text (for +example, in a section heading), since it is composed of a small-caps +letter, which typically degrades to a regular shape letter when asked +to set in a bold font. This means that the glyph becomes a circled +``r'', whereas the proper symbol is a circled ``R''. + +This effect is of course avoided by use of \Package{textcomp}. + +Another problem arises if you want \csx{textregistered} in a +superscript position (to look similar to \csx{texttrademark}). +Using a maths-mode superscript to do this provokes lots of pointless +errors: you \emph{must} use +\begin{quote} +\begin{verbatim} +\textsuperscript{\textregistered} +\end{verbatim} +\end{quote} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Macro programming} + +\subsection{``Generic'' macros and techniques} + +\Question[Q-findwidth]{Finding the width of a letter, word, or phrase} + +Put the word in a box, and measure the width of the box. For example, +\begin{quote} +\begin{verbatim} +\newdimen\stringwidth +\setbox0=\hbox{hi} +\stringwidth=\wd0 +\end{verbatim} +\end{quote} +Note that if the quantity in the \csx{hbox} is a phrase, the actual +measurement only approximates the width that the phrase will occupy in +running text, since the inter-word glue can be adjusted in paragraph +mode. + +The same sort of thing is expressed in \LaTeX{} by: +\begin{quote} +\begin{verbatim} +\newlength{\gnat} +\settowidth{\gnat}{\textbf{small}} +\end{verbatim} +\end{quote} +This sets the value of the length command |\gnat| to the width of ``small'' +in bold-face text. + +\Question[Q-patch]{Patching existing commands} + +In the general case (possibly sticking something in the middle of an +existing command) this is difficult. However, the common requirement, +to add some code at the beginning or the end of an existing command, +is conceptually quite easy. Suppose we want to define a version of a +command that does some small extension of its original definition: we +would naturally write: +\begin{quote} +\begin{verbatim} +\renewcommand{\splat}{\mumble\splat} +\end{verbatim} +\end{quote} +However, this would not work: a call to \csx{splat} would execute +\csx{mumble}, and the call the redefined \csx{splat} again; this is an +infinite recursive loop, that will quickly exhaust \TeX{}'s memory. + +Fortunately, the \TeX{} primitive \csx{let} command comes to our +rescue; it allows us to take a ``snapshot'' of the current state of a +command, which we can then use in the redefinition of the command. +So: +\begin{quote} +\begin{verbatim} +\let\OldSmooth\smooth +\renewcommand{\smooth}{\mumble\OldSmooth} +\end{verbatim} +\end{quote} +effects the required patch, safely. Adding things at the end of a +command works similarly. If \csx{smooth} takes arguments, one must +pass them on: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\renewcommand{\smooth}[2]{\mumble\OldSmooth{#1}{#2}} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\renewcommand{\smooth}[2]% + {\mumble\OldSmooth{#1}{#2}} +\end{verbatim} +\end{narrowversion} +\end{quote} + +The general case may be achieved in two ways. First, one can use the +\LaTeX{} command \csx{CheckCommand}; this compares an existing command +with the definition you give it, and issues a warning if two don't +match. Use is therefore: +\begin{quote} + |\CheckCommand{\complex}{|\meta{original definition}|}|\\ + |\renewcommand{\complex}{|\meta{new definition}|}| +\end{quote} +This technique is obviously somewhat laborious, but if the original +command comes from a source that's liable to change under the control +of someone else, it does at least warn you that your patch is in +danger of going wrong. + +Otherwise, \LaTeX{} users may use one of the \Package{patch} or +\Package{patchcmd} systems. + +\Package{Patch} gives you an ingenious (and difficult to understand) +mechanism, and comes as an old-style \LaTeX{} documented macro file. +Sadly the old-style \Package{doc} macros are no longer available, but +the file (\File{patch.doc}) may be input directly, and the +documentation may be read (un-typeset). Roughly speaking, one gives +the command a set of instructions analagous to \ProgName{sed} +substitutions, and it regenerates the command thus amended. The +author of this \acro{FAQ} has (slightly reluctantly) given up using +\Package{patch}\dots{} + +The \Package{patchcmd} package addresses a slightly simpler task, by +restricting the set of commands that you may patch; you mayn't patch +any command that has an optional argument, though it does deal with +the case of commands defined with \csx{DeclareRobustCommand}. The +package defines a \csx{patchcommand} command, that takes three +arguments: the command to patch, stuff to stick at the front of its +definition, and stuff to stick on the end of its definition. So, if +\csx{b} contains ``|b|'', then +\csx{patchcommand}\nothtml{\penalty-150\hskip0pt\relax}\cmdinvoke{b}{a}{c} +will produce a new version of \csx{b} that contains ``|abc|''. +\begin{ctanrefs} +\item[patch.doc]\CTANref{patch} +\item[patchcommand.sty]\CTANref{patchcmd} +\end{ctanrefs} + +\Question[Q-compjobnam]{Comparing the ``job name''} + +The token \csx{jobname} amusingly produces a sequence of characters +whose category code is 12 (`other'), regardless of what the characters +actually are. Since one inevitably has to compare a macro with the +contents of another macro (using \csx{ifx}, somewhere) one needs to +create a macro whose expansion looks the same as the expansion of +\csx{jobname}. We find we can do this with \csx{meaning}, if we strip +the ``\csx{show} command'' prefix. + +The full command looks like: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\def\StripPrefix#1>{} +\def\jobis#1{FF\fi + \def\predicate{#1}% + \edef\predicate{\expandafter\StripPrefix\meaning\predicate}% + \edef\job{\jobname}% + \ifx\job\predicate +} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\def\StripPrefix#1>{} +\def\jobis#1{FF\fi + \def\predicate{#1}% + \edef\predicate{\expandafter\StripPrefix + \meaning\predicate}% + \edef\job{\jobname}% + \ifx\job\predicate +} +\end{verbatim} +\end{narrowversion} +\end{quote} +And it's used as: +\begin{quote} +\begin{verbatim} +\if\jobis{mainfile}% + \message{YES}% +\else + \message{NO}% +\fi +\end{verbatim} +\end{quote} +Note that the command \csx{StripPrefix} need not be defined if you're +using \LaTeX{}~--- there's already an % line break! +\Qref*{internal command}{Q-atsigns} \csx{strip@prefix} that you can +use. + +\Question[Q-isitanum]{Is the argument a number?} + +\TeX{}'s own lexical analysis doesn't offer the macro programmer +terribly much support: while category codes will distinguish letters +(or what \TeX{} currently thinks of as letters) from everything else, +there's no support for analysing numbers. + +The simple-minded solution is to compare numeric characters with the +characters of the argument, one by one, by a sequence of direct tests, +and to declare the argument ``not a number'' if any character fails +all comparisons: +\begin{quote} +\begin{verbatim} +\ifx1#1 +\else\ifx2#1 +... +\else\ifx9#1 +\else\isanumfalse +\fi\fi...\fi +\end{verbatim} +\end{quote} +which one would then use in a tail-recursing macro to gobble an +argument. One could do slightly better by assuming (pretty safely) +that the digits' character codes are consecutive: +\begin{quote} +\begin{verbatim} +\ifnum`#1<`0 \isanumfalse +\else\ifnum`#1>`9 \isanumfalse + \fi +\fi +\end{verbatim} +\end{quote} +again used in tail-recursion. However, these forms aren't very +satisfactory: getting the recursion ``right'' is troublesome (it has a +tendency to gobble spaces in the argument), and in any case \TeX{} +itself has mechanisms for reading numbers, and it would be nice to use +them. + +Donald Arseneau's \Package{cite} package offers the following test +for an argument being a strictly positive integer: +\begin{quote} +\begin{verbatim} +\def\IsPositive#1{% + TT\fi + \ifcat_\ifnum0<0#1 _\else A\fi +} +\end{verbatim} +\end{quote} +which can be adapted to a test for a non-negative integer thus: +\begin{quote} +\begin{verbatim} +\def\IsNonNegative{% + \ifcat_\ifnum9<1#1 _\else A\fi +} +\end{verbatim} +\end{quote} +or a test for any integer: +\begin{quote} +\begin{verbatim} +\def\gobbleminus#1{\ifx-#1\else#1\fi} +\def\IsInteger#1{% + TT\fi + \ifcat_\ifnum9<1\gobbleminus#1 _\else A\fi +} +\end{verbatim} +\end{quote} +but this surely stretches the technique further than is reasonable. + +If we don't care about the sign, we can use \TeX{} to remove the +entire number (sign and all) from the input stream, and then look at +what's left: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\def\testnum#1{\afterassignment\testresult + \count255=#1 \end} +\def\testresult#1\end{\ifx\end#1\end} +\def\IsInteger#1{TT\fi \testnum{#1}} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\def\testnum#1{\afterassignment\testresult\count255=#1 \end} +\def\testresult#1\end{\ifx\end#1\end\isanumtrue\else\isanumfalse\fi} +\end{verbatim} +\end{wideversion} +\end{quote} +(which technique is due to David Kastrup); this can provoke errors. +In a later thread on the same topic, Michael Downes offered: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\def\IsInteger#1{% + TT\fi + \begingroup \lccode`\-=`\0 \lccode`+=`\0 + \lccode`\1=`\0 \lccode`\2=`\0 \lccode`\3=`\0 + \lccode`\4=`\0 \lccode`\5=`\0 \lccode`\6=`\0 + \lccode`\7=`\0 \lccode`\8=`\0 \lccode`\9=`\0 + \lowercase{\endgroup + \expandafter\ifx\expandafter\delimiter + \romannumeral0\string#1}\delimiter +} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\def\IsInteger#1{% + TT\fi + \begingroup \lccode`\-=`\0 \lccode`+=`\0 + \lccode`\1=`\0 \lccode`\2=`\0 + \lccode`\3=`\0 \lccode`\4=`\0 + \lccode`\5=`\0 \lccode`\6=`\0 + \lccode`\7=`\0 \lccode`\8=`\0 + \lccode`\9=`\0 + \lowercase{\endgroup + \expandafter\ifx\expandafter\delimiter + \romannumeral0\string#1}\delimiter +} +\end{verbatim} +\end{narrowversion} +\end{quote} +which relies on \csx{romannumeral} producing an empty result if its +argument is zero. Sadly, this technique has the unfortunate property +that it accepts simple expressions such as `\texttt{1+2-3}'; this +could be solved by an initial \csx{gobbleminus}-like construction. + +All the complete functions above are designed to be used in \TeX{} +conditionals written ``naturally''~--- for example: +\begin{quote} +\begin{verbatim} +\if\IsInteger{<subject of test>}% + <deal with integer>% +\else + <deal with non-integer>% +\fi +\end{verbatim} +\end{quote} +The \LaTeX{} \Class{memoir} class has an internal command of its own, +\cmdinvoke*{checkifinteger}{num}, that sets the conditional command +\csx{ifinteger} according to whether the argument was an integer. + +Of course, all this kerfuffle would be (essentially) void if there was +a simple means of ``catching'' \TeX{} errors. Imagining an +error-catching primitive \csx{ifnoerror}, one might write: +\begin{quote} +\begin{verbatim} +\def\IsInteger#1{% + TT% + \ifnoerror + \tempcount=#1\relax +% carries on if no error + \expandafter\iftrue + \else +% here if there was an error + \expandafter\iffalse + \fi +} +\end{verbatim} +\end{quote} +thus using \TeX{}'s own integer-parsing code to do the check. It's a +pity that such a mechanism was never defined (it could be that it's +impossible to program within \TeX{}!). +\begin{ctanrefs} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\Question[Q-hash]{Defining macros within macros} + +The way to think of this is that |##| gets replaced by |#| in just the +same way that |#1| gets replaced by `whatever is the first argument'. + +So if you define a macro and use it as: +\begin{quote} +\begin{verbatim} +\def\a#1{+++#1+++#1+++#1+++} \a{b} +\end{verbatim} +\end{quote} +the macro expansion produces `+++b+++b+++b+++', +which people find normal. However, if we now replace part of the macro: +\begin{quote} +\begin{verbatim} +\def\a#1{+++#1+++\def\x #1{xxx#1}} +\end{verbatim} +\end{quote} +\cmdinvoke{a}{b} will expand to `+++b+++|\def\x b{xxxb}|'. This +defines \csx{x} to be a macro \emph{delimited} by |b|, and taking no +arguments, which people may find strange, even though it is just a +specialisation of the example above. If you want \csx{a} to +define \csx{x} to be a macro with one argument, you need to write: +\begin{quote} +\begin{verbatim} +\def\a#1{+++#1+++\def\x ##1{xxx##1}} +\end{verbatim} +\end{quote} +and \csx{a{b}} will expand to +`+++b+++|\def\x #1{xxx#1}|', because |#1| gets replaced by `b' +and |##| gets replaced by |#|. + +To nest a definition inside a definition inside a definition then +you need |####1|, as at each stage |##| is replaced by +|#|. At the next level you need 8~|#|s each time, and so on. + +\Question[Q-spinmacro]{Spaces in macros} + +It's very easy to write macros that produce space in the typeset +output where it's neither desired nor expected. Spaces introduced by +macros are particularly insidious because they don't amalgamate with +spaces around the macro (unlike consecutive spaces that you +type), so your output can have a single bloated space that proves +to be made up of two or even more spaces that haven't amalgamated. +And of course, your output can also have a space where none was wanted +at all. + +Spaces are produced, inside a macro as elsewhere, by space or tab +characters, or by end-of-line characters. There are two basic rules +to remember when writing a macro: first, the rules for ignoring spaces +when you're typing macros are just the same as the rules that apply +when you're typing ordinary text, and second, rules for ignoring +spaces do \emph{not} apply to spaces produced while a macro is being +obeyed (``expanded''). + +Spaces are ignored in vertical mode (between paragraphs), at the +beginning of a line, and after a command name. Since sequences of +spaces are collapsed into one, it `feels as if' spaces are ignored if +they follow another space. Space can have syntactic meaning after +certain sorts of non-braced arguments (e.g., \emph{count} and +\emph{dimen} variable assignments in Plain \TeX{}) and after certain +control words (e.g., in \csx{hbox} |to|, so again we have instances +where it `feels as if' spaces are being ignored when they're merely +working quietly for their living. + +Consider the following macro, fairly faithfully adapted from one that +appeared on \Newsgroup{comp.text.tex}: +\begin{narrowversion} +\begin{quote} +\begin{verbatim} +\newcommand{\stline}[1] + { \bigskip \makebox[2cm]{ \textbf{#1} } } +\end{verbatim} +\end{quote} +(the original appeared on a single line: it's wrapped here to fit in +the printed \acro{FAQ}'s narrow columns). + +\noindent +\end{narrowversion} +\begin{wideversion} +\begin{quote} +\begin{verbatim} +\newcommand{\stline}[1]{ \bigskip \makebox[2cm]{ \textbf{#1} } } +\end{verbatim} +\end{quote} +\end{wideversion} +The macro definition contains five spaces: +\begin{itemize} +\item after the opening |{| of the macro body; this space will be + ignored, not because ``because the macro appears at the start of a + line'', but rather because the macro was designed to operate between + paragraphs +\item after \csx{bigskip}; this space will be ignored (while the macro + is being defined) because it follows a command name +\item after the |{| of the mandatory argument of \csx{makebox}; even + though this space will inevitably appear at the start of an output + line, it will \emph{not} be ignored +\item after the |}| closing the argument of \csx{textbf}; this space + will not be ignored, but may be overlooked if the argument is well + within the |2cm| allowed for it +\item after the |}| closing the mandatory argument of \csx{makebox}; + this space will not be ignored +\end{itemize} +The original author of the macro had been concerned that the starts of +his lines with this macro in them were not at the left margin, and +that the text appearing after the macro wasn't always properly +aligned. These problems arose from the space at the start of the +mandatory argument of \csx{makebox} and the space immediately after the +same argument. He had written his macro in that way to emphasise the +meaning of its various parts; unfortunately the meaning was rather +lost in the problems the macro caused. + +The principal technique for suppressing spaces is the use of +\texttt{\textpercent} characters: everything after a +\texttt{\textpercent} is ignored, even the end of line itself (so +that not even the end of line can contribute an unwanted space). The +secondary technique is to ensure that the end of line is preceded by a +command name (since the end of line behaves like a space, it will be +ignored following a command name). Thus the above command would be +written (by an experienced programmer with a similar eye to +emphasising the structure): +\begin{quote} +\begin{verbatim} +\newcommand{\stline}[1]{% + \bigskip + \makebox[2cm]{% + \textbf{#1}\relax + }% +} +\end{verbatim} +\end{quote} +Care has been taken to ensure that every space in the revised +definition is ignored, so none appears in the output. The revised +definition takes the ``belt and braces'' approach, explicitly dealing +with every line ending (although, as noted above, a space introduced +at the end of the first line of the macro would have been ignored in +actual use of the macro. This is the best technique, in fact~--- it's +easier to blindly suppress spaces than to analyse at every point +whether you actually need to. Three techniques were used to suppress +spaces: +\begin{itemize} +\item placing a \texttt{\textpercent} character at the end of a line + (as in the 1st, 3rd and 5th lines), +\item ending a line `naturally' with a control sequence, as in line 2, + and +\item ending a line with an `artificial' control sequence, as in line + 4; the control sequence in this case (\csx{relax}) is a no-op in many + circumstances (as here), but this usage is deprecated~--- a + \texttt{\textpercent} character would have been better. +\end{itemize} +Beware of the (common) temptation to place a space \emph{before} a +\texttt{\textpercent} character: if you do this you might as well omit +the \texttt{\textpercent} altogether. + +In ``real life'', of course, the spaces that appear in macros are far +more cryptic than those in the example above. The most common spaces +arise from unprotected line ends, and this is an error that +occasionally appears even in macros written by the most accomplished +programmers. + +\Question[Q-moren9]{How to break the 9-argument limit} + +If you think about it, you will realise that Knuth's command +definition syntax: +\begin{quote} +\begin{verbatim} +\def\blah#1#2 ... #9{<macro body>} +\end{verbatim} +\end{quote} +is intrinsically limited to just 9 arguments. There's no direct way +round this: how would you express a 10th argument?~--- and ensure that +the syntax didn't gobble some other valid usage? + +If you really must have more than 9 arguments, the way to go is: +\begin{quote} +\begin{verbatim} +\def\blah#1#2 ... #9{% + \def\ArgI{{#1}}% + \def\ArgII{{#2}}% + ... + \def\ArgIX{{#9}}% + \BlahRelay +} +\def\BlahRelay#1#2#3{% + % arguments 1-9 are now in + % \ArgI-\ArgIX + % arguments 10-12 are in + % #1-#3 + <macro body>% +} +\end{verbatim} +\end{quote} +This technique is easily extendible by concert pianists of the \TeX{} +keyboard, but is really hard to recommend. + +\LaTeX{} users have the small convenience of merely giving a number of +arguments in the \csx{newcommand} that defines each part of the +relaying mechanism: Knuth's restriction applies to \csx{newcommand} +just as it does to \csx{def}. However, \LaTeX{} users also have the +way out of such barbarous command syntax: the \Package{keyval} +package. With \Package{keyval}, and a bit of programming, one can +write really quite sophisticated commands, whose invocation might look +like: +\begin{quote} +\begin{verbatim} +\flowerinstance{species=Primula veris, + family=Primulaceae, + location=Coldham's Common, + locationtype=Common grazing land, + date=1995/04/24, + numplants=50, + soiltype=alkaline +} +\end{verbatim} +\end{quote} +The merit of such verbosity is that it is self-explanatory: the typist +doesn't have to remember that argument twelve is |soiltype|, and so +on: the commands may be copied from field notes quickly and +accurately. +\begin{ctanrefs} +\item[keyval.sty]Distributed as part of \CTANref{graphics} +\end{ctanrefs} + +\Question[Q-activechars]{Defining characters as macros} + +Single characters can act as macros (defined commands), and both +Plain~\TeX{} and \LaTeX{} define the character +``\texttt{\textasciitilde}'' as a ``non-breakable space''. A +character is made definable, or ``active'', by setting its +\emph{category code} (catcode) to be \csx{active} (13): +|\catcode`_=\active|. + +Any character could, in principle, be activated this way and defined +as a macro (|\def_{|\csx{\symbol{95}}|}|~--- the simple answer to +% beware line break +\Qref[question]{using underscores}{Q-underscore}), but you must be +wary: whereas people expect an active tilde, other active characters +may be unexpected and interact badly with other macros. Furthermore, +by defining an active character, you preclude the character's use for +other purposes, and there are few characters ``free'' to be subverted +in this way. + +To define the character ``|z|'' as a command, one would say something +like: +\begin{quote} +\begin{verbatim} +\catcode`\z=\active +\def z{Yawn, I'm tired}% +\end{verbatim} +\end{quote} +and each subsequent ``|z|'' in the text would become a yawn. This would be +an astoundingly bad idea for most documents, but might have special +applications. (Note that, in ``|\def z|'', ``|z|'' is no longer interpreted as +a letter; the space is therefore not necessary~--- ``|\defz|'' would do; we +choose to retain the space, for what little clarity we can manage.) +Some \LaTeX{} packages facilitate such definitions. For example, the +\Package{shortvrb} package with its \csx{MakeShortVerb} command. + +\TeX{} uses category codes to interpret characters as they are read +from the input. +% beware line break +\emph{Changing a catcode value will not affect characters that have already been read}. +Therefore, it is best if characters have fixed category codes for the +duration of a document. If catcodes are changed for particular +purposes (the \csx{verb} command does this), then the altered +characters will not be interpreted properly when they appear in the +argument to another command (as, for example, in +% beware line-break +\htmlonly{``}\Qref[question]{\csx{verb} in command arguments}{Q-verbwithin}\htmlonly{''}). +An exemplary case is the \Package{doc} package, which processes .dtx +files using the \Package{shortvrb} package to define +\texttt{\textbar\dots{}\textbar} as a shorthand for +\csx{verb}\texttt{\textbar\dots{}\textbar}. But \texttt{\textbar} is +also used in the preambles of tabular environments, so that tables in +|.dtx| files can only have vertical line separation between columns by +employing special measures of some sort. + +Another consequence is that catcode assignments made +in macros often don't work as expected % beware linebreak +(\htmlonly{see ``}\Qref{Active characters in command arguments}{Q-actinarg}\htmlonly{''}). +For example, the definition +\begin{quote} +\begin{verbatim} +\def\mistake{% +\catcode`_=\active +\def_{\textunderscore\-}% +} +\end{verbatim} +\end{quote} +does not work because it attemts to define an ordinary |_| character: +When the macro is used, the category change does not apply to the +underscore character already in the macro definition. Instead, one may +use: +\begin{quote} +\begin{verbatim} +\begingroup +\catcode`_=\active +\gdef\works{% note the global \gdef + \catcode`_=\active + \def_{\textunderscore\-}% +} +\endgroup +\end{verbatim} +\end{quote} +The alternative (``tricksy'') way of creating such an isolated +definition depends on the curious properties of \csx{lowercase}, which +changes characters without altering their catcodes. Since there is +always \emph{one} active character (``\texttt{\textasciitilde}''), we +can fool \csx{lowercase} into patching up a definition without ever +explicitly changing a catcode: +\begin{quote} +\begin{verbatim} +\begingroup + \lccode`\~=`\_ + \lowercase{\endgroup + \def~{\textunderscore\-}% + }% +\end{verbatim} +\end{quote} +The two definitions have the same overall effect (the character is +defined as a command, but the character does not remain active), +except that the first defines a \csx{global} command. + +For active characters to be used only in maths mode, it is much better +to leave the character having its ordinary catcode, but assign it a +special active \emph{maths code}, as with +\begin{quote} +\begin{verbatim} +\begingroup + \lccode`~=`x + \lowercase{\endgroup + \def~{\times}% + }% +\mathcode`x="8000 +\end{verbatim} +\end{quote} +The special character does not need to be redefined whenever it is +made active~--- the definition of the command persists even if the +character's catcode reverts to its original value; the definition +becomes accessible again if the character once again becomes active. +\begin{ctanrefs} +\item[doc.sty]Distributed as part of the source of \LaTeX{}, \CTANref{latex} +\item[shortvrb.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + + +\Question[Q-actinarg]{Active characters in command arguments} + +Occasionally, it's nice to make one or two characters active in the +argument of a command, to make it easier for authors to code the +arguments. + +Active characters \emph{can} be used safely in such situations; but +care is needed. + +An example arose while this answer was being considered: an aspirant +macro writer posted to \Newsgroup{comp.text.tex} asking for help to +make |#| and |b| produce musical sharp and flat signs, respectively, +in a macro for specifying chords. + +The first problem is that both |#| and |b| have rather important uses +elsewhere in \TeX{} (to say the least!), so that the characters can +only be made active while the command is executing. + +Using the techniques discussed in % beware line break, next line +\htmlonly{``}\Qref[question]{characters as commands}{Q-activechars}\htmlonly{''}, +we can define: +\begin{quote} +\begin{verbatim} +\begingroup + \catcode`\#=\active + \gdef#{$\sharp$} +\endgroup +\end{verbatim} +\end{quote} +and: +\begin{quote} +\begin{verbatim} +\begingroup + \lccode`\~=`\b + \lowercase{\endgroup + \def~{$\flat$}% + } +\end{verbatim} +\end{quote} +The second problem is one of timing: the command has to make each +character active \emph{before} its arguments are read: this means that +the command can't actually ``have'' arguments itself, but must be +split in two. So we write: +\begin{quote} +\begin{verbatim} +\def\chord{% + \begingroup + \catcode`\#=\active + \catcode`\b=\active + \Xchord +} +\def\Xchord#1{% + \chordfont#1% + \endgroup +} +\end{verbatim} +\end{quote} +and we can use the command as \cmdinvoke{chord}{F\#} or +\cmdinvoke{chord}{Bb minor}. + +Two features of the coding are important: +\begin{itemize} +\item \csx{begingroup} in \csx{chord} opens a group that is closed by + \csx{endgroup} in \csx{Xchord}; this group limits the change of + category codes, which is the \emph{raison d'\^etre} of the whole + exercise. +\item Although |#| is active while \csx{Xchord} is executed, it's + \emph{not} active when it's being defined, so that the use of |#1| + doesn't require any special attention. +\end{itemize} + +Note that the technique used in such macros as \csx{chord}, here, is +analagous to that used in such commands as \csx{verb}; and, in just the +same way as \csx{verb} (see +% beware breaking long line +\htmlonly{``}\Qref[question]{\csx{verb} doesn't work in arguments}{Q-verbwithin}\htmlonly{''}), +\csx{chord} won't work inside the argument of another command (the +error messages, if they appear at all, will probably be rather odd). + + +\Question[Q-csname]{Defining a macro from an argument} + +It's common to want a command to create another command: often one +wants the new command's name to derive from an argument. \LaTeX{} +does this all the time: for example, \csx{newenvironment} creates +start- and end-environment commands whose names are derived from the +name of the environment command. + +The (seemingly) obvious approach: +\begin{quote} +\begin{verbatim} +\def\relay#1#2{\def\#1{#2}} +\end{verbatim} +\end{quote} +doesn't work (the \TeX{} engine interprets it +as a rather strange redefinition of |\#|). The trick is to use +\csx{csname}, which is a \TeX{} primitive for generating command names +from random text, together with \csx{expandafter}. The definition +above should read: +\begin{quote} +\begin{verbatim} +\def\relay#1#2{% + \expandafter\def\csname #1\endcsname{#2}% +} +\end{verbatim} +\end{quote} +With this definition, \cmdinvoke{relay}{blah}{bleah} is equivalent to +\csx{def}\cmdinvoke{blah}{bleah}. + +Note that the definition of \csx{relay} omits the braces round the +`command name' in the \csx{newcommand} it executes. This is +because they're not necessary (in fact they seldom are), and in this +circumstance they make the macro code slightly more tedious. + +The name created need not (of course) be \emph{just} the argument: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\def\newrace#1#2#3{\expandafter\def + \csname start#1\endcsname{% + #2% + }% + \expandafter\def + \csname finish#1\endcsname{% + #3% + }% +} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\def\newrace#1#2#3{% + \expandafter\def\csname start#1\endcsname{% + #2% + }% + \expandafter\def\csname finish#1\endcsname{% + #3% + }% +} +\end{verbatim} +\end{wideversion} +\end{quote} +With commands +\begin{quote} +\begin{verbatim} +\def\start#1{\csname start#1\endcsname} +\def\finish#1{\csname finish#1\endcsname} +\end{verbatim} +\end{quote} +these `races' could behave a bit like \LaTeX{} environments. + +\Question[Q-cvtlatex]{Transcribing \LaTeX{} command definitions} + +At several places in this \acro{FAQ}, questions are answered in terms +of how to program a \LaTeX{} macro. Sometimes, these macros might +also help users of Plain \TeX{} or other packages; this answer +attempts to provide a rough-and-ready guide to transcribing such macro +definitions for use in other packages. + +The reason \LaTeX{} has commands that replace \csx{def}, is that +there's a general philosophy within \LaTeX{} that the user should be +protected from himself: the user has different commands according to +whether the command to be defined exists (\csx{renewcommand}) or not +(\csx{newcommand}), and if its status proves not as the user expected, +an error is reported. A third definition command, +\csx{providecommand}, only defines if the target is not already +defined; \LaTeX{} has no direct equivalent of \csx{def}, which ignores +the present state of the command. The final command of this sort is +\csx{DeclareRobustCommand}, which creates a command which is ``robust'' +(i.e., will not expand if subjected to \LaTeX{} ``protected +expansion''); from the Plain~\TeX{} user's point of view, +\csx{DeclareRobustCommand} should be treated as a non-checking version +of \csx{newcommand}. + +\LaTeX{} commands are, by default, defined \csx{long}; an optional \texttt{*} +between the \csx{newcommand} and its (other) arguments specifies that +the command is \emph{not} to be defined \csx{long}. The \texttt{*} is +detected by a command \csx{@ifstar} which uses \csx{futurelet} to switch +between two branches, and gobbles the \texttt{*}: \LaTeX{} users are +encouraged to think of the \texttt{*} as part of the command name. + +\LaTeX{}'s checks for unknown command are done by \csx{ifx} comparison +of a \csx{csname} construction with \csx{relax}; since the command name +argument is the desired control sequence name, this proves a little +long-winded. Since \texttt{\#1} is the requisite argument, we have: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\expandafter\ifx + \csname + \expandafter\@gobble\string#1% + \endcsname + \relax + ... +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\expandafter\ifx + \csname\expandafter\@gobble\string#1\endcsname + \relax + ... +\end{verbatim} +\end{wideversion} +\end{quote} +(\csx{@gobble} simply throws away its argument). + +The arguments of a \LaTeX{} command are specified by two optional +arguments to the defining command: a count of arguments (0--9: if the +count is 0, the optional count argument may be omitted), and a default +value for the first argument, if the defined command's first argument +is to be optional. So: +\begin{quote} +\begin{verbatim} +\newcommand\foo{...} +\newcommand\foo[0]{...} +\newcommand\foo[1]{...#1...} +\newcommand\foo[2][boo]{...#1...#2...} +\end{verbatim} +\end{quote} +In the last case, \csx{foo} may be called as \cmdinvoke{foo}{goodbye}, +which is equivalent to \cmdinvoke{foo}[boo]{goodbye} (employing the +default value given for the first argument), or as +\cmdinvoke{foo}[hello]{goodbye} (with an explicit first argument). + +Coding of commands with optional arguments is exemplified by the +coding of the last \csx{foo} above: +\begin{quote} +\begin{verbatim} +\def\foo{\futurelet\next\@r@foo} +\def\@r@foo{\ifx\next[% + \let\next\@x@foo + \else + \def\next{\@x@foo[boo]}% + \fi + \next +} +\def\@x@foo[#1]#2{...#1...#2...} +\end{verbatim} +\end{quote} + +\Question[Q-empty]{Detecting that something is empty} + +Suppose you need to know that the argument of your command is empty: +that is, to distinguish between \cmdinvoke{cmd}{\relax} % \relax doesn't print +and \cmdinvoke{cmd}{blah}. This is pretty simple: +\begin{quote} +\begin{verbatim} +\def\cmd#1{% + \def\tempa{}% + \def\tempb{#1}% + \ifx\tempa\tempb + <empty case> + \else + <non-empty case> + \fi +} +\end{verbatim} +\end{quote} +The case where you want to ignore an argument that consists of nothing +but spaces, rather than something completely empty, is more tricky. +It's solved in the code fragment \Package{ifmtarg}, which defines +commands \csx{@ifmtarg} and \csx{@ifnotmtarg}, which distinguish (in +opposite directions) between a second and third argument. The +package's code also appears in the \LaTeX{} \Class{memoir} class. + +\Package{Ifmtarg} makes challenging reading; there's also a discussion of the +issue in number two of the ``around the bend'' articles by the late +lamented Mike Downes. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Around the bend series]\CTANref{aro-bend} +\item[ifmtarg.sty]\CTANref{ifmtarg} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\Question[Q-ifpdf]{Am I using \PDFTeX{}?} + +It's often useful to know whether your macros are operating within +\PDFTeX{} or within (``normal'') \TeX{}; getting the right answer is +surprisingly tricky. + +Suppose you need to test whether your output will be \acro{PDF} or +\acro{DVI}. The natural thing is to check whether you have access to +some \PDFTeX{}-only primitive; a good one to try (not least because it +was present in the very first releases of \PDFTeX{}) is +\csx{pdfoutput}. So you try +\begin{quote} +\begin{verbatim} +\ifx\pdfoutput\undefined + <not running PDFTeX> +\else + <running PDFTeX> +\fi +\end{verbatim} +\end{quote} +Except that neither branch of this conditional is rock-solid. The +first branch can be misleading, since the ``awkward'' user could have +written: +\begin{quote} +\begin{verbatim} +\let\pdfoutput\undefined +\end{verbatim} +\end{quote} +so that your test will falsely choose the first alternative. While +this is a theoretical problem, it is unlikely to be a major one. + +More important is the user who loads a package that uses +\LaTeX{}-style testing for the command name's existence (for example, +the \LaTeX{} \Package{graphics} package, which is useful even to the +Plain~\TeX{} user). Such a package may have gone ahead of you, so the +test may need to be elaborated: +\begin{quote} +\begin{verbatim} +\ifx\pdfoutput\undefined + <not running PDFTeX> +\else + \ifx\pdfoutput\relax + <not running PDFTeX> + \else + <running PDFTeX> + \fi +\fi +\end{verbatim} +\end{quote} +If you only want to know whether some \PDFTeX{} extension (such as +marginal kerning) is present, you can stop at this point: you know as +much as you need. + +However, if you need to know whether you're creating \acro{PDF} +output, you also need to know about the value of \csx{pdfoutput}: +\begin{quote} +\begin{verbatim} +\ifx\pdfoutput\undefined + <not running PDFTeX> +\else + \ifx\pdfoutput\relax + <not running PDFTeX> + \else + <running PDFTeX, with...> + \ifnum\pdfoutput>0 + <...PDF output> + \else + <...DVI output> + \fi + \fi +\fi +\end{verbatim} +\end{quote} +The above is, in essence, what Heiko Oberdiek's \Package{ifpdf} +package does; the reasoning is the \acro{FAQ}'s interpretation of +Heiko's explanation. +\begin{ctanrefs} +\item[ifpdf.sty]Distributed with Heiko Oberdiek's packages \CTANref{oberdiek} +\end{ctanrefs} + +\Question[Q-subverttoks]{Subverting a token register} + +A common requirement is to ``subvert'' a token register that other +macros may use. The requirement arises when you want to add something +to a system token register (\csx{output} or \csx{every*}), but know +that other macros use the token register, too. (A common requirement +is to work on \csx{everypar}, but \LaTeX{} changes \csx{everypar} at +every touch and turn.) + +The following technique, due to David Kastrup, does what you need, and +allows an independent package to play the exact same game: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\let\mypkg@@everypar\everypar +\newtoks\mypkg@everypar +\mypkg@everypar\expandafter{\the\everypar} +\mypkg@@everypar{\mypkgs@ownstuff\the\mypkg@everypar} +\def\mypkgs@ownstuff{% + <stuff to do at the start of the token register>% +} +\let\everypar\mypkg@everypar +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\let\mypkg@@everypar\everypar +\newtoks\mypkg@everypar +\mypkg@everypar\expandafter{\the\everypar} +\mypkg@@everypar{\mypkgs@ownstuff + \the\mypkg@everypar} +\def\mypkgs@ownstuff{% + <stuff to do at the start of + the token register>% +} +\let\everypar\mypkg@everypar +\end{verbatim} +\end{narrowversion} +\end{quote} +As you can see, the package (\Package{mypkg}) +\begin{itemize} +\item creates an alias for the existing ``system'' \csx{everypar} + (which is frozen into any surrounding environment, which will carry + on using the original); +\item creates a token register to subvert \csx{everypar} and + initialises it with the current contents of \csx{everypar}; +\item sets the ``old'' \csx{everypar} to execute its own extra code, + as well as the contents of its own token register; +\item defines the macro for the extra code; and +\item points the token \csx{everypar} at the new token register. +\end{itemize} +and away we go. + +The form \csx{mypkg@...} is (sort of) blessed for \LaTeX{} package +internal names, which is why this example uses macros of that form. + +\subsection{\LaTeX{} macro tools and techniques} + +\Question[Q-plninltx]{Using Plain or primitive commands in \LaTeX{}} + +It's well-known that \LaTeX{} commands tend to be more complex, and to +run more slowly than, any Plain (or primitive) command that they +replace. There is therefore great temptation not to use \LaTeX{} +commands when macro programming. Nevertheless, the general rule is +that you should use \LaTeX{} commands, if there are seeming +equivalents. The exception is when you are sure you know the +differences between the two commands and you know that you need the +Plain version. So, for example, use \csx{mbox} in place of \csx{hbox} +unless you know that the extras that \LaTeX{} provides in \csx{mbox} +would cause trouble in your application. Similarly, use +\csx{newcommand} (or one of its relatives) unless you need one of the +constructs that cannot be achieved without the use of \csx{def} (or friends). + +As a general rule, any \LaTeX{} text command will start a new +paragraph if necessary; this isn't the case with Plain \TeX{} +commands, a fact which has a potential to confuse. + +The commands \csx{smallskip}, \csx{medskip} and \csx{bigskip} exist both +in Plain \TeX{} and \LaTeX{}, but behave slightly differently: in Plain +\TeX{} they terminate the current paragraph, but in \LaTeX{} they +don't. The command \csx{line} is part of picture mode in \LaTeX{}, +whereas it's defined as ``\csx{hbox}\texttt{ to }\csx{hsize}'' in +Plain \TeX{}. (There's no equivalent for users of the Plain \TeX{} command in +\LaTeX{}: an equivalent appears as the internal command \csx{@@line}). + +Maths setting shows a case where the \LaTeX{} version \emph{is} +essentially equivalent to the \TeX{} primitive commands: the \LaTeX{} +\csx{(}\texttt{\ ...\ }\csx{)} does essentially no different to the +\TeX{} \texttt{\$\ ...\ \$} +(except for checking that you're not attempting to open a maths +environment when you're already in one, or vice versa). % ! line break +However, \csx{[}\texttt{\ ...\ }\csx{]} \emph{isn't} the same as +\texttt{\$\$\ ...\ \$\$}: the \TeX{} version, used +in \LaTeX{}, contrives to miss the effect of the class option +\pkgoption{fleqn}. + +Font handling is, of course, wildly different in Plain \TeX{} and +\LaTeX{}: even the \LaTeX{} equivalent of the Plain \TeX{} +font-loading command (\csx{newfont}) should be avoided wherever +possible: the possibilities of confusion with constructs that vary +their behaviour according to the font size that \LaTeX{} has recorded +are (sadly) legion. A really rather funny example is to be had by +saying: +\begin{quote} +\begin{verbatim} +\documentclass{article} +\begin{document} +\font \myfont=cmr17 scaled 2000 +\myfont +\LaTeX +\end{document} +\end{verbatim} +\end{quote} +(the reader is encouraged to try this). The ``A'' of \LaTeX{} +has pretty much disappeared: \LaTeX{} sets the ``A'' according to +\emph{its} idea of the font size (10pt), but ``\csx{myfont}'' is more +than three times that size. + +Another ``\csx{myfont}'' example arises from an entirely different +source. The mini-document: +\begin{quote} +\begin{verbatim} +\documentclass{article} +\begin{document} +\font \myfont=ecrm1000 +{\myfont par\`a} +\end{document} +\end{verbatim} +\end{quote} +gives you ``German low double quotes'' in place of the grave accent. +This problem arises because \FontName{ecrm1000} is in a different +\Qref*{font encoding}{Q-whatenc} than \LaTeX{} is expecting~--- if you +use \LaTeX{} font commands, all the tiresome encoding issues are +solved for you, behind the scenes. + +So, whether you're dealing with a one-off font or a major new family, you +are far more likely to be satisfied with the \LaTeX{} file selection +system, so it's worth investing a small amount of effort to write +declarations of the font's family and how it should be loaded. For +details of the commands you need, see the \LaTeX{} font usage guide, +\File{fntguide}: this may be viewed on the archive, but you should +find a copy of the document in your own system. +%% +%% Consider \csx{vskip} (or Plain \TeX{} users of it like \csx{medskip}) +%% \emph{vs}.\nothtml{\@} \csx{vspace} or \csx{vspace*}, but most +%% especially \csx{addvspace}. +\begin{ctanrefs} +\item[fntguide.pdf]\CTANref{fntguide.pdf} +\item[fntguide.tex]Distributed with \CTANref{latex} +\end{ctanrefs} + +\Question[Q-atsigns]{\csx{@} and \texttt{@} in macro names} + +Macro names containing \texttt{@} are \emph{internal} to \LaTeX{}, and +without special treatment just don't work in ordinary use. An +exemplar of the problems caused is discussed in % ! beware line break +\htmlonly{``}\Qref[question]{\csx{@} in vertical mode}{Q-atvert}\htmlonly{''}. + +The problems users see are caused by copying bits of a class (|.cls| file) or +package (|.sty| file) into a document, or by including a class or +package file into a \LaTeX{} document by some means other than +\csx{documentclass} or \csx{usepackage}. \LaTeX{} defines internal +commands whose names contain the character |@| to +avoid clashes between its internal names and names that we would +normally use in our documents. In order that these commands may work +at all, \csx{documentclass} and \csx{usepackage} play around with the +meaning of |@|. + +If you've included a file wrongly, you solve the problem by using the +correct command. + +If you're using a fragment of a package or class, you may well feel +confused: books such as \Qref*{\emph{The \LaTeX{} Companion}}{Q-books} +are full of fragments of packages as examples for you to employ. + +For example, there's a lengthy section in \emph{The Companion} about +\csx{@startsection} and how to use it to control the appearance of +section titles. Page~15 discusses the problem; and +suggests that you make such changes in the document preamble, between +\csx{makeatletter} and \csx{makeatother}. So the redefinition of +\csx{subsection} on page~26 could be: +\begin{quote} +\begin{verbatim} +\makeatletter +\renewcommand{\subsection}{\@startsection + {subsection}% % name + ... + {\normalfont\normalsize\itshape}}% style +\makeatother +\end{verbatim} +\end{quote} + +The alternative is to treat all these fragments as a package proper, +bundling them up into a \texttt{.sty} file and including them with +\csx{usepackage}. (This approach is marginally preferable, from the +\LaTeX{} purist's point of view.) + +\Question[Q-protect]{What's the reason for `protection'?} + +Sometimes \LaTeX{} saves data it will reread later. These data are +often the argument of some command; they are the so-called moving +arguments. (`Moving' because data are moved around.) Places to look for +are all arguments that may go into table of contents, list of figures, +\emph{etc}.; namely, data that are written to an auxiliary file and +read in later. Other places are those data that might appear in head- +or footlines. Section headings and figure captions are the most +prominent examples; there's a complete list in Lamport's book +(see \Qref[question]{\TeX{}-related books}{Q-books}). + +%You don't want to care about this stuff? Simply |\protect| all +%\LaTeX{} commands within these moving arguments. + +What's going on really, behind the scenes? The commands in the moving +arguments are already expanded to their internal structure during the +process of saving. Sometimes this expansion results in invalid \TeX{} +code when processed again. ``\csx{protect}\csx{cmd}'' tells \LaTeX{} to save +\csx{cmd} as \csx{cmd}, without expansion. + +What is a `fragile command'? It's a command that expands into illegal +\TeX{} code during the save process. + +What is a `robust command'? It's a command that expands into legal +\TeX{} code during the save process. + +Again, commands are marked as `robust' or `fragile', as they're +defined in Lamport's book. Sadly, some commands are robust in +\LaTeX{} itself, but are redefined by some packages to be fragile; the +\csx{cite} command commonly suffers this treatment. + +No-one (of course) likes this situation; the \LaTeX{}3 team have +removed the need for protection of some things in the production of +\LaTeXe{}, but the techniques available to them within current +\LaTeX{} mean that this is an expensive exercise. It remains a +long-term aim of the team to remove all need for these things. + +\Question[Q-edef]{\csx{edef} does not work with \csx{protect}} + +Robust \LaTeX{} commands are either ``naturally robust''~--- meaning that +they never need \csx{protect}, or ``self-protected''~--- meaning that +they have \csx{protect} built in to their definition in some +way. Self-protected commands are robust only in a context where the +\csx{protect} mechanism is properly handled. The body of an +\csx{edef} definition doesn't handle \csx{protect} properly, since +\csx{edef} is a \TeX{} primitive rather than a \LaTeX{} command. + +This problem is resolved by a \LaTeX{} internal command +\csx{protected@edef}, which does the job of \csx{edef} while keeping the +\csx{protect} mechanism working. There's a corresponding +\csx{protected@xdef} which does the job of \csx{xdef}. + +Of course, these commands need to be tended carefully, since they're +% beware line break on next line +internal: see \Qref[question]{'@' in control sequence names}{Q-atsigns}. + +\Question[Q-ltxcmds]{The definitions of \LaTeX{} commands} + +There are several reasons to want to know the definitions of \LaTeX{} +commands: from the simplest ``idle curiosity'', to the pressing need +to patch something to make it ``work the way you want it''. None of +these are \emph{pure} motives, but knowledge and expertise seldom +arrive through the purest of motives. + +The simple answer is to try \csx{show}, in a run of \LaTeX{} that is +taking commands from the terminal: +\begin{quote} +\begin{verbatim} +*\show\protected@edef +> \protected@edef=macro: +->\let \@@protect \protect + \let \protect \@unexpandable@protect + \afterassignment \restore@protect \edef . +\end{verbatim} +\end{quote} +(I've rearranged the output there, from the rather confused version +\TeX{} itself produces.) We may perhaps, now, wonder about +\csx{@unexpandable@protect}: +\begin{quote} +\begin{verbatim} +*\show\@unexpandable@protect +> \@unexpandable@protect=macro: +->\noexpand \protect \noexpand . +\end{verbatim} +\end{quote} +and we're starting to see how one part of the \csx{protect}ion +mechanism works (one can probably fairly safely guess what +\csx{restore@protect} does). + +Many kernel commands are declared robust: +\begin{quote} +\begin{verbatim} +*\show\texttt +> \texttt=macro: +->\protect \texttt . +\end{verbatim} +\end{quote} +so that \csx{show} isn't much help. Define a command \csx{pshow} as +shown below, and use that instead: +\begin{quote} +\begin{verbatim} +*\def\pshow#1{{\let\protect\show #1}} +*\pshow\texttt +> \texttt =\long macro: +#1->\ifmmode \nfss@text {\ttfamily #1}% + \else \hmode@bgroup \text@command {#1}% + \ttfamily \check@icl #1\check@icr + \expandafter \egroup \fi . +\end{verbatim} +\end{quote} +Note that the command name that is protected is the `base' command, +with a space appended. This is cryptically visible, in a couple of +places above. (Again, the output has been sanitised.) + +If one has a malleable text editor, the same investigation may more +comfortably be conducted by examining the file \File{latex.ltx} (which +is usually to be found, in a \acro{TDS} system, in directory +\path{tex/latex/base}). + +In fact, \File{latex.ltx} is the product of a \ProgName{docstrip} +process on a large number of \Qref*{\texttt{.dtx} files}{Q-dtx}, and +you can refer to those instead. The \LaTeX{} distribution includes a file +\File{source2e.tex}, and most systems retain it, again in +\path{tex/latex/base}. \File{Source2e.tex} may be processed to +provide a complete source listing of the \LaTeX{} kernel (in fact the +process isn't entirely straightforward, but the file produces messages +advising you what to do). The result is a huge document, with a +line-number index of control sequences the entire kernel and a +separate index of changes recorded in each of the files since the +\LaTeX{} team took over. + +The printed kernel is a nice thing to have, but it's unwieldy and sits +on my shelves, seldom used. One problem is that the comments are +patchy: the different modules range from well and lucidly documented, +through modules documented only through an automatic process that +converted the documentation of the source of \LaTeXo{}, to modules +that hardly had any useful documentation even in the \LaTeXo{} original. + +In fact, each kernel module \texttt{.dtx} file will process separately +through \LaTeX{}, so you don't have to work with the whole of +\File{source2e}. You can easily determine which module defines the +macro you're interested in: use your ``malleable text editor'' to find +the definition in \File{latex.ltx}; then search backwards from that +point for a line that starts % ! line break +\texttt{\textpercent\textpercent\textpercent\ From File:}~--- that line +tells you which \texttt{.dtx} file contains the definition you are interested +in. Doing this for \csx{protected@edef}, we find: +\begin{quote} +\begin{verbatim} +%%% From File: ltdefns.dtx +\end{verbatim} +\end{quote} +When we come to look at it, \File{ltdefns.dtx} proves to contain +quite a dissertation on the methods of handling \csx{protect}ion; it +also contains some automatically-converted \LaTeXo{} documentation. + +And of course, the kernel isn't all of \LaTeX{}: your command may be +defined in one of \LaTeX{}'s class or package files. For example, we +find a definition of \csx{thebibliography} in \Class{article}, but +there's no \File{article.dtx}. Some such files are generated from +parts of the kernel, some from other files in the distribution. You +find which by looking at the start of the file: in \File{article.cls}, +we find: +\begin{quote} +\begin{verbatim} +%% This is file `article.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% classes.dtx (with options: `article') +\end{verbatim} +\end{quote} +so we need to format \File{classes.dtx} to see the definition in +context. + +All these .dtx files are on \acro{CTAN} as part of the main \LaTeX{} +distribution. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\LaTeX{} distribution]\CTANref{latex} +\end{ctanrefs} + +\Question[Q-oarglikesect]{Optional arguments like \csx{section}} + +Optional arguments, in macros defined using \csx{newcommand}, don't +quite work like the optional argument to \csx{section}. The default +value of \csx{section}'s optional argument is the value of the +mandatory argument, but \csx{newcommand} requires that you `know' the +value of the default beforehand. + +The requisite trick is to use a macro in the optional argument: +\begin{wideversion} +\begin{verbatim} +\newcommand\thing[2][\DefaultOpt]{\def\DefaultOpt{#2} ...} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\newcommand\thing[2][\DefaultOpt]{% + \def\DefaultOpt{#2}% + ...% +} +\end{verbatim} +\end{narrowversion} + +\Question[Q-twooptarg]{More than one optional argument} + +If you've already read % ! line break +``\Qref*[question]{breaking the 9-argument limit}{Q-moren9}''. +you can probably guess the solution to this problem: command relaying. + +\LaTeX{} allows commands with a single optional argument thus: +\begin{verbatim} + \newcommand{\blah}[1][Default]{...} +\end{verbatim} + +You may legally call such a command either with its optional argument +present, as +\cmdinvoke{blah}[nonDefault] or as \csx{blah}; in the latter case, the +code of \csx{blah} will have an argument of |Default|. + +To define a command with two optional arguments, we use the relaying +technique, as follows: +\begin{verbatim} + \newcommand{\blah}[1][Default1]{% + \def\ArgI{{#1}}% + \BlahRelay + } + \newcommand\BlahRelay[1][Default2]{% + % the first optional argument is now in + % \ArgI + % the second is in #1 + ...% + } +\end{verbatim} +Of course, \csx{BlahRelay} may have as many mandatory arguments as are +allowed, after allowance for the one taken up with its own +optional argument~--- that is, 8. + +Variants of \csx{newcommand} (and friends), with names like +\csx{newcommandtwoopt}, are available in the \Package{twoopt} package. +However, if you can, it's probably better to learn to write the commands +yourself, just to see why they're not even a good idea from the +programming point of view. + +A command with two optional arguments strains the limit of what's +sensible: obviously you can extend the technique to provide as many +optional arguments as your fevered imagination can summon. However, +see the comments on the use of the \Package{keyval} package, again in +``\Qref*[question]{breaking the 9-argument limit}{Q-moren9}''. +which offer an alternative way forward. + +If you must, however, consider the \Package{optparams} package; +provides a \csx{optparams} command that you use as an intermediate in +defining commands with up to nine optional arguments. The +documentation shows examples of commands with four optional arguments +(and this from an author who has his own key-value package!). + +An alternative approach is offered by Scott Pakin's +\ProgName{newcommand} program, which takes a command name and a +definition of a set of command arguments (in a fairly +readily-understood language), and emits \AllTeX{} macros which enable +the command to be defined. The command requires that a +\ProgName{Python} system be installed on your computer. +\begin{ctanrefs} +\item[newcommand.py]\CTANref{newcommand} +\item[optparams.sty]Distributed as part of \CTANref{sauerj} +\item[twoopt.sty]Distributed as part of \CTANref{oberdiek} +\end{ctanrefs} + +\Question[Q-cmdstar]{Commands defined with * options} + +\LaTeX{} commands commonly have ``versions'' defined with an asterisk +tagged onto their name: for example \csx{newcommand} and +\csx{newcommand*} (the former defines a \csx{long} version of the +command). + +The simple-minded way for a user to write such a command involves use +of the \Package{ifthen} package: +\begin{wideversion} +\begin{quote} +\begin{verbatim} +\newcommand{\mycommand}[1]{\ifthenelse{\equal{#1}{*}}% + {\mycommandStar}% + {\mycommandNoStar{#1}}% +} +\newcommand{\mycommandStar}{starred version} +\newcommand{\mycommandNoStar}[1]{normal version} +\end{verbatim} +\end{quote} +\end{wideversion} +\begin{narrowversion} +\begin{quote} +\begin{verbatim} +\newcommand{\mycommand}[1]{% + \ifthenelse{\equal{#1}{*}}% + {\mycommandStar}% + {\mycommandNoStar{#1}}% +} +\newcommand{\mycommandStar}% + {starred version} +\newcommand{\mycommandNoStar}[1]% + {normal version} +\end{verbatim} +\end{quote} +\end{narrowversion} +This does the trick, for sufficiently simple commands, but it has +various tiresome failure modes, and it requires \csx{mycommandnostar} +to take an argument. + +Of course, the \LaTeX{} kernel has something slicker than this: +\begin{quote} +\begin{verbatim} +\newcommand{\mycommand}[1]{\@ifstar + \mycommandStar% + \mycommandNoStar% +} +\newcommand{\mycommandStar}{starred version} +\newcommand{\mycommandNoStar}{normal version} +\end{verbatim} +\end{quote} +Which is all very well, is fast and efficient, but requires the +definition to be \Qref*{\csx{makeatletter} protected}{Q-atsigns}. +The technique doesn't interfere at all with the definitions of +\csx{mycommandStar} or \csx{mycommandNoStar}; they can have any +combination of optional and mandatory arguments that you could define +them to have in the ordinary way. + +A pleasing alternative is the \Package{suffix} package. This elegant +piece of code allows you to define variants of your commands: +\begin{narrowversion} +\begin{quote} +\begin{verbatim} +\newcommand\mycommand{normal version} +\WithSuffix\newcommand\mycommand*% + {starred version} +\end{verbatim} +\end{quote} +\end{narrowversion} +\begin{wideversion} +\begin{quote} +\begin{verbatim} +\newcommand\mycommand{normal version} +\WithSuffix\newcommand\mycommand*{starred version} +\end{verbatim} +\end{quote} +\end{wideversion} +The package needs \Qref*{\elatex{}}{Q-NTS}, but any new enough +distribution defines \LaTeX{} as \elatex{} by default. Command +arguments may be specified in the normal way, in both command +definitions (after the ``\texttt{*}'' in the \csx{WithSuffix} +version). You can also use the \TeX{} primitive commands, creating a +definition like: +\begin{quote} +\begin{verbatim} +\WithSuffix\gdef\mycommand*{starred version} +\end{verbatim} +\end{quote} +\begin{ctanrefs} +\item[ifthen.sty]Part of the \LaTeX{} distribution +\item[suffix.sty]Distributed as part of \CTANref{bigfoot} +\end{ctanrefs} + +%\nothtml{\hrule height 0pt \nobreak\vskip0pt plus2.5in\vskip 0pt\relax} +\Question[Q-ltxabbrv]{\LaTeX{} internal ``abbreviations'', etc.} + +In the deeps of time, when \TeX{} first happened, computers had +extremely limited memory, and were (by today's standards) painfully +slow. When \LaTeX{} came along, things weren't much better, and even +when \LaTeXe{} appeared, there was a strong imperative to save memory +space (and to a lesser extent) \acro{CPU} time. + +From the very earliest days, Knuth used shortcut macros to speed +things up. \LaTeX{}, over the years, has extended Knuth's list by a +substantial amount. An interesting feature of the ``abbreviations'' is +that on paper, they may look longer than the thing they stand for; +however, to \AllTeX{} they \emph{feel} smaller\dots + +The table at the end of this answer lists the commonest of these +``abbreviations''. It is not complete; as always, if the table +doesn't help, try the \LaTeX{} source. The table lists each +abbreviation's \emph{name} and its \emph{value}, which provide most of +what a user needs to know. The table also lists the abbreviation's +\emph{type}, which is a trickier concept: if you need to know, the +only real confusion is that the abbreviations labelled `defn' are +defined using an \csx{\emph{xxx}def} command. + +\begin{tabular}{lll} +Name \tbamp Type \tbamp Value \tbeol +\tbhline +\csx{m@ne} \tbamp count \tbamp \ensuremath{-1} \tbeol +\csx{p@} \tbamp dimen \tbamp 1pt \tbeol +\csx{z@} \tbamp dimen \tbamp 0pt \tbeol +\csx{z@skip} \tbamp skip \tbamp 0pt plus 0pt minus 0pt \tbeol +\tbhline +\csx{@ne} \tbamp defn \tbamp 1 \tbeol +\csx{tw@} \tbamp defn \tbamp 2\tbeol +\csx{thr@@} \tbamp defn \tbamp 3 \tbeol +\csx{sixt@@n} \tbamp defn \tbamp 16 \tbeol +\csx{@cclv} \tbamp defn \tbamp 255 \tbeol +\csx{@cclvi} \tbamp defn \tbamp 256 \tbeol +\csx{@m} \tbamp defn \tbamp 1000 \tbeol +\csx{@M} \tbamp defn \tbamp 10000 \tbeol +\csx{@MM} \tbamp defn \tbamp 20000 \tbeol +\tbhline +\csx{@vpt} \tbamp macro \tbamp 5 \tbeol +\csx{@vipt} \tbamp macro \tbamp 6 \tbeol +\csx{@viipt} \tbamp macro \tbamp 7 \tbeol +\csx{@viiipt} \tbamp macro \tbamp 8 \tbeol +\csx{@ixpt} \tbamp macro \tbamp 9 \tbeol +\csx{@xpt} \tbamp macro \tbamp 10 \tbeol +\csx{@xipt} \tbamp macro \tbamp 10.95 \tbeol +\csx{@xiipt} \tbamp macro \tbamp 12 \tbeol +\csx{@xivpt} \tbamp macro \tbamp 14.4 \tbeol +\csx{@xviipt} \tbamp macro \tbamp 17.28 \tbeol +\csx{@xxpt} \tbamp macro \tbamp 20.74 \tbeol +\csx{@xxvpt} \tbamp macro \tbamp 24.88 \tbeol +\tbhline +\csx{@plus} \tbamp macro \tbamp ``\texttt{plus}'' \tbeol +\csx{@minus} \tbamp macro \tbamp ``\texttt{minus}'' \tbeol +%\csx{hb@xt@} \tbamp macro \tbamp ``\csx{hbox} \texttt{to}'' +\end{tabular} + +\subsection{\LaTeX{} macro techniques} + +\Question[Q-fixnam]{How to change \LaTeX{}'s ``fixed names''} + +\LaTeX{} document classes define several typographic operations that +need `canned text' (text not supplied by the user). In the earliest +days of \LaTeXo{} these bits of text were built in to the body of +\LaTeX{}'s macros and were rather difficult to change, but ``fixed +name'' macros were introduced for the benefit of those wishing to use +\LaTeX{} in languages other than English. +For example, the special section produced by the \csx{tableofcontents} +command is always called \csx{contentsname} (or rather, what +\csx{contentsname} is defined to mean). +Changing the canned text is now one of the easiest customisations a +user can do to \LaTeX{}. + +The canned text macros are all of the form +\csx{\meta{thing}name}, and changing them is simplicity +itself. Put: +\begin{quote} +\cmdinvoke{renewcommand}{\csx{\meta{thing}name}}{Res minor} +\end{quote} +in the preamble of your document, and the job is done. +(However, beware of the \Package{babel} package, which requires you to +use a different mechanism: be sure to check +% beware line wrap +\Qref[question]{changing \Package{babel} names}{Q-latexwords} if +you're using it.) + +The names that are defined in the standard \LaTeX{} classes (and the +\Package{makeidex} package) are listed +below. Some of the names are only defined in a subset of the classes +(and the \Class{letter} class has a set of names all of its own); +the list shows the specialisation of each name, where appropriate. + +\nothtml{\noindent}\begin{tabular}{@{}ll} +\csx{abstractname} \tbamp Abstract\tbeol +\csx{alsoname} \tbamp see also (\Package{makeidx} package)\tbeol +\csx{appendixname} \tbamp Appendix\tbeol +\csx{bibname} \tbamp Bibliography (\Class{report},\Class{book})\tbeol +\csx{ccname} \tbamp cc (\Class{letter})\tbeol +\csx{chaptername} \tbamp Chapter (\Class{report},\Class{book})\tbeol +\csx{contentsname} \tbamp Contents\tbeol +\csx{enclname} \tbamp encl (\Class{letter})\tbeol +\csx{figurename} \tbamp Figure (for captions)\tbeol +\csx{headtoname} \tbamp To (\Class{letter})\tbeol +\csx{indexname} \tbamp Index\tbeol +\csx{listfigurename} \tbamp List of Figures\tbeol +\csx{listtablename} \tbamp List of Tables\tbeol +\csx{pagename} \tbamp Page (\Class{letter})\tbeol +\csx{partname} \tbamp Part\tbeol +\csx{refname} \tbamp References (\Class{article})\tbeol +\csx{seename} \tbamp see (\Package{makeidx} package)\tbeol +\csx{tablename} \tbamp Table (for caption) +\end{tabular} + +\Question[Q-latexwords]{Changing the words \Package{babel} uses} + +\LaTeX{} uses symbolic names for many of the automatically-generated +text it produces (special-purpose section headings, captions, etc.). +As noted in \Qref[question]{``\LaTeX fixed names''}{Q-fixnam} (which +includes a list of the names themselves), +this enables the user to change the +names used by the standard classes, which is particularly useful if +the document is being prepared in some language other than \LaTeX{}'s +default English. So, for example, a Danish author may wish that her +table of contents was called ``Indholdsfortegnelse'', and so +would expect to place a command +\begin{verbatim} +\renewcommand{\contentsname}% + {Indholdsfortegnelse} +\end{verbatim} +in the preamble of her document. + +However, it's natural for a user of a non-English language to use +\Package{babel}, because it offers many conveniences and typesetting +niceties for those preparing documents in those languages. In +particular, when \Package{babel} is selecting a new language, it +ensures that \LaTeX{}'s symbolic names are translated appropriately +for the language in question. Unfortunately, \Package{babel}'s choice +of names isn't always to everyone's choice, and there is still a need +for a mechanism to replace the `standard' names. + +Whenever a new language is selected, \Package{babel} resets all the +names to the settings for that language. In particular, +\Package{babel} selects the document's main language when +\cmdinvoke{begin}{document} is executed, which immediately destroys +any changes to these symbolic names made in the prologue of a document +that uses \Package{babel}. + +Therefore, babel defines a command to enable users to change the +definitions of the symbolic names, on a per-language basis: +\csx{addto}\csx{captions}\texttt{\meta{language}} is the thing +(\texttt{\meta{language}} being the language option you gave to +\Package{babel} in the first place). For example: +\begin{verbatim} +\addto\captionsdanish{% + \renewcommand{\contentsname}% + {Indholdsfortegnelse}% +} +\end{verbatim} + +\Question[Q-running-nos]{Running equation, figure and table numbering} + +Many \LaTeX{} classes (including the standard \Class{book} class) +number things per chapter; so figures in chapter 1 are numbered 1.1, +1.2, and so on. Sometimes this is not appropriate for the user's +needs. + +Short of rewriting the whole class, one may use one of the +\Package{removefr} and \Package{remreset} packages; both define a +\csx{@removefromreset} command, and having included the package one +writes something like: +\begin{quote} +\begin{verbatim} +\makeatletter +\@removefromreset{figure}{chapter} +\end{verbatim} +\end{quote} +and the automatic renumbering stops. You then need to redefine the +way in which the figure number (in this case) is printed: +\begin{quote} +\begin{verbatim} +\renewcommand{\thefigure}{\@arabic\c@figure} +\makeatother +\end{verbatim} +\end{quote} +(remember to do the whole job, for every counter you want to +manipulate, within \csx{makeatletter} \dots{}\@ \csx{makeatother}). + +The technique may also be used to change where in a multilevel +structure a counter is reset. Suppose your class numbers figures as +\meta{chapter}.\meta{section}.\meta{figure}, and you want figures +numbered per chapter, try: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\@removefromreset{figure}{section} +\@addtoreset{figure}{chapter} +\renewcommand{\thefigure}{\thechapter.\@arabic\c@figure} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\@removefromreset{figure}{section} +\@addtoreset{figure}{chapter} +\renewcommand{\thefigure}% + {\thechapter.\@arabic\c@figure} +\end{verbatim} +\end{narrowversion} +\end{quote} +(the command \csx{@addtoreset} is a part of \LaTeX{} itself). + +The \Package{chngcntr} package provides a simple means to access the +two sorts of changes discussed, defining \csx{counterwithin} and +\csx{counterwithout} commands; the \Class{memoir} class also provides +these functions. +\begin{ctanrefs} +\item[chngcntr.sty]\CTANref{chngcntr} +\item[memoir.cls]\CTANref{memoir} +\item[removefr.tex]\CTANref{removefr} (note, this is constructed as a + ``fragment'' for use within other packages: load by + \cmdinvoke{input}{removefr}) +\item[remreset.sty]Distributed as part of \CTANref{carlisle} +\end{ctanrefs} + +\Question[Q-labelctr]{Making labels from a counter} + +Suppose we have a \LaTeX{} counter, which we've defined with +\cmdinvoke{newcounter}{foo}. We can increment the value of the counter +by \cmdinvoke{addtocounter}{foo}{1}, but that's pretty clunky for an +operation that happens so often \dots{}~so there's a command +\cmdinvoke{stepcounter}{foo} that does this special case of +increasing-by-one. + +There's an internal \LaTeX{} variable, the ``current label'', that +remembers the last `labellable' thing that \LaTeX{} has processed. +You could (if you were to insist) set that value by the relevant +\TeX{} command (having taken the necessary precautions to ensure that +the internal command worked)~--- but it's not necessary. If, instead +of either of the stepping methods above, you say +\cmdinvoke{refstepcounter}{foo}, the internal variable is set to the +new value, and (until something else comes along), \csx{label} will +refer to the counter. + +\Question[Q-oddpage]{Finding if you're on an odd or an even page} + +\Qref[Question]{Another question}{Q-marginparside} discusses the issue +of getting \csx{marginpar} commands to put their output in the correct +margin of two-sided documents. This is an example of the general +problem of knowing where a particular bit of text lies: the output +routine is asynchronous, and \AllTeX{} will usually process quite a +bit of the ``next'' page before deciding to output any page. As a +result, the |page| counter (known internally in \LaTeX{} as +\csx{c@page}) is normally only reliable when you're actually \emph{in} +the output routine. + +The solution is to use some version of the \csx{label} mechanism to +determine which side of the page you're on; the value of the page +counter that appears in a \csx{pageref} command has been inserted in +the course of the output routine, and is therefore safe. + +However, \csx{pageref} itself isn't reliable: one might hope that +\begin{verbatim} +\ifthenelse{\isodd{\pageref{foo}}}{odd}{even} +\end{verbatim} +would do the necessary, but both the \Package{babel} and +\Package{hyperref} packages have been known to interfere with the +output of \csx{pageref}; be careful! + +The \Package{chngpage} package needs to provide this functionality for +its own use, and therefore provides a command \csx{checkoddpage}; this +sets a private-use label, and the page reference part of that label is +then examined (in a \Package{hyperref}-safe way) to set a conditional +\csx{ifcpoddpage} true if the command was issued on an odd page. The +\Class{memoir} class has the same command setting a conditional +\csx{ifoddpage}. Of course, the \csx{label} contributes to \LaTeX{}'s +``Rerun to get cross-references right'' error messages\dots{} +\begin{ctanrefs} +\item[chngpage.sty]\CTANref{chngpage} +\item[memoir.cls]\CTANref{memoir} +\end{ctanrefs} + +\Question[Q-labelformat]{How to change the format of labels} + +By default, when a label is created, it takes on the appearance of the +counter labelled: specifically, it is set to +\csx{the}\texttt{\meta{counter}}~--- what would be used if you +asked to typeset the counter in your text. This isn't always what you +need: for example, if you have nested enumerated lists with the outer +numbered and the inner labelled with letters, one might expect to want +to refer to items in the inner list as ``2(c)''. (Remember, you can +\nothtml{change the structure of list items~--- }% +\Qref{change the structure of list items}{Q-enumerate}.) +The change is of course +possible by explicit labelling of the parent and using that label to +construct the typeset result~--- something like +\begin{quote} +\begin{verbatim} +\ref{parent-item}(\ref{child-item}) +\end{verbatim} +\end{quote} +which would be both tedious and error-prone. What's more, it would be +undesirable, since you would be constructing a visual representation +which is inflexible (you couldn't change all the references to elements +of a list at one fell swoop). + +\LaTeX{} in fact has a label-formatting command built into every label +definition; by default it's null, but it's available for the user to +program. For any label \meta{counter} there's a \LaTeX{} internal +command \csx{p@}\meta{\texttt{counter}}; for example, a label definition +on an inner list item is supposedly done using the command +\cmdinvoke{p@enumii}{\csx{theenumii}}. Unfortunately, the internal +workings of this aren't quite right, and you need to patch the +\csx{refstepcounter} command: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\renewcommand*\refstepcounter[1]{% + \stepcounter{#1}% + \protected@edef\@currentlabel{% + \csname p@#1\expandafter\endcsname + \csname the#1\endcsname + }% +} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\renewcommand*\refstepcounter[1]{\stepcounter{#1}% + \protected@edef\@currentlabel{% + \csname p@#1\expandafter\endcsname + \csname the#1\endcsname + }% +} +\end{verbatim} +\end{wideversion} +\end{quote} +With the patch in place you can now, for example, change the labels on +all inner lists by adding the following code in your preamble: +\begin{quote} +\begin{verbatim} +\makeatletter +\renewcommand{\p@enumii}[1]{\theenumi(#1)} +\makeatother +\end{verbatim} +\end{quote} +This would make the labels for second-level enumerated lists appear as +``1(a)'' (and so on). The analogous change works for any counter that +gets used in a \csx{label} command. + +In fact, the \Package{fncylab} package does all the above (including +the patch to \LaTeX{} itself). With the package, the code above is +(actually quite efficiently) rendered by the command: +\begin{quote} +\begin{verbatim} +\labelformat{enumii}{\theenumi(#1)} +\end{verbatim} +\end{quote} +In fact, the above example, which we can do in several different ways, +has been rendered obsolete by the appearance of the \Package{enumitem} +package, which is discussed in the answer about % ! line break +\Qref*{decorating enumeration lists}{Q-enumerate}. +\begin{ctanrefs} +\item[enumitem.sty]\CTANref{enumitem} +\item[fncylab.sty]\CTANref{fncylab} +\end{ctanrefs} + +\Question[Q-seccntfmt]{Adjusting the presentation of section numbers} + +The general issues of adjusting the appearance of section headings are +pretty complex, and are covered in % beware line breaks (2 lines) +\latexhtml{question}{the question on} +\Qref[\htmlonly]{the style of section headings}{Q-secthead}. + +However, people regularly want merely to change the way the section +number appears in the heading, and some such people don't mind writing +out a few macros. This answer is for \emph{them}. + +The way the section number is typeset is determined by the +\csx{@seccntformat} command, which is given the ``name'' (section, +subsection, \dots{}) of the heading, as argument. Ordinarily, it +merely outputs the section number, and then a \csx{quad} of space. +Suppose you want to put a stop after every section (subsection, +subsubsection, \dots{}) number, a trivial change may be implemented by +simple modification of the command: +\begin{quote} +\begin{verbatim} +\renewcommand*{\@seccntformat}[1]{% + \csname the#1\endcsname.\quad +} +\end{verbatim} +\end{quote} + +Many people (for some reason) just want a stop after a section +number. To do this, one must make \csx{@seccntformat} switch according +to its argument. The following technique for doing the job is +slightly wasteful, but is efficient enough: +\begin{quote} +\begin{verbatim} +\let\@@seccntformat\@seccntformat +\renewcommand*{\@seccntformat}[1]{% + \expandafter\let\expandafter\@tempa + \csname @seccntformat@#1\endcsname + \ifx\@tempa\relax + \expandafter\@@seccntformat + \else + \expandafter\@tempa + \fi + {#1}% +} +\end{verbatim} +\end{quote} +which looks to see if a second-level command has been defined, and +uses it if so; otherwise it uses the original. The second-level +command to define stops after section numbers (only) has the same +definition as the original ``all levels alike'' version: +\begin{quote} +\begin{verbatim} +\newcommand*{\@seccntformat@section}[1]{% + \csname the#1\endcsname.\quad +} +\end{verbatim} +\end{quote} +Note that all the command definitions of this answer are dealing in +\Qref*{\LaTeX{} internal commands}{Q-atsigns}, so the above +code should be in a package file, for preference. + +The \Class{Koma-script} classes have different commands for specifying +changes to section number presentation: \csx{partformat}, +\csx{chapterformat} and \csx{othersectionlevelsformat}, but otherwise +their facilities are similar to those of ``raw'' \LaTeX{}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}KOMA script bundle]\CTANref{koma-script} +\end{ctanrefs} + +\Question[Q-spaftend]{There's a space added after my environment} + +You've written your own environment \environment{env}, and it works +except that a space appears at the start of the first line of typeset +text after \cmdinvoke{end}{env}. This doesn't happen with similar +\LaTeX{}-supplied environments. + +You could impose the restriction that your users always put a +``\texttt{\textpercent}'' sign after the environment~\dots{}\nothtml{\@} but +\LaTeX{} environments don't require that, either. + +The \LaTeX{} environments' ``secret'' is an internal flag which causes +the unwanted spaces to be ignored. Fortunately, you don't have to use +the internal form: since 1996, \LaTeX{} has had a user command +\csx{ignorespacesafterend}, which sets the internal flag. + +\Question[Q-labundef]{Finding if a label is undefined} + +People seem to want to know (at run time) if a label is undefined (I +don't actually understand \emph{why}, particularly: it's a transient +state, and \LaTeX{} deals with it quite well). + +A resolved label is simply a command: +\csx{r@}\texttt{\meta{label-name}}; determining if the label is set is +then simply a matter of detecting if the command exists. The usual +\LaTeX{} internal way of doing this is to use the command +\csx{@ifundefined}: +\begin{quote} + \cmdinvoke*{@ifundefined}{\texttt{r@}lab-name}{undef-cmds}{def-cmds} +\end{quote} +In which, \meta{lab-name} is exactly what you would use in +a \csx{label} command, and the remaining two arguments are command +sequences to be used if the label is undefined +(\meta{undef-cmds}) or if it is defined +(\texttt{\emph{def-cmds}}). + +Note that any command that incorporates \csx{@ifundefined} is naturally +fragile, so remember to create it with \csx{DeclareRobustCommand} or to +use it with \csx{protect} in a moving argument. + +If you're into this game, you may well not care about \LaTeX{}'s +warning about undefined labels at the end of the document; however, +if you are, include the command \csx{G@refundefinedtrue} in +\meta{\texttt{undef-cmds}}. + +\Question[Q-addtoreset]{Master and slave counters} + +It's common to have things numbered ``per chapter'' (for example, in +the standard \Class{book} and \Class{report} classes, figures, tables +and footnotes are all numbered thus). The process of resetting is +done automatically, when the ``master'' counter is stepped (when the +\csx{chapter} command that starts chapter \meta{n} happens, the +\texttt{chapter} counter is stepped, and all the dependent counters are set +to zero). + +How would you do that for yourself? You might want to number +algorithms per section, or corrolaries per theorem, for example. If +you're defining these things by hand, you declare the relationship +when you define the counter in the first place: +\begin{quote} +\cmdinvoke*{newcounter}{new-name}[master] +\end{quote} +says that every time counter \meta{master} is stepped, counter +\meta{new-name} will be reset. + +But what if you have an uncooperative package, that defines the +objects for you, but doesn't provide a programmer interface to make +the counters behave as you want? + +The \csx{newcounter} command uses a \LaTeX{} internal command, and you +can also use it: +\begin{quote} +\cmdinvoke*{@addtoreset}{new-name}{master} +\end{quote} +(but remember that it needs to be between \csx{makeatletter} and +\csx{makeatother}, or in a package of your own). + +The \Package{chngcntr} package encapsulates the \csx{@addtoreset} +command into a command \csx{counterwithin}. So: +\begin{quote} +\begin{verbatim} +\counterwithin*{corrolary}{theorem} +\end{verbatim} +\end{quote} +will make the corrolary counter slave to theorem counters. The +command without its asterisk: +\begin{quote} +\begin{verbatim} +\counterwithin{corrolary}{theorem} +\end{verbatim} +\end{quote} +will do the same, and also redefine \csx{thecorrolary} as % line brk! +\meta{theorem number}.\meta{corrolary number}, which is a good scheme +if you ever want to refer to the corrolaries~--- there are potentially +many ``corrolary~1'' in any document, so it's as well to tie its number +to the counter of the theorem it belongs to. This is true of pretty +much any such counter-within-another; if you're not using the +\Package{chngcntr}, refer to the answer to % line break! +\Qref*{redefining counters' \csx{the-}commands}{Q-the-commands} for +the necessary techniques. + +Note that the technique doesn't work if the master counter is |page|, +the number of the current page. The |page| counter is stepped deep +inside the output routine, which usually gets called some time after +the text for the new page has started to appear: so special +techniques are required to deal with that. One special case is dealt +with elsewhere: \Qref*{footnotes numbered per page}{Q-footnpp}. One +of the techniques described there, using package \Package{perpage}, +may be applied to any counter. The command: +\begin{quote} +\cmdinvoke*{MakePerPage}{counter} +\end{quote} +will cause \meta{counter} to be reset for each page. The package uses +a label-like mechanism, and may require more than one run of \LaTeX{} +to stabilise counter values~--- \LaTeX{} will generate the usual +warnings about labels changing. +\begin{ctanrefs} +\item[chngcntr.sty]\CTANref{chngcntr} +\item[perpage.sty]\CTANref{perpage} +\end{ctanrefs} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Things are Going Wrong\dots{}} + +\subsection{Getting things to fit} +\Question[Q-enlarge]{Enlarging \TeX{}} + +The \TeX{} error message `capacity exceeded' covers a multitude of +problems. What has been exhausted is listed in brackets after the +error message itself, as in: +\begin{quote} +\begin{verbatim} +! TeX capacity exceeded, sorry +... [main memory size=263001]. +\end{verbatim} +\end{quote} +Most of the time this error can be fixed +\emph{without} enlarging \TeX{}. The most common causes are unmatched braces, +extra-long lines, and poorly-written macros. Extra-long lines are +often introduced when files are transferred incorrectly between +operating systems, and line-endings are not preserved properly (the +tell-tale sign of an extra-long line error is the complaint +that the `|buf_size|' has overflowed). + +If you really need to extend your \TeX{}'s capacity, the proper method +depends on your installation. There is no need (with modern \TeX{} +implementations) to change the defaults in Knuth's \acro{WEB} source; +but if you do need to do so, use a change file to modify the values set in +module 11, recompile your \TeX{} and regenerate all format files. + +Modern implementations allow the sizes of the various bits of \TeX{}'s +memory to be changed semi-dynamically. Some (such as em\TeX{}) allow +the memory parameters to be changed in command-line switches when +\TeX{} is started; most frequently, a configuration file is read which +specifies the size of the memory. On \ProgName{web2c}-based systems, +this file is called \File{texmf.cnf}: see the documentation that comes +with the distribution for other implementations. Almost invariably, +after such a change, the format files need to be regenerated after +changing the memory parameters. + +\Question[Q-usepictex]{Why can't I load \PiCTeX{}?} + +\PiCTeX{} is a resource hog; fortunately, most modern \TeX{} +implementations offer generous amounts of space, and most modern +computers are pretty fast, so users aren't too badly affected by its +performance. + +However, \PiCTeX{} has the further unfortunate tendency to fill up +\TeX{}'s fixed-size arrays~--- notably the array of 256 `dimension' +registers. This is a particular problem when you're using +\File{pictex.sty} with \LaTeX{} and some other packages that also need +dimension registers. When this happens, you will see the \TeX{} error +message: +\begin{quote} +\begin{verbatim} +! No room for a new \dimen. +\end{verbatim} +\end{quote} +There is nothing that can directly be done about this error: you +can't extend the number of available \csx{dimen} registers without +extending \TeX{} itself. +\begin{wideversion} % hyper + \Qref{\eTeX{}}{Q-NTS} and \Qref{Omega}{Q-omega} both do this, as + does \Qref{MicroPress Inc's V\TeX{}}{Q-commercial}. +\end{wideversion} +\begin{narrowversion} + \eTeX{} and \ensuremath{\Omega}~--- \Qref[see questions]{}{Q-NTS} + \Qref[and]{}{Q-omega} respectively~--- both do this, as does + MicroPress Inc's V\TeX{}~--- \Qref{}{Q-commercial}. +\end{narrowversion} + +It's actually quite practical (with most modern distributions) to use +\eTeX{}'s extended register set: use package \Package{etex} (which +comes with \eTeX{} distributions) and the allocation mechanism is +altered to cope with the larger register set: \PiCTeX{} will now load. + +If you're in some situation where you can't use \eTeX{}, you need to change +\PiCTeX{}; unfortunately \PiCTeX{}'s author is no longer active in the +\TeX{} world, so one must resort to patching. There are two solutions +available. + +The \CONTeXT{} module \File{m-pictex.tex} (for Plain \TeX{} and +variants) or the corresponding \LaTeX{} \Package{m-pictex} package provide +an ingenious solution to the problem based on hacking the code of +\csx{newdimen} itself. + +Alternatively, Andreas Schell's \Package{pictexwd} and related +packages replace \PiCTeX{} with a version that uses 33 fewer +\csx{dimen} registers; so use \Package{pictexwd} in place of +\Package{pictex} (either as a \LaTeX{} package, or as a file to read +into Plain \TeX{}). + +And how does one use \PiCTeX{} anyway, given that the +manual is so \Qref*{hard to come by}{Q-docpictex}? +Fortunately for \MSDOS{} and Windows users, the \ProgName{MathsPic} +system may be used to translate a somewhat different language into +\PiCTeX{} commands; and the \ProgName{MathsPic} manual is free (and +part of the distribution). \ProgName{MathsPic} is written in +\ProgName{Basic}; a version written in \ProgName{Perl} is under +development, and should be available soon. +\begin{ctanrefs} +\item[m-pictex.sty]Distributed as part of \CTANref{context-tmf} +\item[m-pictex.tex]Distributed as part of \CTANref{context-tmf} +\item[MathsPic]\CTANref{mathspic} +\item[pictexwd.sty]Distributed as part of \CTANref{pictex-addon} +\end{ctanrefs} + +\subsection{Making things stay where you want them} + +\Question[Q-floats]{Moving tables and figures in \LaTeX{}} + +Tables and figures have a tendency to surprise, by \emph{floating} +away from where they were specified to appear. This is in fact +perfectly ordinary document design; any professional typesetting +package will float figures and tables to where they'll fit without +violating the certain typographic rules. Even if you use the +placement specifier~\texttt{h} for `here', the figure or table will not be +printed `here' if doing so would break the rules; the rules themselves +are pretty simple, and are given on page~198, section~C.9 of the +\LaTeX{} manual. In the worst case, \LaTeX{}'s rules can cause the +floating items to pile up to the extent that you get an error message +saying \nothtml{``Too many unprocessed floats'' (see }% +\Qref[question]{``Too many unprocessed floats''}{Q-tmupfl}\latexhtml{).}{.} +What follows is a simple checklist of things to do to solve these +problems (the checklist talks throughout about figures, but applies +equally well to tables, or to ``non-standard'' floats defined by the +\Package{float} or other packages). +\begin{itemize} +\item Do your figures need to float at all? If not, consider the + \texttt{[H]} placement option offered by the \Package{float} package: + figures with this placement are made up to look as if they're + floating, but they don't in fact float. Beware outstanding floats, + though: the \csx{caption} commands are numbered in the order they + appear in the document, and a \texttt{[H]} float can `overtake' a float + that hasn't yet been placed, so that figures numbers get out of + order. +\item Are the placement parameters on your figures right? The + default (\texttt{tbp}) is reasonable, but you can reasonably change it (for + example, to add an \texttt{h}). Whatever you do, \emph{don't} + omit the `\texttt{p}': doing so could cause \LaTeX{} to believe that if you + can't have your figure \emph{here}, you don't want it + \emph{anywhere}. (\LaTeX{} does try hard to avoid being confused in + this way\dots{}) +\item \LaTeX{}'s own float placement parameters could be preventing + placements that seem entirely ``reasonable'' to you~--- they're + notoriously rather conservative. To encourage \LaTeX{} not to move + your figure, you need to loosen its demands. (The most important + ones are the ratio of text to float on a given page, but it's + sensible to have a fixed set that changes the whole lot, to meet + every eventuality.) +\begin{verbatim} +\renewcommand{\topfraction}{.85} +\renewcommand{\bottomfraction}{.7} +\renewcommand{\textfraction}{.15} +\renewcommand{\floatpagefraction}{.66} +\renewcommand{\dbltopfraction}{.66} +\renewcommand{\dblfloatpagefraction}{.66} +\setcounter{topnumber}{9} +\setcounter{bottomnumber}{9} +\setcounter{totalnumber}{20} +\setcounter{dbltopnumber}{9} +\end{verbatim} + The meanings of these + parameters are described on pages~199--200, section~C.9 of the + \LaTeX{} manual. +\item Are there places in your document where you could `naturally' + put a \csx{clearpage} command? If so, do: the backlog of floats is + cleared after a \csx{clearpage}. (Note that the \csx{chapter} + command in the standard \Class{book} and \Class{report} classes + implicitly executes \csx{clearpage}, so you can't float past + the end of a chapter.) +\item Try the \Package{placeins} package: it defines a + \csx{FloatBarrier} command beyond which floats may not pass. A + package option allows you to declare that floats may not pass a + \csx{section} command, but you can place \csx{FloatBarrier}s wherever + you choose. +\item If you are bothered by floats appearing at the top of the page + (before they are specified in your text), try the \Package{flafter} + package, which avoids this problem by insisting that floats should + always appear after their definition. +\item Have a look at the \LaTeXe{} \Package{afterpage} package. + Its documentation gives as an example the idea + of putting \csx{clearpage} \emph{after} the current page (where it + will clear the backlog, but not cause an ugly gap in your text), but + also admits that the package is somewhat fragile. Use it as a last + resort if the other possibilities below don't help. +\item If you would actually \emph{like} great blocks of floats at the + end of each of your chapters, try the \Package{morefloats} package; + this `simply' increases the number of floating inserts that \LaTeX{} + can handle at one time (from~18 to~36). +\item If you actually \emph{wanted} all your figures to float to the + end (\emph{e.g}., for submitting a draft copy of a paper), don't + rely on \LaTeX{}'s mechanism: get the \Package{endfloat} package to do + the job for you. +\end{itemize} +\begin{ctanrefs} +\item[afterpage.sty]Distributed as part of \CTANref{2etools} +\item[endfloat.sty]\CTANref{endfloat} +\item[flafter.sty]Part of the \LaTeX{} distribution +\item[float.sty]\CTANref{float} +\item[morefloats.sty]\CTANref{morefloats} +\item[placeins.sty]\CTANref{placeins} +\end{ctanrefs} + +\Question[Q-underline]{Underlined text won't break} + +Knuth made no provision for underlining text: he took the view that +underlining is not a typesetting operation, but rather one that +provides emphasis on typewriters, which typically offer but one +typeface. The corresponding technique in typeset text is to switch +from upright to italic text (or vice-versa): the \LaTeX{} command +\csx{emph} does just that to its argument. + +Nevertheless, typographically illiterate people (such as those that +specify double-spaced +\nothtml{thesis styles~--- }\Qref{thesis styles}{Q-linespace}) +continue to require underlining of us, so \LaTeX{} as distributed +defines an \csx{underline} command that applies the mathematical +`underbar' operation to text. This technique is not entirely +satisfactory, however: the text gets stuck into a box, and won't break +at line end. + +Two packages are available that solve this problem. The +\Package{ulem} package redefines the +\csx{emph} command to underline its argument; the underlined text thus +produced behaves as ordinary emphasised text, and will break over the +end of a line. (The package is capable of other peculiar effects, +too: read its documentation, contained within the file itself.) +The \Package{soul} package defines an \csx{ul} command (after which the +package is, in part, named) that underlines running text. + +Beware of \Package{ulem}'s default behaviour, which is to convert the +\csx{emph} command into an underlining command; this can be avoided by +loading the package with: +\begin{verbatim} + \usepackage[normalem]{ulem} +\end{verbatim} +Documentation of \Package{ulem} is in the package itself. +\begin{ctanrefs} +\item[ulem.sty]\CTANref{ulem} +\item[soul.sty]\CTANref{soul} +\end{ctanrefs} + +\Question[Q-widows]{Controlling widows and orphans} + +Widows (the last line of a paragraph at the start of a page) and +orphans (the first line of paragraph at the end of a page) interrupt +the reader's flow, and are generally considered ``bad form''; +\AllTeX{} takes some precautions to avoid them, but completely +automatic prevention is often impossible. If you are typesetting your +own text, consider whether you can bring yourself to change the +wording slightly so that the page break will fall differently. + +The page maker, when forming a page, takes account of +\csx{widowpenalty} and \csx{clubpenalty} (which relates to orphans!). +These penalties are usually set to the moderate value of \texttt{150}; this +offers mild discouragement of bad breaks. You can increase the values +by saying (for example) \csx{widowpenalty}\texttt{=500}; however, vertical +lists (such as pages are made of) typically have rather little +stretchability or shrinkability, so if the page maker has to balance +the effect of stretching the unstretchable and being penalised, the +penalty will seldom win. Therefore, for typical layouts, there are +only two sensible settings for the penalties: finite (150 or 500, it +doesn't matter which) to allow widows and orphans, and infinite (10000 +or greater) to forbid them. + +The problem can be avoided by allowing +the pagemaker to run pages short, by using the \csx{raggedbottom} +directive; however, many publishers insist on the default +\csx{flushbottom}; it is seldom acceptable to introduce stretchability +into the vertical list, except at points (such as section headings) +where the document design explicitly permits it. + +Once you've exhausted the automatic measures, and have a final draft +you want to ``polish'', you should proceed to manual measures. To +get rid of an orphan is simple: precede the paragraph with +\csx{clearpage} and the paragraph can't start in the wrong place. + +Getting rid of a widow can be more tricky. If the paragraph is a long +one, it may be possible to set it `tight': say \csx{looseness}\texttt{=-1} +immediately after the last word of the paragraph. If that doesn't +work, try adjusting the page size: +\cmdinvoke{enlargethispage}{\csx{baselineskip}} may do the job, and +get the whole paragraph on one page. Reducing the size of the page by +\cmdinvoke{enlargethispage}{-\csx{baselineskip}} may produce a +(more-or-less) acceptable ``two-line widow''. (Note: +\csx{looseness}\texttt{=1}, +increasing the line length by one, seldom seems to work~--- the looser +paragraph typically has a one-word final line, which doesn't look much +better than the straight widow.) + +\subsection{Things have ``gone away''} + +\Question[Q-oldfontnames]{Old \LaTeX{} font references such as \csx{tenrm}} + +\LaTeXo{} defined a large set of commands for access to the fonts +that it had built in to itself. For example, various flavours of +|cmr| could be found as \csx{fivrm}, \csx{sixrm}, \csx{sevrm}, +\csx{egtrm}, \csx{ninrm}, \csx{tenrm}, \csx{elvrm}, \csx{twlrm}, +\csx{frtnrm}, \csx{svtnrm}, \csx{twtyrm} and \csx{twfvrm}. +These commands were never documented, but certain packages +nevertheless used them to achieve effects they needed. + +Since the commands weren't public, they weren't included in \LaTeXe{}; +to use the unconverted \LaTeXo{} packages under \LaTeXe{}, you need +also to include the \Package{rawfonts} package (which is part of the +\LaTeXe{} distribution). + +\Question[Q-missssymb]{Missing symbol commands} + +You're processing an old document, and some symbol commands such as +\csx{Box} and \csx{lhd} appear no longer to exist. These commands were +present in the core of \LaTeXo{}, but are not in current \LaTeX{}. +They are available in the \Package{latexsym} package (which is part of +the \LaTeX{} distribution), and in the \Package{amsfonts} package +(which is part of the \acro{AMS} distribution, and requires \acro{AMS} +symbol fonts). +\begin{ctanrefs} +\item[amsfonts.sty]\CTANref{amsfonts-latex} +\item[AMS symbol fonts]\CTANref{amsfonts-symbols} +\end{ctanrefs} + +\Question[Q-msxy]{Where are the \texttt{msx} and \texttt{msy} fonts?} + +The \FontName{msx} and \FontName{msy} fonts were designed by the +American Mathematical Society in the very early days of \TeX{}, for +use in typesetting papers for mathematical journals. They were +designed using the `old' \MF{}, which wasn't portable and is no longer +available; for a long time they were only available in 300dpi versions +which only imperfectly matched modern printers. The \acro{AMS} has +now redesigned the fonts, using the current version of \MF{}, and the +new versions are called the \FontName{msa} and \FontName{msb} +families. + +Nevertheless, \FontName{msx} and \FontName{msy} continue to turn up to +plague us. There are, of course, still sites that haven't got around +to upgrading; but, even if everyone upgraded, there would still be the +problem of old documents that specify them. + +If you have a \texttt{.tex} source that requests \FontName{msx} and +\FontName{msy}, the best technique is to edit it so that it requests +\FontName{msa} and \FontName{msb} (you only need to change the single +letter in the font names). + +If you have a \acro{DVI} file that requests the fonts, there is a package +of \Qref*{virtual fonts}{Q-virtualfonts} to map the old to the new series. +\begin{ctanrefs} +\item[msa and msb fonts]\CTANref{amsfonts-symbols} +\item[virtual font set]\CTANref{msx2msa} +\end{ctanrefs} + +\Question[Q-amfonts]{Where are the \texttt{am} fonts?} + +One \emph{still} occasionally comes across a request for the \FontName{am} +series of fonts. The initials stood for `Almost [Computer] Modern', +and they were the predecessors of the Computer Modern fonts that we +all know and love (or hate)% +\begin{footnoteenv} + The fonts acquired their label `Almost' following the realisation + that their first implementation in \MF{}79 still wasn't quite right; + Knuth's original intention had been that they were the final answer +\end{footnoteenv}. +There's not a lot one can do with these +fonts; they are (as their name implies) almost (but not quite) the +same as the \FontName{cm} series; if you're faced with a document that requests +them, all you can reasonably do is to edit the document. The +appearance of \acro{DVI} files that request them is sufficiently rare that +no-one has undertaken the mammoth task of creating a translation of +them by means of virtual fonts; however, most drivers let you have a +configuration file in which you can specify font substitutions. If you +specify that every \FontName{am} font should be replaced by its corresponding +\FontName{cm} font, the output should be almost correct. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Why does it \emph{do} that?} + +\subsection{Common errors} + +\Question[Q-crossref]{\LaTeX{} gets cross-references wrong} + +Sometimes, however many times you run \LaTeX{}, the cross-references +are just wrong. Remember that +the \csx{label} command must come \emph{after} the \csx{caption} command, or +be part of it. For example, +\htmlignore +\par\noindent +\begin{tabular}{@{}lll} +| \begin{figure}| & & |\begin{figure}|\\ +| \caption{A Figure}| & or & |\caption{A Figure%| \\ +| \label{fig}| & & | \label{fig}}| \\ +| \end{figure}| & & |\end{figure}| \\ +\end{tabular} +\endhtmlignore +\begin{htmlversion} +\begin{verbatim} + \begin{figure} \begin{figure} + \caption{A Figure} or \caption{A Figure% + \label{fig} \label{fig}} + \end{figure} \end{figure} +\end{verbatim} +\end{htmlversion} + +You can, just as effectively, shield the \csx{caption} command from its +associated \csx{label} command, by enclosing the caption in an +environment of its own. For example, people commonly seek help after: +\begin{quote} +\begin{verbatim} +\begin{center} + \caption{A Figure} +\end{center} +\label{fig} +\end{verbatim} +\end{quote} +has failed to label correctly. If you really need this centring (and +those in the know commonly reject it), code it as: +\begin{quote} +\begin{verbatim} +\begin{center} + \caption{A Figure} + \label{fig} +\end{center} +\end{verbatim} +\end{quote} + +\Question[Q-newlineargs]{Start of line goes awry} +\keywords{asterisk square bracket start line} + +This answer concerns two sorts of problems: errors of the form +\begin{quote} +\begin{verbatim} +! Missing number, treated as zero. +<to be read again> + g +<*> [grump] +\end{verbatim} +\end{quote} +and those where a single asterisk at the start of a line mysteriously +fails to appear in the output. + +Both problems arise because |\|{}|\| takes optional arguments. The +command |\|{}|\*| means ``break the line here, and inhibit page break +following the line break''; the command |\|{}|\[|\meta{dimen}|]| +means ``break the line here and add \meta{dimen} extra vertical space +afterwards''. + +So why does |\|{}|\| get confused by these things at the start of a +line? It's looking for the first non-blank thing, and in the test it +uses ignores the end of the line in your input text. + +The solution is to enclose the stuff at the start of the new line in +braces: +\begin{quote} +\begin{verbatim} +{\ttfamily + /* C-language comment\\ + {[grump]} I don't like this format\\ + {*}/ +} +\end{verbatim} +\end{quote} +(The above text derives from an actual post to +\Newsgroup{comp.text.tex}; this particular bit of typesetting could +plainly also be done using the \environment{verbatim} environment.) + +The problem also appears in maths mode, in arrays and so on. In this +case, large-scale bracketing of things is \emph{not} a good idea; the +\TeX{} primitive \csx{relax} (which does nothing except to block +searches of this nature) may be used. From another +\Newsgroup{comp.text.tex} example: +\begin{quote} +\begin{verbatim} +\begin{eqnarry} + [a] &=& b \\ + \relax[a] &=& b +\end{eqnarry} +\end{verbatim} +\end{quote} +which is a usage this \acro{FAQ} would not recommend, anyway: refer +to the \Qref*{reason not to use \environment{eqnarray}}{Q-eqnarray}. + +Note that the \Package{amsmath} package modifies the behaviour of +\texttt{\bsbs } in maths. With \Package{amsmath}, the \environment{eqnarray} +example doesn't need any special measures. + +\Question[Q-verbwithin]{Why doesn't \csx{verb} work within\,\dots{}?} + +The \LaTeX{} verbatim commands work by changing category codes. Knuth +says of this sort of thing ``Some care is needed to get the timing +right\dots{}'', since once the category code has been assigned to a +character, it doesn't change. So \csx{verb} has to assume that it is +getting the first look at its parameter text; if it isn't, \TeX{} has +already assigned category codes so that \csx{verb} doesn't have a +chance. For example: +\begin{quote} +\begin{verbatim} +\verb+\error+ +\end{verbatim} +\end{quote} +will work (typesetting `\csx{error}'), but +\begin{quote} +\begin{verbatim} +\newcommand{\unbrace}[1]{#1} +\unbrace{\verb+\error+} +\end{verbatim} +\end{quote} +will not (it will attempt to execute \csx{error}). Other errors one +may encounter are `\csx{verb} ended by end of line', or even `\csx{verb} +illegal in command argument'. + +This is why the \LaTeX{} book insists that verbatim +commands must not appear in the argument of any other command; they +aren't just fragile, they're quite unusable in any command parameter, +regardless of \Qref*{\csx{protect}ion}{Q-protect}. (The \csx{verb} +command tries hard to detect if you're misusing it; unfortunately, it +can't always do so, and the error message is therefore not a reliable +indication of problems.) + +The first question to ask yourself is: ``is \csx{verb} actually +necessary?''. +\begin{itemize} +\item If \cmdinvoke{texttt}{\emph{your text}} produces the same result + as \csx{verb}\texttt{+\emph{your text}+}, then there's no need of + \csx{verb} in the first place. +\item If you're using \csx{verb} to typeset a \acro{URL} or email + address or the like, then the \csx{url} command from the + \Package{url} package will help: it doesn't suffer from the problems + of \csx{verb}. +\item If you're putting \csx{verb} into the argument of a boxing + command (such as \csx{fbox}), consider using the \environment{lrbox} + environment: +\begin{quote} +\begin{verbatim} +\newsavebox{\mybox} +... +\begin{lrbox}{\mybox} + \verb!VerbatimStuff! +\end{lrbox} +\fbox{\usebox{\mybox}} +\end{verbatim} +\end{quote} +\end{itemize} + +Otherwise, there are three partial solutions to the problem. +\begin{itemize} +\item Some packages have macros which are designed to be responsive + to verbatim text in their arguments. For example, + the \Package{fancyvrb} package defines a command + \csx{VerbatimFootnotes}, which redefines the \csx{footnotetext} (and + hence the \csx{footnote}) commands in such a way that you can include + \csx{verb} commands in its argument. This approach could in + principle be extended to the arguments of other commands, but it can + clash with other packages: for example, \csx{VerbatimFootnotes} + interacts poorly with the |para| option to the \Package{footmisc} + package. + + The \Class{memoir} class defines its \csx{footnote} command so that + it will accept verbatim in its arguments, without any supporting package. +\item The \Package{fancyvrb} package defines a command \csx{SaveVerb}, + with a corresponding \csx{UseVerb} command, that allow you to save + and then to reuse the content of its argument; for details of this + extremely powerful facility, see the package documentation. + + Rather simpler is the \Package{verbdef} package, which defines a + (robust) command which expands to the verbatim argument given. +\item If you have a single character that is giving trouble (in + its absence you could simply use \csx{texttt}), consider using + \csx{string}. \cmdinvoke{texttt}{my\csx{string}\symbol{95}name} + typesets the same as + |\verb+my_name+|, and will work in the argument of a command. It + won't, however, work in a moving argument, and no amount of + \Qref*{\csx{protect}ion}{Q-protect} will make it work in + such a case. + + A robust alternative is: + \begin{quote} +\begin{verbatim} +\chardef\bs=`\_ +... +\section{... \texttt{my\bs name}} +\end{verbatim} + \end{quote} + Such a definition is `naturally' robust; the construction + ``\meta{back-tick}\csx{\meta{char}}'' may be used for any + troublesome character (though it's plainly not necessary for things + like percent signs for which \AllTeX{} already provides + robust macros). +\end{itemize} +Documentation of both \Package{url} and \Package{verbdef} is in the +package files. +\begin{ctanrefs} +\item[fancyvrb.sty]\CTANref{fancyvrb} +\item[memoir.cls]\CTANref{memoir} +\item[url.sty]\CTANref{url} +\item[verbdef.sty]\CTANref{verbdef} +\end{ctanrefs} + +\Question[Q-noline]{No line here to end} + +The error +\begin{quote} +\begin{wideversion} +\begin{verbatim} +! LaTeX Error: There's no line here to end. + +See the LaTeX manual or LaTeX Companion for explanation. +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +! LaTeX Error: There's no line here to end. + +See the LaTeX manual or LaTeX Companion +... for explanation. +\end{verbatim} +\end{narrowversion} +\end{quote} +comes in reaction to you giving \LaTeX{} a |\|{}|\| command at a time +when it's not expecting it. The commonest case is where you've +decided you want the label of a list item to be on a line of its own, +so you've written (for example): +\begin{quote} +\begin{verbatim} +\begin{description} +\item[Very long label] \\ + Text... +\end{description} +\end{verbatim} +\end{quote} +|\|{}|\| is actually a rather bad command to use in this case (even if +it worked), since it would force the `paragraph' that's made up of the +text of the item to terminate a line which has nothing on it but the +label. This would lead to an ``|Underfull \hbox|'' warning message +(usually with `infinite' badness of 10000); while this message doesn't +do any actual harm other than slowing down your \LaTeX{} run, any +message that doesn't convey any information distracts for no useful +purpose. + +The proper solution to the problem is to write a new sort of +\environment{description} environment, that does just what you're after. (The +\nothtml{\emph{\LaTeX{} Companion}~--- see }% ! line wrap +\Qref[question]{\emph{\LaTeX{} Companion}}{Q-books}\nothtml{~---} offers a +rather wide selection of variants of these things.) + +The quick-and-easy solution, which avoids the warning, is to write: +\begin{quote} +\begin{verbatim} +\begin{description} +\item[Very long label] \hspace*{\fill} \\ + Text... +\end{description} +\end{verbatim} +\end{quote} +which fills out the under-full line before forcing its closure. The +\Package{expdlist} package provides the same functionality with its +\csx{breaklabel} command, and \Package{mdwlist} provides it via its +\csx{desclabelstyle} command. + +The other common occasion for the message is when you're using the +\texttt{center} (or \environment{flushleft} or \environment{flushright}) +environment, and have decided you need extra separation between lines +in the environment: +\begin{quote} +\begin{verbatim} +\begin{center} + First (heading) line\\ + \\ + body of the centred text... +\end{center} +\end{verbatim} +\end{quote} +The solution here is plain: use the |\|{}|\| command in the way it's +supposed to be used, to provide more than just a single line break +space. |\|{}|\| takes an optional argument, which specifies how much +extra space to add; the required effect in the text above can be had +by saying: +\begin{quote} +\begin{verbatim} +\begin{center} + First (heading) line\\[\baselineskip] + body of the centred text... +\end{center} +\end{verbatim} +\end{quote} +\begin{ctanrefs} +\item[expdlist.sty]\CTANref{expdlist} +\item[mdwlist.sty]Distributed as part of \CTANref{mdwtools} +\end{ctanrefs} + +\Question[Q-2colfltorder]{Two-column float numbers out of order} + +When \LaTeX{} can't place a float immediately, it places it on one of +several ``defer'' lists. If another float of the same type comes +along, and the ``defer'' list for that type still has something in it, +the later float has to wait for everything earlier in the list. + +Now, standard \LaTeX{} has different lists for single-column floats, +and double-column floats; this means that single-column figures can +overtake double-column figures (or vice-versa), and you observe later +figures appear in the document before early ones. The same is true, +of course, for tables, or for any user-defined float. + +The \LaTeX{} team recognise the problem, and provides a package +(\Package{fixltx2e}) to deal with it. \Package{Fixltx2e} amalgamates +the two defer lists, so that floats don't get out of order. + +For those who are still running an older \LaTeX{} distribution, the +package \Package{fix2col} should serve. This package (also by a +member of the \LaTeX{} team) was the basis of the relevant part of +\Package{fixltx2e}. The functionality has also been included in +\Package{dblfloatfix}, which also has code to place full-width floats +at \Qref*{\texttt{[b]} placement}{Q-2colfloat}. + +Once you have loaded the package, no more remains to be done: the +whole requirement is to patch the output routine; no extra commands +are needed. +\begin{ctanrefs} +\item[dblfloatfix.sty]\CTANref{dblfloatfix} +\item[fix2col.sty]Distributed as part of \CTANref{carlisle} +\item[fixltx2e.sty]Part of the \LaTeX{} distribution. +\end{ctanrefs} + +\Question[Q-tabacc]{Accents misbehave in \environment{tabbing}} + +So you are constructing a \environment{tabbing} environment, and you +have the need of some diacriticised text~--- perhaps something as simple +as \cmdinvoke{'}{e}~--- and the accent disappears because it has been +interpreted as a \environment{tabbing} command, and everything goes +wrong. + +This is really a rather ghastly feature of the \environment{tabbing} +environment; in order to type accented characters you need to use the +\csx{a} kludge: so \cmdinvoke{a'}{e} inside \environment{tabbing} for +\cmdinvoke{'}{e} outside, and similarly \csx{a`} for \csx{`} and \csx{a=} +for \csx{=}. This whole procedure is of course hideous and +error-prone. + +The simplest alternative is to type in an encoding that has the +diacriticised characters in it, and to use an appropriate encoding +definition file in the \Package{inputenc} package. So for example, +type: +\begin{quote} + \cmdinvoke{usepackage}[latin1]{inputenc}\\ + \texttt{...}\\ + \cmdinvoke{begin}{tabbing}\\ + \texttt{...}\\ + \texttt{...} \csx{>} \texttt{voil\`a} \csx{>} \texttt{...} +\end{quote} +for: +\begin{quote} + \dots{}\quad voil\`a\quad \dots{} +\end{quote} +and the internal mechanisms of the \Package{inputenc} package will put +the right version of the accent command in there. + +A witty reversal of the r\^oles is introduced by the package +\Package{Tabbing} (note the capital ``T''): it provides a +\environment{Tabbing} environment which duplicates +\environment{tabbing}, but all the single-character commands become +complicated objects. So \environment{tabbing}'s \csx{>} becomes +\csx{TAB>}, \csx{=} becomes \csx{TAB=}, and so on. The above trivial +example would therefore become: +\begin{quote} +\begin{verbatim} +\usepackage{Tabbing} +... +\begin{Tabbing} + ... ... \TAB> voil\`a \TAB> ... +\end{verbatim} +\end{quote} +\begin{ctanrefs} +\item[Tabbing.sty]\CTANref{Tabbing} +\end{ctanrefs} + +\Question[Q-alreadydef]{Package reports ``command already defined''} + +You load a pair of packages, and the second reports that one of the +commands it defines is already present. For example, both the +\Package{txfonts} and \Package{amsmath} define a command \csx{iint} +(and \csx{iiint} and so on); so +\begin{quote} +\begin{verbatim} +... +\usepackage{txfonts} +\usepackage{amsmath} +\end{verbatim} +\end{quote} +produces a string of error messages of the form: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +! LaTeX Error: Command \iint already defined. + Or name \end... illegal, see p.192 of the manual. +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +! LaTeX Error: Command \iint already + defined. Or name \end... illegal, + see p.192 of the manual. +\end{verbatim} +\end{narrowversion} +\end{quote} +As a general rule, things that \Package{amsmath} defines, it defines +well; however, there is a good case for using the \Package{txfonts} +version of \csx{iint}~--- the associated \FontName{tx} fonts have a +double integral symbol that doesn't need to be ``faked'' in the way +\Package{amsmath} does. In the case that you are loading several +symbol packages, every one of which defines the same symbol, you are +likely to experience the problem in a big way (\csx{euro} is a common +victim). + +There are similar cases where one package redefines another's command, +but no error occurs because the redefining package doesn't use +\csx{newcommand}. Often, in such a case, you only notice the change +because you assume the definition given by the first package. The +\Package{amsmath}--\Package{txfonts} packages are just such a pair; +\Package{txfonts} doesn't provoke errors. + +You may deal with the problem by saving and restoring the command. +Macro programmers may care to do this for themselves; for the rest of +us, there's the package \Package{savesym}. The sequence: +\begin{quote} +\begin{verbatim} +\usepackage{savesym} +\usepackage{amsmath} +\savesymbol{iint} +\usepackage{txfonts} +\restoresymbol{TXF}{iint} +\end{verbatim} +\end{quote} +does the job; restoring the \Package{amsmath} version of the command, +and making the \Package{txfonts} version of the command available as +\csx{TXFiint}. + +Documentation of \Package{savesym} doesn't amount to much: the only +commands are \csx{savesymbol} and \csx{restoresymbol}, as noted above. +\begin{ctanrefs} +\item[amsmath.sty]Part of \CTANref{amslatex} +\item[savesym.sty]\CTANref{savesym} +\item[txfonts.sty]Part of \CTANref{txfonts} +\end{ctanrefs} + +\Question[Q-zerochap]{Why are my sections numbered 0.1\,\dots{}?} + +This happens when your document is using the standard \Class{book} or +\Class{report} class (or one similar), and you've got a \csx{section} +before your first \csx{chapter}. + +What happens is, that the class numbers sections as % ! line break +``\meta{chapter no}.\meta{section no}'', and until the first +chapter has appeared, the chapter number is 0. + +If you're doing this, it's quite likely that the \Class{article} class +is for you; try it and see. Otherwise, give your sections a +`superior' chapter, or do away with section numbering by using +\csx{section*} instead. An alternative way of avoiding numbering is +discussed in % ! line break +``\Qref*{unnumbered sections in the table of contents}{Q-secnumdep}''. + +\Question[Q-breaklinks]{Link text doesn't break at end line} + +When using the \Package{hyperref} package, you make a block of text +``active'' when you define a hyper-link (when the user clicks on +that text, the reader program will divert to the \emph{target} of the +link). + +The \Package{hyperref} package uses a \emph{driver} (in the same way +as the \Package{graphics} package does), to determine how to implement +all that hyper-stuff. + +If you use the driver for \Package{dvips} output (presumably you want +to distill the resulting \PS{}), limitations in the way \ProgName{dvips} +deals with the \csx{special} commands mean that \Package{hyperref} +must prevent link anchors from breaking at the end of lines. Other +drivers (notably those for \PDFTeX{} and for \ProgName{dvipdfm}) don't +suffer from this problem. + +The only known solution to this problem is to use the +\Package{breakurl} package. This package provides a very simple +solution: in place of the single link, the \csx{burl} command produces +a sequences of small pieces, between each of which a line break is +permitted. Each sequence of pieces, that ends up together in one +line, is converted to a single clickable link. +\begin{ctanrefs} +\item[breakurl.sty]\CTANref{breakurl} +\end{ctanrefs} + +\Question[Q-wrongpn]{Page number is wrong at start of page} + +This is a long story, whose sources are deep inside the workings of +\TeX{} itself; it all derives from the \TeX{}'s striving to generate +the best possible output. + +The page number is conventionally stored in \csx{count0}; \LaTeX{} +users see this as the counter \texttt{page}, and may set its value +using \csx{thepage}. + +The number (that is to say, \csx{count0}) is only updated when \TeX{} +actually outputs a page. \TeX{} only even tries to do this when it +detects a hint that it may be a good thing to do. From \TeX{}'s point +of view, the end of a paragraph is a good time to consider outputting +a page; it will output a page if it has \emph{more} than a page's +worth of material to output. (Ensuring it always has something in +hand makes some optimisations possible.) As a result, \csx{count0} +(\csx{thepage}) is almost always wrong in the first paragraph of a +page (the exception is where the page number has been ``forcibly'' +changed, either by changing its value directly, or by breaking the +page where \TeX{} wouldn't necessarily have chosen to break). + +\LaTeX{} provides a safe way of referring to the page number, by using +label references. So, rather than writing: +\begin{quote} +\begin{verbatim} +Here is page \thepage{}. +\end{verbatim} +\end{quote} +you should write: +\begin{quote} +\begin{verbatim} +Here is page \pageref{here}\label{here}. +\end{verbatim} +\end{quote} +(note: no space between the \csx{pageref} and the \csx{label}, since +that could potentially end up as a page-break space itself, which +rather defeats the purpose of the exercise!). + +\subsection{Common misunderstandings} + +\Question[Q-include]{What's going on in my \csx{include} commands?} + +The original \LaTeX{} provided the \csx{include} command to address the +problem of long documents: with the relatively slow computers of the +time, the companion \csx{includeonly} facility was a boon. With the +vast increase in computer speed, \csx{includeonly} is less valuable +(though it still has its place in some very large projects). +Nevertheless, the facility is retained in current \LaTeX{}, and causes +some confusion to those who misunderstand it. + +In order for \csx{includeonly} to work, \csx{include} makes a separate +\texttt{.aux} file for each included file, and makes a `checkpoint' of +important parameters (such as page, figure, table and footnote +numbers); as a direct result, it \emph{must} clear the current page +both before and after the \csx{include} command. What's more, this +mechanism doesn't work if a \csx{include} command appears in a file +that was \csx{include}d itself: \LaTeX{} diagnoses this as an error. + +So, we can now answer the two commonest questions about \csx{include}: +\begin{itemize} +\item Why does \LaTeX{} throw a page before and after \csx{include} + commands? + + Answer: because it has to. If you don't like it, replace the + \csx{include} command with \csx{input}~--- you won't be able to use + \csx{includeonly} any more, but you probably don't need it anyway, so + don't worry. +\begin{htmlversion} + +\end{htmlversion} +\item Why can't I nest \csx{include}d files?~--- I always used to be + able to under \LaTeXo{}. + + Answer: in fact, you couldn't, even under \LaTeXo{}, but the failure + wasn't diagnosed. However, since you were happy with the behaviour + under \LaTeXo{}, replace the \csx{include} commands with \csx{input} + commands (with \csx{clearpage} as appropriate). +\end{itemize} + + +\Question[Q-paraparam]{Why does it ignore paragraph parameters?} + +When \TeX{} is laying out text, it doesn't work from word to word, or +from line to line; the smallest complete unit it formats is the +paragraph. The paragraph is laid down in a buffer, as it appears, and +isn't touched further until the end-paragraph marker is processed. +It's at this point that the paragraph parameters have effect; and it's +because of this sequence that one often makes mistakes that lead to +the paragraph parameters not doing what one would have hoped (or +expected). + +Consider the following sequence of \LaTeX{}: +\begin{quote} +\begin{verbatim} +{\raggedright % declaration for ragged text +Here's text to be ranged left in our output, +but it's the only such paragraph, so we now +end the group.} + +Here's more that needn't be ragged... +\end{verbatim} +\end{quote} +\TeX{} will open a group, and impose the ragged-setting parameters within +that group; it will then save a couple of sentences of text and +close the group (thus restoring the previous value of the +parameters that \csx{raggedright} set). Then \TeX{} encounters a blank +line, which it knows to treat as a \csx{par} token, so it typesets the +two sentences; but because the enclosing group has now been closed, +the parameter settings have been lost, and the paragraph will be +typeset normally. + +The solution is simple: close the paragraph inside the group, so that +the setting parameters remain in place. An appropriate way of doing +that is to replace the last three lines above with: +\begin{quote} +\begin{verbatim} +end the group.\par} +Here's more that needn't be ragged... +\end{verbatim} +\end{quote} +In this way, the paragraph is completed while \csx{raggedright}'s +parameters are still in force within the enclosing group. + +Another alternative is to define an environment that does the +appropriate job for you. For the above example, \LaTeX{} already +defines an appropriate one: +\begin{quote} +\begin{verbatim} +\begin{flushleft} +Here's text to be ranged left... +\end{flushleft} +\end{verbatim} +\end{quote} + +In fact, there are a number of parameters for which \TeX{} only +maintains one value per paragraph. A tiresome one is the set of upper +case/lower case translations, which (oddly enough) constrains +hyphenation of mutlilingual texts. Another that regularly creates +confusion is \Qref*{\csx{baselineskip}}{Q-baselinepar}. + +\Question[Q-casechange]{Case-changing oddities} + +\TeX{} provides two primitive commands \csx{uppercase} and +\csx{lowercase} to change the case of text; they're not much used, but +are capable creating confusion. + +The two commands do not expand the text that is their parameter~--- +the result of \cmdinvoke{uppercase}{abc} is `\texttt{ABC}', but +\cmdinvoke{uppercase}{\csx{abc}} is always `\csx{abc}', whatever the +meaning of \csx{abc}. The commands are simply interpreting a table of +equivalences between upper- and lowercase characters. +They have (for example) no mathematical sense, and +\begin{quote} +\begin{verbatim} +\uppercase{About $y=f(x)$} +\end{verbatim} +\end{quote} +will produce +\begin{quote} +\begin{verbatim} +ABOUT $Y=F(X)$ +\end{verbatim} +\end{quote} +which is probably not what is wanted. + +In addition, \csx{uppercase} and \csx{lowercase} do not deal very well +with non-American characters, for example +\cmdinvoke{uppercase}{\csx{ae}} is the same as \csx{ae}. + +\LaTeX{} provides commands \csx{MakeUppercase} and \csx{MakeLowercase} +which fixes the latter problem. These commands are used in the +standard classes to produce upper case running heads for chapters +and sections. + +Unfortunately \csx{MakeUppercase} and \csx{MakeLowercase} do not solve +the other problems with \csx{uppercase}, so for example a section +title containing \cmdinvoke{begin}{tabular} \dots{} +\cmdinvoke{end}{tabular} will produce a running head containing +\cmdinvoke{begin}{TABULAR}. The simplest solution to this problem is +using a user-defined command, for example: +\begin{quote} +\begin{verbatim} +\newcommand{\mytable}{\begin{tabular}... + \end{tabular}} +\section{A section title \protect\mytable{} + with a table} +\end{verbatim} +\end{quote} +Note that \csx{mytable} has to be protected, otherwise it will be +expanded and made upper case; you can achieve the same result by +declaring it with \csx{DeclareRobustCommand}, in which case the +\csx{protect} won't be necessary. + +David Carlisle's \Package{textcase} package +addresses many of these problems in a transparent way. It defines +commands \csx{MakeTextUppercase} and \csx{MakeTextLowercase} which do +upper- or lowercase, with the fancier features of the \LaTeX{} +standard \csx{Make*}-commands but without the problems +mentioned above. Load the package with +\cmdinvoke{usepackage}[overload]{textcase}, and it will redefine the \LaTeX{} +commands (\emph{not} the \TeX{} primitive commands \csx{uppercase} and +\csx{lowercase}), so that section headings and the like don't produce +broken page headings. +\begin{ctanrefs} +\item[textcase.sty]Distributed as part of \CTANref{carlisle} +\end{ctanrefs} + +\Question[Q-splitfoot]{Why does \LaTeX{} split footnotes across pages?} + +\LaTeX{} splits footnotes when it can think of nothing better to do. +Typically, when this happens, the footnote mark is at the bottom of +the page, and the complete footnote would overfill the page. \LaTeX{} +could try to salvage this problem by making the page short of both the +footnote and the line with the footnote mark, but its priorities told +it that splitting the footnote would be preferable. + +As always, the best solution is to change your text so that the +problem doesn't occur in the first place. Consider whether the text +that bears the footnote could move earlier in the current page, or on +to the next page. + +If this isn't possible, you might want to change \LaTeX{}'s perception +of its priorities: they're controlled by +\csx{interfootnotelinepenalty}~--- the larger it is, the less willing +\LaTeX{} is to split footnotes. + +Setting +\begin{quote} +\begin{verbatim} +\interfootnotelinepenalty=10000 +\end{verbatim} +\end{quote} +inhibits split footnotes altogether, which will cause `\texttt{Underfull} +\csx{vbox}' messages unless you also specify \csx{raggedbottom}. The +default value of the penalty is \texttt{100}, which is rather mild. + +An alternative technique is to juggle with the actual size of the +pages. \csx{enlargethispage} changes the size of the current page by +its argument (for example, you might say +\cmdinvoke{enlargethispage}{\csx{baselineskip}} to add a single line +to the page, but you can use any ordinary \TeX{} length such as +\texttt{15mm} or \texttt{-20pt} as argument). Reducing the size of +the current page could force the offending text to the next page; +increasing the size of the page may allow the footnote to be included +in its entirety. It may be necessary to change the size of more than +one page. + +The \Package{fnbreak} package detects (and generates warnings about) +split footnotes. +\begin{ctanrefs} +\item[fnbreak.sty]\CTANref{fnbreak} +\end{ctanrefs} + +\Question[Q-marginparside]{Getting \csx{marginpar} on the right side} + +In an ideal world, marginal notes would be in ``analagous'' places on +every page: notes on an even-side page would be in the left margin, +while those on an odd-side page would be in the right margin. A +moment's thought shows that a marginal note on the left needs to be +typeset differently from a marginal note on the right. The \LaTeX{} +\csx{marginpar} command therefore takes two arguments in a +\texttt{twoside} documents: % beware line break +\cmdinvoke*{marginpar}[left text]{right text}. \LaTeX{} uses the +``obvious'' test to +get the \csx{marginpar}s in the correct margin, but a booby-trap arises +because \TeX{} runs its page maker asynchronously. If a +\csx{marginpar} is processed while page \ensuremath{n} is being built, but +doesn't get used until page \ensuremath{n}+1, then the \csx{marginpar} will turn +up on the wrong side of the page. This is an instance of a general +problem: see +% beware line break +``\Qref*{finding if you're on an odd or an even page}{Q-oddpage}''. + +The solution to the problem is for \LaTeX{} to `remember' which side +of the page each \csx{marginpar} \emph{should} be on. The +\Package{mparhack} package does this, using label-like marks stored in +the \texttt{.aux} file; the \Class{memoir} class does likewise. +\begin{ctanrefs} +\item[memoir.cls]\CTANref{memoir} +\item[mparhack.sty]\CTANref{mparhack} +\end{ctanrefs} + +\Question[Q-misschar]{Where have my characters gone?} + +You've typed some apparently reasonable text and processed it, but the +result contains no sign of some of the characters you typed. A likely +reason is that the font you selected just doesn't have a +representation for the character in question. + +For example, if I type ``that will be \pounds{}44.00'' into an ordinary +\AllTeX{} document, or if I select the font |rsfs10| (which contains +uppercase letters only) and type pretty much anything, the \pounds{} +sign, or any lowercase letters or digits will not appear in the +output. There's no actual error message, either: you have to read the +log file, where you'll find cryptic little messages like +\begin{quote} +\begin{wideversion} +\begin{verbatim} +Missing character: There is no ^^a3 in font cmr10! +Missing character: There is no 3 in font rsfs10! +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +Missing character: + There is no ^^a3 in font cmr10! +Missing character: + There is no 3 in font rsfs10! +\end{verbatim} +\end{narrowversion} +\end{quote} +(the former demonstrating my \TeX{}'s unwillingness to deal in characters +which have the eighth bit set, while the \texttt{rsfs10} example shows that +\TeX{} will log the actual character in error, if it thinks it's +possible). + +Somewhat more understandable are the diagnostics you may get from +\Package{dvips} when using the \acro{OT}1 and \acro{T}1 versions of +fonts that were supplied in Adobe standard encoding: +\begin{quote} +\begin{verbatim} +dvips: Warning: missing glyph `Delta' +\end{verbatim} +\end{quote} +The process that generates the metrics for using the fonts generates +an instruction to \Package{dvips} to produce these diagnostics, so +that their non-appearance in the printed output is less surprising +than it might be. Quite a few glyphs provided in Knuth's text +encodings and in the Cork encoding are not available in the Adobe +fonts. In these cases, there \emph{is} a typeset sign of the +character: \ProgName{dvips} produces a black rectangle of whatever +size the concocted font file has specified. + +\Question[Q-rerun]{``Rerun'' messages won't go away} + +The \LaTeX{} message ``Rerun to get crossreferences right'' is +supposed to warn the user that the job needs to be processed again, +since labels seem to have changed since the previous run. (\LaTeX{} +compares the labels it has created this time round with what it found +from the previous run when it started; it does this comparison at +\cmdinvoke{end}{document}.) + +Sometimes, the message won't go away: however often you reprocess your +document, \LaTeX{} still tells you that ``Label(s) may have +changed''. This can sometimes be caused by a broken package: both +\Package{footmisc} (with the |perpage| option) and \Package{hyperref} +have been known to give trouble, in the past: if you are using either, +check you have the latest version, and upgrade if possible. + +However, there \emph{is} a rare occasion when this error can happen +as a result of pathological structure of the document itself. Suppose +you have pages numbered in roman, and you add a reference to a label +on page ``ix'' (9). The presence of the reference pushes the thing +referred to onto page ``x'' (10), but since that's a shorter reference +the label moves back to page ``ix'' at the next run. Such a sequence +can obviously not terminate. + +The only solution to this problem is to make a small change to your +document (something as small as adding or deleting a comma will often +be enough). +\begin{ctanrefs} +\item[footmisc.sty]\CTANref{footmisc} +\item[hyperref.sty]\CTANref{hyperref} +\end{ctanrefs} + +\Question[Q-xspace]{Commands gobble following space} + +People are forever surprised that simple commands gobble the space +after them: this is just the way it is. The effect arises from the +way \TeX{} works, and Lamport describes a solution (place a pair of braces +after a command's invocation) in the description of \LaTeX{} syntax. +Thus the requirement is in effect part of the definition of \LaTeX{}. + +This \acro{FAQ}, +for example, is written with definitions that \emph{require} one to +type \cmdinvoke{fred}{\relax} % the \relax prevents {} being gobbled + % in html production (sigh) +for almost all macro invocations, regardless +of whether the following space is required: however, this \acro{FAQ} +is written by highly dedicated (and, some would say, eccentric) +people. Many users find all those braces become very tedious very +quickly, and would really rather not type them all. + +An alternative structure, that doesn't violate the design of \LaTeX{}, +is to say \csx{fred}\csx{ }~--- the \csx{ } command is ``self +terminating'' (like |\|{}|\|) and you don't need braces after +\emph{it}. Thus one can reduce to one the extra characters one needs +to type. + +If even that one character is too many, the package \Package{xspace} +defines a command \csx{xspace} that guesses whether there should have +been a space after it, and if so introduces that space. So +% beware line wrap +``\texttt{fred\csx{xspace} jim}'' produces ``fred jim'', while +``\texttt{fred\csx{xspace}.\@ jim}'' produces ``fred. jim''. Which +usage would of course be completely pointless; but you can incorporate +\csx{xspace} in your own macros: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\usepackage{xspace} +... +\newcommand{\restenergy}{\ensuremath{mc^2}\xspace} +... +and we find \restenergy available to us... +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\usepackage{xspace} +... +\newcommand{\restenergy}% + {\ensuremath{mc^2}\xspace} +... +and we find \restenergy available to us... +\end{verbatim} +\end{narrowversion} +\end{quote} +The \csx{xspace} command must be the last thing in your macro +definition (as in the example); it's not completely foolproof, but it +copes with most obvious situations in running text. + +The \Package{xspace} package doesn't save you anything if you only use +a modified macro once or twice within your document. In any case, be +careful with usage of \csx{xspace}~--- it changes your input syntax, +which can be confusing, notably to a collaborating author +(particularly if you create some commands which use it and some which +don't). Of course, no command built into \LaTeX{} or into any +``standard'' class or package will use \csx{xspace}. +\begin{ctanrefs} +\item[xspace.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + +\Question[Q-overfull]{\AllTeX{} makes overfull lines} + +When \TeX{} is building a paragraph, it can make several attempts to +get the line-breaking right; on each attempt it runs the same +algorithm, but gives it different parameters. You can affect the way +\TeX{}'s line breaking works by adjusting the parameters: this answer +deals with the ``tolerance'' and stretchability parameters. The other +vital `parameter' is the set of hyphenations to be applied: see +``\Qref*[question]{my words aren't being hyphenated}{Q-nohyph}'' +(and the questions it references) for advice. + +If you're getting an undesired ``overfull box'', what has happened is +that \TeX{} has given up: the parameters you gave it don't allow it to +produce a result that \emph{doesn't} overfill. In this circumstance, +Knuth decided the best thing to do was to produce a warning, and to +allow the user to solve the problem. (The alternative, silently to go +beyond the envelope of ``good taste'' defined for this run of \TeX{}, +would be distasteful to any discerning typographer.) The user can +almost always address the problem by rewriting the text that's +provoking the problem~--- but that's not always possible, and in some +cases it's impossible to solve the problem without adjusting the +parameters. This answer discusses the approaches one might take to +resolution of the problem, on the assumption that you've got the +hyphenation correct. + +The simplest case is where a `small' word fails to break at the end of +a line; pushing the entire word to a new line isn't going to make much +difference, but it might make things just bad enough that \TeX{} won't +do it by default. In such a case on can \emph{try} the \LaTeX{} +\csx{linebreak} command: it may solve the problem, and if it does, it +will save an awful lot of fiddling. Otherwise, one needs to adjust +parameters: to do that we need to recap the details of \TeX{}'s line +breaking mechanisms. + +\TeX{}'s first attempt at breaking lines is performed without even +trying hyphenation: \TeX{} sets its ``tolerance'' of line breaking +oddities to the internal value \csx{pretolerance}, and sees what +happens. If it can't get an acceptable break, \TeX{} adds the +hyphenation points allowed by the current patterns, and tries again +using the internal \csx{tolerance} value. If this pass also fails, and +the internal \csx{emergencystretch} value is positive, \TeX{} will try +a pass that allows \csx{emergencystretch} worth of extra stretchability +to the spaces in each line. + +In principle, therefore, there are three parameters (other than +hyphenation) that you can change: \csx{pretolerance}, \csx{tolerance} +and \csx{emergencystretch}. Both the \texttt{tolerance} values are +simple numbers, and should be set by \TeX{} primitive count +assignment~--- for example +\begin{quote} +\begin{verbatim} +\pretolerance=150 +\end{verbatim} +\end{quote} +For both, an ``infinite'' tolerance is represented by the value +|10|\nothtml{\,}|000|, but infinite tolerance is rarely +appropriate, since it can lead to very bad line breaks indeed. + +\csx{emergencystretch} is a \TeX{}-internal `dimen' register, and can +be set as normal for dimens in Plain~\TeX{}; in \LaTeX{}, use +\csx{setlength}~--- for example: +\begin{quote} +\begin{verbatim} +\setlength{\emergencystretch}{3em} +\end{verbatim} +\end{quote} + +The choice of method has time implications~--- each of the +passes takes time, so adding a pass (by changing +\csx{emergencystretch}) is less desirable than suppressing one (by +changing \csx{pretolerance}). However, it's unusual nowadays to find a +computer that's slow enough that the extra passes are really +troublesome. + +In practice, \csx{pretolerance} is rarely used other than to manipulate +the use of hyphenation; Plain~\TeX{} and \LaTeX{} both set its value +to |100|. To suppress the first scan of paragraphs, set +\csx{pretolerance} to |-1|. + +\csx{tolerance} is often a good method for adjusting spacing; +Plain~\TeX{} and \LaTeX{} both set its value to |200|. \LaTeX{}'s +\csx{sloppy} command sets it to |9999|, as does the +\environment{sloppypar} environment. This value is the largest +available, this side of infinity, and can allow pretty poor-looking +breaks (this author rarely uses \csx{sloppy} ``bare'', though he does +occasionally use \environment{sloppypar}~--- that way, the change of +\csx{tolerance} is confined to the environment). More satisfactory is +to make small changes to \csx{tolerance}, incrementally, and then to look to +see how the change affects the result; very small increases can often +do what's necessary. Remember that \csx{tolerance} is a paragraph +parameter, so you need to ensure it's actually applied~--- see +``\Qref*[question]{ignoring paragraph parameters}{Q-paraparam}''. +\LaTeX{} users could use an environment like: +\begin{quote} +\begin{verbatim} +\newenvironment{tolerant}[1]{% + \par\tolerance=#1\relax +}{% + \par +} +\end{verbatim} +\end{quote} +enclosing entire paragraphs (or set of paragraphs) in it. + +\csx{emergencystretch} is a slightly trickier customer to understand. +The example above set it to |3em|; the Computer Modern fonts +ordinarily fit three space skips to the em, so the change would +allow anything up to the equivalent of nine extra spaces in each +line. In a line with lots of spaces, this could be reasonable, but +with (say) only three spaces on the line, each could stretch to four +times its natural width. + +\Question[Q-exscale]{Maths symbols don't scale up} + +By default, the ``large'' maths symbols stay at the same size +regardless of the font size of the text of the document. There's good +reason for this: the \FontName{cmex} fonts aren't really designed to +scale, so that \TeX{}'s maths placement algorithms don't perform as +well as they might when the fonts are scaled. + +However, this behaviour confounds user expectations, and can lead to +slightly odd-looking documents. If you want the fonts to scale, +despite the warning above, use the \Package{exscale} package~--- just +loading it is enough. +%% +%% (Note: if you are using bitmap versions of the \FontName{cmex} fonts, +%% you will find extra bitmaps are generated. The extended sizes are not +%% ordinarily generated for any other purpose.) +\begin{ctanrefs} +\item[exscale.sty]Part of the \LaTeX{} distribution. +\end{ctanrefs} + +\Question[Q-linespread]{Why doesn't \csx{linespread} work?} + +The command \cmdinvoke*{linespread}{factor} is supposed to multiply +the current \csx{baselineskip} by \meta{factor}; but, to all +appearances, it doesn't. + +In fact, the command is equivalent to +\cmdinvoke{renewcommand}{\csx{baselinestretch}}{factor}: written that +way, it somehow feels less surprising that the effect isn't immediate. +The \csx{baselinestretch} factor is only used when a font is selected; +a mere change of \csx{baselinestretch} doesn't change the font, any +more than does the command +\cmdinvoke*{fontsize}{size}{baselineskip}~--- you have to follow +either command with \csx{selectfont}. So: +\begin{quote} +\begin{verbatim} +\fontsize{10}{12}% +\selectfont +\end{verbatim} +\end{quote} +or: +\begin{quote} +\begin{verbatim} +\linespread{1.2}% +\selectfont +\end{verbatim} +\end{quote} +Of course, a package such as \Package{setspace}, whose job is to +manage the baseline, will deal with all this stuff~--- see +``\Qref*[question]{managing double-spaced documents}{Q-linespace}''. If +you want to avoid \Package{setspace}, beware the behaviour of +linespread changes within a paragraph: read % ! line break +``\Qref*[question]{\csx{baselineskip} is a paragraph parameter}{Q-baselinepar}''. +\begin{ctanrefs} +\item[setspace.sty]\CTANref{setspace} +\end{ctanrefs} + +\Question[Q-baselinepar]{Only one \csx{baselineskip} per paragraph} + +The \csx{baselineskip} is not (as one might hope) a property of a +line, but of a paragraph. As a result, in a \texttt{10pt} (nominal) +document (with a default \csx{baselineskip} of \texttt{12pt}), a +single character with a larger size, as: +\begin{quote} +\begin{verbatim} +{\Huge A} +\end{verbatim} +\end{quote} +will be squashed into the paragraph: \TeX{} will make sure it doesn't +scrape up against the line above, but won't give it ``room to +breathe'', as it does the text at standard size; that is, its size +(\texttt{24.88pt}) is taken account of, but its \csx{baselineskip} +(\texttt{30pt}) isn't. Similarly +\begin{quote} +\begin{verbatim} +Paragraph text ... +{\footnotesize Extended interjection ... + ... into the paragraph.} + ... paragraph continues ... +\end{verbatim} +\end{quote} +will look silly, since the \texttt{8pt} interjection will end up set +on the \texttt{12pt} \csx{baselineskip} of the paragraph, rather than +its preferred \texttt{8.5pt}. Finally, something like +\begin{quote} +\begin{verbatim} +Paragraph text ... + ... paragraph body ends. +{\footnotesize Short comment on paragraph.} + +Next paragraph starts... +\end{verbatim} +\end{quote} +will set the body of the first paragraph on the constricted +\csx{baselineskip} of the \csx{footnotesize} comment. + +So, how to deal with these problems? The oversized (short) section is +typically corrected by a \emph{strut}: this word comes from movable +metal typography, and refers to a spacer that held the boxes (that +contained the metal character shapes) apart. Every time you change +font size, \LaTeX{} redefines the command \csx{strut} to provide the +equivalent of a metal-type strut for the size chosen. So for the +example above, we would type +\begin{quote} +\begin{verbatim} +Paragraph text ... + {\Huge A\strut} + ... paragraph continues ... +\end{verbatim} +\end{quote} +However, more extended insertions (whether of larger or smaller text) +are always going to cause problems; while you can strut larger text, +ensuring that you strut every line will be tiresome, and there's no +such thing as a ``negative strut'' that pulls the lines together for +smaller text. + +The only satisfactory way to deal with an extended insertion at a +different size is to set it off as a separate paragraph. A +satisfactory route to achieving this is the \environment{quote} +environment, which sets its text modestly inset from the enclosing +paragraph: +\begin{quote} +\begin{verbatim} +Paragraph text ... +\begin{quote} + \footnotesize This is an inset account + of something relevant to the enclosing + paragraph... +\end{quote} +... paragraph continues ... +\end{verbatim} +\end{quote} +Such quote-bracketing also deals with the problem of a trailing +comment on the paragraph. + +\Question[Q-tocloftwrong]{Numbers too large in table of contents, etc.} + +\LaTeX{} constructs the table of contents, list of figures, tables, +and similar tables, on the basis of a layout specified in the class. +As a result, they do \emph{not} react to the sizes of things in them, +as they would if a \environment{tabular} environment (or something +similar) was used. + +This arrangement can provoke problems, most commonly with deep section +nesting or very large page numbers: the numbers in question just don't +fit in the space allowed for them in the class. + +A separate answer discusses % ! line break +\nothtml{re-designing the tables ---} % ! line break +\Qref{re-designing the tables}{Q-tocloft}\nothtml{ ---} +and those techniques can be employed to make the numbers fit. + +\subsection{Why shouldn't I?} + +\Question[Q-t1enc]{Why use \Package{fontenc} rather than \Package{t1enc}?} + +In the very earliest days of \LaTeXe{}, the only way to use the +\acro{T}1 encoding was \Package{t1enc}; with the summer 1994 +``production'' release, the \Package{fontenc} package appeared, and +provided comprehensive support for use of the encoding. + +Nevertheless, the \Package{t1enc} package remains (as part of the +\LaTeXo{} compatibility code), but it does very little: it merely +selects font encoding \acro{T}1, and leaves to the user the business +of generating the character codes required. + +Generating such character codes could be a simple matter, \emph{if} +the \acro{T}1 encoding matched any widely-supported encoding standard, +since in that case, one might expect one's keyboard to generate the +character codes. However, the \acro{T}1 encoding is a mix of several +standard encodings, and includes code points in areas of the table +which standard encodings specifically exclude, so no \acro{T}1 +keyboards have been (or ever will be) manufactured. + +By contrast, the \Package{fontenc} package generates the \acro{T}1 +code points from ordinary \LaTeX{} commands (e.g., it generates the +\texttt{\'e} character codepoint from the command |\'|{}|e|). So, unless you +have program-generated \acro{T}1 input, use +\cmdinvoke{usepackage}[T1]{fontenc} rather than +\cmdinvoke{usepackage}{t1enc}. + +\Question[Q-why-inp-font]{Why bother with \Package{inputenc} and \Package{fontenc}?} + +The standard input encoding for Western Europe (pending the arrival of +Unicode) is \acro{ISO}~8859--1 (commonly known by the standard's +subtitle `Latin-1'). Latin-1 is remarkably close, in the codepoints +it covers, to the \AllTeX{} \acro{T}1 encoding. + +In this circumstance, why should one bother with \Package{inputenc} +and \Package{fontenc}? Since they're pretty exactly mirroring each +other, one could do away with both, and use just \Package{t1enc}, +despite its \Qref*{shortcomings}{Q-t1enc}. + +One doesn't do this for a variety of small reasons: +\begin{description} +\item[Confusion] You've been happily working in this mode, and for + some reason find you're to switch to writing in German: the effect + of using ``\texttt{\ss}'' is somewhat startling, since \acro{T}1 + and Latin-1 treat the codepoint differently. +\item[Compatibility] You find yourself needing to work with a + colleague in Eastern Europe: their keyboard is likely to be set to + produce Latin-2, so that the simple mapping doesn't work. +\item[Traditional \LaTeX{}] You lapse and write something like + |\'|{}|e| rather than typing \texttt{\'e}; only \Package{fontenc} + has the means to convert this \LaTeX{} sequence into the \acro{T}1 + character, so an \csx{accent} primitive slips through into the + output, and hyphenation is in danger. +\end{description} +The \Package{inputenc}--\Package{fontenc} combination seems slow and +cumbersome, but it's safe. + +\Question[Q-eqnarray]{Why not use \environment{eqnarray}?} + +The environment \environment{eqnarray} is attractive for the +occasional user of mathematics in \LaTeX{} documents: it seems to +allow aligned systems of equations. Indeed it \emph{does} supply such +things, but it makes a serious mess of spacing. In the system: +\begin{quote} +\begin{verbatim} +\begin{eqnarray} + a & = & b + c \\ + x & = & y - z +\end{eqnarray} +\end{verbatim} +\end{quote} +the spacing around the ``='' signs is \emph{not} that defined in the +metrics for the font from which the glyph comes~--- it's +\csx{arraycolsep}, which may be set to some very odd value for reasons +associated with real arrays elsewhere in the document. + +The user is far better served by the \AMSLaTeX{} bundle, which +provides an \environment{align} environment, which is designed with +the needs of mathematicians in mind (as opposed to the convenience of +\LaTeX{} programmers). For this simple case (align is capable of far +greater things), code as: +\begin{quote} +\begin{verbatim} +\begin{align} + a & = b + c \\ + x & = y - z +\end{align} +\end{verbatim} +\end{quote} +\begin{ctanrefs} +\item[AMSLaTeX]\CTANref{amslatex} +\end{ctanrefs} + +\Question[Q-dolldoll]{Why use \csx{[}\,\dots{}\csx{]} in place of \texttt{\$\$}\,\dots{}\texttt{\$\$}?} + +\LaTeX{} defines inline- and display-maths commands, apparently +analagous to those that derive from the \TeX{} primitive maths +sequences bracketing maths commands with single dollar signs (or pairs +of dollar signs). + +As it turns out, \LaTeX{}'s inline maths grouping, % !line break +\csx{(}\texttt{ ... }\csx{)}, has precisely the same effect as the +\TeX{} primitive version \texttt{\$ ... \$}. (Except that +the \LaTeX{} version checks to ensure you don't put \csx{(} and +\csx{)} the wrong way round.) + +In this circumstance, one often finds \LaTeX{} users, who have some +experience of using Plain \TeX{}, merely assuming that \LaTeX{}'s +display maths grouping \csx{[}\texttt{ ... }\csx{]} may be replaced by +the \TeX{} primitive display maths \texttt{\$\$ ... \$\$}. + +Unfortunately, they are wrong: if \LaTeX{} code is going to patch display +maths, it can only do so by patching \csx{[} and \csx{]}. The most +obvious way this turns up, is that the class option \pkgoption{fleqn} +simply does not work for equations coded using % beware line break +\texttt{\$\$ ... \$\$}, whether you're using the standard classes +alone, or using package \Package{amsmath}. Also, the \csx{[} and +\csx{]} has code for rationalising vertical spacing in some extreme +cases; that code is not available in \texttt{\$\$ ... \$\$}, so if you +use the non-standard version, you may occasionally observe +inconsistent vertical spacing . + +There are more subtle effects (especially with package +\Package{amsmath}), and the simple rule is % ! line break +\csx{[}\texttt{ ... }\csx{]} whenever +unadorned displayed maths is needed in \LaTeX{}. + +\Question[Q-2letterfontcmd]{What's wrong with \csx{bf}, \csx{it}, etc.?} + +The font-selection commands of \LaTeXo{} were \csx{rm}, \csx{sf}, +\csx{tt}, \csx{it}, \csx{sl}, \csx{em} and \csx{bf}; they were modal +commands, so you used them as: +\begin{quote} +\begin{verbatim} +{\bf Fred} was {\it here\/}. +\end{verbatim} +\end{quote} +with the font change enclosed in a group, so as to limit its effect; +note the italic correction command \csx{/} that was necessary at the +end of a section in italics. + +At the release of \LaTeXe{} in summer 1994, these simple commands were +deprecated, but recognising that their use is deeply embedded in the +brains of \LaTeX{} users, the commands themselves remain in \LaTeX{}, +\emph{with their \LaTeXo{} semantics}. Those semantics were part of +the reason they were deprecated: each |\|\emph{\texttt{xx}} overrides +any other font settings, keeping only the size. So, for example, +\begin{quote} +\begin{verbatim} +{\bf\it Here we are again\/} +\end{verbatim} +\end{quote} +ignores \csx{bf} and produces text in italic, medium weight (and the +italic correction has a real effect), whereas +\begin{quote} +\begin{verbatim} +{\it\bf happy as can be\/} +\end{verbatim} +\end{quote} +ignore \csx{it} and produces upright text at bold weight (and the +italic correction has nothing to do). The same holds if you mix +\LaTeXe{} font selections with the old style commands: +\begin{quote} +\begin{verbatim} +\textbf{\tt all good friends} +\end{verbatim} +\end{quote} +ignores the \csx{textbf} that encloses the text, and produces +typewriter text at medium weight. + +So why are these commands deprecated?~--- it is because of confusions +such as that in the last example. The alternative (\LaTeXe{}) +commands are discussed in the rest of this answer. + +\LaTeXe{}'s font commands come in two forms: modal commands and +text-block commands. The default set of modal commands offers weights +\csx{mdseries} and \csx{bfseries}, shapes \csx{upshape}, +\csx{itshape}, \csx{scshape} and \csx{slshape}, and families +\csx{rmfamily}, \csx{sffamily} and \csx{ttfamily}. A font selection +requires a family, a shape and a series (as well as a size, of +course). A few examples +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +{\bfseries\ttfamily + and jolly good company!} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +{\bfseries\ttfamily and jolly good company!} +\end{verbatim} +\end{wideversion} +\end{quote} +produces bold typewriter text (but note the lack of a % ! line break, big time +\begin{narrowversion} % non hyper version + bold typewriter font~--- \Qref{}{Q-bold-extras}~--- +\end{narrowversion} +\begin{wideversion} + \Qref{bold typewriter font}{Q-bold-extras} +\end{wideversion} +in the default Computer Modern fonts), or +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +{\slshape\sffamily + Never mind the weather\/} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +{\slshape\sffamily Never mind the weather\/} +\end{verbatim} +\end{wideversion} +\end{quote} +(note the italic correction needed on slanted fonts, too). + +\LaTeXe{}'s text block commands take the first two letters of the +modal commands, and form a \csx{text}\emph{\texttt{xx}} command from +them. Thus \csx{bfseries} becomes \cmdinvoke*{textbf}{text}, +\csx{itshape} becomes \cmdinvoke*{textit}{text}, and \csx{ttfamily} +becomes \cmdinvoke*{texttt}{text}. Block commands may be nested, as: +\begin{quote} +\begin{verbatim} +\textit{\textbf{Never mind the rain}} +\end{verbatim} +\end{quote} +to produce bold italic text (note that the block commands supply +italic corrections where necessary), and they be nested with the +\LaTeXe{} modal commands, too: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\texttt{\bfseries + So long as we're together} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\texttt{\bfseries So long as we're together} +\end{verbatim} +\end{wideversion} +\end{quote} +for bold typewriter, or +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +{\slshape\textbf{% + Whoops! she goes again}\/} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +{\slshape \textbf{Whoops! she goes again}\/} +\end{verbatim} +\end{wideversion} +\end{quote} +for a bold slanted instance of the current family (note the italic +correction applied at the end of the modal command group, again). + +The new commands (as noted above) override commands of the same type. +In almost all cases, this merely excludes ludicrous ideas such as +``upright slanted'' fonts, or ``teletype roman'' fonts. There are a +couple of immediate oddities, though. The first is the conflict +between \csx{itshape} (or \csx{slshape}) and \csx{scshape}: while many +claim that an italic small-caps font is typographically unsound, such +fonts do exist. Daniel Taupin's \Package{smallcap} package enables +use of the instances in the \Qref*{\acro{EC} fonts}{Q-ECfonts}, and +similar techniques could be brought to bear on many other font sets. +The second is the conflict between \csx{upshape} and \csx{itshape}: +Knuth actually offers an upright-italic font which \LaTeX{} uses for +the ``\pounds{}'' symbol in the default font set. The combination is +sufficiently weird that, while there's a defined font shape, no +default \LaTeX{} commands exist; to use the shape, the (eccentric) user +needs \LaTeX{}'s simplest font selection commands: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +{\fontshape{ui}\selectfont + Tra la la, di dee} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +{\fontshape{ui}\selectfont Tra la la, di dee} +\end{verbatim} +\end{wideversion} +\end{quote} +\begin{ctanrefs} +\item[smallcap.sty]\CTANref{smallcap} +\end{ctanrefs} + +%*****************************************quote environments up to here + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{The joy of \TeX{} errors} + +\Question[Q-erroradvice]{How to approach errors} + +Since \TeX{} is a macroprocessor, its error messages are often +difficult to understand; this is a (seemingly invariant) property of +macroprocessors. Knuth makes light of the problem in the \TeX{}book, +suggesting that you acquire the sleuthing skills of a latter-day +Sherlock Holmes; while this approach has a certain romantic charm to +it, it's not good for the `production' user of \AllTeX{}. This +answer (derived, in part, from an article by Sebastian Rahtz in +\TUGboat{} 16(4)) offers some general guidance in dealing with \TeX{} +error reports, and other answers in this section deal with common (but +perplexing) errors that you may encounter. There's a long list of +``hints'' in Sebastian's article, including the following: +\begin{itemize} +\item Look at \TeX{} errors; those messages may seem cryptic at first, + but they often contain a straightforward clue to the problem. See + \Qref[question]{the structure of errors}{Q-errstruct} for further + details. +\item Read the |.log| file; it contains hints to things you may not + understand, often things that have not even presented as error + messages. +\item Be aware of the amount of context that \TeX{} gives you. The + error messages gives you some bits of \TeX{} code (or of the + document itself), that show where the error ``actually happened''; + it's possible to control how much of this `context' \TeX{} actually + gives you. \LaTeX{} (nowadays) instructs \TeX{} only to give you + one line of context, but you may tell it otherwise by saying +\begin{quote} +\begin{verbatim} +\setcounter{errorcontextlines}{999} +\end{verbatim} +\end{quote} + in the preamble of your document. (If you're not a confident macro + programmer, don't be ashamed of cutting that 999 down a bit; some + errors will go on and \emph{on}, and spotting the differences + between those lines can be a significant challenge.) +\item As a last resort, tracing can be a useful tool; reading a full + \AllTeX{} trace takes a strong constitution, but once you know how, + the trace can lead you quickly to the source of a problem. You need + to have read the \TeX{}book (see +% beware line break + \Qref[question]{books about \TeX{}}{Q-books}) in some detail, fully + to understand the trace. + + The command \csx{tracingall} sets up maximum tracing; it also sets + the output to come to the interactive terminal, which is somewhat of + a mixed blessing (since the output tends to be so vast~--- all but + the simplest traces are best examined in a text editor after the event). + + The \LaTeX{} \Package{trace} package (first distributed with the + 2001 release of \LaTeX{}) provides more manageable tracing. Its + \csx{traceon} command gives you what \csx{tracingall} offers, but + suppresses tracing around some of the truly verbose parts of + \LaTeX{} itself. The package also provides a \csx{traceoff} + command (there's no ``off'' command for \csx{tracingall}), and a + package option (|logonly|) allows you to suppress output to the + terminal. +\end{itemize} +The best advice to those faced with \TeX{} errors is not to panic: +most of the common errors are plain to the eye when you go back to the +source line that \TeX{} tells you of. If that approach doesn't work, +the remaining answers in this section deal with some of the odder +error messages you may encounter. You should not ordinarily need to +appeal to the \nothtml{wider public (}% +\Qref[question]{wider public}{Q-maillists}\nothtml{)} +for assistance, but if you do, be sure to +report full backtraces (see |errorcontextlines| above) and so on. +\begin{ctanrefs} +\item[trace.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + +\Question[Q-errstruct]{The structure of \TeX{} error messages} + +\TeX{}'s error messages are reminiscent of the time when \TeX{} itself +was conceived (the 1970s): they're not terribly user-friendly, though +they do contain all the information that \TeX{} can offer, usually in +a pretty concise way. + +\TeX{}'s error reports all have the same structure: +\begin{itemize} +\item An error message +\item Some `context' +\item An error prompt +\end{itemize} +The error message will relate to the \emph{\TeX{}} condition that is +causing a problem. Sadly, in the case of complex macro packages such +as \LaTeX{}, the underlying \TeX{} problem may be superficially +difficult to relate to the actual problem in the ``higher-level'' +macros. Many \LaTeX{}-detected problems manifest themselves as +`generic' errors, with error text provided by \LaTeX{} itself (or by a +\LaTeX{} class or package). + +The context of the error is a stylised representation of what \TeX{} +was doing at the point that it detected the error. As noted in +\Qref[question]{approaching errors}{Q-erroradvice}, a macro package +can tell \TeX{} how much context to display, and the user may need to +undo what the package has done. Each line of context is split at the +point of the error; if the error \emph{actually} occurred in a macro +called from the present line, the break is at the point of the call. +(If the called object is defined with arguments, the ``point of call'' +is after all the arguments have been scanned.) For example: +\begin{verbatim} +\blah and so on +\end{verbatim} +produces the error report +\begin{verbatim} +! Undefined control sequence. +l.4 \blah + and so on +\end{verbatim} +while: +\begin{verbatim} +\newcommand{\blah}[1]{\bleah #1} +\blah{to you}, folks +\end{verbatim} +produces the error report +\begin{verbatim} +! Undefined control sequence. +\blah #1->\bleah + #1 +l.5 \blah{to you} + , folks +\end{verbatim} +If the argument itself is in error, we will see things such as +\begin{verbatim} +\newcommand{\blah}[1]{#1 to you} +\blah{\bleah}, folks +\end{verbatim} +producing +\begin{verbatim} +! Undefined control sequence. +<argument> \bleah + +l.5 \blah{\bleah} + , folks +\end{verbatim} + +The prompt accepts single-character commands: the list of what's +available may be had by typing |?|\@. One immediately valuable +command is |h|, which gives you an expansion of \TeX{}s original +pr\'ecis message, sometimes accompanied by a hint on what to do to +work round the problem in the short term. If you simply type `return' +(or whatever else your system uses to signal the end of a line) at the +prompt, \TeX{} will attempt to carry on (often with rather little +success). + +\Question[Q-extrabrace]{An extra `\texttt{\cbracesymbol{}}'??} +\keywords{caption heading} + +You've looked at your \LaTeX{} source and there's no sign of a misplaced +\texttt{\cbracesymbol{}} on the line in question. + +Well, no: this is \TeX{}'s cryptic way of hinting that you've put a +\begin{wideversion} % hyper +\Qref{fragile command}{Q-protect} in a moving argument. +\end{wideversion} +\begin{narrowversion} +fragile command in a moving argument (\Qref{}{Q-protect}). +\end{narrowversion} + +For example, \csx{footnote} is fragile, and if we put that in the +moving argument of a \csx{section} command, as +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\section{Mumble\footnote{% + I couldn't think of anything better}} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\section{Mumble\footnote{I couldn't think of anything better}} +\end{verbatim} +\end{wideversion} +\end{quote} +we get told +\begin{quote} +\begin{verbatim} +! Argument of \@sect has an extra }. +\end{verbatim} +\end{quote} +The same happens with captions (the following is a simplification of a +\Newsgroup{comp.text.tex} post): +\begin{quote} +\begin{verbatim} +\caption{Energy: \[e=mc^2\]} +\end{verbatim} +\end{quote} +giving us the error message +\begin{quote} +\begin{verbatim} +! Argument of \@caption has an extra }. +\end{verbatim} +\end{quote} +The solution is usually to use a robust command in place of the one +you are using, or to force your command to be robust by prefixing it +with \csx{protect}, which in the \csx{section} case would show as +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\section{Mumble\protect\footnote{% + I couldn't think of anything better}} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\section{Mumble\protect\footnote{I couldn't think of anything better}} +\end{verbatim} +\end{wideversion} +\end{quote} +In both the \csx{section} case and the \csx{caption} case, you can +separate the moving argument, as in +\cmdinvoke*{section}[moving]{static}; this gives us another standard +route~--- simply to omit (or otherwise sanitise) the fragile command +in the moving argument. So, one might rewrite the \csx{caption} +example as: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\caption[Energy: $E=mc^2$]% + {Energy: \[E=mc^2\]} +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\caption[Energy: $E=mc^2$]{Energy: \[E=mc^2\]} +\end{verbatim} +\end{wideversion} +\end{quote} +for, after all, even if you want display maths in a caption, you +surely don't want it in the list of figures. + +The case of footnotes is somewhat more complex; +``\Qref[question]{footnotes in \LaTeX{} section headings}{Q-ftnsect}'' +deals specifically with that issue. + +\Question[Q-semanticnest]{Capacity exceeded [semantic nest\,\dots{}]} + +\begin{narrowversion} +\begin{verbatim} +! TeX capacity exceeded, sorry [semantic nest + size=100]. +... +If you really absolutely need more capacity, +you can ask a wizard to enlarge me. +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +! TeX capacity exceeded, sorry [semantic nest size=100]. +... +If you really absolutely need more capacity, +you can ask a wizard to enlarge me. +\end{verbatim} +\end{wideversion} +Even though \TeX{} suggests (as always) that enlargement by a wizard +may help, this message usually results from a broken macro or bad +parameters to an otherwise working macro. + +The ``semantic nest'' \TeX{} talks about is the nesting +of boxes within boxes. A stupid macro can provoke the error pretty +easily: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +\def\silly{\hbox{here's \silly + being executed}} +\silly +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +\def\silly{\hbox{here's \silly being executed}} +\silly +\end{verbatim} +\end{wideversion} +\end{quote} +The extended traceback +% beware of filling this line... +(see \Qref{\emph{general advice} on errors}{Q-erroradvice}) +\emph{does} help, though it does rather run on. In the case above, +the traceback consists of +\begin{verbatim} +\silly ->\hbox { + here's \silly being executed} +\end{verbatim} +followed by 100 instances of +\begin{verbatim} +\silly ->\hbox {here's \silly + being executed} +\end{verbatim} +The repeated lines are broken at exactly the offending macro; of +course the loop need not be as simple as this~--- if \csx{silly} calls +\csx{dopy} which boxes \csx{silly}, the effect is just the same and +alternate lines in the traceback are broken at alternate positions. + +There are in fact two items being consumed when you nest boxes: the +other is the grouping level. Whether you exhaust your % !line wrap +\emph{semantic nest} or your permitted \emph{grouping levels} first is +controlled entirely by the relative size of the two different sets of +buffers in your \AllTeX{} executable. + +\Question[Q-noroom]{No room for a new `\emph{thing}'} + +The technology available to Knuth at the time \TeX{} was written is +said to have been particularly poor at managing dynamic storage; as a +result much of the storage used within \TeX{} is allocated as fixed +arrays, in the reference implementations. Many of these fixed arrays +are expandable in modern \TeX{} implementations, but size of the +arrays of ``registers'' is written into the specification as being 256 +(usually); this number may not be changed if you still wish to call +the result \TeX{} +%% beware line wrap +(see \Qref[question]{testing \TeX{} implementations}{Q-triptrap}). + +If you fill up one of these register arrays, you get a \TeX{} error +message saying +\begin{quote} +\begin{verbatim} +! No room for a new \<thing>. +\end{verbatim} +\end{quote} +The \csx{thing}s in question may be \csx{count} (the object underlying +\LaTeX{}'s \csx{newcounter} command), \csx{skip} (the object underlying +\LaTeX{}'s \csx{newlength} command), \csx{box} (the object underlying +\LaTeX{}'s \csx{newsavebox} command), or \csx{dimen}, \csx{muskip}, +\csx{toks}, \csx{read}, \csx{write} or \csx{language} (all types of object +whose use is ``hidden'' in \LaTeX{}; the limit on the number of +\csx{read} or \csx{write} objects is just 16). + +There is nothing that can directly be done about this error, as you can't +extend the number of available registers without extending \TeX{} +itself. +\begin{htmlversion} + Of course, \Qref{\eTeX{}}{Q-NTS} and \Qref{Omega}{Q-omega} +\end{htmlversion} +\htmlignore +% beware line wrap here + Of course, \ensuremath{\Omega} and \eTeX{}~--- + \Qref[see questions]{}{Q-omega} \Qref[and]{}{Q-NTS} respectively~--- +\endhtmlignore + both do this, as does \Qref*{MicroPress Inc's V\TeX{}}{Q-commercial}. + +The commonest way to encounter one of these error messages is to have +broken macros of some sort, or incorrect usage of macros (an example +is discussed in \Qref[question]{epsf problems}{Q-epsf}). + +However, sometimes one just \emph{needs} more than \TeX{} can offer, +and when this happens, you've just got to work out a different way of +doing things. An example is the % beware line wrap +\Qref*{difficulty of loading \PiCTeX{} with \LaTeX{}}{Q-usepictex}. +In cases like \PiCTeX{}, it may be possible to use +\Qref*{\eTeX{}}{Q-NTS} (all modern distributions provide it). The +\LaTeX{} package \Package{etex} modifies the register allocation +mechanism to make use of \eTeX{}'s extended register sets (it's a +derivative of the Plain \TeX{} macro file \Package{etex.src}, which is +used in building the \eTeX{} Plain format; both files are part of the +\eTeX{} distribution). Unfortunately, \eTeX{} doesn't help with +\csx{read} or \csx{write} objects. + +\Question[Q-epsf]{\texttt{epsf} gives up after a bit} + +Some copies of the documentation of \File{epsf.tex} seem to suggest +that the command +\begin{verbatim} + \input epsf +\end{verbatim} +is needed for every figure included. If you follow this suggestion +too literally, you get an error +\begin{verbatim} + ! No room for a new \read . +\end{verbatim} +after a while; this is because each time \File{epsf.tex} is loaded, it +allocates itself a \emph{new} file-reading handle to check the figure +for its bounding box, and there just aren't enough of these things +(see \Qref[question]{no room for a new thing}{Q-noroom}). + +The solution is simple~--- this is in fact an example of misuse of +macros; one only need read \File{epsf.tex} once, so change +\begin{verbatim} + ... + \input epsf + \epsffile{...} + ... + \input epsf + \epsffile{...} +\end{verbatim} +(and so on) with a single +\begin{verbatim} + \input epsf +\end{verbatim} +somewhere near the start of your document, and then decorate your +\csx{epsffile} statements with no more than adjustments of +\csx{epsfxsize} and so on. + +\Question[Q-badhyph]{Improper \csx{hyphenation} will be flushed} + +For example +\begin{verbatim} +! Improper \hyphenation will be flushed. +\'#1->{ + \accent 19 #1} +<*> \hyphenation{Ji-m\'e + -nez} +\end{verbatim} +(in Plain \TeX{}) or +\begin{verbatim} +! Improper \hyphenation will be flushed. +\leavevmode ->\unhbox + \voidb@x +<*> \hyphenation{Ji-m\'e + -nez} +\end{verbatim} +in \LaTeX{}. + +As mentioned in \Qref[question]{``hyphenation failures''}{Q-nohyph}, +words with accents in them may not be hyphenated. As a result, any +such word is deemed improper in a \csx{hyphenation} command. + +The solution is to use a font that contains the character in question, +and to express the \csx{hyphenation} command in terms of that +character; this ``hides'' the accent from the hyphenation mechanisms. +\LaTeX{} users can be achieved this by use of the \Package{fontenc} +package (part of the \LaTeX{} distribution). If you select an 8-bit +font with the package, as in \cmdinvoke{usepackage}[T1]{fontenc}, +accented-letter commands such as the |\'||e| in +|\hyphenation{Ji-m\'||e-nez}| automatically become the single accented +character by the time the hyphenation gets to look at it. + +\Question[Q-tmupfl]{``Too many unprocessed floats''} + +If \LaTeX{} responds to a \cmdinvoke{begin}{figure} or +\cmdinvoke{begin}{table} command with the error message +\begin{htmlversion} +\begin{verbatim} +! LaTeX Error: Too many unprocessed floats. + +See the LaTeX manual or LaTeX Companion for explanation. +\end{verbatim} +\end{htmlversion} +\htmlignore +\ifpdf +\begin{verbatim} +! LaTeX Error: Too many unprocessed floats. + +See the LaTeX manual or LaTeX Companion for explanation. +\end{verbatim} +\else +\begin{verbatim} +! LaTeX Error: Too many unprocessed floats. + +See the LaTeX manual or LaTeX Companion +... for explanation. +\end{verbatim} +\fi +\endhtmlignore +your figures (or tables) are failing to be placed properly. \LaTeX{} +has a limited amount of storage for `floats' (figures, tables, or +floats you've defined yourself with the \Package{float} package); if +you don't let it ever actually typeset any floats, it will run out of +space. + +This failure usually occurs in extreme cases of +% beware line break +\nothtml{floats moving ``wrongly'' (see }% +\Qref[question]{floats moving ``wrongly''}{Q-floats}\latexhtml{);}{;} +\LaTeX{} has found it can't place a float, and floats of the same type +have piled up behind it. \LaTeX{}'s idea is to ensure that caption +numbers are sequential in the document: the caption number is +allocated when the figure (or whatever) is created, and can't be +changed, so that placement out of order would mean figure numbers +appearing out of order in the document (and in the list of figures, or +whatever). So a simple failure to place a figure means that no +subsequent figure can be placed; and hence (eventually) the error. + +Techniques for solving the problem are discussed in the +\nothtml{floats question (}% +\Qref[\htmlonly]{floats question}{Q-floats}\nothtml{)} +already referenced. + +The error also occurs in a +long sequence of \environment{figure} or \environment{table} +environments, with no intervening +text. Unless the environments will fit ``here'' (and you've allowed +them to go ``here''), there will never be a page break, and so there +will never be an opportunity for \LaTeX{} to reconsider placement. +(Of course, the floats can't all fit ``here'' if the sequence is +sufficiently prolonged: once the page fills, \LaTeX{} won't place any +more floats, leading to the error. + +Techniques for resolution may involve redefining the floats using the +\Package{float} package's \texttt{[H]} float qualifier, but you are unlikely +to get away without using \csx{clearpage} from time to time. +\begin{ctanrefs} +\item[float.sty]\CTANref{float} +\end{ctanrefs} + +\Question[Q-atvert]{\csx{spacefactor} complaints} + +The errors +\begin{verbatim} +! You can't use `\spacefactor' in vertical mode. +\@->\spacefactor + \@m +\end{verbatim} +or +\begin{verbatim} +! You can't use `\spacefactor' in math mode. +\@->\spacefactor + \@m +\end{verbatim} +or simply +\begin{verbatim} +! Improper \spacefactor. +... +\end{verbatim} +bites the \LaTeX{} programmer who uses an internal command without taking +``precautions''. The problem is discussed in detail in +% beware line wrap +``\Qref*[question]{\texttt{@} in macro names}{Q-atsigns}'', +together with solutions. + +\Question[Q-endingroup]{\csx{end} occurred inside a group} + +The actual error we observe is: + +\nothtml{\noindent}% +|(\end occurred inside a group at level <|\texttt{\emph{n}}|>)| + +\nothtml{\noindent}% +and it tells us that something we started in the document never got +finished before we ended the document itself. The things involved +(`groups') are what \TeX{} uses for restricting the scope of things: +you see them, for example, in the ``traditional'' font selection +commands: |{\it stuff\/}|~--- if the closing brace is left off such a +construct, the effect of \csx{it} will last to the end of the document, +and you'll get the diagnostic. + +\TeX{} itself doesn't tell you where your problem is, but you can +often spot it by looking at the typeset output in a previewer. +Otherwise, you can usually find mismatched braces using an intelligent +editor (at least |emacs| and \ProgName{winedt} offer this facility). +However, groups are not \emph{only} created by matching |{| with |}|: +other grouping commands are discussed elsewhere in these \acro{FAQ}s, +and are also a potential source of unclosed group. + +\cmdinvoke{begin}{\meta{environment}} encloses the environment's body +in a group, and establishes its own diagnostic mechanism. If you end +the document before closing some other environment, you get the +`usual' \LaTeX{} diagnostic +\htmlignore +\begin{dviversion} +\begin{verbatim} +! LaTeX Error: \begin{blah} on input line 6 + ended by \end{document}. +\end{verbatim} +\end{dviversion} +\begin{pdfversion} +\begin{verbatim} +! LaTeX Error: \begin{blah} on input line 6 ended by \end{document}. +\end{verbatim} +\end{pdfversion} +\endhtmlignore +\begin{htmlversion} +\begin{verbatim} +! LaTeX Error: \begin{blah} on input line 6 ended by \end{document}. +\end{verbatim} +\end{htmlversion} +which (though it doesn't tell you which \emph{file} the +\cmdinvoke{begin}{blah} was in) is usually enough to locate the +immediate problem. If you press on past the \LaTeX{} error, you get +one or more repetitions of the ``occurred inside a group'' message +before \LaTeX{} finally exits. The \Package{checkend} package +recognises other unclosed \cmdinvoke{begin}{blob} commands, and +generates an ``ended by'' error message for each one, rather than +producing the ``occurred inside a group'' message, which is sometimes +useful (if you remember to load the package). + +In the absence of such information from \LaTeX{}, you need to use +``traditional'' binary search to find the offending group. Separate +the preamble from the body of your file, and process each half on its +own with the preamble; this tells you which half of the file is at +fault. Divide again and repeat. The process needs to be conducted +with care (it's obviously possible to split a correctly-written group +by chopping in the wrong place), but it will usually find the problem +fairly quickly. + +\eTeX{} (and \elatex{}~--- \LaTeX{} run on \eTeX{}) gives you +further diagnostics after the traditional infuriating \TeX{} one~--- it +actually keeps the information in a similar way to \LaTeX{}: +\htmlignore +\begin{dviversion} +\begin{verbatim} +(\end occurred inside a group at level 3) + +### semi simple group (level 3) entered + at line 6 (\begingroup) +### simple group (level 2) entered at line 5 ({) +### simple group (level 1) entered at line 4 ({) +### bottom level +\end{verbatim} +\end{dviversion} +\begin{pdfversion} +\begin{verbatim} +(\end occurred inside a group at level 3) + +### semi simple group (level 3) entered at line 6 (\begingroup) +### simple group (level 2) entered at line 5 ({) +### simple group (level 1) entered at line 4 ({) +### bottom level +\end{verbatim} +\end{pdfversion} +\endhtmlignore +\begin{htmlversion} +\begin{verbatim} +(\end occurred inside a group at level 3) + +### semi simple group (level 3) entered at line 6 (\begingroup) +### simple group (level 2) entered at line 5 ({) +### simple group (level 1) entered at line 4 ({) +### bottom level +\end{verbatim} +\end{htmlversion} +The diagnostic not only tells us where the group started, but also the +\emph{way} it started: \csx{begingroup} or |{| (which is an alias of +\csx{bgroup}, and the two are not distinguishable at the \TeX{}-engine +level). +\begin{ctanrefs} +\item[checkend.sty]Distributed as part of \CTANref{bezos} +\end{ctanrefs} + +\Question[Q-nonum]{``Missing number, treated as zero''} + +In general, this means you've tried to assign something to a count, +dimension or skip register that isn't (in \TeX{}'s view of things) a +number. Usually the problem will become clear using the +\Qref*{ordinary techniques of examining errors}{Q-erroradvice}. + +Two \LaTeX{}-specific errors are commonly aired on the newsgroups. + +The commonest arises from attempting to use an example from the +\Qref*{\emph{The \LaTeX{} Companion} (first edition)}{Q-books}, and is +exemplified by the following error text: +\begin{verbatim} +! Missing number, treated as zero. +<to be read again> + \relax +l.21 \begin{Ventry}{Return values} +\end{verbatim} +The problem arises because, in its first edition, the +\emph{Companion}'s examples always assumed that the \Package{calc} +package is loaded: this fact is mentioned in the book, but often not +noticed. The remedy is to load the \Package{calc} package in any +document using such examples from the \emph{Companion}. (The problem +does not really arise with the second edition; copies of all the +examples are available on the accompanying \CDROM{}, or on +\acro{CTAN}.) + +The other problem, which is increasingly rare nowadays, arises from +misconfiguration of a system that has been upgraded from \LaTeXo{}: +the document uses the \Package{times} package, and the error appears +at \cmdinvoke{begin}{document}. The file search paths are wrongly set +up, and your \cmdinvoke{usepackage}{times} has picked up a \LaTeXo{} +version of the package, which in its turn has invoked another which +has no equivalent in \LaTeXe{}. The obvious solution is to rewrite +the paths so that \LaTeXo{} packages are chosen only as a last resort +so that the startlingly simple \LaTeXe{} \Package{times} package will +be picked up. Better still is to replace the whole thing with +something more modern still; current \Package{psnfss} doesn't provide +a \Package{times} package~--- the alternative \Package{mathptmx} +incorporates \FontName{Times}-like mathematics, and a sans-serif face +based on \FontName{Helvetica}, but scaled to match \FontName{Times} +text rather better. +\begin{ctanrefs} +\item[calc.sty]Distributed as part of \CTANref{2etools} +\item[\nothtml{\rmfamily}Examples for \nothtml{\upshape}\LaTeX{} Companion]\CTANref{tlc2} +\item[The psnfss bundle]\CTANref{psnfss} +\end{ctanrefs} + +\Question[Q-typend]{``Please type a command or say \csx{end}''} + +Sometimes, when you are running \AllTeX{}, it will abruptly stop and +present you with a prompt (by default, just a |*| character). Many +people (including this author) will reflexively hit the `return' +key, pretty much immediately, and of course this is no help at all~--- +\TeX{} just says: +\begin{verbatim} +(Please type a command or say `\end') +\end{verbatim} +and prompts you again. + +What's happened is that your \AllTeX{} file has finished prematurely, +and \TeX{} has fallen back to a supposed including file, from the +terminal. This could have happened simply because you've omitted +the \csx{bye} (Plain~\TeX{}), \cmdinvoke{end}{document} (\LaTeX{}), or +whatever. Other common errors are failure to close the braces round a +command's argument, or (in \LaTeX{}) failure to close a verbatim +environment: in such cases you've already read and accepted an +error message about encountering end of file while scanning something. + +If the error is indeed because you've forgotten to end your document, +you can insert the missing text: if you're running Plain~\TeX{}, the +advice, to ``say \csx{end}'' is good enough: it will kill the run; if +you're running \LaTeX{}, the argument will be necessary: +\cmdinvoke{end}{document}. + +However, as often as not this isn't the problem, and (short of +debugging the source of the document before ending) brute force is +probably necessary. Excessive force (killing the job that's +running \TeX{}) is to be avoided: there may well be evidence in the +|.log| file that will be useful in determining what the problem is~--- +so the aim is to persuade \TeX{} to shut itself down and hence flush +all log output to file. + +If you can persuade \TeX{} to read it, an end-of-file indication +(control-|D| under Unix, control-|Z| under Windows) will provoke +\TeX{} to report an error and exit immediately. Otherwise you should +attempt to provoke an error dialogue, from which you can exit (using +the |x| `command'). An accessible error could well be inserting an +illegal character: what it is will depend on what macros you are +running. If you can't make that work, try a silly command name or +two. + +\Question[Q-unkgrfextn]{``Unknown graphics extension''} + +The \LaTeX{} graphics package deals with several different types of +\acro{DVI} (or other) output drivers; each one of them has a potential +to deal with a different selection of graphics formats. The package +therefore has to be told what graphics file types its output driver +knows about; this is usually done in the \meta{driver}|.def| file +corresponding to the output driver you're using. + +The error message arises, then, if you have a graphics file whose +extension doesn't correspond with one your driver knows about. Most +often, this is because you're being optimistic: asking +\ProgName{dvips} to deal with a |.png| file, or \PDFTeX{} to deal with +a |.eps| file: the solution in this case is to transform the graphics +file to a format your driver knows about. + +If you happen to \emph{know} that your device driver deals with the +format of your file, you are probably falling foul of a limitation of +the file name parsing code that the graphics package uses. Suppose +you want to include a graphics file \File{home.bedroom.eps} using the +\ProgName{dvips} driver; the package will conclude that your file's +extension is \File{.bedroom.eps}, and will complain. To get around +this limitation, you have three alternatives: +\begin{itemize} +\item Rename the file~--- for example \File{home.bedroom.eps}\arrowhyph{}% + \File{home-bedroom.eps} +\item Mask the first dot in the file name: +\begin{verbatim} +\newcommand*{\DOT}{.} +\includegraphics{home\DOT bedroom.eps} +\end{verbatim} +\item Tell the graphics package what the file is, by means of options + to the \csx{includegraphics} command: +\htmlignore +\begin{pdfversion} +\begin{verbatim} +\includegraphics[type=eps,ext=.eps,read=.eps]{home.bedroom} +\end{verbatim} +\end{pdfversion} +\begin{dviversion} +\begin{verbatim} +\includegraphics + [type=eps,ext=.eps,read=.eps]% + {home.bedroom} +\end{verbatim} +\end{dviversion} +\endhtmlignore +\begin{htmlversion} +\begin{verbatim} +\includegraphics[type=eps,ext=.eps,read=.eps]{home.bedroom} +\end{verbatim} +\end{htmlversion} +\end{itemize} + +\Question[Q-nodollar]{``Missing \texttt{\$} inserted''} + +There are certain things that \emph{only} work in maths mode. If your +document is not in maths mode and you have an |_| or a |^| character, +\TeX{} (and by inheritance, \LaTeX{} too) will say +\begin{verbatim} +! Missing $ inserted +\end{verbatim} +as if you couldn't possibly have misunderstood the import of what you +were typing, and the only possible interpretation is that you had +commited a typo in failing to enter maths mode. \TeX{}, therefore, +tries to patch things up by inserting the \texttt{\$} you `forgot', so that +the maths-only object will work; as often as not this will land you in +further confusion. + +It's not just the single-character maths sub- and superscript +operators: anything that's built in or declared as a maths operation, +from the simplest lower-case \csx{alpha} through the inscrutable +\csx{mathchoice} primitive, and beyond, will provoke the error if +misused in text mode. + +\LaTeX{} offers a command \csx{ensuremath}, which will put you in maths +mode for the execution of its argument, if necessary: so if you want +an \csx{alpha} in your running text, say +\cmdinvoke{ensuremath}{\csx{alpha}}; if the bit of running text somehow +transmutes into a bit of mathematics, the \csx{ensuremath} will become +a no-op, so it's pretty much always safe. + +\Question[Q-fontunavail]{Warning: ``Font shape \dots{}\ not available''} + +\LaTeX{}'s font selection scheme maintains tables of the font families +it has been told about. These tables list the font families that +\LaTeX{} knows about, and the shapes and series in which those font +families are available. In addition, in some cases, the tables list +the sizes at which \LaTeX{} is willing to load fonts from the family. + +When you specify a font, using one of the \LaTeX{} font selection +commands, \LaTeX{} looks for the font (that is, a font that matches +the encoding, family, shape, series and size that you want) in its +tables. If the font isn't there at the size you want, you will see a +message like: +\htmlignore +\begin{dviversion} +\begin{verbatim} +LaTeX Font Warning: Font shape `OT1/cmr/m/n' in +... size <11.5> not available +(Font) size <12> substituted on +... input line ... +\end{verbatim} +(All the message texts in this answer have been wrapped so that they +will fit in the narrow columns of this version of the \acro{FAQ}. The +continuation marker is |...| at the start of the broken-off portion of +the line.) + +\end{dviversion} +\begin{pdfversion} +\begin{verbatim} +LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <11.5> not available +(Font) size <12> substituted on input line ... +\end{verbatim} +\end{pdfversion} +\endhtmlignore +\begin{htmlversion} +\begin{verbatim} +LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <11.5> not available +(Font) size <12> substituted on input line ... +\end{verbatim} +\end{htmlversion} +There will also be a warning like: +\htmlignore +\begin{dviversion} +\begin{verbatim} +LaTeX Font Warning: Size substitutions with +... differences +(Font) up to 0.5pt have occurred. +\end{verbatim} +\end{dviversion} +\begin{pdfversion} +\begin{verbatim} +LaTeX Font Warning: Size substitutions with differences +(Font) up to 0.5pt have occurred. +\end{verbatim} +\end{pdfversion} +\endhtmlignore +\begin{htmlversion} +\begin{verbatim} +LaTeX Font Warning: Size substitutions with differences +(Font) up to 0.5pt have occurred. +\end{verbatim} +\end{htmlversion} +after \LaTeX{} has encountered \cmdinvoke{end}{document}. + +The message tells you that you've chosen a font size that is not in +\LaTeX{}'s list of ``allowed'' sizes for this font; \LaTeX{} has +chosen the nearest font size it knows is allowed. In fact, you can +tell \LaTeX{} to allow \emph{any} size: the restrictions come from the +days when only bitmap fonts were available, and they have never +applied to fonts that come in scaleable form in the first place. +Nowadays, most of the fonts that were once bitmap-only are also +available in scaleable (Adobe Type~1) form. If your installation uses +scaleable versions of the Computer Modern or European Computer Modern +(\acro{EC}) fonts, you can tell \LaTeX{} to remove the restrictions; +use the \Package{type1cm} or \Package{type1ec} package as appropriate. + +If the combination of font shape and series isn't available, \LaTeX{} +will usually have been told of a fall-back combination that may be +used, and will select that: +\htmlignore +\begin{dviversion} +\begin{verbatim} +LaTeX Font Warning: Font shape `OT1/cmr/bx/sc' +... undefined +(Font) using `OT1/cmr/bx/n' +... instead on input line 0. +\end{verbatim} +\end{dviversion} +\begin{pdfversion} +\begin{verbatim} +LaTeX Font Warning: Font shape `OT1/cmr/bx/sc' undefined +(Font) using `OT1/cmr/bx/n' instead on input line 0. +\end{verbatim} +\end{pdfversion} +\endhtmlignore +\begin{htmlversion} +\begin{verbatim} +LaTeX Font Warning: Font shape `OT1/cmr/bx/sc' undefined +(Font) using `OT1/cmr/bx/n' instead on input line 0. +\end{verbatim} +\end{htmlversion} + +Substitutions may also be ``silent''; in this case, there is no more +than an ``information'' message in the log file. For example, if you +specify an encoding for which there is no version in the current font +family, the `default family for the encoding' is selected. This +happens, for example, if you use command \csx{textbullet}, which is +normally taken from the maths symbols font, which is in |OMS| +encoding. My test log contained: +\htmlignore +\begin{dviversion} +\begin{verbatim} +LaTeX Font Info: Font shape `OMS/cmr/m/n' in +... size <10> not available +(Font) Font shape `OMS/cmsy/m/n' +... tried instead on input +... line ... +\end{verbatim} +\end{dviversion} +\begin{pdfversion} +\begin{verbatim} +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line ... +\end{verbatim} +\end{pdfversion} +\endhtmlignore +\begin{htmlversion} +\begin{verbatim} +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line ... +\end{verbatim} +\end{htmlversion} + +In summary, these messages are not so much error messages, as +information messages, that tell you what \LaTeX{} has made of your +text. You should check what the messages say, but you will ordinarily +not be surprised at their content. +\begin{ctanrefs} +\item[type1cm.sty]\CTANref{type1cm} +\item[type1ec.sty]\CTANref{type1ec} +\end{ctanrefs} + +\Question[Q-buffovl]{Unable to read an entire line} + +\TeX{} belongs to the generation of applications written for +environments that didn't offer the sophisticated string and i/o +manipulation we nowadays take for granted (\TeX{} was written in +Pascal, and the original Pascal standard made no mention of i/o, so +that anything but the most trivial operations were likely to be +unportable). + +When you overwhelm \TeX{}'s input mechanism, you get told: +\begin{verbatim} +! Unable to read an entire line---bufsize=3000. + Please ask a wizard to enlarge me. +\end{verbatim} +(for some value of `3000'~--- the quote was from a +\Newsgroup{comp.text.tex} posting by a someone who was presumably +using an old \TeX{}). + +As the message implies, there's (what \TeX{} thinks of as a) line in +your input that's ``too long'' (to \TeX{}'s way of thinking). Since +modern distributions tend to have tens of thousands of bytes of input +buffer, it's somewhat rare that these messages occur ``for real''. +Probable culprits are: +\begin{itemize} +\item A file transferred from another system, without translating + record endings. With the decline of fixed-format records (on + mainframe operating systems) and the increased intelligence of + \TeX{} distributions at recognising other systems' explicit + record-ending characters, this is nowadays rather a rare cause of + the problem. +\item A graphics input file, which a package is examining for its + bounding box, contains a binary preview section. Again, + sufficiently clever \TeX{} distributions recognise this situation, + and ignore the previews (which are only of interest, if at all, to a + \TeX{} previewer). +\end{itemize} + +The usual advice is to ignore what \TeX{} says (i.e., anything about +enlarging), and to put the problem right in the source. + +If the real problem is over-long text lines, most self-respecting text +editors will be pleased to automatically split long lines (while +preserving the ``word'' structure) so that they are nowhere any longer +than a given length; so the solution is just to edit the file. + +If the problem is a ridiculous preview section, try using +\ProgName{ghostscript} to reprocess the file, outputting a ``plain +|.eps|'' file. (\ProgName{Ghostscript} is distributed with a script +\ProgName{ps2epsi} which will regenerate the preview if necessary.) +Users of the shareware program \ProgName{GSview} will find buttons to +perform the required transformation of the file being displayed. +\begin{ctanrefs} +\item[ghostscript]Browse \CTANref{ghostscript} +\item[GSview]Browse \CTANref{gsview} +\end{ctanrefs} + +\Question[Q-formatstymy]{``Fatal format file error; I'm stymied''} + +\AllTeX{} applications often fail with this error when you've been +playing with the configuration, or have just installed a new version. + +The format file contains the macros that define the system you want to +use: anything from the simplest (Plain~\TeX{}) all the way to the most +complicated, such as \LaTeX{} or \CONTeXT{}. From the command you +issue, \TeX{} knows which format you want. + +The error message +\begin{verbatim} + Fatal format file error; I'm stymied +\end{verbatim} +means that \TeX{} itself can't understand the format you want. +Obviously, this could happen if the format file had got corrupted, but +it usually doesn't. The commonest cause of the message, is that a new +binary has been installed in the system: no two \TeX{} binaries on the +same machine can +understand each other's formats. So the new version of \TeX{} you +have just installed, won't understand the format generated by the one +you installed last year. + +Resolve the problem by regenerating the format; of course, this +depends on which system you are using. +\begin{itemize} +\item On a te\TeX{}-based system, run +\begin{verbatim} + fmtutil --all +\end{verbatim} + or +\begin{verbatim} + fmtutil --byfmt=<format name> +\end{verbatim} + to build only the format that you are interested in. +\item On a MiK\TeX{} system, click \texttt{Start}\arrowhyph{}% +\texttt{Programs}\arrowhyph{}% +\texttt{MiKTeX \emph{version}}\arrowhyph{}% +\texttt{MiKTeX Options}, and in the options window, click + \texttt{Update now}. +\end{itemize} + +\Question[Q-nonpdfsp]{Non-\acro{PDF} special ignored!} + +This is a \PDFTeX{} error: \PDFTeX{} is running in \acro{PDF} output +% beware line break at end line +mode, and it has encountered a \nothtml{\csx{special} command (}% +\Qref{\csx{special}}{Q-specials}\latexhtml{)}{ command}. \PDFTeX{} is +able to generate its own output, and in this mode of operation has no +need of \csx{special} commands (which allow the user to pass +information to the driver being used to generate output). + +Why does this happen? \LaTeX{} users, nowadays, hardly ever use +\csx{special} commands on their own~--- they employ packages to do the +job for them. Some packages will generate \csx{special} commands +however they are invoked: \Package{pstricks} is an example (it's very +raison d'\^etre is to emit \PS{} code in a sequence of \csx{special} +commands). \Package{Pstricks} may be dealt with by other means (the +\Package{pdftricks} package offers a usable technique). + +More amenable to correction, but more confusing, are packages (such as +\Package{color}, \Package{graphics} and \Package{hyperref}) that +specify a ``driver''. These packages have plug-in modules that +determine what \csx{special} (or other commands) are needed to generate +any given effect: the |pdftex| driver for such packages knows not to +generate \csx{special} commands. In most circumstances, you can let +the system itself choose which driver you need; in this case +everything will act properly when you switch to using \PDFLaTeX{}. If +you've been using \ProgName{dvips} (and specifying the |dvips| driver) +or \ProgName{dvipdfm} (for which you have to specify the driver), and +decide to try \PDFLaTeX{}, you \emph{must} remove the |dvips| or +|dvipdfm| driver specification from the package options, and let the +system recognise which driver is needed. +\begin{ctanrefs} +\item[pdftricks.sty]\CTANref{pdftricks} +\item[pstricks.sty]\CTANref{pstricks} +\end{ctanrefs} + +\Question[Q-8000]{Mismatched mode ljfour and resolution 8000} + +You're running \ProgName|dvips|, and you encounter a stream of error +messages, starting with ``\texttt{Mismatched mode}''. The mode is the +default used in your installation~--- it's set in the \ProgName{dvips} +configuration file, and \texttt{ljfour} is commonest (since it's the +default in most distributions), but not invariable. + +The problem is that \ProgName|dvips| has encountered a font for which +it must generate a bitmap (since it can't find it in Type~1 format), +and there is no proforma available to provide instructions to give to +\MF{}. + +So what to do? The number 8000 comes from the `\texttt{-Ppdf}' option +to \ProgName{dvips}, which you might have found from the answer +\nothtml{``wrong type of fonts'' (}% beware % beware line breaks +\Qref{``wrong type of fonts''}{Q-fuzzy-type3}\nothtml{)}. The obvious +solution is to switch to the trivial substitute `\texttt{-Pwww}', +which selects the necessary type~1 fonts for \acro{PDF} generation, +but nothing else: however, this will leave you with undesirable bitmap +fonts in your \acro{PDF} file. The ``proper'' solution is to find a +way of expressing what you want to do, using type~1 fonts. + +\Question[Q-toodeep]{``Too deeply nested''} + +This error appears when you start a \LaTeX{} list. + +\LaTeX{} keeps track of the nesting of one list inside another. There +is a set of list formatting parameters built-in for application to +each of the list nesting levels; the parameters determine indentation, +item separation, and so on. The \environment{list} environment (the +basis for list environments like \environment{itemize} and +\environment{enumerate}) ``knows'' there are only 6 of these sets. + +There are also different label definitions for the +\environment{enumerate} and \environment{itemize} environments at +their own private levels of nesting. Consider this example: +\begin{quote} +\begin{verbatim} +\begin{enumerate} +\item first item of first enumerate + \begin{itemize} + \item first item of first itemize + \begin{enumerate} + \item first item of second enumerate + ... + \end{enumerate} + ... + \end{itemize} +... +\end{enumerate} +\end{verbatim} +\end{quote} +In the example, +\begin{itemize} +\item the first \environment{enumerate} has labels as for a + first-level \environment{enumerate}, and is indented as for a + first-level list; +\item the first \environment{itemize} has labels as for a first level + \environment{itemize}, and is indented as for a second-level list; + and +\item the second \environment{enumerate} has labels as for a + second-level \environment{enumerate}, and is indented as for a + third-level list. +\end{itemize} +Now, as well as \LaTeX{} \emph{knowing} that there are 6~sets of +parameters for indentation, it also \emph{knows} that there are only +4~types of labels each, for the environments \environment{enumerate} +and \environment{itemize} (this ``knowledge'' spells out a requirement +for class writers, since the class supplies the sets of parameters). + +From the above, we can deduce that there are several ways we can run +out of space: we can have 6~lists (of any sort) nested, and try to +start a new one; we can have 4~\environment{enumerate} environments +somewhere among the set of nested lists, and try to add another one; +and we can have 4~\environment{itemize} environments somewhere among +the set of nested lists, and try to add another one. + +What can be done about the problem? Not much, short of rewriting +\LaTeX{}~--- you really need to rewrite your document in a slightly +less labyrinthine way. + +\Question[Q-inputlev]{Capacity exceeded~--- input levels} + +The error +\begin{wideversion} +\begin{verbatim} +! TeX capacity exceeded, sorry [text input levels=15]. +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +! TeX capacity exceeded, sorry + [text input levels=15]. +\end{verbatim} +\end{narrowversion} +is caused by nesting your input too deeply. You can provoke it with +the trivial (Plain \TeX{}) file \File{input.tex}, which contains +nothing but: +\begin{verbatim} +\input input +\end{verbatim} +In the real world, you are unlikely to encounter the error with a +modern \TeX{} distribution. Te\TeX{} (used to produce the error +message above) allows 15 files open for \TeX{} input at any one time, +which is improbably huge for a document generated by real human +beings. + +However, for those improbable (or machine-generated) situations, +some distributions offer the opportunity to adjust the parameter +|max_in_open| in a configuration file. + +\Question[Q-hyperdupdest]{\PDFTeX{} destination \dots{} ignored} + +The warning: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +! pdfTeX warning (ext4): destination with the same identifier +(name{page.1}) has been already used, duplicate ignored +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +! pdfTeX warning (ext4): destination with + the same identifier (name{page.1}) has + been already used, duplicate ignored +\end{verbatim} +{\small NB: message text wrapped to fit in the column} +\end{narrowversion} +\end{quote} +arises because of duplicate page numbers in your document. The +problem is usually soluble: see % beware line break +\Qref*[question]{\acro{PDF} page destinations}{Q-pdfpagelabels}~-- which +answer also describes the problem in more detail. + +\Question[Q-altabcr]{Alignment tab changed to \csx{cr}} + +This is an error you may encounter in \LaTeX{} when a tabular +environment is being processed. ``Alignment tabs'' are the +\texttt{\&} signs that separate the columns of a tabular; so the error +message +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +! Extra alignment tab has been + changed to \cr +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +! Extra alignment tab has been changed to \cr +\end{verbatim} +\end{wideversion} +\end{quote} +could arise from a simple typo, such as: +\begin{quote} +\begin{verbatim} +\begin{tabular}{ll} + hello & there & jim \\ + goodbye & now +\end{tabular} +\end{verbatim} +\end{quote} +where the second |&| in the first line of the table is more than the +two-column \texttt{ll} column specification can cope with~--- an extra +``\texttt{l}'' in that solves the problem. (As a result of the error, +``\texttt{jim}'' will be moved to a row of his own.) + +Rather more difficult to spot is the occurrence of the error when +you're using alignment instructions in a ``\texttt{p}'' column: +\begin{quote} +\begin{verbatim} +\usepackage{array} +... +\begin{tabular}{l>{\raggedright}p{2in}} +here & we are again \\ +happy & as can be +\end{tabular} +\end{verbatim} +\end{quote} +the problem here (as explained in % ! line break +\Qref[question]{tabular cell alignment}{Q-tabcellalign}) is that the +\csx{raggedright} command in the column specification has overwritten +\environment{tabular}'s definition of \texttt{\bsbs }, so that +``\texttt{happy}'' appears in a new line of the second column, and the +following \texttt{\&} appears to \LaTeX{} just like the second +\texttt{\&} in the first example above. + +Get rid of the error in the way described in % ! linebreak +\Qref[question]{tabular cell alignment}{Q-tabcellalign}~--- either use +\csx{tabularnewline} explicitly, or use the \csx{RBS} trick described +there. +\begin{ctanrefs} +\item[array.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + +\Question[Q-divzero]{Graphics division by zero} + +While the error +\begin{quote} +\begin{verbatim} +! Package graphics Error: Division by 0. +\end{verbatim} +\end{quote} +can actually be caused by offering the package a figure which claims +to have a zero dimension, it's more commonly caused by rotation. + +Objects in \TeX{} may have both height (the height above the baseline) +and depth (the distance the object goes below the baseline). If you +rotate an object by 180\,degrees, you convert its height into depth, +and vice versa; if the object started with zero depth, you've +converted it to a zero-height object. + +Suppose you're including your graphic with a command like: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\includegraphics[angle=180,height=5cm]{myfig.eps} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\includegraphics[angle=180,% + height=5cm]{myfig.eps} +\end{verbatim} +\end{narrowversion} +\end{quote} +In the case that \File{myfig.eps} has no depth to start with, the +scaling calculations will produce the division-by-zero error. + +Fortunately, the \Package{graphicx} package has a keyword +\pkgoption{totalheight}, which allows you to specify the size of the +image relative to the sum of the object's \pkgoption{height} and +\pkgoption{depth}, so +\begin{quote} +\begin{wideversion} +\begin{verbatim} +\includegraphics[angle=180,totalheight=5cm]{myfig.eps} +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +\includegraphics[angle=180,% + totalheight=5cm]{myfig.eps} +\end{verbatim} +\end{narrowversion} +\end{quote} +will resolve the error, and will behave as you might hope. + +If you're using the simpler \Package{graphics} package, use the +\texttt{*} form of the \csx{resizebox} command to specify the use of +\pkgoption{totalheight}: +\begin{quote} +\begin{verbatim} +\resizebox*{!}{5cm}{% + \rotatebox{180}{% + \includegraphics{myfig.eps}% + }% +} +\end{verbatim} +\end{quote} +\begin{ctanrefs} +\item[graphics.sty,graphicx.sty]Both parts of the \CTANref{graphics} bundle +\end{ctanrefs} + +\Question[Q-missbegdoc]{Missing \csx{begin}\marg{document}} + +Give it a file of plain text, or a \LaTeX{} file that really does have no +\cmdinvoke{begin}{document} command in it, and \LaTeX{} will produce +this error, quite correctly. \LaTeX{} \emph{needs} +\cmdinvoke{begin}{document} so as to know when to execute the commands +that finish off the document preamble. + +Other than that, the error can occur as a result of an error of yours, +of a corrupt \texttt{.aux} file, or of a buggy class or package. + +The errors you might commit are absent-mindedly typing a document +command (such as \csx{section}) in the preamble of your document, +missing the comment marker from the beginning of a line, or giving too +many arguments to one of the setup commands related to the class or a +package that you have loaded. + +A corrupt \texttt{.aux} file might be due to any number of things; +delete the file and to run \LaTeX{} again, twice. If the error +recurs, it's probably due to a buggy class or package. + +If the error occurs while \LaTeX{} is reading a class or package, then +there's probably a bug in the file. The author of the class or +package stands the best chance of finding the bug, but with luck you +(or someone you ask on a mailing list or on \Newsgroup{comp.text.tex}) +will be able to spot the problem and provide a work-around. Always +report such bugs, even if you have found a work-around. + +\Question[Q-normalszmiss]{\csx{normalsize} not defined} + +The \LaTeX{} error: +\begin{quote} +\begin{narrowversion} +\begin{verbatim} +The font size command \normalsize is not + defined: there is probably something + wrong with the class file. +\end{verbatim} +\end{narrowversion} +\begin{wideversion} +\begin{verbatim} +The font size command \normalsize is not defined: +there is probably something wrong with the class file. +\end{verbatim} +\end{wideversion} +\end{quote} +is reporting something pretty fundamental (document base font size not +set up). While this \emph{can}, as the message implies, be due to a +broken class file, the more common cause is that you have simply +forgotten to put a \csx{documentclass} command in your document. + +\Question[Q-manymathalph]{Too many math alphabets} + +\TeX{} mathematics is one of its most impressive features, yet the +internal structure of the mechanism that produces it is painfully +complicated and (in some senses) pathetically limited. One area of +limitation is that one is only allowed 16~''maths alphabets'' + +\LaTeX{} offers the user quite a lot of flexibility with allocating +maths alphabets, but few people use the flexibility directly. +Nevertheless, there are many packages that provide symbols, or that +manipulate them, which allocate themselves one or more maths alphabet. + +If you can't afford to drop any of these packages, there's +still hope if you're using the \Package{bm} package to support +\Qref*{bold maths}{Q-boldgreek}: \Package{bm} is capable +of gobbling alphabets as if there is no tomorrow. The package defines +two limiter commands: \csx{bmmax} (for \emph{bold} symbols; default~4) +and \csx{hmmax} (for \emph{heavy} symbols, if you have them; +default~3), which control the number of alphabets to be used. + +Any reduction of the \csx{\emph{xx}max} variables will slow +\Package{bm} down~--- but that's surely better than the document not +running at all. So unless you're using maths fonts (such as +\FontName{Mathtime Plus}) that feature a heavy symbol weight, suppress all +use of heavy families by +\begin{quote} +\begin{verbatim} + \renewcommand{\hmmax}{0} +\end{verbatim} +\end{quote} +and then steadily reduce the bold families, starting with +\begin{quote} +\begin{verbatim} + \renewcommand{\bmmax}{3} +\end{verbatim} +\end{quote} +until (with a bit of luck) the error goes away. +\begin{ctanrefs} +\item[bm.sty]Distributed as part of \CTANref{2etools} +\end{ctanrefs} + +\Question[Q-ouparmd]{Not in outer par mode} + +The error: +\begin{quote} +\begin{verbatim} +! LaTeX Error: Not in outer par mode. +\end{verbatim} +\end{quote} +comes when some ``main'' document feature is shut up somewhere it +doesn't like. + +The commonest occurrence is when the user wants a figure somewhere +inside a table: +\begin{quote} +\begin{verbatim} +\begin{tabular}{|l|} + \hline + \begin{figure} + \includegraphics{foo} + \end{figure} + \hline +\end{tabular} +\end{verbatim} +\end{quote} +a construction that was supposed to put a frame around the diagram, +but doesn't work, any more than: +\begin{quote} +\begin{verbatim} +\framebox{\begin{figure} + \includegraphics{foo} + \end{figure}% +} +\end{verbatim} +\end{quote} +The problem is, that the \environment{tabular} environment, and the +\csx{framebox} command restrain the \environment{figure} environment +from its natural m\'etier, which is to float around the document. + +The solution is simply not to use the \environment{figure} environment +here: +\begin{quote} +\begin{verbatim} +\begin{tabular}{|l|} + \hline + \includegraphics{foo} + \hline +\end{tabular} +\end{verbatim} +\end{quote} +What was the float for?~--- as written in the first two examples, it +serves no useful purpose; but perhaps you actually wanted a diagram +and its caption framed, in a float. + +It's simple to achieve this~--- just reverse the order of the +environments (or of the \environment{figure} environment and the +command): +\begin{quote} +\begin{verbatim} +\begin{figure} + \begin{tabular}{|l|} + \hline + \includegraphics{foo} + \caption{A foo} + \hline + \end{tabular} +\end{figure} +\end{verbatim} +\end{quote} +The same goes for \environment{table} environments (or any other sort +of float you've defined for yourself) inside tabulars or box commands; +you \emph{must} get the float environment out from inside, one way or +another. + +\Question[Q-errmissitem]{Perhaps a missing \csx{item}?} + +Sometimes, the error +\begin{quote} +\begin{verbatim} +Something's wrong--perhaps a missing \item +\end{verbatim} +\end{quote} +actually means what it says: +\begin{quote} +\begin{verbatim} +\begin{itemize} + boo! +\end{itemize} +\end{verbatim} +\end{quote} +produces the error, and is plainly in need of an \csx{item} command. + +However, the error regularly appears when you would never have thought +that a \csx{item} command might be appropriate. For example, the +seemingly innocent: +\begin{quote} +\begin{verbatim} +\fbox{% + \begin{alltt} + boo! + \end{alltt}% +} +\end{verbatim} +\end{quote} +produces the error (the same happens with \csx{mbox} in place of +\csx{fbox}, or with either of their ``big brothers'', \csx{framebox} and +\csx{makebox}). This is because the \environment{alltt} environment +uses a ``trivial'' list, hidden inside their definition. (The +\environment{itemize} environment also has this construct inside +itself, in fact, so \cmdinvoke{begin}{itemize} won't work inside an +\csx{fbox}, either.) The list construct wants to happen between +paragraphs, so it makes a new paragraph of its own. Inside the +\csx{fbox} command, that doesn't work, and subsequent macros convince +themselves that there's a missing \csx{item} command. + +To solve this rather cryptic error, one must put the +\environment{alltt} inside a paragraph-style box. The following +modification of the above \emph{does} work: +\begin{quote} +\begin{verbatim} +\fbox{% + \begin{minipage}{0.75\textwidth} + \begin{alltt} + hi, there! + \end{alltt} + \end{minipage} +} +\end{verbatim} +\end{quote} +The code above produces a box that's far too wide for the text. One +may want to use something that allows % ! line break +\Qref*{variable size boxes}{Q-varwidth} in place of the +\environment{minipage} environment. + +Oddly, although the \environment{verbatim} environment wouldn't work +inside a \csx{fbox} command argument (see % ! line break +\Qref[question]{verbatim in command arguments}{Q-verbwithin}), you +get an error that complains about \csx{item}: the environment's +internal list bites you before \environment{verbatim} has even had a +chance to create its own sort of chaos. + +Another (seemingly) obvious use of \csx{fbox} also falls foul of this +error: +\begin{quote} +\begin{verbatim} +\fbox{\section{Boxy section}} +\end{verbatim} +\end{quote} +This is a case where you've simply got to be more subtle; either you +write your own macros to replace the insides of \LaTeX{}'s sectioning +macros, or you should look for some alternative in the packages +discussed in ``\Qref*{The style of section headings}{Q-secthead}''. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Current \TeX{}-related projects} + +\Question[Q-LaTeX3]{The \LaTeX{}3 project} + +The \LaTeX{}3 project team (see \URL{http://www.latex-project.org/latex3.html}) +is a small group of volunteers whose aim is +to produce a major new document processing system based on the +principles pioneered by Leslie Lamport in the current \LaTeX{}. It +will remain freely available and it will be fully documented at +all levels. + +The \LaTeX{}3 team's first product (\LaTeXe{}) was delivered in 1994 +(it's now properly called ``\LaTeX{}'', since no other version is current). + +\LaTeXe{} was intended as a consolidation exercise, unifying several +sub-variants of \LaTeX{} while changing nothing whose change wasn't +absolutely necessary. This has permitted the team to support a single +version of \LaTeX{}, in parallel with development of \LaTeX{}3. + +Some of the older discussion papers about directions for \LaTeX{}3 are +to be found on \acro{CTAN}; other (published) articles are to be +found on the project web site (see +\URL{http://www.latex-project.org/articles.html}), as is some of the +project's experimental code +(\URL{http://www.latex-project.org/experimental}). You can +participate in discussions of the future of \LaTeX{} through the +mailing list \texttt{latex-l}. Subscribe to the list by sending a +message `\texttt{subscribe latex-l <\emph{your name}>}' to +\mailto{listserv@urz.Uni-Heidelberg.de} +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\LaTeX{} project publications]\CTANref{ltx3pub} +\end{ctanrefs} + +\Question[Q-omega]{The Omega project} + +Omega +\htmlignore +(\ensuremath{\Omega}) +\endhtmlignore +is a program built by extension of the \TeX{} sources which works +internally with `wide' characters (it is capable of dealing with all +of Unicode version 3); this allows it to work with most scripts in the +world with few difficulties from coding schemes. +\latexhtml{\ensuremath\Omega}{Omega} also has a +powerful concept of input and output filters to allow the user to work +with existing transliteration schemes, \emph{etc}. + +A part of the project is to develop a version of \LaTeX{} to work with +\latexhtml{\ensuremath{\Omega}}{Omega}, styled +\latexhtml{``Lambda'' (\ensuremath{\Lambda})}{``Lambda''}. + +%% An email discussion list is available: subscribe by sending a message +%% `\texttt{subscribe}' to \mailto{omega-request@omega.cse.unsw.edu.au} + +\latexhtml{\ensuremath\Omega}{Omega} was first released in November 1996 +by the project originators, John Plaice and Yannis Haralambous; a +recent version is maintained on \acro{CTAN}. General project +information, as well as copies papers, are available via the +\begin{narrowversion}% i.e. non-hyper version + project's web site (\URL{http://omega.enstb.org}). +\end{narrowversion} +\begin{wideversion} + \href{http://omega.enstb.org}{project's web site}. +\end{wideversion} + +Implementations of \latexhtml{\ensuremath\Omega}{Omega} +are available as part of the te\TeX{}, +mik\TeX{}, fp\TeX{} and \acro{C}Mac\TeX{} distributions +(see \Qref[question]{\TeX{} systems}{Q-TeXsystems}), as well as +in \Qref*{\TeX{}~Live}{Q-CD}. + +A related project, \Qref*{Aleph}{Q-aleph}, has merged a version of +\latexhtml{\ensuremath\Omega}{Omega} with the facilities of +\Qref*{\eTeX{}}{Q-NTS}, as a pathfinder for potential future Omega +development. +\begin{ctanrefs} +\item[CTAN distribution]\CTANref{omega} (not up-to-date: use the + version in your \AllTeX{} distribution) +\end{ctanrefs} + +\nothtml{\begingroup\ifboldmathavail\boldmath\fi} +\Question[Q-NTS]{The \NTS{} project} +\nothtml{\afterquestion} + +The \NTS{} project was established in 1992, to produce a typesetting +system that's even better than \TeX{}. The project is not simply +enhancing \TeX{}, for two reasons: first, that \TeX{} itself has been +frozen by Knuth +(see \Qref[question]{the future of \TeX{}}{Q-TeXfuture}), and second, +even if they \emph{were} allowed to develop the program, some members +of the \NTS{} team feel that \TeX{} in its present form is simply +unsuited to further development. While all those involved in the +project are committed to \TeX{}, they recognise +that the end product may very well have little in common with \TeX{} +other than its philosophy. + +The group's first product was nevertheless a set of +extensions and enhancements to \TeX{}, implemented through the standard +medium of a change-file. The extended system is known \eTeX{}, and is +100\textpercent\ compatible with \TeX{}; furthermore, \eTeX{} can +construct a format +that \emph{is} ``\TeX{}'', with no extensions or enhancements present. + +The most recent base source of \eTeX{} (i.e., the Web change file) is +available on \acro{CTAN}. Following a suggestion from the +\Qref*{\LaTeX{} project}{Q-LaTeX3}, most \AllTeX{} distributions now +make \emph{all} their \LaTeX{} executables with the +\eTeX{} extensions (that is, \ProgName{latex} is really \elatex{}, +\ProgName{pdflatex} is really \acro{PDF}e-\LaTeX{}, and so on). In +this context, some of the newer \LaTeX{} packages are designed to +require the \eTeX{} extensions. + +The project has now produced a \ensuremath{\beta}-version of +\TeX{} written (from scratch) in Java. Since it \emph{isn't} \TeX{} +(it remains slightly incompatible in microscopic ways), it's known as +\NTS{}. As might be expected, this first re-implementation runs +rather slowly, but its operation \emph{has} been demonstrated in +public, and the \ensuremath{\beta}-release is available on +\acro{CTAN}. +\begin{ctanrefs} +\item[e-TeX]Browse \CTANref{e-TeX} +\item[NTS]\CTANref{nts} +\end{ctanrefs} + +\Question[Q-pdftex]{The \PDFTeX{} project} + +\PDFTeX{} (formerly known as \TeX{}2\acro{PDF}) arose from +\latexhtml{H\'an \The{} Th\'anh's}{Han The Thanh's} +post-graduate research at Masaryk University, Brno, Czech +Republic. The basic idea is very simple: to provide a version of +\TeX{} that can output \acro{PDF} as an alternative format to +\acro{DVI}. \PDFTeX{} implements a small number of new +primitives, to switch to \acro{PDF} output, and to control various +\acro{PDF} features. +\latexhtml{H\'an \The{} Th\'anh}{Han The Thanh} +worked on \PDFTeX{} throughout his Ph.D.\ research into +typesetting, and the latest release includes facilities he wrote to +support novel typesetting techniques that he was studying. + +Since he completed his studies, Han has had little time to work on +\PDFTeX{}, and day-to-day support is provided by a team of experts +(mostly in Europe). +The latest sources are available on \acro{CTAN}, and +implementations are available as part of Web2C, as well as in the +te\TeX{}, mik\TeX{}, fp\TeX{}, \acro{C}Mac\TeX{} and \TeX{}~live distributions +A version (by the author of \acro{C}Mac\TeX{}) for use with Oz\TeX{} is also +available on \acro{CTAN}. + +A mailing list discussing \PDFTeX{} is available; +\begin{narrowversion} % non-hyper version + subscribe via the \acro{TUG} \ProgName{mailman} interface at + \URL{http://www.tug.org/mailman/listinfo/pdftex} +\end{narrowversion} +\begin{wideversion} + subscribe via the + \href{http://www.tug.org/mailman/listinfo/pdftex}{\acro{TUG} \ProgName{mailman} interface}. +\end{wideversion} +\begin{ctanrefs} +\item[pdftex]\CTANref{pdftex} +\item[pdftex for OzTeX]\CTANref{pdftex-oztex} +\end{ctanrefs} + +\Question[Q-mathml]{Future \acro{WEB} technologies and \AllTeX{}} + +An earlier answer % ! line break +(\Qref[number]{``converting to \acro{HTML}''}{Q-LaTeX2HTML}) +addresses the issue of converting existing \AllTeX{} documents for +viewing on the Web as \acro{HTML}. All the present techniques are +somewhat flawed: the answer explains why. + +However, things are changing, with +better font availability, cunning \acro{HTML} programming and the +support for new Web standards. +\begin{description} +\item[Font technologies] Direct representation of mathematics in + browsers has been hampered up to now by the limited range of symbols + in the fonts one can rely on being available. Some existing + \AllTeX{} to \acro{HTML} converters provide maths symbols by + hitching them to alternate font face specifications for standard + code points in a non-standard way. This does nothing for the + universality of the \acro{HTML} so generated. + + In the near future, we can expect rather wide availability of + Unicode fonts with good coverage of symbols, which should make life + easier for those who need to represent mathematics. +\item[\acro{XML}] The core of the range of new standards is + \acro{XML}, which provides a framework for better structured markup; + limited support for it has already appeared in some browsers. + + Conversion of \AllTeX{} source to \acro{XML} is already available + (through \TeX{}4ht at least), and work continues in that arena. The + alternative, authoring in \acro{XML} (thus producing documents that + are immediately Web-friendly, if not ready) and using \AllTeX{} to + typeset is also well advanced. One useful technique is + \Qref*{\emph{transforming} the \acro{XML} to \LaTeX{}}{Q-SGML2TeX}, + using an \acro{XSLT} stylesheet or code for an \acro{XML} library, + and then simply using \LaTeX{}; alternatively, one may + \Qref*{typeset direct from the \acro{XML} source}{Q-readML}. +\item[Direct represention of mathematics] + Math\acro{ML} is a standard for representing maths on the Web; its + original version was distinctly limited, but version 2 of Math\acro{ML} + has had major browser support since 2002 with richness of mathematical + content for online purposes approaching that of \TeX{} for print. + Browser support for Math\acro{ML} is provided by \ProgName{amaya}, the + `Open Source' browser \ProgName{mozilla} (and its derivatives + including \ProgName{NetScape}, \ProgName{Firefox} and \ProgName{Galeon}) and + \ProgName{Internet Explorer} when equipped with a suitable plugin + such as \ProgName{MathPlayer}. + There's evidence that \AllTeX{} users are starting to use such + browsers. Some believe that \acro{XHTML}+Math\acro{ML} now provides + better online viewing than \acro{PDF}. + Work to produce \acro{XHTML}+Math\acro{ML} is well advanced in both the + \TeX{}4ht and \ProgName{TtH} projects for \AllTeX{} conversion. +%% Such conversion, however, has limits of soundness unless one +%% is very much aware of the needs of one's conversion program +%% and adapts one's usage of \AllTeX{} accordingly. + + An approach different from \AllTeX{} conversion is taken by + the \href{http://www.albany.edu/~hammond/gellmu/}{\emph{GELLMU} Project}. + Its \emph{article} \acro{XML} document type, which has a markup vocabulary + close to \LaTeX{} that can be edited using \LaTeX{}-like markup + (even though it is not \LaTeX{}~--- so far), comes with translators + that make both \acro{PDF} (via \emph{pdflatex}) and + \acro{XHTML}+Math\acro{ML}. Such an approach avoids the inherent + limitations of the ``traditional'' \AllTeX{} translation processes, + which have traps that can be sprung by unfettered use of \AllTeX{} + markup. +\item[Graphics] + \acro{SVG} is a standard for graphics representation on the web. + While the natural use is for converting existing figures, + representations of formulas are also possible, in place of the separate + bitmaps that have been used in the past (and while we wait for the + wider deployment of Math\acro{ML}). + + Browser plug-ins, that deal with \acro{SVG} are already available + (Adobe offer one, for example). More recently, the open source + graphics editor \href{http://www.inkscape.org/}{\ProgName{Inkscape}} + has appeared, and has been reported to be useful for + \acro{SVG}-related work in at least one \TeX{}-related project. Be + aware that the developers of \ProgName{Inkscape} have no illusions + about being able to replace commercial software, yet\dots{} +\item[Direct use of \TeX{} markup] + Some time back, \acro{IBM} developed a browser plug-in called + TechExplorer, which would display \AllTeX{} documents direct in a + browser. Over the years, it developed into a Math\acro{ML} browser + plug-in, while still retaining its \AllTeX{} abilities, but it's now + distributed (free for Linux and Windows platforms) by + \href{http://www.integretechpub.com/}{Integre Technical Publishing}. + + The disadvantage of the TechExplorer approach is that it places the + onus on the browser user; and however technically proficient + \emph{you} are, it's never safe to assume too much of your readers. + An interesting alternative is + \href{http://www.forkosh.com/mimetex.html}{Mime\TeX{}}, which sits + on your server as a \acro{CGI} script, and you use it to include + your \TeX{}, in your \acro{HTML}, as if it were an image: +\begin{quote} +\begin{wideversion} +\begin{verbatim} +<img src="../cgi-bin/mimetex.cgi?f(x)=\int\limits_{-\infty}^xe^{-t^2}dt"> +\end{verbatim} +\end{wideversion} +\begin{narrowversion} +\begin{verbatim} +<img src="../cgi-bin/mimetex.cgi?f(x)= + \int\limits_{-\infty}^xe^{-t^2}dt"> +\end{verbatim} +\end{narrowversion} +\end{quote} +\end{description} +\begin{ctanrefs} +\item[GELLMU]\CTANref{gellmu} +\item[MimeTeX]\CTANref{MimeTeX} +\item[TeX4HT]\CTANref{tex4ht} +\end{ctanrefs} + +\Question[Q-textrace]{Making outline fonts from \MF{}} + +\ProgName{TeXtrace}, originally developed by P\'eter Szab\'o, is a +bundle of Unix scripts that use Martin Weber's freeware boundary +tracing package +\href{http://autotrace.sourceforge.net}{\ProgName{autotrace}} to +generate Type~1 outline fonts from \MF{} bitmap +font outputs. The result is unlikely ever to be of the quality of +the commercially-produced Type~1 font, but there's always the +\href{http://fontforge.sourceforge.net/}{\ProgName{FontForge}} font +editor to tidy things. Whatever, there +remain fonts which many people find useful and which fail to attract +the paid experts, and auto-tracing is providing a useful service here. +Notable sets of +fonts generated using \ProgName{TeXtrace} are P\'eter Szab\'o's own +\acro{EC}/\acro{TC} font set \FontName{tt2001} and Vladimir Volovich's +\acro{CM}-Super set, which covers the \acro{EC}, \acro{TC}, and the +Cyrillic \acro{LH} font sets (for details of both of which sets, see +\Qref[answer]{``8-bit'' type 1 fonts}{Q-type1T1}). + +Another system, which arrived slightly later, is +\href{http://www.cs.uu.nl/~hanwen/mftrace/}{\ProgName{mftrace}}: +this is a small \ProgName{Python} program that does the same job. +\ProgName{Mftrace} may use either \ProgName{autotrace} (like +\ProgName{TeXtrace}) or Peter Selinger's +\href{http://potrace.sourceforge.net}{\ProgName{potrace}} to produce +the initial outlines to process. \ProgName{Mftrace} is said to be +more flexible, and easier to use, than is \ProgName{TeXtrace}, but both systems +are increasingly being used to provide Type~1 fonts to the public domain. + +The \ProgName{MetaType1} system aims to use \MF{} font sources, by way +of \MP{} and a bunch of scripts and so on, to produce high-quality +Type~1 fonts. The first results, the % ! line break +\Qref*{\Package{Latin Modern} fonts}{Q-type1T1}, are pretty +impressive, and it is known that the team that produced the system are +developing new work using the system. +\begin{ctanrefs} +\item[MetaType1]\CTANref{metatype1} +\end{ctanrefs} + +\Question[Q-WYGexpts]{The \TeX{} document preparation environment} + + +``\Qref*{Why \TeX{} is not \WYSIWYG{}}{Q-notWYSIWYG}'' +outlines the reasons (or excuses) for the huge disparity of user +interface between ``typical'' \TeX{} environments and commercial word +processors. + +Nowadays, at last, there is a range of tools available that try either +to bridge or to close the gap. One range modestly focuses on +providing the user with a legible source document. At the other +extreme we have \href{http://www.texmacs.org}{\ProgName{TeXmacs}}, +a~document processor using +\TeX{}'s algorithms and fonts for both editor display and printing. +\ProgName{TeXmacs} does not use the \TeX{} +language itself (though among other formats, \LaTeX{} may be exported +and imported). A bit closer to \LaTeX{} is +\href{http://www.lyx.org/}{LyX}, which has its own +editor display and file formats as well, but does its print output by +exporting to \LaTeX{}. The editor display merely resembles the +printed output, but you have the possibility of entering arbitrary +\LaTeX{} code. If you use constructs that LyX does not +understand, it will just display them as source text marked red, but +will properly export them. + +Since a lot of work is needed to create an editor from scratch that +actually is good at editing (as well as catering for \TeX{}), it is +perhaps no accident that several approaches have been implemented +using the extensible \ProgName{emacs} editor. The low end of the +prettifying range is occupied by syntax highlighting: marking \TeX{} +tokens, comments and other stuff with special colours. +Many free editors (including \ProgName{emacs}) can cater for \TeX{} in +this way. Under Windows, one of the more popular editors with such +support is the +Shareware product \href{http://www.winedt.com/}{\ProgName{winedt}}. +Continuing the range of +tools prettifying your input, we have the \ProgName{emacs} package +\href{http://x-symbol.sourceforge.net}{\Package{x-symbol}}, which does +the \WYSIWYG{} part of its work by replacing single \TeX{} tokens and +accented letter sequences with appropriate-looking characters on the +screen. + +A different type of tool focuses on making update and access to +previews of the typeset document more immediate. A recent addition +in several viewers, editors and \TeX{} executables are so-called +`source specials' for cross-navigation. When \TeX{} compiles a +document, it will upon request insert special markers for every input +line into the typeset output. The markers are interpreted by the \acro{DVI} +previewer which can be made to let its display track the page +corresponding to the editor input position, or to let the editor jump +to a source line corresponding to a click in the preview window. + +An \ProgName{emacs} package that combines this sort of editor movement +tracking with automatic fast recompilations (through the use of dumped +formats) is +\href{http://pauillac.inria.fr/whizzytex/}{\Package{WhizzyTeX}} + which is best used with a previewer by the +same author. A simpler package in a similar spirit is called +\href{http://www.activetex.org/}{\Package{InstantPreview}} and makes +use of a continuously running copy of \TeX{} +(under the moniker of \texttt{TeX daemon}) instead of dumping formats to +achieve its speed. + +Another \ProgName{emacs} package called +\href{http://preview-latex.sourceforge.net}{\Package{preview-latex}} +tries to solve +the problem of visual correlation between source and previews in a +more direct way: it uses a \LaTeX{} package to chop the document source +into interesting fragments (like figures, text or display math) which +it runs through \LaTeX{} and replaces the source text of those +fragments with the corresponding rendered output images. Since it +does not know about the structure of the images, at the actual cursor +position the source text is displayed while editing rather than the +preview. This approach is more or less a hybrid of the source +prettifying and fast preview approaches since it works in the source +buffer but uses actual previews rendered by \LaTeX{}. + +A more ambitious contender is called \TeX{}lite. This +system is only available on request from its author; +it continuously updates its screen with the help of a special version +of \TeX{} dumping its state in a compressed format at each page and +using hooks into \TeX{}'s line breaking mechanism for reformatting +paragraphs on the fly. That way, it can render the output from the +edited \TeX{} code with interactive speed on-screen, and it offers the +possibility of editing directly in the preview window. + +That many of these systems occupy slightly different niches can be +seen by comparing the range of the +\ProgName{emacs}-based solutions ranging from syntax highlighting to instant +previewing: all of them can be activated at the same time without +actually interfering in their respective tasks. + +The different approaches offer various choices differing in the +immediacy of their response, the screen area they work on (source or +separate window), degree of correspondance of the display to the final +output, and the balance they strike between visual aid and visual +distraction. +\begin{ctanrefs} +\item[preview-latex]Browse \CTANref{preview-latex} +\item[texmacs]Browse \CTANref{texmacs} +\end{ctanrefs} + +\Question[Q-ant]{The \textsf{ANT} typesetting system} + +Achim Blumensath's \textsf{ANT} project, in contrast to \NTS{}, aims +not to replicate \TeX{} with a different implementation technique, but +rather to provide a replacement for \TeX{} which uses \TeX{}-like +typesetting algorithms in a very different programming environment. +\textsf{ANT} remains under development, but it is now approaching the +status of a usable typesetting system. + +\textsf{ANT}'s markup language is immediately recognisable to the +\AllTeX{} user, but the scheme of implementing design in +\textsf{ANT}'s own implementation language (presently +\ProgName{OCaml}) comes as a pleasant surprise to the jaded \acro{FAQ} +writer. This architecture holds the promise of a system that avoids a +set of serious problems with \TeX{}'s user interface: those that +derive from the design language being the same as the markup language. +\begin{ctanrefs} +\item[\textsf{ANT} downloads]% + \URL{http://www-mgi.informatik.rwth-aachen.de/~blume/Download.html} +\end{ctanrefs} + +\Question[Q-aleph]{The Aleph project} + +The Aleph \nothtml{(\ensuremath\aleph)} project aims to build a +``usable'' version of \nothtml{Omega (\ensuremath\Omega~--- }% ! line break +\Qref{Omega}{Q-omega}\nothtml{)}, incorporating \eTeX{} extensions +from the \Qref*{\NTS{} project}{Q-NTS}. + +Two sets of concerns have provided impetus to the project: first, that +many users need the \eTeX{} extensions, and they're not on the +\latexhtml{\ensuremath\Omega}{Omega} development path; and second, +that the \latexhtml{\ensuremath\Omega}{Omega} project is currently +immersed in radical restructuring of +\latexhtml{\ensuremath\Omega}{Omega}, and is not able to be +particularly responsive to user requirements in the short term. In +the longer term, the \latexhtml{\ensuremath\aleph}{Aleph} project hope +that their work will be rendered irrelevant by the development of +\latexhtml{\ensuremath\Omega}{Omega} proper. + +The current pre-release snapshot of +\latexhtml{\ensuremath\aleph}{Aleph} resides on \acro{CTAN} with the +rather modest name of e-Omega. Follow development by subscribing +to the project mailing list via \URL{http://www.ntg.nl/mailman/listinfo/aleph} +\begin{ctanrefs} +\item[e-omega]Browse \CTANref{aleph} +\end{ctanrefs} + +\Question[Q-extex]{The \ExTeX{} project} + +\href{http://www.dante.de/projects/extex/}{The \ExTeX{} project} is +building on the experience of the many existing \TeX{} development and +extension projects, to develop a new \TeX{}-like system. The system +is to be developed in Java, but will not necessarily use the code of +\Qref*{\NTS{}}{Q-NTS}. + +While \ExTeX{} will implement all of \TeX{}'s primitives, some may be +marked as obsolete, and ``modern'' alternatives provided (an obvious +example is the primitive \csx{input} command, whose syntax inevitably +makes life difficult for users of modern operating system file +paths). Desirable extensions from \Qref*{\eTeX{}}{Q-NTS}, +\Qref*{\PDFTeX{}}{Q-pdftex} and \Qref*{\ensuremath{\Omega}}{Q-omega} +have been identified. + +Usability will be another focus of the work: debugging support and log +filtering mechanisms will please those who have long struggled with +\TeX{} macros. + +\ExTeX{} will accept Unicode input, from the start. In the longer +term, drawing primitives are to be considered. + +\Question[Q-xetex]{The XeTeX project} + +XeTeX (by Jonathan Kew) is a successor to the shareware \TeX{}/\acro{GX} +program. It is a Unicode-based (\acro{UTF}-8) TeX implementation which +is able to make use of Mac~\acro{OS}~X \acro{AAT} (Apple Advanced Typography) +\texttt{.dfonts} and OpenType fonts. It uses Apple's Quartz system +(which facilitates the afore-mentioned font access) to generate +\acro{PDF} output. + +XeTeX requires Mac~\acro{OS}~{X} 10.3 ``Panther'' or later (although +there has been some success using earlier versions). It is +especially oriented towards multi-lingual typography, taking advantage +of Apple's keyboard input systems and system font support for various +languages. + +The system is able to make use of Gerben Wierda's \TeX{} for +Mac~\acro{OS}~X setup, but a minimal set of \TeX{} support files is +also available, making an attractive proposition for those with +limited bandwidth who are inclined to use Plain \TeX{}. It can be +installed using Apple's Installer, or as an i-Installer package. + +The project has a \href{http://scripts.sil.org/xetex}{web site} for +the user who wants more than this simple answer, and you can also sign +up to a \href{http://www.tug.org/mailman/listinfo/xetex}{mailing list}. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% +% This is the last section, and is to remain the last section... +\section{You're still stuck?} + +\Question[Q-noans]{You don't understand the answer} + +While the \acro{FAQ} maintainers don't offer a `help' service, they're +very keen that you understand the answers they've already written. +They're (almost) written ``in a vacuum'', to provide something to +cover a set of questions that have arisen; it's always possible that +they're written in a way that a novice won't understand them. + +Which is where you can help the community. Mail the +\href{mailto:faq@tex.ac.uk}{maintainers} to report the answer +that you find unclear. Time permitting (the team is small and all its +members are busy), we'll try and clarify the answer. This way, with a +bit of luck, we can together improve the value of this resource to the +whole community. + +(We need hardly say that we look forward to hearing from none of you: +but we're not so arrogant as to be confident that we won't!) + +\Question[Q-newans]{Submitting new material for the \acro{FAQ}} + +The \acro{FAQ} will never be complete, and we always expect that +there will be people out there who know better than we do about +something or other. We always need to be put right about whatever +we've got wrong, and suggestions for improvements, particularly +covering areas we've missed, are always needed: mail anything you have +to the \href{mailto:faq@tex.ac.uk}{maintainers}. + +If you have actual material to submit, your contribution is more than +ever welcome. Submission in plain text is entirely acceptable, but +if you're really willing, you may feel free to mark up your submission +in the form needed for the \acro{FAQ} itself. The markup is a +strongly-constrained version of \LaTeX{}~--- the constraints come from +the need to translate the marked-up text to \acro{HTML} on the fly +(and hence pretty efficiently). There is a file \File{markup-syntax} +in the \acro{FAQ} distribution that describes the structure of the +markup, but there's no real substitute for reading at least some of +the source (\File{faqbody.tex}) of the \acro{FAQ} itself. If you +understand \ProgName{Perl}, you may also care to look at the +translation code in \File{texfaq2file} and \File{sanitize.pl} in the +distribution: this isn't the code actually used on the Web site, but +it's a close relation and is kept +up to date for development purposes. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\acro{FAQ} distribution]\CTANref{faq} +\end{ctanrefs} + +\Question[Q-latexbug]{Reporting a \LaTeX{} bug} + +The \LaTeX{} team supports \LaTeX{}, and will deal with +% beware line wrap +\emph{bona fide} bug reports. However, you need to be slightly +careful to produce a bug report that is usable by the team. The steps +are: + +\nothtml{\noindent}\textbf{1.} Are you still using current \LaTeX{}? Maintenance is only +available for sufficiently up-to-date versions of \LaTeX{}~--- if your +\LaTeX{} is more than two versions out of date, the bug reporting +mechanisms will reject your report. + +\nothtml{\noindent}\textbf{2.} Has your bug already been reported? Browse the +% beware line break +\href{http://www.latex-project.org/cgi-bin/ltxbugs2html?introduction=yes}{\LaTeX{} bugs database}, +to find any earlier instance of your bug. In many cases, the database +will list a work-around. + +\nothtml{\noindent}\textbf{3.} Prepare a % ! line break +\Qref*{``minimum'' file}{Q-minxampl} that exhibits the problem. +Ideally, such a file should contain no contributed packages~--- the +\LaTeX{} team as a whole takes no responsibility for such packages (if +they're supported at all, they're supported by their authors). The +``minimum'' file should be self-sufficient: if a member of the team +should run it in a clean directory, on a system with no contributed +packages, it should replicate your problem. + +\nothtml{\noindent}\textbf{4.} Run your file through \LaTeX{}: the bug +system needs the |.log| file that this process creates. + +You now have two possible ways to proceed: either create a mail report +to send to the bug processing mechanism (5, below), or submit your bug +report via the web (7, below). + +\nothtml{\noindent}\textbf{5.} Process the bug-report creation file, using \LaTeX{} itself: +\begin{verbatim} + latex latexbug +\end{verbatim} +\File{latexbug} asks you some questions, and then lets you describe +the bug you've found. It produces an output file \File{latexbug.msg}, +which includes the details you've supplied, your ``minimum'' example +file, and the log file you got after running the example. (I always +need to edit the result before submitting it: typing text into +\File{latexbug} isn't much fun.) + +\nothtml{\noindent}\textbf{6.} Mail the resulting file to +\Email{latex-bugs@latex-project.org}; the subject line of your email +should be the same as the bug title you gave to \File{latexbug}. The +file \File{latexbug.msg} should be included into your message in-line: +attachments are likely to be rejected by the bug processor. + +\nothtml{\noindent}\textbf{7.} Connect to the +% beware line break +\href{http://www.latex-project.org/bugs-upload.html}{latex bugs processing web page} +and enter details of your bug~--- category, summary and full +description, and the two important files (source and log file); note +that members of the \LaTeX{} team \emph{need} your name and email address, as +they may need to discuss the bug with you, or to advise you of a +work-around. + +\htmlignore +\par +\endhtmlignore +\Question[Q-bug]{What to do if you find a bug} +\htmlignore +\par +\endhtmlignore +% +% This here isn't a reference to a question... +\label{lastquestion} + +For a start, make entirely sure you \emph{have} found a bug. +Double-check with books about \TeX{}, \LaTeX{}, or whatever you're using; +compare what you're seeing against the other answers above; ask every +possible person you know who has any \TeX{}-related expertise. +The reasons for all this caution are various. + +If you've found a bug in \TeX{} itself, you're a rare animal indeed. +Don Knuth is so sure of the quality of his code that he offers real +money prizes to finders of bugs; the cheques he writes are +such rare items that they are seldom cashed. If \emph{you} +think you have found a genuine fault in \TeX{} itself (or \MF{}, or the +\acro{CM} fonts, or the \TeX{}book), don't immediately write to Knuth, +however. He only looks at bugs once or twice a year, and even then +only after they are agreed as bugs by a small vetting team. In the +first instance, contact Barbara Beeton at the \acro{AMS} +(\Email{bnb@math.ams.org}), or contact +\Qref*{\acro{TUG}}{Q-TUG*}. + +If you've found a bug in \LaTeXe{}, \Qref*{report it}{Q-latexbug} +using mechanisms supplied in the \LaTeX{} distribution. + +If you've found a bug in \LaTeXo{}, or some other such unsupported +software, there's not a lot you can do about it. You may find help or +\emph{de facto} support on a newsgroup such as +\Newsgroup{comp.tex.tex} or on a mailing list such as +\mailto{texhax@tug.org}, but posting non-bugs to any of these forums +can lay you open to ridicule! Otherwise you may need to pay for +help~--- \acro{TUG} maintains a % ! line break +\href{http://www.tug.org/consultants.html}{register of \TeX{} consultants}. + diff --git a/Master/texmf-doc/doc/english/FAQ-en/faqfont.cfg b/Master/texmf-doc/doc/english/FAQ-en/faqfont.cfg new file mode 100644 index 00000000000..ae36c3730e0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/faqfont.cfg @@ -0,0 +1,4 @@ +% +% null FAQ configuration file: leaves LaTeX default use of cm* fonts +\typeout{FAQ -- Typesetting using Computer Modern fonts} +\@ifundefined{Dings}{\let\Dings\relax}{} diff --git a/Master/texmf-doc/doc/english/FAQ-en/faqfont.cfg.cmfonts b/Master/texmf-doc/doc/english/FAQ-en/faqfont.cfg.cmfonts new file mode 100644 index 00000000000..1849c021285 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/faqfont.cfg.cmfonts @@ -0,0 +1,5 @@ +% +% null FAQ configuration file: leaves LaTeX default use of cm* fonts +\typeout{FAQ -- Typesetting using Computer Modern fonts} +\@ifundefined{Dings}{\let\Dings\relax}{} +\boldmathavailtrue
\ No newline at end of file diff --git a/Master/texmf-doc/doc/english/FAQ-en/filectan.tex b/Master/texmf-doc/doc/english/FAQ-en/filectan.tex new file mode 100644 index 00000000000..9f882167265 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/filectan.tex @@ -0,0 +1,145 @@ +% +% protect ourself against being read twice +\csname readCTANfiles\endcsname +\let\readCTANfiles\endinput +% +% interesting/useful individual files to be found on CTAN +\CTANfile{CTAN-sites}{CTAN.sites} +\CTANfile{CTAN-uploads}{README.uploads}% yes, it really is in the root +\CTANfile{Excalibur}{systems/mac/support/excalibur/Excalibur-4.0.2.sit.hqx} +\CTANfile{f-byname}{FILES.byname} +\CTANfile{f-last7}{FILES.last07days} +\CTANfile{LitProg-FAQ}{help/comp.programming.literate_FAQ} +\CTANfile{OpenVMSTeX}{systems/OpenVMS/TEX97_CTAN.ZIP} +\CTANfile{T1instguide}{info/Type1fonts/fontinstallationguide/fontinstallationguide.pdf} +\CTANfile{TeX-FAQ}{obsolete/help/TeX,_LaTeX,_etc.:_Frequently_Asked_Questions_with_Answers} +\CTANfile{abstract-bst}{biblio/bibtex/contrib/abstract.bst} +\CTANfile{anonchap}{macros/latex/contrib/misc/anonchap.sty} +\CTANfile{askinclude}{macros/latex/contrib/misc/askinclude.sty} +\CTANfile{axodraw}{graphics/axodraw/export} +\CTANfile{backgrnd}{macros/generic/backgrnd.tex} +\CTANfile{bbl2html}{biblio/bibtex/utils/bbl2html.awk} +\CTANfile{beginlatex-pdf}{info/beginlatex/beginlatex-3.6.pdf} +\CTANfile{belleek}{fonts/belleek/belleek.zip} +\CTANfile{bold-extra}{macros/latex/contrib/misc/bold-extra.sty} +\CTANfile{braket}{macros/latex/contrib/misc/braket.sty} +\CTANfile{btxmactex}{macros/eplain/btxmac.tex} +\CTANfile{cancel}{macros/latex/contrib/misc/cancel.sty} +\CTANfile{capt-of}{macros/latex/contrib/misc/capt-of.sty} +\CTANfile{catalogue}{help/Catalogue/catalogue.html} +\CTANfile{chappg}{macros/latex/contrib/misc/chappg.sty} +\CTANfile{chngcntr}{macros/latex/contrib/misc/chngcntr.sty} +\CTANfile{chngpage}{macros/latex/contrib/misc/chngpage.sty} +\CTANfile{clsguide}{macros/latex/doc/clsguide.pdf} +%\CTANfile{compan-ctan}{info/companion.ctan} +\CTANfile{context-tmf}{macros/context/current/cont-tmf.zip} +\CTANfile{dblfloatfix}{macros/latex/contrib/misc/dblfloatfix.sty} +\CTANfile{dvitype}{systems/knuth/texware/dvitype.web} +\CTANfile{edmetrics}{systems/mac/textures/utilities/EdMetrics.sea.hqx} +\CTANfile{epsf}{macros/plain/contrib/epsf.tex} +\CTANfile{epslatex}{info/epslatex.pdf} +\CTANfile{epslatex_ps}{info/epslatex.ps} +\CTANfile{eucal}{fonts/amsfonts/latex/eucal.sty} +\CTANfile{excel2latex}{support/excel2latex/xl2latex.zip} +\CTANfile{excludeonly}{macros/latex/contrib/misc/excludeonly.sty} +\CTANfile{figsinlatex}{info/figsinltx.ps} +\CTANfile{finplain}{biblio/bibtex/contrib/finplain.bst} +\CTANfile{fncylab}{macros/latex/contrib/misc/fncylab.sty} +\CTANfile{fntguide.pdf}{macros/latex/doc/fntguide.pdf} +\CTANfile{fontdef}{macros/latex/base/fontdef.dtx} +\CTANfile{fontmath}{macros/latex/unpacked/fontmath.ltx} +\CTANfile{framed}{macros/latex/contrib/misc/framed.sty} +\CTANfile{gentle}{info/gentle/gentle.pdf} +\CTANfile{gkpmac}{systems/knuth/local/lib/gkpmac.tex} +\CTANfile{hypernat}{macros/latex/contrib/misc/hypernat.sty} +\CTANfile{ifmtarg}{macros/latex/contrib/misc/ifmtarg.sty} +\CTANfile{import}{macros/latex/contrib/misc/import.sty} +\CTANfile{ispell}{support/ispell/ispell-3.2.06.tar.gz} +\CTANfile{l2tabuen}{info/l2tabu/english/l2tabuen.pdf} +\CTANfile{l2tabuen.src}{info/l2tabu/english/l2tabuen.tex} +\CTANfile{latex209-base}{obsolete/macros/latex209/distribs/latex209.tar.gz} +\CTANfile{latex-classes}{macros/latex/base/classes.dtx} +\CTANfile{latex-source}{macros/latex/base/source2e.tex} +\CTANfile{latexcount}{support/latexcount/latexcount.pl} +\CTANfile{letterspacing}{macros/generic/letterspacing.tex} +\CTANfile{lshort}{info/lshort/english/lshort.pdf} +\CTANfile{ltablex}{macros/latex/contrib/ltablex/ltablex.sty} +\CTANfile{ltxguide}{macros/latex/base/ltxguide.cls} +\CTANfile{ltxtable}{macros/latex/contrib/carlisle/ltxtable.tex} +\CTANfile{lw35nfss-zip}{macros/latex/required/psnfss/lw35nfss.zip} +\CTANfile{macmakeindex}{systems/mac/macmakeindex2.12.sea.hqx} +\CTANfile{mathdots}{macros/generic/mathdots.sty} +\CTANfile{mathscript}{info/symbols/math/scriptfonts.pdf} +\CTANfile{metafp-pdf}{info/metafp.pdf} +\CTANfile{metafp-ps}{info/metafp.ps} +\CTANfile{mf-beginners}{info/metafont-for-beginners.tex} +\CTANfile{mf-list}{info/metafont-list} +\CTANfile{miktex-install}{systems/win32/miktex/setup/install.html} +\CTANfile{miktex-setup}{systems/win32/miktex/setup/setup.exe} +\CTANfile{mil}{info/mil/mil.pdf} +\CTANfile{modes-file}{fonts/modes/modes.mf} +\CTANfile{morefloats}{macros/latex/contrib/misc/morefloats.sty} +\CTANfile{mpsproof}{graphics/metapost/contrib/misc/mpsproof.tex} +\CTANfile{mtw}{info/makingtexwork/mtw-1.0.1-html.tar.gz} +\CTANfile{multind}{macros/latex209/contrib/misc/multind.sty} +\CTANfile{musixtex-type1}{fonts/musixtex/ps-type1/musixps-unix.tar.gz} +\CTANfile{needspace}{macros/latex/contrib/misc/needspace.sty} +\CTANfile{nextpage}{macros/latex/contrib/misc/nextpage.sty} +\CTANfile{notoccite}{macros/latex/contrib/misc/notoccite.sty} +\CTANfile{noTeX}{biblio/bibtex/utils/noTeX.bst} +\CTANfile{nopageno}{macros/latex/contrib/carlisle/nopageno.sty} +\CTANfile{numline}{macros/latex/contrib/numline/numline.sty} +\CTANfile{optional}{macros/latex/contrib/misc/optional.sty} +\CTANfile{parskip}{macros/latex/contrib/misc/parskip.sty} +\CTANfile{patch}{macros/generic/patch.doc} +\CTANfile{path}{macros/latex/contrib/misc/path.sty} +\CTANfile{pdftex}{systems/pdftex/pdftex.zip} +\CTANfile{pdftex-oztex}{nonfree/systems/mac/pdftex/pdftex_for_oztex.sit.bin} +\CTANfile{perpage}{macros/latex/contrib/misc/perpage.sty} +\CTANfile{picins}{systems/msdos/picins/picins.zip} +\CTANfile{picins-summary}{macros/latex209/contrib/picins/picins.txt} +\CTANfile{pk300}{fonts/cm/pk/pk300.zip} +\CTANfile{pk300w}{fonts/cm/pk/pk300w.zip} +\CTANfile{protext}{systems/texlive/Images/protext.exe} +\CTANfile{removefr}{macros/latex/contrib/fragments/removefr.tex} +\CTANfile{resume}{obsolete/macros/latex209/contrib/resume/resume.sty} +\CTANfile{savesym}{macros/latex/contrib/savesym/savesym.sty} +\CTANfile{screensty}{macros/latex209/contrib/misc/screen.sty} +\CTANfile{selectp}{macros/latex/contrib/misc/selectp.sty} +\CTANfile{setspace}{macros/latex/contrib/setspace/setspace.sty} +\CTANfile{shade}{macros/generic/shade.sty} +\CTANfile{simpl-latex}{info/simplified-latex/simplified-intro.ps} +\CTANfile{sober}{macros/latex209/contrib/misc/sober.sty} +\CTANfile{tabls}{macros/latex/contrib/misc/tabls.sty} +\CTANfile{tex2bib}{biblio/bibtex/contrib/tex2bib/tex2bib} +\CTANfile{tex2bib-doc}{biblio/bibtex/contrib/tex2bib/tex2bib.readme} +\CTANfile{tex4ht}{support/TeX4ht/tex4ht-all.zip} +\CTANfile{texnames}{info/biblio/texnames.sty} +\CTANfile{texsis-index}{macros/texsis/index/index.tex} +\CTANfile{threeparttable}{macros/latex/contrib/misc/threeparttable.sty} +\CTANfile{titleref}{macros/latex/contrib/misc/titleref.sty} +\CTANfile{topcapt}{macros/latex/contrib/misc/topcapt.sty} +\CTANfile{tracking}{macros/latex/contrib/tracking/tracking.sty} +\CTANfile{tth}{nonfree/support/tth/dist/tth_C.tgz} +\CTANfile{type1ec}{fonts/ps-type1/cm-super/type1ec.sty} +\CTANfile{ukhyph}{language/hyphenation/ukhyphen.tex} +\CTANfile{upquote}{macros/latex/contrib/upquote/upquote.sty} +\CTANfile{faq-a4}{help/uk-tex-faq/newfaq.pdf} +\CTANfile{faq-letter}{help/uk-tex-faq/letterfaq.pdf} +\CTANfile{ulem}{macros/latex/contrib/misc/ulem.sty} +\CTANfile{url}{macros/latex/contrib/misc/url.sty} +\CTANfile{underscore}{macros/latex/contrib/misc/underscore.sty} +\CTANfile{unixtexftp}{systems/unix/unixtex.ftp} +\CTANfile{varwidth}{macros/latex/contrib/misc/varwidth.sty} +\CTANfile{verbdef}{macros/latex/contrib/misc/verbdef.sty} +\CTANfile{version}{macros/latex/contrib/misc/version.sty} +\CTANfile{versions}{macros/latex/contrib/versions/versions.sty} +\CTANfile{vertbars}{macros/latex/contrib/misc/vertbars.sty} +\CTANfile{vf-howto}{info/virtualfontshowto/virtualfontshowto.txt} +\CTANfile{vf-knuth}{info/virtual-fonts.knuth} +\CTANfile{voss-mathmode}{info/math/voss/Voss-Mathmode.pdf} +\CTANfile{vruler}{macros/latex/contrib/misc/vruler.sty} +\CTANfile{winedt}{systems/win32/winedt/winedt32.exe} +\CTANfile{wujastyk-txh}{digests/texhax/txh/wujastyk.txh} +\CTANfile{xtexcad}{nonfree/graphics/xtexcad/xtexcad-2.4.1.tar.gz} +\CTANfile{ziffer}{macros/latex/contrib/misc/ziffer.sty} diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-2colfloat.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-2colfloat.html new file mode 100644 index 00000000000..240e4e3baba --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-2colfloat.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label 2colfloat</title> +</head><body> +<h3>Placing two-column floats at bottom of page</h3> +<p>You specified placement '<code>[htbp]</code>' for your full-width figure or +table, but they always get placed at the top of the page... Well, +it <em>is</em> what the documentation says: LaTeX, unadorned, only +allows full-width floats at the top of a page, or occupying (part of) a +float page. +<p>The <i>stfloats</i> package ameliorates the situation somewhat, and +makes LaTeX honour '[b]' placement as well; the +<i>dblfloatfix</i> package combines a tidied version of the changes +made in <i>stfloats</i> with the + + <a href="FAQ-2colfltorder.html">float ordering corrections</a> defined in + <i>fixltx2e</i>. +<p>A particular problem with <i>stfloats</i> and <i>dblfloatfix</i> +is that the float will appear, at its earliest, on the page after it +is specified. This has two undesirable side-effects: first, there may +be no bottom float on the first page of a document, and second, float +numbers may become "entangled" (particularly if you're using +<i>dblfloatfix</i> that ensures that the early-specified bottom +float is set <em>before</em> any single column floats). +<p>(The FAQ team doesn't know of any package that will make +LaTeX honour '[h]' placement of double-column floats, but the +<i>midfloat</i> package can be pressed into service to provide +something approximating the effect it would have.) +<dl> +<dt><tt><i>dblfloatfix.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/dblfloatfix.sty">macros/latex/contrib/misc/dblfloatfix.sty</a> +<dt><tt><i>stfloats.sty, midfloat.sty</i></tt><dd>Distributed as part of + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sttools.zip">macros/latex/contrib/sttools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sttools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/sttools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfloat</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-2colfltorder.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-2colfltorder.html new file mode 100644 index 00000000000..ba9850857b0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-2colfltorder.html @@ -0,0 +1,32 @@ +<head> +<title>UK TeX FAQ -- question label 2colfltorder</title> +</head><body> +<h3>Two-column float numbers out of order</h3> +<p>When LaTeX can't place a float immediately, it places it on one of +several "defer" lists. If another float of the same type comes +along, and the "defer" list for that type still has something in it, +the later float has to wait for everything earlier in the list. +<p>Now, standard LaTeX has different lists for single-column floats, +and double-column floats; this means that single-column figures can +overtake double-column figures (or vice-versa), and you observe later +figures appear in the document before early ones. The same is true, +of course, for tables, or for any user-defined float. +<p>The LaTeX team recognise the problem, and provides a package +(<i>fixltx2e</i>) to deal with it. <i>Fixltx2e</i> amalgamates +the two defer lists, so that floats don't get out of order. +<p>For those who are still running an older LaTeX distribution, the +package <i>fix2col</i> should serve. This package (also by a +member of the LaTeX team) was the basis of the relevant part of +<i>fixltx2e</i>. The functionality has also been included in +<i>dblfloatfix</i>, which also has code to place full-width floats +at <a href="FAQ-2colfloat.html"><code>[b]</code> placement</a>. +<p>Once you have loaded the package, no more remains to be done: the +whole requirement is to patch the output routine; no extra commands +are needed. +<dl> +<dt><tt><i>dblfloatfix.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/dblfloatfix.sty">macros/latex/contrib/misc/dblfloatfix.sty</a> +<dt><tt><i>fix2col.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.zip">macros/latex/contrib/carlisle</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/carlisle/">browse</a>) +<dt><tt><i>fixltx2e.sty</i></tt><dd>Part of the LaTeX distribution. +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfltorder">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2colfltorder</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-2letterfontcmd.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-2letterfontcmd.html new file mode 100644 index 00000000000..0d5de9e2c18 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-2letterfontcmd.html @@ -0,0 +1,126 @@ +<head> +<title>UK TeX FAQ -- question label 2letterfontcmd</title> +</head><body> +<h3>What's wrong with <code>\</code><code>bf</code>, <code>\</code><code>it</code>, etc.?</h3> +<p>The font-selection commands of LaTeX 2.09 were <code>\</code><code>rm</code>, <code>\</code><code>sf</code>, +<code>\</code><code>tt</code>, <code>\</code><code>it</code>, <code>\</code><code>sl</code>, <code>\</code><code>em</code> and <code>\</code><code>bf</code>; they were modal +commands, so you used them as: +<blockquote> +<pre> +{\bf Fred} was {\it here\/}. +</pre> +</blockquote> +with the font change enclosed in a group, so as to limit its effect; +note the italic correction command <code>\</code><code>/</code> that was necessary at the +end of a section in italics. +<p>At the release of LaTeX2e in summer 1994, these simple commands were +deprecated, but recognising that their use is deeply embedded in the +brains of LaTeX users, the commands themselves remain in LaTeX, +<em>with their LaTeX 2.09 semantics</em>. Those semantics were part of +the reason they were deprecated: each <code>\</code><em><code>xx</em></code> overrides +any other font settings, keeping only the size. So, for example, +<blockquote> +<pre> +{\bf\it Here we are again\/} +</pre> +</blockquote> +ignores <code>\</code><code>bf</code> and produces text in italic, medium weight (and the +italic correction has a real effect), whereas +<blockquote> +<pre> +{\it\bf happy as can be\/} +</pre> +</blockquote> +ignore <code>\</code><code>it</code> and produces upright text at bold weight (and the +italic correction has nothing to do). The same holds if you mix +LaTeX2e font selections with the old style commands: +<blockquote> +<pre> +\textbf{\tt all good friends} +</pre> +</blockquote> +ignores the <code>\</code><code>textbf</code> that encloses the text, and produces +typewriter text at medium weight. +<p>So why are these commands deprecated? - it is because of confusions +such as that in the last example. The alternative (LaTeX2e) +commands are discussed in the rest of this answer. +<p>LaTeX2e's font commands come in two forms: modal commands and +text-block commands. The default set of modal commands offers weights +<code>\</code><code>mdseries</code> and <code>\</code><code>bfseries</code>, shapes <code>\</code><code>upshape</code>, +<code>\</code><code>itshape</code>, <code>\</code><code>scshape</code> and <code>\</code><code>slshape</code>, and families +<code>\</code><code>rmfamily</code>, <code>\</code><code>sffamily</code> and <code>\</code><code>ttfamily</code>. A font selection +requires a family, a shape and a series (as well as a size, of +course). A few examples +<blockquote> + +<pre> +{\bfseries\ttfamily and jolly good company!} +</pre> +</blockquote> +produces bold typewriter text (but note the lack of a + + <a href="FAQ-bold-extras.html">bold typewriter font</a> +in the default Computer Modern fonts), or +<blockquote> + +<pre> +{\slshape\sffamily Never mind the weather\/} +</pre> +</blockquote> +(note the italic correction needed on slanted fonts, too). +<p>LaTeX2e's text block commands take the first two letters of the +modal commands, and form a <code>\</code><code>text</code><em><code>xx</em></code> command from +them. Thus <code>\</code><code>bfseries</code> becomes <code>\</code><code>textbf{</code><em>text</em><code>}</code>, +<code>\</code><code>itshape</code> becomes <code>\</code><code>textit{</code><em>text</em><code>}</code>, and <code>\</code><code>ttfamily</code> +becomes <code>\</code><code>texttt{</code><em>text</em><code>}</code>. Block commands may be nested, as: +<blockquote> +<pre> +\textit{\textbf{Never mind the rain}} +</pre> +</blockquote> +to produce bold italic text (note that the block commands supply +italic corrections where necessary), and they be nested with the +LaTeX2e modal commands, too: +<blockquote> + +<pre> +\texttt{\bfseries So long as we're together} +</pre> +</blockquote> +for bold typewriter, or +<blockquote> + +<pre> +{\slshape \textbf{Whoops! she goes again}\/} +</pre> +</blockquote> +for a bold slanted instance of the current family (note the italic +correction applied at the end of the modal command group, again). +<p>The new commands (as noted above) override commands of the same type. +In almost all cases, this merely excludes ludicrous ideas such as +"upright slanted" fonts, or "teletype roman" fonts. There are a +couple of immediate oddities, though. The first is the conflict +between <code>\</code><code>itshape</code> (or <code>\</code><code>slshape</code>) and <code>\</code><code>scshape</code>: while many +claim that an italic small-caps font is typographically unsound, such +fonts do exist. Daniel Taupin's <i>smallcap</i> package enables +use of the instances in the <a href="FAQ-ECfonts.html">EC fonts</a>, and +similar techniques could be brought to bear on many other font sets. +The second is the conflict between <code>\</code><code>upshape</code> and <code>\</code><code>itshape</code>: +Knuth actually offers an upright-italic font which LaTeX uses for +the "£" symbol in the default font set. The combination is +sufficiently weird that, while there's a defined font shape, no +default LaTeX commands exist; to use the shape, the (eccentric) user +needs LaTeX's simplest font selection commands: +<blockquote> + +<pre> +{\fontshape{ui}\selectfont Tra la la, di dee} +</pre> +</blockquote> +<dl> +<dt><tt><i>smallcap.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/smallcap.zip">macros/latex/contrib/smallcap</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/smallcap.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/smallcap/">browse</a>) +</dl> +<p> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2letterfontcmd">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=2letterfontcmd</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-8000.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-8000.html new file mode 100644 index 00000000000..dbcc7105ae9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-8000.html @@ -0,0 +1,24 @@ +<head> +<title>UK TeX FAQ -- question label 8000</title> +</head><body> +<h3>Mismatched mode ljfour and resolution 8000</h3> +<p>You're running <i>dvips</i>, and you encounter a stream of error +messages, starting with "<code>Mismatched mode</code>". The mode is the +default used in your installation - it's set in the <i>dvips</i> +configuration file, and <code>ljfour</code> is commonest (since it's the +default in most distributions), but not invariable. +<p>The problem is that <i>dvips</i> has encountered a font for which +it must generate a bitmap (since it can't find it in Type 1 format), +and there is no proforma available to provide instructions to give to +Metafont. +<p>So what to do? The number 8000 comes from the '<code>-Ppdf</code>' option +to <i>dvips</i>, which you might have found from the answer + +<a href="FAQ-fuzzy-type3.html">"wrong type of fonts"</a>. The obvious +solution is to switch to the trivial substitute '<code>-Pwww</code>', +which selects the necessary type 1 fonts for PDF generation, +but nothing else: however, this will leave you with undesirable bitmap +fonts in your PDF file. The "proper" solution is to find a +way of expressing what you want to do, using type 1 fonts. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=8000">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=8000</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-AMSpkg.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-AMSpkg.html new file mode 100644 index 00000000000..43fe34acdee --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-AMSpkg.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label AMSpkg</title> +</head><body> +<h3>What are the AMS packages (AMSTeX, <em>etc</em>.)?</h3> + +<p>AMSTeX is a TeX macro package, originally written by Michael Spivak for +the American Mathematical Society (AMS) during 1983-1985 and +is described in the book +"<a href="FAQ-books.html">The Joy of TeX</a>". +It is based on Plain TeX, and provides many +features for producing more professional-looking maths formulas with +less burden on authors. It pays attention to the finer details of +sizing and positioning that mathematical publishers care about. The +aspects covered include multi-line displayed equations, equation +numbering, ellipsis dots, matrices, double accents, multi-line +subscripts, syntax checking (faster processing on initial +error-checking TeX runs), and other things. +<p>As LaTeX increased in popularity, authors asked to submit papers to +the AMS in LaTeX, and so the AMS developed +AMSLaTeX, which is a +collection of LaTeX packages and classes that offer authors most of +the functionality of AMSTeX. +The AMS no longer recommends the use of AMSTeX, and urges +its users to use AMSLaTeX instead. + +<dl> +<dt><tt><i>AMSTeX distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/amstex.zip">macros/amstex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/amstex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/amstex/">browse</a>) +<dt><tt><i>AMSLaTeX distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=AMSpkg">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=AMSpkg</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-BibTeXing.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-BibTeXing.html new file mode 100644 index 00000000000..400b65a0aa7 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-BibTeXing.html @@ -0,0 +1,26 @@ +<head> +<title>UK TeX FAQ -- question label BibTeXing</title> +</head><body> +<h3>BibTeX Documentation</h3> +<p>BibTeX, a program originally designed to produce bibliographies in +conjunction with LaTeX, is explained in Section 4.3 and Appendix B +of Leslie Lamport's LaTeX manual +(see <a href="FAQ-books.html">TeX-related books</a>). +The document "BibTeXing", contained in the file <i>btxdoc.tex</i>, +expands on the chapter in Lamport's book. <em>The LaTeX Companion</em> +(see <a href="FAQ-books.html">TeX-related books</a>) also +has information on BibTeX and writing BibTeX style files. +<p>The document "Designing BibTeX Styles", contained in the file +<code>btxhak.tex</code>, explains the postfix stack-based language used to write +BibTeX styles (<code>.bst</code> files). The file <code>btxbst.doc</code> is the template +for the four standard styles (<code>plain</code>, <code>abbrv</code>, <code>alpha</code>, <code>unsrt</code>). It +also contains their documentation. +The complete BibTeX documentation set (including the files above) +is available on CTAN. +<dl> +<dt><tt><i>BibTeX documentation</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/distribs/doc.zip">biblio/bibtex/distribs/doc</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/distribs/doc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/distribs/doc/">browse</a>) +<dt><tt><i>BibTeX documentation, in PDF</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/doc.zip">biblio/bibtex/contrib/doc</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/doc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/doc/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=BibTeXing">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=BibTeXing</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-CD.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-CD.html new file mode 100644 index 00000000000..0653ab0be3c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-CD.html @@ -0,0 +1,25 @@ +<head> +<title>UK TeX FAQ -- question label CD</title> +</head><body> +<h3>The TeX Live distribution</h3> +<p>If you don't have access to the Internet, there are obvious +attractions to TeX collections on a disc. Even those with net +access will find large quantities of TeX-related files to hand a +great convenience. +<p>The TeX Live distribution provides this, together with +a ready-to-run TeX system. The TeX Live installation disc offers +teTeX for use on Unix-like systems, and fpTeX for use on Windows +systems. There is also a 'demonstration' disc and an archive snapshot +(all on CD- or DVD-ROMs). TeX-Live +was originally developed under the auspices of a consortium of User +Groups (notably TUG, UK TUG and +GUTenberg). All members of several User Groups receive copies +free of charge. Some user groups will also sell additional copies: +contact your local user group or <a href="FAQ-TUGstar.html">TUG</a>. +<p>Details of TeX Live are available from its own + <a href="http://www.tug.org/texlive.html">web page</a> + on the TUG site. + +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=CD">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=CD</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ECfonts.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ECfonts.html new file mode 100644 index 00000000000..b96ea44a6cc --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ECfonts.html @@ -0,0 +1,66 @@ +<head> +<title>UK TeX FAQ -- question label ECfonts</title> +</head><body> +<h3>What are the EC fonts?</h3> +<p>A font consists of a number of <em>glyphs</em>. In order that the +glyphs may be printed, they are +<a href="FAQ-whatenc.html"><em>encoded</em></a>, and the +encoding is used as an index into tables within the font. For +various reasons, Knuth chose deeply eccentric encodings for his +Computer Modern family of fonts; in +particular, he chose different encodings for different fonts, so that +the application using the fonts has to remember which font of the +family it's using before selecting a particular glyph. +<p>When TeX version 3 arrived, most of the excuses for the +eccentricity of Knuth's encodings went away, and at TUG's Cork +meeting, an encoding for a set of 256 glyphs, for use in TeX text, +was defined. The intention was that these glyphs should cover 'most' +European languages that use Latin alphabets, in the sense of including +all accented letters needed. (Knuth's CMR fonts missed things +necessary for Icelandic and Polish, for example, but the Cork +fonts have them. Even Cork's coverage isn't complete: it misses +letters from Romanian, Eastern and Northern Sami, and Welsh, at +least. The Cork encoding does contain "NG" glyphs that +allows it to support Southern Sami.) LaTeX refers to the +Cork encoding as T1, and +provides the means to use fonts thus encoded to avoid problems with +the interaction of accents and hyphenation + +(see <a href="FAQ-hyphenaccents.html">hyphenation of accented words</a>). + +<p>The only Metafont-fonts that conform to the Cork encoding are the +EC fonts. They look CM-like, though their metrics +differ from CM-font metrics in several areas. The fonts are +now regarded as 'stable' (in the same sense that the CM fonts +are stable: their metrics are unlikely ever to change). Their serious +disadvantages for the casual user are their size (each EC font +is roughly twice the size of the corresponding CM font), and +there are far more of them than there are CM fonts. The simple +number of fonts has acted as a disincentive to the production of Adobe +Type 1 versions of the fonts,, but several commercial suppliers offer +EC or +EC-equivalent fonts in type 1 or TrueType form - see + +<a href="FAQ-commercial.html">commercial suppliers</a>, and free +<a href="FAQ-textrace.html">auto-traced versions</a> are +available. +What's more, until corresponding fonts for mathematics are produced, +the CM fonts must be retained because some mathematical symbols +are drawn from text fonts in the CM encodings. +<p>The EC fonts are distributed with a +set of 'Text Companion' (TC) fonts that provide glyphs for +symbols commonly used in text. The TC fonts are encoded +according to the LaTeX TS1 encoding, and are not viewed as +'stable' in the same way as are the EC fonts are. +<p>The Cork encoding is also implemented by virtual fonts provided in the + + <a href="FAQ-usepsfont.html">PSNFSS system</a>, +for PostScript fonts, and also by the <i>txfonts</i> and +<i>pxfonts</i> font packages + +(see <a href="FAQ-psfchoice.html">"choice of scalable fonts"</a>). +<dl> +<dt><tt><i>EC and TC fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/ec.zip">fonts/ec</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/ec.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/ec/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ECfonts">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ECfonts</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-HPdrivers.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-HPdrivers.html new file mode 100644 index 00000000000..fce6aed9f3e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-HPdrivers.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label HPdrivers</title> +</head><body> +<h3>DVI drivers for HP LaserJet</h3> +<p>The emTeX distribution (see <a href="FAQ-TeXsystems.html">TeX systems</a>) +contains a driver for the LaserJet, <i>dvihplj</i>. +<p>Version 2.10 of the Beebe drivers supports the LaserJet. These drivers +will compile under Unix, VMS, and on the Atari ST and +DEC-20s. +<p>For Unix systems, Karl Berry's <i>dviljk</i> uses the same +path-searching library as <i>web2c</i>. <i>dviljk</i> is no +longer distributed as a separate source, but the teTeX distribution +holds a copy under the name <i>dvilj</i>. +<dl> +<dt><tt><i>Beebe drivers</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/beebe.zip">dviware/beebe</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/beebe.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/beebe/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=HPdrivers">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=HPdrivers</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeX2HTML.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeX2HTML.html new file mode 100644 index 00000000000..75b78d95868 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeX2HTML.html @@ -0,0 +1,80 @@ +<head> +<title>UK TeX FAQ -- question label LaTeX2HTML</title> +</head><body> +<h3>Conversion from (La)TeX to HTML</h3> +<p>TeX and LaTeX are well suited to producing electronically publishable +documents. However, it is important to realize the difference +between page layout and functional markup. TeX is capable of +extremely detailed page layout; HTML is not, because HTML is a +functional markup language not a page layout language. HTML's exact +rendering is not specified by the document that is published but is, to +some degree, left to the discretion of the browser. If you require your +readers to see an exact replication of what your document looks like +to you, then you cannot use HTML and you must use some other +publishing format such as PDF. That is true for any HTML +authoring tool. +<p>TeX's excellent mathematical capabilities remain a challenge in the +business of conversion to HTML. There are only two generally +reliable techniques for generating mathematics on the web: creating +bitmaps of bits of typesetting that can't be translated, and using +symbols and table constructs. Neither technique is entirely +satisfactory. Bitmaps lead to a profusion of tiny files, are slow to +load, and are inaccessible to those with visual disabilities. The +symbol fonts offer poor coverage of mathematics, and their use +requires configuration of the browser. The future of mathematical +browsing may be brighter - see + +<a href="FAQ-mathml.html">future Web technologies</a>. +<p>For today, possible packages are: +<dl> +<dt><i>LaTeX2HTML</i><dd>a <i>Perl</i> script package that + supports LaTeX only, and generates mathematics (and other + "difficult" things) using bitmaps. The original version was + written by Nikos Drakos for Unix systems, but the package now sports + an illustrious list of co-authors and is also available for Windows + systems. Michel Goossens and Janne Saarela published a detailed + discussion of <i>LaTeX2HTML</i>, and how to tailor it, in + <i>TUGboat</i> 16(2). +<p> A mailing list for users may be found via + <a href="http://tug.org/mailman/listinfo/latex2html">http://tug.org/mailman/listinfo/latex2html</a> +<dt><i>TtH</i><dd>a compiled program that supports either LaTeX + or plain TeX, and uses the font/table technique for representing + mathematics. It is written by Ian Hutchinson, using + <i>flex</i>. The distribution consists of a single C + source (or a compiled executable), which is easy to install and very + fast-running. +<dt><i>Tex4ht</i><dd>a compiled program that supports either + LaTeX or plain TeX, by processing a DVI file; it uses + bitmaps for mathematics, but can also use other technologies where + appropriate. Written by Eitan Gurari, it parses the DVI + file generated when you run (La)TeX over your file with + <i>tex4ht</i>'s macros included. As a result, it's pretty + robust against the macros you include in your document, and it's + also pretty fast. +<dt><i>TeXpider</i><dd> a commercial program from + + + <a href="FAQ-commercial.html">Micropress</a>, which is + described on <a href="http://www.micropress-inc.com/webb/wbstart.htm">http://www.micropress-inc.com/webb/wbstart.htm</a>; + it uses bitmaps for equations. +<dt><i>Hevea</i><dd> a compiled program that supports LaTeX + only, and uses the font/table technique for equations (indeed its + entire approach is very similar to <i>TtH</i>). It is written + in Objective CAML by Luc Maranget. <i>Hevea</i> isn't + archived on CTAN; details (including download points) are + available via <a href="http://pauillac.inria.fr/~maranget/hevea/">http://pauillac.inria.fr/~maranget/hevea/</a> +</dl> +An interesting set of samples, including conversion of the same text +by the four free programs listed above, is available at +<a href="http://www.mayer.dial.pipex.com/samples/example.htm">http://www.mayer.dial.pipex.com/samples/example.htm</a>; a linked +page gives lists of pros and cons, by way of comparison. +<p>The World Wide Web Consortium maintains a list of "filters" to +HTML, with sections on (La)TeX and BibTeX - see +<a href="http://www.w3.org/Tools/Word_proc_filters.html">http://www.w3.org/Tools/Word_proc_filters.html</a> +<dl> +<dt><tt><i>latex2html</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/support/latex2html/">support/latex2html/</a> +<dt><tt><i>tex4ht</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/TeX4ht/tex4ht-all.zip">support/TeX4ht/tex4ht-all.zip</a> +<dt><tt><i>tth</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/support/tth/dist/tth_C.tgz">nonfree/support/tth/dist/tth_C.tgz</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=LaTeX2HTML">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=LaTeX2HTML</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeX3.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeX3.html new file mode 100644 index 00000000000..f01ec0197a5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeX3.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label LaTeX3</title> +</head><body> +<h3>The LaTeX3 project</h3> +<p>The LaTeX3 project team (see <a href="http://www.latex-project.org/latex3.html">http://www.latex-project.org/latex3.html</a>) +is a small group of volunteers whose aim is +to produce a major new document processing system based on the +principles pioneered by Leslie Lamport in the current LaTeX. It +will remain freely available and it will be fully documented at +all levels. +<p>The LaTeX3 team's first product (LaTeX2e) was delivered in 1994 +(it's now properly called "LaTeX", since no other version is current). +<p>LaTeX2e was intended as a consolidation exercise, unifying several +sub-variants of LaTeX while changing nothing whose change wasn't +absolutely necessary. This has permitted the team to support a single +version of LaTeX, in parallel with development of LaTeX3. +<p>Some of the older discussion papers about directions for LaTeX3 are +to be found on CTAN; other (published) articles are to be +found on the project web site (see +<a href="http://www.latex-project.org/articles.html">http://www.latex-project.org/articles.html</a>), as is some of the +project's experimental code +(<a href="http://www.latex-project.org/experimental">http://www.latex-project.org/experimental</a>). You can +participate in discussions of the future of LaTeX through the +mailing list <code>latex-l</code>. Subscribe to the list by sending a +message '<code>subscribe latex-l <<em>your name</em>></code>' to +<a href="mailto:listserv@urz.Uni-Heidelberg.de"><i>listserv@urz.Uni-Heidelberg.de</i></a> +<dl> +<dt><tt><i>LaTeX project publications</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/ltx3pub.zip">info/ltx3pub</a> (<a href="ftp://cam.ctan.org/tex-archive/info/ltx3pub.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/ltx3pub/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=LaTeX3">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=LaTeX3</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeXandPlain.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeXandPlain.html new file mode 100644 index 00000000000..7b376a47aeb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeXandPlain.html @@ -0,0 +1,23 @@ +<head> +<title>UK TeX FAQ -- question label LaTeXandPlain</title> +</head><body> +<h3>How does LaTeX relate to Plain TeX?</h3> +<p>LaTeX is a program written in the programming language TeX. (In +the same sense, any LaTeX document is also a program, which is +designed to run 'alongside', or 'inside' LaTeX, whichever metaphor +you prefer.) +<p>Plain TeX is also a program written in the programming language +TeX. +<p>Both exist because writing your documents in 'raw' TeX would +involve much reinventing of wheels for every document. They both +serve as convenient aids to make document writing more pleasant: +LaTeX is a far more extensive aid. +<p>LaTeX is close to being a superset of Plain TeX. Many documents +designed for Plain TeX will work with LaTeX with no more than +minor modifications (though some will require substantial work). +<p>Interpretation of any (La)TeX program involves some data-driven +elements, and LaTeX has a wider range of such elements than does +Plain TeX. As a result, the mapping from LaTeX to Plain TeX +is far less clear than that in the other direction. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=LaTeXandPlain">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=LaTeXandPlain</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeXtoPlain.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeXtoPlain.html new file mode 100644 index 00000000000..3451357ed15 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-LaTeXtoPlain.html @@ -0,0 +1,17 @@ +<head> +<title>UK TeX FAQ -- question label LaTeXtoPlain</title> +</head><body> +<h3>Translating LaTeX to Plain TeX</h3> +<p>Unfortunately, no "general", simple, automatic process is likely to +succeed at this task. See + + +"<a href="FAQ-LaTeXandPlain.html">How does LaTeX relate to Plain TeX</a>" +for further details. +<p>Translating a document designed to work with LaTeX into one +designed to work with Plain TeX is likely to amount to carefully +including (or otherwise re-implementing) all those parts of LaTeX, +beyond the provisions of Plain TeX, which the document uses. +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=LaTeXtoPlain">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=LaTeXtoPlain</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-MF.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-MF.html new file mode 100644 index 00000000000..54042becd41 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-MF.html @@ -0,0 +1,23 @@ +<head> +<title>UK TeX FAQ -- question label MF</title> +</head><body> +<h3>What is Metafont?</h3> +<p>Metafont was written by Knuth as a companion to TeX; whereas TeX +defines the layout of glyphs on a page, Metafont defines the shapes of +the glyphs and the relations between them. Metafont details the sizes of +glyphs, for TeX's benefit, and details the rasters used to +represent the glyphs, for the benefit of programs that will produce +printed output as post processes after a run of TeX. +<p>Metafont's language for defining fonts permits the expression of several +classes of things: first (of course), the simple geometry of the +glyphs; second, the properties of the print engine for which the +output is intended; and third, 'meta'-information which can +distinguish different design sizes of the same font, or the difference +between two fonts that belong to the same (or related) families. +<p>Knuth (and others) have designed a fair range of fonts using Metafont, +but font design using Metafont is much more of a minority skill than is +TeX macro-writing. The complete TeX-user nevertheless needs to +be aware of Metafont, and to be able to run Metafont to generate personal +copies of new fonts. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=MF">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=MF</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-MP.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-MP.html new file mode 100644 index 00000000000..40723a3397a --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-MP.html @@ -0,0 +1,26 @@ +<head> +<title>UK TeX FAQ -- question label MP</title> +</head><body> +<h3>What is MetaPost?</h3> +<p>The MetaPost system (by John Hobby) implements a picture-drawing language +very much like that of Metafont except that it outputs Encapsulated PostScript +files instead of run-length-encoded bitmaps. MetaPost is a powerful +language for producing figures for documents to be printed on PostScript +printers, either directly or embedded in (La)TeX documents. It +includes facilities for directly integrating TeX text and +mathematics with the graphics. (Knuth tells us that he uses nothing +but MetaPost for diagrams in text that he is writing.) +<p>Although PDFLaTeX cannot ordinarily handle PostScript graphics, the +output of MetaPost is sufficiently simple and regular that PDFLaTeX +can handle it direct, using code borrowed from ConTeXt - see +<a href="FAQ-pdftexgraphics.html">graphics in PDFLaTeX</a>. +<p>Much of MetaPost's source code was copied from Metafont's sources, with +Knuth's permission. +<p>A mailing list discussing MetaPost is available; + + subscribe via the + <a href="http://lists.tug.org/metapost">TUG <i>mailman</a> interface</i>. +The TUG website also hosts a +<a href="http://tug.org/metapost.html">MetaPost summary page</a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=MP">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=MP</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-NTS.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-NTS.html new file mode 100644 index 00000000000..3851bb20dc5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-NTS.html @@ -0,0 +1,43 @@ +<head> +<title>UK TeX FAQ -- question label NTS</title> +</head><body> +<h3>The <i>NTS</i> project</h3> + +<p>The <i>NTS</i> project was established in 1992, to produce a typesetting +system that's even better than TeX. The project is not simply +enhancing TeX, for two reasons: first, that TeX itself has been +frozen by Knuth +(see <a href="FAQ-TeXfuture.html">the future of TeX</a>), and second, +even if they <em>were</em> allowed to develop the program, some members +of the <i>NTS</i> team feel that TeX in its present form is simply +unsuited to further development. While all those involved in the +project are committed to TeX, they recognise +that the end product may very well have little in common with TeX +other than its philosophy. +<p>The group's first product was nevertheless a set of +extensions and enhancements to TeX, implemented through the standard +medium of a change-file. The extended system is known e-TeX, and is +100% compatible with TeX; furthermore, e-TeX can +construct a format +that <em>is</em> "TeX", with no extensions or enhancements present. +<p>The most recent base source of e-TeX (i.e., the Web change file) is +available on CTAN. Following a suggestion from the +<a href="FAQ-LaTeX3.html">LaTeX project</a>, most (La)TeX distributions now +make <em>all</em> their LaTeX executables with the +e-TeX extensions (that is, <i>latex</i> is really e-LaTeX, +<i>pdflatex</i> is really PDFe-LaTeX, and so on). In +this context, some of the newer LaTeX packages are designed to +require the e-TeX extensions. +<p>The project has now produced a beta-version of +TeX written (from scratch) in Java. Since it <em>isn't</em> TeX +(it remains slightly incompatible in microscopic ways), it's known as +<i>NTS</i>. As might be expected, this first re-implementation runs +rather slowly, but its operation <em>has</em> been demonstrated in +public, and the beta-release is available on +CTAN. +<dl> +<dt><tt><i>e-TeX</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/systems/e-tex/">systems/e-tex/</a> +<dt><tt><i>NTS</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/nts.zip">systems/nts</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/nts.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/nts/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=NTS">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=NTS</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-PSpreview.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-PSpreview.html new file mode 100644 index 00000000000..83df84b454c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-PSpreview.html @@ -0,0 +1,47 @@ +<head> +<title>UK TeX FAQ -- question label PSpreview</title> +</head><body> +<h3>Previewing files using Type 1 fonts</h3> +<p>Until recently, free TeX previewers have only been capable of +displaying bitmap PK fonts, but current versions of +<i>xdvi</i> sport a Type 1 font renderer. + + + + + +<p>Other (free) previewers of the current generation offer automatic +generation of the requisite PK files (using <i>gsftopk</i>, +or similar, behind the scenes). If your previewer isn't capable of +this, you have three options: +<ul> +<li> Convert the DVI file to PostScript and use a + PostScript previewer. Some systems offer this capability as + standard, but most people will need to use a separate previewer such + as <i>ghostscript</i> or <i>ghostscript</i>-based viewers + such as <i>ghostview</i> or shareware offering <i>GSview</i>. +<li> Under Windows on a PC, or on a Macintosh, let Adobe Type Manager + display the fonts (textures, on the Macintosh, works like this). + + + + + (See <a href="FAQ-commercial.html">commercial suppliers</a> for details.) +<li> If you have the PostScript fonts in Type 1 format, + use <i>ps2pk</i> or <i>gsftopk</i> + (designed for use with the <i>ghostscript</i> fonts) to make + PK bitmap fonts which your previewer + will understand. This can produce excellent results, also suitable + for printing with non-PostScript devices. Check the legalities of + this if you have purchased the fonts. +</ul> +<dl> +<dt><tt><i>ghostscript</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/ghostscript/">nonfree/support/ghostscript/</a> +<dt><tt><i>ghostview</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/support/ghostscript/gnu/ghostview/">support/ghostscript/gnu/ghostview/</a> +<dt><tt><i>gsftopk</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/gsftopk.zip">fonts/utilities/gsftopk</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/gsftopk.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/utilities/gsftopk/">browse</a>) +<dt><tt><i>GSview</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/ghostscript/ghostgum/">nonfree/support/ghostscript/ghostgum/</a> +<dt><tt><i>ps2pk</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/ps2pk.zip">fonts/utilities/ps2pk</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/ps2pk.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/utilities/ps2pk/">browse</a>) +<dt><tt><i>xdvi</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/xdvi.zip">dviware/xdvi</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/xdvi.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/xdvi/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=PSpreview">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=PSpreview</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-RCS.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-RCS.html new file mode 100644 index 00000000000..cb445fc0b8c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-RCS.html @@ -0,0 +1,62 @@ +<head> +<title>UK TeX FAQ -- question label RCS</title> +</head><body> +<h3>Version control using RCS, CVS or <i>Subversion</i></h3> +<p>If you use RCS, CVS or <i>Subversion</i> to maintain +your (La)TeX documents under version control, you may need some +mechanism for including the version details in your document, in such +a way that they can be typeset (that is, rather than just hiding them +inside a comment). +<p>The most complete solution for RCS and CVS is to use the +(LaTeX) package <i>rcs</i>, which allows you to parse and +display the contents of RCS keyword fields in an extremely +flexible way. The package <i>rcsinfo</i> is simpler, but does most +of what you want, and some people prefer it; it is explicitly +compatible with <i>LaTeX2HTML</i>. +<p>If, however, you need a solution which works without using external +packages, or which will work in plain TeX, then you can use the +following minimal solution: +<blockquote> +<pre> +\def\RCS$#1: #2 ${\expandafter\def\csname RCS#1\endcsname{#2}} +\RCS$Revision: 1.299 $ % or any RCS keyword +\RCS$Date: 2005/07/07 13:52:16 $ +... +\date{Revision \RCSRevision, \RCSDate} +</pre> + +</blockquote> +<p>If you've entered the brave new world of <i>subversion</i>, the +package <i>svn</i> may be for you. It has explicit cleverness +about dealing with dates: +<blockquote> +<code>\</code><code>documentclass</code><code>{<<i>foo</i>>}</code><br> +<code>...</code><br> +<code>\</code><code>usepackage{svn}</code><br> +<code>\</code><code>SVNdate</code><code> $Date$</code><br> +<code>\</code><code>author{...}</code><br> +<code>\</code><code>title{...}</code><br> +<code>...</code><br> +<code>\</code><code>begin{document}</code><br> +<code>\</code><code>maketitle</code><br> +<code>...</code><br> +<code>\</code><code>end{document}</code> +</blockquote> +will (once <i>subversion</i> has committed a copy of the document) +cause <code>\</code><code>maketitle</code> use the date that has been written into the +<code>$Date$</code> keyword. +<p>The alternative is the <i>svninfo</i> package, which has much the +same mechanisms as does <i>svn</i> but with a rather different +focus. <i>Svninfo</i> does the date trick that <i>svn</i> +performs (controlled by a package option), and can set up page +foot-lines using <a href="FAQ-fancyhdr.html">package <i>fancyhdr</i></a>. +There isn't much to choose between the two packages: you should read +the packages' documentation to see which you find best. +<dl> +<dt><tt><i>rcs.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/rcs.zip">macros/latex/contrib/rcs</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/rcs.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/rcs/">browse</a>) +<dt><tt><i>rcsinfo.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/rcsinfo.zip">macros/latex/contrib/rcsinfo</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/rcsinfo.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/rcsinfo/">browse</a>) +<dt><tt><i>svn.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/svn.zip">macros/latex/contrib/svn</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/svn.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/svn/">browse</a>) +<dt><tt><i>svninfo.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/svninfo.zip">macros/latex/contrib/svninfo</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/svninfo.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/svninfo/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=RCS">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=RCS</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-SGML2TeX.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-SGML2TeX.html new file mode 100644 index 00000000000..b3aa88906b6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-SGML2TeX.html @@ -0,0 +1,68 @@ +<head> +<title>UK TeX FAQ -- question label SGML2TeX</title> +</head><body> +<h3>Conversion from SGML or HTML to TeX</h3> +<p>SGML is a very important system for document storage and interchange, +but it has no formatting features; its companion ISO standard +DSSSL +(see <a href="http://www.jclark.com/dsssl/">http://www.jclark.com/dsssl/</a>) is designed for writing +transformations and formatting, +but this has not yet been widely implemented. Some SGML authoring +systems (e.g., SoftQuad <i>Author/Editor</i>) have formatting +abilities, and +there are high-end specialist SGML typesetting systems (e.g., Miles33's +<i>Genera</i>). However, the majority of SGML users probably transform +the source to an existing typesetting system when they want to print. +TeX is a good candidate for this. There are three approaches to writing a +translator: +<ol> +<li> Write a free-standing translator in the traditional way, with + tools like <i>yacc</i> and <i>lex</i>; this is hard, in + practice, because of the complexity of SGML. +<li> Use a specialist language designed for SGML transformations; the + best known are probably <i>Omnimark</i> and <i>Balise</i>. + They are expensive, but powerful, incorporating SGML query and + transformation abilities as well as simple translation. +<li> Build a translator on top of an existing SGML parser. By far + the best-known (and free!) parser is James Clark's + <i>nsgmls</i>, and this produces a much simpler output format, + called ESIS, which can be parsed quite straightforwardly (one also + has the benefit of an SGML parse against the DTD). Two + good public domain packages use this method: + <ul> + <li> + + David Megginson's + <a href="http://www.perl.com/CPAN/modules/by-module/SGMLS"><i>sgmlspm</a></i>, + written in <i>Perl</i> 5. + + + <li> + + Joachim Schrod and Christine Detig's + <a href="ftp://ftp.th-darmstadt.de/pub/text/sgml/stil"><i>stil</a></i>, + written in Common Lisp. + + </ul> + Both of these allow the user to write 'handlers' for every SGML + element, with plenty of access to attributes, entities, and + information about the context within the document tree. +<p> If these packages don't meet your needs for an average SGML + typesetting job, you need the big commercial stuff. +</ol> +<p>Since HTML is simply an example of SGML, we do not need a specific +system for HTML. However, Nathan Torkington developed + +<i>html2latex</i> from the HTML parser in NCSA's +Xmosaic package. +The program takes an HTML file and generates a LaTeX file from it. +The conversion code is subject to NCSA restrictions, but the whole +source is available on CTAN. +<p>Michel Goossens and Janne Saarela published a very useful summary of +SGML, and of public domain tools for writing and manipulating it, in +<i>TUGboat</i> 16(2). +<dl> +<dt><tt><i>html2latex source</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/html2latex.zip">support/html2latex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/html2latex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/html2latex/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=SGML2TeX">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=SGML2TeX</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TUGstar.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TUGstar.html new file mode 100644 index 00000000000..5eca3a33458 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TUGstar.html @@ -0,0 +1,40 @@ +<head> +<title>UK TeX FAQ -- question label TUG*</title> +</head><body> +<h3>TeX User Groups</h3> +<p>There has been a TeX User Group since very near the time TeX +first appeared. That first group, TUG, is still active and its +journal <i>TUGboat</i> continues in regular publication +with articles about TeX, Metafont and related technologies, and about +document design, processing and production. TUG holds a yearly +conference, whose proceedings are published in <i>TUGboat</i>. +<p>TUG's web site is a valuable resource for all sorts of +TeX-related matters, such as details of TeX software, and lists +of TeX vendors and TeX consultants. Back articles from +<i>TUGboat</i> are slowly (subject to copyright issues, etc.) +making their way to the site, too. +<p>Some time ago, TUG established a "technical council", whose +task was to oversee the development of TeXnical projects. Most +such projects nowadays go on their way without any support from +TUG, but TUG's web site lists its + +<a href="http://www.tug.org/twg.html">Technical Working Groups (TWGs)</a>. +<p>TUG has a reasonable claim to be considered a world-wide +organisation, but there are many national and regional user groups, +too; TUG's web site maintains a list of + +<a href="http://www.tug.org/lugs.html">"local user groups" (LUGs)</a>. +<p>Contact TUG itself via: +<blockquote> + TeX Users Group<br> + 1466 NW Front Avenue, Suite 3141<br> + Portland, OR 97209<br> + USA<br> + Tel: +1 503-223-9994<br> + Fax: +1 503-223-3960<br> + Email: <a href="mailto:tug@mail.tug.org"><i>tug@mail.tug.org</i></a><br> + Web: <a href="http://www.tug.org/">http://www.tug.org/</a> +</blockquote> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=TUG*">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=TUG*</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TeXfuture.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TeXfuture.html new file mode 100644 index 00000000000..61d6bbd7661 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TeXfuture.html @@ -0,0 +1,28 @@ +<head> +<title>UK TeX FAQ -- question label TeXfuture</title> +</head><body> +<h3>What is the future of TeX?</h3> +<p>Knuth has declared that he will do no further development of TeX; +he will continue to fix any bugs that are reported to him (though +bugs are rare). This decision was made soon after +TeX version 3.0 was released; at each bug-fix release +the version number acquires one more digit, so that it tends to the +limit pi (at the time of writing, Knuth's latest release is version +3.141592). Knuth wants TeX to be frozen at version pi when he +dies; thereafter, no further changes may be made to Knuth's source. +(A similar rule is applied to Metafont; its version number tends to the +limit e, and currently stands at 2.718.) +<p>Knuth explains his decision, and exhorts us all to respect it, in a +paper originally published in <i>TUGboat</i> 11(4) (and reprinted in the + +<a href="http://www.ntg.nl/maps/pdf/5_34.pdf">NTG journal MAPS</a>). +<p><p>There are projects (some of them long-term +projects: see, for example, +<a href="FAQ-LaTeX3.html">the LaTeX3 project</a>) + +to build substantial +new macro packages based on TeX. For the even longer term, there +are various projects to build a <em>successor</em> to TeX; see +<a href="FAQ-omega.html">the Omega project</a> and <a href="FAQ-NTS.html">NTS</a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=TeXfuture">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=TeXfuture</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TeXpronounce.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TeXpronounce.html new file mode 100644 index 00000000000..375ad3aa38a --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TeXpronounce.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label TeXpronounce</title> +</head><body> +<h3>How should I pronounce "TeX"?</h3> +<p>The 'X' is "really" the Greek letter +Chi, +and is pronounced by English-speakers either a bit like the 'ch' in +the Scots word 'loch' ([x] in the IPA) or like 'k'. It definitely is +not pronounced 'ks' (the Greek letter with that sound doesn't look +remotely like the Latin alphabet 'X'). +<p>This curious usage derives from Knuth's explanation in the TeXbook +that the name comes from the Greek word for 'art' or 'craft' +('<em>techni</em>'), +which is the root of the English word 'technology'; the logo TeX is +merely the uppercase version of the first three (Greek) letters of the +word. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=TeXpronounce">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=TeXpronounce</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TeXsystems.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TeXsystems.html new file mode 100644 index 00000000000..e7e0ef51ec3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-TeXsystems.html @@ -0,0 +1,210 @@ +<head> +<title>UK TeX FAQ -- question label TeXsystems</title> +</head><body> +<h3>(La)TeX for different machines</h3> +<!-- windows,macintosh,ms-dos,os/2,unix,linux --> +<p>We list here the free or shareware packages; + + another question addresses + <a href="FAQ-commercial.html">commercial TeX vendors'</a> products. +<dl> +<dt>Unix<dd> Instructions for retrieving the <i>web2c</i> Unix + TeX distribution via anonymous <code>ftp</code> are to be found in + <i>unixtex.ftp</i>, though nowadays the sensible installer will + take (and possibly customise) one of the packaged distributions such + as teTeX, or the <a href="FAQ-CD.html">TeX Live distribution</a>. +<p> To compile and produce a complete teTeX distribution, you need a + <code>.tar.gz</code> file for each of <code>teTeX-src</code>, + <code>teTeX-texmf</code> and <code>teTeX-texmfsrc</code>. +<p> No sets of teTeX binaries are provided on CTAN; however, + compilation of teTeX is pretty stable, on a wide variety of + platforms. If you don't have the means to compile teTeX + yourself, you will find that most "support" sites carry compiled + versions in their "free area", and the TeX-live discs also + carry a wide range of binary distributions. +<p> There's a mailing list for teTeX installation problems (and the + like): subscribe by sending mail to + <a href="mailto:majordomo@dbs.uni-hannover.de"><i>majordomo@dbs.uni-hannover.de</i></a> containing nothing more than + "<code>subscribe tetex</code>". The list is archived at + <a href="http://www.mail-archive.com/tetex@dbs.uni-hannover.de/">http://www.mail-archive.com/tetex@dbs.uni-hannover.de/</a>, and an + RSS feed is available at the same site: + <a href="http://www.mail-archive.com/tetex@dbs.uni-hannover.de/maillist.xml">http://www.mail-archive.com/tetex@dbs.uni-hannover.de/maillist.xml</a> +<p> During periods when teTeX is itself under development, a + "teTeX-beta" is available. Before proceeding with the + beta-release, check the <i>ANNOUNCE</i> files + in the two directories on CTAN: it may well be that the + beta-release doesn't offer you anything new, + that you need. +<p> MacOS X users should refer to the information below, + under item "Mac". + <dl> + <dt><tt><i>tetex</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/systems/unix/teTeX/current/distrib/">systems/unix/teTeX/current/distrib/</a> + <dt><tt><i>tetex-beta</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/unix/teTeX-beta.zip">systems/unix/teTeX-beta</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/unix/teTeX-beta.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/unix/teTeX-beta/">browse</a>) + <dt><tt><i>unixtex.ftp</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/unix/unixtex.ftp">systems/unix/unixtex.ftp</a> + <dt><tt><i>web2c</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/web2c.zip">systems/web2c</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/web2c.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/web2c/">browse</a>) + </dl> +<dt>Linux<dd> Linux users may use teTeX (see above). +<p> The most recent offering is a free version of the + commercial + <a href="FAQ-commercial.html">VTeX</a>, which among other + things, specialises in direct production of PDF from + (La)TeX input. + <dl> + <dt><tt><i>tetex</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/systems/unix/teTeX/current/distrib/">systems/unix/teTeX/current/distrib/</a> + <dt><tt><i>vtex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/vtex/linux.zip">systems/vtex/linux</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/vtex/linux.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/vtex/linux/">browse</a>) + <dt><tt><i>vtex required common files</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/vtex/common.zip">systems/vtex/common</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/vtex/common.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/vtex/common/">browse</a>) + </dl> +<dt>PC; MSDOS or OS/2<dd> EmTeX, by Eberhard Mattes, + includes LaTeX, BibTeX, previewers, and drivers, and is + available as a series of zip archives. Documentation is + available in both German and English. Appropriate memory managers + for using emTeX with 386 (and better) processors and under + Windows, are included in the distribution. EmTeX will operate + under Windows, but Windows users are better advised to use a + distribution tailored for the Windows environment. +<p> A version of emTeX, packaged to use a + + <a href="FAQ-tds.html">TDS directory structure</a>, is separately available as + an emTeX 'contribution'. Note that neither emTeX itself, nor + emTeXTDS, is maintained. Most users of Microsoft + operating systems, who want an up-to-date (La)TeX system, need to + migrate to Win32-based systems. + <dl> + <dt><tt><i>emtex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/msdos/emtex.zip">systems/msdos/emtex</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/msdos/emtex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/msdos/emtex/">browse</a>) + <dt><tt><i>emtexTDS</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/obsolete/systems/os2/emtex-contrib/emtexTDS.zip">obsolete/systems/os2/emtex-contrib/emtexTDS</a> (<a href="ftp://cam.ctan.org/tex-archive/obsolete/systems/os2/emtex-contrib/emtexTDS.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/obsolete/systems/os2/emtex-contrib/emtexTDS/">browse</a>) + </dl> +<dt>PC; MSDOS<dd> The most recent MSDOS offering is a + port of the Web2C 7.0 implementation, using the GNU + <i>djgpp</i> compiler. While this package is more recent than + emTeX, it still implements a rather old instance of (La)TeX. + <dl> + <dt><tt><i>djgpp</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/msdos/djgpp.zip">systems/msdos/djgpp</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/msdos/djgpp.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/msdos/djgpp/">browse</a>) + </dl> +<dt>PC; OS/2<dd> OS/2 may also use a free version of the + commercial + <a href="FAQ-commercial.html">VTeX</a>, which specialises + in direct production of PDF from (La)TeX input. + <dl> + <dt><tt><i>vtex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/vtex/os2.zip">systems/vtex/os2</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/vtex/os2.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/vtex/os2/">browse</a>) + <dt><tt><i>vtex required common files</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/vtex/common.zip">systems/vtex/common</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/vtex/common.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/vtex/common/">browse</a>) + </dl> +<dt>PC: Win32<dd> + fpTeX, by Fabrice Popineau, is a version of teTeX for Windows + systems. As such, it is particularly attractive to those who need + to switch back and forth between Windows and Unix environments, and + to administrators who need to maintain both (fpTeX can use the + same <code>texmf</code> tree as a teTeX installation). fpTeX's + previewer (<i>Windvi</i>) is based on <i>xdvi</i>, and takes + advantage of extra facilities in the Win32 environment. + <i>Windvi</i> is capable of printing directly, and a version of + <i>dvips</i> is also available. +<p> MiKTeX, by Christian Schenk, is also a comprehensive + distribution, developed separately from the teTeX work. It has + its own previewer, YAP, which is itself capable of printing, + though the distribution also includes a port of <i>dvips</i>. + The current version is available for file-by-file download (the + HTML files in the directory offer hints + on what you need to get going). The MiKTeX developers provide a + ready-to-run copy of the distribution, on CDROM (for purchase) via the + <a href="http://www.miktex.org/cd/">MiKTeX web site</a>. +<p> <a href="http://tug.org/protext/">ProTeXt</a>, by Thomas Feuerstack, is + a further option for installing MiKTeX. It bundles a MiKTeX + setup with some further useful utilities, together with a PDF + file which contains clickable links for the various installation + steps, along with explanations. It again it is freeware, and copies + are distributed with the <a href="FAQ-CD.html">TeX-live CD set</a>. +<p> A further (free) option arises from the + <a href="http://www.cygwin.com">"CygWin" bundle</a>, which presents a + Unix-like environment over the Win32 interface; an X-windows server + is available. If you run CygWin on your Windows machine, you have + the option of using teTeX, too (you will need the X-server, to + run <i>xdvi</i>). Of course, teTeX components will look like + Unix applications (but that's presumably what you wanted), but it's + also reputedly somewhat slower than native Win32 implementations + such as MiKTeX or fpTeX. TeTeX is available as part of the + CygWin distribution (in the same way that a version is available + with most Linux distributions, nowadays), and you may also build + your own copy from the current sources. +<p> BaKoMa TeX, by Basil Malyshev, is a comprehensive (shareware) + distribution, which focuses on support of Acrobat. The distribution + comes with a bunch of Type 1 fonts packaged to work with BaKoMa + TeX, which further the focus. + <dl> + <dt><tt><i>bakoma</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/systems/win32/bakoma.zip">nonfree/systems/win32/bakoma</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/systems/win32/bakoma.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/systems/win32/bakoma/">browse</a>) + <dt><tt><i>fptex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/win32/fptex.zip">systems/win32/fptex</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/win32/fptex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/win32/fptex/">browse</a>) + <dt><tt><i>miktex</i></tt><dd>Acquire <a href="ftp://cam.ctan.org/tex-archive/systems/win32/miktex/setup/setup.exe">systems/win32/miktex/setup/setup.exe</a>, and read + <a href="ftp://cam.ctan.org/tex-archive/systems/win32/miktex/setup/install.html">systems/win32/miktex/setup/install.html</a> + <dt><tt><i>protext.exe</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/texlive/Images/protext.exe">systems/texlive/Images/protext.exe</a> + <dt><tt><i>tetex</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/systems/unix/teTeX/current/distrib/">systems/unix/teTeX/current/distrib/</a> + </dl> +<dt>Windows NT, other platforms<dd> Ports of MiKTeX for + NT on Power PC and AXP are available. Neither + version has been updated for version 1.2 (or later) of + MiKTeX - they may not be satisfactory. + <dl> + <dt><tt><i>miktex for AXP</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/win32/miktex-AXP.zip">systems/win32/miktex-AXP</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/win32/miktex-AXP.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/win32/miktex-AXP/">browse</a>) + <dt><tt><i>miktex for Power PC</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/win32/miktexppc.zip">systems/win32/miktexppc</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/win32/miktexppc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/win32/miktexppc/">browse</a>) + </dl> +<dt>Mac<dd> OzTeX, by Andrew Trevorrow, is a shareware version of + TeX for the Macintosh. A DVI previewer and PostScript + driver are also included. + + +<p> UK TUG prepays the shareware fee, so that its members may + acquire the software without further payment. Questions about + OzTeX may be directed to <a href="mailto:oztex@midway.uchicago.edu"><i>oztex@midway.uchicago.edu</i></a> +<p> Another partly shareware program is CMacTeX, put together + by Tom Kiffe. This is much closer + to the Unix TeX setup (it uses <i>dvips</i>, for instance). + CMacTeX includes a port of the latest version of + <a href="FAQ-omega.html">Omega</a>. +<p> Both OzTeX and CMacTeX run on either MacOS + X or on a sufficiently recent MacOS with CarbonLib + (v1.3 for OzTeX, v1.4 for CMacTeX). + + MacOS X users also have the option of + <a href="http://www.rna.nl/tex.html">gwTeX</a>, by Gerben Wierda (which + is based on teTeX). This is naturally usable from the + command line, just like any other Unix-based system, but it can also + be used Mac-style as the engine behind Richard Koch's (free) + <a href="http://www.uoregon.edu/~koch/texshop/texshop.html">TeXShop</a>, + which is an integrated TeX editor and previewer. +<p> + A useful + <a href="http://www.esm.psu.edu/mac-tex/">resource for Mac users</a> + has a news and 'help' section, as well as details of systems and + tools. +<dl> + <dt><tt><i>cmactex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/systems/mac/cmactex.zip">nonfree/systems/mac/cmactex</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/systems/mac/cmactex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/systems/mac/cmactex/">browse</a>) + <dt><tt><i>oztex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/systems/mac/oztex.zip">nonfree/systems/mac/oztex</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/systems/mac/oztex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/systems/mac/oztex/">browse</a>) + <dt><tt><i>MacOS X teTeX</i></tt><dd><a href="ftp://ftp.nluug.nl/pub/comp/macosx/tex-gs/">ftp://ftp.nluug.nl/pub/comp/macosx/tex-gs/</a> + <dt><tt><i>TeXShop</i></tt><dd><a href="http://darkwing.uoregon.edu/~koch/texshop/texshop.html">http://darkwing.uoregon.edu/~koch/texshop/texshop.html</a> + </dl> +<dt>OpenVMS<dd> TeX for OpenVMS is available. +<p> + + + <dl> + <dt><tt><i>OpenVMS</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/OpenVMS/TEX97_CTAN.ZIP">systems/OpenVMS/TEX97_CTAN.ZIP</a> + </dl> +<dt>Atari<dd> TeX is available for the Atari ST. +<p> If anonymous <code>ftp</code> is not available to you, send a message + containing the line '<code>help</code>' to + <a href="mailto:atari@atari.archive.umich.edu"><i>atari@atari.archive.umich.edu</i></a> + <dl> + <dt><tt><i>Atari TeX</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/atari.zip">systems/atari</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/atari.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/atari/">browse</a>) + </dl> +<dt>Amiga<dd> Full implementations of TeX 3.1 (PasTeX) and Metafont + 2.7 are available. + <dl> + <dt><tt><i>PasTeX</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/amiga.zip">systems/amiga</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/amiga.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/amiga/">browse</a>) + </dl> +<dt>TOPS-20<dd> TeX was originally written on a DEC-10 + under WAITS, + and so was easily ported to TOPS-20. A distribution that runs on + TOPS-20 is available via anonymous <code>ftp</code> from <a href="ftp://ftp.math.utah.edu/">ftp.math.utah.edu</a> + in <i>pub/tex/pub/web</i> + +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=TeXsystems">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=TeXsystems</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-WYGexpts.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-WYGexpts.html new file mode 100644 index 00000000000..f094dab05c6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-WYGexpts.html @@ -0,0 +1,96 @@ +<head> +<title>UK TeX FAQ -- question label WYGexpts</title> +</head><body> +<h3>The TeX document preparation environment</h3> +<p><p>"<a href="FAQ-notWYSIWYG.html">Why TeX is not WYSIWYG</a>" +outlines the reasons (or excuses) for the huge disparity of user +interface between "typical" TeX environments and commercial word +processors. +<p>Nowadays, at last, there is a range of tools available that try either +to bridge or to close the gap. One range modestly focuses on +providing the user with a legible source document. At the other +extreme we have <a href="http://www.texmacs.org"><i>TeXmacs</a></i>, +a document processor using +TeX's algorithms and fonts for both editor display and printing. +<i>TeXmacs</i> does not use the TeX +language itself (though among other formats, LaTeX may be exported +and imported). A bit closer to LaTeX is +<a href="http://www.lyx.org/">LyX</a>, which has its own +editor display and file formats as well, but does its print output by +exporting to LaTeX. The editor display merely resembles the +printed output, but you have the possibility of entering arbitrary +LaTeX code. If you use constructs that LyX does not +understand, it will just display them as source text marked red, but +will properly export them. +<p>Since a lot of work is needed to create an editor from scratch that +actually is good at editing (as well as catering for TeX), it is +perhaps no accident that several approaches have been implemented +using the extensible <i>emacs</i> editor. The low end of the +prettifying range is occupied by syntax highlighting: marking TeX +tokens, comments and other stuff with special colours. +Many free editors (including <i>emacs</i>) can cater for TeX in +this way. Under Windows, one of the more popular editors with such +support is the +Shareware product <a href="http://www.winedt.com/"><i>winedt</a></i>. +Continuing the range of +tools prettifying your input, we have the <i>emacs</i> package +<a href="http://x-symbol.sourceforge.net"><i>x-symbol</a></i>, which does +the WYSIWYG part of its work by replacing single TeX tokens and +accented letter sequences with appropriate-looking characters on the +screen. +<p>A different type of tool focuses on making update and access to +previews of the typeset document more immediate. A recent addition +in several viewers, editors and TeX executables are so-called +'source specials' for cross-navigation. When TeX compiles a +document, it will upon request insert special markers for every input +line into the typeset output. The markers are interpreted by the DVI +previewer which can be made to let its display track the page +corresponding to the editor input position, or to let the editor jump +to a source line corresponding to a click in the preview window. +<p>An <i>emacs</i> package that combines this sort of editor movement +tracking with automatic fast recompilations (through the use of dumped +formats) is +<a href="http://pauillac.inria.fr/whizzytex/"><i>WhizzyTeX</a></i> + which is best used with a previewer by the +same author. A simpler package in a similar spirit is called +<a href="http://www.activetex.org/"><i>InstantPreview</a></i> and makes +use of a continuously running copy of TeX +(under the moniker of <code>TeX daemon</code>) instead of dumping formats to +achieve its speed. +<p>Another <i>emacs</i> package called +<a href="http://preview-latex.sourceforge.net"><i>preview-latex</a></i> +tries to solve +the problem of visual correlation between source and previews in a +more direct way: it uses a LaTeX package to chop the document source +into interesting fragments (like figures, text or display math) which +it runs through LaTeX and replaces the source text of those +fragments with the corresponding rendered output images. Since it +does not know about the structure of the images, at the actual cursor +position the source text is displayed while editing rather than the +preview. This approach is more or less a hybrid of the source +prettifying and fast preview approaches since it works in the source +buffer but uses actual previews rendered by LaTeX. +<p>A more ambitious contender is called TeXlite. This +system is only available on request from its author; +it continuously updates its screen with the help of a special version +of TeX dumping its state in a compressed format at each page and +using hooks into TeX's line breaking mechanism for reformatting +paragraphs on the fly. That way, it can render the output from the +edited TeX code with interactive speed on-screen, and it offers the +possibility of editing directly in the preview window. +<p>That many of these systems occupy slightly different niches can be +seen by comparing the range of the +<i>emacs</i>-based solutions ranging from syntax highlighting to instant +previewing: all of them can be activated at the same time without +actually interfering in their respective tasks. +<p>The different approaches offer various choices differing in the +immediacy of their response, the screen area they work on (source or +separate window), degree of correspondance of the display to the final +output, and the balance they strike between visual aid and visual +distraction. +<dl> +<dt><tt><i>preview-latex</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/support/preview-latex/">support/preview-latex/</a> +<dt><tt><i>texmacs</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/systems/unix/TeXmacs/">systems/unix/TeXmacs/</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=WYGexpts">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=WYGexpts</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-abspos.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-abspos.html new file mode 100644 index 00000000000..874a494cb22 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-abspos.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label abspos</title> +</head><body> +<h3>Putting things at fixed positions on the page</h3> +<p>TeX's model of the world is (broadly speaking) that the author +writes text, and TeX and its macros decide how it all fits on the +page. This is not good news for the author who has, from whatever +source, a requirement that certain things go in exactly the right +place on the page. +<p>There <em>are</em> places on the page, from which things may be hung, +and two LaTeX packages allow you position things relative to such +points, thus providing a means of absolute positioning. +<p>The <i>textpos</i> package aids the construction of pages from +"blobs", dotted around over the page (as in a poster); you give it +the location, and it places your typeset box accordingly. +<p>The <i>eso-pic</i> defines a "shipout picture" that covers the +page. The user may add <code>picture</code>-mode commands to this +picture, which of course can include box placements as well as the +other rather stilted commands of <code>picture</code>-mode. +(<i>Eso-pic</i> requires the services of <i>everyshi</i>, which +must therefore also be available.) + + + + + + +<dl> +<dt><tt><i>eso-pic.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/eso-pic.zip">macros/latex/contrib/eso-pic</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/eso-pic.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/eso-pic/">browse</a>) +<dt><tt><i>everyshi.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ms.zip">macros/latex/contrib/ms</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ms.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ms/">browse</a>) +<dt><tt><i>textpos.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/textpos.zip">macros/latex/contrib/textpos</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/textpos.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/textpos/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=abspos">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=abspos</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-acrobat.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-acrobat.html new file mode 100644 index 00000000000..361c70f4ba5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-acrobat.html @@ -0,0 +1,77 @@ +<head> +<title>UK TeX FAQ -- question label acrobat</title> +</head><body> +<h3>Making Acrobat documents from LaTeX</h3> +<p>There are three general routes to Acrobat output: Adobe's original +'distillation' route (via PostScript output), conversion of a +DVI file, and the use of a direct PDF generator such as +PDFTeX (see <a href="FAQ-pdftex.html">the PDFTeX project</a>) or +MicroPress's VTeX (see +<a href="FAQ-commercial.html">commercial TeX implementations</a> +and <a href="FAQ-TeXsystems.html">'free' TeX implementations)</a>). +<p>For simple documents (with no hyper-references), you can either +<ul> +<li> process the document in the normal way, produce PostScript + output and distill it; +<li> (on a Windows or Macintosh machine with the appropriate Adobe + tools installed) pass the output through the + PDFwriter in place of a printer driver (this route is a dead + end: the PDFwriter cannot create hyperlinks); +<li> process the document in the normal way and generate PDF + direct from the DVI with <i>dvipdfm</i>; or +<li> process the document direct to PDF with PDFTeX or + VTeX. PDFTeX has + the advantage of availability for a wide range of platforms, VTeX + (available commercially for Windows, or free of charge for Linux or + OS/2) has wider graphics capability, dealing with + encapsulated PostScript and some in-line PostScript. +</ul> +<p>To translate all the LaTeX cross-referencing into Acrobat +links, you need a LaTeX package to suitably redefine +the internal commands. There are two of these for LaTeX, both +capable of conforming to the HyperTeX specification +(see <a href="FAQ-hyper.html">Making hypertext documents from TeX</a>): +Sebastian Rahtz's <i>hyperref</i>, and Michael Mehlich's +<i>hyper</i>. <i>Hyperref</i> +uses a configuration file to determine how it will generate hypertext; +it can operate using PDFTeX primitives, the hyperTeX +<code>\</code><code>special</code>s, or DVI driver-specific <code>\</code><code>special</code> commands. + +<i>Dvips</i> +translates the DVI with these <code>\</code><code>special</code> commands into +PostScript acceptable to Distiller, and <i>dvipdfm</i> has <code>\</code><code>special</code> +commands of its own. +<p>There is no free implementation of all of <i>Adobe</i> +<i>Distiller</i>'s +functionality, but recent versions of <i>ghostscript</i> +provide pretty reliable distillation (but beware of the problems +discussed in + +<a href="FAQ-dvips-pdf.html"><i>dvips</i> output for distillation</a>). +In fact, <i>Distiller</i> itself is now remarkably cheap (for +academics at least). +<p>For viewing (and printing) the resulting files, Adobe's +<i>Acrobat</i> <i>Reader</i> is available for a fair range of +platforms; for those for which Adobe's reader is unavailable, remotely +current versions of <i>ghostscript</i> combined with +<i>ghostview</i> or <i>GSview</i> can display and print +PDF files. +<p>In many circumstances, <i>ghostscript</i> combined with a viewer +application is actually preferable to Acrobat Reader. For example, on +Windows Acrobat Reader locks the <code>.pdf</code> file it's displaying: this +makes the traditional (and highly effective) (La)TeX development +cycle of "Edit-> Process-> Preview" become +incredibly clumsy - <i>GSview</i> doesn't make the same +mistake. +<dl> +<dt><tt><i>Acrobat Reader</i></tt><dd>browse + <a href="ftp://ftp.adobe.com/pub/adobe/acrobatreader">ftp://ftp.adobe.com/pub/adobe/acrobatreader</a> +<dt><tt><i>dvipdfm</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/dvipdfm.zip">dviware/dvipdfm</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/dvipdfm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/dvipdfm/">browse</a>) +<dt><tt><i>ghostscript</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/ghostscript/">nonfree/support/ghostscript/</a> +<dt><tt><i>ghostview</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/support/ghostscript/gnu/ghostview/">support/ghostscript/gnu/ghostview/</a> +<dt><tt><i>GSview</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/ghostscript/ghostgum/">nonfree/support/ghostscript/ghostgum/</a> +<dt><tt><i>hyper.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyper.zip">macros/latex/contrib/hyper</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyper.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyper/">browse</a>) +<dt><tt><i>hyperref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=acrobat">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=acrobat</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-actinarg.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-actinarg.html new file mode 100644 index 00000000000..368f07a8548 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-actinarg.html @@ -0,0 +1,76 @@ +<head> +<title>UK TeX FAQ -- question label actinarg</title> +</head><body> +<h3>Active characters in command arguments</h3> +<p>Occasionally, it's nice to make one or two characters active in the +argument of a command, to make it easier for authors to code the +arguments. +<p>Active characters <em>can</em> be used safely in such situations; but +care is needed. +<p>An example arose while this answer was being considered: an aspirant +macro writer posted to <i>comp.text.tex</i> asking for help to +make <code>#</code> and <code>b</code> produce musical sharp and flat signs, respectively, +in a macro for specifying chords. +<p>The first problem is that both <code>#</code> and <code>b</code> have rather important uses +elsewhere in TeX (to say the least!), so that the characters can +only be made active while the command is executing. +<p>Using the techniques discussed in +"<a href="FAQ-activechars.html">characters as commands</a>", +we can define: +<blockquote> +<pre> +\begingroup + \catcode`\#=\active + \gdef#{$\sharp$} +\endgroup +</pre> +</blockquote> +and: +<blockquote> +<pre> +\begingroup + \lccode`\~=`\b + \lowercase{\endgroup + \def~{$\flat$}% + } +</pre> +</blockquote> +The second problem is one of timing: the command has to make each +character active <em>before</em> its arguments are read: this means that +the command can't actually "have" arguments itself, but must be +split in two. So we write: +<blockquote> +<pre> +\def\chord{% + \begingroup + \catcode`\#=\active + \catcode`\b=\active + \Xchord +} +\def\Xchord#1{% + \chordfont#1% + \endgroup +} +</pre> +</blockquote> +and we can use the command as <code>\</code><code>chord{F#}</code> or +<code>\</code><code>chord{Bb minor}</code>. +<p>Two features of the coding are important: +<ul> +<li> <code>\</code><code>begingroup</code> in <code>\</code><code>chord</code> opens a group that is closed by + <code>\</code><code>endgroup</code> in <code>\</code><code>Xchord</code>; this group limits the change of + category codes, which is the <em>raison d'être</em> of the whole + exercise. +<li> Although <code>#</code> is active while <code>\</code><code>Xchord</code> is executed, it's + <em>not</em> active when it's being defined, so that the use of <code>#1</code> + doesn't require any special attention. +</ul> +<p>Note that the technique used in such macros as <code>\</code><code>chord</code>, here, is +analagous to that used in such commands as <code>\</code><code>verb</code>; and, in just the +same way as <code>\</code><code>verb</code> (see + +"<a href="FAQ-verbwithin.html"><code>\</code><code>verb</code> doesn't work in arguments</a>"), +<code>\</code><code>chord</code> won't work inside the argument of another command (the +error messages, if they appear at all, will probably be rather odd). +<p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=actinarg">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=actinarg</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-activechars.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-activechars.html new file mode 100644 index 00000000000..af47d69125b --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-activechars.html @@ -0,0 +1,120 @@ +<head> +<title>UK TeX FAQ -- question label activechars</title> +</head><body> +<h3>Defining characters as macros</h3> +<p>Single characters can act as macros (defined commands), and both +Plain TeX and LaTeX define the character +"<code>~</code>" as a "non-breakable space". A +character is made definable, or "active", by setting its +<em>category code</em> (catcode) to be <code>\</code><code>active</code> (13): +<code>\catcode'_=\active</code>. +<p>Any character could, in principle, be activated this way and defined +as a macro (<code>\def_{</code><code>\</code><code><code>}</code> - the simple answer to + +<a href="FAQ-underscore.html">using underscores</a>), but you must be +wary: whereas people expect an active tilde, other active characters +may be unexpected and interact badly with other macros. Furthermore, +by defining an active character, you preclude the character's use for +other purposes, and there are few characters "free" to be subverted +in this way. +<p>To define the character "<code>z</code>" as a command, one would say something +like: +<blockquote> +<pre> +\catcode`\z=\active +\def z{Yawn, I'm tired}% +</pre> +</blockquote> +and each subsequent "<code>z</code>" in the text would become a yawn. This would be +an astoundingly bad idea for most documents, but might have special +applications. (Note that, in "<code>\def z</code>", "<code>z</code>" is no longer interpreted as +a letter; the space is therefore not necessary - "<code>\defz</code>" would do; we +choose to retain the space, for what little clarity we can manage.) +Some LaTeX packages facilitate such definitions. For example, the +<i>shortvrb</i> package with its <code>\</code><code>MakeShortVerb</code> command. +<p>TeX uses category codes to interpret characters as they are read +from the input. + +<em>Changing a catcode value will not affect characters that have already been read</em>. +Therefore, it is best if characters have fixed category codes for the +duration of a document. If catcodes are changed for particular +purposes (the <code>\</code><code>verb</code> command does this), then the altered +characters will not be interpreted properly when they appear in the +argument to another command (as, for example, in + +"<a href="FAQ-verbwithin.html"><code>\</code><code>verb</code> in command arguments</a>"). +An exemplary case is the <i>doc</i> package, which processes .dtx +files using the <i>shortvrb</i> package to define +<code>|...|</code> as a shorthand for +<code>\</code><code>verb</code><code>|...|</code>. But <code>|</code> is +also used in the preambles of tabular environments, so that tables in +<code>.dtx</code> files can only have vertical line separation between columns by +employing special measures of some sort. +<p>Another consequence is that catcode assignments made +in macros often don't work as expected +(see "<a href="FAQ-actinarg.html">Active characters in command arguments</a>"). +For example, the definition +<blockquote> +<pre> +\def\mistake{% +\catcode`_=\active +\def_{\textunderscore\-}% +} +</pre> +</blockquote> +does not work because it attemts to define an ordinary <code>_</code> character: +When the macro is used, the category change does not apply to the +underscore character already in the macro definition. Instead, one may +use: +<blockquote> +<pre> +\begingroup +\catcode`_=\active +\gdef\works{% note the global \gdef + \catcode`_=\active + \def_{\textunderscore\-}% +} +\endgroup +</pre> +</blockquote> +The alternative ("tricksy") way of creating such an isolated +definition depends on the curious properties of <code>\</code><code>lowercase</code>, which +changes characters without altering their catcodes. Since there is +always <em>one</em> active character ("<code>~</code>"), we +can fool <code>\</code><code>lowercase</code> into patching up a definition without ever +explicitly changing a catcode: +<blockquote> +<pre> +\begingroup + \lccode`\~=`\_ + \lowercase{\endgroup + \def~{\textunderscore\-}% + }% +</pre> +</blockquote> +The two definitions have the same overall effect (the character is +defined as a command, but the character does not remain active), +except that the first defines a <code>\</code><code>global</code> command. +<p>For active characters to be used only in maths mode, it is much better +to leave the character having its ordinary catcode, but assign it a +special active <em>maths code</em>, as with +<blockquote> +<pre> +\begingroup + \lccode`~=`x + \lowercase{\endgroup + \def~{\times}% + }% +\mathcode`x="8000 +</pre> +</blockquote> +The special character does not need to be redefined whenever it is +made active - the definition of the command persists even if the +character's catcode reverts to its original value; the definition +becomes accessible again if the character once again becomes active. +<dl> +<dt><tt><i>doc.sty</i></tt><dd>Distributed as part of the source of LaTeX, <a href="ftp://cam.ctan.org/tex-archive/macros/latex/base.zip">macros/latex/base</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/base.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/base/">browse</a>) +<dt><tt><i>shortvrb.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=activechars">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=activechars</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-addtoreset.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-addtoreset.html new file mode 100644 index 00000000000..58f03509b9d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-addtoreset.html @@ -0,0 +1,75 @@ +<head> +<title>UK TeX FAQ -- question label addtoreset</title> +</head><body> +<h3>Master and slave counters</h3> +<p>It's common to have things numbered "per chapter" (for example, in +the standard <i>book</i> and <i>report</i> classes, figures, tables +and footnotes are all numbered thus). The process of resetting is +done automatically, when the "master" counter is stepped (when the +<code>\</code><code>chapter</code> command that starts chapter <<i>n</i>> happens, the +<code>chapter</code> counter is stepped, and all the dependent counters are set +to zero). +<p>How would you do that for yourself? You might want to number +algorithms per section, or corrolaries per theorem, for example. If +you're defining these things by hand, you declare the relationship +when you define the counter in the first place: +<blockquote> +<code>\</code><code>newcounter{</code><em>new-name</em><code>}[</code><em>master</em><code>]</code> +</blockquote> +says that every time counter <<i>master</i>> is stepped, counter +<<i>new-name</i>> will be reset. +<p>But what if you have an uncooperative package, that defines the +objects for you, but doesn't provide a programmer interface to make +the counters behave as you want? +<p>The <code>\</code><code>newcounter</code> command uses a LaTeX internal command, and you +can also use it: +<blockquote> +<code>\</code><code>@addtoreset{</code><em>new-name</em><code>}{</code><em>master</em><code>}</code> +</blockquote> +(but remember that it needs to be between <code>\</code><code>makeatletter</code> and +<code>\</code><code>makeatother</code>, or in a package of your own). +<p>The <i>chngcntr</i> package encapsulates the <code>\</code><code>@addtoreset</code> +command into a command <code>\</code><code>counterwithin</code>. So: +<blockquote> +<pre> +\counterwithin*{corrolary}{theorem} +</pre> +</blockquote> +will make the corrolary counter slave to theorem counters. The +command without its asterisk: +<blockquote> +<pre> +\counterwithin{corrolary}{theorem} +</pre> +</blockquote> +will do the same, and also redefine <code>\</code><code>thecorrolary</code> as +<<i>theorem number</i>>.<<i>corrolary number</i>>, which is a good scheme +if you ever want to refer to the corrolaries - there are potentially +many "corrolary 1" in any document, so it's as well to tie its number +to the counter of the theorem it belongs to. This is true of pretty +much any such counter-within-another; if you're not using the +<i>chngcntr</i>, refer to the answer to +<a href="FAQ-the-commands.html">redefining counters' <code>\</code><code>the-</code>commands</a> for +the necessary techniques. +<p>Note that the technique doesn't work if the master counter is <code>page</code>, +the number of the current page. The <code>page</code> counter is stepped deep +inside the output routine, which usually gets called some time after +the text for the new page has started to appear: so special +techniques are required to deal with that. One special case is dealt +with elsewhere: <a href="FAQ-footnpp.html">footnotes numbered per page</a>. One +of the techniques described there, using package <i>perpage</i>, +may be applied to any counter. The command: +<blockquote> +<code>\</code><code>MakePerPage{</code><em>counter</em><code>}</code> +</blockquote> +will cause <<i>counter</i>> to be reset for each page. The package uses +a label-like mechanism, and may require more than one run of LaTeX +to stabilise counter values - LaTeX will generate the usual +warnings about labels changing. +<dl> +<dt><tt><i>chngcntr.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/chngcntr.sty">macros/latex/contrib/misc/chngcntr.sty</a> +<dt><tt><i>perpage.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/perpage.sty">macros/latex/contrib/misc/perpage.sty</a> +</dl> +<p> +<p><p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=addtoreset">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=addtoreset</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-adobetypen.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-adobetypen.html new file mode 100644 index 00000000000..435a23cd734 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-adobetypen.html @@ -0,0 +1,48 @@ +<head> +<title>UK TeX FAQ -- question label adobetypen</title> +</head><body> +<h3>Adobe font formats</h3> +<!-- type1 type3 --> +<p>Adobe has specified a number of formats for files to represent fonts +in PostScript files; this question doesn't attempt to be encyclopaedic, but +we'll discuss the two formats most commonly encountered in the +(La)TeX context, types 1 and 3. +<p>Adobe Type 1 format specifies a means to represent outlines of the glyphs +in a font. The 'language' used is closely restricted, to ensure that +the font is rendered as quickly as possible. (Or rather, as quickly +as possible with Adobe's technology at the time the specification was +written: the structure could well be different if it were specified +now.) The format has long been the basis of the digital type-foundry +business, though things are showing signs of change. +<p> + + + +<p>In the (La)TeX context, Type 1 fonts are extremely important. Apart +from their simple +availability (there are thousands of commercial Type 1 text fonts around), the +commonest reader for PDF files has long (in effect) <em>insisted</em> on +their use (see <a href="FAQ-dvips-pdf.html">PDF quality</a>). +<p>Type 3 fonts have a more forgiving specification. A wide range of +PostScript operators is permissible, including bitmaps operators. Type 3 +is therefore the natural format to be used for programs such as +<i>dvips</i> when they auto-generate something to represent +Metafont-generated fonts in a PostScript file. It's Adobe Acrobat Viewer's +treatment of bitmap Type 3 fonts that has made direct Metafont output +inreasingly unattractive, in recent years. If you have a PDF +document in which the text looks fuzzy and uneven in Acrobat Reader, +ask Reader for the <code>File</code>-> +<code>Document Properties</code>-> +<code>Fonts ...</code>, and it will show some font or other as "Type 3" +(usually with encoding "Custom"). (This problem has disappeared +with version 6 of Acrobat Reader.) +<p>Type 3 fonts should not entirely be dismissed, however. Acrobat +Reader's failure with them is entirely derived from its failure to use +the anti-aliasing techniques common in TeX-ware. Choose a +different set of PostScript graphical operators, and you can make pleasing +Type 3 fonts that don't "annoy" Reader. For example, you may not +change colour within a Type 1 font glyph, but there's no such +restriction on a Type 3 font, which opens opportunities for some +startling effects. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=adobetypen">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=adobetypen</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-aleph.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-aleph.html new file mode 100644 index 00000000000..e581989757b --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-aleph.html @@ -0,0 +1,27 @@ +<head> +<title>UK TeX FAQ -- question label aleph</title> +</head><body> +<h3>The Aleph project</h3> +<p>The Aleph project aims to build a +"usable" version of +<a href="FAQ-omega.html">Omega</a>, incorporating e-TeX extensions +from the <a href="FAQ-NTS.html"><i>NTS</i> project</a>. +<p>Two sets of concerns have provided impetus to the project: first, that +many users need the e-TeX extensions, and they're not on the +Omega development path; and second, +that the Omega project is currently +immersed in radical restructuring of +Omega, and is not able to be +particularly responsive to user requirements in the short term. In +the longer term, the Aleph project hope +that their work will be rendered irrelevant by the development of +Omega proper. +<p>The current pre-release snapshot of +Aleph resides on CTAN with the +rather modest name of e-Omega. Follow development by subscribing +to the project mailing list via <a href="http://www.ntg.nl/mailman/listinfo/aleph">http://www.ntg.nl/mailman/listinfo/aleph</a> +<dl> +<dt><tt><i>e-omega</i></tt><dd>Browse <a href="ftp://cam.ctan.org/tex-archive/systems/aleph.zip">systems/aleph</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/aleph.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/aleph/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-algorithms.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-algorithms.html new file mode 100644 index 00000000000..f6f6df07821 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-algorithms.html @@ -0,0 +1,107 @@ +<head> +<title>UK TeX FAQ -- question label algorithms</title> +</head><body> +<h3>Typesetting pseudocode in LaTeX</h3> +<p>There is no consensus on the 'right' way to typeset pseudocode. +Consequently, there are a variety of LaTeX packages to choose from +for producing æsthetically pleasing pseudocode listings. +<p>Pseudocode differs from actual program listings in that it lacks +strict syntax and semantics. Also, because pseudocode is supposed to +be a clear expression of an algorithm it may need to incorporate +mathematical notation, figures, tables, and other LaTeX features +that do not appear in conventional programming languages. + <a href="FAQ-codelist.html">Typesetting program listings</a> is described + elsewhere. + +<p>You can certainly create your own environment for typesetting +pseudocode using, for example, the <code>tabbing</code> or +<code>list</code> environments - it's not difficult, but it may +prove boring. So it's worth trying the following packages, all +designed specifically for typesetting pseudocode. +<p>The <i>algorithms</i> bundle (which contains packages +<i>algorithm</i> and <i>algorithmic</i>, both of which are +needed for ordinary use) has a simple interface and produces fairly +nice output. It provides primitives for statements, which can contain +arbitrary LaTeX commands, comments, and a set of iterative and +conditional constructs. These primitives can easily be redefined to +produce different text in the output. However, there is no support +for adding new primitives. Typesetting the pseudocode itself is +performed in <i>algorithmic</i>; the <i>algorithms</i> package +uses the facilities of the the <i>float</i> package to number +algorithms sequentially, enable algorithms to float like figures or +tables, and support including a List of Algorithms in a document's +front matter. +<p>Packages in the <i>algorithmicx</i> bundle are similiar both in +concept and output form to <i>algorithmic</i> but additionally +provide support for adding new keywords and altering the formatting. +It provides the <i>algpseudocode</i> package which is (almost) a +drop-in replacement for <i>algorithmic</i>. Another package in the +bundle, <i>algpascal</i>, uses Pascal-like keywords, indents +differently from <i>algpseudocode</i>, and puts command arguments +in maths mode instead of text mode. There is no floating environment +but <i>algorithmicx</i>, like <i>algorithmic</i>, is compatible +with the <i>algorithm</i> package. +<p>The <i>alg</i> package, like <i>algorithms</i>, offers a +floating algorithm environment with all of the ensuing niceties. +<i>alg</i>, however, can caption its floats in a variety of +(natural) languages. In addition, <i>alg</i> unlike +<i>algorithms</i>, makes it easy to add new constructs. +<p>The <i>newalg</i> package has a somewhat similar interface to +<i>algorithms</i>, but its output is designed to mimic the rather +pleasant typesetting used in the book "<em>Introduction to Algorithms</em>" +by Corman, Leiserson, Rivest and Stein. Unfortunately, +<i>newalg</i> does not support a floating environment or any +customisation of the output. +<p>"<em>Bona fide</em>" use of the style of "Introduction to +Algorithms" may be achieved with Cormen's own <i>clrscode</i>: +this is the package as used in the second edition of the book. +<p>Similarly, the style of +"<em>Combinatorial Algorithms: Generation, Enumeration and Search</em>" +is supported by the <i>pseudocode</i> package, written by the +authors of the book. It has the common 'Pascal-like' style, and has +some interesting constructs for what one thinks of as Pascal blocks. +<p>The <i>algorithm2e</i> is of very long standing, and is widely used +and recommended. It loads the <i>float</i> package to provide the +option of floating algorithm descriptions, but you can always use the +"<code>H</code>" option of <i>float</i> to have the algorithm appear +"where you write it". +<p>The usage of the <i>program</i> package is a little different from +that of the other packages. It typesets programs in maths mode +instead of text mode; and linebreaks are significant. +<i>program</i> lacks a floating environment but does number +algorithms like <i>alg</i> and <i>algorithms</i>. Customisation +and extension are not supported. Documentation of the +<i>program</i> package (such as it is) appears in a file +<i>program.msg</i> in the distribution. +<p>None of the above are perfect. The factors that should influence your +choice of package include the output style you prefer, how much you +need to extend or modify the set of keywords, and whether you require +algorithms to float like figures and tables. + + + + + + + + + + + + + + + +<dl> +<dt><tt><i>algorithm2e.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/algorithm2e.zip">macros/latex/contrib/algorithm2e</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/algorithm2e.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/algorithm2e/">browse</a>) +<dt><tt><i>algorithmicx bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/algorithmicx.zip">macros/latex/contrib/algorithmicx</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/algorithmicx.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/algorithmicx/">browse</a>) +<dt><tt><i>algorithms bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/algorithms.zip">macros/latex/contrib/algorithms</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/algorithms.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/algorithms/">browse</a>) +<dt><tt><i>alg.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/alg.zip">macros/latex/contrib/alg</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/alg.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/alg/">browse</a>) +<dt><tt><i>clrscode.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/clrscode.zip">macros/latex/contrib/clrscode</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/clrscode.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/clrscode/">browse</a>) +<dt><tt><i>float.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.zip">macros/latex/contrib/float</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/float/">browse</a>) +<dt><tt><i>newalg.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/newalg.zip">macros/latex/contrib/newalg</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/newalg.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/newalg/">browse</a>) +<dt><tt><i>program.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/program.zip">macros/latex/contrib/program</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/program.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/program/">browse</a>) +<dt><tt><i>pseudocode.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pseudocode.zip">macros/latex/contrib/pseudocode</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pseudocode.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/pseudocode/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=algorithms">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=algorithms</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-alreadydef.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-alreadydef.html new file mode 100644 index 00000000000..97cf247ecb6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-alreadydef.html @@ -0,0 +1,61 @@ +<head> +<title>UK TeX FAQ -- question label alreadydef</title> +</head><body> +<h3>Package reports "command already defined"</h3> +<p>You load a pair of packages, and the second reports that one of the +commands it defines is already present. For example, both the +<i>txfonts</i> and <i>amsmath</i> define a command <code>\</code><code>iint</code> +(and <code>\</code><code>iiint</code> and so on); so +<blockquote> +<pre> +... +\usepackage{txfonts} +\usepackage{amsmath} +</pre> +</blockquote> +produces a string of error messages of the form: +<blockquote> +<pre> +! LaTeX Error: Command \iint already defined. + Or name \end... illegal, see p.192 of the manual. +</pre> + +</blockquote> +As a general rule, things that <i>amsmath</i> defines, it defines +well; however, there is a good case for using the <i>txfonts</i> +version of <code>\</code><code>iint</code> - the associated <i>tx</i> fonts have a +double integral symbol that doesn't need to be "faked" in the way +<i>amsmath</i> does. In the case that you are loading several +symbol packages, every one of which defines the same symbol, you are +likely to experience the problem in a big way (<code>\</code><code>euro</code> is a common +victim). +<p>There are similar cases where one package redefines another's command, +but no error occurs because the redefining package doesn't use +<code>\</code><code>newcommand</code>. Often, in such a case, you only notice the change +because you assume the definition given by the first package. The +<i>amsmath</i>-<i>txfonts</i> packages are just such a pair; +<i>txfonts</i> doesn't provoke errors. +<p>You may deal with the problem by saving and restoring the command. +Macro programmers may care to do this for themselves; for the rest of +us, there's the package <i>savesym</i>. The sequence: +<blockquote> +<pre> +\usepackage{savesym} +\usepackage{amsmath} +\savesymbol{iint} +\usepackage{txfonts} +\restoresymbol{TXF}{iint} +</pre> +</blockquote> +does the job; restoring the <i>amsmath</i> version of the command, +and making the <i>txfonts</i> version of the command available as +<code>\</code><code>TXFiint</code>. +<p>Documentation of <i>savesym</i> doesn't amount to much: the only +commands are <code>\</code><code>savesymbol</code> and <code>\</code><code>restoresymbol</code>, as noted above. +<dl> +<dt><tt><i>amsmath.sty</i></tt><dd>Part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +<dt><tt><i>savesym.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/savesym/savesym.sty">macros/latex/contrib/savesym/savesym.sty</a> +<dt><tt><i>txfonts.sty</i></tt><dd>Part of <a href="ftp://cam.ctan.org/tex-archive/fonts/txfonts.zip">fonts/txfonts</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/txfonts.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/txfonts/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=alreadydef">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=alreadydef</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-altabcr.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-altabcr.html new file mode 100644 index 00000000000..5c3ce9b95d4 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-altabcr.html @@ -0,0 +1,55 @@ +<head> +<title>UK TeX FAQ -- question label altabcr</title> +</head><body> +<h3>Alignment tab changed to <code>\</code><code>cr</code></h3> +<p>This is an error you may encounter in LaTeX when a tabular +environment is being processed. "Alignment tabs" are the +<code>&</code> signs that separate the columns of a tabular; so the error +message +<blockquote> + +<pre> +! Extra alignment tab has been changed to \cr +</pre> +</blockquote> +could arise from a simple typo, such as: +<blockquote> +<pre> +\begin{tabular}{ll} + hello & there & jim \\ + goodbye & now +\end{tabular} +</pre> +</blockquote> +where the second <code>&</code> in the first line of the table is more than the +two-column <code>ll</code> column specification can cope with - an extra +"<code>l</code>" in that solves the problem. (As a result of the error, +"<code>jim</code>" will be moved to a row of his own.) +<p>Rather more difficult to spot is the occurrence of the error when +you're using alignment instructions in a "<code>p</code>" column: +<blockquote> +<pre> +\usepackage{array} +... +\begin{tabular}{l>{\raggedright}p{2in}} +here & we are again \\ +happy & as can be +\end{tabular} +</pre> +</blockquote> +the problem here (as explained in +<a href="FAQ-tabcellalign.html">tabular cell alignment</a>) is that the +<code>\</code><code>raggedright</code> command in the column specification has overwritten +<code>tabular</code>'s definition of <code>\\</code>, so that +"<code>happy</code>" appears in a new line of the second column, and the +following <code>&</code> appears to LaTeX just like the second +<code>&</code> in the first example above. +<p>Get rid of the error in the way described in +<a href="FAQ-tabcellalign.html">tabular cell alignment</a> - either use +<code>\</code><code>tabularnewline</code> explicitly, or use the <code>\</code><code>RBS</code> trick described +there. +<dl> +<dt><tt><i>array.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=altabcr">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=altabcr</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-amfonts.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-amfonts.html new file mode 100644 index 00000000000..b9a3de899e3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-amfonts.html @@ -0,0 +1,22 @@ +<head> +<title>UK TeX FAQ -- question label amfonts</title> +</head><body> +<h3>Where are the <code>am</code> fonts?</h3> +<p>One <em>still</em> occasionally comes across a request for the <i>am</i> +series of fonts. The initials stood for 'Almost [Computer] Modern', +and they were the predecessors of the Computer Modern fonts that we +all know and love (or hate) +. +There's not a lot one can do with these +fonts; they are (as their name implies) almost (but not quite) the +same as the <i>cm</i> series; if you're faced with a document that requests +them, all you can reasonably do is to edit the document. The +appearance of DVI files that request them is sufficiently rare that +no-one has undertaken the mammoth task of creating a translation of +them by means of virtual fonts; however, most drivers let you have a +configuration file in which you can specify font substitutions. If you +specify that every <i>am</i> font should be replaced by its corresponding +<i>cm</i> font, the output should be almost correct. +<p> +<p><p><p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=amfonts">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=amfonts</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ant.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ant.html new file mode 100644 index 00000000000..2bdd1d57184 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ant.html @@ -0,0 +1,23 @@ +<head> +<title>UK TeX FAQ -- question label ant</title> +</head><body> +<h3>The ANT typesetting system</h3> +<p>Achim Blumensath's ANT project, in contrast to <i>NTS</i>, aims +not to replicate TeX with a different implementation technique, but +rather to provide a replacement for TeX which uses TeX-like +typesetting algorithms in a very different programming environment. +ANT remains under development, but it is now approaching the +status of a usable typesetting system. +<p>ANT's markup language is immediately recognisable to the +(La)TeX user, but the scheme of implementing design in +ANT's own implementation language (presently +<i>OCaml</i>) comes as a pleasant surprise to the jaded FAQ +writer. This architecture holds the promise of a system that avoids a +set of serious problems with TeX's user interface: those that +derive from the design language being the same as the markup language. +<dl> +<dt><tt><i>ANT downloads</i></tt><dd> + <a href="http://www-mgi.informatik.rwth-aachen.de/~blume/Download.html">http://www-mgi.informatik.rwth-aachen.de/~blume/Download.html</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ant">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ant</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-appendix.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-appendix.html new file mode 100644 index 00000000000..987606c84b9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-appendix.html @@ -0,0 +1,110 @@ +<head> +<title>UK TeX FAQ -- question label appendix</title> +</head><body> +<h3>Appendixes</h3> +<p>LaTeX provides an exceedingly simple mechanism for appendixes: the +command <code>\</code><code>appendix</code> switches the document from generating sections +(in <i>article</i> class) or chapters (in <i>report</i> or +<i>book</i> classes) to producing appendixes. Section or chapter +numbering is restarted and the representation of the counter switches +to alphabetic. So: +<blockquote> +<pre> +\section{My inspiration} +... + +\section{Developing the inspiration} +... + +\appendix +\section{How I became inspired} +... +</pre> +</blockquote> +would be typeset (in an <i>article</i> document) something like: +<blockquote> +<b>1 My inspiration</b> +<p>... +<p><b>2 Developing the inspiration</b> +<p>... +<p><b>A How I became inspired</b> +<p>... +</blockquote> +which is quite enough for many ordinary purposes. Note that, once +you've switched to typesetting appendixes, LaTeX provides you with +no way back - once you've had an appendix, you can no longer have an +"ordinary" <code>\</code><code>section</code> or <code>\</code><code>chapter</code>. +<p>The <i>appendix</i> provides several ways of elaborating on this +simple setup. Straightforward use of the package allows you to have a +separate heading, both in the body of the document and the table of +contents; this would be achieved by +<blockquote> +<pre> +\usepackage{appendix} +... +\appendix +\appendixpage +\addappheadtotoc +</pre> +</blockquote> +The <code>\</code><code>appendixpage</code> command adds a separate title "Appendices" +above the first appendix, and <code>\</code><code>addappheadtotoc</code> adds a similar +title to the table of contents. These simple modifications cover many +people's needs about appendixes. +<p>The package also provides an <code>appendices</code> environment, +which provides for fancier use. The environment is best controlled by +package options; the above example would be achieved by +<blockquote> +<pre> +\usepackage[toc,page]{appendix} +... +\begin{appendices} +... +\end{appendices} +</pre> +</blockquote> +The great thing that the <code>appendices</code> environment gives +you, is that once the environment ends, you can carry on with sections +or chapters as before - numbering isn't affected by the intervening +appendixes. +<p>The package provides another alternative way of setting appendixes, as +inferior divisions in the document. The <code>subappendices</code> +environment allows you to put separate appendixes for a particular +section, coded as <code>\</code><code>subsection</code>s, or for a particular chapter, coded +as <code>\</code><code>section</code>s. So one might write: +<blockquote> +<pre> +\usepackage{appendix} +... +\section{My inspiration} +... +\begin{subappendices} +\subsection{How I became inspired} +... +\end{subappendices} + +\section{Developing the inspiration} +... +</pre> +</blockquote> +Which will produce output something like: +<blockquote> +<b>1 My inspiration</b> +<p>... +<p><b>1.A How I became inspired</b> +<p>... +<p><b>2 Developing the inspiration</b> +<p>... +</blockquote> +<p>There are many other merry things one may do with the package; the +user is referred to the package documentation for further details. +<p>The <i>memoir</i> class includes the facilities of the +<i>appendix</i> package. The <i>KOMA-script</i> classes offer a +<code>\</code><code>appendixprefix</code> command for manipulating the appearance of appendixes. +<dl> +<dt><tt><i>appendix.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/appendix.zip">macros/latex/contrib/appendix</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/appendix.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/appendix/">browse</a>) +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=appendix">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=appendix</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-archives.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-archives.html new file mode 100644 index 00000000000..6abd70d4849 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-archives.html @@ -0,0 +1,33 @@ +<head> +<title>UK TeX FAQ -- question label archives</title> +</head><body> +<h3>Repositories of TeX material</h3> +<p>To aid the archiving and retrieval of of TeX-related files, a +TUG working group developed the Comprehensive TeX Archive +Network (CTAN). Each CTAN site has identical material, +and maintains authoritative versions of its material. These +collections are extensive; in particular, almost everything mentioned +in this FAQ +is archived at the CTAN sites (see the lists of software at the +end of each answer). +<p>The CTAN sites are currently \FTP{dante.ctan.org} (Germany), +\FTP{cam.ctan.org} (UK) and \FTP{tug.ctan.org} (USA). +The organisation of TeX files on all +CTAN sites is identical and starts at +<i>tex-archive/</i>. Each CTAN node may also be accessed via +the Web at URLs <a href="http://www.dante.de/tex-archive">http://www.dante.de/tex-archive</a>, +<a href="http://www.tex.ac.uk/tex-archive">http://www.tex.ac.uk/tex-archive</a> and +<a href="http://www.ctan.org/tex-archive">http://www.ctan.org/tex-archive</a> respectively, but not all +CTAN mirrors are Web-accessible. +As a matter of course, to reduce network load, +please use the CTAN site +or mirror closest to you. A complete and current list of CTAN sites +and known mirrors is available as file <a href="ftp://cam.ctan.org/tex-archive/CTAN.sites">CTAN.sites</a> on the +archives themselves. +<p>For details of how to find files at CTAN sites, see +"<a href="FAQ-findfiles.html">finding (La)TeX files</a>". +<p>The TeX user who has no access to any sort of +network may buy a copy of the archive as part of the +<a href="FAQ-CD.html">TeX Live distribution</a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=archives">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=archives</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-askquestion.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-askquestion.html new file mode 100644 index 00000000000..91065d6b5cb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-askquestion.html @@ -0,0 +1,61 @@ +<head> +<title>UK TeX FAQ -- question label askquestion</title> +</head><body> +<h3>How to ask a question</h3> +<p>You want help from the community at large; you've decided where you're +going to <a href="FAQ-maillists.html">ask your question</a>, but how do you +phrase it? +<p>Excellent "general" advice (how to ask questions of anyone) is +contained in + +<a href="http://catb.org/~esr/faqs/smart-questions.html">Eric Raymond's article on the topic</a>. +Eric's an extremely self-confident person, and this comes through in +his advice; but his guidelines are very good, even for us in the +un-self-confident majority. It's important to remember that you don't +have a right to advice from the world, but that if you express +yourself well, you will usually find someone who will be pleased to +help. +<p>So how do you express yourself in the (La)TeX world? There aren't +any comprehensive rules, but a few guidelines may help in the +application of your own common sense. +<ul> +<li> Make sure you're asking the right people. Don't ask in a TeX + forum about printer device drivers for the <i>Foobar</i> + operating system. Yes, TeX users need printers, but no, TeX + users will typically <em>not</em> be <i>Foobar</i> systems + managers. +<p> Similarly, avoid posing a question in a language that the majority + of the group don't use: post in Ruritanian to + <i>de.comp.text.tex</i> and you may have a long wait before a + German- and Ruritanian-speaking TeX expert notices your + question. +<li> If your question is (or may be) TeX-system-specific, report + what system you're using, or intend to use: "I can't install + TeX" is as good as useless, whereas "I'm trying to install the + <i>mumbleTeX</i> distribution on the <i>Grobble</i> + operating system" gives all the context a potential respondent + might need. Another common situation where this information is + important is when you're having trouble installing something new in + your system: "I want to add the <i>glugtheory</i> package to my + <i>mumbleTeX v12.0</i> distribution on the <i>Grobble 2024</i> + operating system". +<li> If you need to know how to do something, make clear what your + environment is: "I want to do <em>x</em> in Plain TeX", or "I + want to do <em>y</em> in LaTeX running the <i>boggle</i> + class". If you thought you knew how, but your attempts are + failing, tell us what you've tried: "I've already tried installing + the <i>elephant</i> in the <i>minicar</i> directory, and it + didn't work, even after refreshing the filename database". +<li> If something's going wrong within (La)TeX, pretend you're + <a href="FAQ-latexbug.html">submitting a LaTeX bug report</a>, + and try to generate a <a href="FAQ-minxampl.html">minimum failing example</a>. + If your example + needs your local <i>xyzthesis</i> class, or some other resource + not generally available, be sure to include a pointer to how the + resource can be obtained. +<li> Be as succinct as possible. Your helpers don't usually need to + know <em>why</em> you're doing something, just <em>what</em> you're + doing and where the problem is. +</ul> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-atsign.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-atsign.html new file mode 100644 index 00000000000..6613c579645 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-atsign.html @@ -0,0 +1,12 @@ +<head> +<title>UK TeX FAQ -- question label atsign</title> +</head><body> +<h3>How to type an '@' sign?</h3> +<p>Long ago, some packages used to make the '@' sign active, so that +special measures were needed to type it. While those packages are +still in principle available, few people use them, and those that do +use them have ready access to rather good documentation. +<p>Ordinary people (such as the author of this FAQ) need only type +'@'. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=atsign">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=atsign</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-atsigns.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-atsigns.html new file mode 100644 index 00000000000..732a14f49ea --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-atsigns.html @@ -0,0 +1,44 @@ +<head> +<title>UK TeX FAQ -- question label atsigns</title> +</head><body> +<h3><code>\</code><code>@</code> and <code>@</code> in macro names</h3> +<p>Macro names containing <code>@</code> are <em>internal</em> to LaTeX, and +without special treatment just don't work in ordinary use. An +exemplar of the problems caused is discussed in +"<a href="FAQ-atvert.html"><code>\</code><code>@</code> in vertical mode</a>". +<p>The problems users see are caused by copying bits of a class (<code>.cls</code> file) or +package (<code>.sty</code> file) into a document, or by including a class or +package file into a LaTeX document by some means other than +<code>\</code><code>documentclass</code> or <code>\</code><code>usepackage</code>. LaTeX defines internal +commands whose names contain the character <code>@</code> to +avoid clashes between its internal names and names that we would +normally use in our documents. In order that these commands may work +at all, <code>\</code><code>documentclass</code> and <code>\</code><code>usepackage</code> play around with the +meaning of <code>@</code>. +<p>If you've included a file wrongly, you solve the problem by using the +correct command. +<p>If you're using a fragment of a package or class, you may well feel +confused: books such as <a href="FAQ-books.html"><em>The LaTeX Companion</em></a> +are full of fragments of packages as examples for you to employ. +<p>For example, there's a lengthy section in <em>The Companion</em> about +<code>\</code><code>@startsection</code> and how to use it to control the appearance of +section titles. Page 15 discusses the problem; and +suggests that you make such changes in the document preamble, between +<code>\</code><code>makeatletter</code> and <code>\</code><code>makeatother</code>. So the redefinition of +<code>\</code><code>subsection</code> on page 26 could be: +<blockquote> +<pre> +\makeatletter +\renewcommand{\subsection}{\@startsection + {subsection}% % name + ... + {\normalfont\normalsize\itshape}}% style +\makeatother +</pre> +</blockquote> +<p>The alternative is to treat all these fragments as a package proper, +bundling them up into a <code>.sty</code> file and including them with +<code>\</code><code>usepackage</code>. (This approach is marginally preferable, from the +LaTeX purist's point of view.) +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=atsigns">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=atsigns</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-atvert.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-atvert.html new file mode 100644 index 00000000000..69420aa5e11 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-atvert.html @@ -0,0 +1,28 @@ +<head> +<title>UK TeX FAQ -- question label atvert</title> +</head><body> +<h3><code>\</code><code>spacefactor</code> complaints</h3> +<p>The errors +<pre> +! You can't use `\spacefactor' in vertical mode. +\@->\spacefactor + \@m +</pre> +or +<pre> +! You can't use `\spacefactor' in math mode. +\@->\spacefactor + \@m +</pre> +or simply +<pre> +! Improper \spacefactor. +... +</pre> +bites the LaTeX programmer who uses an internal command without taking +"precautions". The problem is discussed in detail in + +"<a href="FAQ-atsigns.html"><code>@</code> in macro names</a>", +together with solutions. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=atvert">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=atvert</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-backref.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-backref.html new file mode 100644 index 00000000000..7b96f1ff472 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-backref.html @@ -0,0 +1,23 @@ +<head> +<title>UK TeX FAQ -- question label backref</title> +</head><body> +<h3>References from the bibliography to the citation</h3> +<p>A link (or at least a page reference), from the bibliography to the +citing command, is often useful in large documents. +<p>Two packages support this requirement, <i>backref</i> and +<i>citeref</i>. <i>Backref</i> is part of the +<i>hyperref</i> bundle, and supports hyperlinks back to the citing +command. <i>Citeref</i> is the older, and seems to rely on rather +simpler (and therefore possibly more stable) code. Neither collapses +lists of pages ("<code>5, 6, 7</code>" comes out as such, rather than as +"<code>5-7</code>"), but neither package repeats the reference to a page that +holds multiple citations. (The failure to collapse lists is of course +forgiveable in the case of the <i>hyperref</i>-related +<i>backref</i>, since the concept of multiple hyperlinks from the +same anchor is less than appealing.) +<dl> +<dt><tt><i>backref.sty</i></tt><dd>Distributed with <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +<dt><tt><i>citeref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/citeref.zip">macros/latex/contrib/citeref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/citeref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/citeref/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=backref">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=backref</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-badhyph.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-badhyph.html new file mode 100644 index 00000000000..d2b9a1f7914 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-badhyph.html @@ -0,0 +1,35 @@ +<head> +<title>UK TeX FAQ -- question label badhyph</title> +</head><body> +<h3>Improper <code>\</code><code>hyphenation</code> will be flushed</h3> +<p>For example +<pre> +! Improper \hyphenation will be flushed. +\'#1->{ + \accent 19 #1} +<*> \hyphenation{Ji-m\'e + -nez} +</pre> +(in Plain TeX) or +<pre> +! Improper \hyphenation will be flushed. +\leavevmode ->\unhbox + \voidb@x +<*> \hyphenation{Ji-m\'e + -nez} +</pre> +in LaTeX. +<p>As mentioned in <a href="FAQ-nohyph.html">"hyphenation failures"</a>, +words with accents in them may not be hyphenated. As a result, any +such word is deemed improper in a <code>\</code><code>hyphenation</code> command. +<p>The solution is to use a font that contains the character in question, +and to express the <code>\</code><code>hyphenation</code> command in terms of that +character; this "hides" the accent from the hyphenation mechanisms. +LaTeX users can be achieved this by use of the <i>fontenc</i> +package (part of the LaTeX distribution). If you select an 8-bit +font with the package, as in <code>\</code><code>usepackage[T1]{fontenc}</code>, +accented-letter commands such as the <code>\'</code><code>e</code> in +<code>\hyphenation{Ji-m\'</code><code>e-nez}</code> automatically become the single accented +character by the time the hyphenation gets to look at it. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=badhyph">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=badhyph</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-balance.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-balance.html new file mode 100644 index 00000000000..6cbaf7f7400 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-balance.html @@ -0,0 +1,47 @@ +<head> +<title>UK TeX FAQ -- question label balance</title> +</head><body> +<h3>Balancing columns at the end of a document</h3> +<p>The <i>twocolumn</i> option of the standard classes causes +LaTeX to set the text of a document in two columns. However, the last +page of the document typically ends up with columns of different +lengths - such columns are said to be "unbalanced". Many (most?) +people don't like unbalanced columns. +<p>The simplest solution to the problem is to use the <i>multicol</i> +package in place of the <i>twocolumn</i> option, as +<i>multicol</i> balances the columns on the final page by default. +However, the use of <i>multicol</i> does come at a cost: its +special output routine disallows the use of in-column floats, though +it does still permit full-width (e.g., <code>figure*</code> +environment) floats. +<p>As a result, there is a constant push for a means of balancing columns +at the end of a <i>twocolumn</i> document. Of course, the job can +be done manually: <code>\</code><code>pagebreak</code> inserted at the appropriate place on +the last page can often produce the right effect, but this seldom +appeals, and if the last page is made up of automatically-generated +text (for example, bibliography or index) inserting the command will +be difficult. +<p>The <i>flushend</i> package offers a solution to this problem. It's a +somewhat dangerous piece of macro code, which patches one of the most +intricate parts of the LaTeX kernel without deploying any of the +safeguards discussed in <a href="FAQ-patch.html">patching commands</a>. +The package only changes the behaviour at end document (its +<code>\</code><code>flushend</code> command is enabled by default), and one other command +permits adjustment of the final balance; other packages in the bundle +provide means for insertion of full width material in two-column +documents. +<p>The <i>balance</i> package also patches the output routine +(somewhat more carefully than <i>flushend</i>). +<p>The user should be aware that any of these packages are liable to +become confused in the presence of floats: if problems arise, manual +adjustment of the floats in the document is likely to be necessary. +It is this difficulty (what's required in any instance can't really be +expressed in current LaTeX) that led the author of +<i>multicol</i> to suppress single-column-wide floats. +<dl> +<dt><tt><i>balance.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/preprint.zip">macros/latex/contrib/preprint</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/preprint.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/preprint/">browse</a>) +<dt><tt><i>flushend.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sttools.zip">macros/latex/contrib/sttools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sttools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/sttools/">browse</a>) +<dt><tt><i>multicol.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<p></dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=balance">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=balance</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-baselinepar.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-baselinepar.html new file mode 100644 index 00000000000..bbb9ff88461 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-baselinepar.html @@ -0,0 +1,79 @@ +<head> +<title>UK TeX FAQ -- question label baselinepar</title> +</head><body> +<h3>Only one <code>\</code><code>baselineskip</code> per paragraph</h3> +<p>The <code>\</code><code>baselineskip</code> is not (as one might hope) a property of a +line, but of a paragraph. As a result, in a <code>10pt</code> (nominal) +document (with a default <code>\</code><code>baselineskip</code> of <code>12pt</code>), a +single character with a larger size, as: +<blockquote> +<pre> +{\Huge A} +</pre> +</blockquote> +will be squashed into the paragraph: TeX will make sure it doesn't +scrape up against the line above, but won't give it "room to +breathe", as it does the text at standard size; that is, its size +(<code>24.88pt</code>) is taken account of, but its <code>\</code><code>baselineskip</code> +(<code>30pt</code>) isn't. Similarly +<blockquote> +<pre> +Paragraph text ... +{\footnotesize Extended interjection ... + ... into the paragraph.} + ... paragraph continues ... +</pre> +</blockquote> +will look silly, since the <code>8pt</code> interjection will end up set +on the <code>12pt</code> <code>\</code><code>baselineskip</code> of the paragraph, rather than +its preferred <code>8.5pt</code>. Finally, something like +<blockquote> +<pre> +Paragraph text ... + ... paragraph body ends. +{\footnotesize Short comment on paragraph.} + +Next paragraph starts... +</pre> +</blockquote> +will set the body of the first paragraph on the constricted +<code>\</code><code>baselineskip</code> of the <code>\</code><code>footnotesize</code> comment. +<p>So, how to deal with these problems? The oversized (short) section is +typically corrected by a <em>strut</em>: this word comes from movable +metal typography, and refers to a spacer that held the boxes (that +contained the metal character shapes) apart. Every time you change +font size, LaTeX redefines the command <code>\</code><code>strut</code> to provide the +equivalent of a metal-type strut for the size chosen. So for the +example above, we would type +<blockquote> +<pre> +Paragraph text ... + {\Huge A\strut} + ... paragraph continues ... +</pre> +</blockquote> +However, more extended insertions (whether of larger or smaller text) +are always going to cause problems; while you can strut larger text, +ensuring that you strut every line will be tiresome, and there's no +such thing as a "negative strut" that pulls the lines together for +smaller text. +<p>The only satisfactory way to deal with an extended insertion at a +different size is to set it off as a separate paragraph. A +satisfactory route to achieving this is the <code>quote</code> +environment, which sets its text modestly inset from the enclosing +paragraph: +<blockquote> +<pre> +Paragraph text ... +\begin{quote} + \footnotesize This is an inset account + of something relevant to the enclosing + paragraph... +\end{quote} +... paragraph continues ... +</pre> +</blockquote> +Such quote-bracketing also deals with the problem of a trailing +comment on the paragraph. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=baselinepar">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=baselinepar</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibaccent.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibaccent.html new file mode 100644 index 00000000000..8fb52729811 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibaccent.html @@ -0,0 +1,14 @@ +<head> +<title>UK TeX FAQ -- question label bibaccent</title> +</head><body> +<h3>Accents in bibliographies</h3> +<p>BibTeX not only has a tendency (by default) to mess about with the + +<a href="FAQ-capbibtex.html">case of letters in your bibliography</a>, +also makes a hash of accent commands: +"<code>ma\~nana</code>" comes out as "ma nana" (!). The solution is +similar: enclose the troublesome sequence in braces, as +"<code>{</code><code>\~n</code><code>}</code>", in this example. + +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibaccent">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibaccent</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibinline.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibinline.html new file mode 100644 index 00000000000..7c4cdfba27d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibinline.html @@ -0,0 +1,39 @@ +<head> +<title>UK TeX FAQ -- question label bibinline</title> +</head><body> +<h3>Putting bibliography entries in text</h3> +<p>This is a common requirement for journals and other publications in +the humanities. Sometimes the requirement is for the entry to appear +in the running text of the document, while other styles require that +the entry appear in a footnote. +<p>Options for entries in running text are +<ul> +<li> The package <i>bibentry</i>, which puts slight restrictions + on the format of entry that your <code>.bst</code> file generates, but is + otherwise undemanding of the bibliography style. +<li> The package <i>inlinebib</i>, which requires that you use its + <i>inlinebib.bst</i> +<li> The package <i>jurabib</i>, which was originally targetted at + German law documents, and has comprehensive facilities for the + manipulation of citations. The package comes with four bibliography + styles that you may use: <i>jurabib.bst</i>, <i>jhuman.bst</i> and + two Chicago-like ones. +</ul> +<p>Options for entries in footnotes are +<ul> +<li> The package <i>footbib</i>, and +<li> The package <i>jurabib</i>, again. +</ul> +Note that <i>jurabib</i> does the job using LaTeX's standard +footnotes, whereas <i>footbib</i> creates its own sequence of +footnotes. Therefore, in a document which has other footnotes, it's +best to use <i>jurabib</i>, to avoid confusion of footnotes and +foot-citations. +<dl> +<dt><tt><i>bibentry.sty</i></tt><dd><em>Distributed with</em> <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/natbib.zip">macros/latex/contrib/natbib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/natbib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/natbib/">browse</a>) +<dt><tt><i>footbib.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footbib.zip">macros/latex/contrib/footbib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footbib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/footbib/">browse</a>) +<dt><tt><i>inlinebib.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/inlinebib.zip">biblio/bibtex/contrib/inlinebib</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/inlinebib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/inlinebib/">browse</a>) +<dt><tt><i>jurabib.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/jurabib.zip">macros/latex/contrib/jurabib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/jurabib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/jurabib/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibinline">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibinline</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibplain.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibplain.html new file mode 100644 index 00000000000..dcb02c736ef --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibplain.html @@ -0,0 +1,15 @@ +<head> +<title>UK TeX FAQ -- question label bibplain</title> +</head><body> +<h3>Using BibTeX with Plain TeX</h3> +<p>The file <i>btxmac.tex</i> (which is part of the Eplain system) +contains macros and documentation for using BibTeX with Plain +TeX, either directly or with <a href="FAQ-eplain.html">Eplain</a>. See +<a href="FAQ-BibTeXing.html">the use of BibTeX</a> for more +information about BibTeX itself. +<dl> +<dt><tt><i>btxmac.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/eplain/btxmac.tex">macros/eplain/btxmac.tex</a> +<dt><tt><i>eplain system</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/eplain.zip">macros/eplain</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/eplain.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/eplain/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibplain">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibplain</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibprefixsort.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibprefixsort.html new file mode 100644 index 00000000000..38a5510a169 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibprefixsort.html @@ -0,0 +1,32 @@ +<head> +<title>UK TeX FAQ -- question label bibprefixsort</title> +</head><body> +<h3>BibTeX sorting and name prefixes</h3> +<p>BibTeX recognises a bewildering array of name prefixes (mostly +those deriving from European language names); it ignores the prefixes +when sorting the bibliography - you want "Ludwig van Beethoven" +sorted under "Beethoven", not under "van". (Lamport made a witty +deliberate mistake with Beethoven's name, in the first edition of his +LaTeX manual.) +<p>However, a recurring issue is the desire to quote Lord Rayleigh's +publications ("Lord" isn't an acceptable prefix), or names from +languages that weren't considered when BibTeX was designed such as +"al-Wakil" (transcribed from the Arabic). What's needed is a +separate "sort key", but BibTeX only allows such a thing in +citations of items that have no author or editor. +<p>The solution is to embed the sort key in the author's name, but to +prevent it from being typeset. Patashnik recommends a command +<code>\</code><code>noopsort</code> (no-output-sortkey), which is defined and used as +follows: +<blockquote> +<pre> +@PREAMBLE{ {\providecommand{\noopsort}[1]{}} } +... +@ARTICLE{Rayleigh1, +AUTHOR = "{\noopsort{Rayleigh}}{Lord Rayleigh}", +... +</pre> + +</blockquote> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibprefixsort">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibprefixsort</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibstrtl.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibstrtl.html new file mode 100644 index 00000000000..97f9387bc33 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibstrtl.html @@ -0,0 +1,48 @@ +<head> +<title>UK TeX FAQ -- question label bibstrtl</title> +</head><body> +<h3>'String too long' in BibTeX</h3> +<p>The BibTeX diagnostic "Warning-you've exceeded 1000, the +<code>global-string-size</code>, for entry <code>foo</code>" usually arises from a very +large abstract or annotation included in the database. The diagnostic +usually arises because of an infelicity in the coding of +<i>abstract.bst</i>, or styles derived from it. (One doesn't +ordinarily output annotations in other styles.) +<p>The solution is to make a copy of the style file (or get a clean copy +from CTAN - <a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/abstract.bst">biblio/bibtex/contrib/abstract.bst</a>), and rename it (e.g., on a +long file-name system to <i>abstract-long.bst</i>). Now edit it: find +function <code>output.nonnull</code> and +<ul> +<li> change its first line (line 60 in the version on CTAN) + from <code>"{ 's :="</code> to <code>"{ swap$"</code>, and +<li> delete its last line, which just says <code>"s"</code> (line 84 in the + version on CTAN). +</ul> +Finally, change your <code>\</code><code>bibliographystyle</code> command to refer to the +name of the new file. +<p>This technique applies equally to any bibliography style: the same +change can be made to any similar <code>output.nonnull</code> function. +<p> + + + + +<p>If you're reluctant to make this sort of change, the only way forward +is to take the entry out of the database, so that you don't encounter +BibTeX's limit, but you may need to retain the entry because it +will be included in the typeset document. In such cases, put the body +of the entry in a separate file: +<blockquote> +<pre> +@article{long.boring, + author = "Fred Verbose", + ... + abstract = "{\input{abstracts/long.tex}}" +} +</pre> +</blockquote> +In this way, you arrange that all BibTeX has to deal with is the +file name, though it will tell TeX (when appropriate) to include +all the long text. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibstrtl">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibstrtl</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibtocorder.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibtocorder.html new file mode 100644 index 00000000000..84d7ec73f90 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibtocorder.html @@ -0,0 +1,32 @@ +<head> +<title>UK TeX FAQ -- question label bibtocorder</title> +</head><body> +<h3>Table of contents rearranges "<i>unsrt</i>" ordering</h3> +<p>If you're using the <i>unsrt</i> bibliography style, you're +expecting that your bibliography will <em>not</em> be sorted, but that +the entries will appear in the order that they first appeared in your +document. +<p>However, if you're unfortunate enough to need a citation in a section +title, and you also have a table of contents, the citations that now +appear in the table of contents will upset the "natural" ordering +produced by the <i>unsrt</i> style. Similarly, if you have +citations in captions, and have a list of figures (or tables). +<p>There's a pretty simple "manual" method for dealing with the +problem - when you have the document stable: +<ol> +<li> Delete the <code>.aux</code> file, and any of <code>.toc</code>, + <code>.lof</code>, <code>.lot</code> files. +<li> Run LaTeX. +<li> Run BibTeX for the last time. +<li> Run LaTeX often enough that things are stable again. +</ol> +Which is indeed simple, but it's going to get tedious when you've +found errors in your "stable" version, often enough. +<p>The package <i>notoccite</i> avoids the kerfuffle, and suppresses +citations while in the table of contents, or lists of figures, tables +(or other floating things: the code is quite general). +<dl> +<dt><tt><i>notoccite.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/notoccite.sty">macros/latex/contrib/misc/notoccite.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibtocorder">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibtocorder</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibtranscinit.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibtranscinit.html new file mode 100644 index 00000000000..5a8d9c11f4c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bibtranscinit.html @@ -0,0 +1,55 @@ +<head> +<title>UK TeX FAQ -- question label bibtranscinit</title> +</head><body> +<h3>Transcribed initials in BibTeX</h3> +<p>If your bibliographic style uses initials + surname, you may encounter +a problem with some transcribed names (for example, Russian ones). +Consider the following example from the real world: +<blockquote> + +<pre> +@article{epifanov1997, + author = {Epifanov, S. Yu. and Vigasin, A. A.}, + title = ... +} +</pre> +</blockquote> +Note that the "Yu" is the initial, not a complete name. However, +BibTeX's algorithms will leave you with a citation - +slightly depending on the bibliographic style - that reads: +"S. Y. Epifanov and A. A. Vigasin, ...". instead of the intended +"S. Yu. Epifanov and A. A. Vigasin, ...". +<p>One solution is to replace each affected initial by a command that +prints the correct combination. To keep your bibliography portable, +you need to add that command to your bibliography with the +<code>@preamble</code> directive: +<blockquote> + +<pre> +@preamble{ {\providecommand{\BIBYu}{Yu} } } + +@article{epifanov1997, + author = {Epifanov, S. {\BIBYu}. and Vigasin, A. A.}, + title = ... +} +</pre> +</blockquote> +If you have many such commands, you may want to put them in a separate +file and <code>\</code><code>input</code> that LaTeX file in a <code>@preamble</code> +directive. +<p>An alternative is to make the transcription look like an accent, from +BibTeX's point of view. For this we need a control sequence that +does nothing: +<blockquote> +<pre> +@article{epifanov1997, + author = {Epifanov, S. {\relax Yu}. and Vigasin, A. A.}, + title = ... +} +</pre> +</blockquote> +Like the solution by generating extra commands, this involves tedious +extra typing; which of the two techniques is preferable for a given +bibliography will be determined by the names in it. +<p><p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibtranscinit">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bibtranscinit</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bold-extras.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bold-extras.html new file mode 100644 index 00000000000..cd52419820d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bold-extras.html @@ -0,0 +1,40 @@ +<head> +<title>UK TeX FAQ -- question label bold-extras</title> +</head><body> +<h3>How to do bold-tt or bold-sc</h3> +<p>LaTeX, as delivered, offers no means of handling bold "teletype" +or small-caps fonts. There's a practical reason for this (Knuth never +designed such fonts), but there are typographical considerations too +(the "medium weight" <code>cmtt</code> font is already pretty bold (by +comparison with other fixed-width fonts), and bold small-caps is not +popular with many professional typographers). +<p>There's a set of "extra" Metafont files on CTAN that provide bold +versions of both <code>cmtt</code> and <code>cmcsc</code> (the small caps font). With +modern TeX distributions, one may bring these fonts into use simply +by placing them in an +<a href="FAQ-wherefiles.html">appropriate place in the <em>texmf</em> tree</a> +(these are (La)TeX-specific files, so the "<em>public</em>" supplier +would be an appropriate place). Once you've +<a href="FAQ-instpackages.html">rebuilt the file indexes as necessary</a>, +TeX (and friends) will automatically build whatever font files they +need when you first make reference to them. There's a jiffy package +<i>bold-extra</i> that builds the necessary font data structures +so that you can use the fonts within LaTeX. +<p>Another alternative is to use the <a href="FAQ-ECfonts.html">EC fonts</a>, +which come with bold variants of the small-caps fonts. +<p>If you need to use Type 1 fonts, you can't proceed with Knuth-style +fonts, since there are no Type 1 versions of the <i>mf-extra</i> +set. There are, however, Type 1 distributions of the EC fonts, so you +can switch to EC and use them; alternatives are discussed in +<a href="FAQ-type1T1.html">8-bit Type 1 fonts</a>. +Of course, commercial fixed-width fonts (even the default +<i>Courier</i>) almost always come with a bold variant, so that's +not a problem. Furthermore <a href="FAQ-usepsfont.html">PSNFSS</a> +will usually provide "faked" small caps fonts, and has no +compunctions about providing them in a bold form. +<dl> +<dt><tt><i>bold-extra.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/bold-extra.sty">macros/latex/contrib/misc/bold-extra.sty</a> +<dt><tt><i>bold tt and small caps fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/cm/mf-extra/bold.zip">fonts/cm/mf-extra/bold</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/cm/mf-extra/bold.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/cm/mf-extra/bold/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bold-extras">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=bold-extras</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-boldgreek.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-boldgreek.html new file mode 100644 index 00000000000..20b00c7d35a --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-boldgreek.html @@ -0,0 +1,46 @@ +<head> +<title>UK TeX FAQ -- question label boldgreek</title> +</head><body> +<h3>Setting bold Greek letters in LaTeX</h3> +<p>The issue here is complicated by the fact that <code>\</code><code>mathbf</code> (the +command for setting bold <em>text</em> in TeX maths) affects a select +few mathematical symbols (the uppercase Greek letters). However +lower-case Greek letters behave differently from upper-case Greek +letters (due to Knuth's esoteric font encoding decisions). However, +<code>\</code><code>mathbf</code> <em>can't</em> be used even for upper-case Greek letters in +the AMSLaTeX <i>amsmath</i> package, which +disables this font-switching and you must use one of the techniques +outlined below. +<p>The Plain TeX solution <em>does</em> work, in a limited way: +<blockquote> +<pre> +{\boldmath$\theta$} +</pre> +</blockquote> +but <code>\</code><code>boldmath</code> may not be used in maths mode, so this 'solution' +requires arcana such as: +<blockquote> +<pre> +$... \mbox{\boldmath$\theta$} ...$ +</pre> +</blockquote> +which then causes problems in superscripts, etc. +<p>These problems may be addressed by using a bold mathematics package. +<ul> +<li> The <i>bm</i> package, which is part of the LaTeX tools + distribution, defines a command <code>\</code><code>bm</code> which may be used anywhere + in maths mode. +<li> The <i>amsbsy</i> package (which is part of AMSLaTeX) + defines a command <code>\</code><code>boldsymbol</code>, which (though slightly less + comprehensive than <code>\</code><code>bm</code>) covers almost all common cases. +</ul> +<p>All these solutions cover all mathematical symbols, not merely Greek +letters. +<dl> +<dt><tt><i>bm.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>amsbsy.sty</i></tt><dd>Distributed as part of AMSLaTeX <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +<dt><tt><i>amsmath.sty</i></tt><dd>Distributed as part of AMSLaTeX + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=boldgreek">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=boldgreek</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-books.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-books.html new file mode 100644 index 00000000000..3da9f7a3143 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-books.html @@ -0,0 +1,134 @@ +<head> +<title>UK TeX FAQ -- question label books</title> +</head><body> +<h3>Books on TeX and its relations</h3> +<p>While Knuth's book is the definitive reference for TeX, there are +other books covering TeX: +<dl> +<dt>The TeXbook<dd>by Donald Knuth (Addison-Wesley, 1984, + ISBN 0-201-13447-0, paperback ISBN 0-201-13448-9) +<dt>A Beginner's Book of TeX<dd>by Raymond Seroul and Silvio Levy, + (Springer Verlag, 1992, ISBN 0-387-97562-4) +<dt>TeX by Example: A Beginner's Guide<dd>by Arvind Borde + (Academic Press, 1992, ISBN 0-12-117650-9 - now out of print) +<dt>Introduction to TeX<dd>by Norbert Schwarz (Addison-Wesley, + 1989, ISBN 0-201-51141-X - now out of print) +<dt>A Plain TeX Primer<dd>by Malcolm Clark (Oxford University + Press, 1993, ISBNs 0-198-53724-7 (hardback) and 0-198-53784-0 + (paperback)) +<dt>A TeX Primer for Scientists<dd>by Stanley Sawyer and Steven + Krantz (CRC Press, 1994, ISBN 0-849-37159-7) +<dt>TeX by Topic<dd>by Victor Eijkhout (Addison-Wesley, 1992, + ISBN 0-201-56882-9 - now out of print, but see + <a href="FAQ-tutorials.html">(La)TeX tutorials</a>) +<dt>TeX for the Beginner<dd>by Wynter Snow (Addison-Wesley, 1992, + ISBN 0-201-54799-6) +<dt>TeX for the Impatient<dd>by Paul W. Abrahams, Karl Berry and + Kathryn A. Hargreaves (Addison-Wesley, 1990, + ISBN 0-201-51375-7 - now out of print, but see + <a href="FAQ-tutorials.html">(La)TeX tutorials</a>) +<dt>TeX in Practice<dd>by Stephan von Bechtolsheim (Springer + Verlag, 1993, 4 volumes, ISBN 3-540-97296-X for the set, or + + Vol. 1: ISBN 0-387-97595-0, + Vol. 2: ISBN 0-387-97596-9, + Vol. 3: ISBN 0-387-97597-7, and + Vol. 4: ISBN 0-387-97598-5) + +<dt>TeX: Starting from Square One<dd> + by Michael Doob (Springer + Verlag, 1993, ISBN 3-540-56441-1 - now out of print) +<dt>The Joy of TeX<dd>by Michael D. Spivak (second edition, + AMS, 1990, ISBN 0-821-82997-1) +<dt>The Advanced TeXbook<dd>by David Salomon (Springer Verlag, 1995, + ISBN 0-387-94556-3) +</dl> +A collection of Knuth's publications about typography is also available: +<dl> +<dt>Digital Typography<dd>by Donald Knuth (CSLI and Cambridge + University Press, 1999, ISBN 1-57586-011-2, paperback + ISBN 1-57586-010-4). +</dl> +and in late 2000, a "Millennium Boxed Set" of all +5 volumes of Knuth's "Computers and Typesetting" series (about +TeX and Metafont) was published by Addison Wesley: +<dl> +<dt>Computers & Typesetting, Volumes A-E Boxed Set<dd>by Donald Knuth + (Addison-Wesley, 2001, ISBN 0-201-73416-8). +</dl> + +For LaTeX, see: +<dl> +<dt>LaTeX, a Document Preparation System<dd>by Leslie Lamport + (second edition, Addison Wesley, 1994, ISBN 0-201-52983-1) +<dt>Guide to LaTeX<dd>Helmut Kopka and Patrick W. Daly (fourth + edition, Addison-Wesley, 2004, ISBN 0-321-17385-6) +<dt>The LaTeX Companion<dd>by Frank Mittelbach, Michel Goossens, + Johannes Braams, David Carlisle and Chris Rowley (second edition, + Addison-Wesley, 2004, ISBN 0-201-36299-6) +<dt>The LaTeX Graphics Companion:<dd> + <em>Illustrating documents with TeX and PostScript</em> by Michel + Goossens, Sebastian Rahtz and Frank Mittelbach (Addison-Wesley, + 1997, ISBN 0-201-85469-4) +<dt>The LaTeX Web Companion:<dd> + <em>Integrating TeX, HTML and XML</em> by Michel + Goossens and Sebastian Rahtz (Addison-Wesley, 1999, ISBN 0-201-43311-7) +<dt>TeX Unbound:<dd> + <em>LaTeX and TeX strategies for fonts, graphics, and more</em> + by Alan Hoenig (Oxford University Press, 1998, ISBN 0-19-509685-1 + hardback, ISBN 0-19-509686-X paperback) +<dt>Math into LaTeX:<dd><em>An Introduction to LaTeX and AMSLaTeX</em> + by George Grätzer (third edition Birkhäuser and Springer Verlag, + 2000, ISBN 0-8176-4431-9, ISBN 3-7643-4131-9) + + + +<p> A list of errata for the first printing is available from: + <a href="http://www.springer-ny.com/catalog/np/jan99np/0-387-98708-8.html">http://www.springer-ny.com/catalog/np/jan99np/0-387-98708-8.html</a> +<dt>First Steps in LaTeX<dd>by George Grätzer (Birkhäuser, 1999, + ISBN 0-8176-4132-7) +<dt>LaTeX: Line by Line:<dd> + <em>Tips and Techniques for Document Processing</em> + by Antoni Diller (second edition, John Wiley & Sons, + 1999, ISBN 0-471-97918-X) +<dt>LaTeX for Linux:<dd><em>A Vade Mecum</em> + by Bernice Sacks Lipkin (Springer-Verlag, 1999, + ISBN 0-387-98708-8, second printing) +</dl> +A sample of George Grätzer's "Math into LaTeX", in Adobe +Acrobat format, and example files + +for the three LaTeX Companions, and for +Grätzer's "First Steps in LaTeX", are all available on +CTAN. +<p>There's a nicely-presented list of of "recommended books" to be had +on the web: <a href="http://www.macrotex.net/texbooks/">http://www.macrotex.net/texbooks/</a> +<p>The list of Metafont books is rather short: +<dl> +<dt>The Metafontbook<dd>by Donald Knuth (Addison Wesley, 1986, + ISBN 0-201-13445-4, ISBN 0-201-52983-1 paperback) +</dl> +Alan Hoenig's '<i>TeX Unbound</i>' includes some discussion and +examples of using Metafont. +<p>A book covering a wide range of topics (including installation and +maintenance) is: +<dl> +<dt>Making TeX Work<dd>by Norman Walsh (O'Reilly and Associates, + Inc, 1994, ISBN 1-56592-051-1) +</dl> +The book is decidedly dated, and is now out of print, but a copy is +available via <code>sourceforge</code> and on CTAN, +and we list it under "<a href="FAQ-tutorials.html">tutorials</a>". +<p><p>This list only covers books in English: notices of new books, or +warnings that books are now out of print are always welcome. However, +this FAQ does <em>not</em> carry reviews of current published material. +<dl> +<dt><tt><i>Examples for First Steps in LaTeX</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/examples/FirstSteps.zip">info/examples/FirstSteps</a> (<a href="ftp://cam.ctan.org/tex-archive/info/examples/FirstSteps.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/examples/FirstSteps/">browse</a>) +<dt><tt><i>Examples for LaTeX Companion</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/examples/tlc2.zip">info/examples/tlc2</a> (<a href="ftp://cam.ctan.org/tex-archive/info/examples/tlc2.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/examples/tlc2/">browse</a>) +<dt><tt><i>Examples for LaTeX Graphics Companion</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/examples/lgc.zip">info/examples/lgc</a> (<a href="ftp://cam.ctan.org/tex-archive/info/examples/lgc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/examples/lgc/">browse</a>) +<dt><tt><i>Examples for LaTeX Web Companion</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/examples/lwc.zip">info/examples/lwc</a> (<a href="ftp://cam.ctan.org/tex-archive/info/examples/lwc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/examples/lwc/">browse</a>) + +<dt><tt><i>Sample of Math into LaTeX</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/mil/mil.pdf">info/mil/mil.pdf</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=books">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=books</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-braket.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-braket.html new file mode 100644 index 00000000000..9967f3edf52 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-braket.html @@ -0,0 +1,32 @@ +<head> +<title>UK TeX FAQ -- question label braket</title> +</head><body> +<h3>Set specifications and Dirac brackets</h3> +<p>One of the few glaring omissions from TeX's mathematical +typesetting capabilities is a means of setting separators in the +middle of mathematical expressions. TeX provides primitives called +<code>\</code><code>left</code> and <code>\</code><code>right</code>, which can be used to modify brackets (of +whatever sort) around a mathematical expression, as in: + +<code>\left( <expression> \right)</code> - the size of the parentheses is +matched to the vertical extent of the expression. +<p>However, in all sorts of mathematical enterprises one may find oneself +needing a <code>\</code><code>middle</code> command, to be used in expressions like +<blockquote> +<pre> +\left\{ x \in \mathbb{N} \middle| x \mbox{ even} \right\} +</pre> + +</blockquote> +to specify the set of even natural numbers. The +<a href="FAQ-NTS.html">e-TeX system</a> +defines just such a command, but users of Knuth's original need some +support. Donald Arseneau's <i>braket</i> package provides commands +for set specifications (as above) and for Dirac brackets (and bras and +kets). The package uses the e-TeX built-in command if it finds +itself running under e-TeX. +<dl> +<dt><tt><i>braket.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/braket.sty">macros/latex/contrib/misc/braket.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=braket">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=braket</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-breakbox.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-breakbox.html new file mode 100644 index 00000000000..aeec4e372d6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-breakbox.html @@ -0,0 +1,43 @@ +<head> +<title>UK TeX FAQ -- question label breakbox</title> +</head><body> +<h3>Breaking boxes of text</h3> +<p>(La)TeX boxes may not be broken, in ordinary usage: once you've +typeset something into a box, it will stay there, and the box will jut +out beyond the side or the bottom of the page if it doesn't fit in the +typeset area. +<p>If you want a substantial portion of your text to be framed (or +coloured), the restriction starts to seem a real imposition. +Fortunately, there are ways around the problem. +<p>The <i>framed</i> package provides <code>framed</code> and +<code>shaded</code> environments; both put their content into +something which looks like a framed (or coloured) box, but which +breaks as necessary at page end. The environments "lose" footnotes, +marginpars and head-line entries, and will not work with +<i>multicol</i> or other column-balancing macros. The +<i>memoir</i> class includes the functionality of the +<i>framed</i> package. +<p>The <i>boites</i> package provides a <code>breakbox</code> +environment; examples of its use may be found in the distribution, and +the package's <i>README</i> file contains terse documentation. The +environments may be nested, and may appear inside +<code>multicols</code> environments; however, floats, footnotes and +marginpars will be lost. +<p>For Plain TeX users, the facilities of the <i>backgrnd</i> +package may be useful; this package subverts the output routine to +provide vertical bars to mark text, and the macros are clearly marked +to show where coloured backgrounds may be introduced (this requires +<i>shade</i>, which is distributed as tex macros and +device-independent Metafont for the shading). The author of +<i>backgrnd</i> claims that the package works with LaTeX 2.09, but +there are reasons to suspect that it may be unstable working with +current LaTeX. +<dl> +<dt><tt><i>backgrnd.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/generic/backgrnd.tex">macros/generic/backgrnd.tex</a> +<dt><tt><i>boites.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/boites.zip">macros/latex/contrib/boites</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/boites.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/boites/">browse</a>) +<dt><tt><i>framed.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/framed.sty">macros/latex/contrib/misc/framed.sty</a> +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>shade.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/generic/shade.sty">macros/generic/shade.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=breakbox">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=breakbox</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-breaklinks.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-breaklinks.html new file mode 100644 index 00000000000..a4abc5c3e8e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-breaklinks.html @@ -0,0 +1,28 @@ +<head> +<title>UK TeX FAQ -- question label breaklinks</title> +</head><body> +<h3>Link text doesn't break at end line</h3> +<p>When using the <i>hyperref</i> package, you make a block of text +"active" when you define a hyper-link (when the user clicks on +that text, the reader program will divert to the <em>target</em> of the +link). +<p>The <i>hyperref</i> package uses a <em>driver</em> (in the same way +as the <i>graphics</i> package does), to determine how to implement +all that hyper-stuff. +<p>If you use the driver for <i>dvips</i> output (presumably you want +to distill the resulting PostScript), limitations in the way <i>dvips</i> +deals with the <code>\</code><code>special</code> commands mean that <i>hyperref</i> +must prevent link anchors from breaking at the end of lines. Other +drivers (notably those for PDFTeX and for <i>dvipdfm</i>) don't +suffer from this problem. +<p>The only known solution to this problem is to use the +<i>breakurl</i> package. This package provides a very simple +solution: in place of the single link, the <code>\</code><code>burl</code> command produces +a sequences of small pieces, between each of which a line break is +permitted. Each sequence of pieces, that ends up together in one +line, is converted to a single clickable link. +<dl> +<dt><tt><i>breakurl.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/breakurl.zip">macros/latex/contrib/breakurl</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/breakurl.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/breakurl/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=breaklinks">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=breaklinks</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-buffovl.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-buffovl.html new file mode 100644 index 00000000000..4fbfbd20aa9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-buffovl.html @@ -0,0 +1,54 @@ +<head> +<title>UK TeX FAQ -- question label buffovl</title> +</head><body> +<h3>Unable to read an entire line</h3> +<p>TeX belongs to the generation of applications written for +environments that didn't offer the sophisticated string and i/o +manipulation we nowadays take for granted (TeX was written in +Pascal, and the original Pascal standard made no mention of i/o, so +that anything but the most trivial operations were likely to be +unportable). +<p>When you overwhelm TeX's input mechanism, you get told: +<pre> +! Unable to read an entire line---bufsize=3000. + Please ask a wizard to enlarge me. +</pre> +(for some value of '3000' - the quote was from a +<i>comp.text.tex</i> posting by a someone who was presumably +using an old TeX). +<p>As the message implies, there's (what TeX thinks of as a) line in +your input that's "too long" (to TeX's way of thinking). Since +modern distributions tend to have tens of thousands of bytes of input +buffer, it's somewhat rare that these messages occur "for real". +Probable culprits are: +<ul> +<li> A file transferred from another system, without translating + record endings. With the decline of fixed-format records (on + mainframe operating systems) and the increased intelligence of + TeX distributions at recognising other systems' explicit + record-ending characters, this is nowadays rather a rare cause of + the problem. +<li> A graphics input file, which a package is examining for its + bounding box, contains a binary preview section. Again, + sufficiently clever TeX distributions recognise this situation, + and ignore the previews (which are only of interest, if at all, to a + TeX previewer). +</ul> +<p>The usual advice is to ignore what TeX says (i.e., anything about +enlarging), and to put the problem right in the source. +<p>If the real problem is over-long text lines, most self-respecting text +editors will be pleased to automatically split long lines (while +preserving the "word" structure) so that they are nowhere any longer +than a given length; so the solution is just to edit the file. +<p>If the problem is a ridiculous preview section, try using +<i>ghostscript</i> to reprocess the file, outputting a "plain +<code>.eps</code>" file. (<i>Ghostscript</i> is distributed with a script +<i>ps2epsi</i> which will regenerate the preview if necessary.) +Users of the shareware program <i>GSview</i> will find buttons to +perform the required transformation of the file being displayed. +<dl> +<dt><tt><i>ghostscript</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/ghostscript/">nonfree/support/ghostscript/</a> +<dt><tt><i>GSview</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/ghostscript/ghostgum/">nonfree/support/ghostscript/ghostgum/</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=buffovl">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=buffovl</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bug.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bug.html new file mode 100644 index 00000000000..dd613b47bc3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-bug.html @@ -0,0 +1,35 @@ +<head> +<title>UK TeX FAQ -- question label bug</title> +</head><body> +<h3>What to do if you find a bug</h3> + + + + +<p>For a start, make entirely sure you <em>have</em> found a bug. +Double-check with books about TeX, LaTeX, or whatever you're using; +compare what you're seeing against the other answers above; ask every +possible person you know who has any TeX-related expertise. +The reasons for all this caution are various. +<p>If you've found a bug in TeX itself, you're a rare animal indeed. +Don Knuth is so sure of the quality of his code that he offers real +money prizes to finders of bugs; the cheques he writes are +such rare items that they are seldom cashed. If <em>you</em> +think you have found a genuine fault in TeX itself (or Metafont, or the +CM fonts, or the TeXbook), don't immediately write to Knuth, +however. He only looks at bugs once or twice a year, and even then +only after they are agreed as bugs by a small vetting team. In the +first instance, contact Barbara Beeton at the AMS +(<i>bnb@math.ams.org</i>), or contact +<a href="FAQ-TUGstar.html">TUG</a>. +<p>If you've found a bug in LaTeX2e, <a href="FAQ-latexbug.html">report it</a> +using mechanisms supplied in the LaTeX distribution. +<p>If you've found a bug in LaTeX 2.09, or some other such unsupported +software, there's not a lot you can do about it. You may find help or +<em>de facto</em> support on a newsgroup such as +<i>comp.tex.tex</i> or on a mailing list such as +<a href="mailto:texhax@tug.org"><i>texhax@tug.org</i></a>, but posting non-bugs to any of these forums +can lay you open to ridicule! Otherwise you may need to pay for +help - TUG maintains a +<a href="http://www.tug.org/consultants.html">register of TeX consultants</a>. +<p></body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-buildbib.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-buildbib.html new file mode 100644 index 00000000000..15f08699153 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-buildbib.html @@ -0,0 +1,74 @@ +<head> +<title>UK TeX FAQ -- question label buildbib</title> +</head><body> +<h3>Creating a BibTeX bibliography file</h3> +<p>A BibTeX bibliography file may reasonably be compared to a small +database, the entries in which are references to literature that may +be called up by citations in a document. +<p>Each entry in the bibliography has a <em>type</em> and a unique +<em>key</em>. The bibliography is read, by BibTeX, using the details +specified in a <em>bibliography style</em>. From the style, BibTeX +finds what entry types are permissible, what <em>fields</em> each entry +type has, and how to format the whole entry. +<p>The type specifies the type of document you're making reference to; it +may run all the way from things like "<code>Book</code>" and +"<code>Proceedings</code>" (which may even contain other citations +of type "<code>InBook</code>" or "<code>InProceedings</code>") +through dissertation styles like "<code>PhdThesis</code>" to +otherwise-uncategorisable things such as "<code>Misc</code>". The +unique key is something you choose yourself: it's what you use when +you want to <a href="FAQ-usebibtex.html">cite an entry in the file</a>. People +commonly create a key that combines the (primary) author's name and +the year of publication, possibly with a marker to distinguish +publications in the same year. So, for example, the Dyson, Eddington, +Davidson paper about deflection of starlight appears in my +experimental <code>.bib</code> file as <code>Dyson20.1</code>. +<p>So, noting the rules of the style, you have 'simply' to write a +bibliography database. Fortunately, there are several tools to help +in this endeavour: +<ul> +<li> Most of the better <a href="FAQ-editors.html">(La)TeX-oriented editors</a> + have "BibTeX modes". +<li> If you have an existing <code>thebibliography</code> + environment, the <i>Perl</i> script <i>tex2bib</i> will + probably help (there's no documentation other than the oddly-named + <i>tex2bib.readme</i>). +<li> There are a number of BibTeX bibliography management systems + available, some of which permit a graphical user interface to the + task. Sadly, none seems to be available with the ordinary TeX + distributions. +<p> Tools such as <i>Xbibfile</i> (a graphical user interface), + <i>ebib</i> (a database application written to run 'inside' + <i>emacs</i>) and + <i>btOOL</i> (a set of <i>perl</i> tools for building + BibTeX database handlers) are available from CTAN. +<p> Other systems, such as + <a href="http://refdb.sourceforge.net/"><i>RefDB</a></i>, + <a href="http://www.nongnu.org/biborb">BibORB</a>, + <a href="http://bibdesk.sourceforge.net/"><i>BibDesk</a></i>, + <a href="http://pybliographer.org"><i>pybliographer</a></i> and the + <i>Java</i>-based + <a href="http://freshmeat.net/projects/bibkeeper/"><i>Bibkeeper</a></i> + and <a href="http://jabref.sourceforge.net"><i>JabRef</a></i> (which + claims to supersede <i>Bibkeeper</i>) + are only available from their development sites. + +<li> Some commercial citation-management systems will export in + BibTeX format; an example is + <a href="http://www.endnote.com/">EndNote</a>. +<li> Data from on-line citation databases may often be translated to + BibTeX format by utilities to be found on CTAN. For + example, the <i>Perl</i> script <i>isi2bibtex</i> will + translate citations from ISI "Web of knowledge" (a + subscription service, available to UK academics as BIDS). +</ul> +<dl> +<dt><tt><i>btOOL</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/btOOL.zip">biblio/bibtex/utils/btOOL</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/btOOL.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/utils/btOOL/">browse</a>) +<dt><tt><i>ebib</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/ebib.zip">biblio/bibtex/utils/ebib</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/ebib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/utils/ebib/">browse</a>) +<dt><tt><i>isi2bibtex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/isi2bibtex.zip">biblio/bibtex/utils/isi2bibtex</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/isi2bibtex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/utils/isi2bibtex/">browse</a>) +<dt><tt><i>tex2bib</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/tex2bib/tex2bib">biblio/bibtex/contrib/tex2bib/tex2bib</a> +<dt><tt><i>tex2bib.readme</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/tex2bib/tex2bib.readme">biblio/bibtex/contrib/tex2bib/tex2bib.readme</a> +<dt><tt><i>xbibfile</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/xbibfile.zip">biblio/bibtex/utils/xbibfile</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/xbibfile.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/utils/xbibfile/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=buildbib">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=buildbib</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cancellation.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cancellation.html new file mode 100644 index 00000000000..73befe2ed4e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cancellation.html @@ -0,0 +1,15 @@ +<head> +<title>UK TeX FAQ -- question label cancellation</title> +</head><body> +<h3>Cancelling terms in maths expressions</h3> +<p>A technique used when explaining the behaviour of expressions or +equations (often for pedagogical purposes). The <i>cancel</i> +package provides several variants of cancellation marks ("<code>\</code>", +"<code>/</code>" and "<code>X</code>"), and a means of cancelling 'to' a particular +value. +<p>Documentation of <i>cancel</i> is in the package file. +<dl> +<dt><tt><i>cancel.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/cancel.sty">macros/latex/contrib/misc/cancel.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=cancellation">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=cancellation</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-capbibtex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-capbibtex.html new file mode 100644 index 00000000000..614b55f97a2 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-capbibtex.html @@ -0,0 +1,43 @@ +<head> +<title>UK TeX FAQ -- question label capbibtex</title> +</head><body> +<h3>Capitalisation in BibTeX</h3> +<p>The standard BibTeX bibliography styles impose fixed ideas about +the capitalisation of titles of things in the bibliography. While +this is not unreasonable by BibTeX's lights (the rules come from +the <em>Chicago Manual of Style</em>) it can be troublesome, since +BibTeX fails to recognise special uses (such as acronyms, chemical +formulae, etc.). +<p>The solution is to enclose the letter or letters, whose capitalisation +BibTeX should not touch, in braces, as: +<blockquote> +<pre> +title = {The {THE} operating system}, +</pre> +</blockquote> +Sometimes you find BibTeX changing the case of a single letter +inappropriately. No matter: the technique can be applied to single +letters, as in: +<blockquote> +<pre> +title = {Te{X}niques and tips}, +</pre> +</blockquote> +If your document design specification requires a different style of +capitalisation, you should acquire a bibliography style that doesn't +enforce BibTeX's default rules. It is definitely <em>not</em> a good +idea to enclose an entire title in braces, as in +<blockquote> +<pre> +title = {{TeXniques and tips}}, +</pre> +</blockquote> +though that does ensure that the capitalisation is not changed. Your +BibTeX database should be a general-purpose thing, not something +tuned to the requirements of a particular document, or to the way you +are thinking today. +<p>There's more on the subject in the + +<a href="FAQ-BibTeXing.html">BibTeX documentation</a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=capbibtex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=capbibtex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-captsty.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-captsty.html new file mode 100644 index 00000000000..6acb9de0b2e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-captsty.html @@ -0,0 +1,51 @@ +<head> +<title>UK TeX FAQ -- question label captsty</title> +</head><body> +<h3>The style of captions</h3> +<p>Changes to the style of captions may be made by redefining the commands +that produce the caption. So, for example, <code>\</code><code>fnum@figure</code> (which +produces the float number for figure floats) may be redefined, in a +package of your own, or between +<a href="FAQ-atsigns.html"><code>\</code><code>makeatletter</code>-<code>\</code><code>makeatother</code></a>: +<blockquote> +<pre> +\renewcommand{\fnum@figure}{\textbf{Fig.~\thefigure}} +</pre> + +</blockquote> +which will cause the number to be typeset in bold face. (Note that +the original definition used +<a href="FAQ-fixnam.html"><code>\</code><code>figurename</code></a>.) More elaborate changes can be +made by patching the <code>\</code><code>caption</code> command, but since there are +packages to do the job, such changes (which can get rather tricky) +aren't recommended for ordinary users. +<p>The <i>float</i> package provides some control of the appearance of +captions, though it's principally designed for the creation of +non-standard floats. The <i>caption</i> and <i>ccaption</i> +(note the double "<em>c</em>") packages provide a range of different +formatting options. +<p><i>ccaption</i> also provides 'continuation' captions and captions +that can be placed outside of float environments. The (very simple) +<i>capt-of</i> package also allows captions outside a float +environment. Note that care is needed when doing things that assume +the sequence of floats (as in continuation captions), or potentially +mix non-floating captions with floating ones. +<p>The <i>memoir</i> class includes the facilities of the +<i>ccaption</i> package; the <i>KOMA-script</i> classes also +provide a wide range of caption-formatting commands. +<p>The documentation of <i>caption</i> is available by processing a +file <i>manual.tex</i>, which is created when you unpack +<i>caption.dtx</i> +<p>Note that the previously-recommended package <i>caption2</i> has +now been overtaken again by <i>caption</i>; however, +<i>caption2</i> remains available for use in older documents. +<dl> +<dt><tt><i>caption.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/caption.zip">macros/latex/contrib/caption</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/caption.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/caption/">browse</a>) +<dt><tt><i>capt-of.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/capt-of.sty">macros/latex/contrib/misc/capt-of.sty</a> +<dt><tt><i>ccaption.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ccaption.zip">macros/latex/contrib/ccaption</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ccaption.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ccaption/">browse</a>) +<dt><tt><i>float.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.zip">macros/latex/contrib/float</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/float/">browse</a>) +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=captsty">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=captsty</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-casechange.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-casechange.html new file mode 100644 index 00000000000..7aa645c40ef --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-casechange.html @@ -0,0 +1,65 @@ +<head> +<title>UK TeX FAQ -- question label casechange</title> +</head><body> +<h3>Case-changing oddities</h3> +<p>TeX provides two primitive commands <code>\</code><code>uppercase</code> and +<code>\</code><code>lowercase</code> to change the case of text; they're not much used, but +are capable creating confusion. +<p>The two commands do not expand the text that is their parameter - +the result of <code>\</code><code>uppercase{abc}</code> is '<code>ABC</code>', but +<code>\</code><code>uppercase{<code>\</code><code>abc</code>}</code> is always '<code>\</code><code>abc</code>', whatever the +meaning of <code>\</code><code>abc</code>. The commands are simply interpreting a table of +equivalences between upper- and lowercase characters. +They have (for example) no mathematical sense, and +<blockquote> +<pre> +\uppercase{About $y=f(x)$} +</pre> +</blockquote> +will produce +<blockquote> +<pre> +ABOUT $Y=F(X)$ +</pre> +</blockquote> +which is probably not what is wanted. +<p>In addition, <code>\</code><code>uppercase</code> and <code>\</code><code>lowercase</code> do not deal very well +with non-American characters, for example +<code>\</code><code>uppercase{<code>\</code><code>ae</code>}</code> is the same as <code>\</code><code>ae</code>. +<p>LaTeX provides commands <code>\</code><code>MakeUppercase</code> and <code>\</code><code>MakeLowercase</code> +which fixes the latter problem. These commands are used in the +standard classes to produce upper case running heads for chapters +and sections. +<p>Unfortunately <code>\</code><code>MakeUppercase</code> and <code>\</code><code>MakeLowercase</code> do not solve +the other problems with <code>\</code><code>uppercase</code>, so for example a section +title containing <code>\</code><code>begin{tabular}</code> ... +<code>\</code><code>end{tabular}</code> will produce a running head containing +<code>\</code><code>begin{TABULAR}</code>. The simplest solution to this problem is +using a user-defined command, for example: +<blockquote> +<pre> +\newcommand{\mytable}{\begin{tabular}... + \end{tabular}} +\section{A section title \protect\mytable{} + with a table} +</pre> +</blockquote> +Note that <code>\</code><code>mytable</code> has to be protected, otherwise it will be +expanded and made upper case; you can achieve the same result by +declaring it with <code>\</code><code>DeclareRobustCommand</code>, in which case the +<code>\</code><code>protect</code> won't be necessary. +<p>David Carlisle's <i>textcase</i> package +addresses many of these problems in a transparent way. It defines +commands <code>\</code><code>MakeTextUppercase</code> and <code>\</code><code>MakeTextLowercase</code> which do +upper- or lowercase, with the fancier features of the LaTeX +standard <code>\</code><code>Make*</code>-commands but without the problems +mentioned above. Load the package with +<code>\</code><code>usepackage[overload]{textcase}</code>, and it will redefine the LaTeX +commands (<em>not</em> the TeX primitive commands <code>\</code><code>uppercase</code> and +<code>\</code><code>lowercase</code>), so that section headings and the like don't produce +broken page headings. +<dl> +<dt><tt><i>textcase.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.zip">macros/latex/contrib/carlisle</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/carlisle/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=casechange">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=casechange</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-changebars.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-changebars.html new file mode 100644 index 00000000000..ab3577e3668 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-changebars.html @@ -0,0 +1,69 @@ +<head> +<title>UK TeX FAQ -- question label changebars</title> +</head><body> +<h3>Marking changed parts of your document</h3> +<p>One often needs clear indications of how a document has changed, but +the commonest technique, "change bars" (also known as "revision +bars"), requires surprisingly much +trickery of the programmer (the problem being that TeX 'proper' +doesn't provide the programmer with any information about the +"current position" from which a putative start- or end-point of a +bar might be calculated; PDFTeX <em>does</em> provide the +information, but we're not aware yet of any programmer taking +advantage of the fact to write a PDFTeX-based changebar package). +<p>The simplest package that offers change bars is Peter Schmitt's +<i>backgrnd.tex</i>; this was written as a Plain TeX application +that patches the output routine, but it appears to work at least on +simple LaTeX documents. Wise LaTeX users will be alerted by the +information that <i>backgrnd</i> patches their output routine, and +will watch its behaviour very carefully (patching the LaTeX output +routine is not something to undertake lightly...). +<p>The longest-established solution is the <i>changebar</i> package, +which uses <code>\</code><code>special</code> commands supplied by the driver you're using. +You need therefore to tell the package which driver to generate +<code>\</code><code>special</code>s for (in the same way that you need to tell the +<i>graphics</i> package); the list of available drivers is pretty +restricted, but does include <i>dvips</i>. The package comes with +a shell script <i>chbar.sh</i> (for use on Unix machines) that +will compare two documents and generate a third which is marked-up +with <i>changebar</i> macros to highlight changes. The (excellent) +shareware <i>WinEDT</i> editor has a macro that will generate +<i>changebar</i> (or other) macros to show differences from an +earlier version of your file, stored in an +<i>RCS</i>-controlled repository - see +<a href="http://www.winedt.org/Macros/LaTeX/RCSdiff.php">http://www.winedt.org/Macros/LaTeX/RCSdiff.php</a> +<p>The <i>vertbars</i> package uses the techniques of the +<i>lineno</i> package (which must be present); it's thus the +smallest of the packages for change bar marking, since it leaves all +the trickery to another package. The <i>framed</i> package is +another that provides bars as a side-effect of other desirable +functionality: its <code>leftbar</code> environment is simply a +stripped-down frame (note, though, that the environment makes a +separate paragraph of its contents, so it is best used when the +convention is to mark a whole changed paragraph. +<p>Finally, the <i>memoir</i> class allows marginal editorial comments, +which you can obviously use to delimit areas of changed text. +<p>Another way to keep track of changes is employed by some +word-processors - to produce a document that embodies both "old" +and "new" versions. The <i>Perl</i> script <i>latexdiff</i> +does this for LaTeX documents; you feed it the two documents, and +it produces a new LaTeX document in which the changes are very +visible. An example of the output is embedded in the documentation, + + <a href="http://www.tex.ac.uk/tex-archive/support/latexdiff/latexdiff-man.pdf">latexdiff-man.pdf</a> + (part of the distribution). +A rudimentary revision facilility is provided by another +<i>Perl</i> script, <i>latexrevise</i>, which accepts or rejects +all changes. Manual editing of the difference file can be used to +accept or reject selected changes only. +<dl> +<dt><tt><i>backgrnd.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/generic/backgrnd.tex">macros/generic/backgrnd.tex</a> +<dt><tt><i>changebar.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/changebar.zip">macros/latex/contrib/changebar</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/changebar.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/changebar/">browse</a>) +<dt><tt><i>framed.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/framed.sty">macros/latex/contrib/misc/framed.sty</a> +<dt><tt><i>latexdiff, latexrevise</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/latexdiff.zip">support/latexdiff</a> (<a href="ftp://cam.ctan.org/tex-archive/support/latexdiff.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/latexdiff/">browse</a>) +<dt><tt><i>lineno.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/lineno.zip">macros/latex/contrib/lineno</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/lineno.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/lineno/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>vertbars.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/vertbars.sty">macros/latex/contrib/misc/vertbars.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=changebars">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=changebars</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-changemargin.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-changemargin.html new file mode 100644 index 00000000000..9c95b56aff8 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-changemargin.html @@ -0,0 +1,102 @@ +<head> +<title>UK TeX FAQ -- question label changemargin</title> +</head><body> +<h3>Changing the margins in LaTeX</h3> +<p>Changing the layout of a document's text on the page involves several +subtleties not often realised by the beginner. There are interactions +between fundamental TeX constraints, constraints related to the +design of LaTeX, and good typesetting and design practice, that +mean that any change must be very carefully considered, both to ensure +that it "works" and to ensure that the result is pleasing to the +eye. +<p>Lamport's warning to beginners in his section on 'Customizing the +Style' - "don't do it" - needs to be taken seriously. One-inch +margins on A4 paper are fine for 10- or 12-pitch typewriters, but not +for 10pt (or even 11pt or 12pt) type because readers find such wide, +dense, lines difficult to read: there should ideally be no more than +75 characters per line (though the constraints change for two-column +text). +<p>The 'ultimate' tool for adjusting the dimensions and position of the +printed material on the page is the <i>geometry</i> package; a very +wide range of adjustments of the layout may be relatively +straightforwardly programmed, and package documentation is good and +comprehensive. +<p>Somewhat simpler to use is the <i>vmargin</i> package, which has a +canned set of paper sizes (a superset of that provided in LaTeX2e), +provision for custom paper, margin adjustments and provision for +two-sided printing. +<p>LaTeX controls the page layout with a number of parameters, which +allow you to change the distance from the edges of a page to the left +and top edges of your typeset text, the width and height of the text, +and the placement of other text on the page. However, they are +somewhat complex, and it is easy to get their interrelationships wrong +when redefining the page layout. The layout package defines a +<code>\</code><code>layout</code> command which draws a diagram of your existing page +layout, with the dimensions (but not their interrelationships) shown. +This FAQ recommends that you use a package to establish +consistent settings of the parameters: the interrelationships are +taken care of in the established packages, without you needing to +think about them. +<p>If you're still eager to "do it yourself", start by familiarising yourself +with LaTeX's page layout parameters. For example, see section C.5.3 of the +LaTeX manual (pp. 181-182), or corresponding sections in many of the other +good LaTeX manuals (see <a href="FAQ-books.html">LaTeX books</a>). +<p>The text height and width, <code>\</code><code>textheight</code> and <code>\</code><code>textwidth</code>, +require more care than you might expect: the height should be set to +fit an integral number of text lines, and the width should be +constrained by the number of characters per line, as mentioned above. +<p>Margins are controlled by three parameters. The pair +<code>\</code><code>oddsidemargin</code> and <code>\</code><code>evensidemargin</code> are so-called because it +is conventionally taken that odd-numbered pages appear on the +right-hand side of a two-page spread ('recto') and even-numbered pages +on the left-hand side ('verso'). Both parameters refer to the +left-hand margin; the right-hand margin is specified by implication, +from the size of <code>\</code><code>textwidth</code> and the width of the paper. The +"origin" (the zero position) on the page is one inch from the top of +the paper and one inch from the left side; positive horizontal +measurements extend right across the page, and positive vertical +measurements extend down the page. Thus, the parameters +<code>\</code><code>evensidemargin</code>, <code>\</code><code>oddsidemargin</code> and <code>\</code><code>topmargin</code>, should +be set to be 1 inch less than the true margin; for margins closer to +the left and top edges of the page than 1 inch, the margin parameters +must be set to negative values. +<p>Another surprise is that you cannot change the width or height of the +text within the document, simply by modifying the text size +parameters. The simple rule is that the parameters should only be +changed in the preamble of the document, i.e., before the +<code>\</code><code>begin{document}</code> statement. To adjust text width within a +document we define an environment: +<blockquote> +<pre> +\newenvironment{changemargin}[2]{% + \begin{list}{}{% + \setlength{\topsep}{0pt}% + \setlength{\leftmargin}{#1}% + \setlength{\rightmargin}{#2}% + \setlength{\listparindent}{\parindent}% + \setlength{\itemindent}{\parindent}% + \setlength{\parsep}{\parskip}% + }% + \item[]}{\end{list}} +</pre> +</blockquote> +This environment takes two arguments, and will indent the left and +right margins, respectively, by the parameters' values. Negative +values will cause the margins to be narrowed, so +<code>\</code><code>begin{changemargin}{-1cm}</code>{-1cm} narrows the left and right +margins by 1cm. +<p>The <i>chngpage</i> package provides ready-built commands to do the +above; it includes provision for changing the shifts applied to your +text according to whether you're on an odd or an even page of a +two-sided document. The package's documentation (in the file itself) +suggests a strategy for changing text dimensions between pages - as +mentioned above, changing the text dimensions within the body of a +page may lead to unpredictable results. +<dl> +<dt><tt><i>chngpage.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/chngpage.sty">macros/latex/contrib/misc/chngpage.sty</a> +<dt><tt><i>geometry.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/geometry.zip">macros/latex/contrib/geometry</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/geometry.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/geometry/">browse</a>) +<dt><tt><i>layout.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>vmargin.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/vmargin.zip">macros/latex/contrib/vmargin</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/vmargin.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/vmargin/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=changemargin">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=changemargin</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-chapbib.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-chapbib.html new file mode 100644 index 00000000000..4b7ec58be9f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-chapbib.html @@ -0,0 +1,21 @@ +<head> +<title>UK TeX FAQ -- question label chapbib</title> +</head><body> +<h3>Separate bibliographies per chapter?</h3> +<p>A separate bibliography for each 'chapter' of a document can be provided +with the package <i>chapterbib</i> (which comes with a bunch of +other good bibliographic things). The package allows you a +different bibliography for each <code>\</code><code>include</code>d file (i.e., despite the +package's name, the availability of bibliographies is related to the +component source files of the document rather than to the chapters that +logically structure the document). +<p>The package <i>bibunits</i> ties bibliographies to logical units +within the document: the package will deal with chapters and sections +(as defined by LaTeX itself) and also defines a <code>bibunit</code> +environment so that users can select their own structuring. +<dl> +<dt><tt><i>chapterbib.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/cite.zip">macros/latex/contrib/cite</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/cite.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/cite/">browse</a>) +<dt><tt><i>bibunits.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/bibunits.zip">macros/latex/contrib/bibunits</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/bibunits.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/bibunits/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=chapbib">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=chapbib</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-charshift.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-charshift.html new file mode 100644 index 00000000000..504e9cf57e9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-charshift.html @@ -0,0 +1,21 @@ +<head> +<title>UK TeX FAQ -- question label charshift</title> +</head><body> +<h3>Weird characters in <i>dvips</i> output</h3> +<!-- fi ligature pound pounds sterling elephants --> +<p>You've innocently generated output, using <i>dvips</i>, and there +are weird transpositions in it: for example, the <code>fi</code> ligature has +appeared as a textsterling symbol. +This is an unwanted side-effect of the +precautions +outlined in <a href="FAQ-dvips-pdf.html">generating PostScript for PDF</a>. +The <code>-G1</code> switch discussed in that question is appropriate for +Knuth's text fonts, but doesn't work with text fonts that don't follow +Knuth's patterns (such as fonts supplied by Adobe). +<p>If the problem arises, suppress the <code>-G1</code> switch: if you were using it +explicitly, <em>don't</em>; if you were using <code>-Ppdf</code>, add <code>-G0</code> to +suppress the implicit switch in the pseudo-printer file. +<p>The problem has been corrected in <i>dvips</i> v 5.90 (and later +versions), which should be available in any recent TeX distribution. +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=charshift">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=charshift</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-citeURL.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-citeURL.html new file mode 100644 index 00000000000..1d64912d08f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-citeURL.html @@ -0,0 +1,83 @@ +<head> +<title>UK TeX FAQ -- question label citeURL</title> +</head><body> +<h3>URLs in BibTeX bibliographies</h3> +<p>There is no citation type for URLs, <em>per se</em>, in the +standard BibTeX styles, though Oren Patashnik (the author of +BibTeX) is believed to beconsidering developing one such for use +with the long-awaited BibTeX version 1.0. +<p>The actual information that need be available in a citation of an +URL is discussed at some length in the publicly available +on-line + +<a href="http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm">extracts of ISO 690-2</a>; +the techniques below do <em>not</em> satisfy all the requirements of +ISO 690-2, but they offer a solution that is at least +available to users of today's tools. +<p>Until the new version of BibTeX arrives, the simplest technique is +to use the <code>howpublished</code> field of the standard styles' <code>@misc</code> +function. Of course, the strictures +about <a href="FAQ-setURL.html">typesetting URLs</a> still apply, so the +entry will look like: +<blockquote> +<pre> +@misc{..., + ..., + howpublished = "\url{http://...}" +} +</pre> +</blockquote> +A possible alternative approach is to use BibTeX styles other than +the standard ones, that already have URL entry types. +Pre-eminent are the <i>natbib</i> styles (<i>plainnat</i>, +<i>unsrtnat</i> and <i>abbrevnat</i>). These styles are +extensions of the standard styles, principally for use with +<i>natbib</i> itself, but they've acquired URLs and other +"modern" entries along the way. The same author's +<i>custom-bib</i> is also capable of generating styles that honour +URL entries. +<p>Another candidate is the <i>harvard</i> package (if its citation +styles are otherwise satisfactory for you). <i>Harvard</i> +bibliography styles all include a "<code>url</code>" field in their +specification; however, the typesetting offered is somewhat feeble +(though it does recognise and use <i>LaTeX2HTML</i> macros if they +are available, to create hyperlinks). +<p>You can also acquire new BibTeX styles by use of Norman Gray's +<i>urlbst</i> system, which is based on a <i>Perl</i> script +that edits an existing BibTeX style file to produce a new +style. The new style thus generated has a <code>webpage</code> entry type, and +also offers support for <code>url</code> and <code>lastchecked</code> fields in the other entry +types. The <i>Perl</i> script comes with a set of converted +versions of the standard bibliography styles. Documentation is +distributed as LaTeX source. +<p>Another possibility is that some conventionally-published paper, +technical report (or even book) is also available on the Web. In such +cases, a useful technique is something like: +<blockquote> +<pre> +@techreport{..., + ..., + note = "Also available as \url{http://...}" +} +</pre> + +</blockquote> +There is good reason to use the <i>url</i> or <i>hyperref</i> +packages in this context: BibTeX has a habit of splitting +lines it considers excessively long, and if there are no space +characters for it to use as 'natural' breakpoints, BibTeX will +insert a comment ('<code>%</code>') character ... which +is an acceptable character in an URL. Any current version of the +<i>url</i> or <i>hyperref</i> package detects this +"<code>%</code>-end-of-line" structure in its argument, and +removes it. +<dl> +<dt><tt><i>custom-bib bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/custom-bib.zip">macros/latex/contrib/custom-bib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/custom-bib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/custom-bib/">browse</a>) +<dt><tt><i>harvard.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/harvard.zip">macros/latex/contrib/harvard</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/harvard.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/harvard/">browse</a>) +<dt><tt><i>hyperref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +<dt><tt><i>natbib styles</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/natbib.zip">macros/latex/contrib/natbib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/natbib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/natbib/">browse</a>) +<dt><tt><i>url.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty">macros/latex/contrib/misc/url.sty</a> +<dt><tt><i>urlbst</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/urlbst.zip">biblio/bibtex/contrib/urlbst</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/urlbst.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/urlbst/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citeURL">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citeURL</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-citesort.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-citesort.html new file mode 100644 index 00000000000..028e0afffcb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-citesort.html @@ -0,0 +1,35 @@ +<head> +<title>UK TeX FAQ -- question label citesort</title> +</head><body> +<h3>Sorting and compressing citations</h3> +<p>If you give LaTeX +<code>\</code><code>cite{fred,joe,harry,min}</code>, its default commands could give +something like "[2,6,4,3]"; +this looks awful. One can of course get the things in order by +rearranging the keys in the <code>\</code><code>cite</code> command, but who wants to do +that sort of thing for no more improvement than "[2,3,4,6]"? +<p>The <i>cite</i> package sorts the numbers and detects consecutive +sequences, so creating "[2-4,6]". The <i>natbib</i> package, +with the <code>numbers</code> and <code>sort&compress</code> options, will +do the same when working with its own numeric bibliography styles +(<i>plainnat.bst</i> and <i>unsrtnat.bst</i>). +<p>If you might need to make hyperreferences to your citations, +<i>cite</i> isn't adequate. If you add the <i>hypernat</i> +package: +<pre> + \usepackage[...]{hyperref} + \usepackage[numbers,sort&compress]{natbib} + \usepackage{hypernat} + ... + \bibliographystyle{plainnat} +</pre> +the <i>natbib</i> and <i>hyperref</i> packages will interwork. +<dl> +<dt><tt><i>cite.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/cite.zip">macros/latex/contrib/cite</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/cite.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/cite/">browse</a>) +<dt><tt><i>hypernat.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/hypernat.sty">macros/latex/contrib/misc/hypernat.sty</a> +<dt><tt><i>hyperref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +<dt><tt><i>plainnat.bst</i></tt><dd>Distributed with <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/natbib.zip">macros/latex/contrib/natbib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/natbib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/natbib/">browse</a>) +<dt><tt><i>unsrtnat.bst</i></tt><dd>Distributed with <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/natbib.zip">macros/latex/contrib/natbib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/natbib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/natbib/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citesort">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citesort</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cmdstar.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cmdstar.html new file mode 100644 index 00000000000..0caaa1afd29 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cmdstar.html @@ -0,0 +1,68 @@ +<head> +<title>UK TeX FAQ -- question label cmdstar</title> +</head><body> +<h3>Commands defined with * options</h3> +<p>LaTeX commands commonly have "versions" defined with an asterisk +tagged onto their name: for example <code>\</code><code>newcommand</code> and +<code>\</code><code>newcommand*</code> (the former defines a <code>\</code><code>long</code> version of the +command). +<p>The simple-minded way for a user to write such a command involves use +of the <i>ifthen</i> package: +<blockquote> +<pre> +\newcommand{\mycommand}[1]{\ifthenelse{\equal{#1}{*}}% + {\mycommandStar}% + {\mycommandNoStar{#1}}% +} +\newcommand{\mycommandStar}{starred version} +\newcommand{\mycommandNoStar}[1]{normal version} +</pre> +</blockquote> + +This does the trick, for sufficiently simple commands, but it has +various tiresome failure modes, and it requires <code>\</code><code>mycommandnostar</code> +to take an argument. +<p>Of course, the LaTeX kernel has something slicker than this: +<blockquote> +<pre> +\newcommand{\mycommand}[1]{\@ifstar + \mycommandStar% + \mycommandNoStar% +} +\newcommand{\mycommandStar}{starred version} +\newcommand{\mycommandNoStar}{normal version} +</pre> +</blockquote> +Which is all very well, is fast and efficient, but requires the +definition to be <a href="FAQ-atsigns.html"><code>\</code><code>makeatletter</code> protected</a>. +The technique doesn't interfere at all with the definitions of +<code>\</code><code>mycommandStar</code> or <code>\</code><code>mycommandNoStar</code>; they can have any +combination of optional and mandatory arguments that you could define +them to have in the ordinary way. +<p>A pleasing alternative is the <i>suffix</i> package. This elegant +piece of code allows you to define variants of your commands: + +<blockquote> +<pre> +\newcommand\mycommand{normal version} +\WithSuffix\newcommand\mycommand*{starred version} +</pre> +</blockquote> +The package needs <a href="FAQ-NTS.html">e-LaTeX</a>, but any new enough +distribution defines LaTeX as e-LaTeX by default. Command +arguments may be specified in the normal way, in both command +definitions (after the "<code>*</code>" in the <code>\</code><code>WithSuffix</code> +version). You can also use the TeX primitive commands, creating a +definition like: +<blockquote> +<pre> +\WithSuffix\gdef\mycommand*{starred version} +</pre> +</blockquote> +<dl> +<dt><tt><i>ifthen.sty</i></tt><dd>Part of the LaTeX distribution +<dt><tt><i>suffix.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/bigfoot.zip">macros/latex/contrib/bigfoot</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/bigfoot.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/bigfoot/">browse</a>) +</dl> +<p> +<p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=cmdstar">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=cmdstar</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-codelist.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-codelist.html new file mode 100644 index 00000000000..129b00ade27 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-codelist.html @@ -0,0 +1,84 @@ +<head> +<title>UK TeX FAQ -- question label codelist</title> +</head><body> +<h3>Code listings in LaTeX</h3> +<p>'Pretty' code listings are sometimes considered worthwhile by the +"ordinary" programmer, but they have a serious place in +the typesetting of dissertations by computer science and other +students who are expected to write programs. Simple verbatim listings +of programs are commonly useful, as well. +<p> <a href="FAQ-verbfile.html">Verbatim listings</a> are dealt with elsewhere, + +as is the problem of +<a href="FAQ-algorithms.html">typesetting algorithm specifications</a>. +<p>The <i>listings</i> package is widely regarded as the best bet for +formatted output (it is capable of parsing program source, within the +package itself), but there are several well-established packages that +rely on a pre-compiler of some sort. You may use <i>listings</i> +to typeset snippets that you include within your source: +<blockquote> +<pre> +\usepackage{listings} +\lstset{language=C} +... +\begin{document} +\begin{lstlisting} +#include <stdio.h> + +int main(int argc, char ** argv) +{ + printf("Hello world!\n"); + return 0; +} +\end{lstlisting} +\end{document} +</pre> +</blockquote> +or you can have it typeset whole files: +<blockquote> +<pre> +\usepackage{listings} +\lstset{language=C} +... +\begin{document} +\lstinputlisting{main.c} +\end{document} +</pre> +</blockquote> +These very simple examples may be decorated in a huge variety of ways, +and of course there are other languages in the package's vocabulary +than just <i>C</i>... +<p>Most people, advising others on (La)TeX lists, seem to regard +<i>listings</i> as the be-all and end-all on this topic. But there +<em>are</em> alternatives, which may be worth considering, in some +situations. +<p><i>Highlight</i> is attractive if you need more than one output +format for your program: as well as (La)TeX output, +<i>highlight</i> will produce (X)HTML, RTF +and XSL-FO representations of your program listing. +Documentation is available on the +<a href="http://www.andre-simon.de/"><i>highlight</a> project site</i>. +<p>The <i>lgrind</i> system is another well-established pre-compiler, +with all the facilities one might need and a wide repertoire of +languages; it is derived from the very long-established +<i>tgrind</i>, whose output is based on plain TeX +<p>The <i>tiny_c2l</i> system is more recent: users are encouraged to +generate their own driver files for languages it doesn't already deal +with. +<p>The <i>C++2LaTeX</i> system comes with strong recommendations for +use with C and C++. +<p>An extremely simple system is <i>c2latex</i>, for which you write +LaTeX source in your C program comments. The program then +converts your program into a LaTeX document for processing. The +program (implicitly) claims to be "self-documenting". +<dl> +<dt><tt><i>c2latex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/c2latex.zip">support/c2latex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/c2latex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/c2latex/">browse</a>) +<dt><tt><i>C++2LaTeX</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/C++2LaTeX-1_1pl1.zip">support/C++2LaTeX-1_1pl1</a> (<a href="ftp://cam.ctan.org/tex-archive/support/C++2LaTeX-1_1pl1.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/C++2LaTeX-1_1pl1/">browse</a>) +<dt><tt><i>highlight</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/highlight.zip">support/highlight</a> (<a href="ftp://cam.ctan.org/tex-archive/support/highlight.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/highlight/">browse</a>) +<dt><tt><i>lgrind</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/support/lgrind.zip">nonfree/support/lgrind</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/support/lgrind.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/lgrind/">browse</a>) +<dt><tt><i>listings.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/listings.zip">macros/latex/contrib/listings</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/listings.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/listings/">browse</a>) +<dt><tt><i>tgrind</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/tgrind.zip">support/tgrind</a> (<a href="ftp://cam.ctan.org/tex-archive/support/tgrind.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/tgrind/">browse</a>) +<dt><tt><i>tiny_c2l</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/tiny_c2l.zip">support/tiny_c2l</a> (<a href="ftp://cam.ctan.org/tex-archive/support/tiny_c2l.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/tiny_c2l/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=codelist">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=codelist</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-commercial.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-commercial.html new file mode 100644 index 00000000000..bc5057661f1 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-commercial.html @@ -0,0 +1,137 @@ +<head> +<title>UK TeX FAQ -- question label commercial</title> +</head><body> +<h3>Commercial TeX implementations</h3> +<!-- windows,macintosh,commercial --> +<p>There are many commercial implementations of TeX. The first +appeared not long after TeX itself appeared. +<p>What follows is probably an incomplete list. Naturally, no warranty or +fitness for purpose is implied by the inclusion of any vendor in this +list. The source of the information is given to provide some clues to +its currency. +<p>In general, a commercial implementation will come 'complete', that is, +with suitable previewers and printer drivers. They normally also have +extensive documentation (<em>i.e</em>., not just the TeXbook!) and some +sort of support service. In some cases this is a toll free number +(probably applicable only within the USA and or Canada), but others +also have email, and normal telephone and fax support. +<dl> +<dt>PC; TrueTeX<dd> Runs on all versions of Windows. + <blockquote> + Richard J. Kinch<br> + TrueTeX Software<br> + 7890 Pebble Beach Court<br> + Lake Worth FL 33467<br> + USA<br> + Tel: +1 561-966-8400<br> + Email: <a href="mailto:kinch@truetex.com"><i>kinch@truetex.com</i></a><br> + Web: <a href="http://www.truetex.com/">http://www.truetex.com/</a> + </blockquote> + Source: Mail from Richard Kinch, August 2004. + + + + + + + + + + + + + + +<dt>pcTeX<dd> Long-established: pcTeX32 is a Windows implementation. + <blockquote> + Personal TeX Inc<br> + 725 Greenwich Street, Suite 210 <br> + San Francisco, CA 94133<br> + USA<br> + Tel: 800-808-7906 (within the USA)<br> + Tel: +1 415-296-7550<br> + Fax: +1 415-296-7501<br> + Email: <a href="mailto:sales@pctex.com"><i>sales@pctex.com</i></a><br> + Web: <a href="http://www.pctex.com/">http://www.pctex.com/</a> + </blockquote> + Source: Personal TeX Inc web site, December 2004 +<dt>PC; VTeX<dd> DVI, PDF and HTML + backends, Visual Tools and Type 1 fonts + <blockquote> + MicroPress Inc<br> + 68-30 Harrow Street<br> + Forest Hills, NY 11375<br> + USA<br> + Tel: +1 718-575-1816<br> + Fax: +1 718-575-8038<br> + Email: <a href="mailto:support@micropress-inc.com"><i>support@micropress-inc.com</i></a><br> + Web: <a href="http://www.micropress-inc.com/">http://www.micropress-inc.com/</a> + </blockquote> + Source: Mail from MicroPress, Inc., July 1999 +<dt>PC; Scientific Word<dd> Scientific Word and Scientific Workplace + offer a mechanism for near-WYSIWYG input of LaTeX documents; they + ship with TrueTeX from Kinch (see above). Queries within the UK + and Ireland should be addressed to Scientific Word Ltd., others should be + addressed directly to the publisher, MacKichan Software Inc. + <blockquote> + Dr Christopher Mabb<br> + Scientific Word Ltd.<br> + 20 Bankpark Crescent<br> + Tranent<br> + East Lothian, EH33 1AS<br> + UK<br> + Tel: 0845 766 0340 (within the UK) <br> + Tel: +44 1875 616516 <br> + Fax: 01875 613513 (within the UK) <br> + Email: <a href="mailto:christopher@sciword.demon.co.uk"><i>christopher@sciword.demon.co.uk</i></a> <br> + Web: <a href="http://www.sciword.demon.co.uk">http://www.sciword.demon.co.uk</a> + </blockquote> + <blockquote> + MacKichan Software Inc.<br> + 19307 8th Avenue, Suite C<br> + Poulsbo WA 98370-7370<br> + USA<br> + Tel: +1 360 394 6033<br> + Tel: 877 724 9673 (within the USA) + Fax: +1 360 394 6039<br> + Email: <a href="mailto:info@mackichan.com"><i>info@mackichan.com</i></a><br> + Web: <a href="http://www.mackichan.com">http://www.mackichan.com</a> + </blockquote> + Source: Mail from Christopher Mabb, November 2004 +<dt>Macintosh; Textures<dd> "A TeX system 'for the rest of + us' "; also gives away a Metafont implementation and some + font manipulation tools. + <blockquote> + Blue Sky Research<br> + 534 SW Third Avenue<br> + Portland, OR 97204<br> + USA<br> + Tel: 800-622-8398 (within the USA)<br> + Tel: +1 503-222-9571<br> + Fax: +1 503-222-1643<br> + Email: <a href="mailto:sales@bluesky.com"><i>sales@bluesky.com</i></a><br> + Web: <a href="http://www.bluesky.com/">http://www.bluesky.com/</a> + </blockquote> + Source: <i>TUGboat</i> 15(1) (1994) +<dt>AmigaTeX<dd> A full implementation for the Commodore Amiga, + including full, on-screen and printing support for all PostScript + graphics and fonts, IFF raster graphics, automatic font generation, + and all of the standard macros and utilities. + <blockquote> + Radical Eye Software<br> + PO Box 2081<br> + Stanford, CA 94309<br> + USA + </blockquote> + Source: Mail from Tom Rokicki, November 1994 +</dl> + + +<p>Note that the company Y&Y has gone out of business, and Y&Y +TeX (and support for it) is therefore no longer available. Users +of Y&Y systems may care to use the self-help +<a href="http://lists.ucc.ie/lists/archives/yandytex.html">mailing list</a> +that was established in 2003. +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=commercial">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=commercial</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-compactbib.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-compactbib.html new file mode 100644 index 00000000000..88c497472cb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-compactbib.html @@ -0,0 +1,43 @@ +<head> +<title>UK TeX FAQ -- question label compactbib</title> +</head><body> +<h3>Reducing spacing in the bibliography</h3> +<p>Bibliographies are, in fact, implemented as lists, so all the +confusion about <a href="FAQ-complist.html">reducing list item spacing</a> also +applies to bibliographies. +<p>If the <i>natbib</i> package 'works' for you (it may not if you are using +some special-purpose bibliography style), the solution is relatively +simple - add +<blockquote> +<pre> +\usepackage{natbib} +\setlength{\bibsep}{0.0pt} +</pre> +</blockquote> +to the preamble of your document. +<p>Otherwise, one is into unseemly hacking of something or other. The +<i>mdwlist</i> package actually does the job, but it doesn't work +here, because it makes a different-named list, while the name +"<code>thebibliography</code>" is built into LaTeX and +BibTeX. Therefore, we need to +<a href="FAQ-patch.html">patch the underlying macro</a>: +<blockquote> +<pre> +\let\oldbibliography\thebibliography +\renewcommand{\thebibliography}[1]{% + \oldbibliography{#1}% + \setlength{\itemsep}{0pt}% +} +</pre> +</blockquote> +The <i>savetrees</i> package performs such a patch, among a +plethora of space-saving measures: you can, in principle, suppress all +its other actions, and have it provide you a compressed bibliography +<em>only</em>. +<dl> +<dt><tt><i>mdwlist.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.zip">macros/latex/contrib/mdwtools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mdwtools/">browse</a>) +<dt><tt><i>natbib.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/natbib.zip">macros/latex/contrib/natbib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/natbib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/natbib/">browse</a>) +<dt><tt><i>savetrees.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/savetrees.zip">macros/latex/contrib/savetrees</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/savetrees.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/savetrees/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=compactbib">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=compactbib</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-compjobnam.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-compjobnam.html new file mode 100644 index 00000000000..abbbb45fc6f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-compjobnam.html @@ -0,0 +1,40 @@ +<head> +<title>UK TeX FAQ -- question label compjobnam</title> +</head><body> +<h3>Comparing the "job name"</h3> +<p>The token <code>\</code><code>jobname</code> amusingly produces a sequence of characters +whose category code is 12 ('other'), regardless of what the characters +actually are. Since one inevitably has to compare a macro with the +contents of another macro (using <code>\</code><code>ifx</code>, somewhere) one needs to +create a macro whose expansion looks the same as the expansion of +<code>\</code><code>jobname</code>. We find we can do this with <code>\</code><code>meaning</code>, if we strip +the "<code>\</code><code>show</code> command" prefix. +<p>The full command looks like: +<blockquote> +<pre> +\def\StripPrefix#1>{} +\def\jobis#1{FF\fi + \def\predicate{#1}% + \edef\predicate{\expandafter\StripPrefix\meaning\predicate}% + \edef\job{\jobname}% + \ifx\job\predicate +} +</pre> + +</blockquote> +And it's used as: +<blockquote> +<pre> +\if\jobis{mainfile}% + \message{YES}% +\else + \message{NO}% +\fi +</pre> +</blockquote> +Note that the command <code>\</code><code>StripPrefix</code> need not be defined if you're +using LaTeX - there's already an +<a href="FAQ-atsigns.html">internal command</a> <code>\</code><code>strip@prefix</code> that you can +use. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=compjobnam">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=compjobnam</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-complist.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-complist.html new file mode 100644 index 00000000000..85aebd17959 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-complist.html @@ -0,0 +1,106 @@ +<head> +<title>UK TeX FAQ -- question label complist</title> +</head><body> +<h3>How to reduce list spacing</h3> +<p><a href="FAQ-books.html">Lamport's book</a> lists various +parameters for the layout of list (things like <code>\</code><code>topsep</code>, +<code>\</code><code>itemsep</code> and <code>\</code><code>parsep</code>), but fails to mention that they're set +automatically within the list itself. It works by each list executes +a command <code>\</code><code>@list</code><code><<i>depth</i>></code> (the depth appearing as a +lower-case roman numeral); what's more, <code>\</code><code>@listi</code> is usually reset +when the font size is changed. As a result, it's rather tricky for +the user to control list spacing; of course, the real answer is to use +a document class designed with more modest list spacing, but we all +know such things are hard to come by. The <i>memoir</i> class wasn't +designed for more compact lists <em>per se</em>, but offers the user +control over the list spacing. +<p>There are packages that provide some control of list spacing, but they +seldom address the separation from surrounding text (defined by +<code>\</code><code>topsep</code>). The <i>expdlist</i> package, among its many controls +of the appearance of <code>description</code> lists, offers a +compaction parameter (see the documentation); the <i>mdwlist</i> +package offers a <code>\</code><code>makecompactlist</code> command for users' own list +definitions, and uses it to define compact lists +<code>itemize*</code>, <code>enumerate*</code> and +<code>description*</code>. In fact, you can write lists such as +these commands define pretty straightforwardly - for example: +<blockquote> +<pre> +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} +</pre> +</blockquote> +The <i>paralist</i> package provides several approaches to list +compaction: +<ul> +<li> its <code>asparaenum</code> environment formats each item as if + it were a paragraph introduced by the enumeration label (which saves + space if the item texts are long); +<li> its <code>compactenum</code> environment is the same sort of + compact list as is provided in <i>expdlist</i> and + <i>mdwlist</i>; and +<li> its <code>inparaenum</code> environment produces a list "in + the paragraph", i.e., with no line break between items, which is a + great space-saver if the list item texts are short. +</ul> +The package will manipulate its <code>enumerate</code> environment +labels just like the <a href="FAQ-enumerate.html"><i>enumerate</i> package</a> +does. +<p><i>Paralist</i> also provides <code>itemize</code> equivalents +(<code>asparaitem</code>, etc.), and <code>description</code> +equivalents (<code>asparadesc</code>, etc.). +<p>The ultimate in compaction (of every sort) is offered by the +<i>savetrees</i> package; compaction of lists is included. The +package's prime purpose is to save space at every touch and turn: +don't use it if you're under any design constraint whatever! +<p>The <i>expdlist</i>, <i>mdwlist</i> and <i>paralist</i> +packages all offer other facilities for list configuration: you should +probably not try the "do-it-yourself" approaches outlined below if +you need one of the packages for some other list configuration +purpose. +<p>For ultimate flexibility (including manipulation of <code>\</code><code>topsep</code>), the +<i>enumitem</i> package permits adjustment of list parameters using +a "<em>key</em>=<<i>value</i>>" format; so +for example, one might write +<blockquote> +<pre> +\usepackage{enumitem} +... +\begin{enumerate}[topsep=0pt, partopsep=0pt] +\item ... ... +\end{enumerate} +</pre> +</blockquote> +to suppress all spacing above and below your list. <i>Enumitem</i> +also permits manipulation of the label format in a more "basic" +manner than the <a href="FAQ-enumerate.html"><i>enumerate</i> package</a> does. + + + + + + + + + + + + + + + + +<dl> +<dt><tt><i>enumerate.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>enumitem.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/enumitem.zip">macros/latex/contrib/enumitem</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/enumitem.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/enumitem/">browse</a>) +<dt><tt><i>expdlist.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/expdlist.zip">macros/latex/contrib/expdlist</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/expdlist.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/expdlist/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>mdwlist.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.zip">macros/latex/contrib/mdwtools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mdwtools/">browse</a>) +<dt><tt><i>paralist.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/paralist.zip">macros/latex/contrib/paralist</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/paralist.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/paralist/">browse</a>) +<dt><tt><i>savetrees.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/savetrees.zip">macros/latex/contrib/savetrees</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/savetrees.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/savetrees/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=complist">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=complist</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-concrete.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-concrete.html new file mode 100644 index 00000000000..079406de340 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-concrete.html @@ -0,0 +1,64 @@ +<head> +<title>UK TeX FAQ -- question label concrete</title> +</head><body> +<h3>Using the "Concrete" fonts</h3> +<p>The Concrete Roman fonts were designed by Don Knuth for a book called +"Concrete Mathematics", which he wrote with Graham and Patashnik +(<em>the</em> Patashnik, of BibTeX fame). Knuth +only designed text fonts, since the book used the Euler fonts for +mathematics. The book was typeset using Plain TeX, of course, with +additional macros that may be viewed in a file <i>gkpmac.tex</i>, +which is available on CTAN. +<p>The packages <i>beton</i>, <i>concmath</i>, and +<i>ccfonts</i> are LaTeX packages that change the default text +fonts from Computer Modern to Concrete. Packages <i>beton</i> and +<i>ccfonts</i> also slightly increase the default value of +<code>\</code><code>baselineskip</code> to account for the rather heavier weight of the +Concrete fonts. If you wish to use the <i>Euler</i> fonts for +mathematics, as Knuth did, there's the <i>euler</i> package which +has been developed from Knuth's own Plain TeX-based set: these +macros are currently deprecated (they clash with many things, including +AMSLaTeX). The independently-developed <i>eulervm</i> +bundle is therefore preferred to the <i>euler</i> package. (Note +that installing the <i>eulervm</i> bundle involves installing a +series of virtual fonts. While most modern distributions seem to have +the requisite files installed by default, you may find you have to +install them. If so, see the file <i>readme</i> in the +<i>eulervm</i> distribution.) +<p>A few years after Knuth's original design, Ulrik Vieth +designed the Concrete Math fonts. Packages +<i>concmath</i>, and <i>ccfonts</i> also change the default math +fonts from Computer Modern to Concrete and use the Concrete versions +of the AMS fonts (this last behaviour is optional in the case +of the <i>concmath</i> package). +<p>There are no bold Concrete fonts, but it is generally accepted that +the Computer Modern Sans Serif demibold condensed fonts are an +adequate substitute. If you are using <i>concmath</i> or +<i>ccfonts</i> and you want to follow this suggestion, then use the +package with <code>boldsans</code> class option (in spite of the fact +that the <i>concmath</i> documentation calls it +<code>sansbold</code> class option). If you are using <i>beton</i>, +add +<blockquote> + <code>\</code><code>renewcommand{<code>\</code><code>bfdefault</code>}{sbc}</code> +</blockquote> +to the preamble of your document. +<p>Type 1 versions of the fonts are available. For the OT1 encoding, +they are available from +<a href="FAQ-psfchoice.html">MicroPress</a>. The + +<a href="FAQ-textrace.html">CM-Super fonts</a> contain Type 1 versions +of the Concrete fonts in the T1 encoding. +<dl> +<dt><tt><i>beton.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/beton.zip">macros/latex/contrib/beton</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/beton.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/beton/">browse</a>) +<dt><tt><i>ccfonts.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ccfonts.zip">macros/latex/contrib/ccfonts</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ccfonts.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ccfonts/">browse</a>) +<dt><tt><i>CM-Super fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/cm-super.zip">fonts/ps-type1/cm-super</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/cm-super.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/ps-type1/cm-super/">browse</a>) +<dt><tt><i>concmath.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/concmath.zip">macros/latex/contrib/concmath</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/concmath.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/concmath/">browse</a>) +<dt><tt><i>Concmath fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/concmath.zip">fonts/concmath</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/concmath.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/concmath/">browse</a>) +<dt><tt><i>Concrete fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/concrete.zip">fonts/concrete</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/concrete.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/concrete/">browse</a>) +<dt><tt><i>euler.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/euler.zip">macros/latex/contrib/euler</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/euler.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/euler/">browse</a>) +<dt><tt><i>eulervm bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/eulervm.zip">fonts/eulervm</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/eulervm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/eulervm/">browse</a>) +<dt><tt><i>gkpmac.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/knuth/local/lib/gkpmac.tex">systems/knuth/local/lib/gkpmac.tex</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=concrete">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=concrete</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-conditional.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-conditional.html new file mode 100644 index 00000000000..7708157dc86 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-conditional.html @@ -0,0 +1,168 @@ +<head> +<title>UK TeX FAQ -- question label conditional</title> +</head><body> +<h3>Conditional compilation and "comments"</h3> +<p>While LaTeX (or any other TeX-derived package) isn't really like a +compiler, people regularly want to do compiler-like things using it. +Common requirements are conditional 'compilation' and 'block +comments', and several LaTeX-specific means to this end are available. +<p>The simple <code>\</code><code>newcommand{<code>\</code><code>gobble</code>}[1]</code><code>{</code><code>}</code> and +<code>\</code><code>iffalse</code><code> ... </code><code>\</code><code>fi</code> aren't really satisfactory (as a general +solution) for comments, since the matter being skipped is nevertheless +scanned by TeX, not always as you would expect. The scanning +imposes restrictions on what you're allowed to skip; this may not be a +problem in <em>today's</em> job, but could return to bite you tomorrow. +For an example of surprises that may come to bite you, consider the +following example (derived from real user experience): +<blockquote> +<pre> +\iffalse % ignoring this bit +consider what happens if we +use \verb|\iftrue| -- a surprise +\fi +</pre> +</blockquote> +The <code>\</code><code>iftrue</code> is spotted by TeX as it scans, ignoring the +<code>\</code><code>verb</code> command; so the <code>\</code><code>iffalse</code> isn't terminated by the +following <code>\</code><code>fi</code>. Also, <code>\</code><code>gobble</code> is pretty inefficient for any +but trivial arguments, since all the matter to be skipped is copied to +the argument stack before being ignored. +<p>If your requirement is for a document from which whole chapters (or +the like) are missing, consider the LaTeX +<code>\</code><code>include</code>/<code>\</code><code>includeonly</code> system. If you '<code>\</code><code>include</code>' your +files (rather than <code>\</code><code>input</code> them - see +<a href="FAQ-include.html">What's going on in my <code>\</code><code>include</code> commands?</a>), +LaTeX writes macro traces of what's going on at the end of each +chapter to the <code>.aux</code> file; by using <code>\</code><code>includeonly</code>, you can give +LaTeX an exhaustive list of the files that are needed. Files that +don't get <code>\</code><code>include</code>d are skipped entirely, but the document +processing continues as if they <em>were</em> there, and page, footnote, +and other numbers are not disturbed. Note that you can choose which +sections you want included interactively, using the +<i>askinclude</i> package. +<p>The inverse can be done using the <i>excludeonly</i> package: this +allows you to exclude a (list of) <code>\</code><code>include</code>d files from your +document, by means of an <code>\</code><code>excludeonly</code> command. +<p>If you want to select particular pages of your document, use Heiko +Oberdiek's <i>pagesel</i> or the <i>selectp</i> packages. You +can do something similar with an existing PDF document (which +you may have compiled using <i>pdflatex</i> in the first place), +using the <i>pdfpages</i> package. The job is then done with a +document looking like: +<blockquote> +<pre> +\documentclass{article} +\usepackage[final]{pdfpages} +\begin{document} +\includepdf[pages=30-40]{yoursource.pdf} +\end{document} +</pre> +</blockquote> +(To include all of the document, you write +<blockquote> +<pre> +\includepdf[pages=-]{yoursource.pdf} +</pre> +</blockquote> +omitting the start and end pages in the optional argument.) +<p>If you want flexible facilities for including or excluding small +portions of a file, consider the <i>comment</i>, <i>version</i> or +<i>optional</i> packages. +<p>The <i>comment</i> package allows you to declare areas of a document to be +included or excluded; you make these declarations in the preamble of +your file. The command <code>\</code><code>includecomment{</code><em>version-name</em><code>}</code> +declares an environment <code>version-name</code> whose content will +be included in your document, while +<code>\</code><code>excludecomment{</code><em>version-name</em><code>}</code> defines an environment whose +content will be excluded from the document. The package uses a method +for exclusion that is pretty robust, and can cope with ill-formed +bunches of text (e.g., with unbalanced braces or <code>\</code><code>if</code> commands). +<p>These FAQs employ the <i>comment</i> package to alter layout +between the printed (two-column) version and the PDF version +for browsing; there are <code>narrowversion</code> and +<code>wideversion</code> for the two versions of the file. +<p><i>version</i> offers similar facilities to <i>comment.sty</i> +(i.e., <code>\</code><code>includeversion</code> and <code>\</code><code>excludeversion</code> commands); +it's far "lighter weight", but is less robust (and in particular, +cannot deal with very large areas of text being included/excluded). +<p>A significant development of <i>version</i>, confusingly called +<i>versions</i> (i.e., merely a plural of the old package name). +<i>Versions</i> adds a command +<code>\</code><code>markversion{</code><em>version-name</em><code>}</code> which defines an environment +that prints the included text, with a clear printed mark around it. +<p><i>optional</i> defines a command <code>\</code><code>opt</code>; its first argument is +an 'inclusion flag', and its second is text to be included or +excluded. Text to be included or excluded must be well-formed +(nothing mismatched), and should not be too big - if a large body of +text is needed, <code>\</code><code>input</code> should be used in the argument. +The documentation (in the package file itself) tells you +how to declare which sections are to be included: this can be done in +the document preamble, but the documentation also suggests ways in +which it can be done on the command line that invokes LaTeX, or +interactively. +<p>And, not least of this style of conditional compilation, +<i>verbatim</i> (which should be available in any distribution) +defines a <code>comment</code> environment, which enables the +dedicated user of the source text editor to suppress bits of a +LaTeX source file. The <i>memoir</i> class offers the same +environment. +<p>An interesting variation is the <i>xcomment</i> package. This +defines an environment whose body is all excluded, apart from +environments named in its argument. So, for example: +<blockquote> +<pre> +\begin{xcomment}{figure,table} + This text is not included + \begin{figure} + This figure is included + \end{figure} + This is not included, either + \begin{table} + This table also included + \end{table} + ... +\end{xcomment} +</pre> +</blockquote> +<p>A further valuable twist is offered by the <i>extract</i> package. +This allows you to produce a "partial copy" of an existing document: +the package was developed to permit production of a "book of +examples" from a set of lecture notes. The package documentation +shows the following usage: +<blockquote> +<pre> +\usepackage[ + active, + generate=foobar, + extract-env={figure,table}, + extract-cmd={chapter,section} +]{extract} +</pre> +</blockquote> +which will cause the package to produce a file <i>foobar.tex</i> +containing all the <code>figure</code> and <code>table</code> +environments, and the <code>\</code><code>chapter</code> and <code>\</code><code>section</code> commands, from +the document being processed. The new file <i>foobar.tex</i> is +generated in the course of an otherwise ordinary run on the 'master' +document. The package provides a good number of other facilities, +including (numeric or labelled) ranges of environments to extract, and +an <code>extract</code> environment which you can use to create complete +ready-to-run LaTeX documents with stuff you've extracted. +<dl> +<dt><tt><i>askinclude.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/askinclude.sty">macros/latex/contrib/misc/askinclude.sty</a> +<dt><tt><i>comment.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/comment.zip">macros/latex/contrib/comment</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/comment.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/comment/">browse</a>) +<dt><tt><i>excludeonly.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/excludeonly.sty">macros/latex/contrib/misc/excludeonly.sty</a> +<dt><tt><i>extract.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/extract.zip">macros/latex/contrib/extract</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/extract.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/extract/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>optional.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/optional.sty">macros/latex/contrib/misc/optional.sty</a> +<dt><tt><i>pagesel.sty</i></tt><dd>Distributed with Heiko Oberdiek's packages + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/oberdiek.zip">macros/latex/contrib/oberdiek</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/oberdiek.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/oberdiek/">browse</a>) +<dt><tt><i>pdfpages.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pdfpages.zip">macros/latex/contrib/pdfpages</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pdfpages.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/pdfpages/">browse</a>) +<dt><tt><i>selectp.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/selectp.sty">macros/latex/contrib/misc/selectp.sty</a> +<dt><tt><i>verbatim.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>version.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/version.sty">macros/latex/contrib/misc/version.sty</a> +<dt><tt><i>versions.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/versions/versions.sty">macros/latex/contrib/versions/versions.sty</a> +<dt><tt><i>xcomment.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/seminar.zip">macros/latex/contrib/seminar</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/seminar.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/seminar/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=conditional">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=conditional</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-context.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-context.html new file mode 100644 index 00000000000..cc047fd0515 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-context.html @@ -0,0 +1,27 @@ +<head> +<title>UK TeX FAQ -- question label context</title> +</head><body> +<h3>What is ConTeXt?</h3> +<p><a href="http://www.pragma-ade.com/">ConTeXt</a> is a macro package +developed by Hans Hagen, originally to +serve the needs of his (Dutch) firm Pragma. It was designed with the +same general-purpose aims as LaTeX, but (being younger) reflects +much more recent thinking about the structure of markup, etc. In +particular, ConTeXt can customise its markup to an +author's language (customising modules for Dutch, English and German +are provided, at present). +<p>ConTeXt is well integrated, in all of its structure, +with the needs of hypertext markup, and in particular with the +facilities offered by <a href="FAQ-pdftex.html">PDFTeX</a>. +The default installation employs a version of PDFTeX built with the +<a href="FAQ-NTS.html">e-TeX extensions</a>, which allows further flexibility. +<p>ConTeXt doesn't yet have quite such a large developer community as +does LaTeX, but those developers who are active seem to have +prodigious energy. Some support is available via a +<a href="http://contextgarden.net/">WIKI site</a>. +<dl> +<dt><tt><i>ConTeXt distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/context.zip">macros/context</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/context.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/context/">browse</a>) +</dl> +<p> +<p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=context">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=context</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-crop.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-crop.html new file mode 100644 index 00000000000..e56882a8a98 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-crop.html @@ -0,0 +1,20 @@ +<head> +<title>UK TeX FAQ -- question label crop</title> +</head><body> +<h3>How to create crop marks</h3> +<p>If you're printing something that's eventually to be reproduced in +significant quantities, and bound, it's conventional to print on paper +larger than your target product, and to place "crop marks" outside +the printed area. These crop marks are available to the production +house, for lining up reproduction and trimming machines. +<p>You can save yourself the (considerable) trouble of programming these +marks for yourself by using the package <i>crop</i>, which has +facilities to satisfy any conceivable production house. Users of the +<i>memoir</i> class don't need the package, since <i>memoir</i> has +its own facilities for programming crop marks. +<dl> +<dt><tt><i>crop.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/crop.zip">macros/latex/contrib/crop</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/crop.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/crop/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=crop">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=crop</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-crossref.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-crossref.html new file mode 100644 index 00000000000..710563c747a --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-crossref.html @@ -0,0 +1,38 @@ +<head> +<title>UK TeX FAQ -- question label crossref</title> +</head><body> +<h3>LaTeX gets cross-references wrong</h3> +<p>Sometimes, however many times you run LaTeX, the cross-references +are just wrong. Remember that +the <code>\</code><code>label</code> command must come <em>after</em> the <code>\</code><code>caption</code> command, or +be part of it. For example, + +<pre> + \begin{figure} \begin{figure} + \caption{A Figure} or \caption{A Figure% + \label{fig} \label{fig}} + \end{figure} \end{figure} +</pre> +<p>You can, just as effectively, shield the <code>\</code><code>caption</code> command from its +associated <code>\</code><code>label</code> command, by enclosing the caption in an +environment of its own. For example, people commonly seek help after: +<blockquote> +<pre> +\begin{center} + \caption{A Figure} +\end{center} +\label{fig} +</pre> +</blockquote> +has failed to label correctly. If you really need this centring (and +those in the know commonly reject it), code it as: +<blockquote> +<pre> +\begin{center} + \caption{A Figure} + \label{fig} +\end{center} +</pre> +</blockquote> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=crossref">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=crossref</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-csname.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-csname.html new file mode 100644 index 00000000000..0c314c6cab9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-csname.html @@ -0,0 +1,57 @@ +<head> +<title>UK TeX FAQ -- question label csname</title> +</head><body> +<h3>Defining a macro from an argument</h3> +<p>It's common to want a command to create another command: often one +wants the new command's name to derive from an argument. LaTeX +does this all the time: for example, <code>\</code><code>newenvironment</code> creates +start- and end-environment commands whose names are derived from the +name of the environment command. +<p>The (seemingly) obvious approach: +<blockquote> +<pre> +\def\relay#1#2{\def\#1{#2}} +</pre> +</blockquote> +doesn't work (the TeX engine interprets it +as a rather strange redefinition of <code>#</code>). The trick is to use +<code>\</code><code>csname</code>, which is a TeX primitive for generating command names +from random text, together with <code>\</code><code>expandafter</code>. The definition +above should read: +<blockquote> +<pre> +\def\relay#1#2{% + \expandafter\def\csname #1\endcsname{#2}% +} +</pre> +</blockquote> +With this definition, <code>\</code><code>relay{blah}{bleah}</code> is equivalent to +<code>\</code><code>def</code><code>\</code><code>blah{bleah}</code>. +<p>Note that the definition of <code>\</code><code>relay</code> omits the braces round the +'command name' in the <code>\</code><code>newcommand</code> it executes. This is +because they're not necessary (in fact they seldom are), and in this +circumstance they make the macro code slightly more tedious. +<p>The name created need not (of course) be <em>just</em> the argument: +<blockquote> + +<pre> +\def\newrace#1#2#3{% + \expandafter\def\csname start#1\endcsname{% + #2% + }% + \expandafter\def\csname finish#1\endcsname{% + #3% + }% +} +</pre> +</blockquote> +With commands +<blockquote> +<pre> +\def\start#1{\csname start#1\endcsname} +\def\finish#1{\csname finish#1\endcsname} +</pre> +</blockquote> +these 'races' could behave a bit like LaTeX environments. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=csname">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=csname</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-custbib.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-custbib.html new file mode 100644 index 00000000000..6168e4321ef --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-custbib.html @@ -0,0 +1,26 @@ +<head> +<title>UK TeX FAQ -- question label custbib</title> +</head><body> +<h3>Creating a bibliography style</h3> +<p>It <em>is</em> possible to write your own: the standard bibliography +styles are distributed in a commented form, and there is a description +of the language (see + +<a href="FAQ-BibTeXing.html">BibTeX documentation</a>). +However, it must be admitted that the language in which BibTeX +styles are written is pretty obscure, and one would not recommend +anyone who's not a confident programmer to write their own, though +minor changes to an existing style may be within the grasp of many. +<p>If your style isn't too 'far out', you can probably generate it by +using the facilities of the <i>custom-bib</i> bundle. This +contains a file <i>makebst.tex</i>, which runs you through a text menu +to produce a file of instructions, with which you can generate your +own <code>.bst</code> file. This technique doesn't offer entirely new styles +of document, but the system's "master BibTeX styles" already +offer significantly more than the BibTeX standard set. +<dl> +<dt><tt><i>BibTeX documentation</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/distribs/doc.zip">biblio/bibtex/distribs/doc</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/distribs/doc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/distribs/doc/">browse</a>) +<dt><tt><i>makebst.tex</i></tt><dd>Distributed with <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/custom-bib.zip">macros/latex/contrib/custom-bib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/custom-bib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/custom-bib/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=custbib">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=custbib</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cv.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cv.html new file mode 100644 index 00000000000..d5d0848db69 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cv.html @@ -0,0 +1,38 @@ +<head> +<title>UK TeX FAQ -- question label cv</title> +</head><body> +<h3><em>Curriculum Vitae</em> (Résumé)</h3> +<p>Andrej Brodnik's class, <i>vita</i>, offers a framework for producing +a <em>curriculum vitae</em>. The class may be customised both for +subject (example class option files support both computer scientists +and singers), and for language (both the options provided are +available for both English and Slovene). Extensions may be written by +creating new class option files, or by using macros defined in the +class to define new entry types, etc. +<p>Didier Verna's class, <i>curve</i>, is based on a model in which +the CV is made of a set of <em>rubrics</em> (each one dealing +with a major item that you want to discuss, such as 'education', 'work +experience', etc). The class's documentation is supported by a couple +of example files, and an emacs mode is provided. +<p>The European Commission has recommended a format for +<em>curricula vitarum</em> within Europe, and Nicola Vitacolonna has +developed a class <i>europecv</i> to produce it. While (by his own +admission) the class doesn't solve all problems, it seems well-thought +out and supports many EU languages (it omits Dutch and Greek, and all +the languages of the 2004 accessions; instructions for creating new +language options are, however, there for the energetic). +<p>The alternative to using a separate class is to impose a package on +one of the standard classes. An example, +Axel Reichert's <i>currvita</i> package, has been recommended to the +FAQ team. Its output certainly looks good. +<p>There is also a LaTeX 2.09 package <i>resume</i>, which comes with +little but advice <em>against</em> trying to use it. +<dl> +<dt><tt><i>currvita.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/currvita.zip">macros/latex/contrib/currvita</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/currvita.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/currvita/">browse</a>) +<dt><tt><i>curve.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/curve.zip">macros/latex/contrib/curve</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/curve.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/curve/">browse</a>) +<dt><tt><i>europecv.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/europecv.zip">macros/latex/contrib/europecv</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/europecv.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/europecv/">browse</a>) +<dt><tt><i>resume.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/obsolete/macros/latex209/contrib/resume/resume.sty">obsolete/macros/latex209/contrib/resume/resume.sty</a> +<dt><tt><i>vita.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/vita.zip">macros/latex/contrib/vita</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/vita.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/vita/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=cv">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=cv</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cvtlatex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cvtlatex.html new file mode 100644 index 00000000000..030fad6230e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-cvtlatex.html @@ -0,0 +1,77 @@ +<head> +<title>UK TeX FAQ -- question label cvtlatex</title> +</head><body> +<h3>Transcribing LaTeX command definitions</h3> +<p>At several places in this FAQ, questions are answered in terms +of how to program a LaTeX macro. Sometimes, these macros might +also help users of Plain TeX or other packages; this answer +attempts to provide a rough-and-ready guide to transcribing such macro +definitions for use in other packages. +<p>The reason LaTeX has commands that replace <code>\</code><code>def</code>, is that +there's a general philosophy within LaTeX that the user should be +protected from himself: the user has different commands according to +whether the command to be defined exists (<code>\</code><code>renewcommand</code>) or not +(<code>\</code><code>newcommand</code>), and if its status proves not as the user expected, +an error is reported. A third definition command, +<code>\</code><code>providecommand</code>, only defines if the target is not already +defined; LaTeX has no direct equivalent of <code>\</code><code>def</code>, which ignores +the present state of the command. The final command of this sort is +<code>\</code><code>DeclareRobustCommand</code>, which creates a command which is "robust" +(i.e., will not expand if subjected to LaTeX "protected +expansion"); from the Plain TeX user's point of view, +<code>\</code><code>DeclareRobustCommand</code> should be treated as a non-checking version +of <code>\</code><code>newcommand</code>. +<p>LaTeX commands are, by default, defined <code>\</code><code>long</code>; an optional <code>*</code> +between the <code>\</code><code>newcommand</code> and its (other) arguments specifies that +the command is <em>not</em> to be defined <code>\</code><code>long</code>. The <code>*</code> is +detected by a command <code>\</code><code>@ifstar</code> which uses <code>\</code><code>futurelet</code> to switch +between two branches, and gobbles the <code>*</code>: LaTeX users are +encouraged to think of the <code>*</code> as part of the command name. +<p>LaTeX's checks for unknown command are done by <code>\</code><code>ifx</code> comparison +of a <code>\</code><code>csname</code> construction with <code>\</code><code>relax</code>; since the command name +argument is the desired control sequence name, this proves a little +long-winded. Since <code>#1</code> is the requisite argument, we have: +<blockquote> + +<pre> +\expandafter\ifx + \csname\expandafter\@gobble\string#1\endcsname + \relax + ... +</pre> +</blockquote> +(<code>\</code><code>@gobble</code> simply throws away its argument). +<p>The arguments of a LaTeX command are specified by two optional +arguments to the defining command: a count of arguments (0-9: if the +count is 0, the optional count argument may be omitted), and a default +value for the first argument, if the defined command's first argument +is to be optional. So: +<blockquote> +<pre> +\newcommand\foo{...} +\newcommand\foo[0]{...} +\newcommand\foo[1]{...#1...} +\newcommand\foo[2][boo]{...#1...#2...} +</pre> +</blockquote> +In the last case, <code>\</code><code>foo</code> may be called as <code>\</code><code>foo{goodbye}</code>, +which is equivalent to <code>\</code><code>foo[boo]{goodbye}</code> (employing the +default value given for the first argument), or as +<code>\</code><code>foo[hello]{goodbye}</code> (with an explicit first argument). +<p>Coding of commands with optional arguments is exemplified by the +coding of the last <code>\</code><code>foo</code> above: +<blockquote> +<pre> +\def\foo{\futurelet\next\@r@foo} +\def\@r@foo{\ifx\next[% + \let\next\@x@foo + \else + \def\next{\@x@foo[boo]}% + \fi + \next +} +\def\@x@foo[#1]#2{...#1...#2...} +</pre> +</blockquote> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=cvtlatex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=cvtlatex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dec_comma.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dec_comma.html new file mode 100644 index 00000000000..8e422627dba --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dec_comma.html @@ -0,0 +1,25 @@ +<head> +<title>UK TeX FAQ -- question label dec_comma</title> +</head><body> +<h3>The comma as a decimal separator</h3> +<p>If you use a comma in maths mode, you get a small space after it; this +space is inappropriate if the comma is being used as a decimal +separator. An easy solution to this problem, in maths +mode, is to type <code>3</code><code>{,}</code><code>14</code> instead of typing +<code>3,14</code>. However, if your language's +typographic rules require the comma as a decimal separator, such usage +can rapidly become extremely tiresome. There are two packages that +can help relieve the tedium: <i>icomma</i> and <i>ziffer</i>. +<p><i>Icomma</i> ensures that there will be no extra space after a +comma, unless you type a space after it (as in <code>f(x, y)</code>, for +instance), in which case the usual small space after the comma +appears. <i>Ziffer</i> is specifically targeted at the needs of +those typesetting German, but covers the present need, as well as +providing the double-minus sign used in German (and other languages) +for the empty 'cents' part of an amount of currency. +<dl> +<dt><tt><i>icomma.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/was.zip">macros/latex/contrib/was</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/was.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/was/">browse</a>) +<dt><tt><i>ziffer.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/ziffer.sty">macros/latex/contrib/misc/ziffer.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dec_comma">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dec_comma</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-destable.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-destable.html new file mode 100644 index 00000000000..c4ab5c95a21 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-destable.html @@ -0,0 +1,82 @@ +<head> +<title>UK TeX FAQ -- question label destable</title> +</head><body> +<h3>The design of tables</h3> +<p>In recent years, several authors have argued that the examples, set +out by Lamport in his <a href="FAQ-books.html">LaTeX manual</a>, have cramped +authors' style and have led to extremely poor table design. It is in +fact difficult even to work out what many of the examples in Lamport's +book "mean". +<p>The criticism focuses on the excessive use of rules (both horizontal +and vertical) and on the poor vertical spacing that Lamport's macros +offer. +<p>The problem of vertical spacing is plain for all to see, and is +addressed in several packages - see +"<a href="FAQ-struttab.html">spacing of lines in tables</a>". +<p>The argument about rules is presented in the excellent essay that +prefaces the documentation of Simon Fear's <i>booktabs</i> package, +which (of course) implements Fear's scheme for 'comfortable' rules. +(The same rule commands are implemented in the <i>memoir</i> class.) +<p>Lamport's LaTeX was also inflexibly wrong in "insisting" that +captions should come at the bottom of a table. Since a table may +extend over several pages, traditional typography places the caption +at the top of a table float. The <code>\</code><code>caption</code> command will get its +position wrong (by <code>10pt</code>) if you simply write: +<blockquote> +<pre> +\begin{table} + \caption{Example table} + \begin{tabular}{...} + ... + \end{tabular} +\end{table} +</pre> +</blockquote> +The <i>topcapt</i> package solves this problem: +<blockquote> +<pre> +\usepackage{topcaption} +... +\begin{table} + \topcaption{Example table} + \begin{tabular}{...} + ... + \end{tabular} +\end{table} +</pre> +</blockquote> +The <i>KOMA-script</i> classes provide a similar command +<code>\</code><code>captionabove</code>; they also have a class option +<code>tablecaptionabove</code> which arranges that <code>\</code><code>caption</code> +<em>means</em> <code>\</code><code>captionabove</code>, in table environments. The +<i>caption</i> (from the release of 23 January, 2004) may be loaded +with an option that has the same effect: +<blockquote> +<pre> +\usepackage[tableposition=top]{caption} +</pre> +</blockquote> +<p>Doing the job yourself is pretty easy: <i>topcapt</i> switches the +values of the LaTeX2e parameters <code>\</code><code>abovecaptionskip</code> (default +value <code>10pt</code>) and <code>\</code><code>belowcaptionskip</code> (default value <code>0pt</code>), so: +<blockquote> +<pre> +\begin{table} + \setlength{\abovecaptionskip}{0pt} + \setlength{\belowcaptionskip}{10pt} + \caption{Example table} + \begin{tabular}{...} + ... + \end{tabular} +\end{table} +</pre> +</blockquote> +does the job. (The package itself is very slightly more elaborate...) +<dl> +<dt><tt><i>booktabs.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/booktabs.zip">macros/latex/contrib/booktabs</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/booktabs.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/booktabs/">browse</a>) +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>topcapt.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/topcapt.sty">macros/latex/contrib/misc/topcapt.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=destable">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=destable</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-distill-prob.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-distill-prob.html new file mode 100644 index 00000000000..0a834869e58 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-distill-prob.html @@ -0,0 +1,35 @@ +<head> +<title>UK TeX FAQ -- question label distill-prob</title> +</head><body> +<h3>Characters missing from PDF output</h3> +<p>If you're using <i>Acrobat</i> <i>Distiller</i> to create your +PDF output, you may find +characters missing. This may manifest +itself as messed-up maths equations (missing +"-" signs, for example), or bits missing +from large symbols. Early versions of <i>Distiller</i> used to +ignore character positions 0-31 and 128-159 of every font: Adobe's +fonts never use such positions, so why should <i>Distiller</i>? +<p>Well, the answer to this question is "because Adobe don't produce all +the world's fonts" - fonts like <i>Computer</i> +<i>Modern</i> were around before Adobe came on the scene, and +<em>they</em> use positions 0-31. Adobe don't react to complaints like +that in the previous sentence, but they do release new versions of +their programs; and <i>Distiller</i>, since at least version 4.0, +<em>has</em> recognised the font positions it used to shun. +<p>Meanwhile, TeX users with old versions of <i>Distiller</i> need +to deal with their fonts. <i>Dvips</i> comes to our aid: the +switch <code>-G1</code> ("remap characters"), which moves the offending +characters out of the way. The PDF configuration file +(<code>-Ppdf</code>), recommended +in "<a href="FAQ-fuzzy-type3.html">the wrong type of fonts</a>", +includes the switch. +<p>The switch is not without its problems; pre-2003 versions of +<i>dvips</i> will apply it to Adobe fonts as well, causing +<a href="FAQ-charshift.html">havoc</a>, but fortunately +that problem is usually soluble. However, a document using both +CM and Adobe-specified fonts is stuck. The only real solution +is either to upgrade <i>dvips</i>, or to spend money to upgrade +<i>Distiller</i>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=distill-prob">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=distill-prob</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-divzero.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-divzero.html new file mode 100644 index 00000000000..6a08373e4c7 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-divzero.html @@ -0,0 +1,54 @@ +<head> +<title>UK TeX FAQ -- question label divzero</title> +</head><body> +<h3>Graphics division by zero</h3> +<p>While the error +<blockquote> +<pre> +! Package graphics Error: Division by 0. +</pre> +</blockquote> +can actually be caused by offering the package a figure which claims +to have a zero dimension, it's more commonly caused by rotation. +<p>Objects in TeX may have both height (the height above the baseline) +and depth (the distance the object goes below the baseline). If you +rotate an object by 180 degrees, you convert its height into depth, +and vice versa; if the object started with zero depth, you've +converted it to a zero-height object. +<p>Suppose you're including your graphic with a command like: +<blockquote> +<pre> +\includegraphics[angle=180,height=5cm]{myfig.eps} +</pre> + +</blockquote> +In the case that <i>myfig.eps</i> has no depth to start with, the +scaling calculations will produce the division-by-zero error. +<p>Fortunately, the <i>graphicx</i> package has a keyword +<code>totalheight</code>, which allows you to specify the size of the +image relative to the sum of the object's <code>height</code> and +<code>depth</code>, so +<blockquote> +<pre> +\includegraphics[angle=180,totalheight=5cm]{myfig.eps} +</pre> + +</blockquote> +will resolve the error, and will behave as you might hope. +<p>If you're using the simpler <i>graphics</i> package, use the +<code>*</code> form of the <code>\</code><code>resizebox</code> command to specify the use of +<code>totalheight</code>: +<blockquote> +<pre> +\resizebox*{!}{5cm}{% + \rotatebox{180}{% + \includegraphics{myfig.eps}% + }% +} +</pre> +</blockquote> +<dl> +<dt><tt><i>graphics.sty,graphicx.sty</i></tt><dd>Both parts of the <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.zip">macros/latex/required/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/graphics/">browse</a>) bundle +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=divzero">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=divzero</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-docotherdir.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-docotherdir.html new file mode 100644 index 00000000000..c929acdda0f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-docotherdir.html @@ -0,0 +1,65 @@ +<head> +<title>UK TeX FAQ -- question label docotherdir</title> +</head><body> +<h3>Bits of document from other directories</h3> +<p>A common way of constructing a large document is to break it into a +set of files (for example, one per chapter) and to keep everything +related to each of these subsidiary files in a subdirectory. +<p>Unfortunately, TeX doesn't have a changeable "current directory", +so that all files you refer to have to be specified relative to the +same directory as the main file. Most people find this +counter-intuitive. +<p>It may be appropriate to use the "path extension" technique + +<a href="FAQ-tempinst.html">used in temporary installations</a> to deal with +this problem. However, if there several files with the same name in +your document, such as <i>chapter1/fig1.eps</i> and +<i>chapter2/fig1.eps</i>, you're not giving TeX any hint as to +which you're referring to when in the main chapter file you say +<code>\</code><code>input{sect1}</code>; while this is readily soluble in the case of +human-prepared files (just don't name them all the same), +automatically produced files have a way of having repetitious names, +and changing <em>them</em> is a procedure prone to error. +<p>The <i>import</i> package comes to your help here: it defines an +<code>\</code><code>import</code> command that accepts a full path name and the name of a +file in that directory, and arranges things to "work properly". +So, for example, if <i>/home/friend/results.tex</i> contains +<blockquote> +<pre> +Graph: \includegraphics{picture} +\input{explanation} +</pre> +</blockquote> +then <code>\</code><code>import{/home/friend/}{results}</code> will include both +graph and explanation as one might hope. A <code>\</code><code>subimport</code> command +does the same sort of thing for a subdirectory (a relative path rather +than an absolute one), and there are corresponding <code>\</code><code>includefrom</code> +and <code>\</code><code>subincludefrom</code> commands. +<p>The <i>chapterfolder</i> package provides commands to deal with its +(fixed) model of file inclusion in a document. It provides commands +<code>\</code><code>cfpart</code>, <code>\</code><code>cfchapter</code>, <code>\</code><code>cfsection</code> and <code>\</code><code>cfsubsection</code>, +each of which takes directory and file arguments, e.g.: +<blockquote> +<pre> +\cfpart[pt 1]{Part One}{part1}{part} +</pre> +</blockquote> +which command will issue a 'normal' command +<code>\</code><code>part[pt 1]{Part One}</code> and then input the file +<i>part1/part.tex</i>, remembering that <i>part1/</i> is now the +"current folder". There are also commands of the form +<code>\</code><code>cfpartstar</code> (which corresponds to a <code>\</code><code>part*</code> command). +<p>Once you're "in" a <i>chapterfolder</i>-included document, you +may use <code>\</code><code>cfinput</code> to input something relative to the "current +folder", or you may use <code>\</code><code>input</code>, using <code>\</code><code>cfcurrentfolder</code> to +provide a path to the file. (There are also +<code>\</code><code>cfcurrentfolderfigure</code> for a <i>figure/</i> subdirectory and +<code>\</code><code>cfcurrentfolderlistings</code> for a <i>listings/</i> subdirectory.) +<p>Documentation of <i>chapterfolder</i> is in French, but the +<i>README</i> in the directory is in English. +<dl> +<dt><tt><i>chapterfolder.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/chapterfolder.zip">macros/latex/contrib/chapterfolder</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/chapterfolder.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/chapterfolder/">browse</a>) +<dt><tt><i>import.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/import.sty">macros/latex/contrib/misc/import.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=docotherdir">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=docotherdir</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-docpictex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-docpictex.html new file mode 100644 index 00000000000..c496f699597 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-docpictex.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label docpictex</title> +</head><body> +<h3>The PiCTeX manual</h3> +<p>PiCTeX is a set of macros by Michael Wichura for drawing diagrams +and pictures. The +macros are freely available; however, the +PiCTeX manual itself is not free. +Unfortunately, TUG is no longer able to supply copies of the +manual (as it once did), and it is now available only through Personal +TeX Inc, the vendors of PCTeX (<a href="http://www.pctex.com/">http://www.pctex.com/</a>). The +manual is <em>not</em> available electronically. +<dl> +<dt><tt><i>pictex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/pictex.zip">graphics/pictex</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/pictex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/pictex/">browse</a>) +</dl> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=docpictex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=docpictex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dolldoll.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dolldoll.html new file mode 100644 index 00000000000..94418b05ef3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dolldoll.html @@ -0,0 +1,33 @@ +<head> +<title>UK TeX FAQ -- question label dolldoll</title> +</head><body> +<h3>Why use <code>\</code><code>[</code> ...<code>\</code><code>]</code> in place of <code>$$</code> ...<code>$$</code>?</h3> +<p>LaTeX defines inline- and display-maths commands, apparently +analagous to those that derive from the TeX primitive maths +sequences bracketing maths commands with single dollar signs (or pairs +of dollar signs). +<p>As it turns out, LaTeX's inline maths grouping, +<code>\</code><code>(</code><code> ... </code><code>\</code><code>)</code>, has precisely the same effect as the +TeX primitive version <code>$ ... $</code>. (Except that +the LaTeX version checks to ensure you don't put <code>\</code><code>(</code> and +<code>\</code><code>)</code> the wrong way round.) +<p>In this circumstance, one often finds LaTeX users, who have some +experience of using Plain TeX, merely assuming that LaTeX's +display maths grouping <code>\</code><code>[</code><code> ... </code><code>\</code><code>]</code> may be replaced by +the TeX primitive display maths <code>$$ ... $$</code>. +<p>Unfortunately, they are wrong: if LaTeX code is going to patch display +maths, it can only do so by patching <code>\</code><code>[</code> and <code>\</code><code>]</code>. The most +obvious way this turns up, is that the class option <code>fleqn</code> +simply does not work for equations coded using +<code>$$ ... $$</code>, whether you're using the standard classes +alone, or using package <i>amsmath</i>. Also, the <code>\</code><code>[</code> and +<code>\</code><code>]</code> has code for rationalising vertical spacing in some extreme +cases; that code is not available in <code>$$ ... $$</code>, so if you +use the non-standard version, you may occasionally observe +inconsistent vertical spacing . +<p>There are more subtle effects (especially with package +<i>amsmath</i>), and the simple rule is +<code>\</code><code>[</code><code> ... </code><code>\</code><code>]</code> whenever +unadorned displayed maths is needed in LaTeX. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dolldoll">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dolldoll</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dpfloat.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dpfloat.html new file mode 100644 index 00000000000..3ee1b5e839d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dpfloat.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label dpfloat</title> +</head><body> +<h3>Facing floats on 2-page spread</h3> +<p>If a pair of floats are to be forced to form a 2-page spread (in a +book, or whatever), the first must lie on the left side of the spread, +on an even-numbered page. The <i>dpfloat</i> package provides for +this: the construction to use is: +<blockquote> +<pre> +\begin{figure}[p] + \begin{leftfullpage} + <left side figure> + \end{leftfullpage} +\end{figure} +\begin{figure}[p] + \begin{fullpage} + <right side figure> + \end{fullpage} +\end{figure} +</pre> +</blockquote> +The construction has no effect unless the standard class option +<code>twoside</code> is in effect. +<p>Full documentation of the package (such as it is) is to be found in +<i>README.dpfloat</i> +<dl> +<dt><tt><i>dpfloat.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/dpfloat.zip">macros/latex/contrib/dpfloat</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/dpfloat.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/dpfloat/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dpfloat">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dpfloat</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-drawFeyn.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-drawFeyn.html new file mode 100644 index 00000000000..4a307247006 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-drawFeyn.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label drawFeyn</title> +</head><body> +<h3>Drawing Feynman diagrams in LaTeX</h3> +<p>Michael Levine's <i>feynman</i> bundle for drawing the diagrams in +LaTeX 2.09 is still available. +<p>Thorsten Ohl's <i>feynmf</i> is designed for use with current +LaTeX, and works in +combination with Metafont (or, in its <i>feynmp</i> incarnation, with +MetaPost). The <i>feynmf</i> or +<i>feynmp</i> package reads a description of the diagram written +in TeX, and writes out code. Metafont (or MetaPost) can then produce a +font (or PostScript file) for use in a subsequent LaTeX run. For +new users, who have access to MetaPost, the PostScript version is +probably the better route, for document portability and other reasons. + +<p>Jos Vermaseren's <i>axodraw</i> is mentioned as an alternative in +the documentation of <i>feynmf</i>, but it is written entirely in +terms of <i>dvips</i> <code>\</code><code>special</code> commands, and is thus rather +imperfectly portable. +<p>An alternative approach is implemented by Norman Gray's <i>feyn</i> +package. Rather than creating complete diagrams as postscript images, +<i>feyn</i> provides a font (in a variety of sizes) containing +fragments, which you can compose to produce complete diagrams. It +offers fairly simple diagrams which look good in equations, rather +than complicated ones more suitable for display in figures. +<dl> +<dt><tt><i>axodraw</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/axodraw/export">graphics/axodraw/export</a> +<dt><tt><i>feyn font bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/feyn.zip">fonts/feyn</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/feyn.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/feyn/">browse</a>) +<dt><tt><i>feynman bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex209/contrib/feynman.zip">macros/latex209/contrib/feynman</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex209/contrib/feynman.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex209/contrib/feynman/">browse</a>) +<dt><tt><i>feynmf/feynmp bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/feynmf.zip">macros/latex/contrib/feynmf</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/feynmf.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/feynmf/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=drawFeyn">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=drawFeyn</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-drawing.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-drawing.html new file mode 100644 index 00000000000..6694dd9eec2 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-drawing.html @@ -0,0 +1,77 @@ +<head> +<title>UK TeX FAQ -- question label drawing</title> +</head><body> +<h3>Drawing with TeX</h3> +<p>There are many packages to do pictures in (La)TeX itself (rather than +importing graphics created externally), ranging from simple use of +LaTeX <code>picture</code> environment, through enhancements like +<i>epic</i>, to +sophisticated (but slow) drawing with PiCTeX. Depending on your type +of drawing, and setup, here are a few systems you may consider: +<ul> +<li> <i>pict2e</i>; this was advertised in + <a href="FAQ-books.html">the LaTeX manual</a>, but didn't appear for nearly + ten years after publication of the book! It removes all the petty + niggles that surround the use of the <code>picture</code> + environment. It therefore suffers <em>only</em> from the rather + eccentric drawing language of the environment, and is a far more + useful tool than the original environment has ever been. (Note that + <i>pict2e</i> supersedes David Carlisle's stop-gap + <i>pspicture</i>.) +<li> <i>pstricks</i>; this gives you access to all the power of + PostScript from TeX itself, by sophisticated use of + <a href="FAQ-specials.html"><code>\</code><code>special</code> commands</a>. Since PostScript is itself a + pretty powerful programming language, this means there are many + astounding things that can in principle be achieved. + <i>pstricks</i>' <code>\</code><code>special</code>s are + by default specific to <i>dvips</i>, but VTeX (both in its + commercial and in its free versions) understands them. PDFTeX + users may use <i>pdftricks</i>, which (like + <i>epstopdf</i> - see + <a href="FAQ-pdftexgraphics.html">PDFLaTeX graphics</a>) generates + PDF files on the fly from <i>pstricks</i> commands. The + documentation is good (you may browse it via the + <a href="http://www.tug.org/applications/PSTricks/"><i>pstricks</a> page</i> + on the TUG web site), and another extremely valuable + <a href="http://www.pstricks.de">web site</a> lists supporting + packages (for various specialised drawing operations) and many + enticing examples. There is also a mailing list + (<a href="mailto:pstricks@tug.org"><i>pstricks@tug.org</i></a>) which you may + <a href="http://tug.org/mailman/listinfo/pstricks">join</a>, or you may + just + browse the <a href="http://tug.org/pipermail/pstricks/">list archives</a>. +<li> <i>pgf</i>: while <i>pstricks</i> is very powerful and + convenient, using it with PDFLaTeX is an awful fidget: if you + simply want the graphical capabilities, <i>pgf</i> may be a good + bet for you. While PDF has (in essence) the same graphical + capabilities as PostScript, it isn't programmable; <i>pgf</i> provides + common LaTeX commands that will utilise the graphical + capabilities of both PostScript and PDF equally. +<li> MetaPost; you liked Metafont, but never got to grips with font files? + Try <a href="FAQ-MP.html">MetaPost</a> - + all the power of Metafont, but it generates PostScript figures; MetaPost + is nowadays part of most serious (La)TeX distributions. Knuth + uses it for all his work... +<li> <i>Mfpic</i>; you liked Metafont, but can't understand the + language? The package makes up Metafont or MetaPost code for you + within using familiar-looking TeX macros. Not <em>quite</em> the + full power of MetaPost, but a friendlier interface; of course, with + MetaPost output, the results can be used equally well in either + LaTeX or PDFLaTeX. +<li> You liked PiCTeX but don't have enough memory or time? Look + at Eitan Gurari's <i>dratex</i>, which is as powerful as most + other TeX drawing packages, but is an entirely new + implementation, which is not as hard on memory, is much more + readable (and is fully documented). +</ul> +<dl> +<dt><tt><i>dratex.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/dratex.zip">graphics/dratex</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/dratex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/dratex/">browse</a>) +<dt><tt><i>mfpic</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/mfpic.zip">graphics/mfpic</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/mfpic.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/mfpic/">browse</a>) +<dt><tt><i>pdftricks.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pdftricks.zip">macros/latex/contrib/pdftricks</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pdftricks.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/pdftricks/">browse</a>) +<dt><tt><i>pspicture.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.zip">macros/latex/contrib/carlisle</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/carlisle/">browse</a>) +<dt><tt><i>pgf.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/pgf.zip">graphics/pgf</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/pgf.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/pgf/">browse</a>) +<dt><tt><i>pict2e.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pict2e.zip">macros/latex/contrib/pict2e</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pict2e.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/pict2e/">browse</a>) +<dt><tt><i>pstricks</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/pstricks.zip">graphics/pstricks</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/pstricks.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/pstricks/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=drawing">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=drawing</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-driver.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-driver.html new file mode 100644 index 00000000000..e67b74867d2 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-driver.html @@ -0,0 +1,24 @@ +<head> +<title>UK TeX FAQ -- question label driver</title> +</head><body> +<h3>What is a driver?</h3> +<p>A driver is a program that takes as input a DVI file +(<a href="FAQ-dvi.html">DVI files</a>) and +(usually) produces a file that can be sent to a typographic +output device, called a printer for short. +<p>A driver will usually be specific to a particular printer, +although any PostScript printer ought to be able to print +the output from a PostScript driver. + +<p>As well as the DVI file, the driver needs font information. +Font information may be held as bitmaps or as outlines, or simply as a +set of pointers into the fonts that the printer itself 'has'. +Each driver will expect the font information in +a particular form. For more information on the forms of fonts, +see <a href="FAQ-pk.html"><code>pk</code> files</a>, + +<a href="FAQ-tfm.html"><code>tfm</code> files</a>, +<a href="FAQ-virtualfonts.html">virtual fonts</a> +and <a href="FAQ-usepsfont.html">Using PostScript fonts with TeX</a>. +<p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=driver">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=driver</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dropping.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dropping.html new file mode 100644 index 00000000000..019b45051fd --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dropping.html @@ -0,0 +1,30 @@ +<head> +<title>UK TeX FAQ -- question label dropping</title> +</head><body> +<h3>Big letters at the start of a paragraph</h3> +<p>A common style of typesetting, now seldom seen except in newspapers, +is to start a paragraph (in books, usually the first of a chapter) +with its first letter set large enough to span several lines. +<p>This style is known as "dropped capitals", or (in French) +«lettrines», and TeX's primitive +facilities for hanging indentation make its (simple) implementation +pretty straightforward. +<p>The <i>dropping</i> package does the job simply, but has a curious +attitude to the calculation of the size of the font to be used for the +big letters. Examples appear in the package documentation, so before +you process the <code>.dtx</code>, the package itself must already be installed. +Unfortunately, <i>dropping</i> has an intimate relation to the set +of device drivers available in an early version of the LaTeX +graphics package, and it cannot be trusted to work with recent +offerings like PDFTeX, VTeX or DVIpdfm. +<p>On such occasions, the more recent <i>lettrine</i> package is more +likely to succeed. It has a well-constructed array of options, and +the examples (a pretty impressive set) come as a separate file in the +distribution (also available in PostScript, so that they can be viewed +without installing the package itself). +<dl> +<dt><tt><i>dropping</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/dropping.zip">macros/latex/contrib/dropping</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/dropping.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/dropping/">browse</a>) +<dt><tt><i>lettrine</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/lettrine.zip">macros/latex/contrib/lettrine</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/lettrine.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/lettrine/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dropping">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dropping</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dtx.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dtx.html new file mode 100644 index 00000000000..0cd08e801f5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dtx.html @@ -0,0 +1,57 @@ +<head> +<title>UK TeX FAQ -- question label dtx</title> +</head><body> +<h3>Documented LaTeX sources (<code>.dtx</code> files)</h3> +<p>LaTeX2e, and many support macro packages, are now written in a + +<a href="FAQ-lit.html">literate programming</a> style, +with source and documentation in the +same file. This format, known as 'doc', in fact originated before the +days of the LaTeX project as one of the "Mainz" series of +packages. The documented sources conventionally have the suffix +<code>.dtx</code>, and should normally be stripped of documentation +before use with LaTeX. Alternatively you can run LaTeX on a +<code>.dtx</code> file to produce a nicely formatted version of the +documented code. An installation script (with suffix +<code>.ins</code>) is usually provided, which needs the standard LaTeX2e +<i>docstrip</i> package (among other things, the installation +process strips all the comments that make up the documentation for +speed when loading the file into a running LaTeX system). Several +packages can be included in one <code>.dtx</code> file, with conditional +sections, and there facilities for indices of macros etc. Anyone can +write <code>.dtx</code> files; the format is explained in +<a href="FAQ-books.html">The LaTeX Companion</a>, and a tutorial is +available from CTAN (which comes with skeleton <code>.dtx</code> and +<code>.ins</code> files). +<p>Composition of <code>.dtx</code> files is supported in <i>emacs</i> by +Matt Swift's <i>swiftex</i> system: it provides a +<code>doc-tex</code> mode which treats <code>.dtx</code> files rather +better than <a href="FAQ-editors.html">AUC-TeX</a> manages. +<p>Another useful way of generating <code>.dtx</code> files is to write the +documentation and the code separately, and then to combine them using +the <i>makedtx</i> system. This technique has particular value in +that the documentation file can be used separately to generate +HTML output; it is often quite difficult to make +<a href="FAQ-LaTeX2HTML.html">LaTeX to HTML conversion</a> tools deal +with <code>.dtx</code> files, since they use an unusual class file. +<p><code>.dtx</code> files are not used by LaTeX after they have been +processed to produce <code>.sty</code> or <code>.cls</code> (or whatever) +files. They need not be kept with the working system; however, for +many packages the <code>.dtx</code> file is the primary source of +documentation, so you may want to keep <code>.dtx</code> files elsewhere. +<p>An interesting sideline to the story of <code>.dtx</code> files is the +<i>docmfp</i> package, which extends the model of the <i>doc</i> +package to <a href="FAQ-MF.html">Metafont</a> and +<a href="FAQ-MP.html">MetaPost</a>, +thus permitting documented distribution of bundles containing code for +Metafont and MetaPost together with related LaTeX code. +<dl> +<dt><tt><i>clsguide.pdf</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/doc/clsguide.pdf">macros/latex/doc/clsguide.pdf</a> +<dt><tt><i>docmfp.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/docmfp.zip">macros/latex/contrib/docmfp</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/docmfp.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/docmfp/">browse</a>) +<dt><tt><i>docstrip.tex</i></tt><dd>Part of the LaTeX distribution +<dt><tt><i>DTX tutorial</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/dtxtut.zip">info/dtxtut</a> (<a href="ftp://cam.ctan.org/tex-archive/info/dtxtut.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/dtxtut/">browse</a>) +<dt><tt><i>makedtx</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/makedtx.zip">support/makedtx</a> (<a href="ftp://cam.ctan.org/tex-archive/support/makedtx.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/makedtx/">browse</a>) +<dt><tt><i>swiftex.el</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/emacs-modes/swiftex.zip">support/emacs-modes/swiftex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/emacs-modes/swiftex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/emacs-modes/swiftex/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dtx">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dtx</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvi-bmp.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvi-bmp.html new file mode 100644 index 00000000000..e27e86bd841 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvi-bmp.html @@ -0,0 +1,51 @@ +<head> +<title>UK TeX FAQ -- question label dvi-bmp</title> +</head><body> +<h3>Generating bitmaps from DVI</h3> +<p>In the last analysis, any DVI driver or previewer is generating +bitmaps: bitmaps for placing tiny dots on paper via a laser- or +inkjet-printer, or bitmaps for filling some portion of your screen. +However, it's usually difficult to extract any of those bitmaps any +way other than by screen capture, and the resolution of <em>that</em> is +commonly lamentable. +<p>Why would one want separate bitmaps? Most often, the requirement is for +something that can be included in HTML generated from (La)TeX +source - not everything that you can write in (La)TeX can be +translated to HTML (at least, portable HTML that may be +viewed in 'most' browsers), so the commonest avoiding action is to +generate a bitmap of the missing bit. Examples are maths (a maths +extension to the <code>*</code>ML family is available but not widely +used), and 'exotic' typescripts (ones that you cannot guarantee your +readers will have available). Other common examples are generation of +sample bitmaps, and generation for insertion into some other +application's display - to insert equations into Microsoft +PowerPoint, or to support the enhanced-<i>emacs</i> setup called + +<a href="FAQ-WYGexpts.html"><i>preview</i>-<i>latex</i></a>. +<p>In the past, the commonest way of generating bitmaps was to generate a +PostScript file of the DVI and then use <i>ghostscript</i> to +produce the required bitmap format (possibly by way of PNM +format or something similar). This is an undesirable procedure (it is +very slow, and requires two or three steps) but it has served for a +long time. +<p>(La)TeX users may now take advantage of two bitmap 'drivers'. The +longest-established, <i>dvi2bitmap</i>, will generate XBM and +XPM formats, the long-deprecated GIF format (which is +now obsolescent, but is +finally, in Summer 2003, to be relieved of the patent protection of +the LZW compression it uses), and also +the modern (ISO-standardised) PNG format. +<p>Dvipng started out as a PNG renderer; from version 1.2 it can also +render to the GIF format. It is designed for speed, in environments that +generate large numbers of PNG files: the <i>README</i> mentions +<i>preview</i>-<i>latex</i>, <i>LyX</i>, and a few +web-oriented environments. Note that <i>dvipng</i> gives +high-quality output even though its internal operations are optimised +for speed. +<dl> +<dt><tt><i>dvi2bitmap</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/dvi2bitmap.zip">dviware/dvi2bitmap</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/dvi2bitmap.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/dvi2bitmap/">browse</a>) +<dt><tt><i>dvipng</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/dvipng.zip">dviware/dvipng</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/dvipng.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/dvipng/">browse</a>) +</dl> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvi-bmp">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvi-bmp</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvi.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvi.html new file mode 100644 index 00000000000..701145fc5c9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvi.html @@ -0,0 +1,27 @@ +<head> +<title>UK TeX FAQ -- question label dvi</title> +</head><body> +<h3>What is a DVI file?</h3> +<p>A DVI file (that is, a file with the type or extension <code>.dvi</code>) is +TeX's main output file, using TeX in its broadest sense to +include LaTeX, etc. 'DVI' is supposed to be an acronym for +DeVice-Independent, meaning that the file can be +printed on almost any +kind of typographic output device. The DVI file is designed to be +read by a driver (<a href="FAQ-driver.html">DVI drivers</a>) to produce +further output designed specifically for a particular printer (e.g., a +LaserJet) or to be used as input to a previewer for display on a +computer screen. DVI files use TeX's internal coding; a TeX +input file should produce the same DVI file regardless of which +implementation of TeX is used to produce it. +<p>A DVI file contains all the information that is needed for printing +or previewing except for the actual bitmaps or outlines of fonts, and +possibly material to be introduced by means of +<a href="FAQ-specials.html"><code>\</code><code>special</code> commands</a>. +<p>The canonical reference for the structure of a DVI file is the +source of <i>dvitype</i>. +<dl> +<dt><tt><i>dvitype</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/knuth/texware/dvitype.web">systems/knuth/texware/dvitype.web</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvi">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvi</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvipdfmgraphics.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvipdfmgraphics.html new file mode 100644 index 00000000000..719736004a7 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvipdfmgraphics.html @@ -0,0 +1,65 @@ +<head> +<title>UK TeX FAQ -- question label dvipdfmgraphics</title> +</head><body> +<h3>Imported graphics in <i>dvipdfm</i></h3> +<p><i>Dvipdfm</i> translates direct from DVI to PDF +(all other available routes produce PostScript output using +<i>dvips</i> and then convert that to PDF with +<i>ghostscript</i> or <i>Acrobat</i> <i>Distiller</i>). +<p><i>Dvipdfm</i> is a particularly flexible application. It will +permit the inclusion of bitmap and PDF graphics, as does +<a href="FAQ-pdftexgraphics.html">PDFTeX</a>, but is also capable of employing +<i>ghostscript</i> "on the fly" so as to be able to permit the +inclusion of encapsulated PostScript (<code>.eps</code>) files by translating +them to PDF. In this way, <i>dvipdfm</i> combines the good +qualities of <i>dvips</i> and of PDFTeX as a means of +processing illustrated documents. +<p>Unfortunately, "ordinary" LaTeX can't deduce the bounding box of +a binary bitmap file (such as JPEG or PNG), so you have +to specify the bounding box. This may be done explicitly, in the +document: +<blockquote> +<pre> +\usepackage[dvipdfm]{graphicx} +... +\includegraphics[bb=0 0 540 405]{photo.jpg} +</pre> +</blockquote> +It's usually not obvious what values to give the "<code>bb</code>" key, +but the program <i>ebb</i> will generate a file +containing the information; the above numbers came from an +<i>ebb</i> output file <i>photo.bb</i>: +<blockquote> +<pre> +%%Title: /home/gsm10/photo.jpg +%%Creator: ebb Version 0.5.2 +%%BoundingBox: 0 0 540 405 +%%CreationDate: Mon Mar 8 15:17:47 2004 +</pre> +</blockquote> +However, if such a file is available, you may abbreviate the inclusion +code, above, to read: +<blockquote> +<pre> +\usepackage[dvipdfm]{graphicx} +... +\includegraphics{photo} +</pre> +</blockquote> +which makes the operation feel as simple as does including +<code>.eps</code> images in a LaTeX file for processing with +<i>dvips</i>; the <i>graphicx</i> package knows to look for a +<code>.bb</code> file if no bounding box is provided in the +<code>\</code><code>includegraphics</code> command. +<p>The one place where usage isn't quite so simple is the need to quote +<i>dvipdfm</i> explicitly, as an option when loading the +<i>graphicx</i> package: if you are using <i>dvips</i>, you +don't ordinarily need to specify the fact, since the default graphics +configuration file (of most distributions) "guesses" the +<code>dvips</code> option if you're using TeX. +<dl> +<dt><tt><i>dvipdfm</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/dvipdfm.zip">dviware/dvipdfm</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/dvipdfm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/dvipdfm/">browse</a>) +<dt><tt><i>ebb</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/dviware/dvipdfm.zip">dviware/dvipdfm</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/dvipdfm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/dvipdfm/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvipdfmgraphics">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvipdfmgraphics</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvips-pdf.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvips-pdf.html new file mode 100644 index 00000000000..99722f1439c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvips-pdf.html @@ -0,0 +1,45 @@ +<head> +<title>UK TeX FAQ -- question label dvips-pdf</title> +</head><body> +<h3>Quality of PDF from PostScript</h3> +<!-- blurry fuzzy crippled --> +<p>Any reasonable PostScript, including any output of <i>dvips</i>, may be +converted to PDF, using (for example) a sufficiently recent +version of <i>ghostscript</i>, Frank Siegert's (shareware) +<a href="http://www.pstill.com/"><i>PStill</a></i>, or Adobe's (commercial) +<i>Distiller</i>. +<p>But, although the job may (almost always) be done, the results are +often not acceptable: the most frequent problem is bad presentation of +the character glyphs that make up the document. The following answers +offer solutions to this (and other) problems of bad presentation. +Issues covered are: +<ul> + +<li> + <a href="FAQ-fuzzy-type3.html">Wrong type of fonts used</a>, which is + the commonest cause of fuzzy text. + +<li> + <a href="FAQ-fuzzy-gs.html"><i>ghostscript</i> too old</a>, + which can also result in fuzzy text. +<li> + <a href="FAQ-fuzzy-T1.html">Switching to font encoding T1</a>, which + is yet another possible cause of fuzzy text. +<li> Another problem - missing characters - arises from an + + + <a href="FAQ-distill-prob.html">aged version of <i>Adobe</i> <i>Distiller</i></a>. +<li> Finally, there's the common confusion that arises from using the + <i>dvips</i> configuration file <code>-Ppdf</code>, the + + <a href="FAQ-charshift.html">weird characters</a>. +</ul> +It should be noted that <i>Adobe</i> + +<i>Reader</i> 6 (released in mid-2003) does not exhibit the +"fuzziness" that so many of the answers below address. This is of +course good news: however, it will inevitably be a long time before +every user in the world has this (or later) versions, so the remedies +below are going to remain for some time to come. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvips-pdf">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvips-pdf</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvips.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvips.html new file mode 100644 index 00000000000..2516238ca41 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvips.html @@ -0,0 +1,26 @@ +<head> +<title>UK TeX FAQ -- question label dvips</title> +</head><body> +<h3>DVI to PostScript conversion programs</h3> +<p>The best public domain DVI to PostScript conversion program, which +runs under many operating systems, is Tom Rokicki's <i>dvips</i>. +<i>dvips</i> is written in C and ports easily. All current +development is in the context of Karl Berry's <i>kpathsea</i> +library, and sources are available from the TeX live repository. +<p>An VMS versions is available as part of the CTAN +distribution of TeX for VMS. +<p>A precompiled version to work with emTeX is available on CTAN. +<p> + + + + +<p>Macintosh users can use either the excellent drivers built into OzTeX +or Textures, or a port of <i>dvips</i> in the CMacTeX +package. +<dl> +<dt><tt><i>MSDOS and {OS/}2</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/msdos/dviware/dvips.zip">systems/msdos/dviware/dvips</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/msdos/dviware/dvips.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/msdos/dviware/dvips/">browse</a>) +<dt><tt><i>VMS distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/OpenVMS/TEX97_CTAN.ZIP">systems/OpenVMS/TEX97_CTAN.ZIP</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvips">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvips</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvipsgraphics.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvipsgraphics.html new file mode 100644 index 00000000000..a567ff525e1 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-dvipsgraphics.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label dvipsgraphics</title> +</head><body> +<h3>Imported graphics in <i>dvips</i></h3> +<p><i>Dvips</i>, as originally conceived, can only import a single +graphics format: +<a href="FAQ-eps.html">encapsulated PostScript</a> (<code>.eps</code> files). +<i>Dvips</i> also deals with the slightly eccentric EPS that is +created by <a href="FAQ-MP.html">MetaPost</a>. +<p>Apart from the fact that a depressing proportion of drawing +applications produce corrupt EPS when asked for such output, +this is pretty satisfactory for vector graphics work. +<p>To include bitmap graphics, you need some means of converting them to +PostScript; in fact many standard image manipulators (such as +<i>ImageMagick</i>'s <i>convert</i>) make a good job of +creating EPS files. (Though <i>Unix</i> users should +beware of <i>xv</i>'s claims: it has a tendency to downsample your +bitmap to your screen resolution.) +<p>Special purpose applications <i>jpeg2ps</i> (which converts +JPEG files using PostScript level 2 functionality) and +<i>bmeps</i> (which converts both JPEG and PNG +files) are also considered "good bets". <i>Bmeps</i> comes with +patches to produce your own version of <i>dvips</i> that can cope +with JPEG and PNG direct, using <i>bmeps</i>'s +conversion library. +<dl> +<dt><tt><i>bmeps</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/bmeps.zip">support/bmeps</a> (<a href="ftp://cam.ctan.org/tex-archive/support/bmeps.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/bmeps/">browse</a>) +<dt><tt><i>jpeg2ps</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/support/jpeg2ps.zip">nonfree/support/jpeg2ps</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/support/jpeg2ps.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/jpeg2ps/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvipsgraphics">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=dvipsgraphics</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-edef.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-edef.html new file mode 100644 index 00000000000..133d217bc84 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-edef.html @@ -0,0 +1,20 @@ +<head> +<title>UK TeX FAQ -- question label edef</title> +</head><body> +<h3><code>\</code><code>edef</code> does not work with <code>\</code><code>protect</code></h3> +<p>Robust LaTeX commands are either "naturally robust" - meaning that +they never need <code>\</code><code>protect</code>, or "self-protected" - meaning that +they have <code>\</code><code>protect</code> built in to their definition in some +way. Self-protected commands are robust only in a context where the +<code>\</code><code>protect</code> mechanism is properly handled. The body of an +<code>\</code><code>edef</code> definition doesn't handle <code>\</code><code>protect</code> properly, since +<code>\</code><code>edef</code> is a TeX primitive rather than a LaTeX command. +<p>This problem is resolved by a LaTeX internal command +<code>\</code><code>protected@edef</code>, which does the job of <code>\</code><code>edef</code> while keeping the +<code>\</code><code>protect</code> mechanism working. There's a corresponding +<code>\</code><code>protected@xdef</code> which does the job of <code>\</code><code>xdef</code>. +<p>Of course, these commands need to be tended carefully, since they're + +internal: see <a href="FAQ-atsigns.html">'@' in control sequence names</a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=edef">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=edef</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-editors.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-editors.html new file mode 100644 index 00000000000..ae5bc6049ed --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-editors.html @@ -0,0 +1,90 @@ +<head> +<title>UK TeX FAQ -- question label editors</title> +</head><body> +<h3>TeX-friendly editors and shells</h3> +<p>There are good TeX-writing environments and editors for most +operating systems; some are described below, but this is only a +personal selection: +<dl> +<dt>Unix<dd> Try + <a href="http://www.gnu.org/software/emacs/emacs.html">GNU <i>emacs</a></i> + or <a href="http://www.xemacs.org/"><i>XEmacs</a></i>, and + the AUC-TeX + bundle (available from CTAN). AUC-TeX provides menu + items and control sequences for common constructs, checks syntax, + lays out markup nicely, lets you call TeX and drivers from + within the editor, and everything else like this that you can think + of. Complex, but very powerful. +<p> Many who fail to find the versions of <i>emacs</i> attractive, prefer + <a href="http://vim.sourceforge.net"><i>vim</a></i>, a highly configurable + editor (also available for Windows and Macintosh systems). Many + plugins are available to support the needs of the (La)TeX user, + including syntax highlighting, calling TeX programs, + auto-insertion and -completion of common (La)TeX structures, and + browsing LaTeX help. The scripts <i>auctex.vim</i> and + <i>bibtex.vim</i> seem to be the most common recommendations. +<p> The editor <a href="http://nedit.org/"><i>NEdit</a></i> is also free + and programmable, and is available for Unix systems. An + AUC-TeX-alike set of extensions for <i>NEdit</i> is available + from CTAN. +<p> <i>LaTeX4Jed</i> provides much enhanced LaTeX support for the + <a href="http://www.jedsoft.org/jed/"><i>jed</a></i> editor. + <i>LaTeX4Jed</i> is similar to AUC-TeX: menus, + shortcuts, templates, syntax highlighting, document outline, + integrated debugging, symbol completion, full integration with + external programs, and more. It was designed with both the beginner + and the advanced LaTeX user in mind. +<p> The <i>Kile</i> editor that is provided with the KDE + window manager provides GUI "shell-like" facilities, in a + similar way to the the widely-praised <i>Winedt</i> (see below); + details (and downloads) are available from the project's + <a href="http://kile.sourceforge.net/">home on SourceForge</a>. A newer + system (by <i>Kile</i>'s original author), + <a href="http://www.xm1math.net/texmaker/"><i>texmaker</a></i> doesn't + rely on KDE's facilities, and so may be more easily portable. +<dt>MSDOS<dd> TeXshell is a simple, + easily-customisable environment, which can be used with the editor + of your choice. +<p> You can also use GNU <i>emacs</i> and AUC-TeX + under MSDOS. +<dt>Windows '9x, NT, etc.<dd><i>TeXnicCenter</i> is a (free) + TeX-oriented development system, uniting a powerful platform for + executing (La)TeX and friends with a configurable editor. +<p> <i>Winedt</i>, a shareware package, is also highly spoken of. + It too provides a shell for the use of TeX and related programs, + as well as a powerful and well-configured editor. +<p> Both <i>emacs</i> and <i>vim</i> are available in versions + for Windows systems. +<dt>OS/2<dd> <i>epmtex</i> offers an OS/2-specific shell. +<dt>Macintosh<dd> The commercial Textures provides an excellent integrated + Macintosh environment with its own editor. More powerful still (as an + editor) is the shareware <i>Alpha</i> which is + extensible enough to let you perform almost any TeX-related job. It + works well with OzTeX. +<p> For MacOS X users, the tool of choice appears to be + <a href="http://www.uoregon.edu/~koch/texshop/texshop.html">TeXShop</a>, which + combines an editor and a shell with a coherent philosophy of dealing + with (La)TeX in the OS X environment. +<p> <i>Vim</i> is available for use on Macintosh systems. +</dl> +Atari, Amiga and NeXT users also have nice +environments. LaTeX users looking for <i>make</i>-like +facilities should try <i>latexmk</i>. +<p>While many (La)TeX-oriented editors can support work on BibTeX +files, there are many systems that provide specific "database-like" +access to your BibTeX files - +see <a href="FAQ-buildbib.html">"creating a bibliography file"</a>. +<dl> +<dt><tt><i>alpha</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/systems/mac/support/alpha.zip">nonfree/systems/mac/support/alpha</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/systems/mac/support/alpha.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/systems/mac/support/alpha/">browse</a>) +<dt><tt><i>auctex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/auctex.zip">support/auctex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/auctex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/auctex/">browse</a>) +<dt><tt><i>epmtex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/os2/epmtex.zip">systems/os2/epmtex</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/os2/epmtex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/os2/epmtex/">browse</a>) +<dt><tt><i>latexmk</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/latexmk.zip">support/latexmk</a> (<a href="ftp://cam.ctan.org/tex-archive/support/latexmk.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/latexmk/">browse</a>) +<dt><tt><i>LaTeX4Jed</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/jed.zip">support/jed</a> (<a href="ftp://cam.ctan.org/tex-archive/support/jed.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/jed/">browse</a>) +<dt><tt><i>Nedit LaTeX support</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/NEdit-LaTeX-Extensions.zip">support/NEdit-LaTeX-Extensions</a> (<a href="ftp://cam.ctan.org/tex-archive/support/NEdit-LaTeX-Extensions.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/NEdit-LaTeX-Extensions/">browse</a>) +<dt><tt><i>TeXnicCenter</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/systems/win32/TeXnicCenter/">systems/win32/TeXnicCenter/</a> +<dt><tt><i>TeXshell</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/msdos/texshell.zip">systems/msdos/texshell</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/msdos/texshell.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/msdos/texshell/">browse</a>) +<dt><tt><i>TeXtelmExtel</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/msdos/emtex-contrib/TeXtelmExtel.zip">systems/msdos/emtex-contrib/TeXtelmExtel</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/msdos/emtex-contrib/TeXtelmExtel.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/msdos/emtex-contrib/TeXtelmExtel/">browse</a>) +<dt><tt><i>winedt</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/win32/winedt/winedt32.exe">systems/win32/winedt/winedt32.exe</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=editors">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=editors</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-empty.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-empty.html new file mode 100644 index 00000000000..170867a7716 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-empty.html @@ -0,0 +1,36 @@ +<head> +<title>UK TeX FAQ -- question label empty</title> +</head><body> +<h3>Detecting that something is empty</h3> +<p>Suppose you need to know that the argument of your command is empty: +that is, to distinguish between <code>\</code><code>cmd{}</code> +and <code>\</code><code>cmd{blah}</code>. This is pretty simple: +<blockquote> +<pre> +\def\cmd#1{% + \def\tempa{}% + \def\tempb{#1}% + \ifx\tempa\tempb + <empty case> + \else + <non-empty case> + \fi +} +</pre> +</blockquote> +The case where you want to ignore an argument that consists of nothing +but spaces, rather than something completely empty, is more tricky. +It's solved in the code fragment <i>ifmtarg</i>, which defines +commands <code>\</code><code>@ifmtarg</code> and <code>\</code><code>@ifnotmtarg</code>, which distinguish (in +opposite directions) between a second and third argument. The +package's code also appears in the LaTeX <i>memoir</i> class. +<p><i>Ifmtarg</i> makes challenging reading; there's also a discussion of the +issue in number two of the "around the bend" articles by the late +lamented Mike Downes. +<dl> +<dt><tt><i>Around the bend series</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/aro-bend.zip">info/aro-bend</a> (<a href="ftp://cam.ctan.org/tex-archive/info/aro-bend.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/aro-bend/">browse</a>) +<dt><tt><i>ifmtarg.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/ifmtarg.sty">macros/latex/contrib/misc/ifmtarg.sty</a> +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=empty">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=empty</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-endingroup.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-endingroup.html new file mode 100644 index 00000000000..47cad25980b --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-endingroup.html @@ -0,0 +1,68 @@ +<head> +<title>UK TeX FAQ -- question label endingroup</title> +</head><body> +<h3><code>\</code><code>end</code> occurred inside a group</h3> +<p>The actual error we observe is: +<p> +<code>(\end occurred inside a group at level <</code><code><em>n</em></code><code>>)</code> +<p> +and it tells us that something we started in the document never got +finished before we ended the document itself. The things involved +('groups') are what TeX uses for restricting the scope of things: +you see them, for example, in the "traditional" font selection +commands: <code>{\it stuff\/}</code> - if the closing brace is left off such a +construct, the effect of <code>\</code><code>it</code> will last to the end of the document, +and you'll get the diagnostic. +<p>TeX itself doesn't tell you where your problem is, but you can +often spot it by looking at the typeset output in a previewer. +Otherwise, you can usually find mismatched braces using an intelligent +editor (at least <code>emacs</code> and <i>winedt</i> offer this facility). +However, groups are not <em>only</em> created by matching <code>{</code> with <code>}</code>: +other grouping commands are discussed elsewhere in these FAQs, +and are also a potential source of unclosed group. +<p><code>\</code><code>begin{<<i>environment</i>>}</code> encloses the environment's body +in a group, and establishes its own diagnostic mechanism. If you end +the document before closing some other environment, you get the +'usual' LaTeX diagnostic + +<pre> +! LaTeX Error: \begin{blah} on input line 6 ended by \end{document}. +</pre> +which (though it doesn't tell you which <em>file</em> the +<code>\</code><code>begin{blah}</code> was in) is usually enough to locate the +immediate problem. If you press on past the LaTeX error, you get +one or more repetitions of the "occurred inside a group" message +before LaTeX finally exits. The <i>checkend</i> package +recognises other unclosed <code>\</code><code>begin{blob}</code> commands, and +generates an "ended by" error message for each one, rather than +producing the "occurred inside a group" message, which is sometimes +useful (if you remember to load the package). +<p>In the absence of such information from LaTeX, you need to use +"traditional" binary search to find the offending group. Separate +the preamble from the body of your file, and process each half on its +own with the preamble; this tells you which half of the file is at +fault. Divide again and repeat. The process needs to be conducted +with care (it's obviously possible to split a correctly-written group +by chopping in the wrong place), but it will usually find the problem +fairly quickly. +<p>e-TeX (and e-LaTeX - LaTeX run on e-TeX) gives you +further diagnostics after the traditional infuriating TeX one - it +actually keeps the information in a similar way to LaTeX: + +<pre> +(\end occurred inside a group at level 3) + +### semi simple group (level 3) entered at line 6 (\begingroup) +### simple group (level 2) entered at line 5 ({) +### simple group (level 1) entered at line 4 ({) +### bottom level +</pre> +The diagnostic not only tells us where the group started, but also the +<em>way</em> it started: <code>\</code><code>begingroup</code> or <code>{</code> (which is an alias of +<code>\</code><code>bgroup</code>, and the two are not distinguishable at the TeX-engine +level). +<dl> +<dt><tt><i>checkend.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/bezos.zip">macros/latex/contrib/bezos</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/bezos.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/bezos/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=endingroup">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=endingroup</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-enlarge.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-enlarge.html new file mode 100644 index 00000000000..e2a3202dc00 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-enlarge.html @@ -0,0 +1,36 @@ +<head> +<title>UK TeX FAQ -- question label enlarge</title> +</head><body> +<h3>Enlarging TeX</h3> +<p>The TeX error message 'capacity exceeded' covers a multitude of +problems. What has been exhausted is listed in brackets after the +error message itself, as in: +<blockquote> +<pre> +! TeX capacity exceeded, sorry +... [main memory size=263001]. +</pre> +</blockquote> +Most of the time this error can be fixed +<em>without</em> enlarging TeX. The most common causes are unmatched braces, +extra-long lines, and poorly-written macros. Extra-long lines are +often introduced when files are transferred incorrectly between +operating systems, and line-endings are not preserved properly (the +tell-tale sign of an extra-long line error is the complaint +that the '<code>buf_size</code>' has overflowed). +<p>If you really need to extend your TeX's capacity, the proper method +depends on your installation. There is no need (with modern TeX +implementations) to change the defaults in Knuth's WEB source; +but if you do need to do so, use a change file to modify the values set in +module 11, recompile your TeX and regenerate all format files. +<p>Modern implementations allow the sizes of the various bits of TeX's +memory to be changed semi-dynamically. Some (such as emTeX) allow +the memory parameters to be changed in command-line switches when +TeX is started; most frequently, a configuration file is read which +specifies the size of the memory. On <i>web2c</i>-based systems, +this file is called <i>texmf.cnf</i>: see the documentation that comes +with the distribution for other implementations. Almost invariably, +after such a change, the format files need to be regenerated after +changing the memory parameters. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=enlarge">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=enlarge</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-enumerate.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-enumerate.html new file mode 100644 index 00000000000..c29d232961e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-enumerate.html @@ -0,0 +1,89 @@ +<head> +<title>UK TeX FAQ -- question label enumerate</title> +</head><body> +<h3>Fancy enumeration lists</h3> +<p>The <i>enumerate</i> package allows you to control the display of +the enumeration counter. The package adds an optional parameter to +the <code>enumerate</code> environment, which is used to specify the +layout of the labels. The layout parameter contains an enumeration +type ('<code>1</code>' for arabic numerals, '<code>a</code>' or '<code>A</code>' +for alphabetic enumeration, and '<code>i</code>' or '<code>I</code>' for Roman +numberals), and things to act as decoration of the enumeration. So, +for example +<blockquote> +<pre> +\usepackage{enumerate} +... +\begin{enumerate}[(a)] +\item ... ... +\end{enumerate} +</pre> +</blockquote> +starts a list whose labels run (a), (b), (c), ...; while +<blockquote> +<pre> +\usepackage{enumerate} +... +\begin{enumerate}[I/] +\item ... ... +\end{enumerate} +</pre> +</blockquote> +starts a list whose labels run I/, II/, III/, ... +<p>The <i>paralist</i> package, whose primary purpose is +<a href="FAQ-complist.html">compaction of lists</a>, provides the same facilities +for its <code>enumerate</code>-like environments. +<p>If you need non-stereotyped designs, the <i>enumitem</i> package +gives you most of the flexibility you might want to design your own. +The silly roman example above could be achieved by: +<blockquote> +<pre> +\usepackage{enumitem} +... +\begin{enumerate}[label=\Roman{*}/] +\item ... ... +\end{enumerate} +</pre> +</blockquote> +Note that the '<code>*</code>' in the key value stands for the list +counter at this level. You can also manipulate the format of +references to list item labels: +<blockquote> + +<pre> +\usepackage{enumitem} +... +\begin{enumerate}[label=\Roman{*}/, ref=(\roman{*})] +\item ... ... +\end{enumerate} +</pre> +</blockquote> +to make references to the list items format appear as (i), (ii), +(iii), etc. +<p>The <i>memoir</i> class includes functions that match those in the +<i>enumerate</i> package, and has similar functionality for +<code>itemize</code> lists. + + + + + + + + + + + + + + + + +<dl> +<dt><tt><i>enumerate.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>enumitem.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/enumitem.zip">macros/latex/contrib/enumitem</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/enumitem.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/enumitem/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>paralist.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/paralist.zip">macros/latex/contrib/paralist</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/paralist.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/paralist/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=enumerate">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=enumerate</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-epigraph.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-epigraph.html new file mode 100644 index 00000000000..819e5efb11d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-epigraph.html @@ -0,0 +1,64 @@ +<head> +<title>UK TeX FAQ -- question label epigraph</title> +</head><body> +<h3>Typesetting epigraphs</h3> +<p>Epigraphs are those neat quotations that authors put at the start of +chapters (or even at the end of chapters: Knuth puts things at the +ends of chapters of the TeXbook). +<p>Typesetting them is a bit of a fiddle, but not impossible to do for +yourself. However, the <i>epigraph</i> package will do the job for +you, even in situations where it's particularly nasty to get right. +<p>The package defines an <code>\</code><code>epigraph</code> command, for creating a single +epigraph (as at the top of a chapter): +<blockquote> +<pre> +\chapter{The Social Life of Rabbits} +\epigraph{Oh! My ears and whiskers!}% + {Lewis Carroll} +</pre> +</blockquote> +and an epigraphs environment, for entering more than one epigraph +consecutively, in a sort of list introduced by <code>\</code><code>qitem</code> commands: +<blockquote> +<pre> +\begin{epigraphs} +\qitem{What I tell you three times is true}% + {Lewis Carroll} +\qitem{Oh listen do, I'm telling you!}% + {A.A. Milne} +\end{epigraphs} +</pre> +</blockquote> +The <code>\</code><code>epigraphhead</code> command enables you to place your epigraph +<em>above</em> a chapter header: +<blockquote> +<pre> +\setlength{\unitlength}{1pt} +... +\chapter{The Social Life of Rabbits} +\epigraphhead[<distance>]{% + \epigraph{Oh! My ears and whiskers!}% + {Lewis Carroll}% +} +</pre> +</blockquote> +The <<i>distance</i>> says how far above the chapter heading the +epigraph is to go; it's expressed in terms of the <code>\</code><code>unitlength</code> +that's used in the <code>picture</code> environment; the package's +author recommends <code>70pt</code>. +<p>The package also offers various tricks for adjusting the layout of +chapter header (necessary if you've found a hugely long quotation for +an <code>\</code><code>epigraphhead</code>), for patching the bibliography, for patching +<code>\</code><code>part</code> pages, and so on. (Some of these suggested patches lead you +through writing your own package...) +<p>The <i>memoir</i> class offers all the facilities of the +<i>epigraph</i> package. The <i>Koma-script</i> classes have +commands <code>\</code><code>setchapterpreamble</code> and <code>\</code><code>dictum</code> to provide these +facilities. +<dl> +<dt><tt><i>epigraph.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/epigraph.zip">macros/latex/contrib/epigraph</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/epigraph.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/epigraph/">browse</a>) +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=epigraph">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=epigraph</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-eplain.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-eplain.html new file mode 100644 index 00000000000..d3ae64f8f09 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-eplain.html @@ -0,0 +1,35 @@ +<head> +<title>UK TeX FAQ -- question label eplain</title> +</head><body> +<h3>What is Eplain?</h3> +<p>The +<a href="http://www.ccs.neu.edu/~dorai/eplain/index.html">Eplain</a> +macro package expands on and extends the definitions in Plain TeX. +Eplain is not intended to provide "generic typesetting +capabilities", as do LaTeX or +<a href="FAQ-texinfo.html">Texinfo</a>. Instead, it +defines macro tools that should be useful whatever commands you choose +to use when you prepare your manuscript. +<p>For example, Eplain does not have a command <code>\</code><code>section</code>, +which would format section headings in an "appropriate" way, as +LaTeX's <code>\</code><code>section</code> does. The philosophy of Eplain is that +some people will always need or want to go beyond the macro designer's +idea of "appropriate". Such canned macros are fine - as long as you +are willing to accept the resulting output. If you don't like the +results, or if you are trying to match a different format, you are out +of luck. +<p>On the other hand, almost everyone would like capabilities such as +cross-referencing by labels, so that you don't have to put actual page +numbers in the manuscript. Karl Berry, the author of Eplain, says +he is not aware of any generally available macro packages that do +not force their typographic style on an author, and yet provide +such capabilities. +<p>Eplain documentation is +<a href="http://tug.org/docs/html/eplain">available online</a>, and there's +also a mailing list - sign up, or browse the list archives, via +<a href="http://tug.org/mailman/listinfo/tex-eplain">http://tug.org/mailman/listinfo/tex-eplain</a> +<dl> +<dt><tt><i>Eplain distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/eplain.zip">macros/eplain</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/eplain.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/eplain/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=eplain">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=eplain</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-eps.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-eps.html new file mode 100644 index 00000000000..11fda9ca8b7 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-eps.html @@ -0,0 +1,37 @@ +<head> +<title>UK TeX FAQ -- question label eps</title> +</head><body> +<h3>What is "Encapsulated PostScript"</h3> +<p>PostScript has over the years become a <em>lingua franca</em> of +powerful printers; since PostScript is also a powerful graphical +programming language, it is commonly used as an output medium for +drawing (and other) packages. +<p>However, since PostScript <em>is</em> such a powerful language, some +rules need to be imposed, so that the output drawing may be included +in a document as a figure without "leaking" (and thereby destroying +the surrounding document, or failing to draw at all). +<p>Appendix H of the PostScript Language Reference Manual (second +and subsequent editions), specifies a set of rules for PostScript to +be used as figures in this way. The important features are: +<ul> +<li> certain "structured comments" are required; important ones are + the identification of the file type, and information about the + "bounding box" of the figure (i.e., the minimum rectangle + enclosing it); +<li> some commands are forbidden - for example, a <code>showpage</code> + command will cause the image to disappear, in most TeX-output + environments; and +<li> "preview information" is permitted, for the benefit of things + such as word processors that don't have the ability to draw + PostScript in their own right - this preview information may be in + any one of a number of system-specific formats, and any viewing + program may choose to ignore it. +</ul> +A PostScript figure that conforms to these rules is said to be in +"Encapsulated PostScript" format. Most (La)TeX packages for +including PostScript are structured to use Encapsulated PostScript; +which of course leads to much hilarity as exasperated (La)TeX users +struggle to cope with the output of drawing software whose authors +don't know the rules. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=eps">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=eps</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-epsf.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-epsf.html new file mode 100644 index 00000000000..cefa47c7fa1 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-epsf.html @@ -0,0 +1,37 @@ +<head> +<title>UK TeX FAQ -- question label epsf</title> +</head><body> +<h3><code>epsf</code> gives up after a bit</h3> +<p>Some copies of the documentation of <i>epsf.tex</i> seem to suggest +that the command +<pre> + \input epsf +</pre> +is needed for every figure included. If you follow this suggestion +too literally, you get an error +<pre> + ! No room for a new \read . +</pre> +after a while; this is because each time <i>epsf.tex</i> is loaded, it +allocates itself a <em>new</em> file-reading handle to check the figure +for its bounding box, and there just aren't enough of these things +(see <a href="FAQ-noroom.html">no room for a new thing</a>). +<p>The solution is simple - this is in fact an example of misuse of +macros; one only need read <i>epsf.tex</i> once, so change +<pre> + ... + \input epsf + \epsffile{...} + ... + \input epsf + \epsffile{...} +</pre> +(and so on) with a single +<pre> + \input epsf +</pre> +somewhere near the start of your document, and then decorate your +<code>\</code><code>epsffile</code> statements with no more than adjustments of +<code>\</code><code>epsfxsize</code> and so on. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=epsf">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=epsf</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-eqnarray.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-eqnarray.html new file mode 100644 index 00000000000..f79aa214b04 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-eqnarray.html @@ -0,0 +1,38 @@ +<head> +<title>UK TeX FAQ -- question label eqnarray</title> +</head><body> +<h3>Why not use <code>eqnarray</code>?</h3> +<p>The environment <code>eqnarray</code> is attractive for the +occasional user of mathematics in LaTeX documents: it seems to +allow aligned systems of equations. Indeed it <em>does</em> supply such +things, but it makes a serious mess of spacing. In the system: +<blockquote> +<pre> +\begin{eqnarray} + a & = & b + c \\ + x & = & y - z +\end{eqnarray} +</pre> +</blockquote> +the spacing around the "=" signs is <em>not</em> that defined in the +metrics for the font from which the glyph comes - it's +<code>\</code><code>arraycolsep</code>, which may be set to some very odd value for reasons +associated with real arrays elsewhere in the document. +<p>The user is far better served by the AMSLaTeX bundle, which +provides an <code>align</code> environment, which is designed with +the needs of mathematicians in mind (as opposed to the convenience of +LaTeX programmers). For this simple case (align is capable of far +greater things), code as: +<blockquote> +<pre> +\begin{align} + a & = b + c \\ + x & = y - z +\end{align} +</pre> +</blockquote> +<dl> +<dt><tt><i>AMSLaTeX</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=eqnarray">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=eqnarray</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-errmissitem.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-errmissitem.html new file mode 100644 index 00000000000..f7b7ec50148 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-errmissitem.html @@ -0,0 +1,79 @@ +<head> +<title>UK TeX FAQ -- question label errmissitem</title> +</head><body> +<h3>Perhaps a missing <code>\</code><code>item</code>?</h3> +<p>Sometimes, the error +<blockquote> +<pre> +Something's wrong--perhaps a missing \item +</pre> +</blockquote> +actually means what it says: +<blockquote> +<pre> +\begin{itemize} + boo! +\end{itemize} +</pre> +</blockquote> +produces the error, and is plainly in need of an <code>\</code><code>item</code> command. +<p>However, the error regularly appears when you would never have thought +that a <code>\</code><code>item</code> command might be appropriate. For example, the +seemingly innocent: +<blockquote> +<pre> +\fbox{% + \begin{alltt} + boo! + \end{alltt}% +} +</pre> +</blockquote> +produces the error (the same happens with <code>\</code><code>mbox</code> in place of +<code>\</code><code>fbox</code>, or with either of their "big brothers", <code>\</code><code>framebox</code> and +<code>\</code><code>makebox</code>). This is because the <code>alltt</code> environment +uses a "trivial" list, hidden inside their definition. (The +<code>itemize</code> environment also has this construct inside +itself, in fact, so <code>\</code><code>begin{itemize}</code> won't work inside an +<code>\</code><code>fbox</code>, either.) The list construct wants to happen between +paragraphs, so it makes a new paragraph of its own. Inside the +<code>\</code><code>fbox</code> command, that doesn't work, and subsequent macros convince +themselves that there's a missing <code>\</code><code>item</code> command. +<p>To solve this rather cryptic error, one must put the +<code>alltt</code> inside a paragraph-style box. The following +modification of the above <em>does</em> work: +<blockquote> +<pre> +\fbox{% + \begin{minipage}{0.75\textwidth} + \begin{alltt} + hi, there! + \end{alltt} + \end{minipage} +} +</pre> +</blockquote> +The code above produces a box that's far too wide for the text. One +may want to use something that allows +<a href="FAQ-varwidth.html">variable size boxes</a> in place of the +<code>minipage</code> environment. +<p>Oddly, although the <code>verbatim</code> environment wouldn't work +inside a <code>\</code><code>fbox</code> command argument (see +<a href="FAQ-verbwithin.html">verbatim in command arguments</a>), you +get an error that complains about <code>\</code><code>item</code>: the environment's +internal list bites you before <code>verbatim</code> has even had a +chance to create its own sort of chaos. +<p>Another (seemingly) obvious use of <code>\</code><code>fbox</code> also falls foul of this +error: +<blockquote> +<pre> +\fbox{\section{Boxy section}} +</pre> +</blockquote> +This is a case where you've simply got to be more subtle; either you +write your own macros to replace the insides of LaTeX's sectioning +macros, or you should look for some alternative in the packages +discussed in "<a href="FAQ-secthead.html">The style of section headings</a>". +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=errmissitem">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=errmissitem</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-erroradvice.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-erroradvice.html new file mode 100644 index 00000000000..a865241ddbf --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-erroradvice.html @@ -0,0 +1,72 @@ +<head> +<title>UK TeX FAQ -- question label erroradvice</title> +</head><body> +<h3>How to approach errors</h3> +<p>Since TeX is a macroprocessor, its error messages are often +difficult to understand; this is a (seemingly invariant) property of +macroprocessors. Knuth makes light of the problem in the TeXbook, +suggesting that you acquire the sleuthing skills of a latter-day +Sherlock Holmes; while this approach has a certain romantic charm to +it, it's not good for the 'production' user of (La)TeX. This +answer (derived, in part, from an article by Sebastian Rahtz in +<i>TUGboat</i> 16(4)) offers some general guidance in dealing with TeX +error reports, and other answers in this section deal with common (but +perplexing) errors that you may encounter. There's a long list of +"hints" in Sebastian's article, including the following: +<ul> +<li> Look at TeX errors; those messages may seem cryptic at first, + but they often contain a straightforward clue to the problem. See + <a href="FAQ-errstruct.html">the structure of errors</a> for further + details. +<li> Read the <code>.log</code> file; it contains hints to things you may not + understand, often things that have not even presented as error + messages. +<li> Be aware of the amount of context that TeX gives you. The + error messages gives you some bits of TeX code (or of the + document itself), that show where the error "actually happened"; + it's possible to control how much of this 'context' TeX actually + gives you. LaTeX (nowadays) instructs TeX only to give you + one line of context, but you may tell it otherwise by saying +<blockquote> +<pre> +\setcounter{errorcontextlines}{999} +</pre> +</blockquote> + in the preamble of your document. (If you're not a confident macro + programmer, don't be ashamed of cutting that 999 down a bit; some + errors will go on and <em>on</em>, and spotting the differences + between those lines can be a significant challenge.) +<li> As a last resort, tracing can be a useful tool; reading a full + (La)TeX trace takes a strong constitution, but once you know how, + the trace can lead you quickly to the source of a problem. You need + to have read the TeXbook (see + + <a href="FAQ-books.html">books about TeX</a>) in some detail, fully + to understand the trace. +<p> The command <code>\</code><code>tracingall</code> sets up maximum tracing; it also sets + the output to come to the interactive terminal, which is somewhat of + a mixed blessing (since the output tends to be so vast - all but + the simplest traces are best examined in a text editor after the event). +<p> The LaTeX <i>trace</i> package (first distributed with the + 2001 release of LaTeX) provides more manageable tracing. Its + <code>\</code><code>traceon</code> command gives you what <code>\</code><code>tracingall</code> offers, but + suppresses tracing around some of the truly verbose parts of + LaTeX itself. The package also provides a <code>\</code><code>traceoff</code> + command (there's no "off" command for <code>\</code><code>tracingall</code>), and a + package option (<code>logonly</code>) allows you to suppress output to the + terminal. +</ul> +The best advice to those faced with TeX errors is not to panic: +most of the common errors are plain to the eye when you go back to the +source line that TeX tells you of. If that approach doesn't work, +the remaining answers in this section deal with some of the odder +error messages you may encounter. You should not ordinarily need to +appeal to the +<a href="FAQ-maillists.html">wider public</a> +for assistance, but if you do, be sure to +report full backtraces (see <code>errorcontextlines</code> above) and so on. +<dl> +<dt><tt><i>trace.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=erroradvice">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=erroradvice</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-errstruct.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-errstruct.html new file mode 100644 index 00000000000..d7dcb5d23d5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-errstruct.html @@ -0,0 +1,75 @@ +<head> +<title>UK TeX FAQ -- question label errstruct</title> +</head><body> +<h3>The structure of TeX error messages</h3> +<p>TeX's error messages are reminiscent of the time when TeX itself +was conceived (the 1970s): they're not terribly user-friendly, though +they do contain all the information that TeX can offer, usually in +a pretty concise way. +<p>TeX's error reports all have the same structure: +<ul> +<li> An error message +<li> Some 'context' +<li> An error prompt +</ul> +The error message will relate to the <em>TeX</em> condition that is +causing a problem. Sadly, in the case of complex macro packages such +as LaTeX, the underlying TeX problem may be superficially +difficult to relate to the actual problem in the "higher-level" +macros. Many LaTeX-detected problems manifest themselves as +'generic' errors, with error text provided by LaTeX itself (or by a +LaTeX class or package). +<p>The context of the error is a stylised representation of what TeX +was doing at the point that it detected the error. As noted in +<a href="FAQ-erroradvice.html">approaching errors</a>, a macro package +can tell TeX how much context to display, and the user may need to +undo what the package has done. Each line of context is split at the +point of the error; if the error <em>actually</em> occurred in a macro +called from the present line, the break is at the point of the call. +(If the called object is defined with arguments, the "point of call" +is after all the arguments have been scanned.) For example: +<pre> +\blah and so on +</pre> +produces the error report +<pre> +! Undefined control sequence. +l.4 \blah + and so on +</pre> +while: +<pre> +\newcommand{\blah}[1]{\bleah #1} +\blah{to you}, folks +</pre> +produces the error report +<pre> +! Undefined control sequence. +\blah #1->\bleah + #1 +l.5 \blah{to you} + , folks +</pre> +If the argument itself is in error, we will see things such as +<pre> +\newcommand{\blah}[1]{#1 to you} +\blah{\bleah}, folks +</pre> +producing +<pre> +! Undefined control sequence. +<argument> \bleah + +l.5 \blah{\bleah} + , folks +</pre> +<p>The prompt accepts single-character commands: the list of what's +available may be had by typing <code>?</code>. One immediately valuable +command is <code>h</code>, which gives you an expansion of TeXs original +précis message, sometimes accompanied by a hint on what to do to +work round the problem in the short term. If you simply type 'return' +(or whatever else your system uses to signal the end of a line) at the +prompt, TeX will attempt to carry on (often with rather little +success). +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=errstruct">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=errstruct</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-euro.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-euro.html new file mode 100644 index 00000000000..46fb63062bf --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-euro.html @@ -0,0 +1,84 @@ +<head> +<title>UK TeX FAQ -- question label euro</title> +</head><body> +<h3>Typesetting the Euro sign</h3> +<p>The European currency "Euro" is represented by a symbol of somewhat +dubious design, but it's an important currency and (La)TeX users +need to typeset it. +<p>Note that the Commission of the European Community at first deemed +that the Euro symbol should always be set in a sans-serif font; +fortunately, this eccentric ruling has now been rescinded, and one may +apply best typesetting efforts to making it appear at least slightly +"respectable" (typographically). +<p>The TS1-encoded fonts provided as part of the EC font +distribution provide Euro glyphs. The fonts are called Text Companion +(TC) fonts, and offer the same range +of faces as do the EC fonts themselves. The +<i>textcomp</i> package provides a <code>\</code><code>texteuro</code> command for +accessing the symbol, which selects a symbol to match the surrounding +text. The design of the symbol in the TC fonts is not +universally loved... +Nevertheless, use the TC font version of the symbol if you are +producing documents using Knuth's Computer Modern Fonts. +<p>The <i>latin9</i> input encoding defined by the <i>inputenc</i> +package has a euro character defined (character position 164, occupied +in other ISO Latin character sets by the "currency symbol"). +The encoding uses the command <code>\</code><code>texteuro</code> for the character; at +present that command is <em>only</em> available from the +<i>textcomp</i> package. There is a MicroSoft code page position, +too, but standardisation of such things proceeds via rather different +routes and the LaTeX project hasn't yet been given details of the +change. +<p>Outline fonts which contain nothing but Euro symbols are available +(free) from +<a href="ftp://ftp.adobe.com/pub/adobe/type/win/all/eurofont.exe">Adobe</a> - +the file is packaged as a <i>Windows</i> self-extracting +executable, but it may be decoded as a <code>.zip</code> format achive on other +operating systems. +The <i>euro</i> bundle contains metrics, <i>dvips</i> map +files, and macros (for Plain TeX and LaTeX), for using these +fonts in documents. LaTeX users will find two packages in the +bundle: <i>eurosans</i> only offers the sans-serif version (to +conform with the obsolete ruling about sans-serif-only symbols; the +package provides the +command <code>\</code><code>euro</code>), whereas <i>europs</i> matches the Euro symbol +with the surrounding text (providing the command <code>\</code><code>EUR</code>). To use +either package +with the <i>latin9</i> encoding, you need to define <code>\</code><code>texteuro</code> +as an alias for the euro command the package defines. +<p>The Adobe fonts are probably the best bet for use in non-Computer +Modern environments. They are apparently designed to fit with Adobe +Times, Helvetica and Courier, but can probably fit with a wider range +of modern fonts. +<p>The <i>eurofont</i> package provides a compendious analysis of the +"problem of the euro symbol" in its documentation, and offers macros +for configuring the source of the glyphs to be used; however, it seems +rather large for everyday use. +<p>The <i>euro-ce</i> bundle is a rather pleasing Metafont-only design +providing Euro symbols in a number of shapes. The file +<i>euro-ce.tex</i>, in the distribution, offers hints as to how a +Plain TeX user might make use of the fonts. +<p>Euro symbols are found in several other places, which we list here for +completeness. +<p>The <i>marvosym</i> fonts contain a Euro symbol among many other +good things. + + + + + +<p>Other Metafont-based bundles containing Euro symbols are to be found in +<i>china2e</i> (whose primary aim is Chinese dates and suchlike +matters) and the <i>eurosym</i> fonts. +<dl> +<dt><tt><i>china2e bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/china2e.zip">macros/latex/contrib/china2e</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/china2e.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/china2e/">browse</a>) +<dt><tt><i>EC fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/ec.zip">fonts/ec</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/ec.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/ec/">browse</a>) +<dt><tt><i>euro fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/euro.zip">fonts/euro</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/euro.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/euro/">browse</a>) +<dt><tt><i>euro-ce fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/euro-ce.zip">fonts/euro-ce</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/euro-ce.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/euro-ce/">browse</a>) +<dt><tt><i>eurofont.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/eurofont.zip">macros/latex/contrib/eurofont</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/eurofont.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/eurofont/">browse</a>) +<dt><tt><i>eurosym fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/eurosym.zip">fonts/eurosym</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/eurosym.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/eurosym/">browse</a>) +<dt><tt><i>marvosym fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/psfonts/marvosym.zip">fonts/psfonts/marvosym</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/psfonts/marvosym.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/psfonts/marvosym/">browse</a>) +<dt><tt><i>textcomp.sty</i></tt><dd>Part of the LaTeX distribution. +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=euro">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=euro</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-exscale.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-exscale.html new file mode 100644 index 00000000000..cfd3973a759 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-exscale.html @@ -0,0 +1,22 @@ +<head> +<title>UK TeX FAQ -- question label exscale</title> +</head><body> +<h3>Maths symbols don't scale up</h3> +<p>By default, the "large" maths symbols stay at the same size +regardless of the font size of the text of the document. There's good +reason for this: the <i>cmex</i> fonts aren't really designed to +scale, so that TeX's maths placement algorithms don't perform as +well as they might when the fonts are scaled. +<p>However, this behaviour confounds user expectations, and can lead to +slightly odd-looking documents. If you want the fonts to scale, +despite the warning above, use the <i>exscale</i> package - just +loading it is enough. + + + + +<dl> +<dt><tt><i>exscale.sty</i></tt><dd>Part of the LaTeX distribution. +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=exscale">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=exscale</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extex.html new file mode 100644 index 00000000000..7da2a910a4b --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extex.html @@ -0,0 +1,23 @@ +<head> +<title>UK TeX FAQ -- question label extex</title> +</head><body> +<h3>The ExTeX project</h3> +<p><a href="http://www.dante.de/projects/extex/">The ExTeX project</a> is +building on the experience of the many existing TeX development and +extension projects, to develop a new TeX-like system. The system +is to be developed in Java, but will not necessarily use the code of +<a href="FAQ-NTS.html"><i>NTS</i></a>. +<p>While ExTeX will implement all of TeX's primitives, some may be +marked as obsolete, and "modern" alternatives provided (an obvious +example is the primitive <code>\</code><code>input</code> command, whose syntax inevitably +makes life difficult for users of modern operating system file +paths). Desirable extensions from <a href="FAQ-NTS.html">e-TeX</a>, +<a href="FAQ-pdftex.html">PDFTeX</a> and <a href="FAQ-omega.html">Omega</a> +have been identified. +<p>Usability will be another focus of the work: debugging support and log +filtering mechanisms will please those who have long struggled with +TeX macros. +<p>ExTeX will accept Unicode input, from the start. In the longer +term, drawing primitives are to be considered. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=extex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=extex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extrabrace.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extrabrace.html new file mode 100644 index 00000000000..c4fa20c3feb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extrabrace.html @@ -0,0 +1,65 @@ +<head> +<title>UK TeX FAQ -- question label extrabrace</title> +</head><body> +<h3>An extra '<code>}</code>'??</h3> +<!-- caption heading --> +<p>You've looked at your LaTeX source and there's no sign of a misplaced +<code>}</code> on the line in question. +<p>Well, no: this is TeX's cryptic way of hinting that you've put a +<a href="FAQ-protect.html">fragile command</a> in a moving argument. + +<p>For example, <code>\</code><code>footnote</code> is fragile, and if we put that in the +moving argument of a <code>\</code><code>section</code> command, as +<blockquote> + +<pre> +\section{Mumble\footnote{I couldn't think of anything better}} +</pre> +</blockquote> +we get told +<blockquote> +<pre> +! Argument of \@sect has an extra }. +</pre> +</blockquote> +The same happens with captions (the following is a simplification of a +<i>comp.text.tex</i> post): +<blockquote> +<pre> +\caption{Energy: \[e=mc^2\]} +</pre> +</blockquote> +giving us the error message +<blockquote> +<pre> +! Argument of \@caption has an extra }. +</pre> +</blockquote> +The solution is usually to use a robust command in place of the one +you are using, or to force your command to be robust by prefixing it +with <code>\</code><code>protect</code>, which in the <code>\</code><code>section</code> case would show as +<blockquote> + +<pre> +\section{Mumble\protect\footnote{I couldn't think of anything better}} +</pre> +</blockquote> +In both the <code>\</code><code>section</code> case and the <code>\</code><code>caption</code> case, you can +separate the moving argument, as in +<code>\</code><code>section[</code><em>moving</em><code>]{</code><em>static</em><code>}</code>; this gives us another standard +route - simply to omit (or otherwise sanitise) the fragile command +in the moving argument. So, one might rewrite the <code>\</code><code>caption</code> +example as: +<blockquote> + +<pre> +\caption[Energy: $E=mc^2$]{Energy: \[E=mc^2\]} +</pre> +</blockquote> +for, after all, even if you want display maths in a caption, you +surely don't want it in the list of figures. +<p>The case of footnotes is somewhat more complex; +"<a href="FAQ-ftnsect.html">footnotes in LaTeX section headings</a>" +deals specifically with that issue. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=extrabrace">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=extrabrace</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extref.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extref.html new file mode 100644 index 00000000000..4bb4baa8f8c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extref.html @@ -0,0 +1,72 @@ +<head> +<title>UK TeX FAQ -- question label extref</title> +</head><body> +<h3>Referring to labels in other documents</h3> +<p>When producing a set of inter-related documents, you'll often want to +refer to labels in another document of the set; but LaTeX, of its +own accord, doesn't permit this. +<p>So the package <i>xr</i> was written: if you say +<blockquote> +<pre> +\usepackage{xr} +\externaldocument{volume1} +</pre> +</blockquote> +will load all the references from <i>volume1</i> into your present +document. +<p>But what if the documents both have a section labelled +"<code>introduction</code>" (likely enough, after all)? The +package provides a means to transform all the imported labels, so you +don't have to change label names in either document. For example: +<blockquote> +<pre> +\usepackage{xr} +\externaldocument[V1-]{volume1} +</pre> +</blockquote> +loads the references from <i>volume1</i>, but prefixes every one with +the string <code>V1-</code>. So you would refer to the introduction to volume 1 +as: + +<blockquote> +<pre> +\usepackage{xr} +\externaldocument[V1-]{volume1} +... +... the introduction to volume1 (\ref{V1-introduction})... +</pre> +</blockquote> +To have the facilities of <i>xr</i> working with +<i>hyperref</i>, you need <i>xr-hyper</i>. For simple +hyper-cross-referencing (i.e., to a local PDF file you've just +compiled), write: +<blockquote> +<pre> +\usepackage{xr-hyper} +\usepackage{hyperref} +\externaldocument[V1-]{volume1} +... +... the \nameref{V1-introduction})... +</pre> +</blockquote> +and the name reference will appear as an active link to the +"introduction" chapter of <i>volume1.pdf</i>. +<p>To link to a PDF document on the Web, for which you happen to +have the .aux file, write: +<blockquote> +<pre> +\usepackage{xr-hyper} +\usepackage{hyperref} +\externaldocument[V1-]{volume1}[http://mybook.com/volume1.pdf] +... +... the \nameref{V1-introduction})... +</pre> + +</blockquote> +<dl> +<dt><tt><i>xr.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>xr-hyper.sty</i></tt><dd>Distributed with <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +</dl> +<p> +<p><p><p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=extref">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=extref</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extsizes.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extsizes.html new file mode 100644 index 00000000000..51938cc23a0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-extsizes.html @@ -0,0 +1,29 @@ +<head> +<title>UK TeX FAQ -- question label extsizes</title> +</head><body> +<h3>Other "document font" sizes?</h3> +<p>The LaTeX standard classes have a concept of a (base) "document +font" size; this size is the basis on which other font sizes (those +from <code>\</code><code>tiny</code> to <code>\</code><code>Huge</code>) are determined. The classes are designed +on the assumption that they won't be used with sizes other than the +set that LaTeX offers by default (10-12pt), but people regularly +find they need other sizes. The proper response to such a requirement +is to produce a new design for the document, but many people don't +fancy doing that. +<p>A simple solution is to use the <i>extsizes</i> bundle. This +bundle offers "extended" versions of the article, report, book and +letter classes, at sizes of 8, 9, 14, 17 and 20pt as well as the +standard 10-12pt. Since little has been done to these classes other +than to adjust font sizes and things directly related to them, they +may not be optimal - but they're certainly practical. +<p>More satisfactory are the <em>KOMA-script</em> classes, which are +designed to work properly with the class option files that come with +<i>extsizes</i>, and the <i>memoir</i> class that has its own +options for document font sizes 9pt, 14pt and 17pt. +<dl> +<dt><tt><i>extsizes bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/extsizes.zip">macros/latex/contrib/extsizes</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/extsizes.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/extsizes/">browse</a>) +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=extsizes">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=extsizes</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fancyhdr.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fancyhdr.html new file mode 100644 index 00000000000..cf19c99044c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fancyhdr.html @@ -0,0 +1,37 @@ +<head> +<title>UK TeX FAQ -- question label fancyhdr</title> +</head><body> +<h3>Alternative head- and footlines in LaTeX</h3> +<p>The standard LaTeX document classes define a small set of 'page +styles' which (in effect) specify head- and footlines for your +document. The set defined is very restricted, but LaTeX is capable +of much more; people occasionally set about employing LaTeX +facilities to do the job, but that's quite unnecessary - Piet van +Oostrum has already done the work. +<p>The <i>fancyhdr</i> package provides +simple mechanisms for defining pretty much every head- or footline +variation you could want; the directory also contains some +documentation and one or two smaller packages. <i>Fancyhdr</i> +also deals with the tedious behaviour of the standard styles with +<a href="FAQ-psatempty.html">initial pages</a>, by enabling you to define +different page styles for initial and for body pages. +<p>While <i>fancyhdr</i> will work with <i>KOMA-script</i> classes, +an alternative package, <i>scrpage2</i>, eases integration with the +classes. <i>Scrpage2</i> may also be used as a <i>fancyhdr</i> +replacement, providing similar facilities. The <i>KOMA-script</i> +classes themselves permit some modest redefinition of head- and +footlines, without the use of the extra package. +<p><i>Memoir</i> also contains the functionality of <i>fancyhdr</i>, +and has several predefined styles. +<p>Documentation of <i>fancyhdr</i> is distributed with the package, +in a separate file; documentation of <i>scrpage2</i> is integrated +with the <i>scrgui*</i> documentation files that are distributed with +the <i>KOMA-script</i> classes. +<dl> +<dt><tt><i>fancyhdr.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyhdr.zip">macros/latex/contrib/fancyhdr</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyhdr.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fancyhdr/">browse</a>) +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>scrpage2.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fancyhdr">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fancyhdr</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fig.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fig.html new file mode 100644 index 00000000000..537a8f38199 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fig.html @@ -0,0 +1,21 @@ +<head> +<title>UK TeX FAQ -- question label fig</title> +</head><body> +<h3>Fig, a (La)TeX-friendly drawing package</h3> +<p><i>(X)Fig</i> is a menu driven tool that allows you to +draw objects on the screen of an X workstation; <i>transfig</i> +is a set of tools which translate the code <i>fig</i>. The list +of export formats is very long, and includes Metafont and MetaPost, +Encapsulated PostScript and PDF, as well as combinations that wrap +a graphics format in a LaTeX import file. +<p>There's no explicit port of <i>xfig</i> to windows (although it is +believed to work under <i>cygwin</i> with their X-windows system). +However, the program +<a href="http://tech-www.informatik.uni-hamburg.de/applets/javafig/"><i>jfig</a></i> +is thought by many to be an acceptable substitute, written in Java. +<dl> +<dt><tt><i>xfig</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/xfig.zip">graphics/xfig</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/xfig.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/xfig/">browse</a>) +<dt><tt><i>transfig</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/transfig.zip">graphics/transfig</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/transfig.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/transfig/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fig">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fig</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-filename.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-filename.html new file mode 100644 index 00000000000..b52d06b4802 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-filename.html @@ -0,0 +1,54 @@ +<head> +<title>UK TeX FAQ -- question label filename</title> +</head><body> +<h3>What's the name of this file</h3> +<p>One might want this so as to automatically generate a page header or +footer recording what file is being processed. It's not easy... +<p>TeX retains what it considers the name of the <em>job</em>, only, in +the primitive <code>\</code><code>jobname</code>; this is the name of the file first +handed to TeX, stripped of its directory name and of any extension +(such as <code>.tex</code>). If no file was passed (i.e., you're using TeX +interactively), <code>\</code><code>jobname</code> has the value <code>texput</code> (the name that's +given to <code>.log</code> files in this case). +<p>This is fine, for the case of a small document, held in a single file; +most significant documents will be held in a bunch of files, and +TeX makes no attempt to keep track of files input to the +<em>job</em>. So the user has to keep track, himself - the only way +is to patch the input commands and cause them to retain details of the +file name. This is particularly difficult in the case of Plain +TeX, since the syntax of the <code>\</code><code>input</code> command is so peculiar. +<p>In the case of LaTeX, the input commands have pretty regular +syntax, and the simplest + + +<a href="FAQ-patch.html">patching techniques</a> can be used on them: +<pre> + \def\ThisFile{\jobname} + \newcounter{FileStack} + \let\OrigInput\input + \renewcommand{\input}[1]{% + \stepcounter{FileStack} + \expandafter\let + \csname NameStack\theFileStack\endcsname + \ThisFile + \def\ThisFile{#1}% + \OrigInput{#1}% + \expandafter\let\expandafter + \ThisFile + \csname NameStack\theFileStack\endcsname + \addtocounter{FileStack}{-1}% + } +</pre> +(And similarly for <code>\</code><code>include</code>.) The code assumes you always use +LaTeX syntax for <code>\</code><code>input</code>, i.e., always use braces around the +argument. +<p>The <i>FiNK</i> ("File Name Keeper") package provides a +regular means of keeping track of the current file name (with its +extension), in a macro <code>\</code><code>finkfile</code>. The bundle includes a +<i>fink.el</i> that provides support under <i>emacs</i> with +AUC-TeX. +<dl> +<dt><tt><i>fink.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fink.zip">macros/latex/contrib/fink</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fink.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fink/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=filename">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=filename</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-filesused.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-filesused.html new file mode 100644 index 00000000000..b189d832bf5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-filesused.html @@ -0,0 +1,42 @@ +<head> +<title>UK TeX FAQ -- question label filesused</title> +</head><body> +<h3>All the files used by this document</h3> +<p>When you're sharing a document with someone else (perhaps as part of a +co-development cycle) it's as well to arrange that both correspondents +have the same set of auxiliary files, as well as the document in +question. Your correspondent obviously needs the same set of files +(if you use the <i>url</i> package, she has to have <i>url</i> +too, for example). But suppose you have a bug-free version of the +<i>shinynew</i> package but her copy is still the unstable +original; until you both realise what is happening, such a situation +can be very confusing. +<p>The simplest solution is the LaTeX <code>\</code><code>listfiles</code> command. This +places a list of the files used and their version numbers in the log +file. If you extract that list and transmit it with your file, it can +be used as a check-list in case that problems arise. +<p>Note that <code>\</code><code>listfiles</code> only registers things that are input by the +"standard" LaTeX mechanisms (<code>\</code><code>documentclass</code>, <code>\</code><code>usepackage</code>, +<code>\</code><code>input</code>, <code>\</code><code>include</code>, <code>\</code><code>includegraphics</code> and so on). But if you +use TeX primitive syntax, as in +<pre> + \input mymacros +</pre> +<i>mymacros.tex</i> <em>won't</em> be listed by <code>\</code><code>listfiles</code>, since +you've bypassed the mechanism that records its use. +<p>The <i>snapshot</i> package helps the owner of a LaTeX document +obtain a list of the external dependencies of the document, in a form +that can be embedded at the top of the document. The intended use of +the package is the creation of archival copies of documents, but it +has application in document exchange situations too. +<p>The <i>bundledoc</i> system uses the <i>snapshot</i> to produce an +archive (e.g., <code>.tar.gz</code> or <code>.zip</code>) of the files needed by your +document; it comes with configuration files for use with +<i>teTeX</i> and <i>mikTeX</i>. It's plainly useful when +you're sending the first copy of a document. +<dl> +<dt><tt><i>bundledoc</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/bundledoc.zip">support/bundledoc</a> (<a href="ftp://cam.ctan.org/tex-archive/support/bundledoc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/bundledoc/">browse</a>) +<dt><tt><i>snapshot.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/snapshot.zip">macros/latex/contrib/snapshot</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/snapshot.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/snapshot/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=filesused">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=filesused</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-findfiles.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-findfiles.html new file mode 100644 index 00000000000..33c1a62ddf4 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-findfiles.html @@ -0,0 +1,56 @@ +<head> +<title>UK TeX FAQ -- question label findfiles</title> +</head><body> +<h3>Finding (La)TeX files</h3> +<p>Modern TeX distributions contain a huge array of support files of +various sorts, but sooner or later most people need to find something +that's not in their present system (if nothing else, because they've +heard that something has been updated). +<p>But how to find the files? +<p>Some sources, such as these FAQ answers, provide links to +files: so if you've learnt about a package here, you should be able to +retrieve it without too much fuss. +<p>Otherwise, the CTAN sites provide searching facilities, via the web. +The simplest search, locating files by name, is to be found on the +Dante CTAN +at <a href="http://www.dante.de/cgi-bin/ctan-index">http://www.dante.de/cgi-bin/ctan-index</a>; the script returns +the same data as does <code>quote site index</code>, but not truncated and +arranged very neatly as a series of links to directories and +individual files. +<p>The <a href="http://www.tex.ac.uk/search">UK</a> and +<a href="http://www.ctan.org/search">USA</a> CTANs offer a +search page that provides +<ul> +<li> a file-name search similar to the Dante machine's (above); +<li> a keyword search of the archive catalogue (see below): this is a + pretty powerful tool: the results include links to the catalogue + "short descriptions", so you can assure yourself that the package + you've found is the one you want; and +<li> a search form that allows you to use <i>Google</i> to search + CTAN. +</ul> +<p>In fact, <i>Google</i>, and other search engines, can be useful +tools. Enter your search keywords, and you may pick up a package that +the author hasn't bothered to submit to CTAN. If you're using +<i>Google</i>, you can restrict your search to CTAN by +entering +<blockquote> + <code>site:ctan.org tex-archive <<i>search term(s)</i>></code> +</blockquote> +in <i>Google</i>'s "search box". You can also enforce the +restriction using <i>Google</i>'s "advanced search" mechanism; +other search engines (presumably) have similar facilities. +<p>Many people avoid the need to go over the network at all, for their +searches, by downloading the file list that Dante's +"<code>quote site index</code>" command uses. This file, <i>FILES.byname</i>, +presents a unified listing of the archive (omitting directory names and +cross-links). Its companion <i>FILES.last07days</i> is also useful, to +keep an eye on the changes on the archive. Since these files are +updated only once a day, a nightly automatic download (perhaps using +<i>rsync</i>) makes good sense. +<dl> +<dt><tt><i>FILES.byname</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/FILES.byname">FILES.byname</a> +<dt><tt><i>FILES.last07days</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/FILES.last07days">FILES.last07days</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=findfiles">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=findfiles</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-findfont.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-findfont.html new file mode 100644 index 00000000000..420610918ed --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-findfont.html @@ -0,0 +1,22 @@ +<head> +<title>UK TeX FAQ -- question label findfont</title> +</head><body> +<h3>Finding new fonts</h3> +<p>A comprehensive list of Metafont fonts used to be posted to +<i>comp.fonts</i> and to <i>comp.text.tex</i>, roughly +every six weeks, by Lee Quin. +<p> + + + +<p>Nowadays, authors of new material in Metafont are few and far between +(and mostly designing highly specialised things with limited appeal to +ordinary users). Most new fonts that appear are prepared in some +scalable outline form or other (see +<a href="FAQ-psfchoice.html">"choice of scalable fonts"</a>), and they +are almost all distributed under commercial terms. +<dl> +<dt><tt><i>Metafont font list</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/metafont-list">info/metafont-list</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=findfont">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=findfont</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-findwidth.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-findwidth.html new file mode 100644 index 00000000000..1bd07c02c6d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-findwidth.html @@ -0,0 +1,27 @@ +<head> +<title>UK TeX FAQ -- question label findwidth</title> +</head><body> +<h3>Finding the width of a letter, word, or phrase</h3> +<p>Put the word in a box, and measure the width of the box. For example, +<blockquote> +<pre> +\newdimen\stringwidth +\setbox0=\hbox{hi} +\stringwidth=\wd0 +</pre> +</blockquote> +Note that if the quantity in the <code>\</code><code>hbox</code> is a phrase, the actual +measurement only approximates the width that the phrase will occupy in +running text, since the inter-word glue can be adjusted in paragraph +mode. +<p>The same sort of thing is expressed in LaTeX by: +<blockquote> +<pre> +\newlength{\gnat} +\settowidth{\gnat}{\textbf{small}} +</pre> +</blockquote> +This sets the value of the length command <code>\gnat</code> to the width of "small" +in bold-face text. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=findwidth">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=findwidth</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fixnam.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fixnam.html new file mode 100644 index 00000000000..f353952c20b --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fixnam.html @@ -0,0 +1,54 @@ +<head> +<title>UK TeX FAQ -- question label fixnam</title> +</head><body> +<h3>How to change LaTeX's "fixed names"</h3> +<p>LaTeX document classes define several typographic operations that +need 'canned text' (text not supplied by the user). In the earliest +days of LaTeX 2.09 these bits of text were built in to the body of +LaTeX's macros and were rather difficult to change, but "fixed +name" macros were introduced for the benefit of those wishing to use +LaTeX in languages other than English. +For example, the special section produced by the <code>\</code><code>tableofcontents</code> +command is always called <code>\</code><code>contentsname</code> (or rather, what +<code>\</code><code>contentsname</code> is defined to mean). +Changing the canned text is now one of the easiest customisations a +user can do to LaTeX. +<p>The canned text macros are all of the form +<code>\</code><code><<i>thing</i>>name</code>, and changing them is simplicity +itself. Put: +<blockquote> +<code>\</code><code>renewcommand{<code>\</code><code><<i>thing</i>>name</code>}{Res minor}</code> +</blockquote> +in the preamble of your document, and the job is done. +(However, beware of the <i>babel</i> package, which requires you to +use a different mechanism: be sure to check + +<a href="FAQ-latexwords.html">changing <i>babel</i> names</a> if +you're using it.) +<p>The names that are defined in the standard LaTeX classes (and the +<i>makeidex</i> package) are listed +below. Some of the names are only defined in a subset of the classes +(and the <i>letter</i> class has a set of names all of its own); +the list shows the specialisation of each name, where appropriate. +<p><table rules="groups" border="0" cellpadding="3"><tbody><tr><td> +<code>\</code><code>abstractname</code> <td> Abstract<tr><td> +<code>\</code><code>alsoname</code> <td> see also (<i>makeidx</i> package)<tr><td> +<code>\</code><code>appendixname</code> <td> Appendix<tr><td> +<code>\</code><code>bibname</code> <td> Bibliography (<i>report</i>,<i>book</i>)<tr><td> +<code>\</code><code>ccname</code> <td> cc (<i>letter</i>)<tr><td> +<code>\</code><code>chaptername</code> <td> Chapter (<i>report</i>,<i>book</i>)<tr><td> +<code>\</code><code>contentsname</code> <td> Contents<tr><td> +<code>\</code><code>enclname</code> <td> encl (<i>letter</i>)<tr><td> +<code>\</code><code>figurename</code> <td> Figure (for captions)<tr><td> +<code>\</code><code>headtoname</code> <td> To (<i>letter</i>)<tr><td> +<code>\</code><code>indexname</code> <td> Index<tr><td> +<code>\</code><code>listfigurename</code> <td> List of Figures<tr><td> +<code>\</code><code>listtablename</code> <td> List of Tables<tr><td> +<code>\</code><code>pagename</code> <td> Page (<i>letter</i>)<tr><td> +<code>\</code><code>partname</code> <td> Part<tr><td> +<code>\</code><code>refname</code> <td> References (<i>article</i>)<tr><td> +<code>\</code><code>seename</code> <td> see (<i>makeidx</i> package)<tr><td> +<code>\</code><code>tablename</code> <td> Table (for caption) +</tbody></table> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fixnam">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fixnam</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fixwidtab.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fixwidtab.html new file mode 100644 index 00000000000..7d32ef10711 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fixwidtab.html @@ -0,0 +1,48 @@ +<head> +<title>UK TeX FAQ -- question label fixwidtab</title> +</head><body> +<h3>Fixed-width tables</h3> +<p>There are two basic techniques for making fixed-width tables in +LaTeX: you can make the gaps between the columns stretch, or you +can stretch particular cells in the table. +<p>Basic LaTeX can make the gaps stretch: the <code>tabular*</code> +environment takes an extra argument (before the <code>clpr</code> layout one) +which takes a length specification: you can say things like "<code>15cm</code>" +or "<code>\</code><code>columnwidth</code>" here. You must also have an <code>\</code><code>extracolsep</code> +command in the <code>clpr</code> layout argument, inside an <code>@</code> directive. So, +for example, one might have +<pre> +\begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}}lllr} +</pre> + +The <code>\</code><code>extracolsep</code> applies to all inter-column gaps to its right as +well; if you don't want all gaps stretched, add +<code>\</code><code>extracolsep{0pt}</code> to cancel the original. +<p>The <i>tabularx</i> package defines an extra <code>clpr</code> column +specification, <code>X</code>; <code>X</code> columns behave as <code>p</code> columns which expand to +fill the space available. If there's more than one <code>X</code> column in a +table, the spare space is distributed between them. +<p>The <i>tabulary</i> package (by the same author) provides a way of +"balancing" the space taken by the columns of a table. The package +defines column specifications <code>C</code>, <code>L</code>, <code>R</code> and <code>J</code>, giving, +respectively, centred, left, right and fully-justified versions of +space-sharing columns. The package examines how long each column would +be "naturally" (i.e., on a piece of paper of unlimited width), and +allocates space to each column accordingly. There are "sanity +checks" so that really large entries don't cause everything else to +collapse into nothingness (there's a "maximum width" that any column +can exert), and so that tiny entries can't get smaller than a +specified minimum. Of course, all this work means that the package +has to typeset each row several times, so things that leave +"side-effects" (for example, a counter used to produce a row-number +somewhere) are inevitably unreliable, and should not even be tried. +<p>The <i>ltxtable</i> combines the features of the +<i>longtable</i> and <i>tabularx</i> packages: it's important to +read the documentation, since usage is distinctly odd. +<dl> +<dt><tt><i>ltxtable.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.zip">macros/latex/contrib/carlisle</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/carlisle/">browse</a>) +<dt><tt><i>tabularx.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>tabulary.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.zip">macros/latex/contrib/carlisle</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/carlisle/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fixwidtab">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fixwidtab</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-floatpages.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-floatpages.html new file mode 100644 index 00000000000..20c1e82ab95 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-floatpages.html @@ -0,0 +1,33 @@ +<head> +<title>UK TeX FAQ -- question label floatpages</title> +</head><body> +<h3>Floats on their own on float pages</h3> +<p>It's sometimes necessary to force a float to live on a page by itself. +(It's sometimes even necessary for <em>every</em> float to live on a +page by itself.) When the float fails to 'set', and waits for the end +of a chapter or of the document, the natural thing to do is to declare +the float as +<pre> + \begin{figure}[p!] +</pre> +but the overriding <code>!</code> modifier has no effect on float page floats; so +you have to make the float satisfy the parameters. +<a href="FAQ-floats.html">Moving tables and figures</a> offers some +suggestions, but doesn't solve the one-float-per-page question. +<p>The 'obvious' solution, using the counter <code>totalnumber</code> ("total +number of floats per page") doesn't work: +<code>totalnumber</code> only applies to floats on 'text' pages (pages containing +text as well as one or more float). So, to allow any +size float to take a whole page, set <code>\</code><code>floatpagefraction</code> really +small, and to ensure that no more than one float occupies a page, make +the separation between floats really big: +<blockquote> +<pre> +\renewcommand\floatpagefraction{.001} +\makeatletter +\setlength\@fpsep{\textheight} +\makeatother +</pre> +</blockquote> +<p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floatpages">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floatpages</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-floats.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-floats.html new file mode 100644 index 00000000000..9a0b9e86109 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-floats.html @@ -0,0 +1,98 @@ +<head> +<title>UK TeX FAQ -- question label floats</title> +</head><body> +<h3>Moving tables and figures in LaTeX</h3> +<p>Tables and figures have a tendency to surprise, by <em>floating</em> +away from where they were specified to appear. This is in fact +perfectly ordinary document design; any professional typesetting +package will float figures and tables to where they'll fit without +violating the certain typographic rules. Even if you use the +placement specifier <code>h</code> for 'here', the figure or table will not be +printed 'here' if doing so would break the rules; the rules themselves +are pretty simple, and are given on page 198, section C.9 of the +LaTeX manual. In the worst case, LaTeX's rules can cause the +floating items to pile up to the extent that you get an error message +saying +<a href="FAQ-tmupfl.html">"Too many unprocessed floats"</a>. +What follows is a simple checklist of things to do to solve these +problems (the checklist talks throughout about figures, but applies +equally well to tables, or to "non-standard" floats defined by the +<i>float</i> or other packages). +<ul> +<li> Do your figures need to float at all? If not, consider the + <code>[H]</code> placement option offered by the <i>float</i> package: + figures with this placement are made up to look as if they're + floating, but they don't in fact float. Beware outstanding floats, + though: the <code>\</code><code>caption</code> commands are numbered in the order they + appear in the document, and a <code>[H]</code> float can 'overtake' a float + that hasn't yet been placed, so that figures numbers get out of + order. +<li> Are the placement parameters on your figures right? The + default (<code>tbp</code>) is reasonable, but you can reasonably change it (for + example, to add an <code>h</code>). Whatever you do, <em>don't</em> + omit the '<code>p</code>': doing so could cause LaTeX to believe that if you + can't have your figure <em>here</em>, you don't want it + <em>anywhere</em>. (LaTeX does try hard to avoid being confused in + this way...) +<li> LaTeX's own float placement parameters could be preventing + placements that seem entirely "reasonable" to you - they're + notoriously rather conservative. To encourage LaTeX not to move + your figure, you need to loosen its demands. (The most important + ones are the ratio of text to float on a given page, but it's + sensible to have a fixed set that changes the whole lot, to meet + every eventuality.) +<pre> +\renewcommand{\topfraction}{.85} +\renewcommand{\bottomfraction}{.7} +\renewcommand{\textfraction}{.15} +\renewcommand{\floatpagefraction}{.66} +\renewcommand{\dbltopfraction}{.66} +\renewcommand{\dblfloatpagefraction}{.66} +\setcounter{topnumber}{9} +\setcounter{bottomnumber}{9} +\setcounter{totalnumber}{20} +\setcounter{dbltopnumber}{9} +</pre> + The meanings of these + parameters are described on pages 199-200, section C.9 of the + LaTeX manual. +<li> Are there places in your document where you could 'naturally' + put a <code>\</code><code>clearpage</code> command? If so, do: the backlog of floats is + cleared after a <code>\</code><code>clearpage</code>. (Note that the <code>\</code><code>chapter</code> + command in the standard <i>book</i> and <i>report</i> classes + implicitly executes <code>\</code><code>clearpage</code>, so you can't float past + the end of a chapter.) +<li> Try the <i>placeins</i> package: it defines a + <code>\</code><code>FloatBarrier</code> command beyond which floats may not pass. A + package option allows you to declare that floats may not pass a + <code>\</code><code>section</code> command, but you can place <code>\</code><code>FloatBarrier</code>s wherever + you choose. +<li> If you are bothered by floats appearing at the top of the page + (before they are specified in your text), try the <i>flafter</i> + package, which avoids this problem by insisting that floats should + always appear after their definition. +<li> Have a look at the LaTeX2e <i>afterpage</i> package. + Its documentation gives as an example the idea + of putting <code>\</code><code>clearpage</code> <em>after</em> the current page (where it + will clear the backlog, but not cause an ugly gap in your text), but + also admits that the package is somewhat fragile. Use it as a last + resort if the other possibilities below don't help. +<li> If you would actually <em>like</em> great blocks of floats at the + end of each of your chapters, try the <i>morefloats</i> package; + this 'simply' increases the number of floating inserts that LaTeX + can handle at one time (from 18 to 36). +<li> If you actually <em>wanted</em> all your figures to float to the + end (<em>e.g</em>., for submitting a draft copy of a paper), don't + rely on LaTeX's mechanism: get the <i>endfloat</i> package to do + the job for you. +</ul> +<dl> +<dt><tt><i>afterpage.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>endfloat.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/endfloat.zip">macros/latex/contrib/endfloat</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/endfloat.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/endfloat/">browse</a>) +<dt><tt><i>flafter.sty</i></tt><dd>Part of the LaTeX distribution +<dt><tt><i>float.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.zip">macros/latex/contrib/float</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/float/">browse</a>) +<dt><tt><i>morefloats.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/morefloats.sty">macros/latex/contrib/misc/morefloats.sty</a> +<dt><tt><i>placeins.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/placeins.zip">macros/latex/contrib/placeins</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/placeins.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/placeins/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=floats</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-flushboth.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-flushboth.html new file mode 100644 index 00000000000..9812becd9a3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-flushboth.html @@ -0,0 +1,46 @@ +<head> +<title>UK TeX FAQ -- question label flushboth</title> +</head><body> +<h3>Cancelling <code>\</code><code>ragged</code> commands</h3> +<p>LaTeX provides commands <code>\</code><code>raggedright</code> and <code>\</code><code>raggedleft</code>, but +none to cancel their effect. The <code>\</code><code>centering</code> command is +implemented in the same way as the <code>\</code><code>ragged*</code> commands, and suffers +in the same way. +<p>The following code (to be inserted in a package of your own, or as + +<a href="FAQ-atsigns.html">internal LaTeX code</a>) defines a command that +restores flush justification at both margins: +<pre> +\def\flushboth{% + \let\\\@normalcr + \@rightskip\z@skip \rightskip\@rightskip + \leftskip\z@skip + \parindent 1.5em\relax} +</pre> +There's a problem with the setting of <code>\</code><code>parindent</code> in the code: it's +necessary because both the <code>\</code><code>ragged</code> commands set <code>\</code><code>parindent</code> to +zero, but the setting isn't a constant of nature: documents using a +standard LaTeX class with <code>twocolumn</code> option will have <code>1.0em</code> by +default, and there's no knowing what you (or some other class) will +have done. +<p>If you are using Martin Schröder's <i>ragged2e</i> package, it is +worth updating to the latest release (January 2003), which has a +<code>\</code><code>justifying</code> command to match its +<a href="FAQ-ragright.html">versions of the LaTeX 'ragged' commands</a>. The +package also provides a +<code>justify</code> environment, which permits areas of justified +text in a larger area which is ragged. +<dl> +<dt><tt><i>ragged2e.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ms.zip">macros/latex/contrib/ms</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ms.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ms/">browse</a>) +</dl> + + + + + + + + + +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=flushboth">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=flushboth</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fmtconv.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fmtconv.html new file mode 100644 index 00000000000..a5190a026db --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fmtconv.html @@ -0,0 +1,98 @@ +<head> +<title>UK TeX FAQ -- question label fmtconv</title> +</head><body> +<h3>Other conversions to and from (La)TeX</h3> +<p><dl> +<dt>troff<dd><i>troff-to-latex</i>, written by Kamal Al-Yahya at Stanford + University (California, USA), assists in the translation of a + <i>troff</i> document into LaTeX format. It recognises most + <code>-ms</code> and <code>-man</code> macros, plus most <i>eqn</i> and some + <i>tbl</i> preprocessor commands. Anything fancier needs to be + done by hand. Two style files are provided. There is also a man page + (which converts very well to LaTeX...). The program is + copyrighted but free. + <i>tr2latex</i> is an enhanced version of this + <i>troff-to-latex</i>. +<p> + + +<p> + + + + +<p><dt>WordPerfect<dd> <i>wp2latex</i> + has recently been much improved, and is now + available either for MSDOS or for Unix systems, thanks to its + current maintainer Jaroslav Fojtik. +<dt>PC-Write<dd><i>pcwritex.arc</i> is a + print driver for PC-Write that "prints" a PC-Write + V2.71 document to a TeX-compatible disk file. It was written by Peter + Flynn at University College, Cork, Republic of Ireland. +<dt>runoff<dd> Peter Vanroose's <i>rnototex</i> + conversion program is written in VMS Pascal. + The sources are distributed with a VAX executable. +<dt>refer/tib<dd> There are a few programs for converting bibliographic + data between BibTeX and <i>refer</i>/<i>tib</i> formats. + The collection includes a shell script converter from BibTeX to + <i>refer</i> format as well. The collection + is not maintained. +<dt>RTF<dd> <i>Rtf2tex</i>, by Robert Lupton, is for + converting Microsoft's Rich Text Format to TeX. There is also a + convertor to LaTeX by Erwin Wechtl, called <i>rtf2latex</i>. + The latest converter, by Ujwal Sathyam and Scott Prahl, is + <i>rtf2latex2e</i>; this system seems rather good already, and + is still being improved. +<p> Translation <em>to</em> RTF may be done (for a somewhat + constrained set of LaTeX documents) by TeX2RTF, which + can produce ordinary RTF, Windows Help RTF (as well as + HTML, <a href="FAQ-LaTeX2HTML.html">conversion to HTML</a>). + TeX2RTF is supported on various Unix platforms and under + Windows 3.1 +<dt>Microsoft Word<dd> A rudimentary (free) program for converting + MS-Word to LaTeX is <i>wd2latex</i>, which runs on MSDOS. + <i>Word2</i><em>TeX</em> and <em>TeX</em><i>2Word</i> are + shareware translators from + <a href="http://www.chikrii.com/">Chikrii Softlab</a>; users' reports are + very positive. +<p> If cost is a constraint, the best bet is probably to use an + intermediate format such as RTF or HTML. + <i>Word</i> outputs and reads both, so in principle this route + may be useful. +<p> Another, unlikely, intermediate form is PDF: Acrobat Reader + for Windows (version 5.0 and later) will output rather feeble + RTF that <i>Word</i> can read. +<dt>Excel<dd> <i>Excel2Latex</i> converts an <i>Excel</i> file + into a LaTeX <code>tabular</code> environment; it comes as a + <code>.xls</code> file which defines some <i>Excel</i> macros to produce + output in a new format. +</dl> +<p> +<a href="http://www.tug.org/utilities/texconv/index.html">Wilfried Hennings' FAQ</a>, +which deals specifically with conversions between TeX-based formats +and word processor formats, offers much detail as well as tables that +allow quick comparison of features. +<p>A group at Ohio State University (USA) is working on +a common document format based on SGML, with the ambition that any +format could be +translated to or from this one. <i>FrameMaker</i> provides +"import filters" to aid translation from alien formats +(presumably including TeX) to <i>FrameMaker</i>'s own. +<dl> +<dt><tt><i>excel2latex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/excel2latex/xl2latex.zip">support/excel2latex/xl2latex.zip</a> +<dt><tt><i>pcwritex.arc</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/pcwritex.zip">support/pcwritex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/pcwritex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/pcwritex/">browse</a>) +<dt><tt><i>refer and tib tools</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/refer-tools.zip">biblio/bibtex/utils/refer-tools</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/refer-tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/utils/refer-tools/">browse</a>) +<dt><tt><i>rnototex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/rnototex.zip">support/rnototex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/rnototex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/rnototex/">browse</a>) +<dt><tt><i>rtf2latex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/rtf2latex.zip">support/rtf2latex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/rtf2latex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/rtf2latex/">browse</a>) +<dt><tt><i>rtf2latex2e</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/rtf2latex2e.zip">support/rtf2latex2e</a> (<a href="ftp://cam.ctan.org/tex-archive/support/rtf2latex2e.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/rtf2latex2e/">browse</a>) +<dt><tt><i>rtf2tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/rtf2tex.zip">support/rtf2tex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/rtf2tex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/rtf2tex/">browse</a>) +<dt><tt><i>tex2rtf</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/tex2rtf.zip">support/tex2rtf</a> (<a href="ftp://cam.ctan.org/tex-archive/support/tex2rtf.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/tex2rtf/">browse</a>) +<dt><tt><i>tr2latex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/tr2latex.zip">support/tr2latex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/tr2latex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/tr2latex/">browse</a>) +<dt><tt><i>troff-to-latex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/troff-to-latex.zip">support/troff-to-latex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/troff-to-latex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/troff-to-latex/">browse</a>) +<dt><tt><i>wd2latex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/wd2latex.zip">dviware/wd2latex</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/wd2latex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/wd2latex/">browse</a>) +<dt><tt><i>wp2latex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/wp2latex.zip">support/wp2latex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/wp2latex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/wp2latex/">browse</a>) +<dt><tt><i>Word processor FAQ (source)</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/help/wp-conv.zip">help/wp-conv</a> (<a href="ftp://cam.ctan.org/tex-archive/help/wp-conv.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/help/wp-conv/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fmtconv">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fmtconv</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fontname.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fontname.html new file mode 100644 index 00000000000..2b049660600 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fontname.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label fontname</title> +</head><body> +<h3>What is the "Berry naming scheme"</h3> +<p>In the olden days, (La)TeX distributions were limited by the +feebleness of file systems' ability to represent long names. (The +MSDOS file system was a particular bugbear: fortunately any current +Microsoft system allows rather more freedom to specify file names. +Sadly, the ISO 9660 standard for the structure of CDROMs has a +similar failing, but that too has been modified by various extension +mechanisms.) +<p>One area in which this was a particular problem was that of file names +for Type 1 fonts. These fonts are distributed by their vendors with +pretty meaningless short names, and there's a natural ambition to +change the name to something that identifies the font somewhat +precisely. Unfortunately, names such as "BaskervilleMT" are +already far beyond the abilities of the typical feeble file system, +and add the specifier of a font shape or variant, and the difficulties +spiral out of control. +<p>Thus arose the Berry naming scheme. +<p>The basis of the scheme is to encode the meanings of the various parts +of the file's specification in an extremely terse way, so that enough +font names can be expressed even in impoverished file spaces. The +encoding allocates one letter to the font "foundry", two to the +typeface name, one to the weight, and so on. The whole scheme is +outlined in the <i>fontname</i> distribution, which includes +extensive documentation and a set of tables of fonts whose names have +been systematised. +<dl> +<dt><tt><i>fontname distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/fontname.zip">info/fontname</a> (<a href="ftp://cam.ctan.org/tex-archive/info/fontname.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/fontname/">browse</a>) +</dl> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fontname">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fontname</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fontunavail.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fontunavail.html new file mode 100644 index 00000000000..24e99f1dff3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fontunavail.html @@ -0,0 +1,67 @@ +<head> +<title>UK TeX FAQ -- question label fontunavail</title> +</head><body> +<h3>Warning: "Font shape ... not available"</h3> +<p>LaTeX's font selection scheme maintains tables of the font families +it has been told about. These tables list the font families that +LaTeX knows about, and the shapes and series in which those font +families are available. In addition, in some cases, the tables list +the sizes at which LaTeX is willing to load fonts from the family. +<p>When you specify a font, using one of the LaTeX font selection +commands, LaTeX looks for the font (that is, a font that matches +the encoding, family, shape, series and size that you want) in its +tables. If the font isn't there at the size you want, you will see a +message like: + +<pre> +LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <11.5> not available +(Font) size <12> substituted on input line ... +</pre> +There will also be a warning like: + +<pre> +LaTeX Font Warning: Size substitutions with differences +(Font) up to 0.5pt have occurred. +</pre> +after LaTeX has encountered <code>\</code><code>end{document}</code>. +<p>The message tells you that you've chosen a font size that is not in +LaTeX's list of "allowed" sizes for this font; LaTeX has +chosen the nearest font size it knows is allowed. In fact, you can +tell LaTeX to allow <em>any</em> size: the restrictions come from the +days when only bitmap fonts were available, and they have never +applied to fonts that come in scaleable form in the first place. +Nowadays, most of the fonts that were once bitmap-only are also +available in scaleable (Adobe Type 1) form. If your installation uses +scaleable versions of the Computer Modern or European Computer Modern +(EC) fonts, you can tell LaTeX to remove the restrictions; +use the <i>type1cm</i> or <i>type1ec</i> package as appropriate. +<p>If the combination of font shape and series isn't available, LaTeX +will usually have been told of a fall-back combination that may be +used, and will select that: + +<pre> +LaTeX Font Warning: Font shape `OT1/cmr/bx/sc' undefined +(Font) using `OT1/cmr/bx/n' instead on input line 0. +</pre> +<p>Substitutions may also be "silent"; in this case, there is no more +than an "information" message in the log file. For example, if you +specify an encoding for which there is no version in the current font +family, the 'default family for the encoding' is selected. This +happens, for example, if you use command <code>\</code><code>textbullet</code>, which is +normally taken from the maths symbols font, which is in <code>OMS</code> +encoding. My test log contained: + +<pre> +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line ... +</pre> +<p>In summary, these messages are not so much error messages, as +information messages, that tell you what LaTeX has made of your +text. You should check what the messages say, but you will ordinarily +not be surprised at their content. +<dl> +<dt><tt><i>type1cm.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/type1cm.zip">macros/latex/contrib/type1cm</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/type1cm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/type1cm/">browse</a>) +<dt><tt><i>type1ec.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/cm-super/type1ec.sty">fonts/ps-type1/cm-super/type1ec.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fontunavail">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fontunavail</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-footintab.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-footintab.html new file mode 100644 index 00000000000..530963b91ec --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-footintab.html @@ -0,0 +1,59 @@ +<head> +<title>UK TeX FAQ -- question label footintab</title> +</head><body> +<h3>Footnotes in tables</h3> +<p>The standard LaTeX <code>\</code><code>footnote</code> command doesn't work in tables; the table +traps the footnotes and they can't escape to the bottom of the page. +<p>If your table is floating, your best bet is (unfortunately) to put the +table in a <code>minipage</code> environment and to put the notes +underneath the table, or to use Donald Arseneau's package +<i>threeparttable</i> (which implements "table notes" proper). +<p>The <i>ctable</i> package extends the model of +<i>threeparttable</i>, and also uses the ideas of the +<i>booktabs</i> package. The <code>\</code><code>ctable</code> command does the complete +job of setting the table, placing the caption, and defining the +notes. The "table" may consist of diagrams, and a parameter in +<code>\</code><code>ctable</code>'s optional argument makes the float that is created a +"figure" rather than a "table". +<p>Otherwise, if your table is not floating (it's just a +'<code>tabular</code>' in the middle of some text), there are several +things you can do to fix the problem. +<ul> +<li> Use <code>\</code><code>footnotemark</code> to position the little marker + appropriately, and then put in <code>\</code><code>footnotetext</code> commands to fill in + the text once you've closed the <code>tabular</code> environment. + This is described in Lamport's book, but it gets messy if there's + more than one footnote. +<li> Stick the table in a <code>minipage</code> anyway. This provides all the + ugliness of footnotes in a minipage with no extra effort. +<li> Use <i>threeparttable</i> anyway; the package is intended for + floating tables, and the result might look odd if the table is not + floating, but it will be reasonable. +<li> Use <i>tabularx</i> or <i>longtable</i> from the LaTeX + tools distribution; they're noticeably less efficient than the + standard <code>tabular</code> environment, but they do allow + footnotes. +<li> Grab hold of <i>footnote</i>, and put your + <code>tabular</code> environment inside a <code>savenotes</code> + environment. Alternatively, say + <code>\</code><code>makesavenoteenv{tabular}</code> in the preamble of your + document, and tables will all handle footnotes correctly. +<li> Use <i>mdwtab</i> from the same bundle; it will handle + footnotes properly, and has other facilities to increase the beauty + of your tables. It may also cause other table-related packages (not + the standard 'tools' ones, though) to become very unhappy and stop + working. +</ul> +<p>The documentation of <i>threeparttable</i> appears in the package +file itself; that of <i>ctable</i> is distributed as a PDF +file (for convenience's sake). +<dl> +<dt><tt><i>ctable.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ctable.zip">macros/latex/contrib/ctable</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ctable.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ctable/">browse</a>) +<dt><tt><i>footnote.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.zip">macros/latex/contrib/mdwtools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mdwtools/">browse</a>) +<dt><tt><i>longtable.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>mdwtab.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.zip">macros/latex/contrib/mdwtools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mdwtools/">browse</a>) +<dt><tt><i>threeparttable.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/threeparttable.sty">macros/latex/contrib/misc/threeparttable.sty</a> +<dt><tt><i>tabularx.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=footintab">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=footintab</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-footnpp.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-footnpp.html new file mode 100644 index 00000000000..38e935d3654 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-footnpp.html @@ -0,0 +1,37 @@ +<head> +<title>UK TeX FAQ -- question label footnpp</title> +</head><body> +<h3>Footnotes numbered "per page"</h3> +<p>The obvious solution is to make the footnote number reset whenever the +page number is stepped, using the +<a href="FAQ-addtoreset.html">LaTeX internal mechanism</a>. Sadly, the place +in the document where the page number is stepped is unpredictable, not +("tidily") at the end of the printed page; so the link only ever +works by luck. +<p>As a result, resetting footnotes is inevitably a two-pass process, +using labels of some sort. It's nevertheless important, given the +common requirement for footnotes marked by symbols (with painfully +small symbol sets). There are three packages that manage it, one way +or another. +<p>The <i>footnpag</i> package does per-page footnotes and nothing +else. +<p>The <i>perpage</i> package provides a general mechanism for +resetting counters per page, so can obviously be used for this task. +The interface is pretty simple: <code>\</code><code>MakePerPage{footnote}</code> will +do the job. If you want to restart the counter at something other +than 1 (for example to avoid something in the LaTeX footnote symbol +list), you can use: <code>\</code><code>MakePerPage[2]{footnote}</code>. +<p>The <i>footmisc</i> package provides a variety of means of +controlling footnote appearance, among them a package option +<code>perpage</code> that adjusts the numbering per page. +<p>Documentation of <i>footnpag</i> comes as a <code>.dvi</code> file +<i>footnpag-user</i> in the distribution. Documentation of +<i>perpage</i> appears in the package file, only: however, it +amounts to no more than appears above\dots +<dl> +<dt><tt><i>footmisc.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footmisc.zip">macros/latex/contrib/footmisc</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footmisc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/footmisc/">browse</a>) +<dt><tt><i>footnpag.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footnpag.zip">macros/latex/contrib/footnpag</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footnpag.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/footnpag/">browse</a>) +<dt><tt><i>perpage.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/perpage.sty">macros/latex/contrib/misc/perpage.sty</a> +</dl> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=footnpp">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=footnpp</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-formatstymy.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-formatstymy.html new file mode 100644 index 00000000000..a2faa7bdfd6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-formatstymy.html @@ -0,0 +1,42 @@ +<head> +<title>UK TeX FAQ -- question label formatstymy</title> +</head><body> +<h3>"Fatal format file error; I'm stymied"</h3> +<p>(La)TeX applications often fail with this error when you've been +playing with the configuration, or have just installed a new version. +<p>The format file contains the macros that define the system you want to +use: anything from the simplest (Plain TeX) all the way to the most +complicated, such as LaTeX or ConTeXt. From the command you +issue, TeX knows which format you want. +<p>The error message +<pre> + Fatal format file error; I'm stymied +</pre> +means that TeX itself can't understand the format you want. +Obviously, this could happen if the format file had got corrupted, but +it usually doesn't. The commonest cause of the message, is that a new +binary has been installed in the system: no two TeX binaries on the +same machine can +understand each other's formats. So the new version of TeX you +have just installed, won't understand the format generated by the one +you installed last year. +<p>Resolve the problem by regenerating the format; of course, this +depends on which system you are using. +<ul> +<li> On a teTeX-based system, run +<pre> + fmtutil --all +</pre> + or +<pre> + fmtutil --byfmt=<format name> +</pre> + to build only the format that you are interested in. +<li> On a MiKTeX system, click <code>Start</code>-> +<code>Programs</code>-> +<code>MiKTeX <em>version</em></code>-> +<code>MiKTeX Options</code>, and in the options window, click + <code>Update now</code>. +</ul> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=formatstymy">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=formatstymy</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ftncapt.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ftncapt.html new file mode 100644 index 00000000000..a8014a080f6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ftncapt.html @@ -0,0 +1,53 @@ +<head> +<title>UK TeX FAQ -- question label ftncapt</title> +</head><body> +<h3>Footnotes in captions</h3> +<p>Footnotes in captions are especially tricky: they present problems of +their own, on top of the problems one experiences with +<a href="FAQ-ftnsect.html">footnotes in section titles</a> and with +<a href="FAQ-footintab.html">footnotes in tables</a>. Fortunately, the +requirement for footnotes in captions is extremely rare: if you are +experiencing problems, it is worth reviewing what you are trying to +say by placing this footnote. Note that the <i>threeparttable</i> +scheme (see, again, +<a href="FAQ-footintab.html">footnotes in tables</a>) also applies +to notes in captions, and may very well be preferable to whatever you +were thinking of. +<p>If you <em>are</em> going to proceed: +<ul> +<li> use an optional argument in your <code>\</code><code>caption</code> command, that + doesn't have the footnote in it; this prevents the footnote + appearing in the "List of ...", and +<li> put your whole float in a <code>minipage</code> so as to keep + the footnotes with the float. +</ul> +so we have: +<blockquote> +<pre> +\begin{figure} + \begin{minipage}{\textwidth} + ... + \caption[Caption for LOF]% + {Real caption\footnote{blah}} + \end{minipage} +\end{figure} +</pre> +</blockquote> +However, <em>as well as</em> all of the above, one <em>also</em> has to +deal with the tendency of the <code>\</code><code>caption</code> command to produce the +footnote's text twice. For this last problem, there is no tidy +solution this author is aware of. +<p>If you're suffering the problem, a well-constructed <code>\</code><code>caption</code> +command in a <code>minipage</code> environment within a float (as +in the example above) can produce <em>two</em> copies of the footnote +body "blah". (In fact, the effect only occurs with captions that are +long enough to require two lines to be typeset, and so wouldn't appear +with such a short caption.) +<p>The documentation of the <i>ccaption</i> package describes a really +rather awful work-around. +<dl> +<dt><tt><i>ccaption.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ccaption.zip">macros/latex/contrib/ccaption</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ccaption.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ccaption/">browse</a>) +<dt><tt><i>threeparttable.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/threeparttable.sty">macros/latex/contrib/misc/threeparttable.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ftncapt">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ftncapt</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ftnsect.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ftnsect.html new file mode 100644 index 00000000000..2c7520d0ae8 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ftnsect.html @@ -0,0 +1,26 @@ +<head> +<title>UK TeX FAQ -- question label ftnsect</title> +</head><body> +<h3>Footnotes in LaTeX section headings</h3> +<p>The <code>\</code><code>footnote</code> command is fragile, so that simply placing the +command in <code>\</code><code>section</code>'s arguments isn't satisfactory. Using +<code>\</code><code>protect</code><code>\</code><code>footnote</code> isn't a good idea either: the arguments of a +section command are used in the table of contents and (more +dangerously) potentially also in page headings. Unfortunately, +there's no mechanism to suppress the footnote in the heading while +allowing it in the table of contents, though having footnotes in the +table of contents is probably unsatisfactory anyway. +<p>To suppress the footnote in headings and table of contents: +<ul> +<li> Take advantage of the fact that the mandatory argument doesn't + 'move' if the optional argument is present: + <code>\section[title]{title</code><code>\</code><code>footnote</code><code>{title ftnt}}</code> +<li> Use the <i>footmisc</i> package, with package option + <code>stable</code> - this modifies footnotes so that they softly and + silently vanish away if used in a moving argument. +</ul> +<dl> +<dt><tt><i>footmisc.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footmisc.zip">macros/latex/contrib/footmisc</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footmisc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/footmisc/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ftnsect">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ftnsect</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fuzzy-T1.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fuzzy-T1.html new file mode 100644 index 00000000000..3be4b24f4ef --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fuzzy-T1.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label fuzzy-T1</title> +</head><body> +<h3>Fonts go fuzzy when you switch to T1</h3> +<!-- crippled blurry --> +<p>You've been having problems with hyphenation, and someone has +suggested that you should use "<code>\</code><code>usepackage[T1]{fontenc}</code>" +to help sort them out. Suddenly you find that your final PDF +has become fuzzy. The problem may arise whether you are using PostScript +output and then distilling it, or you are using PDFTeX for the +whole job. +<p>In fact, this is the same problem as most others about the + +<a href="FAQ-dvips-pdf.html">quality of PDF</a>: you've abandoned +your previous setup using Type 1 versions of the CM fonts, and +<i>dvips</i> has inserted Type 3 versions of the EC fonts +into your document output. (See +"<a href="FAQ-adobetypen.html">Adobe font types</a>" +for details of these font types; also, note that the font <em>encoding</em> T1 +has nothing directly to do with the font <em>type</em> Type 1). +<p>However, as noted in +"<a href="FAQ-type1T1.html">8-bit Type 1 fonts</a>", +Type 1 versions of CM-like fonts in T1 (or equivalent) encoding +are now available, both as "real" fonts, and as virtual font sets. +One solution, therefore, is to use one of these alternatives. +<p>The alternative is to switch font family altogether, to something like +<i>Times</i> (as a no-thought default) or one of the many more pleasing +Adobe-encoded fonts. The default action of <i>fontinst</i>, when +creating metrics for such a font, is to create settings for both OT1 +and T1 encodings, so there's little change in what goes on (at the +user level) even if you have switched to T1 encoding when using the +fonts. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fuzzy-T1">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fuzzy-T1</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fuzzy-gs.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fuzzy-gs.html new file mode 100644 index 00000000000..bd4275cf4e5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fuzzy-gs.html @@ -0,0 +1,26 @@ +<head> +<title>UK TeX FAQ -- question label fuzzy-gs</title> +</head><body> +<h3>Fuzzy fonts because <i>Ghostscript</i> too old</h3> +<!-- crippled blurry --> +<p>So you've done everything the FAQ has told you that you need, +correct fonts properly installed and appearing in the <i>dvips</i> +output, but <em>still</em> you get fuzzy character output after +distilling with <i>ghostscript</i>. +<p>The problem could arise from too old a version of +<i>ghostscript</i>, which you may be using directly, or via a +script such as <i>ps2pdf</i> (distributed with +<i>ghostscript</i> itself), <i>dvipdf</i>, or similar. +Though <i>ghostscript</i> was capable of distillation from +version 5.50, that version could only produce bitmap Type 3 output of +any font other than the fundamental 35 fonts (<i>Times</i>, +<i>Helvetica</i>, etc.). Later versions added 'complete' +distillation, but it wasn't until version 6.50 that one could rely on +it for everyday work. +<p>So, if your PDF output still looks fuzzy in <i>Acrobat</i> +<i>Reader</i>, upgrade <i>ghostscript</i>. The new version +should be at least version 6.50, of course, but it's usually good +policy to go to the most recent version (version 8.12 at the time of +writing - 2003). +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fuzzy-gs">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fuzzy-gs</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fuzzy-type3.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fuzzy-type3.html new file mode 100644 index 00000000000..808556fec33 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-fuzzy-type3.html @@ -0,0 +1,71 @@ +<head> +<title>UK TeX FAQ -- question label fuzzy-type3</title> +</head><body> +<h3>The wrong type of fonts in PDF</h3> +<!-- crippled blurry --> +<p>This is far the commonest problem: the symptom is that text in the +document looks "fuzzy". +<p>Most people use <i>Adobe</i> <i>Acrobat</i> <i>Reader</i> +to view their PDF: <i>Reader</i> is distributed free of +charge, and is widely available, for all its faults. One of those +faults is its failure to deal with bitmap fonts (at least, in all +versions earlier than the recently released version 6). +<p>So we don't want bitmap fonts in our PostScript: with them, characters show +up in <i>Reader</i>'s display as blurred blobs which are often not +recognisable as the original letter, and are often not properly placed +on the line. Nevertheless, even now, most TeX systems have +<i>dvips</i> configured to use + +<a href="FAQ-pk.html"><code>.pk</code> files</a> in its output. Even +PDFTeX will use <code>.pk</code> files if it can see no alternative for +a font in the document it is processing. +<p>Our remedy is to use + +"<a href="FAQ-adobetypen.html">Adobe Type 1</a>" +versions of the fonts we need. Since Adobe are in the +business of selling Type 1 fonts, <i>Reader</i> was of course made +to deal with them really rather well, from the very beginning. +<p>Of course, if your document uses nothing but fonts that came from +Adobe in the first place - fonts such as <i>Times</i> that +appear in pretty much every PostScript printer, or such as Adobe +<i>Sabon</i> that you pay extra for - then there's no problem. +<p>But most people use <i>Computer</i> <i>Modern</i> to start +with, and even those relative sophisticates who use something as +exotic as <i>Sabon</i> often find themselves using odd characters +from CM without really intending to do so. Fortunately, rather +good versions of the CM fonts are available from the AMS + +(who have them courtesy of +<a href="FAQ-commercial.html">Blue Sky Research</a>). +<p>Most modern systems have the fonts installed ready to use; and any +system installed less than 3 years ago has a <i>dvips</i> +configuration file '<code>pdf</code>' that signals the use of the +CM fonts, and also sets a few other parameters to improve +<i>dvips</i>' output. Use this configuration as: +<pre> + dvips -Ppdf myfile -o myfile.ps +</pre> +This may produce a warning message about failing to find the +configuration file: +<pre> + dvips: warning: no config file for `pdf' +</pre> +or something similar, or about failing to find a font file: +<pre> + dvips: ! Couldn't find header file cmr10.pfb +</pre> +Either of these failures signals that your +system doesn't have the fonts in the first place. +<p>A way of using the fonts that doesn't involve the sophistication of +the <code>-Ppdf</code> mechanism is simply to load maps: +<pre> + dvips -Pcmz -Pamz myfile -o myfile.ps +</pre> +You may encounter the same warning messages as listed above. +<p>If your system does not have the fonts, it won't have the +configuration file either; however, it might have the configuration +file without the fonts. In either case, you need to + +<a href="FAQ-inst1cm.html">install the fonts</a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fuzzy-type3">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=fuzzy-type3</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-getbitmap.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-getbitmap.html new file mode 100644 index 00000000000..c475e33f837 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-getbitmap.html @@ -0,0 +1,48 @@ +<head> +<title>UK TeX FAQ -- question label getbitmap</title> +</head><body> +<h3>Acquiring bitmap fonts</h3> +<p>When CTAN was young, most people would start using TeX +with a 300 dots-per-inch (dpi) laser printer, and sets of Computer +Modern bitmap fonts for this resolution are available on CTAN. +(There are separate sets for write-black and write-white printers, as +well as sets at 120 dpi and 240 dpi.) +<p>Over the years, there have been regular requests that CTAN should hold +a wider range of resolutions, but they were resisted for two reasons: +<ul> +<li> The need to decide which printers to generate fonts for. The + broad-brush approach taken for 300 dpi printers was (more or less) + justified back then, given the dominance of certain printer + 'engines', but nowadays one could not make any such assumption. +<li> Given the above, justifying the space taken up by a huge array + of bitmap fonts. +</ul> +Fortunately, (La)TeX distribution technology has put a stop to these +arguments: most (if not all) current distributions generate bitmap +fonts as needed, and cache them for later re-use. The impatient +user, who is determined that all bitmap fonts should be created once +and for all, may be supported by scripts such as <i>allcm</i> +(distributed with teTeX, at least; otherwise such a person should +consult <a href="FAQ-useMF.html">"the use of Metafont"</a>). +<p>If your output is to a PostScript-capable device, you advised to switch to +using Type 1 versions of the CM fonts. Two free +sets are currently available; the older (<i>bakoma</i>) is +somewhat less well produced than the <i>bluesky</i> fonts, which were +originally professionally produced and sold, but were then donated to +the public domain by their originators Y&Y and Bluesky Research, +in association with the AMS. Unfortunately, the coverage of +the sets is slightly different, but you are advised to use the +<i>bluesky</i> set except when <i>bakoma</i> is for some reason +absolutely unavoidable. In recent years, several other 'Metafont' fonts +have been converted to Type 1 format; it's common never to need to +generate bitmap fonts for any purpose other than previewing (see + +<a href="FAQ-PSpreview.html">"previewing documents with Type 1 fonts"</a>). +<dl> +<dt><tt><i>bakoma</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma.zip">fonts/cm/ps-type1/bakoma</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/cm/ps-type1/bakoma/">browse</a>) +<dt><tt><i>bluesky</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/fonts/cm/ps-type1/bluesky/">fonts/cm/ps-type1/bluesky/</a> +<dt><tt><i>cm fonts (write-black printers)</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/cm/pk/pk300.zip">fonts/cm/pk/pk300.zip</a> +<dt><tt><i>cm fonts (write-white printers)</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/cm/pk/pk300w.zip">fonts/cm/pk/pk300w.zip</a> +</dl> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=getbitmap">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=getbitmap</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-graph-pspdf.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-graph-pspdf.html new file mode 100644 index 00000000000..246c763647d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-graph-pspdf.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label graph-pspdf</title> +</head><body> +<h3>Portable imported graphics</h3> +<p>A regular need is a document to be distributed in more than +one format: commonly both PostScript and PDF. The +following advice is based on a post by one with much experience of +dealing with the problem of dealing with EPS graphics in this +case. +<ul> +<li> Don't specify a driver when loading loading whichever version of + the <i>graphics</i> package you use. The scheme relies on the + distribution's ability to decide which driver is going to be used: + the choice is between <i>dvips</i> and PDFTeX, in this case. + Be sure to exclude options <code>dvips</code>, <code>pdftex</code> and + <code>dvipdfm</code> (<i>dvipdfm</i> is not used in this scheme, + but the aspirant PDF-maker may be using it for his output, + before switching to the scheme). +<li> Use <code>\</code><code>includegraphics[...]{filename}</code> without + specifying the extension (i.e., neither <code>.eps</code> nor <code>.pdf</code>). +<li> For every <code>.eps</code> file you will be including, produce a <code>.pdf</code> + version, as described in + <a href="FAQ-pdftexgraphics.html">Graphics in PDFLaTeX</a>. Having + done this, you will have two copies of each graphic (a <code>.eps</code> and a + <code>.pdf</code> file) in your directory. +<li> Use PDFLaTeX (rather than + LaTeX-<i>dvips</i>-distillation or + LaTeX-<i>dvipdfm</i>) to produce your PDF output. +</ul> +<i>Dvipdfm</i>'s charms are less than attractive here: the +document itself needs to be altered from its default +(<i>dvips</i>) state, before <i>dvipdfm</i> will process it. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=graph-pspdf">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=graph-pspdf</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-graphicspath.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-graphicspath.html new file mode 100644 index 00000000000..d489cc3e879 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-graphicspath.html @@ -0,0 +1,58 @@ +<head> +<title>UK TeX FAQ -- question label graphicspath</title> +</head><body> +<h3>Importing graphics from "somewhere else"</h3> +<p>By default, graphics commands like <code>\</code><code>includegraphics</code> look +"wherever TeX files are found" for the graphic file they're being +asked to use. This can reduce your flexibility if you choose to hold +your graphics files in a common directory, away from your (La)TeX +sources. +<p>The simplest solution is to patch TeX's path, by changing the +default path. On most systems, the default path is taken from the +environment variable <code>TEXINPUTS</code>, if it's present; you can adapt that +to take in the path it already has, by setting the variable to +<pre> + TEXINPUTS=.:<graphics path(s)>: +</pre> +on a Unix system; on a Windows system the separator will be "<code>;</code>" +rather than "<code>:</code>". The "<code>.</code>" is there to ensure that the current +directory is searched first; the trailing "<code>:</code>" says "patch in the +value of <code>TEXINPUTS</code> from your configuration file, here". +<p>This method has the merit of efficiency ((La)TeX does <em>all</em> of +the searches, which is quick), but it's always clumsy and may prove +inconvenient to use in Windows setups (at least). +<p>The alternative is to use the <i>graphics</i> package command +<code>\</code><code>graphicspath</code>; this command is of course also available to users +of the <i>graphicx</i> and the <i>epsfig</i> packages. The +syntax of <code>\</code><code>graphicspath</code>'s one argument is slightly odd: it's a +sequence of paths (typically relative paths), each of which is +enclosed in braces. A slightly odd sample, given in the +<i>graphics</i> bundle documentation, is: +<pre> + \graphicspath{{eps/}{tiff/}} +</pre> +however, if the security checks on your (La)TeX system allow, the +path may be anything you choose (rather than strictly relative, like +those above). +<p>Be aware that <code>\</code><code>graphicspath</code> does not affect the operations of +graphics macros other than those from the graphics bundle - in +particular, those of the outdated <i>epsf</i> and +<i>psfig</i> packages are immune. +<p>The disadvantage of the <code>\</code><code>graphicspath</code> method is inefficiency. The +package will call (La)TeX once for each entry in the list, which is +itself slows things. More seriously, TeX remembers the file name, +thus effectively losing memory, every time it's +asked to look up a file, so a document that uses a huge number of +graphical inputs could be embarrassed by lack of memory. +<p>If your document is split into a variety of directories, and each +directory has its associated graphics, the <i>import</i> package +may well be the thing for you; see the discussion +in the question " +<a href="FAQ-docotherdir.html">bits of document in other directories</a> +". +<dl> +<dt><tt><i>graphics bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.zip">macros/latex/required/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/graphics/">browse</a>) +<dt><tt><i>import.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/import.sty">macros/latex/contrib/misc/import.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=graphicspath">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=graphicspath</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-grmaxwidth.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-grmaxwidth.html new file mode 100644 index 00000000000..91ff2ac262f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-grmaxwidth.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label grmaxwidth</title> +</head><body> +<h3>Limit the width of imported graphics</h3> +<p>Suppose you have graphics which may or may not be able to fit within +the width of the page; if they will fit, you want to set them at their +natural size, but otherwise you want to scale the whole picture so +that it fits within the page width. +<p>You do this by delving into the innards of the graphics package (which +of course needs a little LaTeX internals programming): +<blockquote> +<pre> +\makeatletter +\def\maxwidth{% + \ifdim\Gin@nat@width>\linewidth + \linewidth + \else + \Gin@nat@width + \fi +} +\makeatother +</pre> +</blockquote> +This defines a "variable" width which has the properties you want. +Replace <code>\</code><code>linewidth</code> if you have a different constraint on the width +of the graphic. +<p>Use the command as follows: +<blockquote> +<pre> +\includegraphics[width=\maxwidth]{figure} +</pre> +</blockquote> +<p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=grmaxwidth">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=grmaxwidth</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hash.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hash.html new file mode 100644 index 00000000000..92290040d6c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hash.html @@ -0,0 +1,37 @@ +<head> +<title>UK TeX FAQ -- question label hash</title> +</head><body> +<h3>Defining macros within macros</h3> +<p>The way to think of this is that <code>##</code> gets replaced by <code>#</code> in just the +same way that <code>#1</code> gets replaced by 'whatever is the first argument'. +<p>So if you define a macro and use it as: +<blockquote> +<pre> +\def\a#1{+++#1+++#1+++#1+++} \a{b} +</pre> +</blockquote> +the macro expansion produces '+++b+++b+++b+++', +which people find normal. However, if we now replace part of the macro: +<blockquote> +<pre> +\def\a#1{+++#1+++\def\x #1{xxx#1}} +</pre> +</blockquote> +<code>\</code><code>a{b}</code> will expand to '+++b+++<code>\def\x b{xxxb}</code>'. This +defines <code>\</code><code>x</code> to be a macro <em>delimited</em> by <code>b</code>, and taking no +arguments, which people may find strange, even though it is just a +specialisation of the example above. If you want <code>\</code><code>a</code> to +define <code>\</code><code>x</code> to be a macro with one argument, you need to write: +<blockquote> +<pre> +\def\a#1{+++#1+++\def\x ##1{xxx##1}} +</pre> +</blockquote> +and <code>\</code><code>a{b</code>} will expand to +'+++b+++<code>\def\x #1{xxx#1}</code>', because <code>#1</code> gets replaced by 'b' +and <code>##</code> gets replaced by <code>#</code>. +<p>To nest a definition inside a definition inside a definition then +you need <code>####1</code>, as at each stage <code>##</code> is replaced by +<code>#</code>. At the next level you need 8 <code>#</code>s each time, and so on. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hash">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hash</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-howmanypp.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-howmanypp.html new file mode 100644 index 00000000000..605b8bcef48 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-howmanypp.html @@ -0,0 +1,35 @@ +<head> +<title>UK TeX FAQ -- question label howmanypp</title> +</head><body> +<h3>How many pages are there in my document?</h3> +<p>Simple documents (those that start at page 1, and don't have any +breaks in their page numbering until their last page) present no +problem to the seeker after this truth. The number of pages is +reported by the <i>lastpage</i> package in its <code>LastPage</code> label. +<p>For more complicated documents (most obviously, books with frontmatter +in a different series of page numbers) this simple approach will not +do. +<p>The <i>count1to</i> package defines a label <code>TotalPages</code>; this is +the value of its copy of <code>\</code><code>count1</code> (a reserved TeX count +register) at the end of the document. +<p>Package <i>totpages</i> defines a label <code>TotPages</code>, but it also +makes the register it uses available as a LaTeX counter, +<code>TotPages</code>, which you can also reference via <code>\</code><code>theTotPages</code>. Of +course, the counter <code>TotPages</code> is asynchronous in the same way that +apge numbers are, but snapshots may safely be taken in the output +routine. +<p>The <i>memoir</i> class defines two counters <code>lastpage</code> and +<code>lastsheet</code>, which are set (after the first run of a document) +to the equivalent of the <code>LastPage</code> label and the +<code>TotalPages</code> labels. +<p>Both <i>count1to</i> and <i>totpages</i> need the support of +the <i>everyshi</i> package. +<dl> +<dt><tt><i>count1to.sty and everyshi.sty</i></tt><dd> + Distributed in <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ms.zip">macros/latex/contrib/ms</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ms.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ms/">browse</a>) +<dt><tt><i>lastpage.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/lastpage.zip">macros/latex/contrib/lastpage</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/lastpage.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/lastpage/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>totpages.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/totpages.zip">macros/latex/contrib/totpages</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/totpages.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/totpages/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=howmanypp">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=howmanypp</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-htmlbib.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-htmlbib.html new file mode 100644 index 00000000000..e850b3b678d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-htmlbib.html @@ -0,0 +1,27 @@ +<head> +<title>UK TeX FAQ -- question label htmlbib</title> +</head><body> +<h3>Making HTML of your Bibliography</h3> +<p>A neat solution is offered by the <i>noTeX</i> bibliography style. +This style produces a <code>.bbl</code> file which is in fact a series of +HTML '<code>P</code>' elements of class <code>noTeX</code>, and which +may therefore be included in an HTML file. Provision is made +for customising your bibliography so that its content when processed by +<i>noTeX</i> is different from that presented when it is processed +in the ordinary way by (La)TeX. +<p>A thorough solution is offered by <i>bib2xhtml</i>; using it, you +make use of one of its modified versions of many common BibTeX +styles, and post-process the output so produced using a +<i>perl</i> script. +<p>A more conventional translator is the <i>awk</i> script +<i>bbl2html</i>, which translates the <code>.bbl</code> file you've generated: +a sample of the script's output may be viewed on the web, at +<a href="http://rikblok.cjb.net/lib/refs.html">http://rikblok.cjb.net/lib/refs.html</a> +<dl> +<dt><tt><i>bbl2html.awk</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/bbl2html.awk">biblio/bibtex/utils/bbl2html.awk</a> +<dt><tt><i>bib2xhtml</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/bib2xhtml.zip">biblio/bibtex/utils/bib2xhtml</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/bib2xhtml.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/utils/bib2xhtml/">browse</a>) +<dt><tt><i>noTeX.bst</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/utils/noTeX.bst">biblio/bibtex/utils/noTeX.bst</a> +</dl> +<p> +<p><p><p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=htmlbib">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=htmlbib</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyper.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyper.html new file mode 100644 index 00000000000..b25b29a9c85 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyper.html @@ -0,0 +1,45 @@ +<head> +<title>UK TeX FAQ -- question label hyper</title> +</head><body> +<h3>Making hypertext documents from TeX</h3> +<p>If you want on-line hypertext with a (La)TeX source, probably on the +World Wide Web, there are four technologies to consider: +<ul> +<li> Direct + <a href="FAQ-LaTeX2HTML.html">(La)TeX conversion to HTML</a>; + +<li> Use <a href="FAQ-texinfo.html"><i>Texinfo</i></a>, + and use the <i>info</i> viewer, or convert the <i>texinfo</i> + to HTML; +<li> Use Adobe Acrobat, which will preserve your typesetting + perfectly (see + <a href="FAQ-acrobat.html">Making Acrobat documents from LaTeX</a>); +<li> The hyperTeX conventions (standardised <code>\</code><code>special</code> + commands); there are supporting macro packages for Plain TeX and + LaTeX). +</ul> +<p>The HyperTeX project extended the functionality of all the +LaTeX cross-referencing commands (including the table of contents) +to produce <code>\</code><code>special</code> commands which are parsed by DVI processors +conforming to the HyperTeX guidelines; +it provides general hypertext links, including those +to external documents. +<p>The HyperTeX specification says that conformant viewers/translators +must recognize the following set of <code>\</code><code>special</code> commands: +<dl> +<dt>href:<dd> <code>html:<a href = "href_string"></code> +<dt>name:<dd> <code>html:<a name = "name_string"></code> +<dt>end:<dd> <code>html:</a></code> +<dt>image:<dd> <code>html:<img src = "href_string"></code> +<dt>base_name:<dd> <code>html:<base href = "href_string"></code> +</dl> +<p>The <em>href</em>, <em>name</em> and <em>end</em> commands are used to do +the basic hypertext operations of establishing links between sections +of documents. +<p>Further details are available on <a href="http://arXiv.org/hypertex/">http://arXiv.org/hypertex/</a>; there +are two commonly-used implementations of the specification, a +modified <i>xdvi</i> and (recent releases of) +<i>dvips</i>. Output from the latter may be used in recent +releases of <i>ghostscript</i> or Acrobat Distiller. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyper">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyper</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyperdupdest.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyperdupdest.html new file mode 100644 index 00000000000..ff8b3826f49 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyperdupdest.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label hyperdupdest</title> +</head><body> +<h3>PDFTeX destination ... ignored</h3> +<p>The warning: +<blockquote> +<pre> +! pdfTeX warning (ext4): destination with the same identifier +(name{page.1}) has been already used, duplicate ignored +</pre> + +</blockquote> +arises because of duplicate page numbers in your document. The +problem is usually soluble: see +<a href="FAQ-pdfpagelabels.html">PDF page destinations</a> - which +answer also describes the problem in more detail. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyperdupdest">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyperdupdest</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphen.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphen.html new file mode 100644 index 00000000000..7831c214b96 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphen.html @@ -0,0 +1,38 @@ +<head> +<title>UK TeX FAQ -- question label hyphen</title> +</head><body> +<h3>How does hyphenation work in TeX?</h3> +<p>Everyone knows what hyphenation is: we see it in most books we read, +and (if we're alert) often spot ridiculous mis-hyphenation from time +to time (at one time, British newspapers were a fertile source). +<p>Hyphenation styles are culturally-determined, and the same language +may be hyphenated differently in different countries - for example, +British and American styles of hyphenation of English are very +different. As a result, a typesetting system that is not restricted +to a single language at a single locale needs to be able to change its +hyphenation rules from time to time. +<p>TeX uses a pretty good system for hyphenation (originally designed +by Frank Liang), and while it's capable of missing "sensible" +hyphenation points, it seldom selects grossly wrong ones. The +algorithm matches candidates for hyphenation against a set of +"hyphenation patterns". The candidates for hyphenation must be +sequences of letters (or other single characters that TeX may be +persuaded to think of as letters) - things such as TeX's +<code>\</code><code>accent</code> primitive interrupt hyphenation. +<p>Sets of hyphenation patterns are usually derived from analysis of +a list of valid hyphenations (the process of derivation, using a tool +called <i>patgen</i>, is not ordinarily a participatory sport). +<p>The patterns for the languages a TeX system is going to deal with +may only be loaded when the system is installed. To change the set of +languages, a <a href="FAQ-newlang.html">partial reinstallation</a> is necessary. +<p>TeX provides two "user-level" commands for control of +hyphenation: <code>\</code><code>language</code> (which selects a hyphenation style), and +<code>\</code><code>hyphenation</code> (which gives explicit instructions to the hyphenation +engine, overriding the effect of the patterns). +<p>The ordinary LaTeX user need not worry about <code>\</code><code>language</code>, since +it is very thoroughly managed by the <i>babel</i> package; use of +<code>\</code><code>hyphenation</code> is discussed in + +<a href="FAQ-nohyph.html">hyphenation failure</a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphen">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphen</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphenaccents.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphenaccents.html new file mode 100644 index 00000000000..4f99c0bb8af --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphenaccents.html @@ -0,0 +1,27 @@ +<head> +<title>UK TeX FAQ -- question label hyphenaccents</title> +</head><body> +<h3>Accented words aren't hyphenated</h3> +<p>TeX's algorithm for hyphenation gives up when it encounters an +<code>\</code><code>accent</code> command; there are good reasons for this, but it means +that quality typesetting in non-English languages can be difficult. +<p>For TeX macro packages, you can avoiding the effect by using an +appropriately encoded font (for example, a Cork-encoded font - see +<a href="FAQ-ECfonts.html">the EC fonts</a>) which contains accented +letters as single glyphs. LaTeX users can achieve this end simply +by adding the command +<pre> + \usepackage[T1]{fontenc} +</pre> +to the preamble of their document. Other encodings (notably +LY1, once promoted by Y&Y inc) + + + +may be used +in place of T1. Indeed, most current 8-bit TeX font +encodings will 'work' with the relevant sets of hyphenation patterns. +<p>In the future, perhaps, <a href="FAQ-omega.html">Omega</a> will provide a rather +different solution. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphenaccents">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphenaccents</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphexcept.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphexcept.html new file mode 100644 index 00000000000..6361da94463 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphexcept.html @@ -0,0 +1,72 @@ +<head> +<title>UK TeX FAQ -- question label hyphexcept</title> +</head><body> +<h3>Hyphenation exceptions</h3> +<p>While TeX's hyphenation rules are good, they're not infallible: you +will occasionally find words TeX just gets <em>wrong</em>. So for +example, TeX's default hyphenation (for American English) don't +know the word "<em>manuscript</em>", and since it's a long word you +may find you need to hyphenate it. You <em>can</em> "write the +hyphenation out" each time you use the word: +<blockquote> +<pre> +... man\-u\-script ... +</pre> +</blockquote> +Here, each of the <code>\</code><code>-</code> commands is converted to a hyphenated break, +if (<em>and only if</em>) necessary. +<p>That technique can rapidly become tedious: you'll probably only accept +it if there are no more than one or two wrongly-hyphenated words in +your document. The alternative is to set up hyphenations in the +document preamble. To do that, for the hyphenation above, you would +write: +<blockquote> +<pre> +\hyphenation{man-u-script} +</pre> +</blockquote> +and the hyphenation would be set for the whole document. Barbara +Beeton publishes articles containing lists of these "hyphenation +exceptions", in <i>TUGboat</i>; the hyphenation 'man-u-script' +comes from one of those articles. +<p>What if you have more than one language in your document? Simple: +select the appropriate language, and do the same as above: +<blockquote> +<pre> +\usepackage[french]{babel} +\selectlanguage{french} +\hyphenation{re-cher-cher} +</pre> +</blockquote> +(nothing clever here: this is the "correct" hyphenation of the word, +in the current tables). However, there's a problem here: just as +words with accents in them won't break, so <code>\</code><code>hyphenation</code> commands +with accents in them produce an error: +<blockquote> +<pre> +\usepackage[french]{babel} +\selectlanguage{french} +\hyphenation{r\'e-f\'e-rence} +</pre> +</blockquote> +tells us that the hyphenation is "improper", and that it will be "flushed". +But, just as hyphenation of words is enabled by selecting an 8-bit +font encoding, so <code>\</code><code>hyphenation</code> commands are rendered proper again +by selecting that same 8-bit font encoding. For the hyphenation +patterns provided in the usual distributions, the encoding is +<a href="FAQ-ECfonts.html">Cork</a>, so the complete sequence is: +<blockquote> +<pre> +\usepackage[T1]{fontenc} +\usepackage[french]{babel} +\selectlanguage{french} +\hyphenation{r\'e-f\'e-rence} +</pre> +</blockquote> +<p>The same sort of performance goes for any language for which 8-bit +fonts and corresponding hyphenation patterns are available. Since you +have to select both the language and the font encoding to have your +document typeset correctly, it should not be a great imposition to do +the selections before setting up hyphenation exceptions. +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphexcept">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphexcept</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphoff.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphoff.html new file mode 100644 index 00000000000..3e12f299c24 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-hyphoff.html @@ -0,0 +1,71 @@ +<head> +<title>UK TeX FAQ -- question label hyphoff</title> +</head><body> +<h3>Stopping all hyphenation</h3> +<p>It may seem an odd thing to want to do (after all, one of TeX's +great advertised virtues is the quality of its hyphenation) but it's +sometimes necessary. The real problem is, that the quality of +TeX's output is by default largely dependent on the presence of +hyphenation; if you want to abandon hyphenation, something has to +give. +<p>TeX (slightly confusingly) offers four possible mechanisms for +suppressing hyphenation (there were only two prior to the extensions +that arrived with TeX version 3). +<p>First, one can set the hyphenation penalties <code>\</code><code>hyphenpenalty</code> and +<code>\</code><code>exhyphenpenalty</code> to an 'infinite' value (that is to say, 10000). +This means that all hyphenations will sufficiently penalise the line +that would contain them, that the hyphenation won't happen. The +disadvantage of this method is that TeX will re-evaluate any +paragraph for which hyphenations might help, which will slow TeX +down. +<p>Second, one can select a language for which no hyphenation patterns +exist. Some distributions create a language <code>nohyphenation</code>, +and the <i>hyphenat</i> package uses this technique for its +<code>\</code><code>nohyphens</code> command which sets its argument without any +hyphenation. +<p>Third, one can set <code>\</code><code>left-</code> and/or <code>\</code><code>righthyphenmin</code> to a +sufficiently large value that no hyphenation could possibly succeed, +since the minimum is larger than the the length of the longest word +TeX is willing to hyphenate (the appropriate value is 62). +<p>Fourth, one can suppress hyphenation for all text using the current +font by the command +<pre> + \hyphenchar\font=-1 +</pre> +This isn't a particularly practical way for users to suppress +hyphenation - the command has to be issued for every font the +document uses - but it's how LaTeX itself suppresses hyphenation +in <code>tt</code> and other fixed-width fonts. +<p>Which of the techniques you should use depends on what you actually +want to do. If the text whose hyphenation is to be suppressed runs +for less than a paragraph, your only choice is the no-hyphens +language: the language value is preserved along with the text (in the +same way that the current font is); the values for penalties and +hyphen minima active at the end of a paragraph are used when +hyphenation is calculated. +<p>Contrariwise, if you are writing a multilanguage document using the +<i>babel</i> package, you <em>cannot</em> suppress hyphenation +throughout using either the no-hyphens language or the hyphen minima: +all those values get changed at a <i>babel</i> language switch: use +the penalties instead. +<p>If you simply switch off hyphenation for a good bit of text, the +output will have a jagged edge (with many lines seriously overfull), +and your (La)TeX run will bombard you with warnings about overfull +and underfull lines. To avoid this you have two options. You may use +<code>\</code><code>sloppy</code> (or its environment version <code>sloppypar</code>), and +have TeX stretch what would otherwise be underfull lines to fill the space +offered, and wrap other lines, while prematurely wrapping overfull +lines and stretching the remainder. Alternatively, you may set the +text + +<a href="FAQ-ragright.html">ragged right</a>, and at least get rid of +the overfull lines; this technique is 'traditional' (in the sense that +typists do it) and may be expected to appeal to the specifiers of +eccentric document layouts (such as those for dissertations), but for +once their sense conforms with typographic style. (Or at least, style +constrained in this curious way.) +<dl> +<dt><tt><i>hyphenat.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyphenat.zip">macros/latex/contrib/hyphenat</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyphenat.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyphenat/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphoff">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphoff</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-i18nbib.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-i18nbib.html new file mode 100644 index 00000000000..3b368e5a518 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-i18nbib.html @@ -0,0 +1,53 @@ +<head> +<title>UK TeX FAQ -- question label i18nbib</title> +</head><body> +<h3>Non-english bibliographies</h3> +<p>Like so much of early (La)TeX software, BibTeX's assumptions were +firmly rooted in what its author knew well, viz., academic papers in +English (particularly those with a mathematical bent). BibTeX's +standard styles all address exactly that problem, leaving the user who +writes in another language (or who deal with citations in the style of +other disciplines than maths) to strike out into contributed software. +<p>For the user whose language is not English, there are several +alternatives. The simplest is to provide translations of BibTeX +styles into the required language: the solitary <i>finplain.bst</i> +does that for Finnish; others one can find are for Danish +(<i>dk-bib</i>), French (<i>bib-fr</i>), German +(<i>bibgerm</i>), Norwegian (<i>norbib</i>) and Swedish +(<i>swebib</i>) bundles (of which the <i>bib-fr</i> set is the +most extensive). The <i>spain</i> style implements a traditional +Spanish citation style. +<p>These static approaches solve the problem, for the languages that have +been covered by them. Unfortunately, with such an approach, a lot of +work is needed for every language involved. Two routes to a solution +of the "general" problem are available - that offered by +<i>babelbib</i>, and the +<a href="FAQ-custbib.html"><i>custom-bib</i> mechanism for generating styles</a>. +<p><i>Babelbib</i> (which is a development of the ideas of the +<i>bibgerm</i> package) co-operates with <i>babel</i> to control +the language of presentation of citations (potentially at the level of +individual items). The package has a built-in set of languages it +'knows about', but the documentation includes instructions on defining +commands for other languages. <i>Babelbib</i> comes with its own +set of bibliography styles, which could be a restriction if there +wasn't also a link from <i>custom-bib</i>. +<p>The <i>makebst</i> menu of <i>custom-bib</i> allows you to +choose a language for the BibTeX style you're generating (there are +14 languages to choose; it looks as if <i>spain.bst</i>, mentioned +above, was generated this way). If, however, you opt not to specify a +language, you are asked whether you want the style to interact with +<i>babelbib</i>; if you do so, you're getting the best of both +worlds - formatting freedom from <i>custom-bib</i> and linguistic +freedom via the extensibility of <i>babelbib</i> +<dl> +<dt><tt><i>babelbib.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/babelbib.zip">biblio/bibtex/contrib/babelbib</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/babelbib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/babelbib/">browse</a>) +<dt><tt><i>bib-fr bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/bib-fr.zip">biblio/bibtex/contrib/bib-fr</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/bib-fr.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/bib-fr/">browse</a>) +<dt><tt><i>bibgerm bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/germbib.zip">biblio/bibtex/contrib/germbib</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/germbib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/germbib/">browse</a>) +<dt><tt><i>custom-bib bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/custom-bib.zip">macros/latex/contrib/custom-bib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/custom-bib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/custom-bib/">browse</a>) +<dt><tt><i>finplain.bst</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/finplain.bst">biblio/bibtex/contrib/finplain.bst</a> +<dt><tt><i>norbib bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/norbib.zip">biblio/bibtex/contrib/norbib</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/norbib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/norbib/">browse</a>) +<dt><tt><i>spain</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/spain.zip">biblio/bibtex/contrib/spain</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/spain.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/spain/">browse</a>) +<dt><tt><i>swebib bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/swebib.zip">biblio/bibtex/contrib/swebib</a> (<a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/swebib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/swebib/">browse</a>) +</dl> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=i18nbib">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=i18nbib</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ifpdf.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ifpdf.html new file mode 100644 index 00000000000..43f8b1c81f4 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ifpdf.html @@ -0,0 +1,80 @@ +<head> +<title>UK TeX FAQ -- question label ifpdf</title> +</head><body> +<h3>Am I using PDFTeX?</h3> +<p>It's often useful to know whether your macros are operating within +PDFTeX or within ("normal") TeX; getting the right answer is +surprisingly tricky. +<p>Suppose you need to test whether your output will be PDF or +DVI. The natural thing is to check whether you have access to +some PDFTeX-only primitive; a good one to try (not least because it +was present in the very first releases of PDFTeX) is +<code>\</code><code>pdfoutput</code>. So you try +<blockquote> +<pre> +\ifx\pdfoutput\undefined + <not running PDFTeX> +\else + <running PDFTeX> +\fi +</pre> +</blockquote> +Except that neither branch of this conditional is rock-solid. The +first branch can be misleading, since the "awkward" user could have +written: +<blockquote> +<pre> +\let\pdfoutput\undefined +</pre> +</blockquote> +so that your test will falsely choose the first alternative. While +this is a theoretical problem, it is unlikely to be a major one. +<p>More important is the user who loads a package that uses +LaTeX-style testing for the command name's existence (for example, +the LaTeX <i>graphics</i> package, which is useful even to the +Plain TeX user). Such a package may have gone ahead of you, so the +test may need to be elaborated: +<blockquote> +<pre> +\ifx\pdfoutput\undefined + <not running PDFTeX> +\else + \ifx\pdfoutput\relax + <not running PDFTeX> + \else + <running PDFTeX> + \fi +\fi +</pre> +</blockquote> +If you only want to know whether some PDFTeX extension (such as +marginal kerning) is present, you can stop at this point: you know as +much as you need. +<p>However, if you need to know whether you're creating PDF +output, you also need to know about the value of <code>\</code><code>pdfoutput</code>: +<blockquote> +<pre> +\ifx\pdfoutput\undefined + <not running PDFTeX> +\else + \ifx\pdfoutput\relax + <not running PDFTeX> + \else + <running PDFTeX, with...> + \ifnum\pdfoutput>0 + <...PDF output> + \else + <...DVI output> + \fi + \fi +\fi +</pre> +</blockquote> +The above is, in essence, what Heiko Oberdiek's <i>ifpdf</i> +package does; the reasoning is the FAQ's interpretation of +Heiko's explanation. +<dl> +<dt><tt><i>ifpdf.sty</i></tt><dd>Distributed with Heiko Oberdiek's packages <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/oberdiek.zip">macros/latex/contrib/oberdiek</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/oberdiek.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/oberdiek/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ifpdf">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ifpdf</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-impgraph.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-impgraph.html new file mode 100644 index 00000000000..76bc6ce9346 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-impgraph.html @@ -0,0 +1,96 @@ +<head> +<title>UK TeX FAQ -- question label impgraph</title> +</head><body> +<h3>How to import graphics into (La)TeX documents</h3> +<p>Knuth, when designing the current version of TeX back in the early +1980s, could discern no "standard" way of expressing graphics in +documents. He reasoned that this state could not persist for ever, +but that it would be foolish for him to define TeX primitives that +allowed the import of graphical image definitions. He therefore +deferred the specification of the use of graphics to the writers of +DVI drivers; TeX documents would control the drivers by +means of +<a href="FAQ-specials.html"><code>\</code><code>special</code> commands</a>. +<p>There is therefore a straightforward way for anyone to import graphics +into their document: read the specification of the <code>\</code><code>special</code> +commands your driver uses, and 'just' code them. This is the +hair-shirt approach: it definitely works, but it's not for everyone. +<p>Over the years, therefore, "graphics inclusion" packages have sprung +up; most were designed for inclusion of + +<a href="FAQ-eps.html">Encapsulated PostScript graphics</a> - +which has become the <em>lingua franca</em> of graphics inclusion over +the last decade or so. +<p>Notable examples are the <i>epsf</i> package (distributed with +<i>dvips</i>) and the <i>psfig</i> package. (Both of these +packages were designed to work well with both Plain TeX and +LaTeX 2.09; they are both still available.) All such packages were +tied to a particular DVI driver (<i>dvips</i>, in +the above two cases), but their code could be configured for others. +<p>The obvious next step was to make the code configurable dynamically. +The LaTeX standard <i>graphics</i> package and its derivatives +made this step: it is strongly preferred for all current work. It can +also be used (with the help of the <i>miniltx</i> "LaTeX +emulator" and the <i>graphicx.tex</i> front-end) in documents +written in Plain TeX. +<p>The <i>graphics</i> package takes a variety of "driver +options" - package options that select code to generate the +commands appropriate to the DVI driver in use. In most cases, +your (La)TeX distribution will provide a <i>graphics.cfg</i> file +that will select the correct driver for what you're doing (for +example, a distribution that provides both LaTeX and PDFLaTeX +will usually provide a configuration file that determins whether +PDFLaTeX is running, and selects the definitions for it if so). +<p>The <i>graphics</i> package provides a toolkit of commands (insert +graphics, scale a box, rotate a box), which may be composed to provide +most facilities you need; the basic command, <code>\</code><code>includegraphics</code>, +takes one optional argument, which specifies the bounding box of the +graphics to be included. +<p>The <i>graphicx</i> package uses the facilities of of +<i>graphics</i> behind a rather more sophisticated command syntax +to provide a very powerful version of the <code>\</code><code>includegraphics</code> +command. <i>graphicx</i>'s version can combine scaling and +rotation, viewporting and clipping, and many other things. While this +is all a convenience (at some cost of syntax), it is also capable of +producing noticeably more efficient PostScript, and some of its +combinations are simply not possible with the <i>graphics</i> +package version. +<p>The <i>epsfig</i> package provides the same facilities as +<i>graphicx</i>, but via a <code>\</code><code>psfig</code> command (also known as +<code>\</code><code>epsfig</code>), capable of emulating +the behaviour (if not the bugs) the old <i>psfig</i> package. +<i>Epsfig</i> also supplies homely support for former users of the +<i>epsf</i> package. However, there's a support issue: if you +declare you're using <i>epsfig</i>, any potential mailing list or +usenet helper has to clear out of the equation the possibility that +you're using "old" <i>epsfig</i>, so that support is slower +coming than it would otherwise be. +<p>There is no rational reason to stick with the old packages, which have +never been entirely satisfactory in the LaTeX context. (One +irrational reason to leave them behind is that their replacement's +name tends not to imply that it's exclusively related to PostScript +graphics. The reasoning also excludes <i>epsfig</i>, of course.) +<p>A wide variety of detailed techniques and tricks have been developed +over the years, and Keith Reckdahl's <i>epslatex</i> outlines them +in compendious detail: this highly recommendable document is available +from CTAN. An invaluable review of the practicalities of +exchanging graphics between sites, + +"<a href="http://silas.psfc.mit.edu/elec_fig/elec_figures.pdf">Graphics for Inclusion in Electronic Documents</a>" + +has been written by Ian Hutchinson; the document isn't on CTAN, +but may also be + +<a href="http://silas.psfc.mit.edu/elec_fig/">browsed on the Web</a>. +<dl> +<dt><tt><i>epsf.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/plain/contrib/epsf.tex">macros/plain/contrib/epsf.tex</a> +<dt><tt><i>epsfig.sty</i></tt><dd>Part of the <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.zip">macros/latex/required/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/graphics/">browse</a>) bundle +<dt><tt><i>epslatex.pdf</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/epslatex.pdf">info/epslatex.pdf</a>; the document is also available + in PostScript format as <a href="ftp://cam.ctan.org/tex-archive/info/epslatex.ps">info/epslatex.ps</a> +<dt><tt><i>graphics.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.zip">macros/latex/required/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/graphics/">browse</a>) +<dt><tt><i>graphicx.sty</i></tt><dd>Part of the <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.zip">macros/latex/required/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/graphics/">browse</a>) bundle +<dt><tt><i>miniltx.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/plain/graphics.zip">macros/plain/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/plain/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/plain/graphics/">browse</a>) +<dt><tt><i>psfig.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/graphics/psfig.zip">nonfree/graphics/psfig</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/graphics/psfig.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/graphics/psfig/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=impgraph">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=impgraph</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-inclplain.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-inclplain.html new file mode 100644 index 00000000000..7a579fa0c3e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-inclplain.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label inclplain</title> +</head><body> +<h3>Including Plain TeX files in LaTeX</h3> +<p>LaTeX, though originally +<a href="FAQ-LaTeXandPlain.html">based on Plain TeX</a>, does not +contain all of Plain TeX's commands. Worse, some Plain TeX +command names appear in LaTeX, with different semantics. As a +result, special measures need to be taken to allow general Plain +TeX documents (or parts of documents) to be typeset within +LaTeX. +<p>The truly reliable way is to translate the Plain TeX commands, to +produce an equivalent of the original's semantics. However, this is +not practical in many circumstances, and for those occasions, the +<i>plain</i> package will often come to your aid. The package +defines a <code>plain</code> environment, in which a Plain TeX +document may be processed: +<pre> +\begin{plain} + \input{plain-doc} +\end{plain} +</pre> +The package is known to fail, for example, with documents that use +AMSTeX; no doubt it would also fail if asked to load Eplain. +All these things can be overcome (although it's not often easy), but +the environment saves a lot of work on many occasions. +<dl> +<dt><tt><i>plain.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.zip">macros/latex/contrib/carlisle</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/carlisle/">browse</a>) +</dl> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=inclplain">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=inclplain</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-include.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-include.html new file mode 100644 index 00000000000..dae5082fcaf --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-include.html @@ -0,0 +1,35 @@ +<head> +<title>UK TeX FAQ -- question label include</title> +</head><body> +<h3>What's going on in my <code>\</code><code>include</code> commands?</h3> +<p>The original LaTeX provided the <code>\</code><code>include</code> command to address the +problem of long documents: with the relatively slow computers of the +time, the companion <code>\</code><code>includeonly</code> facility was a boon. With the +vast increase in computer speed, <code>\</code><code>includeonly</code> is less valuable +(though it still has its place in some very large projects). +Nevertheless, the facility is retained in current LaTeX, and causes +some confusion to those who misunderstand it. +<p>In order for <code>\</code><code>includeonly</code> to work, <code>\</code><code>include</code> makes a separate +<code>.aux</code> file for each included file, and makes a 'checkpoint' of +important parameters (such as page, figure, table and footnote +numbers); as a direct result, it <em>must</em> clear the current page +both before and after the <code>\</code><code>include</code> command. What's more, this +mechanism doesn't work if a <code>\</code><code>include</code> command appears in a file +that was <code>\</code><code>include</code>d itself: LaTeX diagnoses this as an error. +<p>So, we can now answer the two commonest questions about <code>\</code><code>include</code>: +<ul> +<li> Why does LaTeX throw a page before and after <code>\</code><code>include</code> + commands? +<p> Answer: because it has to. If you don't like it, replace the + <code>\</code><code>include</code> command with <code>\</code><code>input</code> - you won't be able to use + <code>\</code><code>includeonly</code> any more, but you probably don't need it anyway, so + don't worry. +<p><li> Why can't I nest <code>\</code><code>include</code>d files? - I always used to be + able to under LaTeX 2.09. +<p> Answer: in fact, you couldn't, even under LaTeX 2.09, but the failure + wasn't diagnosed. However, since you were happy with the behaviour + under LaTeX 2.09, replace the <code>\</code><code>include</code> commands with <code>\</code><code>input</code> + commands (with <code>\</code><code>clearpage</code> as appropriate). +</ul> +<p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=include">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=include</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-inputlev.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-inputlev.html new file mode 100644 index 00000000000..e0ecba13ebb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-inputlev.html @@ -0,0 +1,25 @@ +<head> +<title>UK TeX FAQ -- question label inputlev</title> +</head><body> +<h3>Capacity exceeded - input levels</h3> +<p>The error +<pre> +! TeX capacity exceeded, sorry [text input levels=15]. +</pre> + +is caused by nesting your input too deeply. You can provoke it with +the trivial (Plain TeX) file <i>input.tex</i>, which contains +nothing but: +<pre> +\input input +</pre> +In the real world, you are unlikely to encounter the error with a +modern TeX distribution. TeTeX (used to produce the error +message above) allows 15 files open for TeX input at any one time, +which is improbably huge for a document generated by real human +beings. +<p>However, for those improbable (or machine-generated) situations, +some distributions offer the opportunity to adjust the parameter +<code>max_in_open</code> in a configuration file. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=inputlev">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=inputlev</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-inst1cm.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-inst1cm.html new file mode 100644 index 00000000000..b8f56767729 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-inst1cm.html @@ -0,0 +1,73 @@ +<head> +<title>UK TeX FAQ -- question label inst1cm</title> +</head><body> +<h3>Installing the Bluesky versions of the CM fonts</h3> +<p>This is a specialised case of +<a href="FAQ-instfont.html">installing a font</a>, but it comes easier +than most, since the font metrics are installed in every (La)TeX +system before you even start. Indeed, most recent systems will have +the Type 1 fonts themselves already installed, so that the job is +already done, and all you need is to start using them: +so the first thing to do is to just try it. On a system that uses +<i>dvips</i> (most systems nowadays do), try the sequence: +<pre> + latex sample2e + dvips -Pcmz -Pamz -o sample2e.ps sample2e +</pre> +at a "command prompt" (<i>shell</i>, in a Unix-style system, +"DOS box" in a Windows system). +<p>If the command works at all, the console output of the command will +include a sequence of Type 1 font file names, listed as <code><cmr10.pfb></code> +and so on; +this is <i>dvips</i> telling you it's including the Type 1 font, +and you need do no more. +<p>If the test has failed, you need to install your own set of the fonts. +<p>The CTAN directories listed below contain compressed archives of +the Type 1 +files for various architectures, both for the Computer Modern fonts +and for the AMS fonts of mathematical and other useful things. +Download the archives that are appropriate for your architecture, and +extract the files - you only actually need the contents of the +<i>pfb</i> directories, since you already have the fonts +installed in the "ordinary" way, so that the TFM files are +already present. (You don't need the PostScript font metric - AFM +and PFM - files in any case.) +<p>The files should go into your local <code>texmf</code> tree (<i>texmf.local</i>, +<i>texmf-local</i>, <i>localtexmf</i>, or whatever). Create +directories at offsets <i>fonts/type1/bluesky/cm</i> and +<i>fonts/type1/bluesky/ams</i>, and copy the <code>pfb</code> files into them. +<p>Now you need to tell <i>dvips</i>, PDFTeX, etc., that the fonts +are available. This is done by use of a <em>map file</em>, which lists +<em>font name</em> (as TeX understands it), <em>font name</em> (as it +appears in the type 1 file itself), and where the program will find +the file. Map files are provided in the download bundles for the +AMS fonts; for the CM fonts, map files are available +separately. +<p>The set of map files includes files <code>config.*</code>; each of these contains +an instruction to load a single map file. For ordinary use, you +instruct <i>dvips</i> to load the "detailed" map of the +CM fonts by use of the command: +<pre> + dvips -Pcmz myfile +</pre> +The same can be done with the AMS fonts, and you may invoke +both sets of fonts with: +<pre> + dvips -Pcmz -Pamz myfile +</pre> +Alternatively, the contents of <i>config.cmz</i> and <i>config.amz</i> +could be combined into a single file, perhaps <i>config.bluesky</i>, +loaded by the command +<pre> + dvips -Pbluesky myfile +</pre> +<p>Remember, after all such changes, the + +<a href="FAQ-instpackages.html">file-name database must be refreshed</a>. +<dl> +<dt><tt><i>AMS fonts</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/ps-type1/">fonts/amsfonts/ps-type1/</a> +<dt><tt><i>CM fonts</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/fonts/cm/ps-type1/bluesky/">fonts/cm/ps-type1/bluesky/</a> +<dt><tt><i>CM font maps</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/cm/ps-type1/bluesky-contrib/dvips.zip">fonts/cm/ps-type1/bluesky-contrib/dvips</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/cm/ps-type1/bluesky-contrib/dvips.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/cm/ps-type1/bluesky-contrib/dvips/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=inst1cm">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=inst1cm</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instfont.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instfont.html new file mode 100644 index 00000000000..3c08c1f51eb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instfont.html @@ -0,0 +1,21 @@ +<head> +<title>UK TeX FAQ -- question label instfont</title> +</head><body> +<h3>Installing a new font</h3> +<p>Fonts are really "just another package", and so should be installed +in the same sort of way as packages. However, fonts tend to be more +complicated than the average package, and as a result it's sometimes +difficult to see the overall structure. +<p>Font files may appear in any of a large number of different formats; +each format has a different function in a TeX system, and each is +stored in a directory its own sub-tree in the installation's +TDS tree; all these sub-trees have the directory +<i>$TEXMF/fonts</i> as their root. A sequence of answers + describes the installation of fonts: +follow the list through the "next question" links at the bottom of +this answer to view them all. +Other answers discuss specific font families - see, for example, + +"<a href="FAQ-concrete.html">using the concrete fonts</a>". +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instfont">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instfont</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instmffont.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instmffont.html new file mode 100644 index 00000000000..d35454526b5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instmffont.html @@ -0,0 +1,22 @@ +<head> +<title>UK TeX FAQ -- question label instmffont</title> +</head><body> +<h3>Installing a font provided as Metafont source</h3> +<p>Metafont fonts are (by comparison with other sorts of font) rather +pleasingly simple. Nowadays, they are mostly distributed just as the +Metafont source, since modern TeX distributions are able to produce +everything the user needs "on the fly"; however, if the distribution +<em>does</em> include TFM files, do install them, too, since they +save a little time and don't occupy much disc space. Always distrust +distributions of PK font bitmap files: there's no way of +learning from them what printer they were generated for, and naming +schemes under different operating systems are another source of +confusion. +<p>"<a href="FAQ-wherefiles.html">Where to install files</a>" +specifies where the files should go. +<p>Further confusion is introduced by font families whose authors devise rules +for automatic generation of Metafont sources for generating fonts at +particular sizes; the installation has to know about the rules, as +otherwise it cannot generate font files. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instmffont">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instmffont</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instpackages.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instpackages.html new file mode 100644 index 00000000000..98112a4fc4c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instpackages.html @@ -0,0 +1,94 @@ +<head> +<title>UK TeX FAQ -- question label instpackages</title> +</head><body> +<h3>Installing a new package</h3> +<p>The first step in installing a new package for your LaTeX system +is usually to <a href="FAQ-findfiles.html">find where it is</a> +and then to get it, usually from CTAN. However MiKTeX, +since version 2.1, offers a <a href="FAQ-miktexinst.html">simpler procedure</a> +than that described here, for packages it knows about. +<p>Ordinarily, you should download the whole distribution directory; the +only occasion when this is not necessary is when you are getting +something from one of the (La)TeX contributed "<i>misc</i>" +directories on CTAN; these directories contain collections of +single files, which are supposedly complete in themselves. +<p>A small package <<i>smallpack</i>> might be just a single <code>.sty</code> file +(typically <i>smallpack.sty</i>) with the usage instructions either +included as comments in the file or in a seperate user manual or +<i>README</i> file. More often a package <<i>pack</i>> will come as +a pair of files, <i>pack.ins</i> and <i>pack.dtx</i>, written to be +used with the LaTeX <i>doc</i> system. The package code must be +extracted from these files. If there is a <i>README</i> file as part +of the package distribution, read it! +<p>In the <i>doc</i> system, the user manual and documented package +code is in the <code>.dtx</code> file, and the <code>.ins</code> file contains LaTeX +instructions on what code should be extracted from the <code>.dtx</code> file. To +unpack a <i>doc</i> package <<i>pack</i>>, do the following: +<ul> +<li> Run latex on <i>pack.ins</i>. This will generate one or more + files (normally a <i>pack.sty</i> file but there may be others + depending on the particular package). +<li> Run latex on <i>pack.dtx</i> as a start to getting the user + manual and possibly a commented version of the package code. +<li> Run latex again on <i>pack.dtx</i>, which should resolve any + references and generate a Table of Contents if it was called for. +<li> LaTeX may have said "<code>No file pack.ind</code>"; this is the + source for the command index; if you want the index, process the raw + material with:<br> + <code> makeindex -s gind.ist pack</code><br> + and run LaTeX again. +<li> Print and read <i>pack.dvi</i> +</ul> +Sometimes a user manual is supplied seperately from the <i>.dtx</i> +file. Process this <em>after</em> doing the above, just in case the user +manual uses the package it is describing. +<p>Almost the final stage of the installation is to put the package +file(s) <em>'where LaTeX can find them'</em>. Where the magic place +is, and how you put the files there depends on your particular +LaTeX system and how it is set up (see + +<a href="FAQ-tds.html">the TeX directory structure standard</a> for +general principles, +<a href="FAQ-wherefiles.html">where to put files</a> for specific advice). +<p>The final stage is to tell LaTeX that there is a new file, or +files, that it should be able to go and find. Most free LaTeX systems +maintain a database of the names and locations of latex-related files +to enable faster searching. In these systems the database must be +updated, using the script or program provided with the distribution +for this purpose. +<dl> +<dt>teTeX<dd> Run: <br> + <code>texhash</code> +<dt>web2c<dd> On a current <i>web2c</i> distribution, <code>texhash</code> + ought to work; if it doesn't, run <code>mktexlsr</code> + <dt>fpTeX<dd> Click + <code>Start</code>-> + <code>Programs</code>-> + <code>Texlive</code>-> + <code>Maintenance</code>-> + <code>Rebuild ls-R filenames databases</code>, or open a "command" + window and run <code>texhash</code> +<dt>MiKTeX<dd> On a <i>MikTeX</i> distribution earlier than v2.0, + click + <code>Start</code>-> + <code>Programs</code>-> + <code>MikTeX</code>-> + <code>Maintenance</code>-> + <code>Refresh filename database</code> + + +<p> or get a DOS window and run:<br> + <code>initexmf --update-fndb</code> +<p> On a <i>MikTeX</i> distribution v2.0 or later, do:<br> + <code>Start</code>-> + <code>Programs</code>-> + <code>MikTeX 2</code>-> + <code>MikTeX Options</code>, and press the + + <code>Refresh now</code> button (<code>Update filename database</code> in + earlier versions of MiKTeX). +</dl> +<p>Remember that a <code>\usepackage{pack}</code> command must be put in the preamble +of each document in which you want to use the <i>pack</i> package. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instprinterfont.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instprinterfont.html new file mode 100644 index 00000000000..a8eb8c610b3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instprinterfont.html @@ -0,0 +1,39 @@ +<head> +<title>UK TeX FAQ -- question label instprinterfont</title> +</head><body> +<h3>Installing a PostScript printer built-in font</h3> +<p>There is a "standard" set of fonts that has appeared in every PostScript +printer since the second generation of the type. These fonts +(8 families of four text fonts each, and three special-purpose fonts) +are of course widely used, because of their simple availability. The +set consists of: +<ul> +<li> <i>Times</i> family (4 fonts) +<li> <i>Palatino</i> family (4 fonts) +<li> <i>New</i> <i>Century</i> <i>Schoolbook</i> family (4 fonts) +<li> <i>Bookman</i> family (4 fonts) +<li> <i>Helvetica</i> family (4 fonts) +<li> <i>Avant</i> <i>Garde</i> (4 fonts) +<li> <i>Courier</i> family (4 fonts) +<li> <i>Utopia</i> family (4 fonts) +<li> Zapf <i>Chancery</i> (1 font) +<li> Zapf <i>Dingbats</i> (1 font) +<li> <i>Symbol</i> (1 font) +</ul> +All these fonts are supported, for LaTeX users, by the +<i>psnfss</i> set of metrics and support files in the file +<i>lw35nfss.zip</i> on CTAN. Almost any remotely modern TeX +system will have some version of <i>psnfss</i> installed, but +users should note that the most recent version has much improved +coverage of maths-with-<i>Times</i> and -<i>Palatino</i>, as +well as a more reliable set of font metrics. +<p>The archive <i>lw35nfss.zip</i> is laid out according to the +TDS, so in principle, installation consists simply of +"unzipping" the file at the root of a <i>texmf</i> tree. +<p>Documentation of the <i>psnfss</i> bundle is provided in +<i>psnfss2e.pdf</i> in the distribution. +<dl> +<dt><tt><i>psnfss bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/psnfss.zip">macros/latex/required/psnfss</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/psnfss.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/psnfss/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instprinterfont">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instprinterfont</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instt1font.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instt1font.html new file mode 100644 index 00000000000..4bb0b64aabc --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-instt1font.html @@ -0,0 +1,85 @@ +<head> +<title>UK TeX FAQ -- question label instt1font</title> +</head><body> +<h3>Installing a Type 1 font</h3> +<p>The process of installing a Type 1 font set is rather convoluted, but +it may be separated into a modest set of stages. +<ul> +<li> Acquire the font. A very small set of Type 1 fonts is installed + in most PostScript printers you will encounter. For those few (whose use + is covered by the basic PSNFSS package), you don't need the + Type 1 font itself, to be able to print using the font. +<p> For all the myriad other Type 1 fonts, to be able to print using + the font you need the Type 1 file itself. Some of these are + available for free (they've either been donated to the public + domain, or were developed as part of a free software project), but + the vast majority are commercial products, requiring you to spend + real money. +<li> Acquire the fonts' AFM files. AFM files contain + information from the font foundry, about the sizes of the characters + in the font, and how they fit together. One measure of the quality + of a font-supplier is that they provide the AFM files by + default: if the files are not available, you are unlikely to be able + to use the font with (La)TeX. +<li> Rename the AFM files and the Type 1 files to match the + " + <a href="FAQ-fontname.html">Berry font naming scheme</a>". +<li> Generate TeX metric files from the AFM files. The + commonest tool for this task is <i>fontinst</i>; the package + documentation helps, but other guides are available (see below). + The simplest possible script to pass to <i>fontinst</i> is: + <blockquote> + <code>\latinfamily{xyz}</code><br> + <code>\bye</code> + </blockquote> + where <code>xyz</code> is the Berry name of the font family. This + simple script is adequate for most purposes: its output covers the + font family in both <code>T1</code> and <code>OT1</code> font encodings. Nevertheless, + with fancier fonts, more elaborate things are possible with + <i>fontinst</i>: see the documentation for details. +<p> <i>Fontinst</i> also generates map files, and LaTeX font + definition (<code>.fd</code>) files. +<li> Install the files, in your <code>texmf</code> tree. All the + strictures about installing non-standard things apply here: be sure + to put the files in the local tree. Reasonable destinations for the + various files are: + +<pre> +.pfb, +.pfa .../fonts/type1/<foundry>/<bname> +.tfm .../fonts/tfm/<foundry>/<bname> +.vf .../fonts/vf/<foundry>/<bname> +.fd .../tex/latex/fontinst/<foundry>/<bname> +.map .../dvips/fontinst/<foundry> +</pre> +<li> Regenerate the file indexes (as described in + <a href="FAQ-instpackages.html">package installation</a>). +<li> Update the <i>dvips</i> and other maps: + <ul> + <li> On a teTeX system earlier than version 2.0, edit the file + <i>$TEXMF/dvips/config/updmap</i> and insert an absolute path for + the <i>lm.map</i> just after the line that starts + <code>extra_modules="</code> (and before the closing quotes). + <li> On a teTeX version 2.0 (or later), execute the command +<pre> + updmap --enable Map <xyz>.map +</pre> + <li> On a MiKTeX system earlier than version 2.2, the "Refresh + filename database" operation, which you performed after installing + files, also updates the system's "PostScript resources database". + <li> On a MiKTeX system, version 2.2 or later, update + <i>updmap.cfg</i> which is described in MiKTeX + <a href="http://www.miktex.org/manual/psfonts.html">online documentation</a>. + Then execute the command <code>initexmf --mkmaps</code>, and the job + is done. + </ul> +</ul> +The whole process is very well (and thoroughly) described in Philipp +Lehman's guide to font installation, which may be found on CTAN. +<dl> +<dt><tt><i>fontinst.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/fontinst.zip">fonts/utilities/fontinst</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/fontinst.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/utilities/fontinst/">browse</a>) +<dt><tt><i>Type 1 installation guide</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/Type1fonts/fontinstallationguide/fontinstallationguide.pdf">info/Type1fonts/fontinstallationguide/fontinstallationguide.pdf</a> +</dl> +<p> +<p><p><p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instt1font">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instt1font</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-interruptlist.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-interruptlist.html new file mode 100644 index 00000000000..de3aaad7b8e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-interruptlist.html @@ -0,0 +1,96 @@ +<head> +<title>UK TeX FAQ -- question label interruptlist</title> +</head><body> +<h3>Interrupting enumerated lists</h3> +<p>It's often convenient to have commentary text, 'outside' the list, +between successive entries of a list. In the case of +<code>itemize</code> lists this is no problem, since there's never +anything to distinguish successive items, while in the case of +<code>description</code> lists, the item labels are under the user's +control so there's no automatic issue of continuity. +<p>For <code>enumerate</code> lists, the labels are generated +automatically, and are context-sensitive, so the context (in this +case, the state of the enumeration counter) needs to be preserved. +<p>The belt-and-braces approach is to remember the state of the +enumeration in your own counter variable, and then restore it when +restarting enumerate: +<blockquote> +<pre> +\newcounter{saveenum} + ... +\begin{enumerate} + ... + \setcounter{saveenum}{\value{enumi}} +\end{enumerate} +<Commentary text> +\begin{enumerate} + \setcounter{enumi}{\value{saveenum}} + ... +\end{enumerate} +</pre> +</blockquote> +<p>This is reasonable, in small doses... Problems (apart from sheer +verbosity) are getting the level right ("should I use counter +<code>enumi</code>, <code>enumii</code>, ...") and remembering not to +nest the interruptions (i.e., not to have a separate list, that is +itself interrupted) in the "commentary text"). +<p>The <i>mdwlist</i> package defines commands <code>\</code><code>suspend</code> and +<code>\</code><code>resume</code> that simplify the process: +<blockquote> +<pre> +\begin{enumerate} + ... +\suspend{enumerate} +<Commentary text> +\resume{enumerate} + ... +\end{enumerate} +</pre> +</blockquote> +The package allows an optional name (as in +<code>\</code><code>suspend[id]{enumerate}</code>) to allow you to identify a +particular suspension, and hence provide a handle for manipulating +nested suspensions. +<p>If you're suspending a <a href="FAQ-enumerate.html">fancy-enumeration list</a>, +you need to +re-supply the optional "item label layout" parameters required by +the <i>enumerate</i> package when resuming the list, whether by the +belt-and-braces approach, or by the <i>mdwlist</i> +<code>\</code><code>resume{enumerate}</code> technique. The task is a little tedious +in the <i>mdwlist</i> case, since the optional argument has to be +encapsulated, whole, inside an optional argument to <code>\</code><code>resume</code>, +which requires use of extra braces: +<blockquote> +<pre> +\begin{enumerate}[\textbf{Item} i] + ... +\suspend{enumerate} +<comment> +\resume{enumerate}[{[\textbf{Item} i]}] +... +\end{enumerate} +</pre> +</blockquote> +The <i>enumitem</i> package, in its most recent +release, will allow you to resume lists, at one level only: +<blockquote> +<pre> +\begin{enumerate} +... +\end{enumerate} +<comment> +\begin{enumerate}[resume] +... +\end{enumerate} +</pre> +</blockquote> +which feels just as "natural" as the <i>mdwtools</i> facility, +and has the advantage of playing well with the other excellent +facilities of <i>enumitem</i>. +<dl> +<dt><tt><i>enumerate.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>enumitem.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/enumitem.zip">macros/latex/contrib/enumitem</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/enumitem.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/enumitem/">browse</a>) +<dt><tt><i>mdwlist.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.zip">macros/latex/contrib/mdwtools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mdwtools/">browse</a>) +</dl> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=interruptlist">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=interruptlist</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-isitanum.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-isitanum.html new file mode 100644 index 00000000000..85f25e9c91c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-isitanum.html @@ -0,0 +1,138 @@ +<head> +<title>UK TeX FAQ -- question label isitanum</title> +</head><body> +<h3>Is the argument a number?</h3> +<p>TeX's own lexical analysis doesn't offer the macro programmer +terribly much support: while category codes will distinguish letters +(or what TeX currently thinks of as letters) from everything else, +there's no support for analysing numbers. +<p>The simple-minded solution is to compare numeric characters with the +characters of the argument, one by one, by a sequence of direct tests, +and to declare the argument "not a number" if any character fails +all comparisons: +<blockquote> +<pre> +\ifx1#1 +\else\ifx2#1 +... +\else\ifx9#1 +\else\isanumfalse +\fi\fi...\fi +</pre> +</blockquote> +which one would then use in a tail-recursing macro to gobble an +argument. One could do slightly better by assuming (pretty safely) +that the digits' character codes are consecutive: +<blockquote> +<pre> +\ifnum`#1<`0 \isanumfalse +\else\ifnum`#1>`9 \isanumfalse + \fi +\fi +</pre> +</blockquote> +again used in tail-recursion. However, these forms aren't very +satisfactory: getting the recursion "right" is troublesome (it has a +tendency to gobble spaces in the argument), and in any case TeX +itself has mechanisms for reading numbers, and it would be nice to use +them. +<p>Donald Arseneau's <i>cite</i> package offers the following test +for an argument being a strictly positive integer: +<blockquote> +<pre> +\def\IsPositive#1{% + TT\fi + \ifcat_\ifnum0<0#1 _\else A\fi +} +</pre> +</blockquote> +which can be adapted to a test for a non-negative integer thus: +<blockquote> +<pre> +\def\IsNonNegative{% + \ifcat_\ifnum9<1#1 _\else A\fi +} +</pre> +</blockquote> +or a test for any integer: +<blockquote> +<pre> +\def\gobbleminus#1{\ifx-#1\else#1\fi} +\def\IsInteger#1{% + TT\fi + \ifcat_\ifnum9<1\gobbleminus#1 _\else A\fi +} +</pre> +</blockquote> +but this surely stretches the technique further than is reasonable. +<p>If we don't care about the sign, we can use TeX to remove the +entire number (sign and all) from the input stream, and then look at +what's left: +<blockquote> + +<pre> +\def\testnum#1{\afterassignment\testresult\count255=#1 \end} +\def\testresult#1\end{\ifx\end#1\end\isanumtrue\else\isanumfalse\fi} +</pre> +</blockquote> +(which technique is due to David Kastrup); this can provoke errors. +In a later thread on the same topic, Michael Downes offered: +<blockquote> +<pre> +\def\IsInteger#1{% + TT\fi + \begingroup \lccode`\-=`\0 \lccode`+=`\0 + \lccode`\1=`\0 \lccode`\2=`\0 \lccode`\3=`\0 + \lccode`\4=`\0 \lccode`\5=`\0 \lccode`\6=`\0 + \lccode`\7=`\0 \lccode`\8=`\0 \lccode`\9=`\0 + \lowercase{\endgroup + \expandafter\ifx\expandafter\delimiter + \romannumeral0\string#1}\delimiter +} +</pre> + +</blockquote> +which relies on <code>\</code><code>romannumeral</code> producing an empty result if its +argument is zero. Sadly, this technique has the unfortunate property +that it accepts simple expressions such as '<code>1+2-3</code>'; this +could be solved by an initial <code>\</code><code>gobbleminus</code>-like construction. +<p>All the complete functions above are designed to be used in TeX +conditionals written "naturally" - for example: +<blockquote> +<pre> +\if\IsInteger{<subject of test>}% + <deal with integer>% +\else + <deal with non-integer>% +\fi +</pre> +</blockquote> +The LaTeX <i>memoir</i> class has an internal command of its own, +<code>\</code><code>checkifinteger{</code><em>num</em><code>}</code>, that sets the conditional command +<code>\</code><code>ifinteger</code> according to whether the argument was an integer. +<p>Of course, all this kerfuffle would be (essentially) void if there was +a simple means of "catching" TeX errors. Imagining an +error-catching primitive <code>\</code><code>ifnoerror</code>, one might write: +<blockquote> +<pre> +\def\IsInteger#1{% + TT% + \ifnoerror + \tempcount=#1\relax +% carries on if no error + \expandafter\iftrue + \else +% here if there was an error + \expandafter\iffalse + \fi +} +</pre> +</blockquote> +thus using TeX's own integer-parsing code to do the check. It's a +pity that such a mechanism was never defined (it could be that it's +impossible to program within TeX!). +<dl> +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=isitanum">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=isitanum</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-journalpaper.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-journalpaper.html new file mode 100644 index 00000000000..5a43d244639 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-journalpaper.html @@ -0,0 +1,25 @@ +<head> +<title>UK TeX FAQ -- question label journalpaper</title> +</head><body> +<h3>Setting papers for journals</h3> +<p>Publishers of journals have a wide range of requirements for the +presentation of papers, and while many publishers do accept electronic +submissions in (La)TeX, they don't often submit recommended macros to +public archives. +<p>Nevertheless, there are considerable numbers of macros of one sort or +another available on CTAN; searching for your journal name in +the CTAN catalogue (see +<a href="FAQ-findfiles.html">searching CTAN</a>) +may well turn up what you're seeking. +<p>Failing that, you may be well advised to contact the prospective +publisher of your paper; many publishers have macros on their own web +sites, or otherwise available only upon application. +<p>Check that the publisher is offering you macros suitable to an +environment you can use: a few still have no macros for current +LaTeX, for example, claiming that LaTeX 2.09 is good enough... +<p>Some publishers rekey anything sent them anyway, so that it doesn't +really matter what macros you use. Others merely encourage you to use +as few extensions of a standard package as possible, so that they will +find it easy to transform your paper to their own internal form. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=journalpaper">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=journalpaper</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-keepfonts.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-keepfonts.html new file mode 100644 index 00000000000..11336f0edf9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-keepfonts.html @@ -0,0 +1,27 @@ +<head> +<title>UK TeX FAQ -- question label keepfonts</title> +</head><body> +<h3>Which font files should be kept</h3> +<p>Metafont produces from its run three files, a metrics (TFM) file, a +generic font (GF) file, and a log file; all of these files have the +same base name as does the input (<em>e.g.</em>, if the input file was +<i>cmr10.mf</i>, the outputs will be <i>cmr10.tfm</i>, +<i>cmr10.nnngf</i> + +and <i>cmr10.log</i>). +<p>For TeX to use the font, you need a TFM file, so you need +to keep that. However, you are likely to generate the same font +at more than one magnification, and each time you do so you'll +(incidentally) generate another TFM file; these files are +all the same, so you only need to keep one of them. +<p>To preview or to produce printed output, the DVI processor will need a +font raster file; this is what the GF file provides. However, while +there used (once upon a time) to be DVI processors that could use +GF files, modern processors use packed raster (PK) files. +Therefore, you need to generate a PK file from the GF file; the +program <i>gftopk</i> does this for you, and once you've done that you +may throw the GF file away. +<p>The log file should never need to be used, unless there was some sort +of problem in the Metafont run, and need not be ordinarily kept. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=keepfonts">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=keepfonts</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labelctr.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labelctr.html new file mode 100644 index 00000000000..903ad03de7c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labelctr.html @@ -0,0 +1,21 @@ +<head> +<title>UK TeX FAQ -- question label labelctr</title> +</head><body> +<h3>Making labels from a counter</h3> +<p>Suppose we have a LaTeX counter, which we've defined with +<code>\</code><code>newcounter{foo}</code>. We can increment the value of the counter +by <code>\</code><code>addtocounter{foo}{1}</code>, but that's pretty clunky for an +operation that happens so often ... so there's a command +<code>\</code><code>stepcounter{foo}</code> that does this special case of +increasing-by-one. +<p>There's an internal LaTeX variable, the "current label", that +remembers the last 'labellable' thing that LaTeX has processed. +You could (if you were to insist) set that value by the relevant +TeX command (having taken the necessary precautions to ensure that +the internal command worked) - but it's not necessary. If, instead +of either of the stepping methods above, you say +<code>\</code><code>refstepcounter{foo}</code>, the internal variable is set to the +new value, and (until something else comes along), <code>\</code><code>label</code> will +refer to the counter. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=labelctr">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=labelctr</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labelfig.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labelfig.html new file mode 100644 index 00000000000..b8c83fd31db --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labelfig.html @@ -0,0 +1,49 @@ +<head> +<title>UK TeX FAQ -- question label labelfig</title> +</head><body> +<h3>Labelling graphics</h3> +<p>"Technical" graphics (such as graphs and diagrams) are often +labelled with quite complex mathematical expressions: there are few +drawing or graphing tools that can do such things (the honourable +exception being MetaPost, which allows you to program the labels, in +(La)TeX, in the middle of specifying your graphic). +<p>Labels on graphics produced by all those <em>other</em> tools is where +the <i>psfrag</i> package can help. Place an unique +text in your graphic, using the normal text features of your tool, and +you can ask <i>psfrag</i> to replace the text with arbitrary +(La)TeX material. <i>Psfrag</i>'s "operative" command is +<code>\</code><code>psfrag{<em>PS text</em>}{<em>Repl text</em>}</code>, which instructs +the system to replace the original ("<code>PS</code>") text with the +TeX-typeset replacement text. Optional +arguments permit adjustment of position, scale and rotation; full +details may be found in <i>pfgguide</i> in the distribution. +(Unfortunately, <i>psfrag</i> can't be used with PDFLaTeX, +though one might hope that it would be susceptible to the same sort of +treatment as is used in the <i>pdftricks</i> package. On the other +hand, <a href="FAQ-commercial.html">VTeX</a>'s GeX processor explicitly deals +with <i>psfrag</i>, both in its free and commercial instances.) +<p>Another useful approach is <i>overpic</i>, which overlays a +<code>picture</code> environment on a graphic included by use of +<code>\</code><code>includegraphics</code>. This treatment lends itself to ready placement +of texts and the like on top of a graphic. The package can draw a +grid for planning your "attack"; the distribution comes with simple +examples. +<p><i>Pstricks</i> can of course do everything that <i>overpic</i> +can, with all the flexibility of PostScript programming that it offers. +The <i>pstricks</i> web site has a page of +<a href="http://pstricks.de/Examples/overlay.phtml">examples of labelling</a> +which will get you started; if <i>pstricks</i> is +<a href="FAQ-drawing.html">an option for you</a>, this route is worth a try. +<p>The confident user may, of course, do the whole job in a picture +environment which itself includes the graphic. I would recommend +<i>overpic</i> or the <i>pstricks</i> approach, but such things +are plainly little more than a convenience over what is achievable +with the do-it-yourself approach. +<dl> +<dt><tt><i>overpic.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/overpic.zip">macros/latex/contrib/overpic</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/overpic.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/overpic/">browse</a>) +<dt><tt><i>psfrag.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/psfrag.zip">macros/latex/contrib/psfrag</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/psfrag.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/psfrag/">browse</a>) +<dt><tt><i>pstricks.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/pstricks.zip">graphics/pstricks</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/pstricks.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/pstricks/">browse</a>) +</dl> +<p> +<p><p><p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=labelfig">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=labelfig</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labelformat.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labelformat.html new file mode 100644 index 00000000000..be9b1eea97b --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labelformat.html @@ -0,0 +1,74 @@ +<head> +<title>UK TeX FAQ -- question label labelformat</title> +</head><body> +<h3>How to change the format of labels</h3> +<p>By default, when a label is created, it takes on the appearance of the +counter labelled: specifically, it is set to +<code>\</code><code>the</code><code><<i>counter</i>></code> - what would be used if you +asked to typeset the counter in your text. This isn't always what you +need: for example, if you have nested enumerated lists with the outer +numbered and the inner labelled with letters, one might expect to want +to refer to items in the inner list as "2(c)". (Remember, you can + +<a href="FAQ-enumerate.html">change the structure of list items</a>.) +The change is of course +possible by explicit labelling of the parent and using that label to +construct the typeset result - something like +<blockquote> +<pre> +\ref{parent-item}(\ref{child-item}) +</pre> +</blockquote> +which would be both tedious and error-prone. What's more, it would be +undesirable, since you would be constructing a visual representation +which is inflexible (you couldn't change all the references to elements +of a list at one fell swoop). +<p>LaTeX in fact has a label-formatting command built into every label +definition; by default it's null, but it's available for the user to +program. For any label <<i>counter</i>> there's a LaTeX internal +command <code>\</code><code>p@</code><<i><code>counter</i>></code>; for example, a label definition +on an inner list item is supposedly done using the command +<code>\</code><code>p@enumii{<code>\</code><code>theenumii</code>}</code>. Unfortunately, the internal +workings of this aren't quite right, and you need to patch the +<code>\</code><code>refstepcounter</code> command: +<blockquote> + +<pre> +\renewcommand*\refstepcounter[1]{\stepcounter{#1}% + \protected@edef\@currentlabel{% + \csname p@#1\expandafter\endcsname + \csname the#1\endcsname + }% +} +</pre> +</blockquote> +With the patch in place you can now, for example, change the labels on +all inner lists by adding the following code in your preamble: +<blockquote> +<pre> +\makeatletter +\renewcommand{\p@enumii}[1]{\theenumi(#1)} +\makeatother +</pre> +</blockquote> +This would make the labels for second-level enumerated lists appear as +"1(a)" (and so on). The analogous change works for any counter that +gets used in a <code>\</code><code>label</code> command. +<p>In fact, the <i>fncylab</i> package does all the above (including +the patch to LaTeX itself). With the package, the code above is +(actually quite efficiently) rendered by the command: +<blockquote> +<pre> +\labelformat{enumii}{\theenumi(#1)} +</pre> +</blockquote> +In fact, the above example, which we can do in several different ways, +has been rendered obsolete by the appearance of the <i>enumitem</i> +package, which is discussed in the answer about +<a href="FAQ-enumerate.html">decorating enumeration lists</a>. +<dl> +<dt><tt><i>enumitem.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/enumitem.zip">macros/latex/contrib/enumitem</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/enumitem.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/enumitem/">browse</a>) +<dt><tt><i>fncylab.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/fncylab.sty">macros/latex/contrib/misc/fncylab.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=labelformat">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=labelformat</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labundef.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labundef.html new file mode 100644 index 00000000000..5d5b5be1fe8 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-labundef.html @@ -0,0 +1,29 @@ +<head> +<title>UK TeX FAQ -- question label labundef</title> +</head><body> +<h3>Finding if a label is undefined</h3> +<p>People seem to want to know (at run time) if a label is undefined (I +don't actually understand <em>why</em>, particularly: it's a transient +state, and LaTeX deals with it quite well). +<p>A resolved label is simply a command: +<code>\</code><code>r@</code><code><<i>label-name</i>></code>; determining if the label is set is +then simply a matter of detecting if the command exists. The usual +LaTeX internal way of doing this is to use the command +<code>\</code><code>@ifundefined</code>: +<blockquote> + <code>\</code><code>@ifundefined{</code><em><code>r@</code>lab-name</em><code>}{</code><em>undef-cmds</em><code>}</code>{def-cmds} +</blockquote> +In which, <<i>lab-name</i>> is exactly what you would use in +a <code>\</code><code>label</code> command, and the remaining two arguments are command +sequences to be used if the label is undefined +(<<i>undef-cmds</i>>) or if it is defined +(<code><em>def-cmds</em></code>). +<p>Note that any command that incorporates <code>\</code><code>@ifundefined</code> is naturally +fragile, so remember to create it with <code>\</code><code>DeclareRobustCommand</code> or to +use it with <code>\</code><code>protect</code> in a moving argument. +<p>If you're into this game, you may well not care about LaTeX's +warning about undefined labels at the end of the document; however, +if you are, include the command <code>\</code><code>G@refundefinedtrue</code> in +<<i><code>undef-cmds</i>></code>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=labundef">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=labundef</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-landscape.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-landscape.html new file mode 100644 index 00000000000..7995ccb54a5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-landscape.html @@ -0,0 +1,75 @@ +<head> +<title>UK TeX FAQ -- question label landscape</title> +</head><body> +<h3>Typesetting things in landscape orientation</h3> +<p>It's often necessary to typeset part of a document in landscape +orientation; to achieve this, one needs not only to change the page +dimensions, but also to instruct the output device to print the +strange page differently. +<p>There are two "ordinary" mechanisms for doing two slight variations +of landscape typesetting: +<ul> +<li> If you have a single floating object that is wider than it is + deep, and will only fit on the page in landscape orientation, use + the <i>rotating</i> package; this defines <code>sidewaysfigure</code> and + <code>sidewaystable</code> environments which create floats that + occupy a whole page. +<li> If you have a long sequence of things that need to be typeset in + landscape (perhaps a code listing, a wide <code>tabbing</code> + environment, or a huge table typeset using <i>longtable</i> or + <i>supertabular</i>), use the <i>lscape</i> package (or + <i>pdflscape</i> if you're generating PDF output, whether + using PDFLaTeX or <i>dvips</i> and generating PDF from + that). Both packages define an environment <code>landscape</code>, which + clears the current page and restarts typesetting in landscape + orientation (and clears the page at the end of the environment + before returning to portrait orientation). +</ul> +No currently available package makes direct provision for typesetting +in both portrait and landscape orientation on the same page (it's not +the sort of thing that TeX is well set-up to do). If such +behaviour was an absolute necessity, one would use the techniques +described in + +<a href="FAQ-textflow.html">"flowing text around figures"</a>, and would +rotate the landscape portion using the rotation facilities of the +<i>graphics</i> package. (Returning from landscape to portrait +orientation would be somewhat easier: the portrait part of the page +would be a bottom float at the end of the landscape section, with its +content rotated.) +<p>To set an entire document in landscape orientation, one might use +<i>lscape</i> around the whole document. A better option is the +<code>landscape</code> option of the <i>geometry</i> package; if you +also give it <code>dvips</code> or <code>pdftex</code> option, +<i>geometry</i> also emits the rotation instructions to cause the +output to be properly oriented. The <i>memoir</i> class has the same +facilities, in this respect, as does <i>geometry</i>. +<p>A word of warning: most current TeX previewers do not honour +rotation requests in <code>.dvi</code> files (the exception is + + + + + + + + + + +the fpTeX previewer WinDVI). If your previewer is not +capable of rotation, your best bet is to convert your output to PostScript +or to PDF, and to view these 'final' forms with an appropriate +viewer. +<dl> +<dt><tt><i>geometry.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/geometry.zip">macros/latex/contrib/geometry</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/geometry.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/geometry/">browse</a>) +<dt><tt><i>graphics.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.zip">macros/latex/required/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/graphics/">browse</a>) +<dt><tt><i>longtable.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>lscape.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.zip">macros/latex/required/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/graphics/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>pdflscape.sty</i></tt><dd>Distributed with Heiko Oberdiek's packages + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/oberdiek.zip">macros/latex/contrib/oberdiek</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/oberdiek.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/oberdiek/">browse</a>) +<dt><tt><i>rotating.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/rotating.zip">macros/latex/contrib/rotating</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/rotating.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/rotating/">browse</a>) +<dt><tt><i>supertabular.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/supertabular.zip">macros/latex/contrib/supertabular</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/supertabular.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/supertabular/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=landscape">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=landscape</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latex.html new file mode 100644 index 00000000000..ac18984344b --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latex.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label latex</title> +</head><body> +<h3>What is LaTeX?</h3> +<p>LaTeX is a TeX macro package, originally written by Leslie Lamport, that +provides a document processing system. LaTeX allows markup to +describe the structure of a document, so that the user +need not think about presentation. By using document classes and +add-on packages, the same document can be produced in a variety of +different layouts. +<p>Lamport says that LaTeX +"<em>represents a balance between functionality and ease of use</em>". +This shows itself as a continual conflict that leads to +the need for such things as FAQs: LaTeX <em>can</em> +meet most user requirements, but finding out <em>how</em> is often +tricky. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latex2e.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latex2e.html new file mode 100644 index 00000000000..7508d3d72a2 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latex2e.html @@ -0,0 +1,26 @@ +<head> +<title>UK TeX FAQ -- question label latex2e</title> +</head><body> +<h3>What is LaTeX2e?</h3> +<p>Lamport's last version of LaTeX (LaTeX 2.09, last updated in 1992) +was superseded in 1994 by a new version (LaTeX2e) provided by +<a href="FAQ-LaTeX3.html">the LaTeX team</a>. +LaTeX2e is now the only readily-available version of +LaTeX, and draws together several threads of LaTeX development +from the later days of LaTeX 2.09. +<p>LaTeX2e has several enhancements over LaTeX 2.09, but they were all +rather minor, with a view to continuity and stability rather than the +"big push" that some had expected from the team. LaTeX2e +continues to this day to offer a compatibility mode in which most +files prepared for use with LaTeX 2.09 will run (albeit with somewhat +reduced performance, and subject to bitter complaints in the log +file). Differences between LaTeX2e and LaTeX 2.09 are +outlined in a series of 'guide' files that are available in every +LaTeX distribution (the same directory also contains "news" about +each new release of LaTeX2e). +<dl> +<dt><tt><i>LaTeX guides and news</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/doc.zip">macros/latex/doc</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/doc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/doc/">browse</a>) +</dl> +<p><p> +<p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latex2e">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latex2e</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latexbug.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latexbug.html new file mode 100644 index 00000000000..f71b1ad6aa8 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latexbug.html @@ -0,0 +1,57 @@ +<head> +<title>UK TeX FAQ -- question label latexbug</title> +</head><body> +<h3>Reporting a LaTeX bug</h3> +<p>The LaTeX team supports LaTeX, and will deal with + +<em>bona fide</em> bug reports. However, you need to be slightly +careful to produce a bug report that is usable by the team. The steps +are: +<p><b>1.</b> Are you still using current LaTeX? Maintenance is only +available for sufficiently up-to-date versions of LaTeX - if your +LaTeX is more than two versions out of date, the bug reporting +mechanisms will reject your report. +<p><b>2.</b> Has your bug already been reported? Browse the + +<a href="http://www.latex-project.org/cgi-bin/ltxbugs2html?introduction=yes">LaTeX bugs database</a>, +to find any earlier instance of your bug. In many cases, the database +will list a work-around. +<p><b>3.</b> Prepare a +<a href="FAQ-minxampl.html">"minimum" file</a> that exhibits the problem. +Ideally, such a file should contain no contributed packages - the +LaTeX team as a whole takes no responsibility for such packages (if +they're supported at all, they're supported by their authors). The +"minimum" file should be self-sufficient: if a member of the team +should run it in a clean directory, on a system with no contributed +packages, it should replicate your problem. +<p><b>4.</b> Run your file through LaTeX: the bug +system needs the <code>.log</code> file that this process creates. +<p>You now have two possible ways to proceed: either create a mail report +to send to the bug processing mechanism (5, below), or submit your bug +report via the web (7, below). +<p><b>5.</b> Process the bug-report creation file, using LaTeX itself: +<pre> + latex latexbug +</pre> +<i>latexbug</i> asks you some questions, and then lets you describe +the bug you've found. It produces an output file <i>latexbug.msg</i>, +which includes the details you've supplied, your "minimum" example +file, and the log file you got after running the example. (I always +need to edit the result before submitting it: typing text into +<i>latexbug</i> isn't much fun.) +<p><b>6.</b> Mail the resulting file to +<i>latex-bugs@latex-project.org</i>; the subject line of your email +should be the same as the bug title you gave to <i>latexbug</i>. The +file <i>latexbug.msg</i> should be included into your message in-line: +attachments are likely to be rejected by the bug processor. +<p><b>7.</b> Connect to the + +<a href="http://www.latex-project.org/bugs-upload.html">latex bugs processing web page</a> +and enter details of your bug - category, summary and full +description, and the two important files (source and log file); note +that members of the LaTeX team <em>need</em> your name and email address, as +they may need to discuss the bug with you, or to advise you of a +work-around. +<p> +<p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexbug">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexbug</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latexpronounce.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latexpronounce.html new file mode 100644 index 00000000000..f08afe3b77b --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latexpronounce.html @@ -0,0 +1,15 @@ +<head> +<title>UK TeX FAQ -- question label latexpronounce</title> +</head><body> +<h3>How should I pronounce "LaTeX(2e)"?</h3> + +<p>Lamport never recommended how one should pronounce LaTeX, but a lot +of people pronounce it 'Lay TeX' or perhaps 'Lah TeX' (with +TeX pronounced as the program itself; see +<a href="FAQ-TeXpronounce.html">the rules for TeX</a>). It is definitely +<em>not</em> to be pronounced in the same way as the rubber-tree gum. +<p>The 'epsilon' in 'LaTeX2e' is supposed to be suggestive of a small +improvement over the old LaTeX 2.09. Nevertheless, most people +pronounce the name as 'LaTeX-two-ee'. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexpronounce">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexpronounce</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latexwords.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latexwords.html new file mode 100644 index 00000000000..e59a62cb87d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-latexwords.html @@ -0,0 +1,46 @@ +<head> +<title>UK TeX FAQ -- question label latexwords</title> +</head><body> +<h3>Changing the words <i>babel</i> uses</h3> +<p>LaTeX uses symbolic names for many of the automatically-generated +text it produces (special-purpose section headings, captions, etc.). +As noted in <a href="FAQ-fixnam.html">"\LaTeX fixed names"</a> (which +includes a list of the names themselves), +this enables the user to change the +names used by the standard classes, which is particularly useful if +the document is being prepared in some language other than LaTeX's +default English. So, for example, a Danish author may wish that her +table of contents was called "Indholdsfortegnelse", and so +would expect to place a command +<pre> +\renewcommand{\contentsname}% + {Indholdsfortegnelse} +</pre> +in the preamble of her document. +<p>However, it's natural for a user of a non-English language to use +<i>babel</i>, because it offers many conveniences and typesetting +niceties for those preparing documents in those languages. In +particular, when <i>babel</i> is selecting a new language, it +ensures that LaTeX's symbolic names are translated appropriately +for the language in question. Unfortunately, <i>babel</i>'s choice +of names isn't always to everyone's choice, and there is still a need +for a mechanism to replace the 'standard' names. +<p>Whenever a new language is selected, <i>babel</i> resets all the +names to the settings for that language. In particular, +<i>babel</i> selects the document's main language when +<code>\</code><code>begin{document}</code> is executed, which immediately destroys +any changes to these symbolic names made in the prologue of a document +that uses <i>babel</i>. +<p>Therefore, babel defines a command to enable users to change the +definitions of the symbolic names, on a per-language basis: +<code>\</code><code>addto</code><code>\</code><code>captions</code><code><<i>language</i>></code> is the thing +(<code><<i>language</i>></code> being the language option you gave to +<i>babel</i> in the first place). For example: +<pre> +\addto\captionsdanish{% + \renewcommand{\contentsname}% + {Indholdsfortegnelse}% +} +</pre> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexwords">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexwords</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-letterclass.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-letterclass.html new file mode 100644 index 00000000000..9193eaf18e0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-letterclass.html @@ -0,0 +1,44 @@ +<head> +<title>UK TeX FAQ -- question label letterclass</title> +</head><body> +<h3>Letters and the like</h3> +<p>LaTeX itself provides a <i>letter</i> document class, which is +widely disliked; the present author long since gave up trying with +it. If you nevertheless want to try it, but are irritated by its way +of vertically-shifting a single-page letter, try the following hack: +<pre> +\makeatletter +\let\@texttop\relax +\makeatother +</pre> +in the preamble of your file. +<p>Doing-it-yourself is a common strategy; Knuth (for use with plain +TeX, in the TeXbook), and Kopka and Daly (in their Guide to +LaTeX) offer worked examples. +<p>Nevertheless, there <em>are</em> contributed alternatives - in fact +there are an awfully large number of them: the following list, of +necessity, makes but a small selection. +<p>The largest, most comprehensive, class is <i>newlfm</i>; the <code>lfm</code> +part of the name implies that the class can create letters, faxes and +memoranda. The documentation is voluminous, and the package seems +very flexible. +<p>Axel Kielhorn's <i>akletter</i> class is the only other one, +recommended for inclusion in this FAQ, whose documentation is +available in English. +<p>The <i>dinbrief</i> class, while recommended, is only documented in +German. +<p>There are letter classes in each of the excellent +<i>KOMA-script</i> (<i>scrlttr2</i>: documentation is available in +English) and <i>ntgclass</i> (<i>brief</i>: documentation in Dutch +only) bundles. While these are probably good (since the bundles +themselves inspire trust) they've not been specifically recommended by +any users. +<dl> +<dt><tt><i>akletter.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/akletter.zip">macros/latex/contrib/akletter</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/akletter.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/akletter/">browse</a>) +<dt><tt><i>brief.cls</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ntgclass.zip">macros/latex/contrib/ntgclass</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ntgclass.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ntgclass/">browse</a>) +<dt><tt><i>dinbrief.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/dinbrief.zip">macros/latex/contrib/dinbrief</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/dinbrief.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/dinbrief/">browse</a>) +<dt><tt><i>newlfm.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/newlfm.zip">macros/latex/contrib/newlfm</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/newlfm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/newlfm/">browse</a>) +<dt><tt><i>scrlttr2.cls</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=letterclass">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=letterclass</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-letterspace.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-letterspace.html new file mode 100644 index 00000000000..193d90f4fee --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-letterspace.html @@ -0,0 +1,36 @@ +<head> +<title>UK TeX FAQ -- question label letterspace</title> +</head><body> +<h3>Changing the space between letters</h3> +<p>A common technique in advertising copy (and other text whose actual +content need not actually be <em>read</em>) is to alter the space +between the letters (otherwise known as the tracking). As a general +rule, this is a very bad idea: it detracts from legibility, which is +contrary to the principles of typesetting (any respectable font you +might be using should already have optimum tracking built into it). +<p>The great type designer, Eric Gill, is credited with saying "he who +would letterspace lower-case text, would steal sheep". (The +attribution is probably apocryphal: others are also credited with the +remark. Stealing sheep was, in the 19th century, a capital offence in +Britain.) As the remark suggests, though, letterspacing of upper-case +text is less awful a crime; the technique used also to be used for +emphasis of text set in Fraktur (or similar) fonts. +<p>Straightforward macros (usable, in principle, with any TeX macro +package) may be found in <i>letterspacing</i> (which is the name of +the <code>.tex</code> file; it also appears as the <i>letterspace</i> package +in some distributions). +<p> + +<p>A more comprehensive solution is to be found in the <i>soul</i> +package (which is optimised for use with LaTeX, but also works with +Plain TeX). Soul also permits hyphenation of letterspaced text; +Gill's view of such an activity is not (even apocryphally) recorded. +(Spacing-out forms part of the name of <i>soul</i>; the other half +is described in <a href="FAQ-underline.html">another question</a>.) +<dl> +<dt><tt><i>letterspacing.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/generic/letterspacing.tex">macros/generic/letterspacing.tex</a> +<dt><tt><i>soul.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/soul.zip">macros/latex/contrib/soul</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/soul.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/soul/">browse</a>) + +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=letterspace">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=letterspace</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-limits.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-limits.html new file mode 100644 index 00000000000..49ebcf4c7c0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-limits.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label limits</title> +</head><body> +<h3>Sub- and superscript positioning for operators</h3> +<p>The commonest hand-written style for expressions is to place the limit +expressions on operators such as <code>\</code><code>sum</code> and <code>\</code><code>int</code> physically +above and below the operator. In (La)TeX, we write these limit +expressions using sub- and superscripts applied to the operator, but +they don't always appear in the "handwritten" way in TeX's +output. +<p>The reason is, that when an expression appears in non-display maths, +in running text (and is therefore in TeX <code>\</code><code>textstyle</code>), placing +the limits thus could lead to ragged line spacing (and hence +difficult-to-read text). It is therefore common (in <code>\</code><code>textstyle</code>) +to place the limits as one would sub- and superscripts of variables. +<p>This is not universally satisfactory, so the primitive <code>\</code><code>limits</code> is +provided: +<pre> + $\sum\limits_{n=1}^{m} ...$ +</pre> +which will place the limits right above and below the symbol (and be +blowed to the typography...). +<p>Contrariwise, you may wish to change the arrangement of the limits +when in <code>\</code><code>displaystyle</code>. For this purpose, there's a corresponding +<code>\</code><code>nolimits</code>: +<pre> + \[\sum\nolimits_{n=1}^{m} ...\] +</pre> +which will place the limits as they would be in <code>\</code><code>textstyle</code>. +<p>(Note that the macro <code>\</code><code>int</code> normally has <code>\</code><code>nolimits</code> built in to +its definition. There is an example in the TeXbook to show how odd +<code>\</code><code>int</code><code>\</code><code>limits</code> looks when typeset.) +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=limits">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=limits</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-linenos.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-linenos.html new file mode 100644 index 00000000000..1471cdd3c43 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-linenos.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label linenos</title> +</head><body> +<h3>Including line numbers in typeset output</h3> +<p>For general numbering of lines, there are two packages for use with +LaTeX, <i>lineno</i> (which permits labels attached to +individual lines of typeset output) and <i>numline</i>. +<p>Both of these packages play fast and loose with the LaTeX output +routine, which can cause problems: the user should beware... +<p>If the requirement is for numbering verbatim text, <i>moreverb</i>, +<i>memoir</i> or <i>fancyvrb</i> (see +<a href="FAQ-verbfile.html">including files verbatim</a>) may be used. +<p>One common use of line numbers is in critical editions of texts, and +for this the <i>edmac</i> package offers comprehensive support; +<i>ledmac</i> is a LaTeX port of <i>edmac</i>. +<p>The <i>vruler</i> package sidesteps many of the problems associated +with line-numbering, by offering (as its name suggests) a rule that +numbers positions on the page. The effect is good, applied to +even-looking text, but is poor in texts that involve breaks such as +interpolated mathematics or figures. Documentation of the package, in +the package itself, is pretty tough going, though there is an example +(also inside the package file). +<dl> +<dt><tt><i>edmac</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/plain/contrib/edmac.zip">macros/plain/contrib/edmac</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/plain/contrib/edmac.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/plain/contrib/edmac/">browse</a>) +<dt><tt><i>fancyvrb.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyvrb.zip">macros/latex/contrib/fancyvrb</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyvrb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fancyvrb/">browse</a>) +<dt><tt><i>ledmac.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ledmac.zip">macros/latex/contrib/ledmac</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ledmac.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ledmac/">browse</a>) +<dt><tt><i>lineno.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/lineno.zip">macros/latex/contrib/lineno</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/lineno.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/lineno/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>moreverb.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/moreverb.zip">macros/latex/contrib/moreverb</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/moreverb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/moreverb/">browse</a>) +<dt><tt><i>numline.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/numline/numline.sty">macros/latex/contrib/numline/numline.sty</a> +<dt><tt><i>vruler.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/vruler.sty">macros/latex/contrib/misc/vruler.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linenos">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linenos</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-linespace.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-linespace.html new file mode 100644 index 00000000000..7c8fcd08f22 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-linespace.html @@ -0,0 +1,41 @@ +<head> +<title>UK TeX FAQ -- question label linespace</title> +</head><body> +<h3>Double-spaced documents in LaTeX</h3> +<p>A quick and easy way of getting inter-line space for copy-editing is +to change <code>\</code><code>baselinestretch</code> - <code>\</code><code>linestretch{1.2}</code> (or, +equivalently <code>\</code><code>renewcommand{<code>\</code><code>baselinestretch</code>}{1.2}</code>) may +be adequate. Note that <code>\</code><code>baselinestretch</code> changes don't take +effect until you select a new font, so make the change in the preamble +before any font is selected. Don't try changing <code>\</code><code>baselineskip</code>: +its value is reset at any size-changing command so that results will +be inconsistent. +<p>For preference (and certainly for a production document, such as a +dissertation or an article submission), use a line-spacing package. +The only one currently supported is <i>setspace</i> (do <em>not</em> +be tempted by <i>doublespace</i> - its performance under current +LaTeX is at best problematical). <i>Setspace</i> switches off +double-spacing at places where even the most die-hard official would +doubt its utility (footnotes, figure captions, and so on); it's very +difficult to do this consistently if you're manipulating +<code>\</code><code>baselinestretch</code> yourself. +<p>Of course, the real solution (other than for private copy editing) is +<em>not</em> to use double-spacing at all. Universities, in particular, +have no excuse for specifying double-spacing in submitted +dissertations: LaTeX is a typesetting system, not a +typewriter-substitute, and can (properly used) make single-spaced text +even more easily readable than double-spaced typewritten text. If you +have any influence on your university's system (for example, through +your dissertation supervisor), it may be worth attempting to get the +rules changed (at least to permit a "well-designed book" format). +<p>Double-spaced submissions are also commonly required when submitting +papers to conferences or journals. Fortunately (judging by the +questions from users in this author's department), this demand is +becoming less common. +<p>Documentation of <i>setspace</i> appears as TeX comments in the +package file itself. +<dl> +<dt><tt><i>setspace.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/setspace/setspace.sty">macros/latex/contrib/setspace/setspace.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespace</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-linespread.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-linespread.html new file mode 100644 index 00000000000..cab6fe49698 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-linespread.html @@ -0,0 +1,39 @@ +<head> +<title>UK TeX FAQ -- question label linespread</title> +</head><body> +<h3>Why doesn't <code>\</code><code>linespread</code> work?</h3> +<p>The command <code>\</code><code>linespread{</code><em>factor</em><code>}</code> is supposed to multiply +the current <code>\</code><code>baselineskip</code> by <<i>factor</i>>; but, to all +appearances, it doesn't. +<p>In fact, the command is equivalent to +<code>\</code><code>renewcommand{<code>\</code><code>baselinestretch</code>}{factor}</code>: written that +way, it somehow feels less surprising that the effect isn't immediate. +The <code>\</code><code>baselinestretch</code> factor is only used when a font is selected; +a mere change of <code>\</code><code>baselinestretch</code> doesn't change the font, any +more than does the command +<code>\</code><code>fontsize{</code><em>size</em><code>}{</code><em>baselineskip</em><code>}</code> - you have to follow +either command with <code>\</code><code>selectfont</code>. So: +<blockquote> +<pre> +\fontsize{10}{12}% +\selectfont +</pre> +</blockquote> +or: +<blockquote> +<pre> +\linespread{1.2}% +\selectfont +</pre> +</blockquote> +Of course, a package such as <i>setspace</i>, whose job is to +manage the baseline, will deal with all this stuff - see +"<a href="FAQ-linespace.html">managing double-spaced documents</a>". If +you want to avoid <i>setspace</i>, beware the behaviour of +linespread changes within a paragraph: read +"<a href="FAQ-baselinepar.html"><code>\</code><code>baselineskip</code> is a paragraph parameter</a>". +<dl> +<dt><tt><i>setspace.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/setspace/setspace.sty">macros/latex/contrib/setspace/setspace.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespread">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=linespread</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-lit.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-lit.html new file mode 100644 index 00000000000..8a8e144ae52 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-lit.html @@ -0,0 +1,25 @@ +<head> +<title>UK TeX FAQ -- question label lit</title> +</head><body> +<h3>What is Literate Programming?</h3> +<p>Literate programming is the combination of documentation and source +together in a fashion suited for reading by human beings. +In general, literate programs combine source +and documentation in a single file. Literate programming tools then +parse the file to produce either readable documentation or compilable +source. The WEB style of literate programming was created by +D. E. Knuth during the development of TeX. +<p> + The <a href="FAQ-dtx.html">"documented LaTeX"</a> style of programming +is regarded by some as a form of literate programming, though it only +contains a subset of the constructs Knuth used. +<p>Discussion of literate programming is conducted in the newsgroup +<i>comp.programming.literate</i>, whose FAQ is stored on +CTAN. Another good source of information is +<a href="http://www.literateprogramming.com/">http://www.literateprogramming.com/</a> +<dl> +<dt><tt><i>Literate Programming FAQ</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/help/comp.programming.literate_FAQ">help/comp.programming.literate_FAQ</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=lit">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=lit</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-logos.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-logos.html new file mode 100644 index 00000000000..c0fd754edb1 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-logos.html @@ -0,0 +1,49 @@ +<head> +<title>UK TeX FAQ -- question label logos</title> +</head><body> +<h3>Typesetting all those TeX-related logos</h3> +<p>Knuth was making a particular point about the capabilities of TeX +when he defined the logo. Unfortunately, many believe, he thereby +opened floodgates to give the world a whole range of rather silly +'bumpy road' logos such as AMSTeX, PiCTeX, BibTeX, and so on, +produced in a flurry of different fonts, sizes, and baselines - indeed, +everything one might hope to cause them to obstruct the reading process. +In particular, Lamport invented LaTeX + + (silly enough in itself, with a raised small 'A' and a lowered 'E') +and marketing input from Addison-Wesley led to the even +stranger current logo + + LaTeX2e, which appends a lowered single-stroke Greek letter + epsilon. +<p>Sensible users don't have to follow this stuff wherever it goes, +but, for those who insist, a large collection of logos is defined in +the <i>texnames</i> package (but note that this set of macros isn't +entirely reliable in LaTeX2e). +The Metafont and MetaPost logos can be set in fonts that LaTeX2e +knows about (so that they scale with the surrounding text) using the +<i>mflogo</i> package; but be aware that booby-traps surround the +use of the Knuthian font for MetaPost (you might get + + + + + something like 'META O T'). +You needn't despair, however - the author himself uses just 'MetaPost'. +<p>For those who don't wish to acquire the 'proper' logos, the canonical +thing to do is to say <code>AMS-</code><code>\</code><code>TeX</code> + +for AMSTeX, <code>Pic</code><code>\</code><code>TeX</code> + +for PiCTeX, <code>Bib</code><code>\</code><code>TeX</code> + +for BibTeX, and so on. +<p>While the author of this FAQ list can't quite bring himself to do away +with the bumpy-road logos herein, he regularly advises everyone else +to... +<dl> +<dt><tt><i>mflogo.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mflogo.zip">macros/latex/contrib/mflogo</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mflogo.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mflogo/">browse</a>) +<dt><tt><i>texnames.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/biblio/texnames.sty">info/biblio/texnames.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=logos">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=logos</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-lollipop.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-lollipop.html new file mode 100644 index 00000000000..f7d16ef0e58 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-lollipop.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label lollipop</title> +</head><body> +<h3>What is Lollipop?</h3> +<p>Lollipop is a macro package written by Victor Eijkhout; it was used in +the production of his book "<em>TeX by Topic</em>" (see +<a href="FAQ-tutorials.html">(La)TeX Tutorials</a>). The manual says of +it: +<blockquote> + Lollipop is 'TeX made easy'. Lollipop is a macro package that + functions as a toolbox for writing TeX macros. It was my + intention to make macro writing so easy that implementing a fully + new layout in TeX would become a matter of less than an hour for + an average document, and that it would be a task that could be + accomplished by someone with only a very basic training in TeX + programming. +<p> Lollipop is an attempt to make structured text formatting available + for environments where previously only WYSIWYG packages could be + used because adapting the layout is so much more easy with them than + with traditional TeX macro packages. +</blockquote> +<p>The manual goes on to talk of ambitions to "capture some of the +LaTeX market share"; it's a very witty package, but little sign of + +it taking over from LaTeX is detectable... +An article about Lollipop appeared in <i>TUGboat</i> 13(3). +<dl> +<dt><tt><i>Lollipop distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/macros/lollipop.zip">nonfree/macros/lollipop</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/macros/lollipop.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/macros/lollipop/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=lollipop">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=lollipop</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-longtab.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-longtab.html new file mode 100644 index 00000000000..b602016ad82 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-longtab.html @@ -0,0 +1,67 @@ +<head> +<title>UK TeX FAQ -- question label longtab</title> +</head><body> +<h3>Tables longer than a single page</h3> +<p>Tables are, by default, set entirely in boxes of their own: as a +result, they won't split over a page boundary. Sadly, the world keeps +turning up tables longer than a single page that we need to typeset. +<p>For simple tables (whose shape is highly regular), the simplest +solution may well be to use the <code>tabbing</code> environment, +which is slightly tedious to set up, but which doesn't force the whole aligment +onto a single page. +<p>The <i>longtable</i> package builds the whole table (in chunks), in +a first pass, and then uses information it has written to the <code>.aux</code> +file during later passes to get the setting "right" (the package +ordinarily manages to set tables in just two passes). Since the +package has overview of the whole table at the time it's doing +"final" setting, the table is set "uniformly" over its entire +length, with columns matching on consecutive pages. +<i>longtable</i> has a reputation for failing to interwork with +other packages, but it does work with <i>colortbl</i>, and its +author has provided the <i>ltxtable</i> package to provide (most +of) the facilities of <i>tabularx</i> (see + +<a href="FAQ-fixwidtab.html">fixed-width tables</a>) for long tables: +beware of its rather curious usage constraints - each long table +should be in a file of its own, and included by +<code>\</code><code>LTXtable{</code><em>width</em><code>}{</code><em>file</em><code>}</code>. Since <i>longtable</i>'s +multiple-page tables can't possibly live inside floats, the package +provides for captions within the <code>longtable</code> environment +itself. +<p>A seeming alternative to <i>ltxtable</i> is <i>ltablex</i>; but +it is outdated and not fully functional. Its worst problem is its +strictly limited memory capacity (<i>longtable</i> is not so +limited, at the cost of much complication in its code); +<i>ltablex</i> can only deal with relatively small tables, it doesn't seem +likely that support is available; but its user interface is much +simpler than <i>ltxtable</i>, so if its restrictions aren't a +problem for you, it may be worth a try. +<p>The <i>supertabular</i> package starts and stops a +<code>tabular</code> environment for each page of the table. As a +result, each 'page worth' of the table is compiled independently, and +the widths of corresponding columns may differ on successive pages. +However, if the correspondence doesn't matter, or if your columns are +fixed-width, <i>supertabular</i> has the great advantage of doing +its job in a single run. +<p>Both <i>longtable</i> and <i>supertabular</i> allow definition +of head- and footlines for the table; <i>longtable</i> allows +distinction of the first and last head and foot. +<p>The <i>xtab</i> package fixes some infelicities of +<i>supertabular</i>, and also provides a "last head" facility +(though this, of course, destroys <i>supertabular</i>'s advantage +of operating in a single run). +<p>The <i>stabular</i> package provides a simple-to-use "extension to +<code>tabular</code>" that allows it to typeset tables that run over +the end of a page; it also has usability extensions, but doesn't have +the head- and footline capabilities of the major packages. +<p>Documentation of <i>ltablex</i> is to be found in the package file. +<dl> +<dt><tt><i>longtable.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>ltablex.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ltablex/ltablex.sty">macros/latex/contrib/ltablex/ltablex.sty</a> +<dt><tt><i>ltxtable.sty</i></tt><dd>Generate by running <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle/ltxtable.tex">macros/latex/contrib/carlisle/ltxtable.tex</a> +<dt><tt><i>stabular.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sttools.zip">macros/latex/contrib/sttools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sttools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/sttools/">browse</a>) +<dt><tt><i>supertabular.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/supertabular.zip">macros/latex/contrib/supertabular</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/supertabular.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/supertabular/">browse</a>) +<dt><tt><i>xtab.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/xtab.zip">macros/latex/contrib/xtab</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/xtab.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/xtab/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=longtab">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=longtab</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ltxabbrv.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ltxabbrv.html new file mode 100644 index 00000000000..6442131ea76 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ltxabbrv.html @@ -0,0 +1,59 @@ +<head> +<title>UK TeX FAQ -- question label ltxabbrv</title> +</head><body> +<h3>LaTeX internal "abbreviations", etc.</h3> +<p>In the deeps of time, when TeX first happened, computers had +extremely limited memory, and were (by today's standards) painfully +slow. When LaTeX came along, things weren't much better, and even +when LaTeX2e appeared, there was a strong imperative to save memory +space (and to a lesser extent) CPU time. +<p>From the very earliest days, Knuth used shortcut macros to speed +things up. LaTeX, over the years, has extended Knuth's list by a +substantial amount. An interesting feature of the "abbreviations" is +that on paper, they may look longer than the thing they stand for; +however, to (La)TeX they <em>feel</em> smaller\dots +<p>The table at the end of this answer lists the commonest of these +"abbreviations". It is not complete; as always, if the table +doesn't help, try the LaTeX source. The table lists each +abbreviation's <em>name</em> and its <em>value</em>, which provide most of +what a user needs to know. The table also lists the abbreviation's +<em>type</em>, which is a trickier concept: if you need to know, the +only real confusion is that the abbreviations labelled 'defn' are +defined using an <code>\</code><code><em>xxx</em>def</code> command. +<p><table rules="groups" border="0" cellpadding="3"><tbody><tr><td> +Name <td> Type <td> Value <tr><td> +</tbody><tbody><tr><td> +<code>\</code><code>m@ne</code> <td> count <td> -1 <tr><td> +<code>\</code><code>p@</code> <td> dimen <td> 1pt <tr><td> +<code>\</code><code>z@</code> <td> dimen <td> 0pt <tr><td> +<code>\</code><code>z@skip</code> <td> skip <td> 0pt plus 0pt minus 0pt <tr><td> +</tbody><tbody><tr><td> +<code>\</code><code>@ne</code> <td> defn <td> 1 <tr><td> +<code>\</code><code>tw@</code> <td> defn <td> 2<tr><td> +<code>\</code><code>thr@@</code> <td> defn <td> 3 <tr><td> +<code>\</code><code>sixt@@n</code> <td> defn <td> 16 <tr><td> +<code>\</code><code>@cclv</code> <td> defn <td> 255 <tr><td> +<code>\</code><code>@cclvi</code> <td> defn <td> 256 <tr><td> +<code>\</code><code>@m</code> <td> defn <td> 1000 <tr><td> +<code>\</code><code>@M</code> <td> defn <td> 10000 <tr><td> +<code>\</code><code>@MM</code> <td> defn <td> 20000 <tr><td> +</tbody><tbody><tr><td> +<code>\</code><code>@vpt</code> <td> macro <td> 5 <tr><td> +<code>\</code><code>@vipt</code> <td> macro <td> 6 <tr><td> +<code>\</code><code>@viipt</code> <td> macro <td> 7 <tr><td> +<code>\</code><code>@viiipt</code> <td> macro <td> 8 <tr><td> +<code>\</code><code>@ixpt</code> <td> macro <td> 9 <tr><td> +<code>\</code><code>@xpt</code> <td> macro <td> 10 <tr><td> +<code>\</code><code>@xipt</code> <td> macro <td> 10.95 <tr><td> +<code>\</code><code>@xiipt</code> <td> macro <td> 12 <tr><td> +<code>\</code><code>@xivpt</code> <td> macro <td> 14.4 <tr><td> +<code>\</code><code>@xviipt</code> <td> macro <td> 17.28 <tr><td> +<code>\</code><code>@xxpt</code> <td> macro <td> 20.74 <tr><td> +<code>\</code><code>@xxvpt</code> <td> macro <td> 24.88 <tr><td> +</tbody><tbody><tr><td> +<code>\</code><code>@plus</code> <td> macro <td> "<code>plus</code>" <tr><td> +<code>\</code><code>@minus</code> <td> macro <td> "<code>minus</code>" <tr><td> + +</tbody></table> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ltxabbrv">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ltxabbrv</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ltxcmds.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ltxcmds.html new file mode 100644 index 00000000000..9acacea5c8b --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ltxcmds.html @@ -0,0 +1,121 @@ +<head> +<title>UK TeX FAQ -- question label ltxcmds</title> +</head><body> +<h3>The definitions of LaTeX commands</h3> +<p>There are several reasons to want to know the definitions of LaTeX +commands: from the simplest "idle curiosity", to the pressing need +to patch something to make it "work the way you want it". None of +these are <em>pure</em> motives, but knowledge and expertise seldom +arrive through the purest of motives. +<p>The simple answer is to try <code>\</code><code>show</code>, in a run of LaTeX that is +taking commands from the terminal: +<blockquote> +<pre> +*\show\protected@edef +> \protected@edef=macro: +->\let \@@protect \protect + \let \protect \@unexpandable@protect + \afterassignment \restore@protect \edef . +</pre> +</blockquote> +(I've rearranged the output there, from the rather confused version +TeX itself produces.) We may perhaps, now, wonder about +<code>\</code><code>@unexpandable@protect</code>: +<blockquote> +<pre> +*\show\@unexpandable@protect +> \@unexpandable@protect=macro: +->\noexpand \protect \noexpand . +</pre> +</blockquote> +and we're starting to see how one part of the <code>\</code><code>protect</code>ion +mechanism works (one can probably fairly safely guess what +<code>\</code><code>restore@protect</code> does). +<p>Many kernel commands are declared robust: +<blockquote> +<pre> +*\show\texttt +> \texttt=macro: +->\protect \texttt . +</pre> +</blockquote> +so that <code>\</code><code>show</code> isn't much help. Define a command <code>\</code><code>pshow</code> as +shown below, and use that instead: +<blockquote> +<pre> +*\def\pshow#1{{\let\protect\show #1}} +*\pshow\texttt +> \texttt =\long macro: +#1->\ifmmode \nfss@text {\ttfamily #1}% + \else \hmode@bgroup \text@command {#1}% + \ttfamily \check@icl #1\check@icr + \expandafter \egroup \fi . +</pre> +</blockquote> +Note that the command name that is protected is the 'base' command, +with a space appended. This is cryptically visible, in a couple of +places above. (Again, the output has been sanitised.) +<p>If one has a malleable text editor, the same investigation may more +comfortably be conducted by examining the file <i>latex.ltx</i> (which +is usually to be found, in a TDS system, in directory +<i>tex/latex/base</i>). +<p>In fact, <i>latex.ltx</i> is the product of a <i>docstrip</i> +process on a large number of <a href="FAQ-dtx.html"><code>.dtx</code> files</a>, and +you can refer to those instead. The LaTeX distribution includes a file +<i>source2e.tex</i>, and most systems retain it, again in +<i>tex/latex/base</i>. <i>Source2e.tex</i> may be processed to +provide a complete source listing of the LaTeX kernel (in fact the +process isn't entirely straightforward, but the file produces messages +advising you what to do). The result is a huge document, with a +line-number index of control sequences the entire kernel and a +separate index of changes recorded in each of the files since the +LaTeX team took over. +<p>The printed kernel is a nice thing to have, but it's unwieldy and sits +on my shelves, seldom used. One problem is that the comments are +patchy: the different modules range from well and lucidly documented, +through modules documented only through an automatic process that +converted the documentation of the source of LaTeX 2.09, to modules +that hardly had any useful documentation even in the LaTeX 2.09 original. +<p>In fact, each kernel module <code>.dtx</code> file will process separately +through LaTeX, so you don't have to work with the whole of +<i>source2e</i>. You can easily determine which module defines the +macro you're interested in: use your "malleable text editor" to find +the definition in <i>latex.ltx</i>; then search backwards from that +point for a line that starts +<code>%%% From File:</code> - that line +tells you which <code>.dtx</code> file contains the definition you are interested +in. Doing this for <code>\</code><code>protected@edef</code>, we find: +<blockquote> +<pre> +%%% From File: ltdefns.dtx +</pre> +</blockquote> +When we come to look at it, <i>ltdefns.dtx</i> proves to contain +quite a dissertation on the methods of handling <code>\</code><code>protect</code>ion; it +also contains some automatically-converted LaTeX 2.09 documentation. +<p>And of course, the kernel isn't all of LaTeX: your command may be +defined in one of LaTeX's class or package files. For example, we +find a definition of <code>\</code><code>thebibliography</code> in <i>article</i>, but +there's no <i>article.dtx</i>. Some such files are generated from +parts of the kernel, some from other files in the distribution. You +find which by looking at the start of the file: in <i>article.cls</i>, +we find: +<blockquote> +<pre> +%% This is file `article.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% classes.dtx (with options: `article') +</pre> +</blockquote> +so we need to format <i>classes.dtx</i> to see the definition in +context. +<p>All these .dtx files are on CTAN as part of the main LaTeX +distribution. +<dl> +<dt><tt><i>LaTeX distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/base.zip">macros/latex/base</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/base.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/base/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ltxcmds">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ltxcmds</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-maillists.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-maillists.html new file mode 100644 index 00000000000..3893884767c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-maillists.html @@ -0,0 +1,69 @@ +<head> +<title>UK TeX FAQ -- question label maillists</title> +</head><body> +<h3>Where to get help</h3> +<p>First ... read any FAQ you can find. (Which is what you're +doing now, isn't it?) +<p>An ambitious FAQ-like project to collect all TeX-related +information into one place is under way at +<a href="http://algaba.sdf-eu.org/TeEncontreX/TeEncontreX.html">http://algaba.sdf-eu.org/TeEncontreX/TeEncontreX.html</a>; as with any +FAQ, this project needs the support and help of all users - +as yet, it carries an incomplete set of answers to potential +questions. The sources of the package (including a complete set of +<code>html</code> files) are available on CTAN +<p>The tutorials and other on-line documentation (see +<a href="FAQ-tutorials.html">(La)TeX Tutorials</a>) can get you started but +for more in-depth understanding you should get and read at least one of the +many good books on the subject +(see <a href="FAQ-books.html">TeX-related books</a>). The definitive source for +(La)TeX is the source code itself, but that is not something to be +approached lightly (if at all). +<p> If you are seeking a particular package or program, look on your own +system first: you might already have it - the better TeX +distributions contain a wide range of supporting material. +<p> If you have access to the internet, and in particular newsgroups, +then (La)TeX discussions, including Metafont and MetaPost, are on +<i>comp.text.tex</i>. +It is best to +spend a little time familiarising yourself with the current threads before +asking a question. The group is normally very responsive but asking a question +that has just been answered is likely to dampen people's enthusiasm to help +you. +<p><a href="http://groups.google.com/">http://groups.google.com/</a> archives Usenet news discussions, and +<i>comp.text.tex</i> may be found there. Google's archive now +goes impressively far back in time (before <i>comp.text.tex</i> +even existed), and it is a powerful resource for tracking down that +recommendation that no-one can now remember. Google also allows +you to post your own questions or followups. +<p>The few people who can't use the World Wide Web, can't access Usenet +news, but can use electronic mail can seek help through mailing lists. +<p>The TeXhax digest is nowadays operated as a +"<i>MailMan</i>" mailing list: its members now have the option +of receiving messages in 'real time', and answers are more quickly +forthcoming than ever they were in the past. Subscribe via +<a href="http://www.tug.org/mailman/listinfo/texhax">http://www.tug.org/mailman/listinfo/texhax</a>; archives back to +April 2000 are available via the same link, and earlier +digests are available on CTAN. +<p>Many mailing lists exist that cover some small part of the TeX +arena. A good source of pointers is <a href="http://www.tug.org/">http://www.tug.org/</a> +<p>Announcements of TeX-related installations on the CTAN +archives are sent to the mailing list <code>ctan-ann</code>. Subscribe +to the list via its <i>MailMan</i> web-site +<a href="https://sun.dante.de/mailman/listinfo/ctan-ann">https://sun.dante.de/mailman/listinfo/ctan-ann</a>; list archives +are available at the same address. The list archives may also be +browsed via <a href="http://www.mail-archive.com/ctan-ann@dante.de/">http://www.mail-archive.com/ctan-ann@dante.de/</a>, and +an RSS feed is also available: +<a href="http://www.mail-archive.com/ctan-ann@dante.de/maillist.xml">http://www.mail-archive.com/ctan-ann@dante.de/maillist.xml</a> +<p>Issues related to Metafont (and, increasingly, MetaPost) are discussed on +the <code>metafont</code> mailing list; subscribe by sending a message +'<code>subscribe metafont <<em>your name</em>></code>' to <a href="mailto:listserv@ens.fr"><i>listserv@ens.fr</i></a> +<p>A few other TeX-related lists may be accessed via +<a href="mailto:listserv@urz.uni-heidelberg.de"><i>listserv@urz.uni-heidelberg.de</i></a>. Send a message containing +the line '<code>help</code>' to this address, or browse +<a href="http://listserv.uni-heidelberg.de/cgi-bin/wa">http://listserv.uni-heidelberg.de/cgi-bin/wa</a> +<dl> +<dt><tt><i>TeEncontreX sources, etc.</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/spanish/TeEncontreX.zip">info/spanish/TeEncontreX</a> (<a href="ftp://cam.ctan.org/tex-archive/info/spanish/TeEncontreX.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/spanish/TeEncontreX/">browse</a>) +<dt><tt><i>TeXhax digests</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/digests/texhax/">digests/texhax/</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=maillists">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=maillists</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-make.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-make.html new file mode 100644 index 00000000000..1e68e3dcda9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-make.html @@ -0,0 +1,39 @@ +<head> +<title>UK TeX FAQ -- question label make</title> +</head><body> +<h3>Makefiles for LaTeX documents</h3> +<p>LaTeX is a tricky beast for running <i>make</i> on: the need to +instruct LaTeX to run several times for essentially different +reasons (for example, "get the table of contents stable", "get the +labels stable", "add the bibliography", "add the index") is +actually rather difficult to express in the 'ordinary' sort of +dependency graph that one constructs for <i>make</i>. +<p>For this reason, the only <i>make</i>-like package on CTAN +(for a long time) was <i>latexmk</i>, which is a <i>Perl</i> +script that analyses your LaTeX source for its dependencies, runs +BibTeX or <i>makeindex</i> as and when it notices that those +programs' input (parts of the <code>.aux</code> file, or the <code>.idx</code> file, +respectively) has changed, and so on. <i>Latexmk</i> is a fine +solution (and was used in generating printable versions of these +FAQs for a long time); it has recently been upgraded and has +many bells and whistles that allow it to operate as if it were a poor +man's WYSIWYG system. +<p>The +<a href="FAQ-texinfo.html"><i>texinfo</i> system</a> comes with a +utility called <i>texi2dvi</i>, which is capable of "converting" +either LaTeX or <i>texinfo</i> files into DVI (or into +PDF, using PDFTeX). +<p>A later contribution is the bundle <i>latexmake</i>, which +offers a set of <i>make</i> rules that invoke <i>texi2dvi</i> +as necessary. +<p>The curious may examine the rules employed to run the present +FAQ through LaTeX: we don't present them as a complete +solution, but some of the tricks employed are surely re-usable. +<dl> +<dt><tt><i>FAQ distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/help/uk-tex-faq.zip">help/uk-tex-faq</a> (<a href="ftp://cam.ctan.org/tex-archive/help/uk-tex-faq.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/help/uk-tex-faq/">browse</a>) +<dt><tt><i>latexmake</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/latexmake.zip">support/latexmake</a> (<a href="ftp://cam.ctan.org/tex-archive/support/latexmake.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/latexmake/">browse</a>) +<dt><tt><i>latexmk</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/latexmk.zip">support/latexmk</a> (<a href="ftp://cam.ctan.org/tex-archive/support/latexmk.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/latexmk/">browse</a>) +<dt><tt><i>texi2dvi</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/texinfo/texinfo.zip">macros/texinfo/texinfo</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/texinfo/texinfo.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/texinfo/texinfo/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=make">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=make</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-makebib.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-makebib.html new file mode 100644 index 00000000000..d4b1fd609dc --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-makebib.html @@ -0,0 +1,22 @@ +<head> +<title>UK TeX FAQ -- question label makebib</title> +</head><body> +<h3>Reconstructing <code>.bib</code> files</h3> +<p>Perhaps you've lost the <code>.bib</code> file you generated your document from, +or have been sent a document without one. Or even, you've realised +the error of building a substantial document without the benefit of +BibTeX... +<p>The <i>Perl</i> script, <i>tex2bib</i> makes a reasonable job +of regenerating <code>.bib</code> files from <code>thebibliography</code> +environments, provided that the original (whether automatically or +manually generated) doesn't deviate too far from the "standard" +styles. +<p>You are well-advised to check the output of the script. While it will +not usually destroy information, it can quite reasonably mislabel it. +<p>Documentation of the script is to be found in the file <i>tex2bib.readme</i> +<dl> +<dt><tt><i>tex2bib</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/tex2bib/tex2bib">biblio/bibtex/contrib/tex2bib/tex2bib</a> +<dt><tt><i>tex2bib.readme</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/biblio/bibtex/contrib/tex2bib/tex2bib.readme">biblio/bibtex/contrib/tex2bib/tex2bib.readme</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=makebib">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=makebib</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-makeindex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-makeindex.html new file mode 100644 index 00000000000..251a9cabbfa --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-makeindex.html @@ -0,0 +1,53 @@ +<head> +<title>UK TeX FAQ -- question label makeindex</title> +</head><body> +<h3>Generating an index in (La)TeX</h3> +<p>Making an index is not trivial; what to index, and how to index it, is +difficult to decide, and uniform implementation is difficult to +achieve. You will need to mark all items to be indexed in your text +(typically with <code>\</code><code>index</code> commands). +<p>It is not practical to sort a large index within TeX, so a +post-processing program is used to sort the output of one TeX run, +to be included into the document at the next run. +<p>The following programs are available: +<dl> +<dt>makeindex<dd> Comes with most distributions - a good workhorse, + but is not well-arranged to deal with other sort orders than the + canonical ASCII ordering. +<p> The <i>makeindex</i> documentation is a good source of + information on how to create your own index. <i>Makeindex</i> can + be used with some TeX + macro packages other than LaTeX, such as + <a href="FAQ-eplain.html">Eplain</a>, and TeX (whose macros can + be used independently with Plain TeX). +<dt>idxtex<dd> for LaTeX under VMS, which comes with a + glossary-maker called <i>glotex</i>. +<dt>texindex<dd> A witty little shell/<i>sed</i>-script-based + utility for LaTeX under Unix. +<p> The <a href="FAQ-texinfo.html">Texinfo</a> system also uses a program + <i>texindex</i>, whose source is to be found in the + <i>texinfo</i> distribution. The <i>ltxindex</i> package + provides macros to allow LaTeX users to use <em>this</em> + <i>texindex</i>. +<dt>xindy<dd> arose from frustration at the difficulty of making a + multi-language version of <i>makeindex</i>. It is designed to + be a successor to <i>makeindex</i>, by a team that included the + then-current maintainer of <i>makeindex</i>. It successfully + addresses many of <i>makeindex</i>'s shortcomings, including + difficulties with collation order in different languages, and it is + highly flexible. Sadly, its take-up is proving rather slow. +</dl> +<dl> +<dt><tt><i>idxtex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/indexing/glo+idxtex.zip">indexing/glo+idxtex</a> (<a href="ftp://cam.ctan.org/tex-archive/indexing/glo+idxtex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/indexing/glo+idxtex/">browse</a>) +<dt><tt><i>ltxindex.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ltxindex.zip">macros/latex/contrib/ltxindex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ltxindex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ltxindex/">browse</a>) +<dt><tt><i>makeindex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/indexing/makeindex.zip">indexing/makeindex</a> (<a href="ftp://cam.ctan.org/tex-archive/indexing/makeindex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/indexing/makeindex/">browse</a>) +<dt><tt><i>makeindex (Macintosh)</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/mac/macmakeindex2.12.sea.hqx">systems/mac/macmakeindex2.12.sea.hqx</a> +<dt><tt><i>texindex (the script)</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/texindex.zip">support/texindex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/texindex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/texindex/">browse</a>) +<dt><tt><i>texindex (the program)</i></tt><dd>Distributed + with <a href="ftp://cam.ctan.org/tex-archive/macros/texinfo/texinfo.zip">macros/texinfo/texinfo</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/texinfo/texinfo.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/texinfo/texinfo/">browse</a>) +<dt><tt><i>texsis (system)</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/texsis.zip">macros/texsis</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/texsis.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/texsis/">browse</a>) +<dt><tt><i>texsis (makeindex support)</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/texsis/index/index.tex">macros/texsis/index/index.tex</a> +<dt><tt><i>xindy</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/support/xindy/">support/xindy/</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=makeindex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=makeindex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-manyauthor.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-manyauthor.html new file mode 100644 index 00000000000..eb893f77ca1 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-manyauthor.html @@ -0,0 +1,56 @@ +<head> +<title>UK TeX FAQ -- question label manyauthor</title> +</head><body> +<h3>BibTeX doesn't understand lists of names</h3> +<p>BibTeX has a strict syntax for lists of authors' (or editors') +names in the BibTeX data file; if you write the list of names in a +"natural"-seeming way, the chances are you will confuse BibTeX, +and the output produced will be quite different from what you had +hoped. +<p>Names should be expressed in one of the forms +<blockquote> +<pre> +First Last +Last, First +Last, Suffix, First +</pre> +</blockquote> +and lists of names should be separated with "<code>and</code>". +For example: +<blockquote> +<pre> +AUTHOR = {Fred Q. Bloggs, John P. Doe & + Robin Fairbairns} +</pre> +</blockquote> +falls foul of two of the above rules: a syntactically significant +comma appears in an incorrect place, and '<code>\</code><code>&</code>' is being used as a +name separator. The output of the above might be something like: +<blockquote> +<pre> +John P. Doe & Robin Fairbairns Fred Q. Bloggs +</pre> + +</blockquote> +because "John P. Doe & Robin Fairbairns" has become the 'first name', +while "Fred Q. Bloggs" has become the 'last name' of a single +person. The example should have been written: +<blockquote> + +<pre> +AUTHOR = {Fred Q. Bloggs and John P. Doe and + Robin Fairbairns} +</pre> +</blockquote> +Some bibliography styles implement clever acrobatics with very long +author lists. You can force truncation by using the pseudo-name +"<code>others</code>", which will usually translate to something like +"<em>et al</em>" in the typeset output. So, if Mr. Bloggs wanted to +distract attention from his co-authors, he would write: +<blockquote> +<pre> +AUTHOR = {Fred Q. Bloggs and others} +</pre> +</blockquote> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=manyauthor">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=manyauthor</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-manymathalph.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-manymathalph.html new file mode 100644 index 00000000000..4c8721c8d5c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-manymathalph.html @@ -0,0 +1,41 @@ +<head> +<title>UK TeX FAQ -- question label manymathalph</title> +</head><body> +<h3>Too many math alphabets</h3> +<p>TeX mathematics is one of its most impressive features, yet the +internal structure of the mechanism that produces it is painfully +complicated and (in some senses) pathetically limited. One area of +limitation is that one is only allowed 16 "maths alphabets" +<p>LaTeX offers the user quite a lot of flexibility with allocating +maths alphabets, but few people use the flexibility directly. +Nevertheless, there are many packages that provide symbols, or that +manipulate them, which allocate themselves one or more maths alphabet. +<p>If you can't afford to drop any of these packages, there's +still hope if you're using the <i>bm</i> package to support +<a href="FAQ-boldgreek.html">bold maths</a>: <i>bm</i> is capable +of gobbling alphabets as if there is no tomorrow. The package defines +two limiter commands: <code>\</code><code>bmmax</code> (for <em>bold</em> symbols; default 4) +and <code>\</code><code>hmmax</code> (for <em>heavy</em> symbols, if you have them; +default 3), which control the number of alphabets to be used. +<p>Any reduction of the <code>\</code><code><em>xx</em>max</code> variables will slow +<i>bm</i> down - but that's surely better than the document not +running at all. So unless you're using maths fonts (such as +<i>Mathtime Plus</i>) that feature a heavy symbol weight, suppress all +use of heavy families by +<blockquote> +<pre> + \renewcommand{\hmmax}{0} +</pre> +</blockquote> +and then steadily reduce the bold families, starting with +<blockquote> +<pre> + \renewcommand{\bmmax}{3} +</pre> +</blockquote> +until (with a bit of luck) the error goes away. +<dl> +<dt><tt><i>bm.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=manymathalph">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=manymathalph</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-marginparside.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-marginparside.html new file mode 100644 index 00000000000..4ce7ed5082e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-marginparside.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label marginparside</title> +</head><body> +<h3>Getting <code>\</code><code>marginpar</code> on the right side</h3> +<p>In an ideal world, marginal notes would be in "analagous" places on +every page: notes on an even-side page would be in the left margin, +while those on an odd-side page would be in the right margin. A +moment's thought shows that a marginal note on the left needs to be +typeset differently from a marginal note on the right. The LaTeX +<code>\</code><code>marginpar</code> command therefore takes two arguments in a +<code>twoside</code> documents: +<code>\</code><code>marginpar[</code><em>left text</em><code>]{</code><em>right text</em><code>}</code>. LaTeX uses the +"obvious" test to +get the <code>\</code><code>marginpar</code>s in the correct margin, but a booby-trap arises +because TeX runs its page maker asynchronously. If a +<code>\</code><code>marginpar</code> is processed while page n is being built, but +doesn't get used until page n+1, then the <code>\</code><code>marginpar</code> will turn +up on the wrong side of the page. This is an instance of a general +problem: see + +"<a href="FAQ-oddpage.html">finding if you're on an odd or an even page</a>". +<p>The solution to the problem is for LaTeX to 'remember' which side +of the page each <code>\</code><code>marginpar</code> <em>should</em> be on. The +<i>mparhack</i> package does this, using label-like marks stored in +the <code>.aux</code> file; the <i>memoir</i> class does likewise. +<dl> +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>mparhack.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mparhack.zip">macros/latex/contrib/mparhack</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mparhack.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mparhack/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=marginparside">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=marginparside</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathlips.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathlips.html new file mode 100644 index 00000000000..685c1948c18 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathlips.html @@ -0,0 +1,45 @@ +<head> +<title>UK TeX FAQ -- question label mathlips</title> +</head><body> +<h3>Ellipses</h3> +<!-- <code>\</code><code>dots</code> <code>\</code><code>cdots</code> <code>\</code><code>vdots</code> <code>\</code><code>ddots</code> --> +<p>Ellipses are commonly required, and LaTeX natively supplies a fair +range (<code>\</code><code>dots</code>, <code>\</code><code>cdots</code>, <code>\</code><code>vdots</code> and <code>\</code><code>ddots</code>). By using +the <i>graphics</i> package, one can change the slope of the +<code>\</code><code>ddots</code> command, as in +<pre> + $ ... \reflectbox{$\ddots$} ... $ +</pre> +While this works, it is not a recommended way of achieving the desired +result (see below). Moreover, LaTeX's range is not adequate to +everyone's requirements, and at least three packages provide +extensions to the set. +<p>The AMSLaTeX bundle provides a range of "semantically-named" +ellipses, for use in different situations: <code>\</code><code>dotsb</code> for use between +pairs of binary operators, <code>\</code><code>dotsc</code> for use between pairs of commas, +and so on. +<p>The <i>yhmath</i> package defines an <code>\</code><code>adots</code> command, which is +the analogue of <code>\</code><code>ddots</code>, sloping forwards rather than backwards. +The <i>yhmath</i> package comes with a rather interesting font that +extends the standard <i>cmex</i>; details are in the documentation. +The disadvantage of this setup is, that although <code>\</code><code>adots</code> is merely +a macro, the package tries to load its own font and produces a +"missing font" substitution warning message if you haven't installed +the font. +<p>The <i>mathdots</i> package (besides fixing up the behaviour of +(La)TeX <code>\</code><code>ddots</code> and <code>\</code><code>vdots</code> when the font size changes) +provides an "inverse diagonal" ellipsis <code>\</code><code>iddots</code> (doing the same +job as <i>yhmath</i>'s <code>\</code><code>adots</code>, but better). +<p>Documentation of <i>yhmath</i> appears, processed, in the +distribution (thus saving you the bother of installing the package +before being able to read the documentation). Documentation of +<i>mathdots</i> appears at the end the package file itself. +<dl> +<dt><tt><i>amslatex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +<dt><tt><i>graphics.sty</i></tt><dd>Part of the <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.zip">macros/latex/required/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/graphics/">browse</a>) bundle +<dt><tt><i>mathdots.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/generic/mathdots.sty">macros/generic/mathdots.sty</a> +<dt><tt><i>yhmath (fonts)</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/yhmath.zip">fonts/yhmath</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/yhmath.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/yhmath/">browse</a>) +<dt><tt><i>yhmath (macros)</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/yhmath.zip">macros/latex/contrib/yhmath</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/yhmath.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/yhmath/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mathlips">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mathlips</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathml.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathml.html new file mode 100644 index 00000000000..4bbcb9c0731 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathml.html @@ -0,0 +1,104 @@ +<head> +<title>UK TeX FAQ -- question label mathml</title> +</head><body> +<h3>Future WEB technologies and (La)TeX</h3> +<p>An earlier answer +(<a href="FAQ-LaTeX2HTML.html">"converting to HTML"</a>) +addresses the issue of converting existing (La)TeX documents for +viewing on the Web as HTML. All the present techniques are +somewhat flawed: the answer explains why. +<p>However, things are changing, with +better font availability, cunning HTML programming and the +support for new Web standards. +<dl> +<dt>Font technologies<dd> Direct representation of mathematics in + browsers has been hampered up to now by the limited range of symbols + in the fonts one can rely on being available. Some existing + (La)TeX to HTML converters provide maths symbols by + hitching them to alternate font face specifications for standard + code points in a non-standard way. This does nothing for the + universality of the HTML so generated. +<p> In the near future, we can expect rather wide availability of + Unicode fonts with good coverage of symbols, which should make life + easier for those who need to represent mathematics. +<dt>XML<dd> The core of the range of new standards is + XML, which provides a framework for better structured markup; + limited support for it has already appeared in some browsers. +<p> Conversion of (La)TeX source to XML is already available + (through TeX4ht at least), and work continues in that arena. The + alternative, authoring in XML (thus producing documents that + are immediately Web-friendly, if not ready) and using (La)TeX to + typeset is also well advanced. One useful technique is + <a href="FAQ-SGML2TeX.html"><em>transforming</em> the XML to LaTeX</a>, + using an XSLT stylesheet or code for an XML library, + and then simply using LaTeX; alternatively, one may + <a href="FAQ-readML.html">typeset direct from the XML source</a>. +<dt>Direct represention of mathematics<dd> + MathML is a standard for representing maths on the Web; its + original version was distinctly limited, but version 2 of MathML + has had major browser support since 2002 with richness of mathematical + content for online purposes approaching that of TeX for print. + Browser support for MathML is provided by <i>amaya</i>, the + 'Open Source' browser <i>mozilla</i> (and its derivatives + including <i>NetScape</i>, <i>Firefox</i> and <i>Galeon</i>) and + <i>Internet Explorer</i> when equipped with a suitable plugin + such as <i>MathPlayer</i>. + There's evidence that (La)TeX users are starting to use such + browsers. Some believe that XHTML+MathML now provides + better online viewing than PDF. + Work to produce XHTML+MathML is well advanced in both the + TeX4ht and <i>TtH</i> projects for (La)TeX conversion. + + + +<p> An approach different from (La)TeX conversion is taken by + the <a href="http://www.albany.edu/~hammond/gellmu/"><em>GELLMU</em> Project</a>. + Its <em>article</em> XML document type, which has a markup vocabulary + close to LaTeX that can be edited using LaTeX-like markup + (even though it is not LaTeX - so far), comes with translators + that make both PDF (via <em>pdflatex</em>) and + XHTML+MathML. Such an approach avoids the inherent + limitations of the "traditional" (La)TeX translation processes, + which have traps that can be sprung by unfettered use of (La)TeX + markup. +<dt>Graphics<dd> + SVG is a standard for graphics representation on the web. + While the natural use is for converting existing figures, + representations of formulas are also possible, in place of the separate + bitmaps that have been used in the past (and while we wait for the + wider deployment of MathML). +<p> Browser plug-ins, that deal with SVG are already available + (Adobe offer one, for example). More recently, the open source + graphics editor <a href="http://www.inkscape.org/"><i>Inkscape</a></i> + has appeared, and has been reported to be useful for + SVG-related work in at least one TeX-related project. Be + aware that the developers of <i>Inkscape</i> have no illusions + about being able to replace commercial software, yet... +<dt>Direct use of TeX markup<dd> + Some time back, IBM developed a browser plug-in called + TechExplorer, which would display (La)TeX documents direct in a + browser. Over the years, it developed into a MathML browser + plug-in, while still retaining its (La)TeX abilities, but it's now + distributed (free for Linux and Windows platforms) by + <a href="http://www.integretechpub.com/">Integre Technical Publishing</a>. +<p> The disadvantage of the TechExplorer approach is that it places the + onus on the browser user; and however technically proficient + <em>you</em> are, it's never safe to assume too much of your readers. + An interesting alternative is + <a href="http://www.forkosh.com/mimetex.html">MimeTeX</a>, which sits + on your server as a CGI script, and you use it to include + your TeX, in your HTML, as if it were an image: +<blockquote> +<pre> +<img src="../cgi-bin/mimetex.cgi?f(x)=\int\limits_{-\infty}^xe^{-t^2}dt"> +</pre> + +</blockquote> +</dl> +<dl> +<dt><tt><i>GELLMU</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/gellmu.zip">support/gellmu</a> (<a href="ftp://cam.ctan.org/tex-archive/support/gellmu.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/gellmu/">browse</a>) +<dt><tt><i>MimeTeX</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/mimetex.zip">support/mimetex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/mimetex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/mimetex/">browse</a>) +<dt><tt><i>TeX4HT</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/TeX4ht/tex4ht-all.zip">support/TeX4ht/tex4ht-all.zip</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mathml">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mathml</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathsize.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathsize.html new file mode 100644 index 00000000000..5c4b2c83304 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathsize.html @@ -0,0 +1,58 @@ +<head> +<title>UK TeX FAQ -- question label mathsize</title> +</head><body> +<h3>Adjusting maths font sizes</h3> +<p>In Plain TeX, when you introduce a new font size you must also +declare what size fonts are to be used in mathematics with it. This +is done by declaring <code>\</code><code>textfont</code>, <code>\</code><code>scriptfont</code> and +<code>\</code><code>scriptscriptfont</code> for the maths families you're using; all such +things are described in chapter 17 of the +<a href="FAQ-books.html">TeXbook</a> and in other books and +<a href="FAQ-tutorials.html">tutorials</a> that discuss Plain TeX in sufficient +detail. +<p>In LaTeX, of course, all this stuff is automated: there is a scheme +that, for each (text) font size, determines what maths font sizes are +to be used. The scheme first checks a set of "known" text sizes, +for each of which maths sizes are declared in advance. If the text +size isn't "known", the script- and scriptscriptfont sizes are +calculated as fixed ratios of the tex font size. (The values used are +<code>\</code><code>defaultscriptratio</code>=0.7, and +<code>\</code><code>defaultscriptscriptratio</code>=0.5.) +<p>The fixed-ratio formula is capable of producing inconvenient results +(particularly if you are using fonts which LaTeX believes are only +available in a fixed set of sizes). You may also want to replace +LaTeX's ideas altogether, for example by setting maths noticeably +larger or smaller than its surrounding text. For this purpose, the +LaTeX command +<code>\</code><code>DeclareMathSizes{<<i>tfs</i>>}{<<i>ts</i>>}{<<i>ss</i>>}{<<i>sss</i>>}</code> +may be used (this is the same command that LaTeX itself uses to +define its own set of sizes). This establishes (or re-establishes) +the maths font sizes to be used when the surrounding text font size is +<code><<i>tfs</i>></code>; (<code><<i>ts</i>></code> being the size used for +<code>\</code><code>textfont</code>, <code><<i>ss</i>></code> for <code>\</code><code>scriptfont</code> and +<code><<i>sss</i>></code> for <code>\</code><code>scriptscriptfont</code>). +<p>For example, you might want to use a font with a smaller body height +than Computer Modern, but still prefer CM math to any of the +alternatives. In this case, you might use: +<blockquote> +<pre> +\DeclareMathSizes{10}{9}{7}{5} +</pre> +</blockquote> +to get 9pt maths when the surrounding body text is (nominal) 10pt. +<p><code>\</code><code>DeclareMathSizes</code> may only be used in the preamble of the +document: only one association is available for each text font size +for the whole document. The default settings are specified in +<i>fontdef.dtx</i> in the latex distribution, and are compiled into +<i>fontmath.ltx</i>; the arguments to the command are just numbers +('<code>pt</code>' is assumed), but some of them are written using +<a href="FAQ-ltxabbrv.html">LaTeX abbreviations</a> for standard font sizes. +Beware simply copying (parts of) the LaTeX definitions - since +they contain those internal abbreviations, they need to be treated as +<a href="FAQ-atsigns.html">internal commands</a>. +<dl> +<dt><tt><i>fontdef.dtx</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/base/fontdef.dtx">macros/latex/base/fontdef.dtx</a> +<dt><tt><i>fontmath.ltx</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/unpacked/fontmath.ltx">macros/latex/unpacked/fontmath.ltx</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mathsize">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mathsize</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathstext.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathstext.html new file mode 100644 index 00000000000..f6aaf76bb0d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mathstext.html @@ -0,0 +1,124 @@ +<head> +<title>UK TeX FAQ -- question label mathstext</title> +</head><body> +<h3>Text inside maths</h3> +<p>When we type maths in (La)TeX, the letters from which we make up +ordinary text assume a special significance: they all become +single-letter variable names. The letters appear in italics, but it's +not the same sort of italics that you see when you're typing ordinary +text: a run of maths letters (for example "here") looks oddly +"lumpy" when compared with the word written in italic text. The +difference is that the italic text is kerned to make the letters fit +well together, whereas the maths is set to look as if you're +multiplying <em>h</em> by <em>e</em> by <em>r</em> by <em>e</em>. The other +way things are odd in TeX maths typing is that spaces are ignored: +at best we can write single words in this oddly lumpy font. +<p>So, if we're going to have good-looking text in amongst maths we're +writing, we have to take special precautions. If you're using +LaTeX, the following should help. +<p>The simplest is to use <code>\</code><code>mbox</code> or <code>\</code><code>textrm</code>: +<blockquote> +<pre> +$e = mc^2 \mbox{here we go again}$ +</pre> +</blockquote> +The problem is that, with either, the size of the text remains firmly +at the surrounding text size, so that +<blockquote> +<pre> +$z = a_{\mbox{other end}}$ +</pre> +</blockquote> +looks quite painfully wrong. +<p>The other simple technique, <code>\</code><code>textrm</code>, is more promising: +<blockquote> +<pre> +$z = a_{\textrm{other end}}$ +</pre> +</blockquote> +is definitely right. However, the surrounding text may not be in your +roman font; if you care about matching text, you need to choose +between <code>\</code><code>textrm</code>, <code>\</code><code>textsf</code>, and so on. +<p>(The maths-mode instance of your roman font (<code>\</code><code>mathrm</code>) gets the +size right, but since it's intended for use in maths, its spaces get +ignored - use <code>\</code><code>mathrm</code> for upright roman alphabetic variable +names, but not otherwise.) +<p>You can correct these problems with size selectors in the text, as: +<blockquote> +<pre> +$z = a_{\mbox{\scriptsize other end}}$ +</pre> +</blockquote> +which works if your surrounding text is at default document size, but +gives you the wrong size otherwise. +<p>These short cuts are (just about) OK for the "occasional" +mathematician, but serious mathematics calls for a technique that +relieves the typist of the sort of thought required. As usual, the +AMSLaTeX system provides what's necessary - the <code>\</code><code>text</code> +command. The command is actually provided by the <i>amstext</i> +package, but the "global" <i>amsmath</i> package loads it, so +anyone using AMSLaTeX proper has the command available, so even +joke mathematicians can write: +<blockquote> +<pre> +\usepackage{amsmath} +... +$z = a_{\text{other end}}$ +</pre> +</blockquote> +and the text will be at the right size, and in the same font as +surrounding text. +<p>AMSLaTeX also makes provision for interpolated comments in the +middle of one of its multi-line display structures, through the +<code>\</code><code>intertext</code> command. For example: +<blockquote> + +<pre> +\begin{align} + A_1&=N_0(\lambda;\Omega')-\phi(\lambda;\Omega'),\\ + A_2&=\phi(\lambda;\Omega')-\phi(\lambda;\Omega),\\ + \intertext{and} A_3&=\mathcal{N}(\lambda;\omega). +\end{align} +</pre> +</blockquote> +places the text "and" on a separate line before the last line of the +display. If the interjected text is short, or the equations +themselves are light-weight, you may find that <code>\</code><code>intertext</code> leaves +too much space. Slightly more modest is the <code>\</code><code>shortintertext</code> +command from the <i>mathtools</i> package: +<blockquote> +<pre> +\begin{align} + a =& b + \shortintertext{or} + c =& b +\end{align} +</pre> +</blockquote> +To have the text on the same line as the second equation, one can use +the the <code>flalign</code> environment (from <i>amsmath</i>) +with lots of dummy equations (represented by the double <code>&</code> +signs): +<blockquote> +<pre> +\begin{flalign} + && a =& b && \\ + \text{or} && c =& b && +\end{flalign} +</pre> +</blockquote> +<p>Comprehensive documentation of AMSLaTeX is to be found in +<i>amsldoc</i>, in the distribution; it is also available on the web +at <a href="ftp://ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf">ftp://ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf</a> +<dl> +<dt><tt><i>amsldoc.tex</i></tt><dd>Distributed as part of AMSLaTeX + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +<dt><tt><i>amsmath.sty</i></tt><dd>Distributed as part of AMSLaTeX + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +<dt><tt><i>amstext.sty</i></tt><dd>Distributed as part of AMSLaTeX + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +<dt><tt><i>mathtools.sty</i></tt><dd>Distributed as part of the <i>mh</i> bundle + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mh.zip">macros/latex/contrib/mh</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mh.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mh/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mathstext">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mathstext</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mcfloat.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mcfloat.html new file mode 100644 index 00000000000..740ede66470 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mcfloat.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label mcfloat</title> +</head><body> +<h3>Floats in multicolumn setting</h3> +<p>If you use +<pre> +\begin{figure} + ... +\end{figure} +</pre> +in a <code>multicols</code> environment, the figure won't appear. If +instead you use +<pre> +\begin{figure*} + ... +\end{figure*} +</pre> +the figure will stretch right across the page (just the same as a +<code>figure*</code> in standard LaTeX's <code>twocolumn</code> option). +<p>It's possible to have single-column figures and tables with captions, +using the '<code>[H]</code>' placement option introduced by the <i>float</i> +package but you might have to fiddle with the placement because they +won't 'float', and exhibit other strange behaviours (such as silently +running off the end of the column at the end of the +<code>multicols</code> environment). +<dl> +<dt><tt><i>float.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.zip">macros/latex/contrib/float</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/float/">browse</a>) +<dt><tt><i>multicol.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mcfloat">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mcfloat</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mcite.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mcite.html new file mode 100644 index 00000000000..b32edcf83d1 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mcite.html @@ -0,0 +1,48 @@ +<head> +<title>UK TeX FAQ -- question label mcite</title> +</head><body> +<h3>Multiple citations</h3> +<p>A convention sometimes used in physics journals is to "collapse" a group of +related citations into a single entry in the bibliography. BibTeX, +by default, can't cope with this arrangement, but the <i>mcite</i> +package deals with the problem. +<p>The package overloads the <code>\</code><code>cite</code> command to recognise a +"<code>*</code>" at the start of a key, so that citations of the form +<blockquote> +<pre> +\cite{paper1,*paper2} +</pre> +</blockquote> +appear in the document as a single citation, and appear arranged +appropriately in the bibliography itself. You're not limited to +collapsing just two references. You can mix "collapsed" references +with "ordinary" ones, as in +<blockquote> +<pre> +\cite{paper0,paper1,*paper2,paper3} +</pre> +</blockquote> +Which will appear in the document as 3 citations "[4,7,11]" +(say) - citation '4' will refer to paper 0, '7' will refer to a +combined entry for paper 1 and paper 2, and '11' will refer to +paper 3. +<p>You need to make a small change to the bibliography style +(<code>.bst</code>) file you use; the <i>mcite</i> package +documentation tells you how to do that. +<p>Unfortunately, the <i>revtex</i> system doesn't play with +<i>mcite</i>. As a result, for that (primarily physics-targeted +system) you need to play silly games like: +<blockquote> +<pre> +\cite{paper0,paper1,paper3} +\nocite{paper2} +</pre> +</blockquote> +and then edit the <code>.bbl</code> file to merge the two citations, to +achieve the effects of <i>mcite</i>. +<dl> +<dt><tt><i>mcite.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mcite.zip">macros/latex/contrib/mcite</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mcite.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mcite/">browse</a>) +<dt><tt><i>revtex bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/revtex.zip">macros/latex/contrib/revtex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/revtex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/revtex/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mcite">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mcite</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-metrics.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-metrics.html new file mode 100644 index 00000000000..ce965f8bca5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-metrics.html @@ -0,0 +1,57 @@ +<head> +<title>UK TeX FAQ -- question label metrics</title> +</head><body> +<h3>TeX font metric files for PostScript fonts</h3> +<p>Reputable font vendors such as Adobe supply metric files for each +font, in AFM (Adobe Font Metric) form; these can be converted +to TFM (TeX Font Metric) form. Most modern distributions have +prebuilt metrics which will be more than enough for many people; but you may +need to do the conversion yourself if you have special needs or +acquire a new font. One important question is the <em>encoding</em> of +(Latin character) fonts; while we all more or less agree about the +position of about 96 characters in fonts (the basic ASCII set), the +rest of the (typically) 256 vary. The most obvious problems are with +floating accents and special characters such as the 'pounds sterling' +sign. There are three ways of dealing with this: either you change the +TeX macros which reference the characters (not much fun, and +error-prone); or you change the encoding of the font (easier than you +might think); or you use <a href="FAQ-virtualfonts.html">virtual fonts</a> to +<em>pretend</em> to TeX that the encoding is the same as it is used to. +LaTeX2e has facilities for dealing with fonts in different +encodings; read the <a href="FAQ-books.html"><em>LaTeX Companion</em></a> for +more details. In practice, if you do much non-English (but Latin +script) typesetting, you are strongly recommended to use the +<i>fontenc</i> package with option '<code>T1</code>' to select +<a href="FAQ-ECfonts.html">'Cork'</a> encoding. +A useful alternative is Y&Y's "private" LY1 encoding, +which is designed to sit well with "Adobe standard" encoded fonts. +Basic support of LY1 is available on CTAN: note that the +"relation with Adobe's encoding" means that there are no +virtual fonts in the LY1 world. +<p>Alan Jeffrey's <i>fontinst</i> package is an AFM to +TFM converter written in TeX; it is used to generate the +files used by LaTeX2e's PSNFSS package to support use of +PostScript fonts. It is a sophisticated package, not for the faint-hearted, +but is powerful enough to cope with most needs. Much of its power +relies on the use of <a href="FAQ-virtualfonts.html">virtual fonts</a>. +<p>For slightly simpler problems, Rokicki's <i>afm2tfm</i>, +distributed with <i>dvips</i>, is fast and +efficient; note that the metrics and styles that come with +<i>dvips</i> are <em>not</em> currently LaTeX2e compatible. +<p>For the Macintosh (classic), there is a program called +<i>EdMetrics</i> which does the job (and more). +<i>EdMetrics</i> comes with the (commercial) +<a href="FAQ-commercial.html">Textures</a> distribution, but is itself free +software, and is available on CTAN. + + + + +<dl> +<dt><tt><i>dvips</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/dvips.zip">dviware/dvips</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/dvips.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/dvips/">browse</a>) +<dt><tt><i>EdMetrics</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/mac/textures/utilities/EdMetrics.sea.hqx">systems/mac/textures/utilities/EdMetrics.sea.hqx</a> +<dt><tt><i>fontinst</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/fontinst.zip">fonts/utilities/fontinst</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/fontinst.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/utilities/fontinst/">browse</a>) +<dt><tt><i>LY1 support</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/psnfssx/ly1.zip">macros/latex/contrib/psnfssx/ly1</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/psnfssx/ly1.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/psnfssx/ly1/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=metrics">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=metrics</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mfptutorials.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mfptutorials.html new file mode 100644 index 00000000000..146415531c6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mfptutorials.html @@ -0,0 +1,44 @@ +<head> +<title>UK TeX FAQ -- question label mfptutorials</title> +</head><body> +<h3>Metafont and MetaPost Tutorials</h3> +<p>Apart from Knuth's book, there seems to be only one publicly-available +<a href="http://metafont.tutorial.free.fr/">tutorial for Metafont</a>, by +Christophe Grandsire (a copy in PDF form may be downloaded). +Geoffrey Tobin's <i>Metafont for Beginners</i> +(see <a href="FAQ-useMF.html">using Metafont</a>) describes how the Metafont +system works and how to avoid some of the potential pitfalls. +<p>There is also an article on how to run both Metafont and MetaPost (the +programs). Peter Wilson's +<i>Some Experiences in Running Metafont and MetaPost</i> +offers the benefit of Peter's experience (he has designed a number of +'historical' fonts using Metafont). For Metafont the article is geared +towards testing and installing new Metafont fonts, while its MetaPost +section describes how to use MetaPost illustrations in LaTeX and +PDFLaTeX documents, with an emphasis on how to use appropriate +fonts for any text or mathematics. +<p>Hans Hagen (of ConTeXt fame) offers a MetaPost tutorial called +MetaFun (which admittedly concentrates on the use of MetaPost within ConTeXt). It may be found on his company's +<a href="http://www.pragma-ade.com/metapost.htm">MetaPost page</a>. +<p>Other MetaPost tutorials that have appeared are one in English by +<a href="http://remote.science.uva.nl/~heck/Courses/mptut.pdf">André Heck</a>, +and one in French (listed here because it's clearly enough written +that this author understands it), by +<a href="http://pauillac.inria.fr/~cheno/metapost/metapost.pdf">Laurent Chéno</a>; +both have been recommended for inclusion in the FAQ +<p>Vincent Zoonekynd's massive set of example MetaPost files is available on +CTAN; the set includes a <i>Perl</i> script to convert the +set to html, and the set may be +<a href="http://zoonek.free.fr/LaTeX/Metapost/metapost.html">viewed on the web</a>. +While these examples don't exactly constitute a "tutorial", they're +most certainly valuable learning material. Urs Oswald presents a +<a href="http://www.ursoswald.ch/metapost/tutorial.pdf">similar document</a>, +written more as a document, and presented in PDF. +<dl> +<dt><tt><i>Beginners' guide</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/metafont-for-beginners.tex">info/metafont-for-beginners.tex</a> +<dt><tt><i>Peter Wilson's "experiences"</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/metafp.ps">info/metafp.ps</a> + (PostScript) or <a href="ftp://cam.ctan.org/tex-archive/info/metafp.pdf">info/metafp.pdf</a> (PDF format) +<dt><tt><i>Vincent Zoonekynd's examples</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/metapost/examples.zip">info/metapost/examples</a> (<a href="ftp://cam.ctan.org/tex-archive/info/metapost/examples.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/metapost/examples/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mfptutorials">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mfptutorials</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-miktexinst.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-miktexinst.html new file mode 100644 index 00000000000..2c922009992 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-miktexinst.html @@ -0,0 +1,32 @@ +<head> +<title>UK TeX FAQ -- question label miktexinst</title> +</head><body> +<h3>Installing MiKTeX "known packages"</h3> +<p>MiKTeX 2.1 (and later) maintains a database of packages it "knows about", +together with (coded) installation instructions that enable it to +install the packages with minimal user intervention. +<p>If MiKTeX does know about a package you need installed, it's worth +using the system. +<p>First, open the MiKTeX packages window: click on + <code>Start</code>-> + <code>Programs</code>-> + <code>MikTeX</code>-> + <code>MikTeX Options</code>, and select the + <code>Packages</code> tab. +<p>On the tab, there is an Explorer-style display of packages. +Right-click on the root of the tree, "<code>MikTeX Packages</code>", +and select "<code>Search</code>": enter the name of the package you're +interested in, and press the "<code>Search</code>" button. If +MiKTeX knows about your package, it will open up the tree to show +you a tick box for your package: check that box. +<p>If MiKTeX <em>doesn't</em> know about the package you're interested +in, you have to use the <a href="FAQ-instpackages.html">long-winded procedure</a> +outlined elsewhere in this FAQ. +<p>If necessary, repeat to select other packages, and then press +"<code>OK</code>"; MiKTeX tells you how many packages you have +selected - if you're happy, press "<code>OK</code>" again. +MiKTeX will go off, download the package (as a +<code>.cab</code> file), if necessary, install the files of the package, and then +refresh the filename database so that the files will be found. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=miktexinst">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=miktexinst</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-minitoc.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-minitoc.html new file mode 100644 index 00000000000..44a7c193aa7 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-minitoc.html @@ -0,0 +1,41 @@ +<head> +<title>UK TeX FAQ -- question label minitoc</title> +</head><body> +<h3>Table of contents, etc., per chapter</h3> +<p>The common style, of a "small" table of contents for each part, +chapter, or even section, is supported by the <i>minitoc</i> +package. The package also supports mini-lists of tables and figures; +but, as the documentation observes, mini-bibliographies are a +different problem - see +<a href="FAQ-chapbib.html">bibliographies per chapter</a>. +<p>The package's basic scheme is to generate a little <code>.aux</code> file for +each chapter, and to process that within the chapter. Simple usage +would be: +<blockquote> +<pre> +\usepackage{minitoc} +... +\begin{document} +... +\tableofcontents +\dominitoc \listoffigures \dominilof ... +\chapter{blah blah} +\minitoc \mtcskip \minilof ... +</pre> +</blockquote> +though a lot of elaborations are possible (for example, you don't need +a <code>\</code><code>minitoc</code> for every chapter). +<p><i>Babel</i> doesn't know about <i>minitoc</i>, but +<i>minitoc</i> makes provision for other document languages than +English - a wide variety is available. However, current versions of +the <i>hyperref</i> package will treat <code>\</code><code>minitoc</code> tables in the +same way as "real" tables of contents. +<p>The documentation is pretty extensive and readable: process the file +<i>minitoc.tex</i> in the distribution +<dl> +<dt><tt><i>babel.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/babel.zip">macros/latex/required/babel</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/babel.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/babel/">browse</a>) +<dt><tt><i>hyperref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +<dt><tt><i>minitoc.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/minitoc.zip">macros/latex/contrib/minitoc</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/minitoc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/minitoc/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minitoc">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minitoc</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-minxampl.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-minxampl.html new file mode 100644 index 00000000000..1f75e25484c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-minxampl.html @@ -0,0 +1,68 @@ +<head> +<title>UK TeX FAQ -- question label minxampl</title> +</head><body> +<h3>How to make a "minimum example"</h3> +<p><a href="FAQ-askquestion.html">Our advice on asking questions</a> +suggests that you prepare a "minimum example" of failing behaviour, +as a sample to post with your question. If you have a problem in a +two hundred page document, it may be unclear how to proceed from this +problem to a succinct demonstration of your problem. +<p>There are two valid approaches to this task: building up, and hacking +down. +<p>The "building up" process starts with a basic document structure +(for LaTeX, this would have <code>\</code><code>documentclass</code>, +<code>\</code><code>begin{document}</code>, <code>\</code><code>end{document}</code>) and adds +things. First to add is a paragraph or so around the actual point +where the problem occurrs. (It may prove difficult to find the actual +line that's provoking the +problem. If the original problem is an error, reviewing +<a href="FAQ-errstruct.html">the structure of TeX errors</a> may +help.) +<p>Note that there are things that can go wrong in one part of the +document as a result of something in another part: the commonest is +problems in the table of contents (from something in a section title, +or whatever), or the list of <<i>something</i>> (from something in a +<code>\</code><code>caption</code>). In such a case, include the section title or caption +(the caption probably needs the <code>figure</code> or +<code>table</code> environment around it, but it <em>doesn't</em> need +the figure or table itself). +<p>If this file you've built up collapses already, then you're done. +Otherwise, try adding packages; the optimum is a file with only one +package in it, but you may find that the guilty package only works at +all with another package loaded (or only fails in the context of +another package). +<p>The "hacking down" route starts with your entire document, and +removes bits until the file no longer fails (and then of course +restores the last thing removed). Don't forget to hack out any +unneccessary packages, but mostly, the difficulty is choosing what to +hack out of the body of the document; this is the mirror of the +problem above, in the "building up" route. +<p>If you've added a package (or more than one), run your minimum file +with <code>\</code><code>listfiles</code> enabled, so as to report which versions of packages +you're using. +<p>What if your document simply doesn't fail in any of these cut-down +scenarios? Whatever you do, don't post the whole of the document: if +you can, it may be useful to make a copy available on the web +somewhere: people will probably understand if it's impossible ... +or inadvisable, in the case of something confidential. +<p>If the whole document is necessary, it could be that it's an overflow +of some sort; the best you can do is to post the code "around" the +error, and (of course) the full text of the error. +<p>It may seem that all this work is rather excessive for preparing a +simple post. There are two responses to that, both based on the +relative inefficiency of asking a question on the internet. +<p>First, preparing a minimum document very often leads <em>you</em> to the +answer, without all the fuss of posting and looking for responses. +<p>Second, your prime aim is to get an answer as quickly as possible; a +well-prepared example stands a good chance of attracting an answer +"in a single pass": if the person replying to your post finds she +needs more information, you have to find that request, post again, and +wait for your benefactor to produce a second response. +<p>All things considered, a good example file can save you a day, for +perhaps half an hour's effort invested. +<p>The above advice, differently phrased, may also be read on the web at +<a href="http://www.latex-einfuehrung.de/mini-en.html">http://www.latex-einfuehrung.de/mini-en.html</a>; source of the +article may be found at <a href="http://www.latex-einfuehrung.de/">http://www.latex-einfuehrung.de/</a>, in +both German and English. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-missbegdoc.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-missbegdoc.html new file mode 100644 index 00000000000..0e4016a249f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-missbegdoc.html @@ -0,0 +1,27 @@ +<head> +<title>UK TeX FAQ -- question label missbegdoc</title> +</head><body> +<h3>Missing <code>\</code><code>begin</code><code>{document}</code></h3> +<p>Give it a file of plain text, or a LaTeX file that really does have no +<code>\</code><code>begin{document}</code> command in it, and LaTeX will produce +this error, quite correctly. LaTeX <em>needs</em> +<code>\</code><code>begin{document}</code> so as to know when to execute the commands +that finish off the document preamble. +<p>Other than that, the error can occur as a result of an error of yours, +of a corrupt <code>.aux</code> file, or of a buggy class or package. +<p>The errors you might commit are absent-mindedly typing a document +command (such as <code>\</code><code>section</code>) in the preamble of your document, +missing the comment marker from the beginning of a line, or giving too +many arguments to one of the setup commands related to the class or a +package that you have loaded. +<p>A corrupt <code>.aux</code> file might be due to any number of things; +delete the file and to run LaTeX again, twice. If the error +recurs, it's probably due to a buggy class or package. +<p>If the error occurs while LaTeX is reading a class or package, then +there's probably a bug in the file. The author of the class or +package stands the best chance of finding the bug, but with luck you +(or someone you ask on a mailing list or on <i>comp.text.tex</i>) +will be able to spot the problem and provide a work-around. Always +report such bugs, even if you have found a work-around. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=missbegdoc">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=missbegdoc</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-misschar.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-misschar.html new file mode 100644 index 00000000000..7db35f127c9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-misschar.html @@ -0,0 +1,43 @@ +<head> +<title>UK TeX FAQ -- question label misschar</title> +</head><body> +<h3>Where have my characters gone?</h3> +<p>You've typed some apparently reasonable text and processed it, but the +result contains no sign of some of the characters you typed. A likely +reason is that the font you selected just doesn't have a +representation for the character in question. +<p>For example, if I type "that will be £44.00" into an ordinary +(La)TeX document, or if I select the font <code>rsfs10</code> (which contains +uppercase letters only) and type pretty much anything, the £ +sign, or any lowercase letters or digits will not appear in the +output. There's no actual error message, either: you have to read the +log file, where you'll find cryptic little messages like +<blockquote> +<pre> +Missing character: There is no ^^a3 in font cmr10! +Missing character: There is no 3 in font rsfs10! +</pre> + +</blockquote> +(the former demonstrating my TeX's unwillingness to deal in characters +which have the eighth bit set, while the <code>rsfs10</code> example shows that +TeX will log the actual character in error, if it thinks it's +possible). +<p>Somewhat more understandable are the diagnostics you may get from +<i>dvips</i> when using the OT1 and T1 versions of +fonts that were supplied in Adobe standard encoding: +<blockquote> +<pre> +dvips: Warning: missing glyph `Delta' +</pre> +</blockquote> +The process that generates the metrics for using the fonts generates +an instruction to <i>dvips</i> to produce these diagnostics, so +that their non-appearance in the printed output is less surprising +than it might be. Quite a few glyphs provided in Knuth's text +encodings and in the Cork encoding are not available in the Adobe +fonts. In these cases, there <em>is</em> a typeset sign of the +character: <i>dvips</i> produces a black rectangle of whatever +size the concocted font file has specified. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=misschar">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=misschar</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-missssymb.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-missssymb.html new file mode 100644 index 00000000000..4f0ec4e6f8e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-missssymb.html @@ -0,0 +1,17 @@ +<head> +<title>UK TeX FAQ -- question label missssymb</title> +</head><body> +<h3>Missing symbol commands</h3> +<p>You're processing an old document, and some symbol commands such as +<code>\</code><code>Box</code> and <code>\</code><code>lhd</code> appear no longer to exist. These commands were +present in the core of LaTeX 2.09, but are not in current LaTeX. +They are available in the <i>latexsym</i> package (which is part of +the LaTeX distribution), and in the <i>amsfonts</i> package +(which is part of the AMS distribution, and requires AMS +symbol fonts). +<dl> +<dt><tt><i>amsfonts.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/latex.zip">fonts/amsfonts/latex</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/latex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/latex/">browse</a>) +<dt><tt><i>AMS symbol fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/sources/symbols.zip">fonts/amsfonts/sources/symbols</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/sources/symbols.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/sources/symbols/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=missssymb">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=missssymb</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-moren9.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-moren9.html new file mode 100644 index 00000000000..5c4b441e021 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-moren9.html @@ -0,0 +1,64 @@ +<head> +<title>UK TeX FAQ -- question label moren9</title> +</head><body> +<h3>How to break the 9-argument limit</h3> +<p>If you think about it, you will realise that Knuth's command +definition syntax: +<blockquote> +<pre> +\def\blah#1#2 ... #9{<macro body>} +</pre> +</blockquote> +is intrinsically limited to just 9 arguments. There's no direct way +round this: how would you express a 10th argument? - and ensure that +the syntax didn't gobble some other valid usage? +<p>If you really must have more than 9 arguments, the way to go is: +<blockquote> +<pre> +\def\blah#1#2 ... #9{% + \def\ArgI{{#1}}% + \def\ArgII{{#2}}% + ... + \def\ArgIX{{#9}}% + \BlahRelay +} +\def\BlahRelay#1#2#3{% + % arguments 1-9 are now in + % \ArgI-\ArgIX + % arguments 10-12 are in + % #1-#3 + <macro body>% +} +</pre> +</blockquote> +This technique is easily extendible by concert pianists of the TeX +keyboard, but is really hard to recommend. +<p>LaTeX users have the small convenience of merely giving a number of +arguments in the <code>\</code><code>newcommand</code> that defines each part of the +relaying mechanism: Knuth's restriction applies to <code>\</code><code>newcommand</code> +just as it does to <code>\</code><code>def</code>. However, LaTeX users also have the +way out of such barbarous command syntax: the <i>keyval</i> +package. With <i>keyval</i>, and a bit of programming, one can +write really quite sophisticated commands, whose invocation might look +like: +<blockquote> +<pre> +\flowerinstance{species=Primula veris, + family=Primulaceae, + location=Coldham's Common, + locationtype=Common grazing land, + date=1995/04/24, + numplants=50, + soiltype=alkaline +} +</pre> +</blockquote> +The merit of such verbosity is that it is self-explanatory: the typist +doesn't have to remember that argument twelve is <code>soiltype</code>, and so +on: the commands may be copied from field notes quickly and +accurately. +<dl> +<dt><tt><i>keyval.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.zip">macros/latex/required/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/graphics/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=moren9">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=moren9</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mpprologues.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mpprologues.html new file mode 100644 index 00000000000..23a5dd9ab39 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-mpprologues.html @@ -0,0 +1,83 @@ +<head> +<title>UK TeX FAQ -- question label mpprologues</title> +</head><body> +<h3>Making MetaPost output display in <i>ghostscript</i></h3> +<p>MetaPost ordinarily expects its output to be included in some context +where the 'standard' Metafont fonts (that you've specified) are already +defined - for example, as a figure in TeX document. If you're +debugging your MetaPost code, you may want to view it in +<i>ghostscript</i> (or some other PostScript previewer). However, +the PostScript 'engine' in <i>ghostscript</i> <em>doesn't</em> +ordinarily have the fonts loaded, and you'll eperience an error such +as +<blockquote> +<pre> +Error: /undefined in cmmi10 +</pre> +</blockquote> +There is provision in MetaPost for avoiding this problem: issue the +command <code>prologues := 2;</code> at the start of the <code>.mp</code> file. +<p>Unfortunately, the PostScript that MetaPost inserts in its output, +following this command, is incompatible with ordinary use of the +PostScript in inclusions into (La)TeX documents, so it's best to +make the <code>prologues</code> command optional. Furthermore, MetaPost takes a +very simple-minded approach to font encoding: since TeX font +encodings regularly confuse sophisticated minds, this can prove +troublesome. If you're suffering such problems (the symptom is that +characters disappear, or are wrongly presented) the only solution is +to view the 'original' metapost output after processing through +LaTeX and <i>dvips</i>. +<p>Conditional compilation may be done either +by inputting <i>MyFigure.mp</i> indirectly from a simple wrapper +<i>MyFigureDisplay.mp</i>: +<blockquote> +<pre> +prologues := 2; +input MyFigure +</pre> +</blockquote> +or by issuing a shell command such as +<blockquote> +<pre> +mp '\prologues:=2; input MyFigure' +</pre> +</blockquote> +(which will work without the quote marks if you're not using a Unix +shell). +<p>A suitable LaTeX route would involve processing +<i>MyFigure.tex</i>, which contains: +<blockquote> +<pre> +\documentclass{article} +\usepackage{graphicx} +\begin{document} +\thispagestyle{empty} +\includegraphics{MyFigure.1} +\end{document} +</pre> +</blockquote> +Processing the resulting DVI file with the <i>dvips</i> +command +<blockquote> +<pre> +dvips -E -o MyFigure.eps MyFigure +</pre> +</blockquote> +would then give a satisfactory Encapsulated PostScript file. This +procedure may be automated using the <i>Perl</i> script +<i>mps2eps</i>, thus saving a certain amount of tedium. +<p>The Plain TeX user may use an adaptation of a jiffy of Knuth's, by +Dan Luecking. Dan's version <i>mpsproof.tex</i> will work under +TeX to produce a DVI file for use with <i>dvips</i>, or +under PDFTeX to produce a PDF file, direct. The output is +set up to look like a proof sheet. +<p>A script application, <i>mptopdf</i>, is available in recent +(La)TeX distributions: it seems fairly reliably to produce +PDF from MetaPost, so may reasonably be considered an answer to +the question... +<dl> +<dt><tt><i>mps2eps</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/mps2eps.zip">support/mps2eps</a> (<a href="ftp://cam.ctan.org/tex-archive/support/mps2eps.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/mps2eps/">browse</a>) +<dt><tt><i>mpsproof.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/metapost/contrib/misc/mpsproof.tex">graphics/metapost/contrib/misc/mpsproof.tex</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mpprologues">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=mpprologues</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-msxy.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-msxy.html new file mode 100644 index 00000000000..1a22fb49372 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-msxy.html @@ -0,0 +1,29 @@ +<head> +<title>UK TeX FAQ -- question label msxy</title> +</head><body> +<h3>Where are the <code>msx</code> and <code>msy</code> fonts?</h3> +<p>The <i>msx</i> and <i>msy</i> fonts were designed by the +American Mathematical Society in the very early days of TeX, for +use in typesetting papers for mathematical journals. They were +designed using the 'old' Metafont, which wasn't portable and is no longer +available; for a long time they were only available in 300dpi versions +which only imperfectly matched modern printers. The AMS has +now redesigned the fonts, using the current version of Metafont, and the +new versions are called the <i>msa</i> and <i>msb</i> +families. +<p>Nevertheless, <i>msx</i> and <i>msy</i> continue to turn up to +plague us. There are, of course, still sites that haven't got around +to upgrading; but, even if everyone upgraded, there would still be the +problem of old documents that specify them. +<p>If you have a <code>.tex</code> source that requests <i>msx</i> and +<i>msy</i>, the best technique is to edit it so that it requests +<i>msa</i> and <i>msb</i> (you only need to change the single +letter in the font names). +<p>If you have a DVI file that requests the fonts, there is a package +of <a href="FAQ-virtualfonts.html">virtual fonts</a> to map the old to the new series. +<dl> +<dt><tt><i>msa and msb fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/sources/symbols.zip">fonts/amsfonts/sources/symbols</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/sources/symbols.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/sources/symbols/">browse</a>) +<dt><tt><i>virtual font set</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/vf-files/msx2msa.zip">fonts/vf-files/msx2msa</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/vf-files/msx2msa.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/vf-files/msx2msa/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=msxy">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=msxy</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multbib.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multbib.html new file mode 100644 index 00000000000..df0dcc6d6bd --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multbib.html @@ -0,0 +1,144 @@ +<head> +<title>UK TeX FAQ -- question label multbib</title> +</head><body> +<h3>Multiple bibliographies?</h3> +<p>If you're thinking of multiple bibliographies tied to some part of +your document (such as the chapters within the document), please see +<a href="FAQ-chapbib.html">bibliographies per chapter</a>. +<p>For more than one bibliography, there are three options. +<p>The <i>multibbl</i> package offers a very simple interface: you use +a command <code>\</code><code>newbibliography</code> to define a bibliography "tag". The package +redefines the other bibliography commands so that each time you use any one +of them, you give it the tag for the bibliography where you want the +citations to appear. The <code>\</code><code>bibliography</code> command itself also takes +a further extra argument that says what title to use for the resulting +section or chapter (i.e., it patches + +<a href="FAQ-fixnam.html"><code>\</code><code>refname</code> and <code>\</code><code>bibname</code></a> in a +<i>babel</i>-safe way). So one might write: + +<blockquote> +<pre> +\usepackage{multibbl} +\newbibliography{bk} +\bibliographystyle{bk}{alpha} +\newbibliography{art} +\bibliographystyle{art}{plain} +... +\cite[pp.~23--25]{bk}{milne:pooh-corner} +... +\cite{art}{einstein:1905} +... +\bibliography{bk}{book-bib}{References to books} +\bibliography{art}{art-bib}{References to articles} +</pre> +</blockquote> +(Note that the optional argument of <code>\</code><code>cite</code> appears <em>before</em> the +new tag argument, and that the <code>\</code><code>bibliography</code> commands may list +more than one <code>.bib</code> file - indeed all <code>\</code><code>bibliography</code> commands +may list the same set of files.) +<p>The <code>\</code><code>bibliography</code> data goes into files whose names are +<<i>tag-name</i>><em>.aux</em>, so you will need to run +<blockquote> +<pre> +bibtex bk +bibtex art +</pre> +</blockquote> +after the first run of LaTeX, to get the citations in the correct +place. +<p>The <i>multibib</i> package allows you to define a series of +"additional topics", each of which comes with its own series of +bibliography commands. So one might write: +<blockquote> +<pre> +\usepackage{multibib} +\newcites{bk,art}% + {References from books,% + References from articles} +\bibliographystylebk{alpha} +\bibliographystyleart{plain} +... +\citebk[pp.~23--25]{milne:pooh-corner} +... +\citeart{einstein:1905} +... +\bibliographybk{book-bib} +\bibliographyart{art-bib} +</pre> +</blockquote> +Again, as for <i>multibbl</i>, any <code>\</code><code>bibliography...</code> command may +scan any list of <code>.bib</code> files. +<p>BibTeX processing with <i>multibib</i> is much like that with +<i>multibbl</i>; with the above example, one needs: +<blockquote> +<pre> +bibtex bk +bibtex art +</pre> +</blockquote> +Note that, unlike <i>multibbl</i>, <i>multibib</i> allows a +simple, unmodified bibliography (as well as the "topic" ones). +<p>The <i>bibtopic</i> package allows you separately to cite several +different bibliographies. At the appropriate place in your document, +you put a sequence of <code>btSect</code> environments (each of which +specifies a bibliography database to scan) to typeset the separate +bibliographies. Thus, one might have a file <i>diss.tex</i> containing: +<blockquote> +<pre> +\usepackage{bibtopic} +\bibliographystyle{alpha} +... +\cite[pp.~23--25]{milne:pooh-corner} +... +\cite{einstein:1905} +... +\begin{btSect}{book-bib} +\section{References from books} +\btPrintCited +\end{btSect} +\begin{btSect}[plain]{art-bib} +\section{References from articles} +\btPrintCited +\end{btSect} +</pre> +</blockquote> +Note the different way of specifying a bibliographystyle: if you want +a different style for a particular bibliography, you may give it as an +optional argument to the <code>btSect</code> environment. +<p>Processing with BibTeX, in this case, uses <code>.aux</code> files whose names +are derived from the name of the base document. So in this example +you need to say: +<blockquote> +<pre> +bibtex diss1 +bibtex diss2 +</pre> +</blockquote> +<p>There is also a command <code>\</code><code>btPrintNotCited</code>, which gives the rest of +the content of the database (if nothing has been cited from the +database, this is equivalent to LaTeX standard <code>\</code><code>nocite{*}</code>). +<p>However, the <em>real</em> difference from <i>miltibbl</i> and +<i>mltibib</i> is that selection of what appears in each +bibliography section is determined in <i>bibtopic</i> by what's in +the <code>.bib</code> files. +<p>An entirely different approach is taken by the <i>splitbib</i> +package. You provide a <code>category</code> environment, in the +preamble of your document, for each category you want a separate +citation list for. In each environment, you list the <code>\</code><code>cite</code> keys +that you want listed in each category. The <code>\</code><code>bibliography</code> command +(or, more precisely, the <code>thebibliograph</code> environment it +uses) will sort the keys as requested. (Keys not mentioned in a +<code>category</code> appear in a "misc" category created in the +sorting process.) A code example appears in the package documentation +(a PDF file in the CTAN directory, + which you can browse to, from the link, below). + +<dl> +<dt><tt><i>bibtopic.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/bibtopic.zip">macros/latex/contrib/bibtopic</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/bibtopic.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/bibtopic/">browse</a>) +<dt><tt><i>multibbl.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/multibbl.zip">macros/latex/contrib/multibbl</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/multibbl.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/multibbl/">browse</a>) +<dt><tt><i>multibib.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/multibib.zip">macros/latex/contrib/multibib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/multibib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/multibib/">browse</a>) +<dt><tt><i>splitbib.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/splitbib.zip">macros/latex/contrib/splitbib</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/splitbib.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/splitbib/">browse</a>) +</dl> +<p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multbib">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multbib</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multfoot.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multfoot.html new file mode 100644 index 00000000000..bcbba3b7e3f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multfoot.html @@ -0,0 +1,24 @@ +<head> +<title>UK TeX FAQ -- question label multfoot</title> +</head><body> +<h3>More than one sequence of footnotes</h3> +<p>The need for more than one series of footnotes is common in critical +editions (and other literary criticism), but occasionally arises in +other areas. +<p>Of course, the canonical critical edition macros, <i>edmac</i>, +offer the facility, as does its LaTeX port, the <i>ledmac</i> +package. +<p>Multiple ranges of footnotes are offered to LaTeX users by the +<i>manyfoot</i> package. The package provides a fair array of +presentation options, as well. The (rather new) critical editions +<i>ednotes</i> package is built upon a basis that includes +<i>manyfoot</i>, as its mechanism for multiple sets of footnotes. +<dl> +<dt><tt><i>edmac</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/plain/contrib/edmac.zip">macros/plain/contrib/edmac</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/plain/contrib/edmac.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/plain/contrib/edmac/">browse</a>) +<dt><tt><i>ednotes</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ednotes.zip">macros/latex/contrib/ednotes</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ednotes.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ednotes/">browse</a>) +<dt><tt><i>ledmac</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ledmac.zip">macros/latex/contrib/ledmac</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ledmac.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ledmac/">browse</a>) +<dt><tt><i>manyfoot.sty</i></tt><dd>Distributed as part of the <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ncctools.zip">macros/latex/contrib/ncctools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ncctools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ncctools/">browse</a>) + bundle +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multfoot">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multfoot</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multidoc.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multidoc.html new file mode 100644 index 00000000000..5e6061e687e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multidoc.html @@ -0,0 +1,46 @@ +<head> +<title>UK TeX FAQ -- question label multidoc</title> +</head><body> +<h3>A 'report' from lots of 'article's</h3> +<p>This is a requirement, for example, if one is preparing the +proceedings of a conference whose papers were submitted in LaTeX. +<p>The nearest things to canned solutions are Peter Wilson's +<i>combine</i> and Federico Garcia's <i>subfiles</i> classes. +<p><i>Combine</i> defines the means to '<code>\</code><code>import</code>' entire documents, +and provides means of specifying significant features of the layout of +the document, as well as a global table of contents, and so on. An +auxiliary package, <i>combinet</i>, allows use of the <code>\</code><code>title</code>s +and <code>\</code><code>author</code>s (etc.) of the <code>\</code><code>import</code>ed documents to appear in +the global table of contents. +<p><i>Subfiles</i> is used in the component files of a multi-file +project, and the corresponding <i>subfiles</i> is used in the +master file; arrangements may be made so that the component files will +be typeset using different page format, etc., parameters than those +used when they are typeset as a part of the main file. +<p>A more 'raw' toolkit is offered by Matt Swift's <i>includex</i> and +<i>moredefs</i> packages, both part of the <i>frankenstein</i> +bundle) offer a possible way forward. +<p><i>Includex</i> enables you to '<code>\</code><code>includedoc</code>' complete articles +(in the way that you '<code>\</code><code>include</code>' chapter files in an ordinary +report). It doesn't do the whole job for you, though. You need to +analyse the package use of the individual papers, and ensure that a +consistent set is loaded in the preamble of the main report. +<p>A completely different approach is to use the <i>pdfpages</i> +package, and to include articles submitted in PDF format into a +a PDF document produced by PDFLaTeX. The package +defines an <code>\</code><code>includepdf</code> command, which takes arguments similar to +those of the <code>\</code><code>includegraphics</code> command. With keywords in the +optional argument of the command, you can specify which pages you want +to be included from the file named, and various details of the layout +of the included pages. +<dl> +<dt><tt><i>combine.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/combine.zip">macros/latex/contrib/combine</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/combine.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/combine/">browse</a>) +<dt><tt><i>combinet.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/combine.zip">macros/latex/contrib/combine</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/combine.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/combine/">browse</a>) +<dt><tt><i>includex.sty</i></tt><dd>Distributed in the "unsupported" part of + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/frankenstein.zip">macros/latex/contrib/frankenstein</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/frankenstein.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/frankenstein/">browse</a>) +<dt><tt><i>moredefs.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/frankenstein.zip">macros/latex/contrib/frankenstein</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/frankenstein.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/frankenstein/">browse</a>) +<dt><tt><i>pdfpages.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pdfpages.zip">macros/latex/contrib/pdfpages</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pdfpages.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/pdfpages/">browse</a>) +<dt><tt><i>subfiles.cls, etc.</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/subfiles.zip">macros/latex/contrib/subfiles</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/subfiles.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/subfiles/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multidoc">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multidoc</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multind.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multind.html new file mode 100644 index 00000000000..032560db89d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multind.html @@ -0,0 +1,126 @@ +<head> +<title>UK TeX FAQ -- question label multind</title> +</head><body> +<h3>Multiple indexes</h3> +<p>LaTeX's standard indexing capabilities (those provided by the +<i>makeidx</i> package) only provide for one index in your +document; even quite modest documents can be improved by indexes for +separate topics. +<p>The <i>multind</i> package provides simple and straightforward +multiple indexing. You tag each <code>\</code><code>makeindex</code>, <code>\</code><code>index</code> and +<code>\</code><code>printindex</code> command with a file name, and indexing commands are +written to (or read from) the name with the appropriate (<code>.idx</code> or +<code>.ind</code>) extension appended. The <code>\</code><code>printindex</code> command is modified +from the LaTeX standard so that it doesn't create its own chapter +or section heading; you therefore decide what names (or sectioning +level, even) to use for the indexes, and +<a href="FAQ-fixnam.html"><code>\</code><code>indexname</code></a> is completely ignored. +<p>To create a "general" and an "authors" index, one might write: +<blockquote> +<pre> +\usepackage{multind} +\makeindex{general} +\makeindex{authors} +... +\index{authors}{Robin Fairbairns} +... +\index{general}{FAQs} +... +\printindex{general}{General index} +\printindex{authors}{Author index} +</pre> +</blockquote> +To complete the job, run LaTeX on your file enough times that +labels, etc., are stable, and then execute the commands +<blockquote> +<pre> +makeindex general +makeindex authors +</pre> +</blockquote> +before running LaTeX again. Note that the names of the index files +to process are not necessarily related to the name of the LaTeX +file you're processing, at all. (There's no documentation that comes +with the package: what you see above is as good as you will +get...) +<p>The <i>index</i> package provides a comprehensive set of indexing +facilities, including a <code>\</code><code>newindex</code> command that allows the +definition of new styles of index. <code>\</code><code>newindex</code> takes a 'tag' (for +use in indexing commands), replacements for the <code>.idx</code> and +<code>.ind</code> file extensions, and a title for the index when it's +finally printed; it can also change the item that's being indexed +against (for example, one might have an index of artists referenced by +the figure number where their work is shown). +<p>Using <i>index</i>, to create an author index together with a +"normal" index, one would start with preamble commands: +<blockquote> +<pre> +\usepackage{index} +\makeindex +\newindex{aut}{adx}{and}{Name Index} +</pre> +</blockquote> +which load the package, define a "main" (original-style) index, and +then define an author index. Then, in the body of the document, we +might find commands like: +<blockquote> +<pre> +\index[aut]{Robin Fairbairns} +... +\index{FAQs} +</pre> +</blockquote> +Which place an entry in the author index, and then one in the main +index. At the end of the document, we have two commands: +<blockquote> +<pre> +\printindex +\printindex[aut] +</pre> +</blockquote> +Which will print the main index and then the author index. Supposing +this lot to be in <i>myfile.tex</i>, after enough runs through +LaTeX that labels are stable, execute the following commands +(Unix-style shell commands shown here, but the principle is the same +whatever system you're using): +<blockquote> +<pre> +makeindex myfile +makeindex myfile.adx -o myfile.and +</pre> +</blockquote> +and rerun LaTeX. The <i>makeindex</i> commands process +<i>myfile.idx</i> to <i>myfile.ind</i> (the default action), and then +<i>myfile.adx</i> to <i>myfile.and</i>, the two files needed as input +by the two <code>\</code><code>printindex</code> commands in <i>myfile.tex</i>. +<p>The <i>splitidx</i> package can operate in the same way as the +others: load the package with the <code>split</code> option, and +declare each index with a <code>\</code><code>newindex</code> command: +<blockquote> + <code>\</code><code>newindex[<<i>index name</i>>]{<<i>shortcut</i>>}</code> +</blockquote> +and <i>splitidx</i> will generate a file +<code>\</code><code>jobname</code><code>.<<i>shortcut</i>></code> to receive index entries +generated by commands like <code>\</code><code>sindex[<<i>shortcut</i>>]{<<i>item</i>>}</code>. +As with the other packages, this method is limited by TeX's total +number of output files. However, <i>splitindex</i> also comes with +a small executable <i>splitindex</i> (available for a variety of +operating systems); if you use this auxiliary program (and don't use +<code>split</code>), there's no limit to the number of indexes. Apart +from this trick, <i>splitidx</i> supports the same sorts of things +as does <i>index</i>. An example of use appears in +the documentation. +<p>The <i>memoir</i> class has its own multiple-index functionality (as +well as index layout options, which other packages delegate to the +index style used by <i>makeindex</i>. +<dl> +<dt><tt><i>index.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/index.zip">macros/latex/contrib/index</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/index.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/index/">browse</a>) +<dt><tt><i>makeidx.sty</i></tt><dd>Part of the LaTeX distribution +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>multind.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex209/contrib/misc/multind.sty">macros/latex209/contrib/misc/multind.sty</a> +<dt><tt><i>splitidx.sty and splitindex</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/splitindex.zip">macros/latex/contrib/splitindex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/splitindex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/splitindex/">browse</a>) +</dl> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multind</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multirow.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multirow.html new file mode 100644 index 00000000000..e6b53773444 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-multirow.html @@ -0,0 +1,81 @@ +<head> +<title>UK TeX FAQ -- question label multirow</title> +</head><body> +<h3>Merging cells in a column of a table</h3> +<p>It's easy to come up with a table design that requires a cell that +spans several rows. An example is something where the left-most +column labels the rest of the table; this can be done (in simple +cases) by using +<a href="FAQ-slashbox.html">diagonal separation in corner cells</a>, but that +technique rather strictly limits what can be used as the content of +the cell. +<p>The <i>multirow</i> package enables you to construct such multi-row +cells, in a very simple manner. For the simplest possible use, one +might write: +<blockquote> +<pre> +\begin{tabular}{|c|c|} +\hline +\multirow{4}*{Common g text} + & Column g2a\\ + & Column g2b \\ + & Column g2c \\ + & Column g2d \\ +\hline +\end{tabular} +</pre> +</blockquote> +and <i>multirow</i> will position "Common g text" at the vertical +centre of the space defined by the other rows. Note that the rows +that don't contain the "multi-row" specification must have empty +cells where the multi-row is going to appear. +<p>The "<code>*</code>" may be replaced by a column width specification. In this +case, the argument may contain forced line-breaks: +<blockquote> +<pre> +\begin{tabular}{|c|c|} +\hline +\multirow{4}{25mm}{Common\\g text} + & Column g2a\\ + & Column g2b \\ + & Column g2c \\ + & Column g2d \\ +\hline +\end{tabular} +</pre> +</blockquote> +A similar effect (with the possibility of a little more +sophistication) may be achieved by putting a smaller table that lines +up the text into a <code>*</code>-declared <code>\</code><code>multirow</code>. +<p>The <code>\</code><code>multirow</code> command may also used to write labels vertically +down one or other side of a table (with the help of the +<i>graphics</i> or <i>graphicx</i> package, which provide the +<code>\</code><code>rotatebox</code> command): +<blockquote> +<pre> +\begin{tabular}{|l|l|} +\hline +\multirow{4}*{\rotatebox{90}{hi there}} + & Column g2a\\ + & Column g2b \\ + & Column g2c \\ + & Column g2d \\ +\hline +\end{tabular} +</pre> +</blockquote> +(which gives text going upwards; use angle <code>-90</code> for text going +downwards, of course). +<p><i>Multirow</i> is set up to interact with the <i>bigstrut</i> +package (which is also discussed in the answer to +<a href="FAQ-struttab.html">spacing lines in tables</a>). You use an +optional argument to the <code>\</code><code>multirow</code> command to say how many of the +rows in the multi-row have been opened up with <code>\</code><code>bigstrut</code>. +<p>The documentation of both <i>multirow</i> and <i>bigstrut</i> is +to be found, as comments, in the package files themselves. +<dl> +<dt><tt><i>bigstrut.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/multirow.zip">macros/latex/contrib/multirow</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/multirow.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/multirow/">browse</a>) +<dt><tt><i>multirow.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/multirow.zip">macros/latex/contrib/multirow</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/multirow.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/multirow/">browse</a>) +</dl> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multirow">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multirow</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-music.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-music.html new file mode 100644 index 00000000000..7316ca8358e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-music.html @@ -0,0 +1,53 @@ +<head> +<title>UK TeX FAQ -- question label music</title> +</head><body> +<h3>Typesetting music in TeX</h3> +<p>In the early days, a simple music package called <i>mutex</i> was +written by Angelika Schofer and Andrea Steinbach, which demonstrated +that music typesetting was possible; the package was very limited, and +is no longer available. Daniel Taupin took up the baton, and +developed MusicTeX, which allows the typesetting of polyphonic and +other multiple-stave music; MusicTeX remains available, but is most +definitely no longer recommended. +<p>MusicTeX has been superseded by its successor MusiXTeX, which is +a three-pass system (with a processor program that computes values for +the element spacing in the music), and achieves finer control than is +possible in the unmodified TeX-based mechanism that MusicTeX +uses. Daniel Taupin's is the only version of MusiXTeX currently +being developed (the original author, Andreas Egler, had an +alternative version, but he is now working on a different package +altogether). +<p>Input to MusixTeX is extremely tricky stuff, and Don Simons' +preprocessor <i>pmx</i> is the preferred method of creating input +for Taupin's version. <i>Pmx</i> greatly eases use of +MusixTeX, but it doesn't support the full range of MusixTeX's +facilities directly; however, it does allow in-line MusixTeX code +in <i>pmx</i> sources. +<p>Dirk Laurie's <i>M-Tx</i> allows preparation of music with lyrics; +it operates "on top of" <i>pmx</i> +<p>Another simple notation is supported by <i>abc2mtex</i>; this is a +package designed to notate tunes stored in an ASCII format +(<code>abc</code> notation). It was designed primarily for folk and traditional +tunes of Western European origin (such as Irish, English and Scottish) +which can be written on one stave in standard classical notation, and +creates input intended for MusicTeX. However, it should be +extendable to many other types of music. +<p>Digital music fans can typeset notation for their efforts by using +<i>midi2tex</i>, which translates MIDI data files into MusicTeX +source code. +<p>There is a mailing list (<i>TeX-music@icking-music-archive.org</i>) +for discussion of typesetting music in TeX. To subscribe, use +<a href="http://icking-music-archive.org/mailman/listinfo/tex-music/">http://icking-music-archive.org/mailman/listinfo/tex-music/</a> +<dl> +<dt><tt><i>abc2mtex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/abc2mtex.zip">support/abc2mtex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/abc2mtex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/abc2mtex/">browse</a>) +<dt><tt><i>M-Tx</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/mtx.zip">support/mtx</a> (<a href="ftp://cam.ctan.org/tex-archive/support/mtx.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/mtx/">browse</a>) +<dt><tt><i>midi2tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/midi2tex.zip">support/midi2tex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/midi2tex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/midi2tex/">browse</a>) +<dt><tt><i>musictex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/musictex.zip">macros/musictex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/musictex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/musictex/">browse</a>) +<li>[musixtex (Taupin's + version)]<a href="ftp://cam.ctan.org/tex-archive/macros/musixtex/taupin.zip">macros/musixtex/taupin</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/musixtex/taupin.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/musixtex/taupin/">browse</a>) +<li>[musixtex (Egler's + version)]<a href="ftp://cam.ctan.org/tex-archive/macros/musixtex/egler.zip">macros/musixtex/egler</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/musixtex/egler.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/musixtex/egler/">browse</a>) +<dt><tt><i>pmx</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/pmx.zip">support/pmx</a> (<a href="ftp://cam.ctan.org/tex-archive/support/pmx.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/pmx/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=music">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=music</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nameref.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nameref.html new file mode 100644 index 00000000000..4631d975370 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nameref.html @@ -0,0 +1,49 @@ +<head> +<title>UK TeX FAQ -- question label nameref</title> +</head><body> +<h3>Referring to things by their name</h3> +<p>LaTeX's labelling mechanism is designed for the impersonal world of +the academic publication, in which everything has a number: an +extension is necessary if we are to record the <em>name</em> of things +we've labelled. The two packages available extend the LaTeX +sectioning commands to provide reference by the name of the section. +<p>The <i>titleref</i> package is a simple extension which provides +the command <code>\</code><code>titleref</code>; it is a stand-alone package - don't use it +in a document in which you also need to use <i>hyperref</i>. +<p>The <i>byname</i> package is part of the <i>smartref</i> bundle +and works well with <i>smartref</i>, and works (to an extent) with +<i>hyperref</i>, but the links it defines are not hyperlinks. +<p>The <i>memoir</i> class incorporates the functionality of +<i>titleref</i>, but doesn't work with <i>byname</i> (though a +search of <i>comp.text.tex</i> on <a href="groups.google.com">groups.google.com</a> will +find a patch to <i>byname</i> to remedy the problem). +<p>The <i>hyperref</i> bundle includes a package <i>nameref</i>, +which will work standing alone (i.e., without <i>hyperref</i>: of +course, in this mode its references are not hyperlinked). If you load +<i>hyperref</i> itself, <i>nameref</i> is automatically loaded. +<i>Memoir</i> requires the <i>memhfixc</i> when running with +<i>hyperref</i>; however, following the sequence +<blockquote> +<pre> +\documentclass[...]{memoir} +... +\usepackage[...]{hyperref} +\usepackage{memhfixc} +</pre> +</blockquote> +<i>nameref</i> commands may be used in a <i>memoir</i> document. +<p>Each of the name-reference packages defines a reference command +with the same name as the package: <code>\</code><code>titleref</code>, <code>\</code><code>byname</code> and +<code>\</code><code>nameref</code>. The <i>nameref</i> package also defines a command +<code>\</code><code>byshortnameref</code>, which uses the optional 'short' title argument +to the chapter and section commands. +<dl> +<dt><tt><i>byname.sty</i></tt><dd>Distributed with <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/smartref.zip">macros/latex/contrib/smartref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/smartref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/smartref/">browse</a>) +<dt><tt><i>hyperref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>nameref.sty</i></tt><dd>Distributed with <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +<dt><tt><i>smartref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/smartref.zip">macros/latex/contrib/smartref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/smartref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/smartref/">browse</a>) +<dt><tt><i>titleref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/titleref.sty">macros/latex/contrib/misc/titleref.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nameref">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nameref</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newans.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newans.html new file mode 100644 index 00000000000..b69d66f5edb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newans.html @@ -0,0 +1,30 @@ +<head> +<title>UK TeX FAQ -- question label newans</title> +</head><body> +<h3>Submitting new material for the FAQ</h3> +<p>The FAQ will never be complete, and we always expect that +there will be people out there who know better than we do about +something or other. We always need to be put right about whatever +we've got wrong, and suggestions for improvements, particularly +covering areas we've missed, are always needed: mail anything you have +to the <a href="mailto:faq@tex.ac.uk">maintainers</a>. +<p>If you have actual material to submit, your contribution is more than +ever welcome. Submission in plain text is entirely acceptable, but +if you're really willing, you may feel free to mark up your submission +in the form needed for the FAQ itself. The markup is a +strongly-constrained version of LaTeX - the constraints come from +the need to translate the marked-up text to HTML on the fly +(and hence pretty efficiently). There is a file <i>markup-syntax</i> +in the FAQ distribution that describes the structure of the +markup, but there's no real substitute for reading at least some of +the source (<i>faqbody.tex</i>) of the FAQ itself. If you +understand <i>Perl</i>, you may also care to look at the +translation code in <i>texfaq2file</i> and <i>sanitize.pl</i> in the +distribution: this isn't the code actually used on the Web site, but +it's a close relation and is kept +up to date for development purposes. +<dl> +<dt><tt><i>FAQ distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/help/uk-tex-faq.zip">help/uk-tex-faq</a> (<a href="ftp://cam.ctan.org/tex-archive/help/uk-tex-faq.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/help/uk-tex-faq/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=newans">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=newans</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newfunction.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newfunction.html new file mode 100644 index 00000000000..2651b36a52d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newfunction.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label newfunction</title> +</head><body> +<h3>Defining a new log-like function in LaTeX</h3> +<p>Use the <code>\</code><code>mathop</code> command, as in: +<pre> + \newcommand{\diag}{\mathop{\mathrm{diag}}} +</pre> +<p>Subscripts and superscripts on <code>\</code><code>diag</code> will be placed as they are on +<code>\</code><code>lim</code>. If you want your subscripts and superscripts always placed +to the right, do: +<blockquote> + +<pre> +\newcommand{\diag}{\mathop{\mathrm{diag}}\nolimits} +</pre> +</blockquote> +<p>AMSLaTeX (in its <i>amsopn</i> package) provides a command +<code>\</code><code>DeclareMathOperator</code> that takes does the same job as the first +definition above. To create our original <code>\</code><code>diag</code> command, one would +say: +<pre> + \DeclareMathOperator{\diag}{diag} +</pre> +<code>\</code><code>DeclareMathOperator*</code> declares the operator always to have its +sub- and superscripts in the +"<a href="FAQ-limits.html"><code>\</code><code>limits</code> position</a>". +<p>(It should be noted that "log-like" was reportedly a <em>joke</em> on +Lamport's part; it is of course clear what was meant.) +<dl> +<dt><tt><i>amsopn.sty</i></tt><dd>In the AMSLaTeX distribution <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=newfunction">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=newfunction</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newlang.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newlang.html new file mode 100644 index 00000000000..258d42fcd64 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newlang.html @@ -0,0 +1,108 @@ +<head> +<title>UK TeX FAQ -- question label newlang</title> +</head><body> +<h3>Using a new language with Babel</h3> +<p><i>Babel</i> is capable of working with a large range of +languages, and a new user often wants to use a language that her +TeX installation is not set up to employ. Simply asking Babel to +use the language, with the command +<pre> + \usepackage[catalan]{babel} +</pre> +provokes the warning message +<pre> +Package babel Warning: No hyphenation patterns were loaded for +(babel) the language `Catalan' +(babel) I will use the patterns loaded for \language=0 instead. +</pre> + +<p>The problem is that your TeX system doesn't know how to hyphenate +Catalan text: you need to tell it how before Babel can do its work +properly. To do this, for LaTeX installations, one needs to change +<i>language.dat</i> (which is part of the Babel installation); it will +contain a line +<pre> +%catalan cahyphen.tex +</pre> +which, if you remove the comment marker, is supposed to instruct +LaTeX to load Catalan hyphenation patterns when you tell it to build +a new format. +<p>Unfortunately, in many Babel distributions, the line just isn't +right - you need to check the name of the file containing the +patterns you're going to use. As you can see, in the author's system, +the name is supposed to be <i>cahyphen.tex</i>; however the file +actually present on the system is <i>cahyph.tex</i> - fortunately, +the error should prove little more than an inconvenience (most of the +files are in better distributions anyway, but an elusive one +may be found on CTAN; if you have to retrieve +a new file, ensure that it's correctly installed, for which see +<a href="FAQ-instpackages.html">installing a new package</a>). +<p>Finally, you need to regenerate the formats used (in fact, most users +of Babel are using it in their LaTeX documents, so regenerating the +LaTeX-related formats will ordinarily be enough; however, the +author always generates the lot, regardless). +<dl> +<dt>teTeX<dd>It's possible to do the whole operation in one go, by + using the <i>texconfig</i> command: +<pre> +texconfig hyphen latex +</pre> + which first enters an editor for you to edit <i>language.dat</i>, + and then regenerates the format you specify (<i>latex</i> in + this case). +<p> Otherwise, to regenerate all formats, do: <br> + <code>fmtutil --all</code> +<p> If you're willing to think through what you're doing (this is + <em>not</em> for the faint-hearted), you can select a sequence of + formats and for each one, run: <br> + <code>fmtutil --byfmt <<i>formatname</i>></code><br> + where <em><code>formatname</em></code> is something like '<code>latex</code>', + or: <br> + <code>fmtutil --byhyphen <<i>hyphenfile</i>></code><br> + where <em><code>hyphenfile</em></code> is the file specifying hyphenation + to the format - usually <code>language.dat</code> +<dt>fpTeX<dd> Click + <code>Start</code>-> + <code>Programs</code>-> + <code>MikTeX</code>-> + <code>Maintenance</code>-> + <code>Create all format files</code>, or run any of the teTeX options + in a windows command window. +<dt>MiKTeX<dd> On a <i>MikTeX</i> distribution earlier than v2.0, do: <br> + <code>Start</code>-> + <code>Programs</code>-> + <code>MikTeX</code>-> + <code>Maintenance</code>-> + <code>Create all format files</code> + +<p> or get a DOS window and run:<br> + <code>initexmf --dump</code> +<p> On a <i>MikTeX</i> distribtution v2.0 or later, the whole + procedure can be done via the GUI. To select the new + language, do:<br> + <code>Start</code>-> + <code>Programs</code>-> + <code>MikTeX 2</code>-> + <code>MikTeX Options</code>, and select the <code>Languages</code> tab. + Select your language from the list, press the <code>Apply</code> button, + and then the <code>OK</code> button. Then select the <code>General</code> + tab and press the <code>Update Now</code> button. +<p> Otherwise, edit the <i>language.dat</i> file (as outlined above), + and then run:<br> + <code>initexmf --dump</code><br> + just as for a pre-v2.0 system. +</dl> +<p><b><em>Caveat</em>:</b> It is (just) possible that +your TeX system may run out of "pattern memory" while generating +the new format. Most TeX implementations have fixed-size arrays +for storing the details of hyphenation patterns, but although their +size is adjustable in most modern distributions, actually changing the +size is a fiddle. If you <em>do</em> find you've run out of memory, +it may be worth scanning the list of languages in your +<i>language.dat</i> to see whether any could reasonably be removed. +<dl> +<dt><tt><i>babel</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/babel.zip">macros/latex/required/babel</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/babel.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/babel/">browse</a>) +<dt><tt><i>hyphenation patterns</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/language/hyphenation.zip">language/hyphenation</a> (<a href="ftp://cam.ctan.org/tex-archive/language/hyphenation.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/language/hyphenation/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=newlang">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=newlang</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newlineargs.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newlineargs.html new file mode 100644 index 00000000000..f30cab61497 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-newlineargs.html @@ -0,0 +1,58 @@ +<head> +<title>UK TeX FAQ -- question label newlineargs</title> +</head><body> +<h3>Start of line goes awry</h3> +<!-- asterisk square bracket start line --> +<p>This answer concerns two sorts of problems: errors of the form +<blockquote> +<pre> +! Missing number, treated as zero. +<to be read again> + g +<*> [grump] +</pre> +</blockquote> +and those where a single asterisk at the start of a line mysteriously +fails to appear in the output. +<p>Both problems arise because <code>\</code><code>\</code> takes optional arguments. The +command <code>\</code><code>\*</code> means "break the line here, and inhibit page break +following the line break"; the command <code>\</code><code>\[</code><<i>dimen</i>><code>]</code> +means "break the line here and add <<i>dimen</i>> extra vertical space +afterwards". +<p>So why does <code>\</code><code>\</code> get confused by these things at the start of a +line? It's looking for the first non-blank thing, and in the test it +uses ignores the end of the line in your input text. +<p>The solution is to enclose the stuff at the start of the new line in +braces: +<blockquote> +<pre> +{\ttfamily + /* C-language comment\\ + {[grump]} I don't like this format\\ + {*}/ +} +</pre> +</blockquote> +(The above text derives from an actual post to +<i>comp.text.tex</i>; this particular bit of typesetting could +plainly also be done using the <code>verbatim</code> environment.) +<p>The problem also appears in maths mode, in arrays and so on. In this +case, large-scale bracketing of things is <em>not</em> a good idea; the +TeX primitive <code>\</code><code>relax</code> (which does nothing except to block +searches of this nature) may be used. From another +<i>comp.text.tex</i> example: +<blockquote> +<pre> +\begin{eqnarry} + [a] &=& b \\ + \relax[a] &=& b +\end{eqnarry} +</pre> +</blockquote> +which is a usage this FAQ would not recommend, anyway: refer +to the <a href="FAQ-eqnarray.html">reason not to use <code>eqnarray</code></a>. +<p>Note that the <i>amsmath</i> package modifies the behaviour of +<code>\\</code> in maths. With <i>amsmath</i>, the <code>eqnarray</code> +example doesn't need any special measures. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=newlineargs">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=newlineargs</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-noans.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-noans.html new file mode 100644 index 00000000000..4191200b96d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-noans.html @@ -0,0 +1,19 @@ +<head> +<title>UK TeX FAQ -- question label noans</title> +</head><body> +<h3>You don't understand the answer</h3> +<p>While the FAQ maintainers don't offer a 'help' service, they're +very keen that you understand the answers they've already written. +They're (almost) written "in a vacuum", to provide something to +cover a set of questions that have arisen; it's always possible that +they're written in a way that a novice won't understand them. +<p>Which is where you can help the community. Mail the +<a href="mailto:faq@tex.ac.uk">maintainers</a> to report the answer +that you find unclear. Time permitting (the team is small and all its +members are busy), we'll try and clarify the answer. This way, with a +bit of luck, we can together improve the value of this resource to the +whole community. +<p>(We need hardly say that we look forward to hearing from none of you: +but we're not so arrogant as to be confident that we won't!) +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=noans">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=noans</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nocitestar.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nocitestar.html new file mode 100644 index 00000000000..59e5a8413be --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nocitestar.html @@ -0,0 +1,20 @@ +<head> +<title>UK TeX FAQ -- question label nocite*</title> +</head><body> +<h3>Listing all your BibTeX entries</h3> +<p>LaTeX and BibTeX co-operate to offer special treatment of this +requirement. The command <code>\</code><code>nocite{*}</code> is specially treated, +and causes BibTeX to generate bibliography entries for every entry +in each <code>.bib</code> file listed in your <code>\</code><code>bibliography</code> statement, so +that after a LaTeX-BibTeX-LaTeX sequence, you have a +document with the whole thing listed. +<p>Note that LaTeX <em>doesn't</em> produce + +"<code>Citation ... undefined</code>" or +"<code>There were undefined references</code>" warnings in respect of +<code>\</code><code>nocite{*}</code>. This isn't a problem if you're running +LaTeX "by hand" (you <em>know</em> exactly how many times you have +to run things), but the lack might confuse automatic processors that +scan the log file to determine whether another run is necessary. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nocite*">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nocite*</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nodollar.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nodollar.html new file mode 100644 index 00000000000..ab7876b5e36 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nodollar.html @@ -0,0 +1,29 @@ +<head> +<title>UK TeX FAQ -- question label nodollar</title> +</head><body> +<h3>"Missing <code>$</code> inserted"</h3> +<p>There are certain things that <em>only</em> work in maths mode. If your +document is not in maths mode and you have an <code>_</code> or a <code>^</code> character, +TeX (and by inheritance, LaTeX too) will say +<pre> +! Missing $ inserted +</pre> +as if you couldn't possibly have misunderstood the import of what you +were typing, and the only possible interpretation is that you had +commited a typo in failing to enter maths mode. TeX, therefore, +tries to patch things up by inserting the <code>$</code> you 'forgot', so that +the maths-only object will work; as often as not this will land you in +further confusion. +<p>It's not just the single-character maths sub- and superscript +operators: anything that's built in or declared as a maths operation, +from the simplest lower-case <code>\</code><code>alpha</code> through the inscrutable +<code>\</code><code>mathchoice</code> primitive, and beyond, will provoke the error if +misused in text mode. +<p>LaTeX offers a command <code>\</code><code>ensuremath</code>, which will put you in maths +mode for the execution of its argument, if necessary: so if you want +an <code>\</code><code>alpha</code> in your running text, say +<code>\</code><code>ensuremath{<code>\</code><code>alpha</code>}</code>; if the bit of running text somehow +transmutes into a bit of mathematics, the <code>\</code><code>ensuremath</code> will become +a no-op, so it's pretty much always safe. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nodollar">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nodollar</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nofm.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nofm.html new file mode 100644 index 00000000000..6f2b34e981c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nofm.html @@ -0,0 +1,20 @@ +<head> +<title>UK TeX FAQ -- question label nofm</title> +</head><body> +<h3>Page numbering "<<i>n</i>> of <<i>m</i>>"</h3> + +<p>Finding the page number of the last page of a document, from within +the document, is somewhat tricky. The <i>lastpage</i> package is +therefore supplied to make life easy for us all; it defines a label +<code>LastPage</code> whose number is <em>right</em> (after sufficiently many +passes through LaTeX, of course). The <i>memoir</i> class also +defines a "last page" label. +<p>The documentation of the <i>fancyhdr</i> package spells out exactly +how one might actually use this information to produce page numbering +as suggested in the question. +<dl> +<dt><tt><i>fancyhdr documentation</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyhdr.zip">macros/latex/contrib/fancyhdr</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyhdr.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fancyhdr/">browse</a>) +<dt><tt><i>lastpage.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/lastpage.zip">macros/latex/contrib/lastpage</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/lastpage.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/lastpage/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nofm">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nofm</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nohyph.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nohyph.html new file mode 100644 index 00000000000..1e2b7e22215 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nohyph.html @@ -0,0 +1,63 @@ +<head> +<title>UK TeX FAQ -- question label nohyph</title> +</head><body> +<h3>My words aren't being hyphenated</h3> +<p>Let's assume you've selected the right TeX 'language' - as +explained in <a href="FAQ-hyphen.html">"how hyphenation works"</a>, +you're not likely to get the correct results typesetting one language +using the hyphenation rules of another. (Select the proper language, +using <i>babel</i> if you're a LaTeX user. This may reveal that +you need another set of hyphenation patterns; see + +<a href="FAQ-newlang.html">"using a new language"</a> for advice on how +to install it.) +<p>So what else can go wrong? +<ul> +<li> Since TeX version 3.0, the limits on how near to either end + of a word hyphenation may take place have been programmable (see + <a href="FAQ-weirdhyphen.html">"weird hyphenation"</a>), and for some + reason the values in question may have been corrupted in some macros + you are using. TeX won't hyphenate less than <code>\</code><code>lefthyphenmin</code> + characters after the start of a word, nor less than + <code>\</code><code>righthyphenmin</code> before the end of a word; thus it won't + hyphenate a word shorter than the sum of the two minima, at all. + For example, since the minima are 2 and 3 for English, TeX won't + hyphenate a word shorter than 5 letters long, if it believes the + word to be English. +<li> TeX won't hyphenate a word that's already been hyphenated. + For example, the (caricature) English surname Smyth-Postlethwaite + wouldn't hyphenate, which could be troublesome. This is correct + English typesetting style (it may not be correct for other + languages), but if needs must, you can replace the hyphen in the + name with a <code>\</code><code>hyph</code> command, defined +<pre> + \def\hyph{\penalty0\hskip0pt\relax} +</pre> + This is <em>not</em> the sort of thing this FAQ would + ordinarily recommend... The <i>hyphenat</i> package defines a + bundle of such commands (for introducing hyphenation points at + various punctuation characters). +<li> There may be accents in the word. The causes of and remedies + for this effect are discussed in + + <a href="FAQ-hyphenaccents.html">accents and hyphens</a>. +<li> The hyphenation may simply not have been spotted; while TeX's + algorithm is good, it's not infallible, and it does miss perfectly + good hyphenations in some languages. When this happens, you need to + give TeX <em>explicit</em> instructions on how to hyphenate. +</ul> +The <code>\</code><code>hyphenation</code> command allows you to give explicit instructions. +Provided that the word will hyphenate at all (that is, it is not +prevented from hyphenating by any of the other restrictions above), +the command will override anything the hyphenation patterns might +dictate. The command takes one or more hyphenated words as +argument - <code>\</code><code>hyphenation{ana-lysis pot-able}</code>; note that +(as here, for analysis) you can use the command to overrule TeX's +choice of hyphenation (ana-lysis is the British etymological +hyphenation; some feel the American hyphenation feels +'unfortunate'...). +<dl> +<dt><tt><i>hyphenat.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyphenat.zip">macros/latex/contrib/hyphenat</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyphenat.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyphenat/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nohyph">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nohyph</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-noline.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-noline.html new file mode 100644 index 00000000000..99cb8653634 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-noline.html @@ -0,0 +1,83 @@ +<head> +<title>UK TeX FAQ -- question label noline</title> +</head><body> +<h3>No line here to end</h3> +<p>The error +<blockquote> +<pre> +! LaTeX Error: There's no line here to end. + +See the LaTeX manual or LaTeX Companion for explanation. +</pre> + +</blockquote> +comes in reaction to you giving LaTeX a <code>\</code><code>\</code> command at a time +when it's not expecting it. The commonest case is where you've +decided you want the label of a list item to be on a line of its own, +so you've written (for example): +<blockquote> +<pre> +\begin{description} +\item[Very long label] \\ + Text... +\end{description} +</pre> +</blockquote> +<code>\</code><code>\</code> is actually a rather bad command to use in this case (even if +it worked), since it would force the 'paragraph' that's made up of the +text of the item to terminate a line which has nothing on it but the +label. This would lead to an "<code>Underfull \hbox</code>" warning message +(usually with 'infinite' badness of 10000); while this message doesn't +do any actual harm other than slowing down your LaTeX run, any +message that doesn't convey any information distracts for no useful +purpose. +<p>The proper solution to the problem is to write a new sort of +<code>description</code> environment, that does just what you're after. (The + +<a href="FAQ-books.html"><em>LaTeX Companion</em></a> offers a +rather wide selection of variants of these things.) +<p>The quick-and-easy solution, which avoids the warning, is to write: +<blockquote> +<pre> +\begin{description} +\item[Very long label] \hspace*{\fill} \\ + Text... +\end{description} +</pre> +</blockquote> +which fills out the under-full line before forcing its closure. The +<i>expdlist</i> package provides the same functionality with its +<code>\</code><code>breaklabel</code> command, and <i>mdwlist</i> provides it via its +<code>\</code><code>desclabelstyle</code> command. +<p>The other common occasion for the message is when you're using the +<code>center</code> (or <code>flushleft</code> or <code>flushright</code>) +environment, and have decided you need extra separation between lines +in the environment: +<blockquote> +<pre> +\begin{center} + First (heading) line\\ + \\ + body of the centred text... +\end{center} +</pre> +</blockquote> +The solution here is plain: use the <code>\</code><code>\</code> command in the way it's +supposed to be used, to provide more than just a single line break +space. <code>\</code><code>\</code> takes an optional argument, which specifies how much +extra space to add; the required effect in the text above can be had +by saying: +<blockquote> +<pre> +\begin{center} + First (heading) line\\[\baselineskip] + body of the centred text... +\end{center} +</pre> +</blockquote> +<dl> +<dt><tt><i>expdlist.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/expdlist.zip">macros/latex/contrib/expdlist</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/expdlist.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/expdlist/">browse</a>) +<dt><tt><i>mdwlist.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.zip">macros/latex/contrib/mdwtools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mdwtools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=noline">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=noline</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nonfree.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nonfree.html new file mode 100644 index 00000000000..924831835d5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nonfree.html @@ -0,0 +1,25 @@ +<head> +<title>UK TeX FAQ -- question label nonfree</title> +</head><body> +<h3>What's the CTAN <code>nonfree</code> tree?</h3> +<p>The CTAN archives are currently restructuring their holdings +so that files that are 'not free' are held in a separate tree. The +definition of what is 'free' (for this purpose) is influenced by, but +not exactly the same as the + + +<a href="http://www.debian.org/social_contract#guidelines">Debian Free Software Guidelines (DFSG)</a>. +<p>Material is placed on the <code>nonfree</code> tree if it is not +freely-usable (e.g., if the material is shareware, commercial, or if +its usage is not permitted in certain domains at all, or without +payment). Users of the archive should check that they are entitled to +use material they have retrieved from the <code>nonfree</code> tree. +<p>The Catalogue (one of the prime sources for finding TeX-related +material via +<a href="FAQ-findfiles.html">web search</a>) lists the licence details in each +entry in its lists. +For details of the licence categories, see its + +<a href="http://www.tex.ac.uk/tex-archive/help/Catalogue/licenses.html">list of licences</a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nonfree">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nonfree</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nonpdfsp.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nonpdfsp.html new file mode 100644 index 00000000000..3883862df00 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nonpdfsp.html @@ -0,0 +1,37 @@ +<head> +<title>UK TeX FAQ -- question label nonpdfsp</title> +</head><body> +<h3>Non-PDF special ignored!</h3> +<p>This is a PDFTeX error: PDFTeX is running in PDF output + +mode, and it has encountered a +<a href="FAQ-specials.html"><code>\</code><code>special</code></a> command. PDFTeX is +able to generate its own output, and in this mode of operation has no +need of <code>\</code><code>special</code> commands (which allow the user to pass +information to the driver being used to generate output). +<p>Why does this happen? LaTeX users, nowadays, hardly ever use +<code>\</code><code>special</code> commands on their own - they employ packages to do the +job for them. Some packages will generate <code>\</code><code>special</code> commands +however they are invoked: <i>pstricks</i> is an example (it's very +raison d'être is to emit PostScript code in a sequence of <code>\</code><code>special</code> +commands). <i>Pstricks</i> may be dealt with by other means (the +<i>pdftricks</i> package offers a usable technique). +<p>More amenable to correction, but more confusing, are packages (such as +<i>color</i>, <i>graphics</i> and <i>hyperref</i>) that +specify a "driver". These packages have plug-in modules that +determine what <code>\</code><code>special</code> (or other commands) are needed to generate +any given effect: the <code>pdftex</code> driver for such packages knows not to +generate <code>\</code><code>special</code> commands. In most circumstances, you can let +the system itself choose which driver you need; in this case +everything will act properly when you switch to using PDFLaTeX. If +you've been using <i>dvips</i> (and specifying the <code>dvips</code> driver) +or <i>dvipdfm</i> (for which you have to specify the driver), and +decide to try PDFLaTeX, you <em>must</em> remove the <code>dvips</code> or +<code>dvipdfm</code> driver specification from the package options, and let the +system recognise which driver is needed. +<dl> +<dt><tt><i>pdftricks.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pdftricks.zip">macros/latex/contrib/pdftricks</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pdftricks.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/pdftricks/">browse</a>) +<dt><tt><i>pstricks.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/pstricks.zip">graphics/pstricks</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/pstricks.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/pstricks/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nonpdfsp">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nonpdfsp</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nonum.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nonum.html new file mode 100644 index 00000000000..a585be382f0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nonum.html @@ -0,0 +1,48 @@ +<head> +<title>UK TeX FAQ -- question label nonum</title> +</head><body> +<h3>"Missing number, treated as zero"</h3> +<p>In general, this means you've tried to assign something to a count, +dimension or skip register that isn't (in TeX's view of things) a +number. Usually the problem will become clear using the +<a href="FAQ-erroradvice.html">ordinary techniques of examining errors</a>. +<p>Two LaTeX-specific errors are commonly aired on the newsgroups. +<p>The commonest arises from attempting to use an example from the +<a href="FAQ-books.html"><em>The LaTeX Companion</em> (first edition)</a>, and is +exemplified by the following error text: +<pre> +! Missing number, treated as zero. +<to be read again> + \relax +l.21 \begin{Ventry}{Return values} +</pre> +The problem arises because, in its first edition, the +<em>Companion</em>'s examples always assumed that the <i>calc</i> +package is loaded: this fact is mentioned in the book, but often not +noticed. The remedy is to load the <i>calc</i> package in any +document using such examples from the <em>Companion</em>. (The problem +does not really arise with the second edition; copies of all the +examples are available on the accompanying CDROM, or on +CTAN.) +<p>The other problem, which is increasingly rare nowadays, arises from +misconfiguration of a system that has been upgraded from LaTeX 2.09: +the document uses the <i>times</i> package, and the error appears +at <code>\</code><code>begin{document}</code>. The file search paths are wrongly set +up, and your <code>\</code><code>usepackage{times}</code> has picked up a LaTeX 2.09 +version of the package, which in its turn has invoked another which +has no equivalent in LaTeX2e. The obvious solution is to rewrite +the paths so that LaTeX 2.09 packages are chosen only as a last resort +so that the startlingly simple LaTeX2e <i>times</i> package will +be picked up. Better still is to replace the whole thing with +something more modern still; current <i>psnfss</i> doesn't provide +a <i>times</i> package - the alternative <i>mathptmx</i> +incorporates <i>Times</i>-like mathematics, and a sans-serif face +based on <i>Helvetica</i>, but scaled to match <i>Times</i> +text rather better. +<dl> +<dt><tt><i>calc.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>Examples for LaTeX Companion</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/examples/tlc2.zip">info/examples/tlc2</a> (<a href="ftp://cam.ctan.org/tex-archive/info/examples/tlc2.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/examples/tlc2/">browse</a>) +<dt><tt><i>The psnfss bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/psnfss.zip">macros/latex/required/psnfss</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/psnfss.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/psnfss/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nonum">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nonum</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopagebrk.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopagebrk.html new file mode 100644 index 00000000000..c1555b648cd --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopagebrk.html @@ -0,0 +1,111 @@ +<head> +<title>UK TeX FAQ -- question label nopagebrk</title> +</head><body> +<h3>Preventing page breaks between lines</h3> +<p>One commonly requires that a block of typeset material be kept on the +same page; it turns out to be surprisingly tricky to arrange this. +<p>LaTeX provides a <code>samepage</code> environment which claims it +does this sort of thing for you. It proceeds by setting infinite +penalties for all sorts of page-break situations; but in many +situations where you want to prevent a page break, +<code>samepage</code> doesn't help. If you're trying to keep running +text together, you need to end the paragraph inside the environment +(see <a href="FAQ-paraparam.html">preserving paragraph parameters</a>). +Also, if the things you are trying to keep together insert their own +pagebreak hints, <code>samepage</code> has no power over them: a good +exaple is list items - they suggest page breaks between them. Even +if <code>samepage</code> <em>does</em> work, it's likely to leave stuff +jutting out at the bottom of the page. +<p>A convenient trick is to set all the relevant stuff in a <code>\</code><code>parbox</code> +(or a <code>minipage</code> if it contains things like verbatim text +that may not be in the argument of a <code>\</code><code>parbox</code>). The resulting box +certainly <em>won't</em> break between pages, but that's not to say that +it will actually do what you want it to do: again, the box may be left +jutting out at the bottom of the page. +<p>Why do neither of these obvious things work? Because TeX can't +really distinguish between infinitely awful things. +<code>Samepage</code> will make any possible break point "infinitely +bad" and boxes don't even offer the option of breaks, but if the +alternative is the leave an infinitely bad few centimetres of blank +paper at the bottom of the page, TeX will take the line of least +resistance and do nothing. +<p>This problem still arises even if you have <code>\</code><code>raggedbottom</code> in +effect: TeX doesn't notice the value of <em>that</em> until it starts +actually shipping a page out. One approach is to set: +<blockquote> +<pre> +\raggedbottom +\addtolength{\topskip}{0pt plus 10pt} +</pre> +</blockquote> +The <code>10pt</code> offers a hint to the output routine that the column is +stretchable; this will cause TeX to be more tolerant of the need to +stretch while building the page. If you're doing this as a temporary +measure, cancel the change to <code>\</code><code>topskip</code> by: +<blockquote> +<pre> +\addtolength{\topskip}{0pt plus-10pt} +</pre> +</blockquote> +as well as resetting <code>\</code><code>flushbottom</code>. (Note that the <code>10pt</code> never +actually shows up, because it is overwhelmed when the page is shipped +out by the stretchability introduced by <code>\</code><code>raggedbottom</code>; however, it +could well have an effect if <code>\</code><code>flushbottom</code> was in effect.) +<p>An alternative (which derives from a suggestion by Knuth in the +TeXbook) is the package <i>needspace</i> or the <i>memoir</i>, +which both define a command <code>\</code><code>needspace</code> whose argument tells it +what space is needed. If the space isn't available, the current page +is cleared, and the matter that needs to be kept together will be +inserted on the new page. For example, if 4 lines of text need to be +kept together, the sequence +<blockquote> +<pre> +\par +\needspace{4\baselineskip} +% the stuff that must stay together +<text generating lines 1-4> +% now stuff we don't mind about +</pre> +</blockquote> +Yet another trick by Knuth is useful if you have a sequence of small +blocks of text that need, individually, to be kept on their own page. +Insert the command <code>\</code><code>filbreak</code> before each small block, and the +effect is achieved. The technique can be used in the case of +sequences of LaTeX-style sections, by incorporating <code>\</code><code>filbreak</code> +into the definition of a command (as in +<a href="FAQ-patch.html">patching commands</a>). A simple and effective +patch would be: +<blockquote> +<pre> +\let\oldsubsubsection=\subsubsection +\renewcommand{\subsubsection}{% + \filbreak + \oldsubsubsection +} +</pre> +</blockquote> +While the trick works for consecutive sequences of blocks, it's +slightly tricky to get out of such sequences unless the sequence is +interrupted by a forced page break (such as <code>\</code><code>clearpage</code>, which may +be introduced by a <code>\</code><code>chapter</code> command, or the end of the document). +If the sequence is not interrupted, the last block is likely to be +forced onto a new page, regardless of whether it actually needs it. +<p>If one is willing to accept that not everything can be accomplished +totally automatically, the way to go is to typeset the document and to +check for things that have the potential to give trouble. In such a +scenario (which has Knuth's authority behind it, if one is to believe +the rather few words he says on the subject in the TeXbook) one can +decide, case by case, how to deal with problems at the last +proof-reading stage. The alternatives are to insert <code>\</code><code>clearpage</code> +commands as necessary, or to use <code>\</code><code>enlargethispage</code>. Supposing you +have a line or two that stray: issue the command +<code>\</code><code>enlargethispage{2<code>\</code><code>baselineskip</code>}</code> and two lines are +added to the page you're typesetting. It depends on the document +whether this looks impossibly awful or entirely acceptable, but the +command remains a useful item in the armoury. +<dl> +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>needspace.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/needspace.sty">macros/latex/contrib/misc/needspace.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nopagebrk">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nopagebrk</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopageno.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopageno.html new file mode 100644 index 00000000000..d8f4f81d5c9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-nopageno.html @@ -0,0 +1,50 @@ +<head> +<title>UK TeX FAQ -- question label nopageno</title> +</head><body> +<h3>How to get rid of page numbers</h3> +<p>The package <i>nopageno</i> will suppress page numbers in a whole +document. +<p>To suppress page numbers from a single page, use +<code>\</code><code>thispagestyle{empty}</code> somewhere within the text of the +page. (Note that <code>\</code><code>maketitle</code> and <code>\</code><code>chapter</code> both use +<code>\</code><code>thispagestyle</code> internally, so you need to call it after you've +called them.) +<p>To suppress page numbers from a sequence of pages, you may use +<code>\</code><code>pagestyle{empty}</code> at the start of the sequence, and restore +the original page style at the end. Unfortunately, you still have to +use <code>\</code><code>thispagestyle</code> after any <code>\</code><code>maketitle</code> or <code>\</code><code>chapter</code> +command. +<p>In the <i>memoir</i> class, the troublesome commands (<code>\</code><code>maketitle</code>, +<code>\</code><code>chapter</code>, etc.) invoke their own page style +(<code>title</code>, <code>chapter</code>, etc.), which you may +redefine using the class's own techniques to be equivalent to +"<code>empty</code>". The <i>KOMA-script</i> classes have +commands that contain the page style to be used, so one might say: +<blockquote> +<pre> +\renewcommand*{\titlepagestyle}{empty} +</pre> +</blockquote> +<p>An alternative (in all classes) is to use the rather delightful +<code>\</code><code>pagenumbering{gobble}</code>; this has the simple effect that any +attempt to print a page number produces nothing, so there's no issue +about preventing any part of LaTeX from printing the number. +However, the <code>\</code><code>pagenumbering</code> command does have the side effect that +it resets the page number (to 1), which may be undesirable. +<p>The <i>scrpage2</i> package separates out the representation from +the resetting; so one can say +<blockquote> +<pre> +\renewcommand*{\pagemark}{} +</pre> +</blockquote> +to have the same effect as the <code>gobble</code> trick, without +resetting the page number. +<dl> +<dt><tt><i>nopageno</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle/nopageno.sty">macros/latex/contrib/carlisle/nopageno.sty</a> +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>scrpage2.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nopageno">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nopageno</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-normalszmiss.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-normalszmiss.html new file mode 100644 index 00000000000..841bdb91645 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-normalszmiss.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label normalszmiss</title> +</head><body> +<h3><code>\</code><code>normalsize</code> not defined</h3> +<p>The LaTeX error: +<blockquote> + +<pre> +The font size command \normalsize is not defined: +there is probably something wrong with the class file. +</pre> +</blockquote> +is reporting something pretty fundamental (document base font size not +set up). While this <em>can</em>, as the message implies, be due to a +broken class file, the more common cause is that you have simply +forgotten to put a <code>\</code><code>documentclass</code> command in your document. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=normalszmiss">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=normalszmiss</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-noroom.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-noroom.html new file mode 100644 index 00000000000..4f5dcc0f640 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-noroom.html @@ -0,0 +1,51 @@ +<head> +<title>UK TeX FAQ -- question label noroom</title> +</head><body> +<h3>No room for a new '<em>thing</em>'</h3> +<p>The technology available to Knuth at the time TeX was written is +said to have been particularly poor at managing dynamic storage; as a +result much of the storage used within TeX is allocated as fixed +arrays, in the reference implementations. Many of these fixed arrays +are expandable in modern TeX implementations, but size of the +arrays of "registers" is written into the specification as being 256 +(usually); this number may not be changed if you still wish to call +the result TeX + +(see <a href="FAQ-triptrap.html">testing TeX implementations</a>). +<p>If you fill up one of these register arrays, you get a TeX error +message saying +<blockquote> +<pre> +! No room for a new \<thing>. +</pre> +</blockquote> +The <code>\</code><code>thing</code>s in question may be <code>\</code><code>count</code> (the object underlying +LaTeX's <code>\</code><code>newcounter</code> command), <code>\</code><code>skip</code> (the object underlying +LaTeX's <code>\</code><code>newlength</code> command), <code>\</code><code>box</code> (the object underlying +LaTeX's <code>\</code><code>newsavebox</code> command), or <code>\</code><code>dimen</code>, <code>\</code><code>muskip</code>, +<code>\</code><code>toks</code>, <code>\</code><code>read</code>, <code>\</code><code>write</code> or <code>\</code><code>language</code> (all types of object +whose use is "hidden" in LaTeX; the limit on the number of +<code>\</code><code>read</code> or <code>\</code><code>write</code> objects is just 16). +<p>There is nothing that can directly be done about this error, as you can't +extend the number of available registers without extending TeX +itself. + Of course, <a href="FAQ-NTS.html">e-TeX</a> and <a href="FAQ-omega.html">Omega</a> + + both do this, as does <a href="FAQ-commercial.html">MicroPress Inc's VTeX</a>. +<p>The commonest way to encounter one of these error messages is to have +broken macros of some sort, or incorrect usage of macros (an example +is discussed in <a href="FAQ-epsf.html">epsf problems</a>). +<p>However, sometimes one just <em>needs</em> more than TeX can offer, +and when this happens, you've just got to work out a different way of +doing things. An example is the +<a href="FAQ-usepictex.html">difficulty of loading PiCTeX with LaTeX</a>. +In cases like PiCTeX, it may be possible to use +<a href="FAQ-NTS.html">e-TeX</a> (all modern distributions provide it). The +LaTeX package <i>etex</i> modifies the register allocation +mechanism to make use of e-TeX's extended register sets (it's a +derivative of the Plain TeX macro file <i>etex.src</i>, which is +used in building the e-TeX Plain format; both files are part of the +e-TeX distribution). Unfortunately, e-TeX doesn't help with +<code>\</code><code>read</code> or <code>\</code><code>write</code> objects. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=noroom">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=noroom</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-notWYSIWYG.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-notWYSIWYG.html new file mode 100644 index 00000000000..074eb436abe --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-notWYSIWYG.html @@ -0,0 +1,64 @@ +<head> +<title>UK TeX FAQ -- question label notWYSIWYG</title> +</head><body> +<h3>Why is TeX not a WYSIWYG system?</h3> +<p>WYSIWYG is a marketing term ("What you see is what you get") for +a particular style of text processor. WYSIWYG systems are +characterised by two principal claims: that you type what you want to +print, and that what you see on the screen as you type is a close +approximation to how your text will finally be printed. +<p>The simple answer to the question is, of course, that TeX was +conceived long before the marketing term, at a time when the marketing +imperative wasn't perceived as significant. However, that was a long +time ago: why has nothing been done with the "wonder text processor" +to make it fit with modern perceptions? +<p>There are two answers to this. First, the simple "things <em>have</em> +been done" (but they've not taken over the TeX world); and second, +"there are philosophical reasons why the way TeX has developed is +ill-suited to the WYSIWYG style". +Indeed, there is a fundamental problem with applying WYSIWYG techniques +to TeX: the complexity of TeX makes it hard to get the +equivalent of TeX's output without actually running TeX. +<p>A celebrated early system offering "WYSIWYG using TeX" came from the +VorTeX project: a pair of (early) Sun workstations worked in +tandem, one handling the user interface while the other beavered away +in the background typesetting the result. VorTeX was quite +impressive for its time, but the two workstations combined had hugely less +power than the average sub-thousand dollar Personal Computer +nowadays, and its code has not proved portable (it never even made the +last 'great' TeX version change, at the turn of the 1990s, to +TeX version 3). Modern systems that are similar in +their approach are Lightning Textures (an extension of +Blue Sky's original TeX system for the Macintosh), and Scientific +Word (which can also cooperate with a computer algebra system); both +these systems are +<a href="FAQ-commercial.html">commercially available</a>. +<p>The issue has of recent years started to attract attention from TeX +developers, and several interesting projects addressing the + +"<a href="FAQ-WYGexpts.html">TeX document preparation environment</a>" +are in progress. +<p>Nevertheless, the TeX world has taken a long time to latch onto the +idea of WYSIWYG. +Apart from simple arrogance ("we're better, and have no need to +consider the petty doings of the commercial word processor market"), +there is a real conceptual difference between the word processor model +of the world and the model LaTeX and ConTeXt employ - the idea of +"markup". "Pure" markup expresses a logical model of a document, +where every object within the document is labelled according to what +it is rather than how it should appear: appearance is deduced from the +properties of the type of object. Properly applied, markup can +provide valuable assistance when it comes to re-use of documents. +<p>Established WYSIWYG systems find the expression of this sort of +structured markup difficult; however, markup <em>is</em> starting to +appear in the lists of the commercial world's requirements, for two +reasons. First, an element of markup helps impose style on a +document, and commercial users are increasingly obsessed with +uniformity of style; and second, the increasingly pervasive use of +XML-derived document archival formats demands it. The same +challenges must needs be addressed by TeX-based document +preparation support schemes, so we are +observing a degree of confluence of the needs of the two communities: +interesting times may be ahead of us. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=notWYSIWYG">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=notWYSIWYG</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-numbersets.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-numbersets.html new file mode 100644 index 00000000000..e2fb5a5680a --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-numbersets.html @@ -0,0 +1,84 @@ +<head> +<title>UK TeX FAQ -- question label numbersets</title> +</head><body> +<h3>Symbols for the number sets</h3> +<p>It is a good idea to have commands such as <code>\</code><code>R</code> for the real numbers and +other standard number sets. Traditionally these were typeset in bold. +Because, in the ordinary course of events, mathematicians do not have +access to bold chalk, they invented the special symbols that are now +often used for <code>\</code><code>R</code>, <code>\</code><code>C</code>, <em>etc</em>. These symbols are known +as "blackboard bold". Before insisting on using them, consider +whether going back to the old system of ordinary bold might not be +acceptable (it is certainly simpler). +<p>A set of blackboard bold capitals is available in the AMS +<i>msbm</i> fonts (<i>msbm</i> is available at a range of +design sizes, with names such as <i>msbm10</i>). The pair of font +families (the other is called <i>msam</i>) have a large number of +mathematical symbols to supplement the ones in the standard TeX +distribution, and are available in Type 1 format with most modern +distributions. Support files for using the fonts, both under +Plain TeX and LaTeX (packages <i>amssymb</i> and +<i>amsfonts</i>), are available. The font shape is a rather +austere sans, which many people don't like (though it captures the +essence of quickly-chalked writing rather well). +<p>The <i>bbold</i> family is set of blackboard bold fonts written in +Metafont. This set offers blackboard bold forms of lower-case letters; +the font source directory also contains sources for a LaTeX package +that enables use of the fonts. The fonts are not available in Type 1 format. +<p>The <i>bbm</i> family claims to provide +'blackboard' versions of most of the <i>cm</i> fonts ... including +the bold and bold-extended series. Again, the fonts are designed in +Metafont and are not available in Type 1 format. LaTeX macro support +comes from a package by Torsten Hilbrich. +<p>The <i>doublestroke</i> family comes in just roman +and sans shapes, at a single weight, and is available both as Metafont +sources and as Type 1; the font covers the uppercase latin letters, +lowercase 'h' and 'k', and the digit '1'. +<p>An alternative source of Type 1 fonts with blackboard bold characters +may be found in the steadily increasing set of complete families, both +commercial and free, that have been prepared for use with (La)TeX +(see +"<a href="FAQ-psfchoice.html">choice of outline fonts</a>"). +Of the free sets, the <i>txfonts</i> and <i>pxfonts</i> families +both come with replicas of <i>msam</i> and <i>msbm</i> +(though, as noted elsewhere, there are other reasons not to use these +fonts). The <i>mathpazo</i> family includes a "mathematically +significant" choice of blackboard bold characters, and the +<i>fourier</i> fonts contain blackboard bold upper-case letters, +the digit '1', and lower-case 'k'. +<p>The "lazy person's" blackboard bold macros: +<blockquote> +<pre> +\newcommand{\R}{{\sf R\hspace*{-0.9ex}% + \rule{0.15ex}{1.5ex}\hspace*{0.9ex}}} +\newcommand{\N}{{\sf N\hspace*{-1.0ex}% + \rule{0.15ex}{1.3ex}\hspace*{1.0ex}}} +\newcommand{\Q}{{\sf Q\hspace*{-1.1ex}% + \rule{0.15ex}{1.5ex}\hspace*{1.1ex}}} +\newcommand{\C}{{\sf C\hspace*{-0.9ex}% + \rule{0.15ex}{1.3ex}\hspace*{0.9ex}}} +</pre> +</blockquote> +are almost acceptable at normal size if the surrounding text is +<i>cmr10</i>. However, they are not part of a proper maths font, +and so do not work in sub- and superscripts. Moreover, the size and +position of the vertical bar can be affected by the font of the +surrounding text. As we've seen, there are plenty of alternatives: +don't try the macros, or anything similar using capital 'I' (which +looks even worse!). +<dl> +<dt><tt><i>AMS support files (Plain)</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/plaintex.zip">fonts/amsfonts/plaintex</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/plaintex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/plaintex/">browse</a>) +<dt><tt><i>AMS support files (LaTeX)</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/latex.zip">fonts/amsfonts/latex</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/latex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/latex/">browse</a>) +<dt><tt><i>AMS symbol fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/sources/symbols.zip">fonts/amsfonts/sources/symbols</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/sources/symbols.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/sources/symbols/">browse</a>) +<dt><tt><i>AMS symbol fonts in Type 1 format</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/ps-type1/">fonts/amsfonts/ps-type1/</a> +<dt><tt><i>bbm fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/cm/bbm.zip">fonts/cm/bbm</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/cm/bbm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/cm/bbm/">browse</a>) +<dt><tt><i>bbm macros</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/bbm.zip">macros/latex/contrib/bbm</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/bbm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/bbm/">browse</a>) +<dt><tt><i>bbold fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/bbold.zip">fonts/bbold</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/bbold.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/bbold/">browse</a>) +<dt><tt><i>doublestroke fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/doublestroke.zip">fonts/doublestroke</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/doublestroke.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/doublestroke/">browse</a>) +<dt><tt><i>fourier fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/fourier-GUT.zip">fonts/fourier-GUT</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/fourier-GUT.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/fourier-GUT/">browse</a>) +<dt><tt><i>mathpazo fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/mathpazo.zip">fonts/mathpazo</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/mathpazo.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/mathpazo/">browse</a>) +<dt><tt><i>pxfonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/pxfonts.zip">fonts/pxfonts</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/pxfonts.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/pxfonts/">browse</a>) +<dt><tt><i>txfonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/txfonts.zip">fonts/txfonts</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/txfonts.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/txfonts/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=numbersets">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=numbersets</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oarglikesect.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oarglikesect.html new file mode 100644 index 00000000000..f9b20074004 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oarglikesect.html @@ -0,0 +1,16 @@ +<head> +<title>UK TeX FAQ -- question label oarglikesect</title> +</head><body> +<h3>Optional arguments like <code>\</code><code>section</code></h3> +<p>Optional arguments, in macros defined using <code>\</code><code>newcommand</code>, don't +quite work like the optional argument to <code>\</code><code>section</code>. The default +value of <code>\</code><code>section</code>'s optional argument is the value of the +mandatory argument, but <code>\</code><code>newcommand</code> requires that you 'know' the +value of the default beforehand. +<p>The requisite trick is to use a macro in the optional argument: +<pre> +\newcommand\thing[2][\DefaultOpt]{\def\DefaultOpt{#2} ...} +</pre> + +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=oarglikesect">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=oarglikesect</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oddhyphen.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oddhyphen.html new file mode 100644 index 00000000000..c78f900f681 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oddhyphen.html @@ -0,0 +1,21 @@ +<head> +<title>UK TeX FAQ -- question label oddhyphen</title> +</head><body> +<h3>(Merely) peculiar hyphenation</h3> +<p>You may have found that TeX's famed automatic word-division does +not produce the break-points recommended by your dictionary. This may be +because TeX is set up for American English, whose rules for word +division (as specified, for example, in Webster's Dictionary) are +completely different from the British ones (as specified, for example, +in the Oxford Dictionaries). This problem is being addressed by the UK +TeX User community (see <i>Baskerville</i>, issue 4.4) but an entirely +satisfactory solution will take time; the current status is to be +found on CTAN (see + +<a href="FAQ-newlang.html">"using a new language"</a> for instructions +on adding this new "language"). +<dl> +<dt><tt><i>UK patterns</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/language/hyphenation/ukhyphen.tex">language/hyphenation/ukhyphen.tex</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=oddhyphen">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=oddhyphen</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oddpage.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oddpage.html new file mode 100644 index 00000000000..45e592b21c3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oddpage.html @@ -0,0 +1,38 @@ +<head> +<title>UK TeX FAQ -- question label oddpage</title> +</head><body> +<h3>Finding if you're on an odd or an even page</h3> +<p><a href="FAQ-marginparside.html">Another question</a> discusses the issue +of getting <code>\</code><code>marginpar</code> commands to put their output in the correct +margin of two-sided documents. This is an example of the general +problem of knowing where a particular bit of text lies: the output +routine is asynchronous, and (La)TeX will usually process quite a +bit of the "next" page before deciding to output any page. As a +result, the <code>page</code> counter (known internally in LaTeX as +<code>\</code><code>c@page</code>) is normally only reliable when you're actually <em>in</em> +the output routine. +<p>The solution is to use some version of the <code>\</code><code>label</code> mechanism to +determine which side of the page you're on; the value of the page +counter that appears in a <code>\</code><code>pageref</code> command has been inserted in +the course of the output routine, and is therefore safe. +<p>However, <code>\</code><code>pageref</code> itself isn't reliable: one might hope that +<pre> +\ifthenelse{\isodd{\pageref{foo}}}{odd}{even} +</pre> +would do the necessary, but both the <i>babel</i> and +<i>hyperref</i> packages have been known to interfere with the +output of <code>\</code><code>pageref</code>; be careful! +<p>The <i>chngpage</i> package needs to provide this functionality for +its own use, and therefore provides a command <code>\</code><code>checkoddpage</code>; this +sets a private-use label, and the page reference part of that label is +then examined (in a <i>hyperref</i>-safe way) to set a conditional +<code>\</code><code>ifcpoddpage</code> true if the command was issued on an odd page. The +<i>memoir</i> class has the same command setting a conditional +<code>\</code><code>ifoddpage</code>. Of course, the <code>\</code><code>label</code> contributes to LaTeX's +"Rerun to get cross-references right" error messages... +<dl> +<dt><tt><i>chngpage.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/chngpage.sty">macros/latex/contrib/misc/chngpage.sty</a> +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=oddpage">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=oddpage</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oldfontnames.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oldfontnames.html new file mode 100644 index 00000000000..07752ce071c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-oldfontnames.html @@ -0,0 +1,17 @@ +<head> +<title>UK TeX FAQ -- question label oldfontnames</title> +</head><body> +<h3>Old LaTeX font references such as <code>\</code><code>tenrm</code></h3> +<p>LaTeX 2.09 defined a large set of commands for access to the fonts +that it had built in to itself. For example, various flavours of +<code>cmr</code> could be found as <code>\</code><code>fivrm</code>, <code>\</code><code>sixrm</code>, <code>\</code><code>sevrm</code>, +<code>\</code><code>egtrm</code>, <code>\</code><code>ninrm</code>, <code>\</code><code>tenrm</code>, <code>\</code><code>elvrm</code>, <code>\</code><code>twlrm</code>, +<code>\</code><code>frtnrm</code>, <code>\</code><code>svtnrm</code>, <code>\</code><code>twtyrm</code> and <code>\</code><code>twfvrm</code>. +These commands were never documented, but certain packages +nevertheless used them to achieve effects they needed. +<p>Since the commands weren't public, they weren't included in LaTeX2e; +to use the unconverted LaTeX 2.09 packages under LaTeX2e, you need +also to include the <i>rawfonts</i> package (which is part of the +LaTeX2e distribution). +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=oldfontnames">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=oldfontnames</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-omega.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-omega.html new file mode 100644 index 00000000000..6b634044f67 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-omega.html @@ -0,0 +1,40 @@ +<head> +<title>UK TeX FAQ -- question label omega</title> +</head><body> +<h3>The Omega project</h3> +<p>Omega + +is a program built by extension of the TeX sources which works +internally with 'wide' characters (it is capable of dealing with all +of Unicode version 3); this allows it to work with most scripts in the +world with few difficulties from coding schemes. +Omega also has a +powerful concept of input and output filters to allow the user to work +with existing transliteration schemes, <em>etc</em>. +<p>A part of the project is to develop a version of LaTeX to work with +Omega, styled +"Lambda". +<p> + +<p>Omega was first released in November 1996 +by the project originators, John Plaice and Yannis Haralambous; a +recent version is maintained on CTAN. General project +information, as well as copies papers, are available via the + + <a href="http://omega.enstb.org">project's web site</a>. +<p>Implementations of Omega +are available as part of the teTeX, +mikTeX, fpTeX and CMacTeX distributions +(see <a href="FAQ-TeXsystems.html">TeX systems</a>), as well as +in <a href="FAQ-CD.html">TeX Live</a>. +<p>A related project, <a href="FAQ-aleph.html">Aleph</a>, has merged a version of +Omega with the facilities of +<a href="FAQ-NTS.html">e-TeX</a>, as a pathfinder for potential future Omega +development. +<dl> +<dt><tt><i>CTAN distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/omega.zip">systems/omega</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/omega.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/omega/">browse</a>) (not up-to-date: use the + version in your (La)TeX distribution) +</dl> +<p> +<p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=omega">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=omega</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-onecolabs.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-onecolabs.html new file mode 100644 index 00000000000..16b9d4825a9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-onecolabs.html @@ -0,0 +1,57 @@ +<head> +<title>UK TeX FAQ -- question label onecolabs</title> +</head><body> +<h3>1-column abstract in 2-column document</h3> +<p>One often requires that the abstract of a paper should appear across +the entire page, even in a two-column paper. The required trick is: +<pre> + \documentclass[twocolumn]{article} + ... + \begin{document} + ... % \author, etc + \twocolumn[ + \begin{@twocolumnfalse} + \maketitle + \begin{abstract} + ... + \end{abstract} + \end{@twocolumnfalse} + ] +</pre> +Unfortunately, with the above <code>\</code><code>thanks</code> won't work in the +<code>\</code><code>author</code> list. If you need such specially-numbered footnotes, you +can make them like this: +<pre> + \title{Demonstration} + \author{Me, You\thanks{}} + \twocolumn[ + ... as above ... + ] + { + \renewcommand{\thefootnote}% + {\fnsymbol{footnote}} + \footnotetext[1]{Thanks for nothing} + } +</pre> +and so on. +<p>As an alternative, among other facilities the <i>abstract</i> package +provides a +<code>\</code><code>saythanks</code> command and a <code>onecolabstract</code> environment +which remove the need to fiddle with the <code>\</code><code>thanks</code> and +footnoting. They can be used like this: +<pre> +\twocolumn[ + \maketitle % full width title + \begin{onecolabstract} % full width abstract + ... text + \end{onecolabstract} +] +\saythanks % typeset any \thanks +</pre> +The <i>memoir</i> class offers all the facilities of <i>abstract</i>. +<dl> +<dt><tt><i>abstract.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/abstract.zip">macros/latex/contrib/abstract</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/abstract.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/abstract/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=onecolabs">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=onecolabs</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-otherprinters.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-otherprinters.html new file mode 100644 index 00000000000..2cd11b92d44 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-otherprinters.html @@ -0,0 +1,23 @@ +<head> +<title>UK TeX FAQ -- question label otherprinters</title> +</head><body> +<h3>Output to "other" printers</h3> +<p>In the early years of TeX, there were masses of DVI drivers +for any (then) imaginable kind of printer, but the steam seems rather +to have gone out of the market for production of such drivers for +printer-specific formats. There are several reasons for this, but the +primary one is that few formats offer the flexibility available +through PostScript, and <i>ghostscript</i> is <em>so</em> good, and +has <em>such</em> a wide range of printer drivers (perhaps this is where +the DVI output driver writers have all gone?). +<p>The general advice, then, is to +<a href="FAQ-dvips.html">generate PostScript</a>, and to process +that with <i>ghostscript</i> set to generate the format for the +printer you actually have. If you are using a Unix system of some +sort, it's generally quite easy to insert <i>ghostscript</i> into +the print spooling process. +<dl> +<dt><tt><i>ghostscript</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/ghostscript/">nonfree/support/ghostscript/</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=otherprinters">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=otherprinters</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ouparmd.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ouparmd.html new file mode 100644 index 00000000000..dd29c2a60b4 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ouparmd.html @@ -0,0 +1,73 @@ +<head> +<title>UK TeX FAQ -- question label ouparmd</title> +</head><body> +<h3>Not in outer par mode</h3> +<p>The error: +<blockquote> +<pre> +! LaTeX Error: Not in outer par mode. +</pre> +</blockquote> +comes when some "main" document feature is shut up somewhere it +doesn't like. +<p>The commonest occurrence is when the user wants a figure somewhere +inside a table: +<blockquote> +<pre> +\begin{tabular}{|l|} + \hline + \begin{figure} + \includegraphics{foo} + \end{figure} + \hline +\end{tabular} +</pre> +</blockquote> +a construction that was supposed to put a frame around the diagram, +but doesn't work, any more than: +<blockquote> +<pre> +\framebox{\begin{figure} + \includegraphics{foo} + \end{figure}% +} +</pre> +</blockquote> +The problem is, that the <code>tabular</code> environment, and the +<code>\</code><code>framebox</code> command restrain the <code>figure</code> environment +from its natural métier, which is to float around the document. +<p>The solution is simply not to use the <code>figure</code> environment +here: +<blockquote> +<pre> +\begin{tabular}{|l|} + \hline + \includegraphics{foo} + \hline +\end{tabular} +</pre> +</blockquote> +What was the float for? - as written in the first two examples, it +serves no useful purpose; but perhaps you actually wanted a diagram +and its caption framed, in a float. +<p>It's simple to achieve this - just reverse the order of the +environments (or of the <code>figure</code> environment and the +command): +<blockquote> +<pre> +\begin{figure} + \begin{tabular}{|l|} + \hline + \includegraphics{foo} + \caption{A foo} + \hline + \end{tabular} +\end{figure} +</pre> +</blockquote> +The same goes for <code>table</code> environments (or any other sort +of float you've defined for yourself) inside tabulars or box commands; +you <em>must</em> get the float environment out from inside, one way or +another. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ouparmd">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ouparmd</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-outszwrng.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-outszwrng.html new file mode 100644 index 00000000000..d593b879f61 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-outszwrng.html @@ -0,0 +1,30 @@ +<head> +<title>UK TeX FAQ -- question label outszwrng</title> +</head><body> +<h3>(La)TeX PDF output prints at wrong size</h3> +<p>Having got everything <em>else</em> right, you should be aware that the +problem may have nothing to do with (La)TeX and everything to do +with the program you use for printing. A regular cause for such +problems lies with Acrobat Reader, which by default enables its option +to scale pages to fit on the printable area of the paper. Since a +printer can rarely print right to the edge, this means that pdf-files +will be shrunk by some (small) factor (even if the pdf-file is +formatted for A4, and your paper size is set to A4 as well). +<p>Correcting this silliness is not very hard, but the exact details +depend on the version of Acrobat Reader (or "Adobe Reader" from +version 6.0 onwards) you have installed: +<ul> +<li> Mac OS X, Adobe Reader 6:<br> + in the print dialogue, on the "copies & pages" pane, you'll find a + popup menu titled "Page Scaling". Make sure that the menu reads + "None". +<li> Windows, Adobe Reader 6:<br> + in the print dialogue, select "None" from the drop-down list + "Page Scaling". +<li> Windows, Linux Acrobat (Reader) 5.0:<br> + In the print dialog, make sure the "Shrink oversized pages to fit" + checkbox is unchecked. It may also be useful to uncheck the + "Expand small pages to fit paper size" checkbox as well. +</ul> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=outszwrng">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=outszwrng</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-overfull.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-overfull.html new file mode 100644 index 00000000000..af1cc71416d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-overfull.html @@ -0,0 +1,106 @@ +<head> +<title>UK TeX FAQ -- question label overfull</title> +</head><body> +<h3>(La)TeX makes overfull lines</h3> +<p>When TeX is building a paragraph, it can make several attempts to +get the line-breaking right; on each attempt it runs the same +algorithm, but gives it different parameters. You can affect the way +TeX's line breaking works by adjusting the parameters: this answer +deals with the "tolerance" and stretchability parameters. The other +vital 'parameter' is the set of hyphenations to be applied: see +"<a href="FAQ-nohyph.html">my words aren't being hyphenated</a>" +(and the questions it references) for advice. +<p>If you're getting an undesired "overfull box", what has happened is +that TeX has given up: the parameters you gave it don't allow it to +produce a result that <em>doesn't</em> overfill. In this circumstance, +Knuth decided the best thing to do was to produce a warning, and to +allow the user to solve the problem. (The alternative, silently to go +beyond the envelope of "good taste" defined for this run of TeX, +would be distasteful to any discerning typographer.) The user can +almost always address the problem by rewriting the text that's +provoking the problem - but that's not always possible, and in some +cases it's impossible to solve the problem without adjusting the +parameters. This answer discusses the approaches one might take to +resolution of the problem, on the assumption that you've got the +hyphenation correct. +<p>The simplest case is where a 'small' word fails to break at the end of +a line; pushing the entire word to a new line isn't going to make much +difference, but it might make things just bad enough that TeX won't +do it by default. In such a case on can <em>try</em> the LaTeX +<code>\</code><code>linebreak</code> command: it may solve the problem, and if it does, it +will save an awful lot of fiddling. Otherwise, one needs to adjust +parameters: to do that we need to recap the details of TeX's line +breaking mechanisms. +<p>TeX's first attempt at breaking lines is performed without even +trying hyphenation: TeX sets its "tolerance" of line breaking +oddities to the internal value <code>\</code><code>pretolerance</code>, and sees what +happens. If it can't get an acceptable break, TeX adds the +hyphenation points allowed by the current patterns, and tries again +using the internal <code>\</code><code>tolerance</code> value. If this pass also fails, and +the internal <code>\</code><code>emergencystretch</code> value is positive, TeX will try +a pass that allows <code>\</code><code>emergencystretch</code> worth of extra stretchability +to the spaces in each line. +<p>In principle, therefore, there are three parameters (other than +hyphenation) that you can change: <code>\</code><code>pretolerance</code>, <code>\</code><code>tolerance</code> +and <code>\</code><code>emergencystretch</code>. Both the <code>tolerance</code> values are +simple numbers, and should be set by TeX primitive count +assignment - for example +<blockquote> +<pre> +\pretolerance=150 +</pre> +</blockquote> +For both, an "infinite" tolerance is represented by the value +<code>10</code><code>000</code>, but infinite tolerance is rarely +appropriate, since it can lead to very bad line breaks indeed. +<p><code>\</code><code>emergencystretch</code> is a TeX-internal 'dimen' register, and can +be set as normal for dimens in Plain TeX; in LaTeX, use +<code>\</code><code>setlength</code> - for example: +<blockquote> +<pre> +\setlength{\emergencystretch}{3em} +</pre> +</blockquote> +<p>The choice of method has time implications - each of the +passes takes time, so adding a pass (by changing +<code>\</code><code>emergencystretch</code>) is less desirable than suppressing one (by +changing <code>\</code><code>pretolerance</code>). However, it's unusual nowadays to find a +computer that's slow enough that the extra passes are really +troublesome. +<p>In practice, <code>\</code><code>pretolerance</code> is rarely used other than to manipulate +the use of hyphenation; Plain TeX and LaTeX both set its value +to <code>100</code>. To suppress the first scan of paragraphs, set +<code>\</code><code>pretolerance</code> to <code>-1</code>. +<p><code>\</code><code>tolerance</code> is often a good method for adjusting spacing; +Plain TeX and LaTeX both set its value to <code>200</code>. LaTeX's +<code>\</code><code>sloppy</code> command sets it to <code>9999</code>, as does the +<code>sloppypar</code> environment. This value is the largest +available, this side of infinity, and can allow pretty poor-looking +breaks (this author rarely uses <code>\</code><code>sloppy</code> "bare", though he does +occasionally use <code>sloppypar</code> - that way, the change of +<code>\</code><code>tolerance</code> is confined to the environment). More satisfactory is +to make small changes to <code>\</code><code>tolerance</code>, incrementally, and then to look to +see how the change affects the result; very small increases can often +do what's necessary. Remember that <code>\</code><code>tolerance</code> is a paragraph +parameter, so you need to ensure it's actually applied - see +"<a href="FAQ-paraparam.html">ignoring paragraph parameters</a>". +LaTeX users could use an environment like: +<blockquote> +<pre> +\newenvironment{tolerant}[1]{% + \par\tolerance=#1\relax +}{% + \par +} +</pre> +</blockquote> +enclosing entire paragraphs (or set of paragraphs) in it. +<p><code>\</code><code>emergencystretch</code> is a slightly trickier customer to understand. +The example above set it to <code>3em</code>; the Computer Modern fonts +ordinarily fit three space skips to the em, so the change would +allow anything up to the equivalent of nine extra spaces in each +line. In a line with lots of spaces, this could be reasonable, but +with (say) only three spaces on the line, each could stretch to four +times its natural width. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=overfull">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=overfull</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-overstrike.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-overstrike.html new file mode 100644 index 00000000000..4ccc01c9700 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-overstrike.html @@ -0,0 +1,17 @@ +<head> +<title>UK TeX FAQ -- question label overstrike</title> +</head><body> +<h3>Overstriking characters</h3> +<p>This may be used, for example, to indicate text deleted in the course +of editing. Both the <i>ulem</i> and the <i>soul</i> packages +provide the necessary facilities. +<p>Overstriking for +<a href="FAQ-cancellation.html">cancellation in maths expressions</a> is achieved +by a different mechanism. +<p>Documentation of <i>ulem</i> is in the package file. +<dl> +<dt><tt><i>soul.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/soul.zip">macros/latex/contrib/soul</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/soul.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/soul/">browse</a>) +<dt><tt><i>ulem.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/ulem.sty">macros/latex/contrib/misc/ulem.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=overstrike">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=overstrike</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pagebychap.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pagebychap.html new file mode 100644 index 00000000000..00468f992f6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pagebychap.html @@ -0,0 +1,26 @@ +<head> +<title>UK TeX FAQ -- question label pagebychap</title> +</head><body> +<h3>Page numbering by chapter</h3> +<p>When I was a young man, a common arrangement for loose bound technical +manuals is to number pages by chapter. (It's quite a good scheme, in +those situations: even if your corrections add a whole page to the +chapter, the most you have to redistribute is that chapter.) +<p>The problem, at first sight, seems pretty much the same as that in +another answer on + +<a href="FAQ-running-nos.html">running numbers within a chapter</a>, +and the basic technique is indeed pretty similar. +<p>However, tidying-up loose ends, making sure the page number gets reset +to the correct value at the start of each chapter, and so on, is +slightly more challenging. This is why the <i>chappg</i> package +was written: it does the obvious things, and more. +<p>Users have been known to ask for running page numbers within a +section, but this really doesn't make sense: you need to run page +numbers within document objects that always start on a fresh page. +<p>Documentation of <i>chappg</i> is to be found in the package file. +<dl> +<dt><tt><i>chappg.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/chappg.sty">macros/latex/contrib/misc/chappg.sty</a> +</dl> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pagebychap">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pagebychap</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-papersize.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-papersize.html new file mode 100644 index 00000000000..77493ea0663 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-papersize.html @@ -0,0 +1,57 @@ +<head> +<title>UK TeX FAQ -- question label papersize</title> +</head><body> +<h3>Printer paper sizes</h3> +<p>Paper sizes can be a pain: they're a forgotten backwater, because +there's no DVI command to specify the paper size of the +document. One usually finds American "letter" paper size being +used, by default, in macro packages (such as <i>plain</i> and +LaTeX); but distributions provide configuration files for +DVI drivers (and since most distributions originate in Europe, +the drivers usually default to ISO "A4" paper size). +<p>This is (of course) pretty unsatisfactory. Users may change the paper +size their document is designed for, pretty easily (and once off), but +they have to ensure that every run of <i>xdvi</i>, +<i>dvips</i>, or whatever, is given the correct override for using +anything non-'standard'. +<p>Of course, the default paper size for DVI drivers may be +changed by a distribution management command, but this still doesn't +provide for people using the "wrong" sort of paper for some reason. +<p>An interestingly different issue arises for users of PDFTeX - the +PDF format <em>does</em> have the means of expressing paper size, +but much of the core software predates PDFTeX, so not even +PDFLaTeX sets the correct values into <code>\</code><code>pdfpagewidth</code> and +<code>\</code><code>pdfpageheight</code>. +<p>The DVI drivers <i>dvips</i> and <i>dvipdfm</i> define +<code>\</code><code>special</code> commands for the document to specify its own paper size; +so in those cases, as in the case of PDFTeX and VTeX, the paper +size can be programmed by the document. Users who wish to, may of +course consult the manuals of the various programs to write the +necessary code. +<p>The <i>geometry</i> package (whose main business is defining +typeset page areas), also takes notice of the paper size the document +is going to print to, and can issue the commands necessary to ensure +the correct size is used. If <i>geometry</i> is used when a +document is being processed by either PDFLaTeX or VTeX, it will +set the necessary dimensions as a matter of course. If the document +is being processed by LaTeX on a TeX or e-TeX engine, there +are two package options (<code>dvipdfm</code> and <code>dvips</code>) +which instruct <i>geometry</i> which <code>\</code><code>special</code> commands to use. +(Note that the options are ignored if you are using either PDFLaTeX +or VTeX.) +<p>So, the resolution of the problem is to add +<pre> + \usepackage[dvixxx,...]{geometry} +</pre> +(where <code>dvixxx</code> is your current favourite DVI +driver), and the document will run correctly with any of +LaTeX (whether or not run on VTeX) or PDFLaTeX. +<p>Give the <i>typearea</i> package the <code>pagesize</code> and it +will do the same job, for PDFLaTeX output and PostScript output from +LaTeX via <i>dvips</i>. +<dl> +<dt><tt><i>geometry.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/geometry.zip">macros/latex/contrib/geometry</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/geometry.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/geometry/">browse</a>) +<dt><tt><i>typearea.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=papersize">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=papersize</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-parallel.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-parallel.html new file mode 100644 index 00000000000..d4cc2051f4c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-parallel.html @@ -0,0 +1,17 @@ +<head> +<title>UK TeX FAQ -- question label parallel</title> +</head><body> +<h3>Parallel setting of text</h3> +<p>It's commonly necessary to present text in two languages 'together' on a +page, or on a two-page spread. For this to be satisfactory, one usually +needs some sort of alignment between the two texts. +<p>The <i>parallel</i> package satisfies the need, permitting +typesetting in two columns (not necessarily of the same width) on one +page, or on the two opposing pages of a two-page spread. +<dl> +<dt><tt><i>ledpar.sty</i></tt><dd>Distributed with <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ledmac.zip">macros/latex/contrib/ledmac</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ledmac.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ledmac/">browse</a>) +<dt><tt><i>parallel.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/parallel.zip">macros/latex/contrib/parallel</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/parallel.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/parallel/">browse</a>) +<dt><tt><i>parcolumns.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sauerj.zip">macros/latex/contrib/sauerj</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sauerj.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/sauerj/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=parallel">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=parallel</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-paraparam.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-paraparam.html new file mode 100644 index 00000000000..a7844b0d6c0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-paraparam.html @@ -0,0 +1,59 @@ +<head> +<title>UK TeX FAQ -- question label paraparam</title> +</head><body> +<h3>Why does it ignore paragraph parameters?</h3> +<p>When TeX is laying out text, it doesn't work from word to word, or +from line to line; the smallest complete unit it formats is the +paragraph. The paragraph is laid down in a buffer, as it appears, and +isn't touched further until the end-paragraph marker is processed. +It's at this point that the paragraph parameters have effect; and it's +because of this sequence that one often makes mistakes that lead to +the paragraph parameters not doing what one would have hoped (or +expected). +<p>Consider the following sequence of LaTeX: +<blockquote> +<pre> +{\raggedright % declaration for ragged text +Here's text to be ranged left in our output, +but it's the only such paragraph, so we now +end the group.} + +Here's more that needn't be ragged... +</pre> +</blockquote> +TeX will open a group, and impose the ragged-setting parameters within +that group; it will then save a couple of sentences of text and +close the group (thus restoring the previous value of the +parameters that <code>\</code><code>raggedright</code> set). Then TeX encounters a blank +line, which it knows to treat as a <code>\</code><code>par</code> token, so it typesets the +two sentences; but because the enclosing group has now been closed, +the parameter settings have been lost, and the paragraph will be +typeset normally. +<p>The solution is simple: close the paragraph inside the group, so that +the setting parameters remain in place. An appropriate way of doing +that is to replace the last three lines above with: +<blockquote> +<pre> +end the group.\par} +Here's more that needn't be ragged... +</pre> +</blockquote> +In this way, the paragraph is completed while <code>\</code><code>raggedright</code>'s +parameters are still in force within the enclosing group. +<p>Another alternative is to define an environment that does the +appropriate job for you. For the above example, LaTeX already +defines an appropriate one: +<blockquote> +<pre> +\begin{flushleft} +Here's text to be ranged left... +\end{flushleft} +</pre> +</blockquote> +<p>In fact, there are a number of parameters for which TeX only +maintains one value per paragraph. A tiresome one is the set of upper +case/lower case translations, which (oddly enough) constrains +hyphenation of mutlilingual texts. Another that regularly creates +confusion is <a href="FAQ-baselinepar.html"><code>\</code><code>baselineskip</code></a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=paraparam">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=paraparam</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-parskip.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-parskip.html new file mode 100644 index 00000000000..d8968391a87 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-parskip.html @@ -0,0 +1,36 @@ +<head> +<title>UK TeX FAQ -- question label parskip</title> +</head><body> +<h3>Zero paragraph indent</h3> +<p>The conventional way of typesetting running text has no separation +between paragraphs, and the first line of each paragraph in a block of +text indented. +<p>In contrast, one common convention for typewritten text was to have no +indentation of paragraphs; such a style is often required for +"brutalist" publications such as technical manuals, and in styles +that hanker after typewritten manuscripts, such as +officially-specified dissertation formats. +<p>Anyone can see, after no more than a moment's thought, that if the +paragraph indent is zero, the paragraphs must be separated by blank +space: otherwise it is sometimes going to be impossible to see the +breaks between paragraphs. +<p>The simple-minded approach to zero paragraph indentation is thus: +<pre> + \setlength{\parindent}{0pt} + \setlength{\parskip}{\baselineskip} +</pre> +and in the very simplest text, it's a fine solution. +<p>However, the non-zero <code>\</code><code>parskip</code> interferes with lists and the like, +and the result looks pretty awful. The <i>parskip</i> package +patches things up to look reasonable; it's not perfect, but it deals +with most problems. +<p>The Netherlands Users' Group's set of classes includes an +<i>article</i> equivalent (<i>artikel3</i>) and a <i>report</i> +equivalent (<i>rapport3</i>) whose design incorporates zero paragraph +indent and non-zero paragraph skip. +<dl> +<dt><tt><i>NTG classes</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ntgclass.zip">macros/latex/contrib/ntgclass</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ntgclass.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ntgclass/">browse</a>) +<dt><tt><i>parskip.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/parskip.sty">macros/latex/contrib/misc/parskip.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=parskip">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=parskip</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-patch.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-patch.html new file mode 100644 index 00000000000..d5d61403e57 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-patch.html @@ -0,0 +1,76 @@ +<head> +<title>UK TeX FAQ -- question label patch</title> +</head><body> +<h3>Patching existing commands</h3> +<p>In the general case (possibly sticking something in the middle of an +existing command) this is difficult. However, the common requirement, +to add some code at the beginning or the end of an existing command, +is conceptually quite easy. Suppose we want to define a version of a +command that does some small extension of its original definition: we +would naturally write: +<blockquote> +<pre> +\renewcommand{\splat}{\mumble\splat} +</pre> +</blockquote> +However, this would not work: a call to <code>\</code><code>splat</code> would execute +<code>\</code><code>mumble</code>, and the call the redefined <code>\</code><code>splat</code> again; this is an +infinite recursive loop, that will quickly exhaust TeX's memory. +<p>Fortunately, the TeX primitive <code>\</code><code>let</code> command comes to our +rescue; it allows us to take a "snapshot" of the current state of a +command, which we can then use in the redefinition of the command. +So: +<blockquote> +<pre> +\let\OldSmooth\smooth +\renewcommand{\smooth}{\mumble\OldSmooth} +</pre> +</blockquote> +effects the required patch, safely. Adding things at the end of a +command works similarly. If <code>\</code><code>smooth</code> takes arguments, one must +pass them on: +<blockquote> +<pre> +\renewcommand{\smooth}[2]{\mumble\OldSmooth{#1}{#2}} +</pre> + +</blockquote> +<p>The general case may be achieved in two ways. First, one can use the +LaTeX command <code>\</code><code>CheckCommand</code>; this compares an existing command +with the definition you give it, and issues a warning if two don't +match. Use is therefore: +<blockquote> + <code>\CheckCommand{\complex}{</code><<i>original definition</i>><code>}</code><br> + <code>\renewcommand{\complex}{</code><<i>new definition</i>><code>}</code> +</blockquote> +This technique is obviously somewhat laborious, but if the original +command comes from a source that's liable to change under the control +of someone else, it does at least warn you that your patch is in +danger of going wrong. +<p>Otherwise, LaTeX users may use one of the <i>patch</i> or +<i>patchcmd</i> systems. +<p><i>Patch</i> gives you an ingenious (and difficult to understand) +mechanism, and comes as an old-style LaTeX documented macro file. +Sadly the old-style <i>doc</i> macros are no longer available, but +the file (<i>patch.doc</i>) may be input directly, and the +documentation may be read (un-typeset). Roughly speaking, one gives +the command a set of instructions analagous to <i>sed</i> +substitutions, and it regenerates the command thus amended. The +author of this FAQ has (slightly reluctantly) given up using +<i>patch</i>... +<p>The <i>patchcmd</i> package addresses a slightly simpler task, by +restricting the set of commands that you may patch; you mayn't patch +any command that has an optional argument, though it does deal with +the case of commands defined with <code>\</code><code>DeclareRobustCommand</code>. The +package defines a <code>\</code><code>patchcommand</code> command, that takes three +arguments: the command to patch, stuff to stick at the front of its +definition, and stuff to stick on the end of its definition. So, if +<code>\</code><code>b</code> contains "<code>b</code>", then +<code>\</code><code>patchcommand</code><code>\</code><code>b{a}{c}</code> +will produce a new version of <code>\</code><code>b</code> that contains "<code>abc</code>". +<dl> +<dt><tt><i>patch.doc</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/generic/patch.doc">macros/generic/patch.doc</a> +<dt><tt><i>patchcommand.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/patchcmd.zip">macros/latex/contrib/patchcmd</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/patchcmd.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/patchcmd/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=patch">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=patch</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pdfpagelabels.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pdfpagelabels.html new file mode 100644 index 00000000000..1302d60ec7c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pdfpagelabels.html @@ -0,0 +1,37 @@ +<head> +<title>UK TeX FAQ -- question label pdfpagelabels</title> +</head><body> +<h3><i>Hyperref</i> and repeated page numbers</h3> +<p>The <i>book</i> class (and its friends and relations) automatically +changes the display of page numbers in the frontmatter of the document +to lower-case roman. This is fine for human readers, but it confuses +<i>hyperref</i> since there are pages which seem (to +<i>hyperref</i>) to have the same page number. Fortunately, there are +configuration options to make <i>hyperref</i> "do the right +thing". +<p>The two options in question are: +<dl> +<dt><code>plainpages=false</code><dd> Make page anchors using the + formatted form of the page number. With this option, + <i>hyperref</i> writes different anchors for pages 'ii' and '2'. + (If the option is set '<code>true</code>' - the default - + <i>hyperref</i> writes page anchors as the arabic form of the + absolute page number, rather than the formatted form.) +<dt><code>pdfpagelabels</code><dd> Set PDF page labels; i.e., + write the value of <code>\</code><code>thepage</code> to the PDF file so that + <i>Acrobat Reader</i> can display the page number as (say) 'ii (4 + of 40)' rather than simply '4 of 40'. +</dl> +The two should be used whenever page numbering is not just +'1<code>..</code>n'; they may be used independently, but usually are not. +<p>The recipe isn't perfect: it relies on <code>\</code><code>thepage</code> being different +for every page in the document. A common problem arises when there is +an unnumbered title page, after which page numbers are reset: the +PDFTeX warning of "<a href="FAQ-hyperdupdest.html">duplicate destinations</a>" +will happen in this case, regardless of the options. +<dl> +<dt><tt><i>hyperref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +</dl> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pdfpagelabels">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pdfpagelabels</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pdftex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pdftex.html new file mode 100644 index 00000000000..77b1f1266fb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pdftex.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label pdftex</title> +</head><body> +<h3>The PDFTeX project</h3> +<p>PDFTeX (formerly known as TeX2PDF) arose from +Han The Thanh's +post-graduate research at Masaryk University, Brno, Czech +Republic. The basic idea is very simple: to provide a version of +TeX that can output PDF as an alternative format to +DVI. PDFTeX implements a small number of new +primitives, to switch to PDF output, and to control various +PDF features. +Han The Thanh +worked on PDFTeX throughout his Ph.D. research into +typesetting, and the latest release includes facilities he wrote to +support novel typesetting techniques that he was studying. +<p>Since he completed his studies, Han has had little time to work on +PDFTeX, and day-to-day support is provided by a team of experts +(mostly in Europe). +The latest sources are available on CTAN, and +implementations are available as part of Web2C, as well as in the +teTeX, mikTeX, fpTeX, CMacTeX and TeX live distributions +A version (by the author of CMacTeX) for use with OzTeX is also +available on CTAN. +<p>A mailing list discussing PDFTeX is available; + + subscribe via the + <a href="http://www.tug.org/mailman/listinfo/pdftex">TUG <i>mailman</a> interface</i>. +<dl> +<dt><tt><i>pdftex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/pdftex/pdftex.zip">systems/pdftex/pdftex.zip</a> +<dt><tt><i>pdftex for OzTeX</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/systems/mac/pdftex/pdftex_for_oztex.sit.bin">nonfree/systems/mac/pdftex/pdftex_for_oztex.sit.bin</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pdftex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pdftex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pdftexgraphics.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pdftexgraphics.html new file mode 100644 index 00000000000..71fd5d72a93 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pdftexgraphics.html @@ -0,0 +1,56 @@ +<head> +<title>UK TeX FAQ -- question label pdftexgraphics</title> +</head><body> +<h3>Imported graphics in PDFLaTeX</h3> +<p>PDFTeX itself has a rather wide range of formats that it can +"natively" incorporate into its output PDF stream: +JPEG (<code>.jpg</code> files) for photographs and similar images, +PNG files for artificial bitmap images, and PDF for +vector drawings. Old versions of PDFTeX (prior to version 1.10a) +supported TIFF (<code>.tif</code> files) format as an alternative +to PNG files; don't rely on this facility, even if you +<em>are</em> running an old enough version of PDFTeX... +<p>In addition to the 'native' formats, the standard PDFLaTeX +<i>graphics</i> package setup causes Hans Hagen's <i>supp-pdf</i> +macros to be loaded: these macros are capable of translating the +output of MetaPost to PDF "on the fly"; thus MetaPost output +(<code>.mps</code> files) may also be included in PDFLaTeX documents. +<p>The commonest problem users encounter, when switching from TeX, is +that there is no straightforward way to include EPS files: +since PDFTeX is its own "driver", and since it contains no means +of converting PostScript to PDF, there's no direct way the job can +be done. +<p>The simple solution is to convert the EPS to an appropriate +PDF file. The <i>epstopdf</i> program will do this: it's +available either as a Windows executable or as a <i>Perl</i> +script to run on Unix and other similar systems. A LaTeX package, +<i>epstopdf</i>, can be used to generate the requisite PDF +files "on the fly"; this is convenient, but requires that you +suppress one of TeX's security checks: don't use it in files from +sources you don't entirely trust. +<p>A similar package, <i>ps4pdf</i>, permits other things than 'mere' +graphics files in its argument. (Documentation is scarce: see the +<a href="http://www.perce.de/LaTeX/ps4pdf/Examples/">distribution page</a> +for some examples.) +<p>An alternative solution is to use <i>purifyeps</i>, a +<i>Perl</i> script which uses the good offices of +<i>pstoedit</i> and of MetaPost to convert your Encapsulated PostScript to +"Encapsulated PostScript that comes out of MetaPost", and can therefore be +included directly. Sadly, <i>purifyeps</i> doesn't work for all +<code>.eps</code> files. +<p>Good coverage of the problem is to be found in Herbert Voss' +<a href="http://pstricks.de/pdf/pdfoutput.phtml#pdftricks">PDFtricks support page</a>, +which is, in fact, targeted at the use of <i>pstricks</i> in +PDFLaTeX, and also covers the <i>pstricks</i>-specific package +<i>pdftricks</i>. +<dl> +<dt><tt><i>epstopdf</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/support/epstopdf/">support/epstopdf/</a> +<dt><tt><i>epstopdf.sty</i></tt><dd>Distributed with Heiko Oberdiek's packages + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/oberdiek.zip">macros/latex/contrib/oberdiek</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/oberdiek.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/oberdiek/">browse</a>) +<dt><tt><i>pdftricks.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pdftricks.zip">macros/latex/contrib/pdftricks</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pdftricks.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/pdftricks/">browse</a>) +<dt><tt><i>ps4pdf.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ps4pdf.zip">macros/latex/contrib/ps4pdf</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ps4pdf.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ps4pdf/">browse</a>) +<dt><tt><i>pstoedit</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/pstoedit.zip">support/pstoedit</a> (<a href="ftp://cam.ctan.org/tex-archive/support/pstoedit.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/pstoedit/">browse</a>) +<dt><tt><i>purifyeps</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/purifyeps.zip">support/purifyeps</a> (<a href="ftp://cam.ctan.org/tex-archive/support/purifyeps.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/purifyeps/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pdftexgraphics">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pdftexgraphics</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pk.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pk.html new file mode 100644 index 00000000000..059614210bf --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pk.html @@ -0,0 +1,19 @@ +<head> +<title>UK TeX FAQ -- question label pk</title> +</head><body> +<h3>What are PK files?</h3> +<p>PK files (packed raster) contain font bitmaps. The output +from + + <a href="FAQ-useMF.html">Metafont</a> +includes a generic font (GF) file and the +utility <i>gftopk</i> produces the PK file from that. +There are a lot of PK files, as one is needed for each font, +that is each magnification (size) of each design (point) size for each +weight for each family. Further, since the PK files for one printer +do not necessarily work well for another, the whole set needs to be +duplicated for each printer type at a site. As a result, they are +often held in an elaborate directory structure, or in 'font library +files', to regularise access. +<p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pk">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pk</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pkfix.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pkfix.html new file mode 100644 index 00000000000..b452169d34d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pkfix.html @@ -0,0 +1,38 @@ +<head> +<title>UK TeX FAQ -- question label pkfix</title> +</head><body> +<h3>Replacing Type 3 fonts in PostScript</h3> +<p>One often comes across a PostScript file generated by +<i>dvips</i> which contains embedded PK fonts; if you try +to generate PDF from such a file, the quality will be poor. +<p>Of course, the proper solution is to regenerate the PostScript file, +but if neither the sources nor the DVI file are available, one +must needs resort to some sort of patching to replace the bitmap fonts +in the file by outline fonts. +<p>The program <i>pkfix</i> (by Heiko Oberdiek) will do this +patching, for files created by "not too old versions" of +<i>dvips</i>: it finds the fonts to be replaced by examining the +PostScript comments <i>dvips</i> has put in the file. For each +font, <i>pkfix</i> puts appropriate TeX commands in a file, +which it then processes and runs through <i>dvips</i> (with switch +<code>-Ppdf</code>) to acquire an appropriate copy of the font; these copies are +then patched back into the original file. +<p> + + + + + + + + + +Yet another option is Frank Siegert's (shareware) +<a href="http://www.pstill.com">PStill</a>, which is capable of processing +the PostScript it is distilling, and one option is to replace bitmap fonts +in the file with Type 1 versions. +<dl> +<dt><tt><i>pkfix</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/pkfix.zip">support/pkfix</a> (<a href="ftp://cam.ctan.org/tex-archive/support/pkfix.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/pkfix/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pkfix">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pkfix</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pkgdoc.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pkgdoc.html new file mode 100644 index 00000000000..46f148b3ff4 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-pkgdoc.html @@ -0,0 +1,71 @@ +<head> +<title>UK TeX FAQ -- question label pkgdoc</title> +</head><body> +<h3>Documentation of packages</h3> +<p>These FAQs regularly suggest packages that will "solve" +particular problems. In some cases, the answer provides a recipe for +the job. In other cases, or when the solution needs elaborating, how +is the poor user to find out what to do? +<p>If you're lucky, the package you need is already in your installation. +If you're particularly lucky, you're using a distribution that gives +access to package documentation and the documentation is available in +a form that can easily be shown. For example, on a teTeX-based +system, the <i>texdoc</i> command is usually useful, as in: +<blockquote> +<pre> +texdoc footmisc +</pre> +</blockquote> +which opens an <i>xdvi</i> window showing documentation of the +<i>footmisc</i> package. According to the type of file +<i>texdoc</i> finds, it will launch <i>xdvi</i>, +a <i>ghostscript</i>-based PostScript viewer or a PDF reader. +If it can't find any documentation, it may launch a Web browser to +look at its copy of the CTAN catalogue. The catalogue has an +entry for package documentation, and since CTAN now +encourages authors to submit documentation of their packages, that +entry may provide a useful lead. +<p>If your luck (as defined above) doesn't hold out, you've got to find +documentation by other means. This is where you need to exercise your +intelligence: you have to find the documentation for yourself. What +follows offers a range of possible techniques. +<p>The commonest form of documentation of LaTeX add-ons is within the +<code>.dtx</code> file in which the code is distributed (see +<a href="FAQ-dtx.html">documented LaTeX sources</a>). Such files +are supposedly processable by LaTeX itself, but there are +occasional hiccups on the way to readable documentation. Common +problems are that the package itself is needed to process its own +documentation (so must be unpacked before processing), and that the +<code>.dtx</code> file will <em>not</em> in fact process with LaTeX. In the +latter case, the <code>.ins</code> file will usually produce a <code>.drv</code> (or +similarly-named) file, which you process with LaTeX instead. +(Sometimes the package author even thinks to mention this wrinkle in +a package <code>README</code> file.) +<p>Another common form is the separate documentation file; particularly +if a package is "conceptually large" (and therefore needs a lot of +documentation), the documentation would prove a cumbersome extension +to the <code>.dtx</code> file. Examples of such cases are the <i>memoir</i> +class (whose documentation, <i>memman</i>, is widely praised as an +introduction to typesetting concepts), the <i>KOMA-script</i> bundle +(whose developers take the trouble to produce detailed documentation +in both German and English), and the <i>fancyhdr</i> package (whose +documentation derives from a definitive tutorial in a mathematical +journal). Even if the documentation is not separately identified in a +<code>README</code> file, it should not be too difficult to recognise its +existence. +<p>Documentation within the package itself is the third common form. +Such documentation ordinarily appears in comments at the head of the +file, though at least one eminent author regularly places it after the +<code>\</code><code>endinput</code> command in the package. (This is desirable, since +<code>\</code><code>endinput</code> is a 'logical' end-of-file, and (La)TeX doesn't read +beyond it: thus such documentation does not 'cost' any package loading time.) +<p>The above suggestions cover most possible ways of finding +documentation. If, despite your best efforts, you can't find +it in any of the above places, there's the awful possibility that the +author didn't bother to document his package (on the "if it was hard +to write, it should be hard to use" philosophy). Most ordinary +mortals will seek support from some more experienced user at this +stage, though it <em>is</em> possible to proceed in the way that the original +author apparently expected...by reading his code. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pkgdoc">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=pkgdoc</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-plainvltx.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-plainvltx.html new file mode 100644 index 00000000000..d0ec2b4a133 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-plainvltx.html @@ -0,0 +1,21 @@ +<head> +<title>UK TeX FAQ -- question label plainvltx</title> +</head><body> +<h3>Should I use Plain TeX or LaTeX?</h3> +<p>There's no straightforward answer to this question. Many people swear +by Plain TeX, and produce highly respectable documents using it +(Knuth is an example of this, of course). But equally, many people +are happy to let someone else take the design decisions for them, +accepting a small loss of flexibility in exchange for a saving of +brain power. +<p>The arguments around this topic can provoke huge amounts of noise and +heat, without offering much by way of light; your best bet is to find +out what those around you are using, and to go with the crowd. Later +on, you can always switch your allegiance; don't bother about it. +<p>If you are preparing a manuscript for a publisher or journal, ask them +what markup they want before you +develop your own; many big publishers have developed their own +(La)TeX styles for journals and books, and insist that authors stick +closely to their markup. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=plainvltx">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=plainvltx</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-plninltx.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-plninltx.html new file mode 100644 index 00000000000..423caff49b2 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-plninltx.html @@ -0,0 +1,90 @@ +<head> +<title>UK TeX FAQ -- question label plninltx</title> +</head><body> +<h3>Using Plain or primitive commands in LaTeX</h3> +<p>It's well-known that LaTeX commands tend to be more complex, and to +run more slowly than, any Plain (or primitive) command that they +replace. There is therefore great temptation not to use LaTeX +commands when macro programming. Nevertheless, the general rule is +that you should use LaTeX commands, if there are seeming +equivalents. The exception is when you are sure you know the +differences between the two commands and you know that you need the +Plain version. So, for example, use <code>\</code><code>mbox</code> in place of <code>\</code><code>hbox</code> +unless you know that the extras that LaTeX provides in <code>\</code><code>mbox</code> +would cause trouble in your application. Similarly, use +<code>\</code><code>newcommand</code> (or one of its relatives) unless you need one of the +constructs that cannot be achieved without the use of <code>\</code><code>def</code> (or friends). +<p>As a general rule, any LaTeX text command will start a new +paragraph if necessary; this isn't the case with Plain TeX +commands, a fact which has a potential to confuse. +<p>The commands <code>\</code><code>smallskip</code>, <code>\</code><code>medskip</code> and <code>\</code><code>bigskip</code> exist both +in Plain TeX and LaTeX, but behave slightly differently: in Plain +TeX they terminate the current paragraph, but in LaTeX they +don't. The command <code>\</code><code>line</code> is part of picture mode in LaTeX, +whereas it's defined as "<code>\</code><code>hbox</code><code> to </code><code>\</code><code>hsize</code>" in +Plain TeX. (There's no equivalent for users of the Plain TeX command in +LaTeX: an equivalent appears as the internal command <code>\</code><code>@@line</code>). +<p>Maths setting shows a case where the LaTeX version <em>is</em> +essentially equivalent to the TeX primitive commands: the LaTeX +<code>\</code><code>(</code><code> ... </code><code>\</code><code>)</code> does essentially no different to the +TeX <code>$ ... $</code> +(except for checking that you're not attempting to open a maths +environment when you're already in one, or vice versa). +However, <code>\</code><code>[</code><code> ... </code><code>\</code><code>]</code> <em>isn't</em> the same as +<code>$$ ... $$</code>: the TeX version, used +in LaTeX, contrives to miss the effect of the class option +<code>fleqn</code>. +<p>Font handling is, of course, wildly different in Plain TeX and +LaTeX: even the LaTeX equivalent of the Plain TeX +font-loading command (<code>\</code><code>newfont</code>) should be avoided wherever +possible: the possibilities of confusion with constructs that vary +their behaviour according to the font size that LaTeX has recorded +are (sadly) legion. A really rather funny example is to be had by +saying: +<blockquote> +<pre> +\documentclass{article} +\begin{document} +\font \myfont=cmr17 scaled 2000 +\myfont +\LaTeX +\end{document} +</pre> +</blockquote> +(the reader is encouraged to try this). The "A" of LaTeX +has pretty much disappeared: LaTeX sets the "A" according to +<em>its</em> idea of the font size (10pt), but "<code>\</code><code>myfont</code>" is more +than three times that size. +<p>Another "<code>\</code><code>myfont</code>" example arises from an entirely different +source. The mini-document: +<blockquote> +<pre> +\documentclass{article} +\begin{document} +\font \myfont=ecrm1000 +{\myfont par\`a} +\end{document} +</pre> +</blockquote> +gives you "German low double quotes" in place of the grave accent. +This problem arises because <i>ecrm1000</i> is in a different +<a href="FAQ-whatenc.html">font encoding</a> than LaTeX is expecting - if you +use LaTeX font commands, all the tiresome encoding issues are +solved for you, behind the scenes. +<p>So, whether you're dealing with a one-off font or a major new family, you +are far more likely to be satisfied with the LaTeX file selection +system, so it's worth investing a small amount of effort to write +declarations of the font's family and how it should be loaded. For +details of the commands you need, see the LaTeX font usage guide, +<i>fntguide</i>: this may be viewed on the archive, but you should +find a copy of the document in your own system. + + + + +<dl> +<dt><tt><i>fntguide.pdf</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/doc/fntguide.pdf">macros/latex/doc/fntguide.pdf</a> +<dt><tt><i>fntguide.tex</i></tt><dd>Distributed with <a href="ftp://cam.ctan.org/tex-archive/macros/latex/base.zip">macros/latex/base</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/base.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/base/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=plninltx">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=plninltx</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-previewers.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-previewers.html new file mode 100644 index 00000000000..cf673a555da --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-previewers.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label previewers</title> +</head><body> +<h3>DVI previewers</h3> +<p>EmTeX for PCs running MSDOS or OS/2, MiKTeX and +fpTeX for PCs running Windows and OzTeX for the Macintosh, all +come with previewers that can be used on those platforms. EmTeX's +previewer can also be run under Windows 3.1. +<p>Commercial PC TeX packages (see +<a href="FAQ-commercial.html">commercial vendors</a>) +have good previewers for PCs running Windows, or for Macintoshes. +<p>For Unix systems, there is one 'canonical' viewer, <i>xdvi</i>. +<i>Xdvik</i> is a version of <i>xdvi</i> using the +<i>web2c</i> libraries; it is now built from the same distribution +as <i>xdvi</i>. Unix TeX distributions (such as +teTeX) include a version of <i>xdvik</i> +using the same version of <i>web2c</i> as the rest of the +distribution. +<p>Alternatives to previewing include +<ul> +<li> conversion to 'similar' ASCII text (see + <a href="FAQ-toascii.html">converting to ASCII</a>) and using a + conventional text viewer to look at that, +<li> generating a PostScript version of your document and viewing it + with a <i>Ghostscript</i>-based previewer (see + <a href="FAQ-PSpreview.html">previewing PostScript files</a>), and +<li> generating PDF output, and viewing that with + <i>Acrobat</i> <i>Reader</i> or one of the substitutes for that. +</ul> +<dl> +<dt><tt><i>xdvi</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/xdvi.zip">dviware/xdvi</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/xdvi.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/xdvi/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=previewers">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=previewers</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-prinvalint.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-prinvalint.html new file mode 100644 index 00000000000..2621c930464 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-prinvalint.html @@ -0,0 +1,24 @@ +<head> +<title>UK TeX FAQ -- question label prinvalint</title> +</head><body> +<h3>The Principal Value Integral symbol</h3> +<p>This symbol (an integral sign, 'crossed') does not appear in any of +the fonts ordinarily available to (La)TeX users, but it can be +created by use of the following macros: +<pre> +\def\Xint#1{\mathchoice + {\XXint\displaystyle\textstyle{#1}}% + {\XXint\textstyle\scriptstyle{#1}}% + {\XXint\scriptstyle\scriptscriptstyle{#1}}% + {\XXint\scriptscriptstyle\scriptscriptstyle{#1}}% + \!\int} +\def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$} + \vcenter{\hbox{$#2#3$}}\kern-.5\wd0}} +\def\ddashint{\Xint=} +\def\dashint{\Xint-} +</pre> + +<code>\</code><code>dashint</code> gives a single-dashed integral sign, <code>\</code><code>ddashint</code> a +double-dashed one. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=prinvalint">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=prinvalint</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-privinst.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-privinst.html new file mode 100644 index 00000000000..41d28558d7e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-privinst.html @@ -0,0 +1,117 @@ +<head> +<title>UK TeX FAQ -- question label privinst</title> +</head><body> +<h3>"Private" installations of files</h3> +<p>It sometimes happens that you need a new version of some macro package +or font, but that the machine you use is maintained by someone who's +unwilling to update and won't give you privileges to do the job +yourself. A <a href="FAQ-tempinst.html">"temporary" installation</a> is +sometimes the correct approach, but if there's the slightest chance +that the installation will be needed on more than one project, +temporary installations aren't right. +<p>In circumstances where you have plenty of quota on backed-up media, or +adequate local scratch space, the correct approach is to create a +private installation of (La)TeX which includes the new stuff you +need; this is the ideal, but is not generally possible. +<p>So, since you can't install into the public <code>texmf</code> tree, you +have to install into a <i>texmf</i> of your own; fortunately, the +TDS standard allows for this, and teTeX 2.0 actually makes +provision for it, defining an internal variable <code>HOMETEXMF</code> +which points to the directory <i>$HOME/texmf</i>. (TeTeX 1.0 had +the definition, but suppressed it with comment markers.) +<p>So, install your new package (or whatever) in the +<a href="FAQ-wherefiles.html">correct place</a> in a tree based on +<i>$HOME/texmf</i>, and generate an index of that tree +<blockquote> +<pre> +texhash $HOME/texmf +</pre> +</blockquote> +(the argument specifies which tree you are indexing: it's necessary +since you don't, by hypothesis, have access to the main tree, and +<i>texhash</i> without the argument would try to write the main +tree. +<p>There are two wrinkles to this simple formula: first, the installation +you're using may <em>not</em> define <code>HOMETEXMF</code> (teTeX 1.0 +didn't, for example), and second, there may be some obstruction to +using <i>$HOME/texmf</i> as the default name. In either case, a good +solution is to have your own <i>texmf.cnf</i> - an idea that sounds +more frightening that it actually is. The installation's existing +file may be located with the command: +<blockquote> +<pre> +kpsewhich texmf.cnf +</pre> +</blockquote> +Take a copy of the file and put it into a directory of your own; this +could be any directory, but an obvious choice is the <i>web2c</i> +directory of the tree you want to create, i.e., +<i>$HOME/texmf/web2c</i> or the like. Make an environment variable to +point to this directory: +<blockquote> +<pre> +TEXMFCNF=$HOME/texmf/web2c +export TEXMFCNF +</pre> +</blockquote> +(for a Bourne shell style system), or +<blockquote> +<pre> +setenv TEXMFCNF $HOME/texmf/web2c +</pre> +</blockquote> +(for a C-shell style system). Now edit the copy of <i>texmf.cnf</i> +<p>There will be a line in the existing file that defines the tree where +everything searches; the simplest form of the line is: +<blockquote> +<pre> +TEXMF = !!$TEXMFMAIN +</pre> +</blockquote> +but, as teTeX 1.0 is distributed, there are several alternative +settings behind comment markers ("<code>%</code>"), and the +person who +installed your system may have left them there. Whatever, you need to +modify the line that's in effect: change the above to three lines: +<blockquote> +<pre> +HOMETEXMF = $HOME/texmf +TEXMF = {$HOMETEXMF,!!$TEXMFMAIN} +% TEXMF = !!$TEXMFMAIN +</pre> +</blockquote> +the important point being that <code>$HOMETEXMF</code> must come before whatever +was there before, inside the braces. For example, if the original was +<blockquote> +<pre> +TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN} +</pre> +</blockquote> +it should be converted to: +<blockquote> + +<pre> +HOMETEXMF = $HOME/texmf +TEXMF = {$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN} +% TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN} +</pre> +</blockquote> +(retaining the original, as a comment, is merely an aide-memoir in +case you need to make another change, later). The <code>!!</code> signs +tell the file-searching library that it should insist on a +<i>texhash</i>-ed directory tree; if you can count on yourself +remembering to run <i>texhash</i> on your new tree every time you +change it, then it's worth adding the marks to your tree: +<blockquote> + +<pre> +TEXMF = {!!$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN} +</pre> +</blockquote> +as this will make (La)TeX find its files marginally faster. +<p>Having made all these changes, (La)TeX should "just use" files in +your new tree, in preference to anything in the main tree - you can +use it for updates to packages in the main tree, as well as for +installing new versions of things. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=privinst">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=privinst</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-proof.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-proof.html new file mode 100644 index 00000000000..5c79f00b1cb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-proof.html @@ -0,0 +1,39 @@ +<head> +<title>UK TeX FAQ -- question label proof</title> +</head><body> +<h3>Proof environment</h3> +<p>It has long been thought impossible to make a <code>proof</code> +environment which automatically includes an 'end-of-proof' symbol. +Some proofs end in displayed maths; others do not. If the input file +contains + +<code>...<code>\</code><code>]</code> </code><code>\</code><code>end{proof}</code> then LaTeX finishes off +the displayed maths and gets ready for a new line before it reads any +instructions connected with ending the proof, so the code is very +tricky. You <em>can</em> insert the symbol by hand, but the +<i>ntheorem</i> package now solves the problem for LaTeX users: +it does indeed provide an automatic way of signalling the end of a +proof. +<p>The AMSLaTeX package <i>amsthm</i> also provides a +<code>proof</code> environment that does the job; though you need to +insert a <code>\</code><code>qedhere</code> command if the proof ends with a displayed +equation: +<blockquote> +<pre> +\begin{proof} + text... + \begin{equation*} + maths... \tag*{\qedhere} + \end{equation*} +\end{proof} +</pre> +</blockquote> +The <code>\</code><code>tag*{<code>\</code><code>qedhere</code>}</code> construction may be used in any of +AMSLaTeX's numbering environments. +<dl> +<dt><tt><i>amsthm.sty</i></tt><dd>Distributed as part of the AMSLaTeX bundle + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +<dt><tt><i>ntheorem</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ntheorem.zip">macros/latex/contrib/ntheorem</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ntheorem.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ntheorem/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=proof">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=proof</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-protect.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-protect.html new file mode 100644 index 00000000000..10327ca08fa --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-protect.html @@ -0,0 +1,35 @@ +<head> +<title>UK TeX FAQ -- question label protect</title> +</head><body> +<h3>What's the reason for 'protection'?</h3> +<p>Sometimes LaTeX saves data it will reread later. These data are +often the argument of some command; they are the so-called moving +arguments. ('Moving' because data are moved around.) Places to look for +are all arguments that may go into table of contents, list of figures, +<em>etc</em>.; namely, data that are written to an auxiliary file and +read in later. Other places are those data that might appear in head- +or footlines. Section headings and figure captions are the most +prominent examples; there's a complete list in Lamport's book +(see <a href="FAQ-books.html">TeX-related books</a>). +<p> + +<p>What's going on really, behind the scenes? The commands in the moving +arguments are already expanded to their internal structure during the +process of saving. Sometimes this expansion results in invalid TeX +code when processed again. "<code>\</code><code>protect</code><code>\</code><code>cmd</code>" tells LaTeX to save +<code>\</code><code>cmd</code> as <code>\</code><code>cmd</code>, without expansion. +<p>What is a 'fragile command'? It's a command that expands into illegal +TeX code during the save process. +<p>What is a 'robust command'? It's a command that expands into legal +TeX code during the save process. +<p>Again, commands are marked as 'robust' or 'fragile', as they're +defined in Lamport's book. Sadly, some commands are robust in +LaTeX itself, but are redefined by some packages to be fragile; the +<code>\</code><code>cite</code> command commonly suffers this treatment. +<p>No-one (of course) likes this situation; the LaTeX3 team have +removed the need for protection of some things in the production of +LaTeX2e, but the techniques available to them within current +LaTeX mean that this is an expensive exercise. It remains a +long-term aim of the team to remove all need for these things. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=protect">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=protect</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-psatempty.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-psatempty.html new file mode 100644 index 00000000000..6dd6a8627b5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-psatempty.html @@ -0,0 +1,42 @@ +<head> +<title>UK TeX FAQ -- question label ps@empty</title> +</head><body> +<h3><code>\pagestyle{empty}</code> on first page in LaTeX</h3> +<p>If you use <code>\</code><code>pagestyle{empty}</code>, but the first page is numbered +anyway, you are probably using the <code>\</code><code>maketitle</code> command too. The +behaviour is not a bug but a feature. The standard LaTeX classes are +written so that initial pages (pages containing a <code>\</code><code>maketitle</code>, +<code>\</code><code>part</code>, or <code>\</code><code>chapter</code>) have a different page style from the rest +of the document; to achieve this, the commands internally issue +<code>\</code><code>thispagestyle{plain}</code>. This is usually not acceptable +behaviour if the surrounding page style is 'empty'. +<p>Possible workarounds include: +<ul> +<li> Put <code>\</code><code>thispagestyle{empty</code>} immediately after the + <code>\</code><code>maketitle</code> command, with no blank line between them. +<li> Use the <i>fancyhdr</i> or <i>scrpage2</i> packages, which + allow you to customise the style for initial pages independently of + that for body pages. +<p> For example, use <i>fancyhdr</i> commands: +<pre> +\fancypagestyle{plain}{% + \fancyhf{}% + \renewcommand{\headrulewidth}{0pt}% + \renewcommand{\footrulewidth}{0pt}% +} +</pre> + and the "<code>empty</code>" page style (invoked by <code>\</code><code>chapter</code> + commands and title pages) will have no header or footer. +<li> If you are using either the <i>memoir</i> class or a + <i>KOMA-script</i> class, use the techniques outlined for them in + "<a href="FAQ-nopageno.html">no page numbers</a>". +</ul> +<dl> +<dt><tt><i>fancyhdr.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyhdr.zip">macros/latex/contrib/fancyhdr</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyhdr.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fancyhdr/">browse</a>) +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>nopageno.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle/nopageno.sty">macros/latex/contrib/carlisle/nopageno.sty</a> +<dt><tt><i>scrpage2.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ps@empty">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ps@empty</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-psfchoice.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-psfchoice.html new file mode 100644 index 00000000000..b72c19f8c6e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-psfchoice.html @@ -0,0 +1,382 @@ +<head> +<title>UK TeX FAQ -- question label psfchoice</title> +</head><body> +<h3>Choice of scalable outline fonts</h3> +<p>If you are interested in text alone, you can in principle use any of +the huge numbers of text fonts in Adobe Type 1, TrueType or OpenType +formats. The constraint is, of course, that your previewer and +printer driver should support such fonts (TeX itself <em>only</em> +cares about metrics, not the actual character programs). +<p>If you also need mathematics, then you are severely limited by the +demands that TeX makes of maths fonts (for details, see the paper by B.K.P. +Horn in <i>TUGboat</i> 14(3)). +For maths, then, there are relatively few choices (though the list is +at last growing). There are several font families available that are +based on Knuth's original designs, and some that complement other +commercial text font designs; one set (MicroPress's 'informal math') +stands alone. "Free" font families that will support TeX +mathematics include: +<dl> +<dt>Computer Modern<dd>(75 fonts - optical scaling) Donald E. Knuth<br> + The CM fonts were originally designed in Metafont, but are also + now available in scalable outline form. There are commercial as + well as public domain versions, and there are both Adobe Type 1 and + TrueType versions. A set of outline versions of the fonts was + developed as a commercial venture by Y&Y and Blue Sky Research; + they have since assigned the copyright to the AMS, and the + fonts are now freely available from CTAN. Their quality is + such that they have become the <em>de facto</em> standard for Type 1 + versions of the fonts. +<dt>AMS fonts<dd>(52 fonts, optical scaling) The AMS<br> + This set of fonts offers adjuncts to the CM set, including + two sets of symbol fonts (<code>msam</code> and <code>msbm</code>) and Euler text fonts. + These are not a self-standing family, but merit discussion here (not + least because several other families mimic the symbol fonts). + Freely-available Type 1 versions of the fonts are available on + CTAN. The <i>eulervm</i> package permits use + of the Euler maths alphabet in conjunction with text fonts that do + not provide maths alphabets of their own (for instance, Adobe + Palatino or Minion). +<dt>mathpazo version 1.003<dd>(5 fonts) Diego Puga<br> + The Pazo Math fonts are a family of type 1 fonts suitable for + typesetting maths in combination with the Palatino family of text + fonts. Four of the five fonts of the distribution are maths + alphabets, in upright and italic shapes, medium and bold weights; + the fifth font contains a small selection of "blackboard bold" + characters (chosen for their mathematical significance). Support + under LaTeX2e is available in + <a href="FAQ-usepsfont.html">PSNFSS</a>; the fonts are + licensed under the GPL, with legalese permitting the use of + the fonts in published documents. +<dt>Fourier/Utopia<dd>(15 fonts) Michel Bovani<br> + <i>Fourier</i> is a family built on Adobe <i>Utopia</i> + (which has been released for usage free of charge by Adobe). The + fonts provide the basic Computer Modern set of mathematical symbols, + and add many of the AMS mathematical symbols (though you are + expected to use some from the AMS fonts themselves). There + are also several other mathematical and decorative symbols. The + fonts come with a <i>fourier</i> package for use with LaTeX; + text support of OT1 encoding is not provided - you are + expected to use T1. +<dt>MathDesign<dd>(3 entire families...so far) Paul Pichareau<br> + This (very new: first release was in April 2005) set so far offers + mathematics fonts to match Adobe Utopia, URW Garamond and Bitstream + Charter (all of which are separately available, on CTAN, in Type 1 + format). There has been a little comment on these fonts, but none + from actual users posted to the public forums. Users, particularly + those who are willing to discuss their experiences, would obviously + be welcome. Browse the CTAN directory and see which you + want: there is a wealth of documentation and examples. +<dt>Belleek<dd>(3 fonts) Richard Kinch<br> + Belleek is the upshot of Kinch's thoughts on how Metafont might be used + in the future: they were published simultaneously as Metafont source, + as Type 1 fonts, and as TrueType fonts. The fonts act as "drop-in" + replacements for the basic MathTime set (as an example of "what might + be done"). +<p> The paper outlining Kinch's thoughts, proceeding from considerations + of the 'intellectual' superiority of Metafont to evaluations of why its + adoption is so limited and what might be done about the problem, is + to be found at <a href="http://truetex.com/belleek.pdf">http://truetex.com/belleek.pdf</a> (the paper is a + good read, but exhibits the problems discussed in + "<a href="FAQ-dvips-pdf.html">getting good PDF</a>" - + don't try to read it on-screen in Acrobat reader). +<dt>mathptmx<dd>Alan Jeffrey, Walter Schmidt and others.<br> + This set contains maths italic, symbol, extension, and roman virtual + fonts, built from Adobe Times, Symbol, Zapf Chancery, and the + Computer Modern fonts. The resulting mixture is not entirely + acceptable, but can pass in many circumstances. The real advantage + is that the mathptm fonts are (effectively) free, and the resulting + PostScript files can be freely exchanged. Support under LaTeX2e + is available in <a href="FAQ-usepsfont.html">PSNFSS</a>. +<dt>Computer Modern Bright<dd>Free scalable outline versions of these + fonts do exist; they are covered below together with their + commercial parallels. +</dl> +Fonts capable of setting TeX mathematics, that are available +commercially, include: +<dl> +<dt>BA Math<dd>(13 fonts) MicroPress Inc.<br> + BA Math is a family of serif fonts, inspired by the elegant + and graphically perfect font design of John Baskerville. BA + Math comprises the fonts necessary for mathematical typesetting + (maths italic, math symbols and extensions) in normal and bold + weights. The family also includes all OT1 and T1 + encoded text fonts of various shapes, as well as fonts with most + useful glyphs of the TS1 encoding. Macros for using the + fonts with Plain TeX, LaTeX 2.09 and current LaTeX are + provided. +<p> + For further details (including samples) see<br> + <a href="http://www.micropress-inc.com/fonts/bamath/bamain.htm">http://www.micropress-inc.com/fonts/bamath/bamain.htm</a> + +<dt>CH Math<dd>(15 fonts) MicroPress Inc.<br> + CH Math is a family of slab serif fonts, designed as a maths + companion for Bitstream Charter. (The distribution includes + four free Bitstream text fonts, in addition to the 15 hand-hinted + MicroPress fonts.) + + For further details (including samples) see<br> + <a href="http://www.micropress-inc.com/fonts/chmath/chmain.htm">http://www.micropress-inc.com/fonts/chmath/chmain.htm</a> + +<dt>Computer Modern Bright<dd>(62 fonts - optical scaling) Walter + Schmidt<br> + CM Bright is a family of sans serif fonts, based on Knuth's + CM fonts. It comprises the fonts necessary for mathematical + typesetting, including AMS symbols, as well as text and text + symbol fonts of various shapes. The collection comes with its own + set of files for use with LaTeX. The CM Bright fonts are + supplied in Type 1 format by MicroPress, Inc. The + <i>hfbright</i> bundle offers free Type 1 fonts for text using + the OT1 encoding - the <i>cm-super</i> set for + use with T1 texts doesn't (yet) offer support for mathematics. +<p> + For further details of Micropress' offering (including samples) see<br> + <a href="http://www.micropress-inc.com/fonts/brmath/brmain.htm">http://www.micropress-inc.com/fonts/brmath/brmain.htm</a> + +<dt>Concrete Math<dd>(25 fonts - optical scaling) Ulrik Vieth<br> + The Concrete Math font set was derived from the Concrete Roman + typefaces designed by Knuth. The set provides a collection of math + italics, math symbol, and math extension fonts, and fonts of + AMS symbols that fit with the Concrete set, so that Concrete + may be used as a complete replacement for Computer Modern. Since + Concrete is considerably darker than CM, the family may + particularly attractive for use in low-resolution printing or in + applications such as posters or transparencies. Concrete Math + fonts, as well as Concrete Roman fonts, are supplied in Type 1 + format by MicroPress, Inc. +<p> + For further information (including samples) see<br> + <a href="http://www.micropress-inc.com/fonts/ccmath/ccmain.htm">http://www.micropress-inc.com/fonts/ccmath/ccmain.htm</a> + +<dt>HV Math<dd>(14 fonts) MicroPress Inc.<br> + HV Math is a family of sans serif fonts, inspired by the + Helvetica (TM) typeface. HV Math comprises the fonts + necessary for mathematical typesetting (maths italic, maths symbols + and extensions) in normal and bold weights. The family also + includes all OT1 and T1 encoded text fonts of various + shapes, as well as fonts with most useful glyphs of the TS1 + encoding. Macros for using the fonts with Plain TeX, LaTeX 2.09 + and current LaTeX are provided. Bitmapped copies of the fonts + are available free, on CTAN. +<p> + For further details (and samples) see<br> + <a href="http://www.micropress-inc.com/fonts/hvmath/hvmain.htm">http://www.micropress-inc.com/fonts/hvmath/hvmain.htm</a> + +<dt>Informal Math<dd>(7 outline fonts) MicroPress Inc.<br> + Informal Math is a family of fanciful fonts loosely based on the + Adobe's Tekton (TM) family, fonts which imitate handwritten + text. Informal Math comprises the fonts necessary for + mathematical typesetting (maths italic, maths symbols and extensions) + in normal weight, as well as OT1 encoded text fonts in + upright and oblique shapes. Macros for using the fonts with + Plain TeX, LaTeX 2.09 and current LaTeX are provided. +<p> + For further details (including samples) see<br> + <a href="http://www.micropress-inc.com/fonts/ifmath/ifmain.htm">http://www.micropress-inc.com/fonts/ifmath/ifmain.htm</a> + + + + + + + + + + + + + + + + + + + + +<dt>Adobe Lucida, LucidaSans <em>and</em> LucidaMath<dd>(12 fonts)<br> + Lucida and LucidaMath are generally considered to be a bit heavy. + The three maths fonts contain only the glyphs in the CM maths + italic, symbol, and extension fonts. Support for using LucidaMath + with TeX is not very good; you will need to do some work + reencoding fonts <em>etc</em>. (In some sense this set is the + ancestor of the LucidaBright plus LucidaNewMath font set, which are + not currently available.) + + + + + + + + + + + + + + + + + + + + + + + + + +<dt>MathTime Pro<dd>Publish or Perish (Michael Spivak)<br> + This latest instance of the MathTime family covers all the weights + (medium, bold and heavy) and symbols of previous versions of + MathTime. In addition it has a much extended range of symbols, and + many typographic improvements that make for high-quality documents. + The fonts are supported under both Plain TeX and LaTeX2e, and + are exclusively available for purchase from + <a href="FAQ-commercial.html">Personal TeX Inc</a>. + \par + + For a sample, see <a href="http://www.pctex.com/mtpdemo.pdf">http://www.pctex.com/mtpdemo.pdf</a> + +<dt>PA Math<dd> PA Math is a family of serif fonts + loosely based on the Palatino (TM) typeface. PA Math + comprises the fonts necessary for mathematical typesetting (maths + italics, maths, calligraphic and oldstyle symbols, and extensions) + in normal and bold weights. The family also includes all OT1, + T1 encoded text fonts of various shapes, as well as fonts + with the most useful glyphs of the TS1 encoding. Macros for + using the fonts with Plain TeX, LaTeX 2.09 and current LaTeX + are provided. +<p> + For further details (and samples) see<br> + <a href="http://www.micropress-inc.com/fonts/pamath/pamain.htm">http://www.micropress-inc.com/fonts/pamath/pamain.htm</a> + +<dt>TM Math<dd>(14 fonts) MicroPress Inc.<br> + TM Math is a family of serif fonts, inspired by the Times + (TM) typeface. TM Math comprises the fonts necessary for + mathematical typesetting (maths italic, maths symbols and extensions) + in normal and bold weights. The family also includes all OT1 + and T1 encoded text fonts of various shapes, as well as fonts + with most useful glyphs of the TS1 encoding. Macros for + using the fonts with Plain TeX, LaTeX 2.09 and current LaTeX + are provided. Bitmapped copies of the fonts are available free, on + CTAN. +<p> + For further details (and samples) see<br> + <a href="http://www.micropress-inc.com/fonts/tmmath/tmmain.htm">http://www.micropress-inc.com/fonts/tmmath/tmmain.htm</a> + +</dl> +Two other font sets should be mentioned, even though they don't +currently produce satisfactory output - their author is no longer +working on them, and several problems have been identified: +<dl> +<dt>pxfonts set version 1.0<dd>(26 fonts) by Young Ryu<br> + The <i>pxfonts</i> set consists of + <ul> + <li> virtual text fonts using <i>Adobe</i> <i>Palatino</i> (or the URW + replacement used by <i>ghostscript</i>) with modified plus, + equal and slash symbols; + <li> maths alphabets using <i>Palatino</i>; + <li> maths fonts of all symbols in the computer modern maths fonts + (<i>cmsy</i>, <i>cmmi</i>, <i>cmex</i> and the Greek + letters of <i>cmr</i>) + <li> maths fonts of all symbols corresponding to the AMS + fonts (<i>msam</i> and <i>msbm</i>); + <li> additional maths fonts of various symbols. + </ul> + The text fonts are available in OT1, T1 and LY1 + encodings, and TS encoded symbols are also available. The + sans serif and monospaced fonts supplied with the <i>txfonts</i> + set (see below) may be used with <i>pxfonts</i>; the + <i>txfonts</i> set should be installed whenever <i>pxfonts</i> + are. LaTeX, <i>dvips</i> and PDFTeX support files are + included. + + <a href="http://www.tex.ac.uk/tex-archive/fonts/pxfonts/doc/pxfontsdocA4.pdf">Documentation</a> + is readily available. +<p> The fonts are licensed under the GPL; use in published + documents is permitted. +<dt>txfonts set version 3.1<dd>(42 fonts) by Young Ryu<br> + The <i>txfonts</i> set consists of + <ul> + <li> virtual text fonts using <i>Adobe</i> <i>Times</i> (or the URW + replacement used by <i>ghostscript</i>) with modified plus, + equal and slash symbols; + <li> matching sets of sans serif and monospace ('typewriter') + fonts (the sans serif set is based on <i>Adobe</i> <i>Helvetica</i>); + <li> maths alphabets using <i>Times</i>; + <li> maths fonts of all symbols in the computer modern maths fonts + (<i>cmsy</i>, <i>cmmi</i>, <i>cmex</i> and the Greek letters of <i>cmr</i>) + <li> maths fonts of all symbols corresponding to the AMS + fonts (<i>msam</i> and <i>msbm</i>); + <li> additional maths fonts of various symbols. + </ul> + The text fonts are available in OT1, T1 and LY1 + encodings, and TS encoded symbols are also available. + + <a href="http://www.tex.ac.uk/tex-archive/fonts/txfonts/doc/txfontsdocA4.pdf">Documentation</a> + is readily available. +<p> The fonts are licensed under the GPL; use in published + documents is permitted. +</dl> +Finally, one must not forget: +<dl> +<dt>Proprietary fonts<dd>Various sources.<br> + Since having a high quality font set in scalable outline form that + works with TeX can give a publisher a real competitive advantage, + there are some publishers that have paid (a lot) to have such font + sets made for them. Unfortunately, these sets are not available on + the open market, despite the likelihood that they're more complete + than those that are. +</dl> +We observe a very limited selection of commercial maths font sets; a +maths font has to be explicitly designed for use with TeX, which is +an expensive business, and is of little appeal in other markets. +Furthermore, the TeX market for commercial fonts is minute by +comparison with the huge sales of other font sets. +<p>Text fonts in Type 1 format are available from many vendors including +Adobe, Monotype and Bitstream. However, be careful with cheap font +"collections"; many of them dodge copyright restrictions by removing +(or crippling) parts of the font programs such as hinting. Such +behaviour is both unethical and bad for the consumer. +The fonts may not render well (or at all, under ATM), may not have the +'standard' complement of 228 glyphs, or may not include metric files +(which you need to make TFM files). +<p>TrueType remains the "native" format for Windows. Some TeX +implementations such as <a href="FAQ-commercial.html">TrueTeX</a> use TrueType +versions of Computer Modern and Times Maths fonts to render TeX +documents in Windows without the need for additional system software like +ATM. (When used on a system running Windows XP, TrueTeX can +also use Type 1 fonts.) +<p>When choosing fonts, your own system environment may not be the only one of +interest. If you will be sending your finished documents to others for +further use, you should consider whether a given font format will introduce +compatibility problems. Publishers may require TrueType exclusively because +their systems are Windows-based, or Type 1 exclusively, because their systems +are based on the early popularity of that format in the publishing industry. +Many service bureaus don't care as long as you present them with a finished +print file (PostScript or PDF) for their output device. +<dl> +<dt><tt><i>CM family collection</i></tt><dd> + Browse <a href="http://www.tex.ac.uk/tex-archive/fonts/cm/ps-type1/bluesky/">fonts/cm/ps-type1/bluesky/</a> +<dt><tt><i>AMS font collection</i></tt><dd> + Browse <a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/ps-type1/">fonts/amsfonts/ps-type1/</a> +<dt><tt><i>Belleek fonts</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/fonts/belleek/belleek.zip">fonts/belleek/belleek.zip</a> +<dt><tt><i>CM-super collection</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/cm-super.zip">fonts/ps-type1/cm-super</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/cm-super.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/ps-type1/cm-super/">browse</a>) +<dt><tt><i>eulervm.sty and supporting metrics</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/fonts/eulervm.zip">fonts/eulervm</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/eulervm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/eulervm/">browse</a>) +<dt><tt><i>fourier (including metrics and other support for utopia</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/fonts/fourier-GUT.zip">fonts/fourier-GUT</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/fourier-GUT.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/fourier-GUT/">browse</a>) +<dt><tt><i>hfbright collection</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/hfbright.zip">fonts/ps-type1/hfbright</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/hfbright.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/ps-type1/hfbright/">browse</a>) +<dt><tt><i>hvmath (free bitmapped version)</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/fonts/micropress/hvmath.zip">fonts/micropress/hvmath</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/micropress/hvmath.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/micropress/hvmath/">browse</a>) +<dt><tt><i>MathDesign collection</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/fonts/mathdesign/">fonts/mathdesign/</a> +<dt><tt><i>pxfonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/pxfonts.zip">fonts/pxfonts</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/pxfonts.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/pxfonts/">browse</a>) +<dt><tt><i>tmmath (free bitmapped version)</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/fonts/micropress/tmmath.zip">fonts/micropress/tmmath</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/micropress/tmmath.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/micropress/tmmath/">browse</a>) +<dt><tt><i>txfonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/txfonts.zip">fonts/txfonts</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/txfonts.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/txfonts/">browse</a>) +<dt><tt><i>utopia fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/utopia.zip">fonts/utopia</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/utopia.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/utopia/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=psfchoice">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=psfchoice</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-psfontprob.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-psfontprob.html new file mode 100644 index 00000000000..09236cac844 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-psfontprob.html @@ -0,0 +1,26 @@ +<head> +<title>UK TeX FAQ -- question label psfontprob</title> +</head><body> +<h3>Deploying Type 1 fonts</h3> +<p>For the LaTeX user trying to use the +<a href="FAQ-usepsfont.html">PSNFSS</a> +package, three questions may arise. +<p>First, you have to declare to the DVI driver that you are using +PostScript fonts; in the case of <i>dvips</i>, this means adding +lines to the <code>psfonts.map</code> file, so that <i>dvips</i> will know +where the proper fonts are, and won't try to find PK +files. If the font isn't built into the printer, you have to acquire +it (which may mean that you need to purchase the font files). +<p>Second, your previewer must know what to do with the fonts: see +<a href="FAQ-PSpreview.html">previewing type 1 fonts</a>. +<p>Third, the stretch and shrink between words is a function of the +font metric; it is not specified in AFM files, so different converters +choose different values. The PostScript metrics that come with PSNFSS +used to produce quite tight setting, but they were revised in mid 1995 +to produce a compromise between American and European practice. +Sophisticated users may not find even the new the values to their taste, and +want to override them. Even the casual user may find more +hyphenation or overfull boxes than Computer Modern produces; but CM +is extremely generous. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=psfontprob">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=psfontprob</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ragright.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ragright.html new file mode 100644 index 00000000000..d0cbab27cad --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-ragright.html @@ -0,0 +1,30 @@ +<head> +<title>UK TeX FAQ -- question label ragright</title> +</head><body> +<h3>Setting text ragged right</h3> +<p>The trick with typesetting ragged right is to be sure you've told the +TeX engine "make this paragraph ragged, but never <em>too</em> +ragged". The LaTeX <code>\</code><code>raggedright</code> command (and the +corresponding <code>flushleft</code> environment) has a tendency to +miss the "never" part, and will often create ridiculously short +lines, for some minor benefit later in the paragraph. The Plain +TeX version of the command doesn't suffer this failing, but is +rather conservative: it is loath to create too large a gap at the end +of the line, but in some circumstances (such as where + + +<a href="FAQ-hyphoff.html">hyphenation is suppressed</a>) painfully large gaps may +sometimes be required. +<p>Martin Schröder's <i>ragged2e</i> package offers the best of both +worlds: it provides raggedness which is built on the Plain TeX +model, but which is easily configurable. It defines easily-remembered +command (e.g., <code>\</code><code>RaggedRight</code>) and environment (e.g., +<code>FlushLeft</code>) names that are simply capitalised +transformations of the LaTeX kernel originals. The documentation +discusses the issues and explains the signficance of the various +parameters of <i>ragged2e</i>'s operation. +<dl> +<dt><tt><i>ragged2e.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ms.zip">macros/latex/contrib/ms</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ms.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ms/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ragright">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ragright</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-readML.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-readML.html new file mode 100644 index 00000000000..a5a281e3515 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-readML.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label readML</title> +</head><body> +<h3>Using TeX to read SGML or XML directly</h3> +<p>This can nowadays be done, with a certain amount of clever macro +programming. David Carlisle's <i>xmltex</i> is the prime example; +it offers a practical solution to typesetting +XML files. +<p>One use of a TeX that can typeset XML files is as a backend +processor for XSL formatting objects, serialized as XML. +Sebastian Rahtz's PassiveTeX uses <i>xmltex</i> to +achieve this end. +<dl> +<dt><tt><i>xmltex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/xmltex/base.zip">macros/xmltex/base</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/xmltex/base.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/xmltex/base/">browse</a>) +<dt><tt><i>passivetex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/xmltex/contrib/passivetex.zip">macros/xmltex/contrib/passivetex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/xmltex/contrib/passivetex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/xmltex/contrib/passivetex/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=readML">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=readML</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-readtex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-readtex.html new file mode 100644 index 00000000000..465875c196d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-readtex.html @@ -0,0 +1,38 @@ +<head> +<title>UK TeX FAQ -- question label readtex</title> +</head><body> +<h3>Reading (La)TeX files</h3> +<p>So you've been sent a TeX file: what are you going to do with it? +Well, the good news is that TeX systems are available, free, for +most sorts of computer; the bad news is that you need a pretty +complete TeX system even to read a single file, and complete TeX +systems are pretty large. +<p>TeX is a typesetting system that arose from a publishing project (see +"<a href="FAQ-whatTeX.html">what is TeX</a>"), +and its basic source is available free from its author. However, at +its root, it is <em>just</em> a typesetting engine: even to view or to +print the typeset output, you will need anciliary programs. In short, +you need a TeX <em>distribution</em> - a collection of +TeX-related programs tailored to your operating system: for details +of the sorts of things that are available, see + +"<a href="FAQ-TeXsystems.html">TeX distributions</a>" +or + +"<a href="FAQ-commercial.html">commercial TeX distributions</a>". +<p>But beware - TeX makes no attempt to look like the sort of +WYSIWYG system you're probably used to (see + +"<a href="FAQ-notWYSIWYG.html">why is TeX not WYSIWYG</a>"): +while many modern versions of TeX have a compile-view cycle that +rivals the best commercial word processors in its responsiveness, what +you type is usually <em>markup</em>, which typically defines a logical +(rather than a visual) view of what you want typeset. +<p>However, in this context markup proves to be a blessing in disguise: a +good proportion of most TeX documents is immediately readable in an +ordinary text editor. So, while you need to install a considerable +system to attain the full benefits of the TeX document that you +were sent, the chances are you can understand quite a bit of it with +nothing more than the ordinary tools you already have on your computer. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=readtex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=readtex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-reallyblank.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-reallyblank.html new file mode 100644 index 00000000000..4a6de299fb8 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-reallyblank.html @@ -0,0 +1,61 @@ +<head> +<title>UK TeX FAQ -- question label reallyblank</title> +</head><body> +<h3>Really blank pages between chapters</h3> +<p><i>Book</i> (by default) and <i>report</i> (with <code>openright</code> class +option) ensure that each chapter starts on a right-hand (recto) page; +they do this by inserting a <code>\</code><code>cleardoublepage</code> command between +chapters (rather than a mere <code>\</code><code>clearpage</code>). The empty page thus +created gets to have a normal running header, which some people don't +like. +<p>The (excellent) <i>fancyhdr</i> manual covers this issue, basically +advising the creation of a command <code>\</code><code>clearemptydoublepage</code>: +<blockquote> +<pre> +\let\origdoublepage\cleardoublepage +\newcommand{\clearemptydoublepage}{% + \clearpage + {\pagestyle{empty}\origdoublepage}% +} +</pre> +</blockquote> +The "obvious" thing is then to use this command to replace +<code>\</code><code>cleardoublepage</code> in a patched version of the <code>\</code><code>chapter</code> command. +(Make a package of your own containing a copy +of the command out of the class.) This isn't particularly difficult, +but you can instead simply subvert <code>\</code><code>cleardoublepage</code> (which isn't +often used elsewhere): +<blockquote> +<pre> +\let\cleardoublepage\clearemptydoublepage +</pre> +</blockquote> +Note: this command works because <code>\</code><code>clearemptydoublepage</code> uses a copy +of <code>\</code><code>cleardoublepage</code>: instructions on macro programming + +<a href="FAQ-patch.html">patching techniques</a> explain the problem and +why this is a solution. +<p>Note that the <em>KOMA-Script</em> replacements for the +<i>book</i> amd <i>report</i> classes (<i>scrbook</i> and +<i>scrreprt</i> offers class options <code>cleardoubleempty</code>, +<code>cleardoubleplain</code> and <code>cleardoublestandard</code> +(using the running page style, as normal) that control the appearance +of these empty pages. The classes also offer do-it-yourself commands +<code>\</code><code>cleardoubleempty</code> (etc.). +<p>The <i>memoir</i> class (and the <i>nextpage</i> package) +provide commands <code>\</code><code>cleartooddpage</code> and <code>\</code><code>cleartoevenpage</code>, +which both take an optional argument (the first, with no argument, +being an equivalent of <code>\</code><code>cleardoublepage</code>). One can achieve +'special' effects by putting commands in the optional argument: the +<code>\</code><code>clearemptydoublepage</code> we're after would be achieved by +<code>\</code><code>cleartooddpage[</code><code>\</code><code>thispagestyle{empty}</code><code>]</code>. The +commands will also serve if you want the surreal effect of "This page +intentionally left blank" in the centre of an otherwise empty page. +<dl> +<dt><tt><i>fancyhdr</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyhdr.zip">macros/latex/contrib/fancyhdr</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyhdr.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fancyhdr/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>nextpage.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/nextpage.sty">macros/latex/contrib/misc/nextpage.sty</a> +<dt><tt><i>scrbook.cls, scrrept.cls</i></tt><dd>Part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=reallyblank">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=reallyblank</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-recovertex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-recovertex.html new file mode 100644 index 00000000000..f6918cc60c3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-recovertex.html @@ -0,0 +1,53 @@ +<head> +<title>UK TeX FAQ -- question label recovertex</title> +</head><body> +<h3>Retrieving (La)TeX from DVI, etc.</h3> +<p>The job just can't be done automatically: DVI, PostScript and +PDF are "final" formats, supposedly not susceptible to +further editing - information about where things came from has been +discarded. So if you've lost your (La)TeX source (or never +had the source of a document you need to work on) you've a serious job +on your hands. In many circumstances, the best strategy is to retype +the whole document, but this strategy is to be tempered by +consideration of the size of the document and the potential typists' +skills. +<p>If automatic assistance is necessary, it's unlikely that any more than +text retrieval is going to be possible; the (La)TeX markup that +creates the typographic effects of the document needs to be recreated +by editing. +<p>If the file you have is in DVI format, many of the techniques +for +<a href="FAQ-toascii.html">converting (La)TeX to ASCII</a> are +applicable. Consider <i>dvi2tty</i>, <i>crudetype</i> and +<i>catdvi</i>. Remember that there are likely to be problems +finding included material (such as included PostScript figures, that +don't appear in the DVI file itself), and mathematics is +unlikely to convert easily. +<p>To retrieve text from PostScript files, the +<i>ps2ascii</i> tool (part of the <i>ghostscript</i> +distribution) is available. One could try applying this tool to +PostScript derived from an PDF file using <i>pdf2ps</i> (also +from the <i>ghostscript</i> distribution), or <i>Acrobat</i> +<i>Reader</i> itself; an alternative is <i>pdftotext</i>, +which is distributed with <i>xpdf</i>. +<p>Another avenue available to those with a PDF file they want to +process is offered by Adobe <i>Acrobat</i> (version 5 or later): +you can tag the PDF file into an estructured document, output +thence to well-formed XHTML, and import the results into +Microsoft <i>Word</i> (2000 or later). From there, one may +convert to (La)TeX using one of the techniques discussed in + +"<a href="FAQ-fmtconv.html">converting to and from (La)TeX</a>". +<p>The result will typically (at best) be poorly marked-up. Problems may +also arise from the oddity of typical TeX font encodings (notably +those of the maths fonts), which <i>Acrobat</i> doesn't know how +to map to its standard Unicode representation. +<dl> +<dt><tt><i>catdvi</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/catdvi.zip">dviware/catdvi</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/catdvi.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/catdvi/">browse</a>) +<dt><tt><i>crudetype</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/crudetype.zip">dviware/crudetype</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/crudetype.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/crudetype/">browse</a>) +<dt><tt><i>dvi2tty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/dviware/dvi2tty.zip">nonfree/dviware/dvi2tty</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/dviware/dvi2tty.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/dviware/dvi2tty/">browse</a>) +<dt><tt><i>ghostscript</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/ghostscript/">nonfree/support/ghostscript/</a> +<dt><tt><i>xpdf</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/support/xpdf/">support/xpdf/</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=recovertex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=recovertex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-repfootnote.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-repfootnote.html new file mode 100644 index 00000000000..c9a9293690d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-repfootnote.html @@ -0,0 +1,85 @@ +<head> +<title>UK TeX FAQ -- question label repfootnote</title> +</head><body> +<h3>Footnotes whose texts are identical</h3> +<p>If the <em>same</em> footnote turns up at several places within a +document, it's often inappropriate to repeat the footnote in its +entirety over and over again. We can avoid repetition by +semi-automatic means, or by simply labelling footnotes that we know +we're going to repeat and then referencing the result. There is no +completely automatic solution (that detects and suppresses repeats) +available. +<p>If you know you only have one footnote, which you want to repeat, the +solution is simple: merely use the optional argument of +<code>\</code><code>footnotemark</code> to signify the repeats: +<blockquote> +<pre> +...\footnote{Repeating note} +... +...\footnotemark[1] +</pre> +</blockquote> +... which is very easy, since we know there will only ever be a +footnote number 1. A similar technique can be used once the footnotes +are stable, reusing the number that LaTeX has allocated. This can +be tiresome, though, as any change of typesetting could change the +relationships of footnote and repeat: labelling is inevitably better. +<p>Simple hand-labelling of footnotes is possible, using a counter dedicated +to the job: +<blockquote> +<pre> +\newcounter{fnnumber} +... +...\footnote{Text to repeat}% +\setcounter{fnnumber}{\thefootnote}% +... +...\footnotemark[\thefnnumber] +</pre> +</blockquote> +but this is somewhat tedious. LaTeX's labelling mechanism can be +summoned to our aid, but there are ugly error messages before the +<code>\</code><code>ref</code> is resolved on a second run through LaTeX: +<blockquote> +<pre> +...\footnote{Text to repeat\label{fn:repeat}} +... +...\footnotemark[\ref{fn:repeat}] +</pre> +</blockquote> +Alternatively, one may use the <code>\</code><code>footref</code> command, which has the +advantage of working even when the footnote mark isn't expressed as a +number. The command is defined in the <i>footmisc</i> package and +in the <i>memoir</i> class (at least); <code>\</code><code>footref</code> reduces the above +example to: +<blockquote> +<pre> +...\footnote{Text to repeat\label{fn:repeat}} +... +...\footref{fn:repeat} +</pre> +</blockquote> +This is the cleanest simple way of doing the job. Note that the +<code>\</code><code>label</code> command <em>must</em> be inside the argument of +<code>\</code><code>footnote</code>. +<p>The <i>fixfoot</i> package takes away some of the pain of the +matter: you declare footnotes you're going to reuse, typically in the +preamble of your document, using a <code>\</code><code>DeclareFixedFoot</code> command, and +then use the command you've 'declared' in the body of the document: +<blockquote> +<pre> +\DeclareFixedFootnote{\rep}{Text to repeat} +... +...\rep{} +...\rep{} +</pre> +</blockquote> +The package ensures that the repeated text appears at most once per +page: it will usually take more than one run of LaTeX to get rid of +the repeats. +<dl> +<dt><tt><i>fixfoot.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fixfoot.zip">macros/latex/contrib/fixfoot</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fixfoot.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fixfoot/">browse</a>) +<dt><tt><i>footmisc.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footmisc.zip">macros/latex/contrib/footmisc</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footmisc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/footmisc/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=repfootnote">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=repfootnote</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-replstdcls.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-replstdcls.html new file mode 100644 index 00000000000..94210099e4d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-replstdcls.html @@ -0,0 +1,37 @@ +<head> +<title>UK TeX FAQ -- question label replstdcls</title> +</head><body> +<h3>Replacing the standard classes</h3> +<p>People are forever concocting classes that replace the standard ones: +the present author produced an <i>ukart</i> class that used the +<i>sober</i> package, and a few British-specific things (such as +appear in the <i>babel</i> package's British-english +specialisation) in the 1980s, which is still occasionally used. +<p>Similar public efforts were available well back in the days of +LaTeX 2.09: a notable example, whose pleasing designs seem not to have +changed much over all that time, is the <i>ntgclass</i> bundle. +Each of the standard classes is replaced by a selection of classes, +named in Dutch, sometimes with a single numeric digit attached. So we +have classes <i>artikel2</i>, <i>rapport1</i>, <i>boek3</i> and +<i>brief</i>. These classes are moderately well documented in +English. +<p>The <i>KOMA-script</i> bundle (classes named <i>scr...</i>) are a +strong current contender. They are actively supported, are +comprehensive in their coverage of significant typesetting issues, +produce good-looking output and are well documented in both English +and German (<i>scrguien</i> in the distribution for English, +<i>scrguide</i> for German). +<p>The other comparable class is <i>memoir</i>. This aims to replace +<i>book</i> and <i>report</i> classes directly, and (like +<i>KOMA-script</i>) is comprehensive in its coverage of small issues. +<i>Memoir</i>'s documentation (<i>memman</i>) is very highly +spoken of, and its lengthy introductory section is regularly +recommended as a tutorial on typesetting. +<dl> +<dt><tt><i>KOMA-script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>NTGclass bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ntgclass.zip">macros/latex/contrib/ntgclass</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ntgclass.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ntgclass/">browse</a>) +<dt><tt><i>sober.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex209/contrib/misc/sober.sty">macros/latex209/contrib/misc/sober.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=replstdcls">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=replstdcls</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-rerun.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-rerun.html new file mode 100644 index 00000000000..21de08556a5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-rerun.html @@ -0,0 +1,32 @@ +<head> +<title>UK TeX FAQ -- question label rerun</title> +</head><body> +<h3>"Rerun" messages won't go away</h3> +<p>The LaTeX message "Rerun to get crossreferences right" is +supposed to warn the user that the job needs to be processed again, +since labels seem to have changed since the previous run. (LaTeX +compares the labels it has created this time round with what it found +from the previous run when it started; it does this comparison at +<code>\</code><code>end{document}</code>.) +<p>Sometimes, the message won't go away: however often you reprocess your +document, LaTeX still tells you that "Label(s) may have +changed". This can sometimes be caused by a broken package: both +<i>footmisc</i> (with the <code>perpage</code> option) and <i>hyperref</i> +have been known to give trouble, in the past: if you are using either, +check you have the latest version, and upgrade if possible. +<p>However, there <em>is</em> a rare occasion when this error can happen +as a result of pathological structure of the document itself. Suppose +you have pages numbered in roman, and you add a reference to a label +on page "ix" (9). The presence of the reference pushes the thing +referred to onto page "x" (10), but since that's a shorter reference +the label moves back to page "ix" at the next run. Such a sequence +can obviously not terminate. +<p>The only solution to this problem is to make a small change to your +document (something as small as adding or deleting a comma will often +be enough). +<dl> +<dt><tt><i>footmisc.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footmisc.zip">macros/latex/contrib/footmisc</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/footmisc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/footmisc/">browse</a>) +<dt><tt><i>hyperref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=rerun">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=rerun</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-resolns.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-resolns.html new file mode 100644 index 00000000000..48da039d89e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-resolns.html @@ -0,0 +1,54 @@ +<head> +<title>UK TeX FAQ -- question label resolns</title> +</head><body> +<h3>What are "resolutions"</h3> +<p>"Resolution" is a word that is used with little concern for its +multiple meanings, in computer equipment marketing. The word suggests +a measure of what an observer (perhaps the human eye) can resolve; yet +we regularly see advertisements for printers whose resolution is +1200dpi - far finer than the unaided human eye can distinguish. The +advertisements are talking about the precision with which the printer +can place spots on the printed image, which affects the fineness of +the representation of fonts, and the accuracy of the placement of +glyphs and other marks on the page. +<p>In fact, there are two sorts of "resolution" on the printed page +that we need to consider for (La)TeX's purposes: +<ul> +<li> the positioning accuracy, and +<li> the quality of the fonts. +</ul> +In the case where (La)TeX output is being sent direct to a printer, +in the printer's "native" language, it's plain that the DVI +processor must know all such details, and must take detailed account +of both types of resolution. +<p>In the case where output is being sent to an intermediate distribution +format, that has potential for printing (or displaying) we know not +where, the final translator, that connects to directly to the printer +or display, has the knowledge of the device's properties: the +DVI processor need not know, and should not presume to guess. +<p>Both PostScript and PDF output are in this category. While PostScript is +used less frequently for document distribution nowadays, it is +regularly used as the source for distillation into PDF; and +PDF is the workhorse of an enormous explosion of document +distribution. +<p>Therefore, we need DVI processors that will produce +"resolution independent" PostScript or PDF output; of course, the +independence needs to extend to both forms of independence outlined +above. +<p>Resolution-independence of fonts is forced upon the world by the +feebleness of Adobe's <i>Acrobat</i> <i>Reader</i> at dealing +with bitmap files: a sequence of answers starting with one aiming at +the <a href="FAQ-dvips-pdf.html">quality of PDF from PostScript</a> addresses +the problems that arise. +<p>Resolution-independence of positioning is more troublesome: +<i>dvips</i> is somewhat notorious for insisting on positioning to +the accuracy of the declared resolution of the printer. + + + +One +commonly-used approach is to declare a resolution of 8000 ("better +than any device"), and this is reasonably successful though it does +have its <a href="FAQ-8000.html">problems</a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=resolns">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=resolns</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-reuseq.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-reuseq.html new file mode 100644 index 00000000000..536d27f39c5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-reuseq.html @@ -0,0 +1,37 @@ +<head> +<title>UK TeX FAQ -- question label reuseq</title> +</head><body> +<h3>Re-using an equation</h3> +<p>To repeat an existing equation, one wants not only to have the same +mathematics in it, one also wants to re-use the original label it had. +The <i>amsmath</i> package comes to our help, here: +<blockquote> +<pre> +\usepackage{amsmath} +... +\begin{equation} + a=b + \label{eq1} +\end{equation} +... +Remember that +\begin{equation} + a=b + \tag{\ref{eq1}} +\end{equation} +</pre> +</blockquote> +Here, the second instance of a=b will be +typeset with a copy, made by the <code>\</code><code>tag</code> command, of the label of the +first instance. +<p>Comprehensive documentation of AMSLaTeX is to be found in +<i>amsldoc</i>, in the distribution; it is also available on the web +at <a href="ftp://ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf">ftp://ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf</a> +<dl> +<dt><tt><i>amsldoc.tex</i></tt><dd>Distributed as part of AMSLaTeX + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +<dt><tt><i>amsmath.sty</i></tt><dd>Distributed as part of AMSLaTeX + <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +</dl> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=reuseq">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=reuseq</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-rulethk.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-rulethk.html new file mode 100644 index 00000000000..9c8ce272563 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-rulethk.html @@ -0,0 +1,51 @@ +<head> +<title>UK TeX FAQ -- question label rulethk</title> +</head><body> +<h3>The thickness of rules in LaTeX tables</h3> +<p>The rules in a LaTeX table are by default <code>0.4pt</code> thick; +this is in fact a default built in at the lowest level, and applies to +all rules (including those separating blocks of running text). +<p>Sometimes, however, we look at a table and find we want the rules to +stand out - perhaps to separate the text from the rest of the body +text, or to make the sections of the table stand out from one another. +However, a quick review of any LaTeX manual will reveal no +technique for making any one rule stand out, and a little +experimentation shows that it is indeed pretty difficult to prevent +a change "bleeding" out to affect other rules in the same table. +<p>Refer to the answer on <a href="FAQ-destable.html">design of tables</a>, elsewhere +among these FAQs, and you may sense that the design of LaTeX +suimply skipped the issues surrounding table design, and <em>that's</em> +why there's no facilities to help you. +<p>Specifically, the length <code>\</code><code>arrayrulewidth</code> affects the thickness of +the rules (both horizontal and vertical) within both +<code>tabular</code> and <code>array</code> environments. If you +change from the default (see above) only as far as +<blockquote> +<pre> +\setlength{\arrayrulewidth}{1pt} +</pre> +</blockquote> +the change is remarkably striking. However, really quite subtle user +level programming proves incapable of changing just <em>one</em> rule: +it's necessary to delve into the (rather tricky) code of <code>\</code><code>hline</code> +and <code>\</code><code>cline</code> themselves. +<p>Fortunately, this job has already been done for the community: the +<i>booktabs</i> package defines three different classes of rule +(<code>\</code><code>toprule</code>, <code>\</code><code>midrule</code> and <code>\</code><code>bottomrule</code>), and the package +documentation offers hints on how to use them. You are +<em>strongly</em> advised to read the documentation pretty carefully. +<p>The <i>memoir</i> class includes the <i>booktabs</i> package, and +repeats the documentation in its compendious manual. +<p>Note that none of the above mentions the issue of the weight of +vertical rules (except in passing). For the reasons, see the +documentation of the <i>booktabs</i> package (again); vertical +rules in tables are in any case even more trickily coded than are +horizontal rules, and if their lack of configurability makes them +still less attractive, so much the better for the design of your +document. +<dl> +<dt><tt><i>booktabs.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/booktabs.zip">macros/latex/contrib/booktabs</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/booktabs.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/booktabs/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=rulethk">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=rulethk</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-runheadtoobig.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-runheadtoobig.html new file mode 100644 index 00000000000..19d0ab76251 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-runheadtoobig.html @@ -0,0 +1,85 @@ +<head> +<title>UK TeX FAQ -- question label runheadtoobig</title> +</head><body> +<h3>My section title is too wide for the page header</h3> +<p>By default, LaTeX sectioning commands make the chapter or section +title available for use by page headers and the like. Page headers +operate in a rather constrained area, and it's common for titles too +be too big to fit: the LaTeX sectioning commands therefore take an +optional argument: +<blockquote> +<pre> +\section[short title]{full title} +</pre> +</blockquote> +If the <<i>short title</i>> is present, it is used both for the table of +contents and for the page heading: the usual answer to people who +complain about the size of the title that's gone in to the running +head, is to suggest that they the optional argument. +<p>However, using the same text for the table of contents as for the +running head may also be unsatisfactory: if your chapter titles are +seriously long (like those of a Victorian novel), a valid and rational +scheme is to have a shortened table of contents entry, and a really +terse entry in the running head. +<p>One of the problems is the tendency of page headings to be set in +capitals; so why not set headings as written for "ordinary" reading? +It's not possible to do so with unmodified LaTeX, but the +<i>fancyhdr</i> package provides a command <code>\</code><code>nouppercase</code> for use +in its header (and footer) lines to suppress LaTeX's uppercasing +tendencies. Classes in the <i>KOMA-script</i> bundle don't uppercase +in the first place. +<p>In fact, the sectioning commands use 'mark' commands to pass +information to the page headers. For example, <code>\</code><code>chapter</code> uses +<code>\</code><code>chaptermark</code>, <code>\</code><code>section</code> uses <code>\</code><code>sectionmark</code>, and so on. With +this knowledge, one can achieve a three-layer structure for chapters: +<blockquote> +<pre> +\chapter[middling version]{verbose version} +\chaptermark{terse version} +</pre> +</blockquote> +which should supply the needs of every taste. +<p>Chapters, however, have it easy: hardly any book design puts a page +header on a chapter start page. In the case of sections, one has +typically to take account of the nature of the <code>\</code><code>*mark</code> commands: +the thing that goes in the heading is the first mark on the page (or, +failing any mark, the last mark on any previous page). As a result +the recipe for sections is more tiresome: +<blockquote> +<pre> +\section[middling version]{verbose version% + \sectionmark{terse version}} +\sectionmark{terse version} +</pre> +</blockquote> +(the first <code>\</code><code>sectionmark</code> deals with the header of the page the +<code>\</code><code>section</code> command falls on, and the second deal with subsequent +pages; note that here, you need the optional argument to <code>\</code><code>section</code>, +even if "<em>middling version</em>" is in fact the same text as +"<em>long version"</em>.) +<p>A similar arrangement is necessary even for chapters if the class +you're using is odd enough that it puts a page header on a chapter's +opening page. +<p>Note that the <i>titlesec</i> package manages the running heads in +a completely different fashion; users of that package should refer to +the documentation. +<p>The <i>memoir</i> class avoids all the silliness by providing an +extra optional argument for chapter and sectioning commands, for +example: +<blockquote> + +<pre> +\section[middling version][terse version]{verbose version} +</pre> +</blockquote> +As a result, it is always possible for users of <i>memoir</i> to +tailor the header text to fit, with very little trouble. +<dl> +<dt><tt><i>fancyhdr.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyhdr.zip">macros/latex/contrib/fancyhdr</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyhdr.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fancyhdr/">browse</a>) +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>titlesec.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/titlesec.zip">macros/latex/contrib/titlesec</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/titlesec.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/titlesec/">browse</a>) +</dl> +<p> +<p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=runheadtoobig">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=runheadtoobig</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-running-nos.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-running-nos.html new file mode 100644 index 00000000000..a043d02e8aa --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-running-nos.html @@ -0,0 +1,55 @@ +<head> +<title>UK TeX FAQ -- question label running-nos</title> +</head><body> +<h3>Running equation, figure and table numbering</h3> +<p>Many LaTeX classes (including the standard <i>book</i> class) +number things per chapter; so figures in chapter 1 are numbered 1.1, +1.2, and so on. Sometimes this is not appropriate for the user's +needs. +<p>Short of rewriting the whole class, one may use one of the +<i>removefr</i> and <i>remreset</i> packages; both define a +<code>\</code><code>@removefromreset</code> command, and having included the package one +writes something like: +<blockquote> +<pre> +\makeatletter +\@removefromreset{figure}{chapter} +</pre> +</blockquote> +and the automatic renumbering stops. You then need to redefine the +way in which the figure number (in this case) is printed: +<blockquote> +<pre> +\renewcommand{\thefigure}{\@arabic\c@figure} +\makeatother +</pre> +</blockquote> +(remember to do the whole job, for every counter you want to +manipulate, within <code>\</code><code>makeatletter</code> ... <code>\</code><code>makeatother</code>). +<p>The technique may also be used to change where in a multilevel +structure a counter is reset. Suppose your class numbers figures as +<<i>chapter</i>>.<<i>section</i>>.<<i>figure</i>>, and you want figures +numbered per chapter, try: +<blockquote> +<pre> +\@removefromreset{figure}{section} +\@addtoreset{figure}{chapter} +\renewcommand{\thefigure}{\thechapter.\@arabic\c@figure} +</pre> + +</blockquote> +(the command <code>\</code><code>@addtoreset</code> is a part of LaTeX itself). +<p>The <i>chngcntr</i> package provides a simple means to access the +two sorts of changes discussed, defining <code>\</code><code>counterwithin</code> and +<code>\</code><code>counterwithout</code> commands; the <i>memoir</i> class also provides +these functions. +<dl> +<dt><tt><i>chngcntr.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/chngcntr.sty">macros/latex/contrib/misc/chngcntr.sty</a> +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>removefr.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fragments/removefr.tex">macros/latex/contrib/fragments/removefr.tex</a> (note, this is constructed as a + "fragment" for use within other packages: load by + <code>\</code><code>input{removefr}</code>) +<dt><tt><i>remreset.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.zip">macros/latex/contrib/carlisle</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/carlisle/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=running-nos">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=running-nos</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-scriptfonts.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-scriptfonts.html new file mode 100644 index 00000000000..dd17d4834d3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-scriptfonts.html @@ -0,0 +1,55 @@ +<head> +<title>UK TeX FAQ -- question label scriptfonts</title> +</head><body> +<h3>Better script fonts for maths</h3> +<p>The font selected by <code>\</code><code>mathcal</code> is the only script font 'built +in'. However, there are other useful calligraphic fonts included with +modern TeX distributions. +<dl> +<dt>Euler<dd> The <i>eucal</i> package (part of most sensible TeX + distributions; the fonts are part of the AMS font set) gives + a slightly curlier font than the default. The package changes the + font that is selected by <code>\</code><code>mathcal</code>. +<p> Type 1 versions of the fonts are available in the AMS fonts + distribution. +<dt>RSFS<dd> The <i>mathrsfs</i> package uses a really fancy script + font (the name stands for "Ralph Smith's Formal Script") which is + already part of most modern TeX distributions. The package + creates a new command <code>\</code><code>mathscr</code>. +<p> Type 1 versions of the font have been made available by Taco + Hoekwater. +<dt>Zapf Chancery<dd> is the standard PostScript calligraphic font. There + is no package but you can easily make it available by means of the + command +<pre> +\DeclareMathAlphabet{\mathscr}{OT1}{pzc}% + {m}{it} +</pre> + in your preamble. You may find the font rather too big; if so, you + can use a scaled version of it like this: +<pre> +\DeclareFontFamily{OT1}{pzc}{} +\DeclareFontShape{OT1}{pzc}{m}{it}% + {<-> s * [0.900] pzcmi7t}{} +\DeclareMathAlphabet{\mathscr}{OT1}{pzc}% + {m}{it} +</pre> +<p> Adobe Zapf Chancery (which the above examples use) is distributed in + any but the most basic PostScript printers. A substantially identical + font (to the the extent that the same metrics may be used) is + available from URW and is distributed with + <i>ghostscript</i>. +</dl> +Examples of the available styles are available on CTAN. +<dl> +<dt><tt><i>eucal.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/latex/eucal.sty">fonts/amsfonts/latex/eucal.sty</a> +<dt><tt><i>euler fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/sources/euler.zip">fonts/amsfonts/sources/euler</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/amsfonts/sources/euler.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/sources/euler/">browse</a>) +<dt><tt><i>euler fonts, in Type 1 format</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/fonts/amsfonts/ps-type1/">fonts/amsfonts/ps-type1/</a> +<dt><tt><i>ghostscript</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/nonfree/support/ghostscript/">nonfree/support/ghostscript/</a> +<dt><tt><i>mathrsfs.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/jknappen.zip">macros/latex/contrib/jknappen</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/jknappen.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/jknappen/">browse</a>) +<dt><tt><i>rsfs fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/rsfs.zip">fonts/rsfs</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/rsfs.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/rsfs/">browse</a>) +<dt><tt><i>rsfs fonts, in Type 1 format</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/rsfs/ps-type1/hoekwater.zip">fonts/rsfs/ps-type1/hoekwater</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/rsfs/ps-type1/hoekwater.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/rsfs/ps-type1/hoekwater/">browse</a>) +<dt><tt><i>Script font examples</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/symbols/math/scriptfonts.pdf">info/symbols/math/scriptfonts.pdf</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=scriptfonts">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=scriptfonts</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-seccntfmt.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-seccntfmt.html new file mode 100644 index 00000000000..227f6632246 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-seccntfmt.html @@ -0,0 +1,67 @@ +<head> +<title>UK TeX FAQ -- question label seccntfmt</title> +</head><body> +<h3>Adjusting the presentation of section numbers</h3> +<p>The general issues of adjusting the appearance of section headings are +pretty complex, and are covered in +the question on +<a href="FAQ-secthead.html">the style of section headings</a>. +<p>However, people regularly want merely to change the way the section +number appears in the heading, and some such people don't mind writing +out a few macros. This answer is for <em>them</em>. +<p>The way the section number is typeset is determined by the +<code>\</code><code>@seccntformat</code> command, which is given the "name" (section, +subsection, ...) of the heading, as argument. Ordinarily, it +merely outputs the section number, and then a <code>\</code><code>quad</code> of space. +Suppose you want to put a stop after every section (subsection, +subsubsection, ...) number, a trivial change may be implemented by +simple modification of the command: +<blockquote> +<pre> +\renewcommand*{\@seccntformat}[1]{% + \csname the#1\endcsname.\quad +} +</pre> +</blockquote> +<p>Many people (for some reason) just want a stop after a section +number. To do this, one must make <code>\</code><code>@seccntformat</code> switch according +to its argument. The following technique for doing the job is +slightly wasteful, but is efficient enough: +<blockquote> +<pre> +\let\@@seccntformat\@seccntformat +\renewcommand*{\@seccntformat}[1]{% + \expandafter\let\expandafter\@tempa + \csname @seccntformat@#1\endcsname + \ifx\@tempa\relax + \expandafter\@@seccntformat + \else + \expandafter\@tempa + \fi + {#1}% +} +</pre> +</blockquote> +which looks to see if a second-level command has been defined, and +uses it if so; otherwise it uses the original. The second-level +command to define stops after section numbers (only) has the same +definition as the original "all levels alike" version: +<blockquote> +<pre> +\newcommand*{\@seccntformat@section}[1]{% + \csname the#1\endcsname.\quad +} +</pre> +</blockquote> +Note that all the command definitions of this answer are dealing in +<a href="FAQ-atsigns.html">LaTeX internal commands</a>, so the above +code should be in a package file, for preference. +<p>The <i>Koma-script</i> classes have different commands for specifying +changes to section number presentation: <code>\</code><code>partformat</code>, +<code>\</code><code>chapterformat</code> and <code>\</code><code>othersectionlevelsformat</code>, but otherwise +their facilities are similar to those of "raw" LaTeX. +<dl> +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=seccntfmt">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=seccntfmt</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-secindent.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-secindent.html new file mode 100644 index 00000000000..ec517fcd6b9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-secindent.html @@ -0,0 +1,15 @@ +<head> +<title>UK TeX FAQ -- question label secindent</title> +</head><body> +<h3>Indent after section headings</h3> +<p>LaTeX implements a style that doesn't indent the first paragraph +after a section heading. There are coherent reasons for this, but not +everyone likes it. +The <i>indentfirst</i> package +suppresses the mechanism, so that the first paragraph is +indented. +<dl> +<dt><tt><i>indentfirst.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=secindent">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=secindent</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-secnumdep.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-secnumdep.html new file mode 100644 index 00000000000..829ad3f75c5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-secnumdep.html @@ -0,0 +1,59 @@ +<head> +<title>UK TeX FAQ -- question label secnumdep</title> +</head><body> +<h3>Unnumbered sections in the Table of Contents</h3> +<p>The way the relevant parts of sectioning commands work is exemplified +by the way the <code>\</code><code>chapter</code> command uses the counter <code>secnumdepth</code> +(described in Appendix C of the LaTeX manual): +<ol> +<li> put something in the <code>.aux</code> file, which will appear in + the <code>.toc</code>; + +<li> if the <code>secnumdepth</code> counter is greater than or equal to + zero, + increase the counter for the chapter and write it out. +<li> write the chapter title. +</ol> +Other sectioning commands are similar, but with other values used in +the test. +<p>So a simple way to get headings of funny 'sections' such as prefaces +in the table of contents is to use the counter: +<blockquote> +<pre> +\setcounter{secnumdepth}{-1} +\chapter{Preface} +</pre> +</blockquote> +Unfortunately, you have to set <code>secnumdepth</code> back to its usual +value (which is 2 in the standard styles) before you do any 'section' +which you want to be numbered. +<p>Similar settings are made, automatically, in the LaTeX book class by +the <code>\</code><code>frontmatter</code> and <code>\</code><code>backmatter</code> commands. +<p>The value of the counter <code>tocdepth</code> controls which headings +will be finally printed in the table of contents. This normally has +to be set in the preamble and is a constant for the document. The +package <i>tocvsec2</i> package provides a convenient interface to +allow you to change the <code>secnumdepth</code> and/or the +<code>tocdepth</code> counter values at any point in the body of the +document; this provides convenient independent controls over the +sectional numbering and the table of contents. +<p>The package <i>abstract</i> (see +<a href="FAQ-onecolabs.html">one-column abstracts</a>) includes an option +to add the <code>abstract</code> to the table of contents, while the +package <i>tocbibind</i> has options to include the table of +contents itself, the <code>bibliography</code>, <code>index</code>, etc., to +the table of contents. +<p>The <i>KOMA-Script</i> classes have commands <code>\</code><code>addchap</code> and +<code>\</code><code>addsec</code>, which work like <code>\</code><code>chapter</code> and <code>\</code><code>section</code> but +aren't numbered. The <i>memoir</i> class incorporates the facilities +of all three of the <i>abstract</i>, <i>tocbibind</i> and +<i>tocvsec2</i> packages. +<dl> +<dt><tt><i>abstract.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/abstract.zip">macros/latex/contrib/abstract</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/abstract.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/abstract/">browse</a>) +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>tocbibind.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/tocbibind.zip">macros/latex/contrib/tocbibind</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/tocbibind.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/tocbibind/">browse</a>) +<dt><tt><i>tocvsec2.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/tocvsec2.zip">macros/latex/contrib/tocvsec2</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/tocvsec2.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/tocvsec2/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=secnumdep">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=secnumdep</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-secthead.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-secthead.html new file mode 100644 index 00000000000..89e72ed545f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-secthead.html @@ -0,0 +1,65 @@ +<head> +<title>UK TeX FAQ -- question label secthead</title> +</head><body> +<h3>The style of section headings</h3> +<p>Suppose that the editor of your favourite journal has specified that section +headings must be centred, in small capitals, and subsection headings ragged +right in italic, but that you don't want to get involved in the sort of +programming described in section 2.2 of <em>The LaTeX Companion</em> + + (see <a href="FAQ-books.html">TeX-related books</a>; the + <a href="FAQ-atsigns.html">programming</a> itself is discussed elsewhere in this + FAQ). +The following hack will +probably satisfy your editor. Define yourself new commands +<blockquote> +<pre> +\newcommand{\ssection}[1]{% + \section[#1]{\centering\sc #1}} +\newcommand{\ssubsection}[1]{% + \subsection[#1]{\raggedright\it #1}} +</pre> +</blockquote> +and then use <code>\</code><code>ssection</code> and <code>\</code><code>ssubsection</code> in place of +<code>\</code><code>section</code> and <code>\</code><code>subsection</code>. This isn't perfect: section numbers +remain in bold, and starred forms need a separate redefinition. +<p>The package <i>sectsty</i> provides an easy-to-use set of tools to +do this job, while the package <i>titlesec</i> has a structured +approach based on redefinition of the sectioning and chapter commands +themselves. <i>Titlesec</i>'s approach allows it to offer far more +radical adjustment: its options provide (in effect) a toolbox for +designing your own sectioning commands' output. +<p>The <i>fncychap</i> package provides a nice collection of customised +chapter heading designs. The <i>anonchap</i> package provides a +simple means of typesetting chapter headings "like section headings" +(i.e., without the "Chapter" part of the heading); the +<i>tocbibind</i> package provides the same commands, in pursuit of +another end. Unfortunately, <i>fncychap</i> is not attuned to the +existence of front- and backmatter in <i>book</i> class documents. +<p>The <i>memoir</i> class includes facilities that match +<i>sectsty</i> and <i>titlesec</i>, as well as a bundle of +chapter heading styles (including an <i>anonchap</i>-equivalent). +The <i>KOMA-script</i> classes also have sets of tools that provide +equivalent functionality, notably formatting specifications <code>\</code><code>partformat</code>, +<code>\</code><code>chapterformat</code>, <code>\</code><code>sectionformat</code>, ..., as well as several +useful overall formatting specifications defined in class options. +<p>Finally, the indefatigable Vincent Zoonekynd supplies examples of how +to program alternative +<a href="http://zoonek.free.fr/LaTeX/LaTeX_samples_chapter/0.html">chapter heading styles</a> +and +<a href="http://zoonek.free.fr/LaTeX/LaTeX_samples_section/0.html">section heading styles</a>. +The web pages are not useful to users unless they are willing to do +their own LaTeX programming. +<p>The documentation of <i>fncychap</i> is distributed as a separate +PostScript file. +<dl> +<dt><tt><i>anonchap.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/anonchap.sty">macros/latex/contrib/misc/anonchap.sty</a> +<dt><tt><i>fncychap.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fncychap.zip">macros/latex/contrib/fncychap</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fncychap.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fncychap/">browse</a>) +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>sectsty.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sectsty.zip">macros/latex/contrib/sectsty</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sectsty.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/sectsty/">browse</a>) +<dt><tt><i>titlesec.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/titlesec.zip">macros/latex/contrib/titlesec</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/titlesec.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/titlesec/">browse</a>) +<dt><tt><i>tocbibind.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/tocbibind.zip">macros/latex/contrib/tocbibind</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/tocbibind.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/tocbibind/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=secthead">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=secthead</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-semanticnest.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-semanticnest.html new file mode 100644 index 00000000000..4ee01d4c9a4 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-semanticnest.html @@ -0,0 +1,49 @@ +<head> +<title>UK TeX FAQ -- question label semanticnest</title> +</head><body> +<h3>Capacity exceeded [semantic nest ...]</h3> +<p> +<pre> +! TeX capacity exceeded, sorry [semantic nest size=100]. +... +If you really absolutely need more capacity, +you can ask a wizard to enlarge me. +</pre> +Even though TeX suggests (as always) that enlargement by a wizard +may help, this message usually results from a broken macro or bad +parameters to an otherwise working macro. +<p>The "semantic nest" TeX talks about is the nesting +of boxes within boxes. A stupid macro can provoke the error pretty +easily: +<blockquote> + +<pre> +\def\silly{\hbox{here's \silly being executed}} +\silly +</pre> +</blockquote> +The extended traceback + +(see <a href="FAQ-erroradvice.html"><em>general advice</em> on errors</a>) +<em>does</em> help, though it does rather run on. In the case above, +the traceback consists of +<pre> +\silly ->\hbox { + here's \silly being executed} +</pre> +followed by 100 instances of +<pre> +\silly ->\hbox {here's \silly + being executed} +</pre> +The repeated lines are broken at exactly the offending macro; of +course the loop need not be as simple as this - if <code>\</code><code>silly</code> calls +<code>\</code><code>dopy</code> which boxes <code>\</code><code>silly</code>, the effect is just the same and +alternate lines in the traceback are broken at alternate positions. +<p>There are in fact two items being consumed when you nest boxes: the +other is the grouping level. Whether you exhaust your +<em>semantic nest</em> or your permitted <em>grouping levels</em> first is +controlled entirely by the relative size of the two different sets of +buffers in your (La)TeX executable. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=semanticnest">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=semanticnest</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-setURL.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-setURL.html new file mode 100644 index 00000000000..2afdad9e733 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-setURL.html @@ -0,0 +1,63 @@ +<head> +<title>UK TeX FAQ -- question label setURL</title> +</head><body> +<h3>Typesetting URLs</h3> +<p>URLs tend to be very long, and contain characters that would +naturally prevent them being hyphenated even if they weren't typically +set in <code>\</code><code>ttfamily</code>, verbatim. Therefore, without special treatment, +they often produce wildly overfull <code>\</code><code>hbox</code>es, and their typeset +representation is awful. +<p>There are three packages that help solve this problem: +<ul> +<li> The <i>path</i> package, which defines a <code>\</code><code>path</code> command. + The command defines each potential break character as a + <code>\</code><code>discretionary</code>, and offers the user the opportunity of + specifying a personal list of potential break characters. Its chief + disadvantage is fragility in LaTeX moving arguments. The + + <a href="FAQ-eplain.html">Eplain macros</a> - define a similar <code>\</code><code>path</code> command. +<p> <i>Path</i>, though it works in simple situations, makes no + attempt to work with LaTeX (it is irremediably fragile). Despite + its long and honourable history, it is no longer recommended for + LaTeX use. +<li> The <i>url</i> package, which defines an <code>\</code><code>url</code> command + (among others, including its own <code>\</code><code>path</code> command). The command + gives each potential break character a maths-mode 'personality', and + then sets the URL itself (in the user's choice of font) in + maths mode. It can produce (LaTeX-style) 'robust' commands + + (see <a href="FAQ-protect.html">use of <code>\</code><code>protect</code></a>) for use + within moving arguments. Note that, because the operation is + conducted in maths mode, spaces within the URL argument are + ignored unless special steps are taken. +<p> It is possible to use the <i>url</i> package in Plain TeX, + with the assistance of the <i>miniltx</i> package (which was + originally developed for using the LaTeX graphics package in + Plain TeX). A small patch is also necessary: the required + sequence is therefore: + +<pre> +\input miniltx +\expandafter\def\expandafter\+\expandafter{\+} +\input url.sty +</pre> +<li> The <i>hyperref</i> package, which uses the typesetting code + of <i>url</i>, in a context where the typeset text forms the + anchor of a link. +</ul> +<p>The author of this answer prefers the (rather newer) <i>url</i> +package (directly or indirectly); both <i>path</i> and +<i>url</i> work well with Plain TeX (though of course, the fancy +LaTeX facilities of <i>url</i> don't have much place there). +(<i>hyperref</i> isn't available in a version for use with Plain +TeX.) +<p>Documentation of both <i>path</i> and <i>url</i> is in the +package files. +<dl> +<dt><tt><i>hyperref.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.zip">macros/latex/contrib/hyperref</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/hyperref.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/hyperref/">browse</a>) +<dt><tt><i>miniltx.tex</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/plain/graphics.zip">macros/plain/graphics</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/plain/graphics.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/plain/graphics/">browse</a>) +<dt><tt><i>path.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/path.sty">macros/latex/contrib/misc/path.sty</a> +<dt><tt><i>url.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty">macros/latex/contrib/misc/url.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=setURL">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=setURL</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-slashbox.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-slashbox.html new file mode 100644 index 00000000000..04e673fc232 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-slashbox.html @@ -0,0 +1,51 @@ +<head> +<title>UK TeX FAQ -- question label slashbox</title> +</head><body> +<h3>Diagonal separation in corner cells of tables</h3> +<p>You want to label both the top or bottom row and the left- or +rightmost column, somewhere at the corner of the table where the row +and column meet. A simple way to achieve the result is to construct +the table with an arrangement of rules (and possibly <code>\</code><code>multicolumn</code> +entries), to look like: +<blockquote> +<pre> +----------------- +x y + -------------- + 1 2 3 4 5 +----------------- +1 +2 +3 +4 +5 +----------------- +</pre> +</blockquote> +However, this doesn't satisfy everyone: many want the labelling in a +single cell at the top left of the table. It sounds a simple enough +requirement, yet it calls for some slightly tricky LaTeX coding. +The <i>slashbox</i> package does the job for you: it defines +commands <code>\</code><code>slashbox</code> and <code>\</code><code>backslashbox</code>, each taking the two +labels as arguments. It draws a picture with the two labels on either +side of a slanting line; the command (and hence the picture) may be +placed in the corner cell, where the labelled row and column meet. +<p>The package isn't the world's neatest: it uses LaTeX +<code>picture</code> mode to draw its line, and picture mode has many +tedious restrictions (and doesn't, in all honesty, produce +particularly good pictures). Load slashbox with the <i>pict2e</i> +package, and at least the picture quality will be improved. +<p>Documentation of <i>slashbox</i> is less than satisfactory: a +LaTeX source file of rather startling starkness accompanies the +package file in the distribution. It does, however, process to a +DVI file that gives some idea of how the <code>\</code><code>slashbox</code> may be +expected to look. (The third example in the file shows the effect of +<code>picture</code> mode's restrictions: the dividing line doesn't +go from corner to corner in the box: to correct this requires revision +of <i>slashbox</i> - <i>pict2e</i> alone doesn't help in this +regard.) +<dl> +<dt><tt><i>slashbox.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/slashbox.zip">macros/latex/contrib/slashbox</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/slashbox.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/slashbox/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=slashbox">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=slashbox</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-slidecls.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-slidecls.html new file mode 100644 index 00000000000..3b148b107bd --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-slidecls.html @@ -0,0 +1,69 @@ +<head> +<title>UK TeX FAQ -- question label slidecls</title> +</head><body> +<h3>Producing slides</h3> +<p>Lamport's original LaTeX had a separate program (SliTeX) for +producing slides; it dates from the age when colour effects were +produced by printing separate slides in different-coloured inks, and +overlaying them, and was just about acceptable back then. When +LaTeX2e came along, the reason SliTeX had to be a separate +program went away, and its functionality was supplied by the +<i>slides</i> class. While this makes life a little easier for +system administrators, it does nothing for the inferior functionality +of the class: no-one "who knows" uses <i>slides</i> nowadays. +<p>The 'classic' alternatives have been <i>seminar</i> and <i>foils</i> +(originally known as FoilTeX). Both were originally designed to +produce output on acetate foils, though subsequent work has provided +environments in which they can be used with screen projectors (see +below). +<p>The advent of MicroSoft <i>PowerPoint</i> (feeble though early +versions of it were) has created a demand for "dynamic" slides - +images that develop their content in a more elaborate fashion than by +merely replacing one foil with the next in the way that was the norm +when <i>slides</i>, <i>foils</i> and <i>seminar</i> were designed. +<p>The <i>prosper</i> class builds on <i>seminar</i> to provide dynamic +effects and the like; it retains the ability to provide PDF for +a projected presentation, or to print foils for a foil-based +presentation. The add-on package <i>ppr-prv</i> adds "preview" +facilities (that which is commonly called "hand-out printing"). The +<i>HA-prosper</i> package, which you load with <i>prosper</i>, +mends a few bugs, and adds several facilities and slide design styles. +<p><i>Beamer</i> is a relatively easy-to-learn, yet powerful, class that +(as its name implies) was designed for use with projection displays. +It needs the <i>pgf</i> package (for graphics support), which in +turn requires <i>xcolor</i>; while this adds to the tedium of +installing <i>beamer</i> "from scratch", both are good additions to +a modern LaTeX installation. <i>Beamer</i> has reasonable +facilities for producing printed copies of slides. +<p><i>Ppower4</i> (commonly known as <i>pp4</i>) is a +<i>Java</i>-based support program that will postprocess +PDF, to 'animate' the file at places you've marked with +commands from one of the <i>pp4</i> packages. The commands don't +work on PDF that has come from <i>dvips</i> output; they +work with PDF generated by PDFLaTeX, VTeX LaTeX, or +<i>dvipdfm</i> running on LaTeX output. +<p><i>Pdfscreen</i> and <i>texpower</i> are add-on pakages that +permit dynamic effects in documents formatted in "more modest" +classes; <i>pdfscreen</i> will even allow you to plug +"presentation effects" into an <i>article</i>-class document. +<p> + +<p>A more detailed examination of the alternatives (including examples +of code using many of them) may be found at Michael Wiedmann's fine +<a href="http://www.miwie.org/presentations/presentations.html">http://www.miwie.org/presentations/presentations.html</a> + +<dl> +<dt><tt><i>beamer.cls</i></tt><dd>Download all of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/beamer.zip">macros/latex/contrib/beamer</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/beamer.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/beamer/">browse</a>) +<dt><tt><i>foils.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/macros/latex/contrib/foiltex.zip">nonfree/macros/latex/contrib/foiltex</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/macros/latex/contrib/foiltex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/macros/latex/contrib/foiltex/">browse</a>) +<dt><tt><i>HA-prosper.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ha-prosper.zip">macros/latex/contrib/ha-prosper</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ha-prosper.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ha-prosper/">browse</a>) + +<dt><tt><i>seminar.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/seminar.zip">macros/latex/contrib/seminar</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/seminar.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/seminar/">browse</a>) +<dt><tt><i>pgf.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/pgf.zip">graphics/pgf</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/pgf.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/pgf/">browse</a>) +<dt><tt><i>pp4</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/ppower4.zip">support/ppower4</a> (<a href="ftp://cam.ctan.org/tex-archive/support/ppower4.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/ppower4/">browse</a>) +<dt><tt><i>ppr-prv.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ppr-prv.zip">macros/latex/contrib/ppr-prv</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ppr-prv.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ppr-prv/">browse</a>) +<dt><tt><i>prosper.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/prosper.zip">macros/latex/contrib/prosper</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/prosper.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/prosper/">browse</a>) +<dt><tt><i>texpower</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/texpower.zip">macros/latex/contrib/texpower</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/texpower.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/texpower/">browse</a>) +<dt><tt><i>xcolor.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/xcolor.zip">macros/latex/contrib/xcolor</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/xcolor.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/xcolor/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=slidecls">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=slidecls</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-sortbib.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-sortbib.html new file mode 100644 index 00000000000..c0c54409a70 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-sortbib.html @@ -0,0 +1,20 @@ +<head> +<title>UK TeX FAQ -- question label sortbib</title> +</head><body> +<h3>Sorting lists of citations</h3> +<p>BibTeX has a sorting function, and most BibTeX styles sort the +citation list they produce; most people find this desirable. +<p>However, it is perfectly possible to write a +<code>thebibliography</code> environment that <em>looks</em> as if it +came from BibTeX, and many people do so (in order to save time in +the short term). +<p>The problem arises when <code>thebibliography</code>-writers decide +their citations need to be sorted. A common misapprehension is to +insert <code>\</code><code>bibliographystyle{alpha}</code> (or similar) and expect +the typeset output to be sorted in some magical way. BibTeX +doesn't work that way! - if you write <code>thebibliography</code>, +you get to sort its contents. BibTeX will only sort the contents +of a <code>thebibliography</code> environment when it creates it, to +be inserted from a <code>.bbl</code> file by a <code>\</code><code>bibliography</code> command. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=sortbib">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=sortbib</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-spaftend.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-spaftend.html new file mode 100644 index 00000000000..0ff8579ca35 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-spaftend.html @@ -0,0 +1,17 @@ +<head> +<title>UK TeX FAQ -- question label spaftend</title> +</head><body> +<h3>There's a space added after my environment</h3> +<p>You've written your own environment <code>env</code>, and it works +except that a space appears at the start of the first line of typeset +text after <code>\</code><code>end{env}</code>. This doesn't happen with similar +LaTeX-supplied environments. +<p>You could impose the restriction that your users always put a +"<code>%</code>" sign after the environment ... but +LaTeX environments don't require that, either. +<p>The LaTeX environments' "secret" is an internal flag which causes +the unwanted spaces to be ignored. Fortunately, you don't have to use +the internal form: since 1996, LaTeX has had a user command +<code>\</code><code>ignorespacesafterend</code>, which sets the internal flag. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=spaftend">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=spaftend</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-specials.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-specials.html new file mode 100644 index 00000000000..e23eac5b1c3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-specials.html @@ -0,0 +1,27 @@ +<head> +<title>UK TeX FAQ -- question label specials</title> +</head><body> +<h3><code>\</code><code>special</code> commands</h3> +<p>TeX provides the means to express things that device drivers can +do, but about which TeX itself knows nothing. For example, TeX +itself knows nothing about how to include PostScript figures into +documents, or how to set the colour of printed text; but some device +drivers do. +<p>Such things are introduced to your document by means of <code>\</code><code>special</code> +commands; all that TeX does with these commands is to expand their +arguments and then pass the command to the DVI file. In most +cases, there are macro packages provided (often with the driver) that +provide a comprehensible interface to the <code>\</code><code>special</code>; for example, +there's little point including a figure if you leave no gap for it in +your text, and changing colour proves to be a particularly fraught +operation that requires real wizardry. LaTeX2e +has standard graphics and colour packages that make figure inclusion, +rotation and scaling, and colour typesetting via <code>\</code><code>special</code>s all easy. +<p>The allowable arguments of <code>\</code><code>special</code> depend on the device driver +you're using. Apart from the examples above, there are <code>\</code><code>special</code> +commands in the emTeX drivers (e.g., <i>dvihplj</i>, <i>dviscr</i>, +<em>etc</em>.) that will draw lines at arbitrary orientations, and +commands in <i>dvitoln03</i> that permit the page to be set in +landscape orientation. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=specials">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=specials</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-spell.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-spell.html new file mode 100644 index 00000000000..284dffcf5e5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-spell.html @@ -0,0 +1,36 @@ +<head> +<title>UK TeX FAQ -- question label spell</title> +</head><body> +<h3>Spelling checkers for work with TeX</h3> +<p>For Unix, <i>ispell</i> has long the program of choice; it is well +integrated with <i>emacs</i>, and deals with some TeX syntax. +However, it is increasingly challenged by <i>aspell</i>, which was +designed as a successor, and certainly performs better on most +metrics; there remains some question as to its performance with +(La)TeX sources. +<p>For Windows, there is a good spell checker incorporated into many of +the <a href="FAQ-editors.html">shell/editor</a> combinations that are available. +The spell checker from the (now defunct) 4AllTeX shell remains +available as a separate package, <i>4spell</i>. +<p>For the Macintosh, <i>Excalibur</i> is the program of choice. It +will run in native mode on both sorts of Macintosh. The distribution +comes with dictionaries for several languages. +<p>The VMS Pascal program <i>spell</i> makes special cases of +some important features of LaTeX syntax. +<p>For MSDOS, there are several programs. <i>Amspell</i> can be +called from within an editor, and <i>jspell</i> is an extended +version of <i>ispell</i>. +<dl> +<dt><tt><i>4spell</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/4spell.zip">support/4spell</a> (<a href="ftp://cam.ctan.org/tex-archive/support/4spell.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/4spell/">browse</a>) +<dt><tt><i>amspell</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/amspell.zip">support/amspell</a> (<a href="ftp://cam.ctan.org/tex-archive/support/amspell.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/amspell/">browse</a>) +<dt><tt><i>aspell</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/support/aspell/">support/aspell/</a> - choose just those language + dictionaries (under subdirectory <i>dict/</i> that you need. +<dt><tt><i>excalibur</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/mac/support/excalibur/Excalibur-4.0.2.sit.hqx">systems/mac/support/excalibur/Excalibur-4.0.2.sit.hqx</a> +<dt><tt><i>ispell</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/ispell/ispell-3.2.06.tar.gz">support/ispell/ispell-3.2.06.tar.gz</a> +<dt><tt><i>jspell</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/jspell.zip">support/jspell</a> (<a href="ftp://cam.ctan.org/tex-archive/support/jspell.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/jspell/">browse</a>) +<dt><tt><i>VMS spell</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/support/vmspell.zip">support/vmspell</a> (<a href="ftp://cam.ctan.org/tex-archive/support/vmspell.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/vmspell/">browse</a>) +<dt><tt><i>winedt</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/win32/winedt/winedt32.exe">systems/win32/winedt/winedt32.exe</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=spell">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=spell</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-spinmacro.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-spinmacro.html new file mode 100644 index 00000000000..6884eb04b2c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-spinmacro.html @@ -0,0 +1,109 @@ +<head> +<title>UK TeX FAQ -- question label spinmacro</title> +</head><body> +<h3>Spaces in macros</h3> +<p>It's very easy to write macros that produce space in the typeset +output where it's neither desired nor expected. Spaces introduced by +macros are particularly insidious because they don't amalgamate with +spaces around the macro (unlike consecutive spaces that you +type), so your output can have a single bloated space that proves +to be made up of two or even more spaces that haven't amalgamated. +And of course, your output can also have a space where none was wanted +at all. +<p>Spaces are produced, inside a macro as elsewhere, by space or tab +characters, or by end-of-line characters. There are two basic rules +to remember when writing a macro: first, the rules for ignoring spaces +when you're typing macros are just the same as the rules that apply +when you're typing ordinary text, and second, rules for ignoring +spaces do <em>not</em> apply to spaces produced while a macro is being +obeyed ("expanded"). +<p>Spaces are ignored in vertical mode (between paragraphs), at the +beginning of a line, and after a command name. Since sequences of +spaces are collapsed into one, it 'feels as if' spaces are ignored if +they follow another space. Space can have syntactic meaning after +certain sorts of non-braced arguments (e.g., <em>count</em> and +<em>dimen</em> variable assignments in Plain TeX) and after certain +control words (e.g., in <code>\</code><code>hbox</code> <code>to</code>, so again we have instances +where it 'feels as if' spaces are being ignored when they're merely +working quietly for their living. +<p>Consider the following macro, fairly faithfully adapted from one that +appeared on <i>comp.text.tex</i>: + +<blockquote> +<pre> +\newcommand{\stline}[1]{ \bigskip \makebox[2cm]{ \textbf{#1} } } +</pre> +</blockquote> +The macro definition contains five spaces: +<ul> +<li> after the opening <code>{</code> of the macro body; this space will be + ignored, not because "because the macro appears at the start of a + line", but rather because the macro was designed to operate between + paragraphs +<li> after <code>\</code><code>bigskip</code>; this space will be ignored (while the macro + is being defined) because it follows a command name +<li> after the <code>{</code> of the mandatory argument of <code>\</code><code>makebox</code>; even + though this space will inevitably appear at the start of an output + line, it will <em>not</em> be ignored +<li> after the <code>}</code> closing the argument of <code>\</code><code>textbf</code>; this space + will not be ignored, but may be overlooked if the argument is well + within the <code>2cm</code> allowed for it +<li> after the <code>}</code> closing the mandatory argument of <code>\</code><code>makebox</code>; + this space will not be ignored +</ul> +The original author of the macro had been concerned that the starts of +his lines with this macro in them were not at the left margin, and +that the text appearing after the macro wasn't always properly +aligned. These problems arose from the space at the start of the +mandatory argument of <code>\</code><code>makebox</code> and the space immediately after the +same argument. He had written his macro in that way to emphasise the +meaning of its various parts; unfortunately the meaning was rather +lost in the problems the macro caused. +<p>The principal technique for suppressing spaces is the use of +<code>%</code> characters: everything after a +<code>%</code> is ignored, even the end of line itself (so +that not even the end of line can contribute an unwanted space). The +secondary technique is to ensure that the end of line is preceded by a +command name (since the end of line behaves like a space, it will be +ignored following a command name). Thus the above command would be +written (by an experienced programmer with a similar eye to +emphasising the structure): +<blockquote> +<pre> +\newcommand{\stline}[1]{% + \bigskip + \makebox[2cm]{% + \textbf{#1}\relax + }% +} +</pre> +</blockquote> +Care has been taken to ensure that every space in the revised +definition is ignored, so none appears in the output. The revised +definition takes the "belt and braces" approach, explicitly dealing +with every line ending (although, as noted above, a space introduced +at the end of the first line of the macro would have been ignored in +actual use of the macro. This is the best technique, in fact - it's +easier to blindly suppress spaces than to analyse at every point +whether you actually need to. Three techniques were used to suppress +spaces: +<ul> +<li> placing a <code>%</code> character at the end of a line + (as in the 1st, 3rd and 5th lines), +<li> ending a line 'naturally' with a control sequence, as in line 2, + and +<li> ending a line with an 'artificial' control sequence, as in line + 4; the control sequence in this case (<code>\</code><code>relax</code>) is a no-op in many + circumstances (as here), but this usage is deprecated - a + <code>%</code> character would have been better. +</ul> +Beware of the (common) temptation to place a space <em>before</em> a +<code>%</code> character: if you do this you might as well omit +the <code>%</code> altogether. +<p>In "real life", of course, the spaces that appear in macros are far +more cryptic than those in the example above. The most common spaces +arise from unprotected line ends, and this is an error that +occasionally appears even in macros written by the most accomplished +programmers. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=spinmacro">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=spinmacro</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-splitfoot.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-splitfoot.html new file mode 100644 index 00000000000..cdfcc1dd520 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-splitfoot.html @@ -0,0 +1,44 @@ +<head> +<title>UK TeX FAQ -- question label splitfoot</title> +</head><body> +<h3>Why does LaTeX split footnotes across pages?</h3> +<p>LaTeX splits footnotes when it can think of nothing better to do. +Typically, when this happens, the footnote mark is at the bottom of +the page, and the complete footnote would overfill the page. LaTeX +could try to salvage this problem by making the page short of both the +footnote and the line with the footnote mark, but its priorities told +it that splitting the footnote would be preferable. +<p>As always, the best solution is to change your text so that the +problem doesn't occur in the first place. Consider whether the text +that bears the footnote could move earlier in the current page, or on +to the next page. +<p>If this isn't possible, you might want to change LaTeX's perception +of its priorities: they're controlled by +<code>\</code><code>interfootnotelinepenalty</code> - the larger it is, the less willing +LaTeX is to split footnotes. +<p>Setting +<blockquote> +<pre> +\interfootnotelinepenalty=10000 +</pre> +</blockquote> +inhibits split footnotes altogether, which will cause '<code>Underfull</code> +<code>\</code><code>vbox</code>' messages unless you also specify <code>\</code><code>raggedbottom</code>. The +default value of the penalty is <code>100</code>, which is rather mild. +<p>An alternative technique is to juggle with the actual size of the +pages. <code>\</code><code>enlargethispage</code> changes the size of the current page by +its argument (for example, you might say +<code>\</code><code>enlargethispage{<code>\</code><code>baselineskip</code>}</code> to add a single line +to the page, but you can use any ordinary TeX length such as +<code>15mm</code> or <code>-20pt</code> as argument). Reducing the size of +the current page could force the offending text to the next page; +increasing the size of the page may allow the footnote to be included +in its entirety. It may be necessary to change the size of more than +one page. +<p>The <i>fnbreak</i> package detects (and generates warnings about) +split footnotes. +<dl> +<dt><tt><i>fnbreak.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fnbreak.zip">macros/latex/contrib/fnbreak</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fnbreak.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fnbreak/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=splitfoot">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=splitfoot</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-struttab.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-struttab.html new file mode 100644 index 00000000000..9b33711a62a --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-struttab.html @@ -0,0 +1,59 @@ +<head> +<title>UK TeX FAQ -- question label struttab</title> +</head><body> +<h3>Spacing lines in tables</h3> +<p>(La)TeX mechanisms for maintaining the space between lines (the +"<em>leading</em>") rely on TeX's paragraph builder, which compares +the shape of consecutive lines and adjusts the space between them. +<p>These mechanisms can't work in exactly the same way when (La)TeX is +building a table, because the paragraph builder doesn't get to see the +lines themselves. As a result, tables sometimes typeset with lines +uncomfortably close together (or occasionally ridiculously far apart). +<p>Traditional (moving metal type) typographers would adjust the spacing +between lines of a table by use of a "<em>strut</em>" (a metal +spacer). A TeX user can do exactly the same thing: most macro +packages define a <code>\</code><code>strut</code> command, that defines a space appropriate +to the current size of the text; placing a <code>\</code><code>strut</code> command at the +end of a troublesome row is the simplest solution to the problem - +if it works. Other solutions below are LaTeX-specific, but some +may be simply translated to Plain TeX commands. +<p>If your table exhibits a systematic problem (i.e., every row is wrong +by the same amount) use <code>\</code><code>extrarowheight</code>, which is defined by the +<i>array</i> package: +<pre> +\usepackage{array}% in the preamble +... +\setlength{\extrarowheight}{length} +\begin{tabular}{....} +</pre> +<p>To correct a single row whose maladjustment isn't corrected by a +<code>\</code><code>strut</code> command, you can define your own, using +<code>\</code><code>rule{0pt}{length}</code> - which is a near approximation to the +command that goes inside a <code>\</code><code>strut</code>. The <i>bigstrut</i> package +defines a strut command that you can use for this purpose: +<code>\</code><code>bigstrut</code> on its own opens up both above and below the current +line; <code>\</code><code>bigstrut[t]</code> opens up above the line, +<code>\</code><code>bigstrut[b]</code> opens up below the line. +<p>General solutions are available, however. The <i>tabls</i> package +automatically generates an appropriately-sized strut at the end of +each row. Its disadvantages are that it's really rather slow in +operation (since it gets in the way of everything within tables) and +its (lack of) compatibility with other packages. +<p>The <i>booktabs</i> package comes with a thought-provoking essay +about how tables should be designed. Since table row-spacing problems +most often appear in collisions with rules, the author's thesis, +that LaTeX users tend too often to rule their tables, is +interesting. The package provides rule commands to support the +author's scheme, but deals with inter-row spacing too. The most +recent release of <i>booktabs</i> sports compatibility with +packages such as <i>longtable</i>. +<p>Documentation of both <i>bigstrut</i> and <i>tabls</i> may be +found as comments in the package files themselves. +<dl> +<dt><tt><i>array.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>bigstrut.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/multirow.zip">macros/latex/contrib/multirow</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/multirow.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/multirow/">browse</a>) +<dt><tt><i>booktabs.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/booktabs.zip">macros/latex/contrib/booktabs</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/booktabs.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/booktabs/">browse</a>) +<dt><tt><i>tabls.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/tabls.sty">macros/latex/contrib/misc/tabls.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=struttab">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=struttab</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-subsubsub.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-subsubsub.html new file mode 100644 index 00000000000..9145abc949a --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-subsubsub.html @@ -0,0 +1,33 @@ +<head> +<title>UK TeX FAQ -- question label subsubsub</title> +</head><body> +<h3>How to create a <code>\</code><code>subsubsubsection</code></h3> +<p>LaTeX's set of "sections" stops at the level of +<code>\</code><code>subsubsection</code>. This reflects a design decision by Lamport - +for, after all, who can reasonably want a section with such huge +strings of numbers in front of it? +<p>In fact, LaTeX standard classes <em>do</em> define "sectioning" +levels lower than <code>\</code><code>subsubsection</code>, but they don't format them like +sections (they're not numbered, and the text is run-in after the +heading). These deeply inferior section commands are <code>\</code><code>paragraph</code> +and <code>\</code><code>subparagraph</code>; you can (if you <em>must</em>) arrange that these +two commands produce numbered headings, so that you can use them as +<code>\</code><code>subsubsubsection</code>s and lower. +<p>The <i>titlesec</i> allows you to adjust the definitions of the +sectioning macros, and it may be used to +transform a <code>\</code><code>paragraph</code>'s typesetting so that it looks like that +of a <code>\</code><code>section</code>. +<p>If you want to program the change yourself, you'll find that the +commands (<code>\</code><code>section</code> all the way down to <code>\</code><code>subparagraph</code>) are +defined in terms of the internal <code>\</code><code>@startsection</code> command, which +takes 6 arguments. Before attempting this sort of work, you are well +advised to read the LaTeX sources (<i>ltsect.dtx</i> in the +LaTeX distribution) and the source of the standard packages +(<i>classes.dtx</i>). The <a href="FAQ-books.html">LaTeX Companion</a> +discusses use of <code>\</code><code>@startsection</code> for this sort of thing. +<dl> +<dt><tt><i>LaTeX source</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/base.zip">macros/latex/base</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/base.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/base/">browse</a>) +<dt><tt><i>titlesec.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/titlesec.zip">macros/latex/contrib/titlesec</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/titlesec.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/titlesec/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=subsubsub">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=subsubsub</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-subverttoks.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-subverttoks.html new file mode 100644 index 00000000000..aac602ef668 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-subverttoks.html @@ -0,0 +1,42 @@ +<head> +<title>UK TeX FAQ -- question label subverttoks</title> +</head><body> +<h3>Subverting a token register</h3> +<p>A common requirement is to "subvert" a token register that other +macros may use. The requirement arises when you want to add something +to a system token register (<code>\</code><code>output</code> or <code>\</code><code>every*</code>), but know +that other macros use the token register, too. (A common requirement +is to work on <code>\</code><code>everypar</code>, but LaTeX changes <code>\</code><code>everypar</code> at +every touch and turn.) +<p>The following technique, due to David Kastrup, does what you need, and +allows an independent package to play the exact same game: +<blockquote> +<pre> +\let\mypkg@@everypar\everypar +\newtoks\mypkg@everypar +\mypkg@everypar\expandafter{\the\everypar} +\mypkg@@everypar{\mypkgs@ownstuff\the\mypkg@everypar} +\def\mypkgs@ownstuff{% + <stuff to do at the start of the token register>% +} +\let\everypar\mypkg@everypar +</pre> + +</blockquote> +As you can see, the package (<i>mypkg</i>) +<ul> +<li> creates an alias for the existing "system" <code>\</code><code>everypar</code> + (which is frozen into any surrounding environment, which will carry + on using the original); +<li> creates a token register to subvert <code>\</code><code>everypar</code> and + initialises it with the current contents of <code>\</code><code>everypar</code>; +<li> sets the "old" <code>\</code><code>everypar</code> to execute its own extra code, + as well as the contents of its own token register; +<li> defines the macro for the extra code; and +<li> points the token <code>\</code><code>everypar</code> at the new token register. +</ul> +and away we go. +<p>The form <code>\</code><code>mypkg@...</code> is (sort of) blessed for LaTeX package +internal names, which is why this example uses macros of that form. +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=subverttoks">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=subverttoks</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-symbols.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-symbols.html new file mode 100644 index 00000000000..45bc5947a1d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-symbols.html @@ -0,0 +1,33 @@ +<head> +<title>UK TeX FAQ -- question label symbols</title> +</head><body> +<h3>Where can I find the symbol for ...</h3> +<!-- assignment circular integral degrees diagonal dots Fourier transform --> +<!-- Laplace greater less complex integer natural real --> +<!-- cent euro --> +<p>There is a wide range of symbols available for use with TeX, most +of which are not shown (or even mentioned) in (La)TeX books. +<em>The Comprehensive LaTeX Symbol List</em> (by Scott Pakin + +<em>et al.</em>) illustrates over 2000 symbols, and details the +commands and packages needed to produce them. +<p>Other questions in this FAQ offer specific help on kinds of +symbols: +<ul> +<li> + <a href="FAQ-scriptfonts.html">Script fonts for mathematics</a> + +<li> + <a href="FAQ-numbersets.html">Fonts for the number sets</a> + +<li> + <a href="FAQ-prinvalint.html">Typesetting the principal value integral</a> + +</ul> +<dl> +<dt><tt><i>Symbol List</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/info/symbols/comprehensive/">info/symbols/comprehensive/</a>; there are processed + versions in both PostScript and PDF forms for both A4 and + letter paper. +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=symbols">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=symbols</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-t1enc.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-t1enc.html new file mode 100644 index 00000000000..dd20b7055fb --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-t1enc.html @@ -0,0 +1,27 @@ +<head> +<title>UK TeX FAQ -- question label t1enc</title> +</head><body> +<h3>Why use <i>fontenc</i> rather than <i>t1enc</i>?</h3> +<p>In the very earliest days of LaTeX2e, the only way to use the +T1 encoding was <i>t1enc</i>; with the summer 1994 +"production" release, the <i>fontenc</i> package appeared, and +provided comprehensive support for use of the encoding. +<p>Nevertheless, the <i>t1enc</i> package remains (as part of the +LaTeX 2.09 compatibility code), but it does very little: it merely +selects font encoding T1, and leaves to the user the business +of generating the character codes required. +<p>Generating such character codes could be a simple matter, <em>if</em> +the T1 encoding matched any widely-supported encoding standard, +since in that case, one might expect one's keyboard to generate the +character codes. However, the T1 encoding is a mix of several +standard encodings, and includes code points in areas of the table +which standard encodings specifically exclude, so no T1 +keyboards have been (or ever will be) manufactured. +<p>By contrast, the <i>fontenc</i> package generates the T1 +code points from ordinary LaTeX commands (e.g., it generates the +<code>é</code> character codepoint from the command <code>\'</code><code>e</code>). So, unless you +have program-generated T1 input, use +<code>\</code><code>usepackage[T1]{fontenc}</code> rather than +<code>\</code><code>usepackage{t1enc}</code>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=t1enc">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=t1enc</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tabacc.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tabacc.html new file mode 100644 index 00000000000..476a3c811d4 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tabacc.html @@ -0,0 +1,52 @@ +<head> +<title>UK TeX FAQ -- question label tabacc</title> +</head><body> +<h3>Accents misbehave in <code>tabbing</code></h3> +<p>So you are constructing a <code>tabbing</code> environment, and you +have the need of some diacriticised text - perhaps something as simple +as <code>\</code><code>'{e}</code> - and the accent disappears because it has been +interpreted as a <code>tabbing</code> command, and everything goes +wrong. +<p>This is really a rather ghastly feature of the <code>tabbing</code> +environment; in order to type accented characters you need to use the +<code>\</code><code>a</code> kludge: so <code>\</code><code>a'{e}</code> inside <code>tabbing</code> for +<code>\</code><code>'{e}</code> outside, and similarly <code>\</code><code>a'</code> for <code>\</code><code>'</code> and <code>\</code><code>a=</code> +for <code>\</code><code>=</code>. This whole procedure is of course hideous and +error-prone. +<p>The simplest alternative is to type in an encoding that has the +diacriticised characters in it, and to use an appropriate encoding +definition file in the <i>inputenc</i> package. So for example, +type: +<blockquote> + <code>\</code><code>usepackage[latin1]{inputenc}</code><br> + <code>...</code><br> + <code>\</code><code>begin{tabbing}</code><br> + <code>...</code><br> + <code>...</code> <code>\</code><code>></code> <code>voil\'a</code> <code>\</code><code>></code> <code>...</code> +</blockquote> +for: +<blockquote> + ...\quad voil\'a\quad ... +</blockquote> +and the internal mechanisms of the <i>inputenc</i> package will put +the right version of the accent command in there. +<p>A witty reversal of the r\^oles is introduced by the package +<i>Tabbing</i> (note the capital "T"): it provides a +<code>Tabbing</code> environment which duplicates +<code>tabbing</code>, but all the single-character commands become +complicated objects. So <code>tabbing</code>'s <code>\</code><code>></code> becomes +<code>\</code><code>TAB></code>, <code>\</code><code>=</code> becomes <code>\</code><code>TAB=</code>, and so on. The above trivial +example would therefore become: +<blockquote> +<pre> +\usepackage{Tabbing} +... +\begin{Tabbing} + ... ... \TAB> voil\`a \TAB> ... +</pre> +</blockquote> +<dl> +<dt><tt><i>Tabbing.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/Tabbing.zip">macros/latex/contrib/Tabbing</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/Tabbing.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/Tabbing/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tabacc">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tabacc</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tabcellalign.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tabcellalign.html new file mode 100644 index 00000000000..bf41eb54fe4 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tabcellalign.html @@ -0,0 +1,109 @@ +<head> +<title>UK TeX FAQ -- question label tabcellalign</title> +</head><body> +<h3>How to alter the alignment of tabular cells</h3> +<p>One often needs to alter the alignment of a tabular <code>p</code> ('paragraph') +cell, but problems at the end of a table row are common. With a +<code>p</code> cell that looks like: +<blockquote> +<pre> +... & \centering blah ... \\ +</pre> +</blockquote> +one is liable to encounter errors that complain about a "misplaced +<code>\</code><code>noalign</code>" or "<a href="FAQ-altabcr.html">extra alignment tab</a>", or the like. +The problem is that the command <code>\\</code> means different things in +different circumstances: the <code>tabular</code> environment +switches the meaning to a value for use in the table, and +<code>\</code><code>centering</code>, <code>\</code><code>raggedright</code> and <code>\</code><code>raggedleft</code> all change the +meaning to something incompatible. Note that the problem only +arises in the last cell of a row: since each cell is set into a box, +its settings are lost at the <code>&</code> (or <code>\\</code>) that +terminates it. +<p>The simple (old) solution is to preserve the meaning of <code>\\</code>: +<blockquote> +<pre> +\newcommand\PBS[1]{\let\temp=\\% + #1% + \let\\=\temp +} +</pre> +</blockquote> +which one uses as: +<blockquote> +<pre> +... & \PBS\centering blah ... \\ +</pre> +</blockquote> +(for example). +<p>The technique using <code>\</code><code>PBS</code> was developed in the days of LaTeX 2.09 +because the actual value of <code>\\</code> that the <code>tabular</code> +environment uses was only available as an internal command. Nowadays, +the value is a public command, and you can in principle use it +explicitly: +<blockquote> +<pre> +... & \centering blah ... \tabularnewline +</pre> +</blockquote> +which may be incorporated into a simple macro as: +<blockquote> +<pre> +\newcommand{\RBS}{\let\\=\tabularnewline} +... +... & \centering\RBS blah ... \\ +</pre> +</blockquote> +and used as +<blockquote> +<pre> +... & \centering\RBS blah ... \\ +</pre> +</blockquote> +(note, you Preserve backslash with <code>\</code><code>PBS</code> <em>before</em> the command +that changes it, and Restore it with <code>\</code><code>RBS</code> <em>after</em> the +command; in fact, <code>\</code><code>RBS</code> is marginally preferable, but the old +trick lingers on). +<p>The <code>\</code><code>PBS</code> and <code>\</code><code>RBS</code> tricks also serve well in <i>array</i> +package "field format" preamble specifications: +<blockquote> + +<pre> +\begin{tabular}{... >{\centering\RBS}p{50mm}} +... +</pre> +</blockquote> +or +<blockquote> + +</blockquote> +<blockquote> +<pre> +\begin{tabular}{... >{\PBS\centering}p{50mm}} +... +</pre> +</blockquote> +In the <i>tabularx</i> and <i>tabulary</i> packages, there's a +command <code>\</code><code>arraybackslash</code> that has same effect as <code>\</code><code>RBS</code> (above); +so in those packages, one might say: +<blockquote> + +<pre> +\begin{tabular}{... >{\centering\arraybackslash}p{50mm}} +... +</pre> +</blockquote> +in place of the example above; in fact, the very latest (2003/12/01) +release of array.sty also provides a <code>\</code><code>tabularnewline</code> command, +that has the "basic tabular/array" meaning of '\\'. + +The command does rather lack brevity, but at least you don't have to +define it for yourself. +<dl> +<dt><tt><i>array.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>tabularx.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +<dt><tt><i>tabulary.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.zip">macros/latex/contrib/carlisle</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/carlisle.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/carlisle/">browse</a>) +</dl> + +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tabcellalign">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tabcellalign</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tds.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tds.html new file mode 100644 index 00000000000..5fbf9f47f60 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tds.html @@ -0,0 +1,36 @@ +<head> +<title>UK TeX FAQ -- question label tds</title> +</head><body> +<h3>What is the TDS?</h3> +<p> TDS stands for the TeX Directory Structure, which is a standard +way of organising all the TeX-related files on a computer system. +<p> Most modern distributions conform to the TDS, which +provides for both a 'standard' and a (set of) 'local' hierarchies of +directories containing TeX-related files. The +TDS reserves the name <code>texmf</code> as the name of the root directory +(folder) of the hierarchies. Files supplied as part of the +distribution are put into the standard hierarchy. The location of the +standard hierarchy is system dependent, but on a Unix system it might +be at +<i>/usr/local/texmf</i>, or +<i>/usr/local/share/texmf</i>, or +<i>/opt/texmf</i>, or +a similar location, but in each case the TeX files will be under the +<i>/texmf</i> subdirectory. +<p>There may be more than on 'local' hierarchy in which additional files +can be stored. In the extreme an installation can have a local +hierarchy and each user can also have an individual local hierarchy. The +location of any local hierarchy is not only system dependent but also user +dependent. Again, though, all files should be put under a local <i>/texmf</i> +directory. +<p>The TDS is published as the output of a TUG + +<a href="FAQ-TUGstar.html">Technical Working Group</a>. +You may browse an <a href="http://tug.org/tds/">on-line version</a> of the +standard, and copies in several other formats (including source) are +available on CTAN. +<dl> +<dt><tt><i>TDS specification</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/tds.zip">tds</a> (<a href="ftp://cam.ctan.org/tex-archive/tds.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/tds/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tempinst.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tempinst.html new file mode 100644 index 00000000000..41e92886ed4 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tempinst.html @@ -0,0 +1,59 @@ +<head> +<title>UK TeX FAQ -- question label tempinst</title> +</head><body> +<h3>"Temporary" installation of (La)TeX files</h3> +<p>Operating systems and applications need to know where to find files: +many files that they need are "just named" - the user doesn't +necessarily know <em>where</em> they are, but knows to ask for them. +The commonest case, of course, is the commands whose names you type to +a shell (yes, even Windows' "MSDOS prompt") are using a shell to read what +you type: many of the commands simply involve loading and executing a +file, and the <code>PATH</code> variable tells the shell where to find those files. +<p>Modern TeX implementations come with a bunch of search paths +built in to them. In most circumstances these paths are adequate, but +one sometimes needs to extend them to pick up files in strange +places: for example, we may wish to try a new bundle of packages +before + +<a href="FAQ-instpackages.html">installing them 'properly'</a>. To do +this, we need to change the relevant path as TeX perceives it. +However, we don't want to throw away TeX's built-in path (all of a +sudden, TeX won't know how to deal with all sorts of things). +<p>To <em>extend</em> a TeX path, we define an operating system +environment variable in 'path format', but leaving a gap which TeX +will fill with its built-in value for the path. The commonest case is +that we want to place our extension in front of the path, so that our +new things will be chosen in preference, so we leave our 'gap to be +filled' at the end of the environment variable. The syntax is simple +(though it depends which shell you're actually using): so on a +Unix-like system, using the <i>bash</i> shell, the job might be +done like: +<pre> + export TEXINPUTS=/tmp: +</pre> +while in a Windows system, within a MSDOS window, it would be: +<pre> + set TEXINPUTS=C:/temp; +</pre> +In either case, we're asking TeX to load files from the root disc +temporary files directory; in the Unix case, the "empty slot" is +designated by putting the path separator '<code>:</code>' on its own at the end +of the line, while in the Windows case, the technique is the same, but +the path separator is '<code>;</code>'. +<p>Note that in either sort of system, the change will only affect +instances of TeX that are started from the shell where the +environment variable was set. If you run TeX from another window, +it will use the original input path. To make a change of input path +that will "stick" for all windows, set the environment variable in +your login script or profile (or whatever) in a Unix system and log +out and in again, or in <i>autoexec.bat</i> in a Windows system, and +reboot the system. +<p>While all of the above has talked about where TeX finds its macro +files, it's applicable to pretty much any sort of file any +TeX-related program reads - there are lots of these paths, and of +their corresponding environment variables. In a +<i>web2c</i>-based system, the copious annotations in the +<i>texmf.cnf</i> system configuration file help you to learn which +path names correspond to which type of file. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tempinst">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tempinst</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-texcad.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-texcad.html new file mode 100644 index 00000000000..6a988a38bdc --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-texcad.html @@ -0,0 +1,20 @@ +<head> +<title>UK TeX FAQ -- question label texcad</title> +</head><body> +<h3>TeXCAD, a drawing package for LaTeX</h3> +<p>TeXCAD is a program for the PC which enables the user to draw diagrams +on screen using a mouse or arrow keys, with an on-screen menu of available +picture-elements. Its output is code for the LaTeX +<code>picture</code> environment. +Optionally, it can be set to include lines at all angles using +the emTeX driver-family + +<a href="FAQ-specials.html"><code>\</code><code>special</code>s</a>. +TeXCAD is part of the emTeX distribution. +<p>A Unix port of the program (<i>xtexcad</i>) has been made. +<dl> +<dt><tt><i>emtex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/msdos/emtex.zip">systems/msdos/emtex</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/msdos/emtex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/msdos/emtex/">browse</a>) +<dt><tt><i>xtexcad</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/graphics/xtexcad/xtexcad-2.4.1.tar.gz">nonfree/graphics/xtexcad/xtexcad-2.4.1.tar.gz</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=texcad">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=texcad</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-texinfo.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-texinfo.html new file mode 100644 index 00000000000..df149ea8f45 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-texinfo.html @@ -0,0 +1,24 @@ +<head> +<title>UK TeX FAQ -- question label texinfo</title> +</head><body> +<h3>What is Texinfo?</h3> +<p>Texinfo is a documentation system that uses one source file to produce +both on-line information and printed output. So instead of writing +two different documents, one for the on-line help and the other for a +typeset manual, you need write only one document source file. When +the work is revised, you need only revise one document. You can read +the on-line information, known as an "Info file", with an Info +documentation-reading program. By convention, Texinfo source file +names end with a <code>.texi</code> or <code>.texinfo</code> extension. You can write and +format Texinfo files into Info files within GNU +<i>emacs</i>, and read them using the <i>emacs</i> Info +reader. You can also format Texinfo files into Info files using +<i>makeinfo</i> and read them using <i>info</i>, so you're not +dependent on <i>emacs</i>. The distribution includes a +<i>Perl</i> script, <i>texi2html</i>, that will convert +Texinfo sources into HTML. +<dl> +<dt><tt><i>Texinfo distribution</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/texinfo/texinfo.zip">macros/texinfo/texinfo</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/texinfo/texinfo.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/texinfo/texinfo/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=texinfo">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=texinfo</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-textflow.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-textflow.html new file mode 100644 index 00000000000..4518b668dcf --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-textflow.html @@ -0,0 +1,70 @@ +<head> +<title>UK TeX FAQ -- question label textflow</title> +</head><body> +<h3>Flowing text around figures in LaTeX</h3> +<p>There are several LaTeX packages that purport to do this, but they +all have their limitations because the TeX machine isn't really +designed to solve this sort of problem. Piet van Oostrum has +conducted a survey of the available packages; he recommends: +<p><dl> +<dt><code>floatflt</code><dd> <i>floatflt</i> is an improved version + (for LaTeX2e) of <i>floatfig.sty</i>, and its syntax is: +<p><pre> +\begin{floatingfigure}[options]{width of figure} + figure contents +\end{floatingfigure} +</pre> + |\end{floatingfigure}| +<p>There is a (more or less similar) <code>floatingtable</code> +environment. +<p>The tables or figures can be set left or right, or alternating on +even/odd pages in a double-sided document. +<p>The package works with the <code>multicol</code> package, but doesn't work well +in the neighbourhood of list environments (unless you change your +LaTeX document). +<dt><code>wrapfig</code><dd> <i>wrapfig</i> has syntax: +<p><pre> +\begin{wrapfigure}[height of figure in lines]{l|r}[overhang]{width} + figure, caption, etc. +\end{wrapfigure} +</pre> + |\end{wrapfigure}| +<p> The syntax of the <code>wraptable</code> environment is similar. +<p> Height can be omitted, in which case it will be calculated by the + package; the package will use the greater of the specified and the + actual width. The <code>{l</code><em>,</em><code>r</code><em>,etc</em>.<code>}</code> parameter can + also be specified as <code>i</code><em>(nside)</em> or <code>o</code><em>(utside)</em> for + two-sided documents, and uppercase can be used to indicate that + the picture should float. The overhang allows the figure to be + moved into the margin. The figure or table will entered into the + list of figures or tables if you use the <code>\</code><code>caption</code> command. +<p> The environments do not work within list environments that end + before the figure or table has finished, but can be used in a + parbox or minipage, and in twocolumn format. + <dt><code>picins</code><dd> <i>Picins</i> is part of a large bundle + that allows inclusion of pictures (e.g., with shadow boxes, + various MSDOS formats, etc.). The command is: +<p> <code>\parpic(width,height)(x-off,y-off)[Options][Position]{Picture}</code><br> + \emph{Paragraph text} +<p> All parameters except the <em>Picture</em> are optional. The picture + can be positioned left or right, boxed with a rectangle, oval, + shadowbox, dashed box, and a caption can be given which will be + included in the list of figures. +<p> + + + + +<p> Unfortunately (for those of us whose understanding of German is not + good), the documentation is in German. Piet van Oostrum has written + an English summary. +</dl> +<dl> +<dt><tt><i>floatflt.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/floatflt.zip">macros/latex/contrib/floatflt</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/floatflt.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/floatflt/">browse</a>) +<dt><tt><i>picins.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/msdos/picins/picins.zip">systems/msdos/picins/picins.zip</a> +<li>[picins documentation + summary]<a href="ftp://cam.ctan.org/tex-archive/macros/latex209/contrib/picins/picins.txt">macros/latex209/contrib/picins/picins.txt</a> +<dt><tt><i>wrapfig.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/wrapfig.zip">macros/latex/contrib/wrapfig</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/wrapfig.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/wrapfig/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=textflow">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=textflow</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-textrace.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-textrace.html new file mode 100644 index 00000000000..404849cc665 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-textrace.html @@ -0,0 +1,41 @@ +<head> +<title>UK TeX FAQ -- question label textrace</title> +</head><body> +<h3>Making outline fonts from Metafont</h3> +<p><i>TeXtrace</i>, originally developed by Péter Szabó, is a +bundle of Unix scripts that use Martin Weber's freeware boundary +tracing package +<a href="http://autotrace.sourceforge.net"><i>autotrace</a></i> to +generate Type 1 outline fonts from Metafont bitmap +font outputs. The result is unlikely ever to be of the quality of +the commercially-produced Type 1 font, but there's always the +<a href="http://fontforge.sourceforge.net/"><i>FontForge</a></i> font +editor to tidy things. Whatever, there +remain fonts which many people find useful and which fail to attract +the paid experts, and auto-tracing is providing a useful service here. +Notable sets of +fonts generated using <i>TeXtrace</i> are Péter Szabó's own +EC/TC font set <i>tt2001</i> and Vladimir Volovich's +CM-Super set, which covers the EC, TC, and the +Cyrillic LH font sets (for details of both of which sets, see +<a href="FAQ-type1T1.html">"8-bit" type 1 fonts</a>). +<p>Another system, which arrived slightly later, is +<a href="http://www.cs.uu.nl/~hanwen/mftrace/"><i>mftrace</a></i>: +this is a small <i>Python</i> program that does the same job. +<i>Mftrace</i> may use either <i>autotrace</i> (like +<i>TeXtrace</i>) or Peter Selinger's +<a href="http://potrace.sourceforge.net"><i>potrace</a></i> to produce +the initial outlines to process. <i>Mftrace</i> is said to be +more flexible, and easier to use, than is <i>TeXtrace</i>, but both systems +are increasingly being used to provide Type 1 fonts to the public domain. +<p>The <i>MetaType1</i> system aims to use Metafont font sources, by way +of MetaPost and a bunch of scripts and so on, to produce high-quality +Type 1 fonts. The first results, the +<a href="FAQ-type1T1.html"><i>Latin Modern</i> fonts</a>, are pretty +impressive, and it is known that the team that produced the system are +developing new work using the system. +<dl> +<dt><tt><i>MetaType1</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/metatype1.zip">fonts/utilities/metatype1</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/metatype1.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/utilities/metatype1/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=textrace">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=textrace</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tfm.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tfm.html new file mode 100644 index 00000000000..ab244bb42ba --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tfm.html @@ -0,0 +1,15 @@ +<head> +<title>UK TeX FAQ -- question label tfm</title> +</head><body> +<h3>What are TFM files?</h3> +<p>TFM stands for TeX Font Metrics; TFM files hold +information about the sizes of the characters of the font in question, +and about ligatures and kerns within that font. One TFM file is +needed for each font used by TeX, that is for each design (point) +size for each weight for each family; one TFM file serves for all +magnifications, so that there are (typically) fewer TFM files than +there are PK files. The important point is that TFM files are +used by TeX (LaTeX, etc.), but are not, generally, needed by the +printer driver. +<p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tfm">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tfm</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-the-commands.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-the-commands.html new file mode 100644 index 00000000000..8cfc2570342 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-the-commands.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label the-commands</title> +</head><body> +<h3>Redefining counters' <code>\</code><code>the-</code>commands</h3> +<p>Whenever you request a new LaTeX counter, LaTeX creates a bunch +of behind-the-scenes commands, as well as definining the counter +itself. +<p>Among other things, <code>\</code><code>newcounter{</code><em>fred</em><code>}</code> creates a command +<code>\</code><code>the</code><code><em>fred</em></code>, which expands to "the value of +<code><em>fred</em></code>" when you're typesetting. +<p>The definition of <code>\</code><code>the</code><code><em>fred</em></code> should express the +value of the counter: it is almost always always a mistake to use the +command to produce anything else. The value may reasonably be +expressed as an arabic, a roman or a greek number, as an alphabetic +expression, or even as a sequence (or pattern of) symbols. If you +need a decision process on whether to re-define +<code>\</code><code>the</code><code><em>fred</em></code>, consider what might happen when you do +so. +<p>So, for example, if you want your section numbers to be terminated by +a period, you could make <code>\</code><code>thesection</code> expand with a terminating +period. However, such a change to <code>\</code><code>thesection</code> makes the +definition of <code>\</code><code>thesubsection</code> look distinctly odd: you are going to +find yourself redefining things left, right and centre. Rather, use +the standard techniques for +<a href="FAQ-seccntfmt.html">adjusting the presentation of section numbers</a>. +<p>Or, suppose you want the page number to appear at the bottom of each +page surrounded by dashes ("<code>-</code><code>- nnn -</code><code>-</code>"). Would you want to +achieve this by redefining <code>\</code><code>thepage</code>, given the likely appearance +of the table of contents with the dashes attached every page number, +or of the modified <code>\</code><code>pageref</code> references. In this case, the +modification is best done by redefining the page style itself, perhaps +<a href="FAQ-fancyhdr.html">package <i>fancyhdr</i></a>. +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=the-commands">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=the-commands</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-theoremfmt.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-theoremfmt.html new file mode 100644 index 00000000000..a8f10674f9e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-theoremfmt.html @@ -0,0 +1,25 @@ +<head> +<title>UK TeX FAQ -- question label theoremfmt</title> +</head><body> +<h3>Roman theorems</h3> +<p>If you want to take advantage of the powerful <code>\</code><code>newtheorem</code> command +without the constraint that the contents of the theorem is in a sloped +font (for example, to use it to create remarks, examples, proofs, +...) then you can use the AMSLaTeX <i>amsthm</i> package +(which now supersedes the <i>theorem</i> package previously +recommended in these answers). +Alternatively, the following sets up an environment +<code>remark</code> whose content is in roman. +<pre> + \newtheorem{preremark}{Remark} + \newenvironment{remark}% + {\begin{preremark}\upshape}{\end{preremark}} +</pre> +The <i>ntheorem</i> package provides roman theorems directly. +<dl> +<dt><tt><i>amsthm.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.zip">macros/latex/required/amslatex</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/amslatex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/amslatex/">browse</a>) +<dt><tt><i>ntheorem.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ntheorem.zip">macros/latex/contrib/ntheorem</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ntheorem.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ntheorem/">browse</a>) +<dt><tt><i>theorem.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=theoremfmt">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=theoremfmt</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-thesis.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-thesis.html new file mode 100644 index 00000000000..45a6acb6fab --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-thesis.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label thesis</title> +</head><body> +<h3>Formatting a thesis in LaTeX</h3> +<p>Thesis styles are usually very specific to your University, so it's +usually not profitable to ask around for a package outside your own +University. Since many Universities (in their eccentric way) still +require double-spacing, you may care to refer to +<a href="FAQ-linespace.html">the relevant question</a>. +If you want to write your own, a good place to start is the University +of California style, but it's not worth going to a lot of trouble. (If +officials won't allow standard typographic conventions, you won't be +able to produce an æsthetically pleasing document anyway!) +<dl> +<dt><tt><i>UC thesis style</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ucthesis.zip">macros/latex/contrib/ucthesis</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ucthesis.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ucthesis/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=thesis">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=thesis</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-time.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-time.html new file mode 100644 index 00000000000..694c95e8b53 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-time.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label time</title> +</head><body> +<h3>Printing the time</h3> +<p>TeX has a primitive register that contains "the number of minutes +since midnight"; with this knowledge it's a moderately simple +programming job to print the time (one that no self-respecting +Plain TeX user would bother with anyone else's code for). +<p>However, LaTeX provides no primitive for "time", so the +non-programming LaTeX user needs help. +<p>Two packages are available, both providing ranges of ways of printing +the date, as well as of the time: this question will concentrate on +the time-printing capabilities, and interested users can investigate +the documentation for details about dates. +<p>The <i>datetime</i> package defines two time-printing functions: +<code>\</code><code>xxivtime</code> (for 24-hour time), <code>\</code><code>ampmtime</code> (for 12-hour time) and +<code>\</code><code>oclock</code> (for time-as-words, albeit a slightly eccentric set of +words). +<p>The <i>scrtime</i> package (part of the compendious +<i>KOMA-Script</i> bundle) takes a package option (<code>12h</code> or +<code>24h</code>) to specify how times are to be printed. The command +<code>\</code><code>thistime</code> then prints the time appropriately (though there's no +<em>am</em> or <em>pm</em> in <code>12h</code> mode). The <code>\</code><code>thistime</code> +command also takes an optional argument, the character to separate the +hours and minutes: the default is of course <code>:</code>. +<dl> +<dt><tt><i>datetime.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/datetime.zip">macros/latex/contrib/datetime</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/datetime.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/datetime/">browse</a>) +<dt><tt><i>scrtime.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=time">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=time</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-titlsty.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-titlsty.html new file mode 100644 index 00000000000..eb84e5fc3df --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-titlsty.html @@ -0,0 +1,25 @@ +<head> +<title>UK TeX FAQ -- question label titlsty</title> +</head><body> +<h3>The style of document titles</h3> +<p>The <i>titling</i> package provides a number of facilities that +permit manipulation of the appearance of a <code>\</code><code>maketitle</code> command, the +<code>\</code><code>thanks</code> commands within it, and so on. The package also defines a +<code>titlingpage</code> environment, that offers something in between the +standard classes' <code>titlepage</code> option and the <code>titlepage</code> +environment, and is itself somewhat configurable. +<p>The memoir class includes all the functionality of the +<i>titling</i> package, while the <i>KOMA-script</i> classes have +their own range of different titling styles. +<p>Finally, the indefatigable Vincent Zoonekynd supplies examples of how +to program alternative +<a href="http://zoonek.free.fr/LaTeX/LaTeX_samples_title/0.html">title styles</a>. +The web page is not useful to users unless they are willing to do +their own LaTeX programming. +<dl> +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>titling.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/titling.zip">macros/latex/contrib/titling</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/titling.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/titling/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=titlsty">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=titlsty</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tmupfl.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tmupfl.html new file mode 100644 index 00000000000..f11015f353f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tmupfl.html @@ -0,0 +1,50 @@ +<head> +<title>UK TeX FAQ -- question label tmupfl</title> +</head><body> +<h3>"Too many unprocessed floats"</h3> +<p>If LaTeX responds to a <code>\</code><code>begin{figure}</code> or +<code>\</code><code>begin{table}</code> command with the error message +<pre> +! LaTeX Error: Too many unprocessed floats. + +See the LaTeX manual or LaTeX Companion for explanation. +</pre> + +your figures (or tables) are failing to be placed properly. LaTeX +has a limited amount of storage for 'floats' (figures, tables, or +floats you've defined yourself with the <i>float</i> package); if +you don't let it ever actually typeset any floats, it will run out of +space. +<p>This failure usually occurs in extreme cases of + + +<a href="FAQ-floats.html">floats moving "wrongly"</a>; +LaTeX has found it can't place a float, and floats of the same type +have piled up behind it. LaTeX's idea is to ensure that caption +numbers are sequential in the document: the caption number is +allocated when the figure (or whatever) is created, and can't be +changed, so that placement out of order would mean figure numbers +appearing out of order in the document (and in the list of figures, or +whatever). So a simple failure to place a figure means that no +subsequent figure can be placed; and hence (eventually) the error. +<p>Techniques for solving the problem are discussed in the + +<a href="FAQ-floats.html">floats question</a> +already referenced. +<p>The error also occurs in a +long sequence of <code>figure</code> or <code>table</code> +environments, with no intervening +text. Unless the environments will fit "here" (and you've allowed +them to go "here"), there will never be a page break, and so there +will never be an opportunity for LaTeX to reconsider placement. +(Of course, the floats can't all fit "here" if the sequence is +sufficiently prolonged: once the page fills, LaTeX won't place any +more floats, leading to the error. +<p>Techniques for resolution may involve redefining the floats using the +<i>float</i> package's <code>[H]</code> float qualifier, but you are unlikely +to get away without using <code>\</code><code>clearpage</code> from time to time. +<dl> +<dt><tt><i>float.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.zip">macros/latex/contrib/float</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/float/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tmupfl">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tmupfl</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-toascii.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-toascii.html new file mode 100644 index 00000000000..35df57f7ee9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-toascii.html @@ -0,0 +1,56 @@ +<head> +<title>UK TeX FAQ -- question label toascii</title> +</head><body> +<h3>Conversion from (La)TeX to plain ASCII</h3> +<p>The aim here is to emulate the Unix <i>nroff</i>, which formats +text as best it can for the screen, from the same +input as the Unix typesetting program <i>troff</i>. +<p>Converting DVI to plain text is the basis of many of these +techniques; sometimes the simple conversion provides a good enough +response. Options are: +<ul> +<li> <i>dvi2tty</i> (one of the earliest) +<li> <i>crudetype</i> +<li> <i>catdvi</i>, which is also capable of generating Latin-1 + or UTF-8 encoded output. <i>Catdvi</i> was conceived as + a replacement for <i>dvi2tty</i>, but can't (quite) be + recommended as a complete replacement yet. +</ul> +<p>Ralph Droms provides a <i>txt</i> bundle of things in support of +ASCII generation, +but it doesn't do a good job with tables and mathematics. An +alternative is the <i>screen</i> package. +<p>Another possibility is to +use the LaTeX-to-ASCII conversion program, <i>l2a</i>, +although this is really more of a de-TeXing program. +<p>The canonical de-TeXing program is <i>detex</i>, which removes +all comments and control sequences +from its input before writing it to its output. Its original purpose +was to prepare input for a dumb spelling checker, and it's only usable +for preparing useful ASCII versions of a document in highly +restricted circumstances. +<p><i>Tex2mail</i> is slightly more than a de-TeXer - it's a +<i>Perl</i> script that converts TeX files into +plain text files, expanding various mathematical symbols +(sums, products, integrals, sub/superscripts, fractions, square +roots, ...) into "ASCII art" that spreads over +multiple lines if necessary. The result is more readable to human +beings than the flat-style TeX code. +<p>Another significant possibility is to use one of the + + +<a href="FAQ-LaTeX2HTML.html">HTML-generation solutions</a>, +and then to use a browser such as <i>lynx</i> to dump the resulting +HTML as plain text. +<dl> +<dt><tt><i>catdvi</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/catdvi.zip">dviware/catdvi</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/catdvi.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/catdvi/">browse</a>) +<dt><tt><i>crudetype</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/dviware/crudetype.zip">dviware/crudetype</a> (<a href="ftp://cam.ctan.org/tex-archive/dviware/crudetype.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/dviware/crudetype/">browse</a>) +<dt><tt><i>detex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/detex.zip">support/detex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/detex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/detex/">browse</a>) +<dt><tt><i>dvi2tty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/dviware/dvi2tty.zip">nonfree/dviware/dvi2tty</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/dviware/dvi2tty.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/dviware/dvi2tty/">browse</a>) +<dt><tt><i>l2a</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/l2a.zip">support/l2a</a> (<a href="ftp://cam.ctan.org/tex-archive/support/l2a.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/l2a/">browse</a>) +<dt><tt><i>screen.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex209/contrib/misc/screen.sty">macros/latex209/contrib/misc/screen.sty</a> +<dt><tt><i>tex2mail</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/tex2mail.zip">support/tex2mail</a> (<a href="ftp://cam.ctan.org/tex-archive/support/tex2mail.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/tex2mail/">browse</a>) +<dt><tt><i>txt</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/txt.zip">support/txt</a> (<a href="ftp://cam.ctan.org/tex-archive/support/txt.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/txt/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=toascii">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=toascii</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tocbibind.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tocbibind.html new file mode 100644 index 00000000000..07e29769786 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tocbibind.html @@ -0,0 +1,47 @@ +<head> +<title>UK TeX FAQ -- question label tocbibind</title> +</head><body> +<h3>Bibliography, index, etc., in TOC</h3> +<p>The standard LaTeX classes (and many others) use <code>\</code><code>section*</code> or +<code>\</code><code>chapter*</code> for auto-generated parts of the document (the tables of +contents, lists of figures and tables, the bibliography and the index). As a +result, these items aren't numbered (which most people don't mind), +and (more importantly) they don't appear in the table of contents. +<p>The correct solution (as always) is to have a class of your own that +formats your document according to your requirements. The macro to do +the job (<code>\</code><code>addcontentsline</code>) is fairly simple, but there is always +an issue of ensuring that the contents entry quotes the correct page. +Supposing that our the document is chapter-based (class <i>report</i> +or <i>book</i>, for example), the text: +<blockquote> +<pre> +\bibliography{frooble} +\addcontentsline{toc}{chapter}{Bibliography} +</pre> +</blockquote> +will produce the <em>wrong</em> answer if the bibliography is more than +one page long. Instead, one should say: +<blockquote> +<pre> +\cleardoublepage +\addcontentsline{toc}{chapter}{Bibliography} +\bibliography{frooble} +</pre> +</blockquote> +(Note that <code>\</code><code>cleardoublepage</code> does the right thing, even if your +document is single-sided - in that case, it's a synonym for +<code>\</code><code>clearpage</code>). Ensuring that the entry refers to the right place is +trickier still in a <code>\</code><code>section</code>-based class. +<p>The common solution, therefore, is to use the <i>tocbibind</i> +package, which provides many facilities to control the way these +entries appear in the table of contents. +<p>Classes of the <i>KOMA-script</i> bundle provide this functionality +as a set of class options; the <i>memoir</i> class includes +<i>tocbibind</i> itself. +<dl> +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>tocbibind.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/tocbibind.zip">macros/latex/contrib/tocbibind</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/tocbibind.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/tocbibind/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tocbibind">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tocbibind</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tocloft.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tocloft.html new file mode 100644 index 00000000000..f22e29ab133 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tocloft.html @@ -0,0 +1,32 @@ +<head> +<title>UK TeX FAQ -- question label tocloft</title> +</head><body> +<h3>The format of the Table of Contents, etc.</h3> +<p>The formats of entries in the table of contents (TOC) are +controlled by a number of internal commands (discussed in section 2.3 +of <a href="FAQ-books.html"><em>The LaTeX Companion</em></a>. The commands +<code>\</code><code>@pnumwidth</code>, <code>\</code><code>@tocrmarg</code> and <code>\</code><code>@dotsep</code> control the space +for page numbers, the indentation of the right-hand margin, and the +seperation of the dots in the dotted leaders, respectively. The +series of commands named <code>\</code><code>l@<em>xxx</em></code>, where <code><em>xxx</em></code> +is the name of a sectional heading (such as <code>chapter</code> or +<code>section</code>, ...) control the layout of the corresponding +heading, including the space for section numbers. All these internal +commands may be individually redefined to give the effect that you +want. +<p>Alternatively, the package <i>tocloft</i> provides a set of +user-level commands that may be used to change the TOC +formatting. Since exactly the same mechanisms are used for the List +of Figures and List of Tables, the layout of these sections may be +controlled in the same way. +<p>The <i>KOMA-Script</i> classes provides an optional variant structure +for the table of contents, and calculates the space needed for the +numbers automatically. The <i>memoir</i> includes the functionality +of <i>tocloft</i>. +<dl> +<dt><tt><i>KOMA script bundle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/koma-script.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>tocloft.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/tocloft.zip">macros/latex/contrib/tocloft</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/tocloft.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/tocloft/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tocloft">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tocloft</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tocloftwrong.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tocloftwrong.html new file mode 100644 index 00000000000..8433c169f41 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tocloftwrong.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label tocloftwrong</title> +</head><body> +<h3>Numbers too large in table of contents, etc.</h3> +<p>LaTeX constructs the table of contents, list of figures, tables, +and similar tables, on the basis of a layout specified in the class. +As a result, they do <em>not</em> react to the sizes of things in them, +as they would if a <code>tabular</code> environment (or something +similar) was used. +<p>This arrangement can provoke problems, most commonly with deep section +nesting or very large page numbers: the numbers in question just don't +fit in the space allowed for them in the class. +<p>A separate answer discusses + +<a href="FAQ-tocloft.html">re-designing the tables</a> +and those techniques can be employed to make the numbers fit. +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tocloftwrong">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tocloftwrong</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-toodeep.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-toodeep.html new file mode 100644 index 00000000000..e27ee288241 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-toodeep.html @@ -0,0 +1,58 @@ +<head> +<title>UK TeX FAQ -- question label toodeep</title> +</head><body> +<h3>"Too deeply nested"</h3> +<p>This error appears when you start a LaTeX list. +<p>LaTeX keeps track of the nesting of one list inside another. There +is a set of list formatting parameters built-in for application to +each of the list nesting levels; the parameters determine indentation, +item separation, and so on. The <code>list</code> environment (the +basis for list environments like <code>itemize</code> and +<code>enumerate</code>) "knows" there are only 6 of these sets. +<p>There are also different label definitions for the +<code>enumerate</code> and <code>itemize</code> environments at +their own private levels of nesting. Consider this example: +<blockquote> +<pre> +\begin{enumerate} +\item first item of first enumerate + \begin{itemize} + \item first item of first itemize + \begin{enumerate} + \item first item of second enumerate + ... + \end{enumerate} + ... + \end{itemize} +... +\end{enumerate} +</pre> +</blockquote> +In the example, +<ul> +<li> the first <code>enumerate</code> has labels as for a + first-level <code>enumerate</code>, and is indented as for a + first-level list; +<li> the first <code>itemize</code> has labels as for a first level + <code>itemize</code>, and is indented as for a second-level list; + and +<li> the second <code>enumerate</code> has labels as for a + second-level <code>enumerate</code>, and is indented as for a + third-level list. +</ul> +Now, as well as LaTeX <em>knowing</em> that there are 6 sets of +parameters for indentation, it also <em>knows</em> that there are only +4 types of labels each, for the environments <code>enumerate</code> +and <code>itemize</code> (this "knowledge" spells out a requirement +for class writers, since the class supplies the sets of parameters). +<p>From the above, we can deduce that there are several ways we can run +out of space: we can have 6 lists (of any sort) nested, and try to +start a new one; we can have 4 <code>enumerate</code> environments +somewhere among the set of nested lists, and try to add another one; +and we can have 4 <code>itemize</code> environments somewhere among +the set of nested lists, and try to add another one. +<p>What can be done about the problem? Not much, short of rewriting +LaTeX - you really need to rewrite your document in a slightly +less labyrinthine way. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=toodeep">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=toodeep</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-topgraph.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-topgraph.html new file mode 100644 index 00000000000..e3906b52dd2 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-topgraph.html @@ -0,0 +1,42 @@ +<head> +<title>UK TeX FAQ -- question label topgraph</title> +</head><body> +<h3>Top-aligning imported graphics</h3> +<p>When TeX sets a line of anything, it ensures that the base-line of +each object in the line is at the same level as the base-line of the +final object. (Apart, of course, from <code>\</code><code>raisebox</code> commands...) +<p>Most imported graphics have their base-line set at the bottom of the +picture. When using packages such as <i>subfig</i>, one often +wants to align figures by their tops. The following odd little bit of +code does this: +<blockquote> +<pre> +\vtop{% + \vskip0pt + \hbox{% + \includegraphics{figure}% + }% +} +</pre> +</blockquote> +The <code>\</code><code>vtop</code> primitive sets the base-line of the resulting object to +that of the first "line" in it; the <code>\</code><code>vskip</code> creates the illusion +of an empty line, so <code>\</code><code>vtop</code> makes the very top of the box into the +base-line. +<p>In cases where the graphics are to be aligned with text, there is a +case for making the base-line one ex-height below the top of the box, +as in: +<blockquote> +<pre> +\vtop{% + \vskip-1ex + \hbox{% + \includegraphics{figure}% + }% +} +</pre> +</blockquote> +The fact is, <em>you</em> may choose where the base-line ends up. This +answer merely shows you sensible choices you might make. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=topgraph">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=topgraph</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tradesyms.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tradesyms.html new file mode 100644 index 00000000000..e3fc7c0eff5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tradesyms.html @@ -0,0 +1,30 @@ +<head> +<title>UK TeX FAQ -- question label tradesyms</title> +</head><body> +<h3>How to get copyright, trademark, etc.</h3> +<p>The " +<a href="FAQ-symbols.html">Comprehensive symbol list</a>", lists +the symbol commands <code>\</code><code>textcopyright</code>, +<code>\</code><code>textregistered</code> and <code>\</code><code>texttrademark</code>, which are available in +TS1-encoded fonts, and which are enabled using the +<i>textcomp</i> package. +<p>In fact, all three commands are enabled in default LaTeX, but the +glyphs you get aren't terribly beautiful. In particular, +<code>\</code><code>textregistered</code> behaves oddly when included in bold text (for +example, in a section heading), since it is composed of a small-caps +letter, which typically degrades to a regular shape letter when asked +to set in a bold font. This means that the glyph becomes a circled +"r", whereas the proper symbol is a circled "R". +<p>This effect is of course avoided by use of <i>textcomp</i>. +<p>Another problem arises if you want <code>\</code><code>textregistered</code> in a +superscript position (to look similar to <code>\</code><code>texttrademark</code>). +Using a maths-mode superscript to do this provokes lots of pointless +errors: you <em>must</em> use +<blockquote> +<pre> +\textsuperscript{\textregistered} +</pre> +</blockquote> +<p> +<p><p><p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tradesyms">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tradesyms</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-triptrap.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-triptrap.html new file mode 100644 index 00000000000..ec0c6eed9e9 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-triptrap.html @@ -0,0 +1,25 @@ +<head> +<title>UK TeX FAQ -- question label triptrap</title> +</head><body> +<h3>How can I be sure it's really TeX?</h3> +<p>TeX (and Metafont and MetaPost) are written in a + + <a href="FAQ-lit.html">'literate' programming</a> language called Web +which is designed to be portable across a wide range of computer +systems. How, then, is a new version of TeX checked? +<p>Of course, any sensible software implementor will have his own suite +of tests to check that his software runs: those who port TeX and +its friends to other platforms do indeed perform such tests. +<p>Knuth, however, provides a 'conformance test' for both TeX +(<code>trip</code>) and Metafont (<code>trap</code>). + +He characterises these as 'torture tests': they are designed not to +check the obvious things that ordinary typeset documents, or font +designs, will exercise, but rather to explore small alleyways off the +main path through the code of TeX. They are, to the casual reader, +pretty incomprehensible! +<p>Once an implementation of TeX has passed its <code>trip</code> test, or an +implementation of Metafont has passed its <code>trap</code> test, then it may +reasonably be distributed as a working version. +<p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=triptrap">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=triptrap</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tutorials.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tutorials.html new file mode 100644 index 00000000000..5c200b65e71 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-tutorials.html @@ -0,0 +1,154 @@ +<head> +<title>UK TeX FAQ -- question label tutorials</title> +</head><body> +<h3>(La)TeX Tutorials, etc.</h3> +<p>Some very fine tutorials have been written, over the years. Michael +Doob's splendid 'Gentle Introduction' to Plain TeX (available on +CTAN) has been stable for a very long time. Another contender +in the same game is from one D. R. Wilkins, available on the web at +<a href="http://www.ntg.nl/doc/wilkins/pllong.pdf">http://www.ntg.nl/doc/wilkins/pllong.pdf</a> +<p>Tobias Oetiker's '(Not so) Short Introduction to LaTeX2e', is +regularly updated, as people suggest better ways of explaining things, +etc. The introduction is available on CTAN, together with +versions in the some of the many languages it has been translated +into. +<p>Harvey Greenberg's 'Simplified Introduction to LaTeX' was written +for a lecture course, and is also available on CTAN (in PostScript +only, unfortunately). +<p>Edith Hodgen's +<a href="http://www.mcs.vuw.ac.nz/~david/latex/notes.pdf">LaTeX, a Braindump</a> +starts you from the ground up - giving a basic tutorial in the use +of <i>Linux</i> to get you going (rather a large file...). +Its parent site, David Friggens' +<a href="http://www.mcs.vuw.ac.nz/~david/latex/">documentation page</a> is a +useful collection of links in itself. +<p>Peter Flynn's "Beginner's LaTeX" (which also started as course +material) is a pleasing read. A complete copy may be found on +CTAN, but it may also be browsed over the web +(<a href="http://www.tex.ac.uk/tex-archive/info/beginlatex/html/">http://www.tex.ac.uk/tex-archive/info/beginlatex/html/</a>). +<p>TUG India is developing a series of online LaTeX tutorials +which can be strongly recommended: select single chapters at a time +from <a href="http://www.tug.org.in/tutorials.html">http://www.tug.org.in/tutorials.html</a> - the +set comprises two parts, "Text" and "Graphics", so far. +<p><a href="http://www.comp.leeds.ac.uk/andyr/misc/latex/index.html">Andy Roberts' introductory material</a> +is a pleasing short introduction to the use of (La)TeX; some of the +slides for <em>actual</em> tutorials are to be found on the page, as well. +<p>Another item, not quite FAQ, not quite tutorial, is Herbert +Voss's excellent +<a href="http://texnik.de/">LaTeX tips and tricks</a>. +<p>An interesting (and practical) tutorial about what <em>not</em> to do is +<i>l2tabu</i>, or "A list of sins of LaTeX2e users" by Mark +Trettin, translated into English by Jürgen Fenn. The +tutorial is available from CTAN as a PDF file (though +the source is also available). +<p>The AMS publishes a "Short Math Guide for LaTeX", which is +available (in several formats) via +<a href="http://www.ams.org/tex/short-math-guide.html">http://www.ams.org/tex/short-math-guide.html</a> +<p>Herbert Voss is developing a parallel document, that is also very +useful; it's part of his "tips and tricks" mentioned above and is +also available on CTAN. + +<p>Keith Reckdahl's "Using Imported Graphics in LaTeX2e" is an +excellent introduction to graphics use, though it's slightly dated in +not discussing anything other than the <i>dvips</i> route. +Available on CTAN, but again without sources. +<p>An invaluable step-by-step setup guide for establishing a "work +flow" through your (La)TeX system, so that output appears at the +correct size and position on standard-sized paper, and that the print +quality is satisfactory, is Mike Shell's <i>testflow</i>. The +tutorial consists of a large plain text document, and there is a +supporting LaTeX file together with correct output, both in PostScript and +PDF, for each of A4 and "letter" paper sizes. The +complete kit is available on CTAN (distributed with the +author's macros for papers submitted for IEEE publications). +<p> + + +For Plain TeX commands a rather nice +<a href="http://www.nmt.edu/tcc/help/pubs/texcrib.pdf">quick reference booklet</a>, +by John W. Shipman, is available. +<p>Special-purpose tutorials are always useful, and an example is set by +Haruhiko Okumura's page on + +<a href="http://oku.edu.mie-u.ac.jp/~okumura/texfaq/japanese/">typesetting Japanese with Omega</a> +(the parent page is in Japanese, so out of the scope of this +FAQ). +<p>Some university departments make their local documentation available +on the web. Most straightforwardly, there's the simple translation of +existing documentation into HTML, for example the INFO +documentation of the (La)TeX installation, of which a sample is the +LaTeX documentation available at +<a href="http://www.tac.dk/cgi-bin/info2www?(latex)">http://www.tac.dk/cgi-bin/info2www?(latex)</a> +<p>More ambitiously, some university departments have enthusiastic +documenters who +make public record of their (La)TeX support. For example, Tim Love +(of Cambridge University Engineering Department) maintains his +deparment's pages at +<a href="http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/">http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/</a>, and Mimi +Burbank (of the School of Computer Science & Information Technology +at the University of Florida) manages her department's at +<a href="http://www.csit.fsu.edu/~mimi/tex/">http://www.csit.fsu.edu/~mimi/tex/</a> - both sets are fine +examples of good practice. +<p> + + + +<p>People have long argued for (La)TeX books to be made available on +the web, and +Victor Eijkhout's excellent "TeX by Topic" (previously published +by Addison-Wesley, but long out of print) was offered in this way at +Christmas 2001. The book is currently +available at <a href="http://www.eijkhout.net/tbt/">http://www.eijkhout.net/tbt/</a>; +it's not a beginner's tutorial but it's a fine reference +(contributions are invited, and the book is well +worth the suggested contribution). +<p>Addison-Wesley have also released the copyright of "TeX for the +Impatient" by Paul W. Abrahams, Karl Berry and Kathryn A. Hargreaves, +another book whose unavailability many have lamented. The authors +have re-released the book under the GNU general documentation +licence, and it is available from CTAN. +<p>Norm Walsh's "Making TeX Work" is also available (free) on the +Web, at <a href="http://makingtexwork.sourceforge.net/mtw/">http://makingtexwork.sourceforge.net/mtw/</a>; the sources +of the Web page are on CTAN. +<p>The book was an excellent resource in its day, but is now somewhat +dated; nevertheless, it still has its uses, and is a welcome addition +to the list of on-line resources. A project to update it is believed +to be under way. +<p>Jim Hefferon maintains a web page + +"<a href="http://www.ctan.org/installationadvice/">Managing a one-person TeX system</a>" +which provides a useful introduction to those who find they need to +manage a TeX system on a personal machine. It covers much of the +matters discussed in answers such as +"<a href="FAQ-wherefiles.html">Where to put new files</a>", +and thereby covers the gap left by the (possibly temporary) lack of +"<em>Making TeX work</em>". +<p>There's also (at least one) typographic style tutorial available on +the Web, the excellent +"<a href="http://www.nbcs.rutgers.edu/~hedrick/typography/typography.janson-syntax.107514.pdf">Guidelines for Typography in NBCS</a>". +In fact, its +<a href="http://www.nbcs.rutgers.edu/~hedrick/typography/index.html">parent page</a> +is also worth a read: among other things, it provides copies of the +"guidelines" document in a wide variety of primary fonts, for +comparison purposes. The author is careful to explain that he has no +ambition to supplant such excellent books as +<a href="FAQ-typebooks.html">Bringhurst's</a>, but the document (though it does +contain its Rutgers-local matter) is a fine introduction to the issues +of producing readable documents. +<dl> +<dt><tt><i>Beginner's LaTeX</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/beginlatex/beginlatex-3.6.pdf">info/beginlatex/beginlatex-3.6.pdf</a> +<dt><tt><i>Gentle Introduction</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/gentle/gentle.pdf">info/gentle/gentle.pdf</a> +<dt><tt><i>l2tabu</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/l2tabu/english/l2tabuen.pdf">info/l2tabu/english/l2tabuen.pdf</a>; source also available: <a href="ftp://cam.ctan.org/tex-archive/info/l2tabu/english/l2tabuen.tex">info/l2tabu/english/l2tabuen.tex</a> +<dt><tt><i>Graphics in LaTeX2e</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/epslatex.pdf">info/epslatex.pdf</a>; the + document is also available in PostScript format as <a href="ftp://cam.ctan.org/tex-archive/info/epslatex.ps">info/epslatex.ps</a> +<dt><tt><i>Making TeX Work</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/makingtexwork/mtw-1.0.1-html.tar.gz">info/makingtexwork/mtw-1.0.1-html.tar.gz</a> +<dt><tt><i>Not so Short Introduction</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/lshort/english/lshort.pdf">info/lshort/english/lshort.pdf</a> + (in English, or browse for sources and other language versions at + <a href="http://www.tex.ac.uk/tex-archive/info/lshort/">info/lshort/</a>) +<dt><tt><i>Simplified LaTeX</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/simplified-latex/simplified-intro.ps">info/simplified-latex/simplified-intro.ps</a> +<dt><tt><i>TeX for the Impatient</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/impatient.zip">info/impatient</a> (<a href="ftp://cam.ctan.org/tex-archive/info/impatient.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/info/impatient/">browse</a>) +<dt><tt><i>testflow</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/IEEEtran/testflow/">macros/latex/contrib/IEEEtran/testflow/</a> +<dt><tt><i>Herbert Voss' Maths tutorial</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/math/voss/Voss-Mathmode.pdf">info/math/voss/Voss-Mathmode.pdf</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tutorials">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tutorials</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-twooptarg.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-twooptarg.html new file mode 100644 index 00000000000..0284486d9c6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-twooptarg.html @@ -0,0 +1,61 @@ +<head> +<title>UK TeX FAQ -- question label twooptarg</title> +</head><body> +<h3>More than one optional argument</h3> +<p>If you've already read +"<a href="FAQ-moren9.html">breaking the 9-argument limit</a>". +you can probably guess the solution to this problem: command relaying. +<p>LaTeX allows commands with a single optional argument thus: +<pre> + \newcommand{\blah}[1][Default]{...} +</pre> +<p>You may legally call such a command either with its optional argument +present, as +<code>\</code><code>blah[nonDefault]</code> or as <code>\</code><code>blah</code>; in the latter case, the +code of <code>\</code><code>blah</code> will have an argument of <code>Default</code>. +<p>To define a command with two optional arguments, we use the relaying +technique, as follows: +<pre> + \newcommand{\blah}[1][Default1]{% + \def\ArgI{{#1}}% + \BlahRelay + } + \newcommand\BlahRelay[1][Default2]{% + % the first optional argument is now in + % \ArgI + % the second is in #1 + ...% + } +</pre> +Of course, <code>\</code><code>BlahRelay</code> may have as many mandatory arguments as are +allowed, after allowance for the one taken up with its own +optional argument - that is, 8. +<p>Variants of <code>\</code><code>newcommand</code> (and friends), with names like +<code>\</code><code>newcommandtwoopt</code>, are available in the <i>twoopt</i> package. +However, if you can, it's probably better to learn to write the commands +yourself, just to see why they're not even a good idea from the +programming point of view. +<p>A command with two optional arguments strains the limit of what's +sensible: obviously you can extend the technique to provide as many +optional arguments as your fevered imagination can summon. However, +see the comments on the use of the <i>keyval</i> package, again in +"<a href="FAQ-moren9.html">breaking the 9-argument limit</a>". +which offer an alternative way forward. +<p>If you must, however, consider the <i>optparams</i> package; +provides a <code>\</code><code>optparams</code> command that you use as an intermediate in +defining commands with up to nine optional arguments. The +documentation shows examples of commands with four optional arguments +(and this from an author who has his own key-value package!). +<p>An alternative approach is offered by Scott Pakin's +<i>newcommand</i> program, which takes a command name and a +definition of a set of command arguments (in a fairly +readily-understood language), and emits (La)TeX macros which enable +the command to be defined. The command requires that a +<i>Python</i> system be installed on your computer. +<dl> +<dt><tt><i>newcommand.py</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/newcommand.zip">support/newcommand</a> (<a href="ftp://cam.ctan.org/tex-archive/support/newcommand.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/newcommand/">browse</a>) +<dt><tt><i>optparams.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sauerj.zip">macros/latex/contrib/sauerj</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/sauerj.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/sauerj/">browse</a>) +<dt><tt><i>twoopt.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/oberdiek.zip">macros/latex/contrib/oberdiek</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/oberdiek.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/oberdiek/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=twooptarg">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=twooptarg</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-type1T1.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-type1T1.html new file mode 100644 index 00000000000..cb0438aacd2 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-type1T1.html @@ -0,0 +1,105 @@ +<head> +<title>UK TeX FAQ -- question label type1T1</title> +</head><body> +<h3>Finding '8-bit' Type 1 fonts</h3> +<!-- eight --> +<p>Elsewhere, answers to these FAQs recommend that you use an +'8-bit' font to permit +<a href="FAQ-hyphenaccents.html">accentuation of inflected languages</a>, +and also recommend the use of Type 1 fonts to ensure that +you get <a href="FAQ-fuzzy-type3.html">good quality PDF</a>. These +recommendations used to be contradictory: one could not just +"switch" from the free CM fonts to free Cork- (or similarly) +encoded Type 1 fonts. The first approach that started to alleviate +these problems, was the development of virtual fonts that make +a good approach to the Cork encoding (see below). Now, however, we +have "true" Type 1 fonts available: as always, we have an +embarrassment of riches with three free alternatives, and one +commercial and one shareware version. +<p><i>CM-super</i> is an +auto-traced set which encompasses all of the T1 and TS1 +encodings as well as the T2* series (the family of encodings +that cover languages based on Cyrillic alphabets). These fonts are +pretty easy to install (the installation instructions are clear), but +they are huge: don't try to install them if you're short of disc +space. +<p><i>CM-LGC</i> is a similar "super-font" set, but of much more +modest size; it covers T1, TS1 and T2{A} +encodings (as does <i>CM-super</i>, and also covers the LGR +encoding (for typesetting Greek, based on Claudio Beccari's Metafont +sources). <i>CM-LGC</i> manages to be small by going to the +opposite extreme from <i>CM-super</i>, which includes fonts at all +the sizes supported by the original EC (a huge range); +<i>CM-LGC</i> has one font per font shape, getting other sizes by +scaling. There is an inevitable loss of quality inherent in this +approach, but for the disc-space-challenged machine, <i>CM-LGC</i> +is an obvious choice. +<p><i>Tt2001</i> is a simple scan of the EC and TC +fonts, and has some virtues - it's noticeably smaller than +<i>CM-super</i> while being less stark than <i>CM-LGC</i>. +<p><i>Latin</i> <i>Modern</i> is produced using the +program <a href="FAQ-textrace.html"><i>MetaType1</i></a>. The +<i>Latin</i> <i>Modern</i> set comes with T1, TS1 +LY1 encoded variants (as well as a variant using the Polish +QX encoding); for the glyph set it covers, its outlines seem +rather cleaner than those of <i>CM-super</i>. <i>Latin</i> +<i>Modern</i> is more modest in its disc space demands than is +<i>CM-super</i>, while not being nearly as stark in its range of +design sizes as is <i>CM-LGC</i> - <i>Latin</i> +<i>Modern</i>'s fonts are offered in the same set of sizes as the +original <i>CM</i> fonts. It's hard to argue with the choice: +Knuth's range of sizes has stood the test of time, and is one of the +bases on which the excellence of the TeX system rests. +<p><a href="FAQ-virtualfonts.html">Virtual fonts</a> help us deal with the problem, +since they allow us to map "bits of DVI file" to single +characters in the virtual font; so we can create an "é" character +by recreating the DVI commands that would result from the code +"<code>\'</code><code>e</code>". However, since this involves two characters being +selected from a font, the arrangement is sufficient to fool +<i>Acrobat</i> <i>Reader</i>: you can't use the program's +facilities for searching for text that contains inflected characters, +and if you <em>cut</em> text from a window that contains such a +character, you'll find something unexpected (typically the accent and +the 'base' characters separated by a space) when you <i>paste</i> +the result. However, if you can live with this difficulty, virtual +fonts are a useful and straightforward solution to the problem. +<p>There are two virtual-font offerings of CM-based 8-bit +fonts - the <i>ae</i> ("almost EC") and +<i>zefonts</i> sets; the <i>zefonts</i> set has wider coverage +(though the <i>ae</i> set may be extended to offer guillemets by +use of the <i>aeguill</i> package). Neither offers characters such +as <code>eth</code> and <code>thorn</code> (used in, for example, in Icelandic), but the +<i>aecompl</i> package works with the <i>ae</i> fonts to provide +the missing characters from the EC fonts (i.e., as bitmaps). +<p>The sole remaining commercial CM-like 8-bit font comes from +Micropress, who offer the complete EC set +in Type 1 format, as part of their range of outline versions of fonts +that were originally distributed in Metafont format. See +<a href="FAQ-commercial.html">"commercial distributions"</a>. +<p>The shareware +<a href="FAQ-TeXsystems.html">BaKoMa TeX distribution</a> offers a +set of Type 1 EC fonts, as an extra shareware option. (As far +as the present author can tell, these fonts are <em>only</em> available +to users of BaKoMa TeX: they are stored in an archive format that +seems not to be publicly available.) +<p>Finally, you can use one of the myriad text fonts available in Type 1 +format (with appropriate PSNFSS metrics for T1 encoding, +or metrics for some other 8-bit encoding such as LY1). However, +if you use someone else's text font (even something as simple as +Adobe's Times family) you have to find a matching family of +mathematical fonts, which is a non-trivial undertaking - +see <a href="FAQ-psfchoice.html">"choice of scalable fonts"</a>. +<dl> +<dt><tt><i>ae fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/ae.zip">fonts/ae</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/ae.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/ae/">browse</a>) +<dt><tt><i>aecompl.sty</i></tt><dd>Distributed with <a href="ftp://cam.ctan.org/tex-archive/fonts/ae.zip">fonts/ae</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/ae.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/ae/">browse</a>) +<dt><tt><i>aeguill.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/aeguill.zip">macros/latex/contrib/aeguill</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/aeguill.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/aeguill/">browse</a>) +<dt><tt><i>BaKoMa fonts</i></tt><dd>Browse <a href="http://www.tex.ac.uk/tex-archive/nonfree/systems/win32/bakoma/fonts/">nonfree/systems/win32/bakoma/fonts/</a> +<dt><tt><i>CM-LGC fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/cm-lgc.zip">fonts/ps-type1/cm-lgc</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/cm-lgc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/ps-type1/cm-lgc/">browse</a>) +<dt><tt><i>CM-super fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/cm-super.zip">fonts/ps-type1/cm-super</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/cm-super.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/ps-type1/cm-super/">browse</a>) (beware: + very large download) +<dt><tt><i>Latin Modern fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/lm.zip">fonts/lm</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/lm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/lm/">browse</a>) +<dt><tt><i>tt2001 fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/tt2001.zip">fonts/ps-type1/tt2001</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/ps-type1/tt2001.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/ps-type1/tt2001/">browse</a>) +<dt><tt><i>zefonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/zefonts.zip">fonts/zefonts</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/zefonts.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/zefonts/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=type1T1">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=type1T1</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-typebooks.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-typebooks.html new file mode 100644 index 00000000000..ba2f51053ca --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-typebooks.html @@ -0,0 +1,51 @@ +<head> +<title>UK TeX FAQ -- question label typebooks</title> +</head><body> +<h3>Books on Type</h3> +<p> The following is a partial listing of books on typography in general. +Of these, Bringhurst seems to be the one most often recommended. +<dl> +<dt>The Elements of Typographic Style<dd>by Robert Bringhurst + (Hartley & Marks, 1992, ISBN 0-88179-033-8) +<dt>Finer Points in the Spacing & Arrangement of Type<dd>by Geoffrey Dowding + (Hartley & Marks, 1996, ISBN 0-88179-119-9) +<dt>The Thames & Hudson Manual of Typography<dd>by Ruari McLean + (Thames & Hudson, 1980, ISBN 0-500-68022-1) +<dt>The Form of the Book<dd>by Jan Tschichold + (Lund Humphries, 1991, ISBN 0-85331-623-6) +<dt>Type & Layout<dd>by Colin Wheildon + (Strathmore Press, 1995, ISBN 0-9624891-5-8) +<dt>The Design of Books<dd>by Adrian Wilson + (Chronicle Books, 1993, ISBN 0-8118-0304-X) +<dt>Optical Letter Spacing<dd>by David Kindersley and Lida Cardozo Kindersley + + (<a href="http://www.kindersleyworkshop.co.uk/">The Cardozo Kindersley Workshop</a> + 2001, ISBN 1-874426-139) +</dl> +<p> There are many catalogues of type specimens but the following books provide +a more interesting overall view of types in general and some of their history. +<dl> +<dt>Alphabets Old & New<dd>by Lewis F. Day + (Senate, 1995, ISBN 1-85958-160-9) +<dt>An Introduction to the History of Printing Types<dd>by Geoffrey Dowding + (British Library, 1998, UK ISBN 0-7123-4563-9; USA ISBN 1-884718-44-2) +<dt>The Alphabet Abecedarium<dd>by Richar A. Firmage + (David R. Godine, 1993, ISBN 0-87923-998-0) +<dt>The Alphabet and Elements of Lettering<dd>by Frederick Goudy + (Dover, 1963, ISBN 0-486-20792-7) +<dt>Anatomy of a Typeface<dd>by Alexander Lawson + (David R. Godine, 1990, ISBN 0-87923-338-8) +<dt>A Tally of Types<dd>by Stanley Morison + (David R. Godine, 1999, ISBN 1-56792-004-7) +<dt>Counterpunch<dd>by Fred Smeijers + (Hyphen, 1996, ISBN 0-907259-06-5) +<dt>Treasury of Alphabets and Lettering<dd>by Jan Tschichold + (W. W. Norton, 1992, ISBN 0-393-70197-2) +<dt>A Short History of the Printed Word<dd>by Warren Chappell and + Robert Bringhurst (Hartley & Marks, 1999, ISBN 0-88179-154-7) +</dl> +<p> The above lists are limited to books published in English. Typographic +styles are somewhat language-dependent, and similarly the 'interesting' fonts +depend on the particular writing system involved. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=typebooks">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=typebooks</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-typend.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-typend.html new file mode 100644 index 00000000000..dcd0810d1b7 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-typend.html @@ -0,0 +1,43 @@ +<head> +<title>UK TeX FAQ -- question label typend</title> +</head><body> +<h3>"Please type a command or say <code>\</code><code>end</code>"</h3> +<p>Sometimes, when you are running (La)TeX, it will abruptly stop and +present you with a prompt (by default, just a <code>*</code> character). Many +people (including this author) will reflexively hit the 'return' +key, pretty much immediately, and of course this is no help at all - +TeX just says: +<pre> +(Please type a command or say `\end') +</pre> +and prompts you again. +<p>What's happened is that your (La)TeX file has finished prematurely, +and TeX has fallen back to a supposed including file, from the +terminal. This could have happened simply because you've omitted +the <code>\</code><code>bye</code> (Plain TeX), <code>\</code><code>end{document}</code> (LaTeX), or +whatever. Other common errors are failure to close the braces round a +command's argument, or (in LaTeX) failure to close a verbatim +environment: in such cases you've already read and accepted an +error message about encountering end of file while scanning something. +<p>If the error is indeed because you've forgotten to end your document, +you can insert the missing text: if you're running Plain TeX, the +advice, to "say <code>\</code><code>end</code>" is good enough: it will kill the run; if +you're running LaTeX, the argument will be necessary: +<code>\</code><code>end{document}</code>. +<p>However, as often as not this isn't the problem, and (short of +debugging the source of the document before ending) brute force is +probably necessary. Excessive force (killing the job that's +running TeX) is to be avoided: there may well be evidence in the +<code>.log</code> file that will be useful in determining what the problem is - +so the aim is to persuade TeX to shut itself down and hence flush +all log output to file. +<p>If you can persuade TeX to read it, an end-of-file indication +(control-<code>D</code> under Unix, control-<code>Z</code> under Windows) will provoke +TeX to report an error and exit immediately. Otherwise you should +attempt to provoke an error dialogue, from which you can exit (using +the <code>x</code> 'command'). An accessible error could well be inserting an +illegal character: what it is will depend on what macros you are +running. If you can't make that work, try a silly command name or +two. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=typend">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=typend</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-underline.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-underline.html new file mode 100644 index 00000000000..bb6dd4f2928 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-underline.html @@ -0,0 +1,39 @@ +<head> +<title>UK TeX FAQ -- question label underline</title> +</head><body> +<h3>Underlined text won't break</h3> +<p>Knuth made no provision for underlining text: he took the view that +underlining is not a typesetting operation, but rather one that +provides emphasis on typewriters, which typically offer but one +typeface. The corresponding technique in typeset text is to switch +from upright to italic text (or vice-versa): the LaTeX command +<code>\</code><code>emph</code> does just that to its argument. +<p>Nevertheless, typographically illiterate people (such as those that +specify double-spaced +<a href="FAQ-linespace.html">thesis styles</a>) +continue to require underlining of us, so LaTeX as distributed +defines an <code>\</code><code>underline</code> command that applies the mathematical +'underbar' operation to text. This technique is not entirely +satisfactory, however: the text gets stuck into a box, and won't break +at line end. +<p>Two packages are available that solve this problem. The +<i>ulem</i> package redefines the +<code>\</code><code>emph</code> command to underline its argument; the underlined text thus +produced behaves as ordinary emphasised text, and will break over the +end of a line. (The package is capable of other peculiar effects, +too: read its documentation, contained within the file itself.) +The <i>soul</i> package defines an <code>\</code><code>ul</code> command (after which the +package is, in part, named) that underlines running text. +<p>Beware of <i>ulem</i>'s default behaviour, which is to convert the +<code>\</code><code>emph</code> command into an underlining command; this can be avoided by +loading the package with: +<pre> + \usepackage[normalem]{ulem} +</pre> +Documentation of <i>ulem</i> is in the package itself. +<dl> +<dt><tt><i>ulem.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/ulem.sty">macros/latex/contrib/misc/ulem.sty</a> +<dt><tt><i>soul.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/soul.zip">macros/latex/contrib/soul</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/soul.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/soul/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=underline">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=underline</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-underscore.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-underscore.html new file mode 100644 index 00000000000..18a251c7cf0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-underscore.html @@ -0,0 +1,39 @@ +<head> +<title>UK TeX FAQ -- question label underscore</title> +</head><body> +<h3>How to use the underscore character</h3> +<p>The underscore character <code> is ordinarily used in +TeX to indicate a subscript in maths mode; if you type +<code> in the course of ordinary text, TeX will +complain. If you're writing a document which will contain a large +number of underscore characters, the prospect of typing +<code>\</code><code> (or, worse, <code>\</code><code>textunderscore</code>) for every one of +them will daunt most ordinary people. +<p>Moderately skilled macro programmers can readily generate a quick hack +to permit typing <code> to mean 'text underscore'. +However, the code <em>is</em> somewhat tricky, and more importantly +there are significant points where it's easy to get it wrong. There +is therefore a package <i>underscore</i> which provides a general +solution to this requirement. +<p>There is a problem, though: OT1 text fonts don't contain an +underscore character, unless they're in the typewriter version of the +encoding (used by fixed-width fonts such as <code>cmtt</code>). So either +you must ensure that your underscore characters only occur in text set +in a typewriter font, or you must use a fuller encoding, such as +T1, which has an underscore character in every font. +<p>If the requirement is only for occasional uses of underscores, it may +be acceptable to use the following construct: +<pre> +\def\us{\char`\_} +... +\texttt{create\us process} +</pre> +The construction isn't in the least robust (in the normal English +sense of the word), but it <em>is</em> robust under expansion (i.e., the +LaTeX sense of the word); so use it with care, but don't worry +about section headings and the like. +<dl> +<dt><tt><i>underscore.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/underscore.sty">macros/latex/contrib/misc/underscore.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=underscore">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=underscore</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-unkgrfextn.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-unkgrfextn.html new file mode 100644 index 00000000000..c0cc7ca74e3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-unkgrfextn.html @@ -0,0 +1,40 @@ +<head> +<title>UK TeX FAQ -- question label unkgrfextn</title> +</head><body> +<h3>"Unknown graphics extension"</h3> +<p>The LaTeX graphics package deals with several different types of +DVI (or other) output drivers; each one of them has a potential +to deal with a different selection of graphics formats. The package +therefore has to be told what graphics file types its output driver +knows about; this is usually done in the <<i>driver</i>><code>.def</code> file +corresponding to the output driver you're using. +<p>The error message arises, then, if you have a graphics file whose +extension doesn't correspond with one your driver knows about. Most +often, this is because you're being optimistic: asking +<i>dvips</i> to deal with a <code>.png</code> file, or PDFTeX to deal with +a <code>.eps</code> file: the solution in this case is to transform the graphics +file to a format your driver knows about. +<p>If you happen to <em>know</em> that your device driver deals with the +format of your file, you are probably falling foul of a limitation of +the file name parsing code that the graphics package uses. Suppose +you want to include a graphics file <i>home.bedroom.eps</i> using the +<i>dvips</i> driver; the package will conclude that your file's +extension is <i>.bedroom.eps</i>, and will complain. To get around +this limitation, you have three alternatives: +<ul> +<li> Rename the file - for example <i>home.bedroom.eps</i>-> + <i>home-bedroom.eps</i> +<li> Mask the first dot in the file name: +<pre> +\newcommand*{\DOT}{.} +\includegraphics{home\DOT bedroom.eps} +</pre> +<li> Tell the graphics package what the file is, by means of options + to the <code>\</code><code>includegraphics</code> command: + +<pre> +\includegraphics[type=eps,ext=.eps,read=.eps]{home.bedroom} +</pre> +</ul> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=unkgrfextn">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=unkgrfextn</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-uploads.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-uploads.html new file mode 100644 index 00000000000..540b8751f9f --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-uploads.html @@ -0,0 +1,55 @@ +<head> +<title>UK TeX FAQ -- question label uploads</title> +</head><body> +<h3>Contributing a file to the archives</h3> +<p>You have something to submit to the archive - great! Before we even +start, here's a check-list of things to sort out: +<ol> +<li> Licence: in the spirit of TeX, we hope for free software; in + the spirit of today's lawyer-enthralled society, CTAN + provides a + <a href="http://www.tex.ac.uk/tex-archive/help/Catalogue/licenses.html">list of "standard" licence statements</a>. +<li> Documentation: it's good for users to be able to browse + documentation before downloading a package. You need at least a + plain text <i>README</i> file (exactly that name); best is a + PDF file of the package documentation, prepared for screen + reading. +<li> Name: endless confusion is caused by name clashes. If your + package has the same name as one already on CTAN, or if your + package installation generates files of the same name as something + in a "normal" distribution, the CTAN team will delay + installation while they check that you're doing the right thing: + they may nag you to change the name, or to negotiate a take-over + with the author of the original package. + <a href="FAQ-findfiles.html">Browse the archive</a> to ensure uniqueness. +<p> The name you choose should also (as far as possible) be somewhat + descriptive of what your submission actually <em>does</em>; while + "descriptiveness" is to some extent in the eye of the beholder, + it's clear that names such as <i>mypackage</i> or <i>jiffy</i> + aren't suitable. +</ol> +<p>If you are able to use anonymous <i>ftp</i>, get yourself a copy of +the file <i>README.uploads</i> from any +<a href="FAQ-archives.html">CTAN archive</a>. The file tells you +where to upload, what to upload, and how to notify the CTAN +management about what you want doing with your upload. +<p>You may also upload via the Web: each of the principle CTAN +sites offers an upload page - choose from +<a href="http://www.ctan.org/upload.html">http://www.ctan.org/upload.html</a>, +<a href="http://www.dante.de/CTAN/upload.html">http://www.dante.de/CTAN/upload.html</a> or +<a href="http://www.tex.ac.uk/upload.html">http://www.tex.ac.uk/upload.html</a>; the pages lead you through the +process, showing you the information you need to supply. +<p>If you can use neither of these methods, ask advice of the + + <a href="mailto:ctan@dante.de">CTAN management</a>: +if the worst comes to the worst, it may be possible to mail a contribution. +<p>If it's appropriate (if your package is large, or regularly updated), +the CTAN management can arrange to <i>mirror</i> your +contribution direct into the archive. At present this may only be +done if your contribution is available via <code>ftp</code>, and of course the +directory structure on your archive must 'fit'. +<dl> +<dt><tt><i>README.uploads</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/README.uploads">README.uploads</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=uploads">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=uploads</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-upquot.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-upquot.html new file mode 100644 index 00000000000..96766b54de6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-upquot.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label upquot</title> +</head><body> +<h3>Realistic quotes for verbatim listings</h3> +<p>The <code>cmtt</code> font has "curly" quotes, +which are pleasing on the eye, but don't really tally with what one +sees on a modern +<i>xterm</i>. +<p>The appearance of these quotes is critical in program listings, +particularly in those of Unix-like shell scripts. The +<i>upquote</i> package modifies the behaviour of the +<code>verbatim</code> environment so that the output is a clearer +representation of what the user must type. +<dl> +<dt><tt><i>upquote.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/upquote/upquote.sty">macros/latex/contrib/upquote/upquote.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=upquot">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=upquot</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-useMF.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-useMF.html new file mode 100644 index 00000000000..543388de7c5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-useMF.html @@ -0,0 +1,106 @@ +<head> +<title>UK TeX FAQ -- question label useMF</title> +</head><body> +<h3>Getting Metafont to do what you want</h3> +<p>Metafont allows you to create your own fonts, and most TeX users +will never need to use it. Metafont, unlike TeX, requires some +customisation: each output device for which you will be generating +fonts needs a mode associated with it. Modes are defined using the +<code>mode_def</code> convention described on page 94 of <em>The Metafontbook</em> +(see <a href="FAQ-books.html">TeX-related books</a>). You will need +a file, which conventionally called <i>local.mf</i>, containing all the +<code>mode_def</code>s you will be using. If <i>local.mf</i> doesn't already +exist, Karl Berry's collection of modes (<i>modes.mf</i>) +is a good starting point +(it can be used as a '<i>local.mf</i>' without modification in a 'big +enough' implementation of Metafont). Lists of +settings for various output devices are also published periodically in +<i>TUGboat</i> (see <a href="FAQ-TUGstar.html">TUG</a>). Now create +a <code>plain</code> base +file using <i>inimf</i>, <code>plain.mf</code>, and <code>local.mf</code>: +<pre> + % inimf + This is METAFONT... + **plain # you type plain + (output) + *input local # you type this + (output) + *dump # you type this + Beginning to dump on file plain... + (output) +</pre> + +This will create a base file named <i>plain.base</i> (or something +similar; for example, it will be + + <i>PLAIN.BAS</i> +on MSDOS systems) which should be moved to the directory containing +the base files on your system (note that some systems have two or more +such directories, one for each 'size' of Metafont used). +<p>Now you need to make sure Metafont loads this new base when it starts up. If +Metafont loads the <code>plain</code> base by default on your system, then you're +ready to go. Under Unix (using the default <i>web2c</i> +distribution +) +this does indeed happen, but we could for instance define a command +<i>mf</i> which executes <code>virmf &plain</code> loading the <code>plain</code> base +file. +<p>The usual way to create a font with <code>plain</code> Metafont is to start +it with the line + +<pre> +\mode=<mode name>; mag=<magnification>; input <font file name> +</pre> +in +response to the '**' prompt or on the Metafont command line. (If +<code><mode name></code> is unknown or omitted, the mode defaults to 'proof' and +Metafont will produce an output file called + +<i><font file name>.2602gf</i>) +The <code><magnification></code> is a floating point number or +'magstep' (magsteps are defined in <em>The Metafontbook</em> and +<em>The TeXbook</em>). +If <code>mag=<magnification></code> is omitted, then the default +is 1 (magstep 0). For example, to generate cmr10 at 12pt for an epson +printer you would type +<pre> + mf \mode=epson; mag=magstep 1; input cmr10 +</pre> +Note that under Unix the <code>\</code> and <code>;</code> characters must usually be quoted or +escaped, so this would typically look something like +<pre> + mf '\mode=epson; mag=magstep 1; input cmr10' +</pre> +<p>If you don't have <i>inimf</i> or need a special mode that isn't +in the base, you can put its commands in a file (<em>e.g.</em>, +<i>ln03.mf</i>) and invoke it on the fly with the <code>\smode</code> command. +For example, to create <i>cmr10.300gf</i> for an LN03 printer, using +the file +<pre> + % This is ln03.mf as of 1990/02/27 + % mode_def courtesy of John Sauter + proofing:=0; + fontmaking:=1; + tracingtitles:=0; + pixels_per_inch:=300; + blacker:=0.65; + fillin:=-0.1; + o_correction:=.5; +</pre> +(note the absence of the <code>mode_def</code> and <code>enddef</code> commands), you would +type +<pre> + mf \smode="ln03"; input cmr10 +</pre> +This technique isn't one you should regularly use, but it may +prove useful if you acquire a new printer and want to experiment with +parameters, or for some other reason are regularly editing the +parameters you're using. Once you've settled on an appropriate set of +parameters, you should use them to rebuild the base file that you use. +<p>Other sources of help are mentioned in +<a href="FAQ-mfptutorials.html">Metafont and MetaPost Tutorials</a>. +<dl> +<dt><tt><i>modes.mf</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/modes/modes.mf">fonts/modes/modes.mf</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=useMF">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=useMF</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-usebibtex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-usebibtex.html new file mode 100644 index 00000000000..b9d64831588 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-usebibtex.html @@ -0,0 +1,81 @@ +<head> +<title>UK TeX FAQ -- question label usebibtex</title> +</head><body> +<h3>"Normal" use of BibTeX from LaTeX</h3> +<p>To create a bibliography for your document, you need to perform a +sequence of steps, some of which seem a bit odd. If you choose to use +BibTeX, the sequence is: +<p>First: you need a BibTeX bibliography file (a <code>.bib</code> file) - see + +"<a href="FAQ-buildbib.html">creating a BibTeX file</a>". +<p>Second: you must write your LaTeX document to include a declaration +of the 'style' of bibliography, citations, and a reference to the +bibliography file mentioned in the step 1. So we may have a LaTeX +file containing: +<blockquote> +<pre> +\bibliographystyle{plain} +... +Pooh is heroic~\cite{Milne:1926}. +... +Alice struggles~\cite{Carroll:1865}. +... +\bibliography{mybooks} +</pre> +</blockquote> +Note: we have bibliography style <i>plain</i>, above, which is +nearly the simplest of the lot: a sample text, showing the sorts of +style choices available, can be found on Ken Turner's web site: +<a href="http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html">http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html</a> +<p>Third: you must process the file. +<blockquote> +<pre> +latex myfile +</pre> +</blockquote> +As LaTeX processes the file, the <code>\</code><code>bibliographystyle</code> command +writes a note of the style to the <code>.aux</code> file; each <code>\</code><code>cite</code> command +writes a note of the citation to the <code>.aux</code> file, and the +<code>\</code><code>bibliography</code> command writes a note of which <code>.bib</code> file is to be +used, to the <code>.aux</code> file. +<p>Note that, at this stage, LaTeX isn't "resolving" any of the +citations: at every <code>\</code><code>cite</code> command, LaTeX will warn you of the +undefined citation, and when the document finishes, there will be a +further warning of undefined references. +<p> + +<p>Fourth: you must run BibTeX: +<blockquote> +<pre> +bibtex myfile +</pre> +</blockquote> +Don't try to tell BibTeX anything but the file name: say +<code>bibtex myfile.aux</code> (because you know it's going to read the +<code>.aux</code> file) and BibTeX will blindly attempt to process +<code>myfile.aux.aux</code>. +<p>BibTeX will scan the <code>.aux</code> file; it will find which bibliography +style it needs to use, and will "compile" that style; it will note +the citations; it will find which bibliography files it needs, and +will run through them matching citations to entries in the +bibliography; and finally it will sort the entries that have been +cited (if the bibliography style specifies that they should be +sorted), and outputs the resulting details to a <code>.bbl</code> file. +<p>Fifth: you run LaTeX again. It warns, again, that each citation is +(still) undefined, but when it gets to the <code>\</code><code>bibliography</code> command, +it finds a <code>.bbl</code> file, and reads it. As it encounters each +<code>\</code><code>bibitem</code> command in the file, it notes a definition of the +citation. +<p>Sixth: you run LaTeX yet again. This time, it finds values for all +the citations, in its <code>.aux</code> file. Other things being equal, you're +done... until you change the file. +<p>If, while editing, you change any of the citations, or add new ones, +you need to go through the process above from steps 3 (first run of +LaTeX) to 6, again, before the document is once again stable. +These four mandatory runs of LaTeX make processing a document with +a bibliography even more tiresome than the normal two runs required to +resolve labels. +<p>To summarise: processing to resolve citations requires: LaTeX; +BibTeX; LaTeX; LaTeX. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=usebibtex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=usebibtex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-uselmfonts.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-uselmfonts.html new file mode 100644 index 00000000000..f8aebe3fcc5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-uselmfonts.html @@ -0,0 +1,67 @@ +<head> +<title>UK TeX FAQ -- question label uselmfonts</title> +</head><body> +<h3>Using the Latin Modern fonts</h3> +<p>The <i>lm</i> fonts are an exciting addition to +the armoury of the (La)TeX user: high quality outlines of fonts that +were until recently difficult to obtain, all in a free and +relatively compact package. However, the spartan information file +that comes with the fonts remarks "It is presumed that a potential +user knows what to do with all these files". This answer aims to +fill in the requirements: the job is really not terribly difficult. +<p>Note that teTeX distributions, from version 3.0, already have the +<i>lm</i> fonts: all you need do is use them. The fonts may also +be installed via the package manager, in a current MiKTeX system. +The remainder of this answer, then, is for people who don't use such +systems. +<p>The font (and related) files appear on CTAN as a set of +single-entry <a href="FAQ-tds.html">TDS trees</a> - +<i>fonts</i>, <i>dvips</i>, <i>tex</i> and <i>doc</i>. The <i>doc</i> +subtree really need not be copied (it's really a pair of sample +files), but copy the other three into your existing Local <code>$TEXMF</code> +tree, and + +<a href="FAQ-instpackages.html">update the filename database</a>. +<p>Now, incorporate the fonts in the set searched by PDFLaTeX, +<i>dvips</i>, <i>dvipdfm</i>, your previewers and +Type 1-to-PK conversion programs, by +<ul> +<li> On a teTeX system earlier than version 2.0, edit the file + <i>$TEXMF/dvips/config/updmap</i> and insert an absolute path for + the <i>lm.map</i> just after the line that starts + <code>extra_modules="</code> (and before the closing quotes). +<li> On a teTeX version 2.0 (or later), execute the command +<pre> + updmap --enable Map lm.map +</pre> +<li> On a MiKTeX system earlier than version 2.2, the "Refresh + filename database" operation, which you performed after installing + files, also updates the system's "PostScript resources database". +<li> On a MiKTeX system, version 2.2 or later, update + <i>updmap.cfg</i> as described in the MiKTeX + <a href="http://www.miktex.org/manual/psfonts.html">online documentation</a>. + Then execute the command <code>initexmf --mkmaps</code>, and the + job is done. +</ul> +<p>To use the fonts in a LaTeX document, you should +<blockquote> + <code>\</code><code>usepackage{lmodern}</code> +</blockquote> +this will make the fonts the default +for all three LaTeX font families ("roman", "sans-serif" and +"typewriter"). You also need +<blockquote> + <code>\</code><code>usepackage[T1]{fontenc}</code> +</blockquote> +for text, and +<blockquote> + <code>\</code><code>usepackage{textcomp}</code> +</blockquote> +if you want to use any of the TS1-encoding symbols. There is +no support for using fonts according to the OT1 encoding. +<dl> +<dt><tt><i>Latin Modern fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/lm.zip">fonts/lm</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/lm.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/lm/">browse</a>) +</dl> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=uselmfonts">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=uselmfonts</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-usepictex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-usepictex.html new file mode 100644 index 00000000000..5016fbd29c0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-usepictex.html @@ -0,0 +1,58 @@ +<head> +<title>UK TeX FAQ -- question label usepictex</title> +</head><body> +<h3>Why can't I load PiCTeX?</h3> +<p>PiCTeX is a resource hog; fortunately, most modern TeX +implementations offer generous amounts of space, and most modern +computers are pretty fast, so users aren't too badly affected by its +performance. +<p>However, PiCTeX has the further unfortunate tendency to fill up +TeX's fixed-size arrays - notably the array of 256 'dimension' +registers. This is a particular problem when you're using +<i>pictex.sty</i> with LaTeX and some other packages that also need +dimension registers. When this happens, you will see the TeX error +message: +<blockquote> +<pre> +! No room for a new \dimen. +</pre> +</blockquote> +There is nothing that can directly be done about this error: you +can't extend the number of available <code>\</code><code>dimen</code> registers without +extending TeX itself. + <a href="FAQ-NTS.html">e-TeX</a> and <a href="FAQ-omega.html">Omega</a> both do this, as + does <a href="FAQ-commercial.html">MicroPress Inc's VTeX</a>. + +<p>It's actually quite practical (with most modern distributions) to use +e-TeX's extended register set: use package <i>etex</i> (which +comes with e-TeX distributions) and the allocation mechanism is +altered to cope with the larger register set: PiCTeX will now load. +<p>If you're in some situation where you can't use e-TeX, you need to change +PiCTeX; unfortunately PiCTeX's author is no longer active in the +TeX world, so one must resort to patching. There are two solutions +available. +<p>The ConTeXt module <i>m-pictex.tex</i> (for Plain TeX and +variants) or the corresponding LaTeX <i>m-pictex</i> package provide +an ingenious solution to the problem based on hacking the code of +<code>\</code><code>newdimen</code> itself. +<p>Alternatively, Andreas Schell's <i>pictexwd</i> and related +packages replace PiCTeX with a version that uses 33 fewer +<code>\</code><code>dimen</code> registers; so use <i>pictexwd</i> in place of +<i>pictex</i> (either as a LaTeX package, or as a file to read +into Plain TeX). +<p>And how does one use PiCTeX anyway, given that the +manual is so <a href="FAQ-docpictex.html">hard to come by</a>? +Fortunately for MSDOS and Windows users, the <i>MathsPic</i> +system may be used to translate a somewhat different language into +PiCTeX commands; and the <i>MathsPic</i> manual is free (and +part of the distribution). <i>MathsPic</i> is written in +<i>Basic</i>; a version written in <i>Perl</i> is under +development, and should be available soon. +<dl> +<dt><tt><i>m-pictex.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/context/current/cont-tmf.zip">macros/context/current/cont-tmf.zip</a> +<dt><tt><i>m-pictex.tex</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/context/current/cont-tmf.zip">macros/context/current/cont-tmf.zip</a> +<dt><tt><i>MathsPic</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/graphics/pictex/mathspic.zip">graphics/pictex/mathspic</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/pictex/mathspic.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/pictex/mathspic/">browse</a>) +<dt><tt><i>pictexwd.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/graphics/pictex/addon.zip">graphics/pictex/addon</a> (<a href="ftp://cam.ctan.org/tex-archive/graphics/pictex/addon.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/graphics/pictex/addon/">browse</a>) +</dl> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=usepictex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=usepictex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-usepsfont.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-usepsfont.html new file mode 100644 index 00000000000..41770ae767d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-usepsfont.html @@ -0,0 +1,51 @@ +<head> +<title>UK TeX FAQ -- question label usepsfont</title> +</head><body> +<h3>Using PostScript fonts with TeX</h3> +<p>In order to use PostScript fonts, TeX needs +<em>metric</em> (called TFM) files. Several sets of metrics are +available from the archives; for mechanisms for generating new ones, +see <a href="FAQ-metrics.html">metrics for PostScript fonts</a>. You +also need the fonts themselves; PostScript printers come with a set of +fonts built in, but to extend your repertoire you almost invariably +need to buy from one of the many commercial font vendors (see, for +example, <a href="FAQ-psfchoice.html">"choice of fonts"</a>). +<p>If you use LaTeX2e, the best way to get PostScript fonts into your +document is to use the PSNFSS package maintained by Walter +Schmidt. The LaTeX3 project team declare that PSNFSS is +"required", and bug reports may be submitted via the +<a href="FAQ-latexbug.html">LaTeX bugs system</a>. +PSNFSS gives you a set of packages for changing the default +roman, sans-serif and typewriter fonts; <em>e.g</em>., the +<i>mathptmx</i> package will set up <i>Times</i> +<i>Roman</i> as the main text font (and introduces mechanisms to +typeset mathematics using <i>Times</i> and various more-or-less +matching fonts), while package <i>avant</i> changes the sans-serif +family to <i>AvantGarde</i>, and <i>Courier</i> changes the +typewriter font to <i>Courier</i>. To go with these +packages, you need the font metric files +and font description (<i>.fd</i>) files for each font family you +want to use. For convenience, +metrics for the 'common 35' PostScript fonts found in most PostScript printers +are provided with PSNFSS, packaged as the "Laserwriter set". +<p>For older versions of LaTeX there are various schemes, of which the +simplest to use is probably the PSLaTeX macros distributed with +<i>dvips</i>. +<p>For Plain TeX, you load whatever fonts you like; if the encoding of +the fonts is not the same as Computer Modern it will be up to you to +redefine various macros and accents, or you can use the font +re-encoding mechanisms available in many drivers and in +<i>ps2pk</i> and <i>afm2tfm</i>. +<p>Victor Eijkhout's +<a href="FAQ-lollipop.html">Lollipop package</a> +supports declaration of font families and styles in a similar way to +LaTeX's NFSS, and so is easy to use with PostScript fonts. +<p>Some common problems encountered are discussed elsewhere +(see <a href="FAQ-psfontprob.html">problems with PS fonts</a>). +<dl> +<dt><tt><i>Metrics for the 'Laserwriter' set of 35 fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/psnfss/lw35nfss.zip">macros/latex/required/psnfss/lw35nfss.zip</a> +<dt><tt><i>lollipop</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/nonfree/macros/lollipop.zip">nonfree/macros/lollipop</a> (<a href="ftp://cam.ctan.org/tex-archive/nonfree/macros/lollipop.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/nonfree/macros/lollipop/">browse</a>) +<dt><tt><i>psnfss</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/psnfss.zip">macros/latex/required/psnfss</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/psnfss.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/psnfss/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=usepsfont">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=usepsfont</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-varwidth.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-varwidth.html new file mode 100644 index 00000000000..6738a5496d6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-varwidth.html @@ -0,0 +1,70 @@ +<head> +<title>UK TeX FAQ -- question label varwidth</title> +</head><body> +<h3>Automatic sizing of <code>minipage</code></h3> +<p>The <code>minipage</code> environment requires you to specify the +width of the "page" you're going to create. This is sometimes +inconvenient: you would like to occupy less space, if possible, but +<code>minipage</code> sets a box that is exactly the width you +specified. +<p>The <i>pbox</i> package defines a <code>\</code><code>pbox</code> whose width is exactly +that of the longest enclosed line, subject to a maximum width that you +give it. So while <code>\</code><code>parbox{2cm}{Hello\\world!}</code> produces a +box of width exactly <code>2cm</code>, +<code>\</code><code>pbox{2cm}{Hello\\world!}</code> produces one whose width is +<code>1.79cm</code> (if one's using the default <i>cmr</i> font for the +text, at least). The package also provides a +<code>\</code><code>settominwidth[</code><em>min</em><code>]{</code><em>length}{text</em><code>}</code> (which looks (almost) +like the standard <code>\</code><code>settowidth</code> command), and a <code>\</code><code>widthofpbox</code> +function analagous to the <code>\</code><code>widthof</code> command for use with the +<i>calc</i> package. +<p>The <i>eqparbox</i> package extends <i>pbox</i>'s idea, by +allowing you to set a series of boxes, all with the same (minimised) +width. (Note that it doesn't accept a limiting maximum width +parameter.) The package documentation shows the following example +drawn from a joke <em>curriculum vitae</em>: +<blockquote> + +<pre> +\noindent% +\eqparbox{place}{\textbf{Widgets, Inc.}} \hfill +\eqparbox{title}{\textbf{Senior Widget Designer}} \hfill +\eqparbox{dates}{\textbf{1/95--present}} + +... + +\noindent% +\eqparbox{place}{\textbf{Thingamabobs, Ltd.}} \hfill +\eqparbox{title}{\textbf{Lead Engineer}} \hfill +\eqparbox{dates}{\textbf{9/92--12/94}} +</pre> +</blockquote> +The code makes the three items on each of the heading lines have +exactly the same width, so that the lines as a whole produce a regular +pattern down the page. A command <code>\</code><code>eqboxwidth</code> allows you to use +the measured width of a group: the documentation shows how the command +may be used to produce sensible-looking columns that mix <code>c</code>-, +<code>r</code>- or <code>l</code>-rows, with the equivalent of a <code>p{...}</code> +entry, by making the fixed-width rows an <i>eqparbox</i> group, and +making the last from a <code>\</code><code>parbox</code> using the width that's been +measured for the group. +<p>The <i>varwidth</i> package defines a <code>varwidth</code> +environment which sets the content of the box to match a "narrower +natural width" if it finds one. (You give it the same parameters as +you would give <code>minipage</code>: in effect, it is a 'drop-in' +replacement.) <i>Varwidth</i> provides its own ragged text command: +<code>\</code><code>narrowragged</code>, which aims to make narrower lines and to put more +text in the last line of the paragraph (thus producing lines with more +nearly equal lengths than typically happens with <code>\</code><code>raggedright</code> +itself). +<p>The documentation (in the package file) lists various restrictions and +things still to be done, but the package is already proving useful for +a variety of jobs. +<dl> +<dt><tt><i>eqparbox.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/eqparbox.zip">macros/latex/contrib/eqparbox</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/eqparbox.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/eqparbox/">browse</a>) +<dt><tt><i>pbox.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pbox.zip">macros/latex/contrib/pbox</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/pbox.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/pbox/">browse</a>) +<dt><tt><i>varwidth.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/varwidth.sty">macros/latex/contrib/misc/varwidth.sty</a> +</dl> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=varwidth">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=varwidth</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-verbfile.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-verbfile.html new file mode 100644 index 00000000000..75137f91bb4 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-verbfile.html @@ -0,0 +1,62 @@ +<head> +<title>UK TeX FAQ -- question label verbfile</title> +</head><body> +<h3>Including a file verbatim in LaTeX</h3> +<p>A good way is to use Rainer Schöpf's <i>verbatim</i> package, +which provides a command <code>\verbatiminput</code> that takes a file name as +argument: +<blockquote> +<pre> +\usepackage{verbatim} +... +\verbatiminput{verb.txt} +</pre> +</blockquote> +Another way is to use the <code>alltt</code> environment, which +requires the <i>alltt</i> package. The environment interprets its +contents 'mostly' verbatim, but executes any (La)TeX commands it +finds: +<blockquote> +<pre> +\usepackage{alltt} +... +\begin{alltt} +\input{verb.txt} +\end{alltt} +</pre> +</blockquote> +of course, this is little use for inputting (La)TeX source +code... +<p>The <i>moreverb</i> package extends the <i>verbatim</i> package, +providing a <code>listing</code> environment and a <code>\</code><code>listinginput</code> +command, which line-number the text of the file. The package also has +a <code>\</code><code>verbatimtabinput</code> command, that honours TAB characters in +the input (the package's <code>listing</code> environment and the +<code>\</code><code>listinginput</code> command also both honour TAB). +<p>The <i>sverb</i> package provides verbatim input (without recourse +to the facilities of the <i>verbatim</i> package): +<blockquote> +<pre> +\usepackage{sverb} +... +\verbinput{verb.txt} +</pre> +</blockquote> +<p>The <i>fancyvrb</i> package offers configurable implementations of +everything <i>verbatim</i>, <i>sverb</i> and <i>moreverb</i> +have, and more besides. It is nowadays the package of choice for the +discerning typesetter of verbatim text, but its wealth of facilities +makes it a complex beast and study of the documentation is strongly +advised. +<p>The <i>memoir</i> class includes the relevant functionality of the +<i>verbatim</i> and <i>moreverb</i> packages. +<dl> +<dt><tt><i>alltt.sty</i></tt><dd>Part of the LaTeX distribution. +<dt><tt><i>fancyvrb.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyvrb.zip">macros/latex/contrib/fancyvrb</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyvrb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fancyvrb/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>moreverb.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/moreverb.zip">macros/latex/contrib/moreverb</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/moreverb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/moreverb/">browse</a>) +<dt><tt><i>sverb.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.zip">macros/latex/contrib/mdwtools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/mdwtools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/mdwtools/">browse</a>) +<dt><tt><i>verbatim.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=verbfile">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=verbfile</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-verbwithin.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-verbwithin.html new file mode 100644 index 00000000000..7f6a82228dc --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-verbwithin.html @@ -0,0 +1,109 @@ +<head> +<title>UK TeX FAQ -- question label verbwithin</title> +</head><body> +<h3>Why doesn't <code>\</code><code>verb</code> work within ...?</h3> +<p>The LaTeX verbatim commands work by changing category codes. Knuth +says of this sort of thing "Some care is needed to get the timing +right...", since once the category code has been assigned to a +character, it doesn't change. So <code>\</code><code>verb</code> has to assume that it is +getting the first look at its parameter text; if it isn't, TeX has +already assigned category codes so that <code>\</code><code>verb</code> doesn't have a +chance. For example: +<blockquote> +<pre> +\verb+\error+ +</pre> +</blockquote> +will work (typesetting '<code>\</code><code>error</code>'), but +<blockquote> +<pre> +\newcommand{\unbrace}[1]{#1} +\unbrace{\verb+\error+} +</pre> +</blockquote> +will not (it will attempt to execute <code>\</code><code>error</code>). Other errors one +may encounter are '<code>\</code><code>verb</code> ended by end of line', or even '<code>\</code><code>verb</code> +illegal in command argument'. +<p>This is why the LaTeX book insists that verbatim +commands must not appear in the argument of any other command; they +aren't just fragile, they're quite unusable in any command parameter, +regardless of <a href="FAQ-protect.html"><code>\</code><code>protect</code>ion</a>. (The <code>\</code><code>verb</code> +command tries hard to detect if you're misusing it; unfortunately, it +can't always do so, and the error message is therefore not a reliable +indication of problems.) +<p>The first question to ask yourself is: "is <code>\</code><code>verb</code> actually +necessary?". +<ul> +<li> If <code>\</code><code>texttt{<em>your text</em>}</code> produces the same result + as <code>\</code><code>verb</code><code>+<em>your text</em>+</code>, then there's no need of + <code>\</code><code>verb</code> in the first place. +<li> If you're using <code>\</code><code>verb</code> to typeset a URL or email + address or the like, then the <code>\</code><code>url</code> command from the + <i>url</i> package will help: it doesn't suffer from the problems + of <code>\</code><code>verb</code>. +<li> If you're putting <code>\</code><code>verb</code> into the argument of a boxing + command (such as <code>\</code><code>fbox</code>), consider using the <code>lrbox</code> + environment: +<blockquote> +<pre> +\newsavebox{\mybox} +... +\begin{lrbox}{\mybox} + \verb!VerbatimStuff! +\end{lrbox} +\fbox{\usebox{\mybox}} +</pre> +</blockquote> +</ul> +<p>Otherwise, there are three partial solutions to the problem. +<ul> +<li> Some packages have macros which are designed to be responsive + to verbatim text in their arguments. For example, + the <i>fancyvrb</i> package defines a command + <code>\</code><code>VerbatimFootnotes</code>, which redefines the <code>\</code><code>footnotetext</code> (and + hence the <code>\</code><code>footnote</code>) commands in such a way that you can include + <code>\</code><code>verb</code> commands in its argument. This approach could in + principle be extended to the arguments of other commands, but it can + clash with other packages: for example, <code>\</code><code>VerbatimFootnotes</code> + interacts poorly with the <code>para</code> option to the <i>footmisc</i> + package. +<p> The <i>memoir</i> class defines its <code>\</code><code>footnote</code> command so that + it will accept verbatim in its arguments, without any supporting package. +<li> The <i>fancyvrb</i> package defines a command <code>\</code><code>SaveVerb</code>, + with a corresponding <code>\</code><code>UseVerb</code> command, that allow you to save + and then to reuse the content of its argument; for details of this + extremely powerful facility, see the package documentation. +<p> Rather simpler is the <i>verbdef</i> package, which defines a + (robust) command which expands to the verbatim argument given. +<li> If you have a single character that is giving trouble (in + its absence you could simply use <code>\</code><code>texttt</code>), consider using + <code>\</code><code>string</code>. <code>\</code><code>texttt{my<code>\</code><code>string</code>_</code>name} + typesets the same as + <code>\verb+my_name+</code>, and will work in the argument of a command. It + won't, however, work in a moving argument, and no amount of + <a href="FAQ-protect.html"><code>\</code><code>protect</code>ion</a> will make it work in + such a case. +<p> A robust alternative is: + <blockquote> +<pre> +\chardef\bs=`\_ +... +\section{... \texttt{my\bs name}} +</pre> + </blockquote> + Such a definition is 'naturally' robust; the construction + "<<i>back-tick</i>><code>\</code><code><<i>char</i>></code>" may be used for any + troublesome character (though it's plainly not necessary for things + like percent signs for which (La)TeX already provides + robust macros). +</ul> +Documentation of both <i>url</i> and <i>verbdef</i> is in the +package files. +<dl> +<dt><tt><i>fancyvrb.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyvrb.zip">macros/latex/contrib/fancyvrb</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/fancyvrb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/fancyvrb/">browse</a>) +<dt><tt><i>memoir.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.zip">macros/latex/contrib/memoir</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/memoir.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/memoir/">browse</a>) +<dt><tt><i>url.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/url.sty">macros/latex/contrib/misc/url.sty</a> +<dt><tt><i>verbdef.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/misc/verbdef.sty">macros/latex/contrib/misc/verbdef.sty</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=verbwithin">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=verbwithin</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-vertposfp.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-vertposfp.html new file mode 100644 index 00000000000..054d3f74454 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-vertposfp.html @@ -0,0 +1,47 @@ +<head> +<title>UK TeX FAQ -- question label vertposfp</title> +</head><body> +<h3>Vertical layout of float pages</h3> +<p>By default, LaTeX vertically centres the floats on a float page; +the present author is not alone in not liking this arrangement. +Unfortunately, the control of the positioning is "buried" in +LaTeX-internal commands, so some care is needed to change the +layout. +<p>Float pages use three LaTeX lengths (i.e., TeX skips) to define +their layout: +<dl> +<dt><code>\</code><code>@fptop</code><dd> defines the distance from the + top of the page to the top of the first float, +<dt><code>\</code><code>@fpsep</code><dd> defines the separation between + floats, and +<dt><code>\</code><code>@fpbot</code><dd> defines the distance from the + bottom of the last float on the page to the bottom of the page. +</dl> +(In fact, the output routine places a skip of <code>\</code><code>@fpsep</code> above each float, so +the <code>\</code><code>@fptop</code> skip is always followed by a correction for that.) +<p><p>The LaTeX defaults are:<br> +<code>\</code><code>@fptop</code> = <code>0pt + 1fil</code><br> +<code>\</code><code>@fpsep</code> = <code>8pt + 2fil</code><br> +<code>\</code><code>@fpbot</code> = <code>0pt + 1fil</code><br> +so that the gaps expand to fill the space not occupied by floats, but +if there is more than one float on the page, the gap between them will +expand to twice the space at top and bottom. +<p>Those who understand this stuff will be able to play elaborate games, +but the commonest requirement, that the floats start at the top of the +page, is a simple thing to do: +<blockquote> +<pre> +\makeatletter +\setlength{\@fptop}{0pt} +\makeatother +</pre> +</blockquote> +Surprisingly, you may find this setting leaves your floats too high on +the page. One can justify a value of <code>5pt</code> (in place of +<code>0pt</code>) - it's roughly the difference between <code>\</code><code>topskip</code> +and the height of normal (<code>10pt</code>) text. +<p>Note that this is a "global" setting (best established in a class +file, or at worst in the document preamble); making the change for a +single float page is likely (at the least) to be rather tricky. +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=vertposfp">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=vertposfp</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-vertspacefloat.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-vertspacefloat.html new file mode 100644 index 00000000000..fdd57cc787e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-vertspacefloat.html @@ -0,0 +1,50 @@ +<head> +<title>UK TeX FAQ -- question label vertspacefloat</title> +</head><body> +<h3>Extra vertical space in floats</h3> +<p>A common complaint is that extra vertical space has crept into +<code>figure</code> or <code>table</code> floating environments. +More common still are users who post code that introduces this extra +space, and <em>haven't noticed the problem</em>! +<p>The trouble arises from the fact that the <code>center</code> +environment (and its siblings <code>flushleft</code> and +<code>flushright</code>) are actually based on LaTeX's +list-handling code; and lists always separate themselves from the +material around them. Meanwhile, there are parameters provided to +adjust the spacing between floating environments and their +surroundings; so if we have: +<pre> +\begin{figure} + \begin{center} + \includegraphics{...} + \caption{...} + \end{center} +\end{figure} +</pre> +or worse still: +<pre> +\begin{figure} + \begin{center} + \includegraphics{...} + \end{center} + \caption{...} +\end{figure} +</pre> +unwarranted vertical space is going to appear. +<p>The solution is to let the float and the objects in it position +themselves, and to use "generic" layout commands rather than their +list-based encapsulations. +<pre> +\begin{figure} + \centering \includegraphics{...} + \caption{...} +\end{figure} +</pre> +(which even involves less typing). +<p>This alternative code will work with any LaTeX package. It will +not work with obsolete (pre-LaTeX2e) packages such as +<i>psfig</i> or <i>epsf</i> - see +<a href="FAQ-impgraph.html">graphics inclusion</a> for discussion of the +genesis of <code>\</code><code>includegraphics</code>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=vertspacefloat">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=vertspacefloat</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-virtualfonts.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-virtualfonts.html new file mode 100644 index 00000000000..9a5416e4886 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-virtualfonts.html @@ -0,0 +1,46 @@ +<head> +<title>UK TeX FAQ -- question label virtualfonts</title> +</head><body> +<h3>Virtual fonts</h3> +<p>Virtual fonts for TeX were first implemented by David Fuchs in the +early days of TeX, but for most people they date from when Knuth +redefined the format, and wrote some support software, in 1989 (he +published an article in <i>TUGboat</i> at the time, and a copy is +available on CTAN). +Virtual fonts provide a way of telling TeX about something more +complicated than just a one-to-one character mapping. The entities you +define in a virtual font look like characters to TeX (they appear +with their sizes in a font metric file), but the DVI processor may +expand them to something quite different. You can use this facility +just to remap characters, to make a composite font with glyphs drawn +from several sources, or to build up an effect in arbitrarily +complicated ways - a virtual font may contain anything which is +legal in a DVI file. A "how to", describing how to generate +virtual fonts from scratch, is available. +<p>In practice, however, the most common use of virtual fonts is to remap +PostScript fonts (see <a href="FAQ-metrics.html">font metrics</a>). Other +interesting uses have been to build 'fake' maths fonts (by bundling +glyphs from several fonts together), and (utilising the facility to +use bits of DVI) to build useful subsets of the T1 fonts +using nothing but the PostScript Type 1 versions of Knuth's Computer Modern fonts. +<p>It is important to realise that TeX itself does <em>not</em> see +virtual fonts; for every virtual font read by the DVI driver there +is a corresponding TFM file read by TeX. Virtual fonts are normally +created in a single ASCII <code>vpl</code> (Virtual Property List) +file, which +includes both sets of information. The <i>vptovf</i> program is +then used to the create the binary TFM and VF files. The +commonest way (nowadays) of generating <code>vpl</code> files is to use the +<i>fontinst</i> package, which is described in detail +together with the discussion of +<a href="FAQ-metrics.html">PostScript font metrics</a>. +<i>qdtexvpl</i> is another utility for creating ad-hoc virtual +fonts. +<dl> +<dt><tt><i>fontinst</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/fontinst.zip">fonts/utilities/fontinst</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/fontinst.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/utilities/fontinst/">browse</a>) +<dt><tt><i>Knuth on virtual fonts</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/virtual-fonts.knuth">info/virtual-fonts.knuth</a> +<dt><tt><i>Virtual fonts "how to"</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/info/virtualfontshowto/virtualfontshowto.txt">info/virtualfontshowto/virtualfontshowto.txt</a> +<dt><tt><i>qdtexvpl</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/qdtexvpl.zip">fonts/utilities/qdtexvpl</a> (<a href="ftp://cam.ctan.org/tex-archive/fonts/utilities/qdtexvpl.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/fonts/utilities/qdtexvpl/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=virtualfonts">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=virtualfonts</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-watermark.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-watermark.html new file mode 100644 index 00000000000..2059d454496 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-watermark.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label watermark</title> +</head><body> +<h3>'Watermarks' on every page</h3> +<p>It's often useful to place some text (such as 'DRAFT') in the +background of every page of a document. For LaTeX users, this can +be achieved with the <i>draftcopy</i> package. This can deal with +many types of DVI processors (in the same way that the graphics +package does) and knows translations for the word 'DRAFT' into a wide +range of languages (though you can choose your own word, too). +<p>More elaborate watermarks may be achieved using the <i>eso-pic</i> +package, which in turn uses the package <i>everyshi</i>, part of +Martin Schröder's <i>ms</i> bundle. <i>Eso-pic</i> attaches a +<code>picture</code> environment to every page as it is shipped out; +you can put things into that environment. The package provides +commands for placing things at certain useful points (like "text +upper left" or "text centre") in the picture, but you're at liberty +to do what you like. +<p>The <i>wallpaper</i> package builds, as above, on +<i>eso-pic</i>. Apart from the single-image backdrops described +above ("wallpapers", of course, to this package), the package +provides facilities for tiling images. All its commands come in +pairs: on for "general" use, and one applying to the current page only. +<dl> +<dt><tt><i>draftcopy.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/draftcopy.zip">macros/latex/contrib/draftcopy</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/draftcopy.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/draftcopy/">browse</a>) +<dt><tt><i>eso-pic.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/eso-pic.zip">macros/latex/contrib/eso-pic</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/eso-pic.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/eso-pic/">browse</a>) +<dt><tt><i>everyshi.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ms.zip">macros/latex/contrib/ms</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ms.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ms/">browse</a>) +<dt><tt><i>wallpaper.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/wallpaper.zip">macros/latex/contrib/wallpaper</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/wallpaper.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/wallpaper/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=watermark">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=watermark</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wdnohyph.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wdnohyph.html new file mode 100644 index 00000000000..69af7d9e2c1 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wdnohyph.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label wdnohyph</title> +</head><body> +<h3>Preventing hyphenation of a particular word</h3> +<p>It's quite possible for (<em>any</em>) hyphenation of a particular word +to seem "completely wrong", so that you want to prevent it being +hyphenated. +<p>If the word occurs in just one place, put it in a box: +<pre> + \mbox{oddword} +</pre> +(Plain TeX users should use <code>\</code><code>hbox</code>, and take care at the start +of paragraphs.) However, boxing the word is not really advisable +unless you are sure it only occurs once. +<p>If the word occurs commonly, the best choice is to assert a +non-hyphenation for it: +<pre> + \hyphenation{oddword} +</pre> +This hyphenation exception (with no break points) will be used in +preference to what TeX's hyphenation algorithm may come up with. +<p>In a multilingual document, repeat the exception specification for +each language the word may appear in. So: +<pre> + \usepackage[french,english]{babel} + \selectlanguage{english} + \hyphenation{oddword} + \selectlanguage{french} + \hyphenation{oddword} +</pre> +(note that <i>babel</i> will select the default language for the +document - English, in this case - at <code>\</code><code>begin{document}</code>.) +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wdnohyph">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wdnohyph</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-webpkgs.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-webpkgs.html new file mode 100644 index 00000000000..eb10baaef5a --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-webpkgs.html @@ -0,0 +1,43 @@ +<head> +<title>UK TeX FAQ -- question label webpkgs</title> +</head><body> +<h3>WEB systems for various languages</h3> +<p>TeX is written in the programming language WEB; WEB +is a tool to implement the concept of "literate programming". +Knuth's original implementation will be in any respectable +distribution of TeX, but the sources of the two tools +(<i>tangle</i> and <i>weave</i>), together with a manual +outlining the programming techniques, may be had from CTAN. +<p><i>CWEB</i>, by Silvio Levy, is a WEB for C programs. +<p>Spidery WEB, by Norman Ramsey, supports many +languages including Ada, <code>awk</code>, and C +and, while not in the public domain, is usable without charge. It is +now superseded by <i>noweb</i> (also by Norman Ramsay) which +incorporates the lessons learned in implementing spidery WEB, +and which is a simpler, equally powerful, tool. +<p><i>FWEB</i>, by John Krommes, is a version for Fortran, +Ratfor, and C. +<p><i>Scheme</i><i>WEB</i>, by John Ramsdell, is a Unix filter that +translates SchemeWEB into LaTeX source or Scheme source. +<p><i>APLWEB</i> is a version of WEB for APL. +<p><i>FunnelWeb</i> is a version of WEB that is language independent. +<p>Other language independent versions of WEB are <i>nuweb</i> (which +is written in ANSI C). +<p><i>Tweb</i> is a WEB for Plain TeX macro files, using +<i>noweb</i>. +<dl> +<dt><tt><i>aplweb</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/web/apl/aplweb.zip">web/apl/aplweb</a> (<a href="ftp://cam.ctan.org/tex-archive/web/apl/aplweb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/web/apl/aplweb/">browse</a>) +<dt><tt><i>cweb</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/web/c_cpp/cweb.zip">web/c_cpp/cweb</a> (<a href="ftp://cam.ctan.org/tex-archive/web/c_cpp/cweb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/web/c_cpp/cweb/">browse</a>) +<dt><tt><i>funnelweb</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/web/funnelweb.zip">web/funnelweb</a> (<a href="ftp://cam.ctan.org/tex-archive/web/funnelweb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/web/funnelweb/">browse</a>) +<dt><tt><i>fweb</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/web/fweb.zip">web/fweb</a> (<a href="ftp://cam.ctan.org/tex-archive/web/fweb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/web/fweb/">browse</a>) +<dt><tt><i>noweb</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/web/noweb.zip">web/noweb</a> (<a href="ftp://cam.ctan.org/tex-archive/web/noweb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/web/noweb/">browse</a>) +<dt><tt><i>nuweb</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/web/nuweb.zip">web/nuweb</a> (<a href="ftp://cam.ctan.org/tex-archive/web/nuweb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/web/nuweb/">browse</a>) +<dt><tt><i>schemeweb</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/web/schemeweb.zip">web/schemeweb</a> (<a href="ftp://cam.ctan.org/tex-archive/web/schemeweb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/web/schemeweb/">browse</a>) +<dt><tt><i>spiderweb</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/web/spiderweb.zip">web/spiderweb</a> (<a href="ftp://cam.ctan.org/tex-archive/web/spiderweb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/web/spiderweb/">browse</a>) +<dt><tt><i>tangle</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/knuth/web.zip">systems/knuth/web</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/knuth/web.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/knuth/web/">browse</a>) +<dt><tt><i>tweb</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/web/tweb.zip">web/tweb</a> (<a href="ftp://cam.ctan.org/tex-archive/web/tweb.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/web/tweb/">browse</a>) +<dt><tt><i>weave</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/systems/knuth/web.zip">systems/knuth/web</a> (<a href="ftp://cam.ctan.org/tex-archive/systems/knuth/web.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/systems/knuth/web/">browse</a>) +</dl> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=webpkgs">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=webpkgs</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-weirdhyphen.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-weirdhyphen.html new file mode 100644 index 00000000000..c9c1020324d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-weirdhyphen.html @@ -0,0 +1,34 @@ +<head> +<title>UK TeX FAQ -- question label weirdhyphen</title> +</head><body> +<h3>Weird hyphenation of words</h3> +<p>If your words are being h-yphenated, like this, with jus-t single +letters at the +beginning or the end of the word, you may have a version mismatch +problem. TeX's hyphenation system changed between version 2.9 +and 3.0, and macros written for use with version 2.9 can have this +effect with a version 3.0 system. If you are using Plain TeX, make +sure your <i>plain.tex</i> file has a version number which is at +least 3.0, and rebuild your format. If you are using LaTeX 2.09 your +best plan is to upgrade to LaTeX2e. If for some reason you can't, +the last version of LaTeX 2.09 (released on 25 March 1992) is still +available (for the time being at least) and ought to solve this +problem. +<p>If you're using LaTeX2e, the problem probably arises from your +<code>hyphen.cfg</code> file, which has to be created if you're using a +multi-lingual version. +<p>A further source of oddity can derive from the 1995 release of +<a href="FAQ-ECfonts.html">Cork-encoded fonts</a>, +which introduced an alternative hyphen character. The LaTeX2e +configuration files in the font release specified use of the +alternative hyphen, and this could produce odd effects with words +containing an explicit hyphen. The font configuration files in the +December 1995 release of LaTeX2e do <em>not</em> use the alternative +hyphen character, and therefore removed this source of problems; the +solution, again, is to upgrade your LaTeX. +<dl> +<dt><tt><i>LaTeX 2.09</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/obsolete/macros/latex209/distribs/latex209.tar.gz">obsolete/macros/latex209/distribs/latex209.tar.gz</a> +<dt><tt><i>plain.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/plain/base.zip">macros/plain/base</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/plain/base.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/plain/base/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=weirdhyphen">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=weirdhyphen</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whatTeX.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whatTeX.html new file mode 100644 index 00000000000..a992f2aea34 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whatTeX.html @@ -0,0 +1,41 @@ +<head> +<title>UK TeX FAQ -- question label whatTeX</title> +</head><body> +<h3>What is TeX?</h3> +<p>TeX is a typesetting system written by +<a href="http://sunburn.stanford.edu/~knuth/">Donald E. Knuth</a>, who +says in the Preface to his book on TeX +(see <a href="FAQ-books.html">books about TeX</a>) that it is + +"<em>intended for the creation of beautiful books - and especially for books that contain a lot of mathematics</em>". +<p>Knuth is Emeritus Professor of the Art of Computer Programming at +Stanford University in California, USA. Knuth developed the +first version of TeX in 1978 to deal with revisions to his series +"the Art of Computer Programming". The idea proved popular and +Knuth produced a second version (in 1982) which is the basis of what +we use today. +<p>Knuth developed a system of + +' +<a href="FAQ-lit.html">literate programming</a>' +to write TeX, +and he provides the literate (WEB) source of TeX free of charge, +together with tools for processing the <code>web</code> source into something +that can be compiled and something that can be printed; there's never +any mystery about what TeX does. Furthermore, the WEB system +provides mechanisms to port TeX to new operating systems and +computers; and in order that one may have some confidence in the ports, +Knuth supplied a <a href="FAQ-triptrap.html">test</a> by +means of which one may judge the fidelity of a TeX system. TeX +and its documents are therefore highly portable. +<p>TeX is a macro processor, and offers its users a powerful +programming capability. For this reason, TeX on its own is a +pretty difficult beast to deal with, so Knuth provided a package of +macros for use with TeX called Plain TeX; Plain TeX is +effectively the minimum set of macros one can usefully employ with +TeX, together with some demonstration versions of higher-level +commands (the latter are better regarded as models than used as-is). +When people say they're "programming in TeX", they usually mean +they're programming in Plain TeX. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=whatTeX">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=whatTeX</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whatenc.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whatenc.html new file mode 100644 index 00000000000..63939eba348 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whatenc.html @@ -0,0 +1,78 @@ +<head> +<title>UK TeX FAQ -- question label whatenc</title> +</head><body> +<h3>What are encodings?</h3> +<p>Let's start by defining two concepts, the <em>character</em> and the +<em>glyph</em>. +The character is the abstract idea of the 'atom' of a +language or other dialogue: so it might be a letter in an alphabetic +language, a syllable in a syllabic language, or an ideogram in an +ideographic language. The glyph is the mark created on screen or +paper which represents a character. Of +course, if reading is to be possible, there must be some agreed +relationship between the glyph and the character, so while the precise +shape of the glyph can be affected by many other factors, such as the +capabilities of the writing medium and the designer's style, the +essence of the underlying character must be retained. +<p>Whenever a computer has to represent characters, someone has to define +the relationship between a set of numbers and the characters they +represent. This is the essence of an encoding: it is a mapping +between a set of numbers and a set of things to be represented. +<p>TeX of course deals in encoded characters all the time: the +characters presented to it in its input are encoded, and it emits +encoded characters in its DVI (or PDF) output. These +encodings have rather different properties. +<p>The TeX input stream was pretty unruly back in the days when Knuth +first implemented the language. Knuth himself prepared documents on +terminals that produced all sorts of odd characters, and as a result +TeX contains some provision for translating the input encoding to +something regular. Nowadays, +the operating system translates keystrokes into a code appropriate for +the user's language: the encoding used is often a national or +international standard, though many operating systems use "code +pages" defined by MicroSoft. These standards and code pages often +contain characters that can't appear in the TeX system's input +stream. Somehow, these characters have to be dealt with - so +an input character like "é" needs to be interpreted by TeX in +a way that that at least mimics the way it interprets "<code>\</code><code>'</code><code>e</code>". +<p>The TeX output stream is in a somewhat different situation: +characters in it are to be used to select glyphs from the fonts to be +used. Thus the encoding of the output stream is notionally a font +encoding (though the font in question may be a + + +<a href="FAQ-virtualfonts.html">virtual font</a>). In principle, a +fair bit of what appears in the output stream could be direct +transcription of what arrived in the input, but the output stream +also contains the product of commands in the input, and translations +of the input such as ligatures like +<code>fi</code>. +<p>Font encodings became a hot topic when the +<a href="FAQ-ECfonts.html">Cork encoding</a> +appeared, because of the possibility of suppressing +<code>\</code><code>accent</code> commands in the output stream (and hence improving the +quality of the hyphenation of text in inflected languages, which is +interrupted by the <code>\</code><code>accent</code> commands - see + +<a href="FAQ-hyphen.html">"how does hyphenation work"</a>). +To take advantage of the diacriticised characters represented in the +fonts, it is necessary to arrange that whenever the +command sequence "<code>\'</code><code>e</code>" has been input +(explicitly, or implicitly via the sort of mapping of input mentioned +above), the character that codes the position of the "é" glyph is +used. +<p>Thus we could have the odd arrangement that the diacriticised character in +the TeX input stream is translated into TeX commands that would +generate something looking like the input character; this sequence of +TeX commands is then translated back again into a single +diacriticised glyph as the output is created. This is in fact +precisely what the LaTeX packages <i>inputenc</i> and +<i>fontenc</i> do, if operated in tandem on (most) characters in +the ISO Latin-1 input encoding and the T1 font encoding. +At first sight, it seems eccentric to have the first package do a thing, and +the second precisely undo it, but it doesn't always happen that way: +most font encodings can't match the corresponding input encoding +nearly so well, and the two packages provide the sort of symmetry the +LaTeX system needs. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=whatenc">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=whatenc</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whereFAQ.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whereFAQ.html new file mode 100644 index 00000000000..b666a014a5e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whereFAQ.html @@ -0,0 +1,44 @@ +<head> +<title>UK TeX FAQ -- question label whereFAQ</title> +</head><body> +<h3>Where to find FAQs</h3> +<p>Bobby Bodenheimer's article, from which this FAQ was developed, used +to be posted (nominally monthly) to newsgroup +<i>comp.text.tex</i>. The (long +obsolete) last posted copy of that article is kept on CTAN for +auld lang syne. +<p> +The sources of the present FAQ +are available from CTAN. +<p>Another excellent information source, available in English, is the +<a href="http://tex.loria.fr">(La)TeX navigator</a>. +<p>Both the Francophone TeX usergroup Gutenberg and the Czech/Slovak +usergroup CS-TUG have published translations of this FAQ, with +extensions appropriate to their languages. +<p>Herbert Voss's excellent +<a href="http://texnik.de/">LaTeX tips and tricks</a> +provides excellent advice on most topics one might imagine (though +it's not strictly a FAQ) - highly recommended for most +ordinary mortals' use. +<p>The Open Directory Project (ODP) maintains a list of sources of +(La)TeX help, including FAQs. View the TeX area at +<a href="http://dmoz.org/Computers/Software/Typesetting/TeX/">http://dmoz.org/Computers/Software/Typesetting/TeX/</a> +<p>Other non-English FAQs are available: +<dl> +<dt>German<dd>Posted regularly to <i>de.comp.tex</i>, and archived + on CTAN; the FAQ also appears at + <a href="http://www.dante.de/faq/de-tex-faq/">http://www.dante.de/faq/de-tex-faq/</a> +<dt>French<dd>Posted regularly to <i>fr.comp.text.tex</i>, and + archived on CTAN. +<dt>Spanish<dd>See <a href="http://apolo.us.es/CervanTeX/FAQ/">http://apolo.us.es/CervanTeX/FAQ/</a> +<dt>Czech<dd>See <a href="http://www.fi.muni.cz/cstug/csfaq/">http://www.fi.muni.cz/cstug/csfaq/</a> +</dl> +<dl> +<dt><tt><i>Dante FAQ</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/help/de-tex-faq.zip">help/de-tex-faq</a> (<a href="ftp://cam.ctan.org/tex-archive/help/de-tex-faq.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/help/de-tex-faq/">browse</a>) +<dt><tt><i>French FAQ</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/help/LaTeX-FAQ-francaise.zip">help/LaTeX-FAQ-francaise</a> (<a href="ftp://cam.ctan.org/tex-archive/help/LaTeX-FAQ-francaise.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/help/LaTeX-FAQ-francaise/">browse</a>) +<dt><tt><i>Sources of this FAQ</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/help/uk-tex-faq.zip">help/uk-tex-faq</a> (<a href="ftp://cam.ctan.org/tex-archive/help/uk-tex-faq.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/help/uk-tex-faq/">browse</a>) +<dt><tt><i>Obsolete <code>comp.text.tex</code> FAQ</i></tt><dd> + <a href="ftp://cam.ctan.org/tex-archive/obsolete/help/TeX,_LaTeX,_etc.:_Frequently_Asked_Questions_with_Answers">obsolete/help/TeX,_LaTeX,_etc.:_Frequently_Asked_Questions_with_Answers</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=whereFAQ">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=whereFAQ</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wherefiles.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wherefiles.html new file mode 100644 index 00000000000..95e890fa1ad --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wherefiles.html @@ -0,0 +1,75 @@ +<head> +<title>UK TeX FAQ -- question label wherefiles</title> +</head><body> +<h3>Where to put new files</h3> +<p>Where precisely you put files that you have downloaded does +depend on what TeX distribution you have. However, +assuming that you have one of the modern TDS-compliant +distributions (such as teTeX, fpTeX or mikTeX) there are +some general rules that you can follow: +<p> + + + +(1) Always install new files in a local <i>texmf</i> +tree. The root directory will be named something like: +<pre> + teTeX: /usr/share/texmf-local/ or + /usr/local/share/texmf/ + fpTeX: c:\Programs\TeXLive\texmf-local\ + mikTeX: c:\localtexmf\ +</pre> +(In fact, a teTeX system can be asked to tell you what its local +root is; on a Unix system, the command to use is: +<blockquote> +<pre> +kpsewhich -expand-var "\$TEXMFLOCAL" +</pre> +</blockquote> +the output being the actual path.) +<p>Let's write <code>$TEXMF</code> for this root, whatever it is for your system. +<p> +(2) In your local texmf tree, imitate the directory structure in your +main tree. Here are some examples of where files of given extensions +should go: +<pre> +.sty, .cls or .fd: $TEXMF/tex/latex/<package>/ +.dvi, .ps or .pdf: $TEXMF/doc/latex/<package>/ +.mf: $TEXMF/fonts/source/<supplier>/<font>/ +.tfm: $TEXMF/fonts/tfm/<supplier>/<font>/ +.vf: $TEXMF/fonts/vf/<supplier>/<font>/ +.afm: $TEXMF/fonts/afm/<supplier>/<font>/ +.pfb: $TEXMF/fonts/type1/<supplier>/<font>/ +.ttf: $TEXMF/fonts/truetype/<supplier>/<font>/ +</pre> +and for modern systems (teTeX 3.0, and the like, using TDS +v1.1 format): +<pre> +.map: $TEXMF/fonts/map/<syntax>/<bundle>/ +.enc: $TEXMF/fonts/enc/<syntax>/<bundle>/ +</pre> +Where of course <<i>package</i>>, <<i>font</i>> and <<i>supplier</i>> depend +upon what's appropriate for the individual file. The <<i>syntax</i>> +(for <code>.map</code> and <code>.enc</code> files) is a categorisation based +on the way the files are written; typically, it's the name of a +program such as <i>dvips</i> or <i>pdftex</i>. +<p>"Straight" (La)TeX input can take other forms than the <code>.sty</code>, +<code>.cls</code> or <code>.fd</code> listed above, too. Examples are +<code>.sto</code> and <code>.clo</code> for package and class options, +<code>.cfg</code> for configuration information, and so on. +<p>Note that <<i>font</i>> may stand for a single font or an entire family: +for example, files for all of Knuth's Computer Modern fonts are to be +found in <code>.../public/cm</code>, with various prefixes as appropriate. +<p>The font "supplier" <em>public</em> is a sort of hold-all for +"free fonts produced for use with (La)TeX": as well as Knuth's +fonts, <em>public</em>'s directory holds fonts designed by others +(originally, but no longer exclusively, in Metafont). +<p>Some packages have configuration files (commonly with file suffix +<code>.cfg</code>), and occasionally other run-time files. The package +documentation <em>should</em> mention these things, but sometimes +doesn't. A common exception is the <code>.drv</code> file, used by some +packages as part of the documentation building process; this is a +hang-over from the pre-LaTeX2e predecessor of the package +documentation process. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wherefiles">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wherefiles</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wholerow.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wholerow.html new file mode 100644 index 00000000000..bbd705eaba6 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wholerow.html @@ -0,0 +1,49 @@ +<head> +<title>UK TeX FAQ -- question label wholerow</title> +</head><body> +<h3>How to change a whole row of a table</h3> +<p>Each cell of a table is set in a box, so that a change of font style +(or whatever) only lasts to the end of the cell. If one has a +many-celled table, or a long one which needs lots of rows emphasising, +putting a font style change command in every cell will be impossibly +tedious. +<p>With the <i>array</i> package, you can define column modifiers +which will change the font style for a whole <em>column</em>. However, +with a bit of subtlety, one can make such modifiers affect rows rather +than columns. So, we set things up by: +<blockquote> + +<pre> +\usepackage{array} +\newcolumntype{$}{>{\global\let\currentrowstyle\relax}} +\newcolumntype{^}{>{\currentrowstyle}} +\newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}% + #1\ignorespaces +} +</pre> +</blockquote> +Now, we put '<code>$</code>' before the first column specifier; and we put '<code>^</code>' +before the modifiers of subsequent ones. We then use <code>\</code><code>rowstyle</code> at +the start of each row we want to modify: +<blockquote> +<pre> +\begin{tabular}{|$l|^l|^l|} \hline + \rowstyle{\bfseries} + Heading & Big and & Bold \\ \hline + Meek & mild & entry \\ + Meek & mild & entry \\ + \rowstyle{\itshape} + Strange & and & italic \\ + Meek & mild & entry \\ \hline +\end{tabular} +</pre> +</blockquote> +The <i>array</i> package works with several other +<code>tabular</code>-like environments from other packages (for +example <code>longtable</code>), but unfortunately this trick won't +always work. +<dl> +<dt><tt><i>array.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wholerow">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wholerow</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-why-inp-font.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-why-inp-font.html new file mode 100644 index 00000000000..25dc57c68af --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-why-inp-font.html @@ -0,0 +1,31 @@ +<head> +<title>UK TeX FAQ -- question label why-inp-font</title> +</head><body> +<h3>Why bother with <i>inputenc</i> and <i>fontenc</i>?</h3> +<p>The standard input encoding for Western Europe (pending the arrival of +Unicode) is ISO 8859-1 (commonly known by the standard's +subtitle 'Latin-1'). Latin-1 is remarkably close, in the codepoints +it covers, to the (La)TeX T1 encoding. +<p>In this circumstance, why should one bother with <i>inputenc</i> +and <i>fontenc</i>? Since they're pretty exactly mirroring each +other, one could do away with both, and use just <i>t1enc</i>, +despite its <a href="FAQ-t1enc.html">shortcomings</a>. +<p>One doesn't do this for a variety of small reasons: +<dl> +<dt>Confusion<dd> You've been happily working in this mode, and for + some reason find you're to switch to writing in German: the effect + of using "<code>ß</code>" is somewhat startling, since T1 + and Latin-1 treat the codepoint differently. +<dt>Compatibility<dd> You find yourself needing to work with a + colleague in Eastern Europe: their keyboard is likely to be set to + produce Latin-2, so that the simple mapping doesn't work. +<dt>Traditional LaTeX<dd> You lapse and write something like + <code>\'</code><code>e</code> rather than typing <code>é</code>; only <i>fontenc</i> + has the means to convert this LaTeX sequence into the T1 + character, so an <code>\</code><code>accent</code> primitive slips through into the + output, and hyphenation is in danger. +</dl> +The <i>inputenc</i>-<i>fontenc</i> combination seems slow and +cumbersome, but it's safe. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=why-inp-font">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=why-inp-font</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whyfree.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whyfree.html new file mode 100644 index 00000000000..e29c1a339e0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-whyfree.html @@ -0,0 +1,20 @@ +<head> +<title>UK TeX FAQ -- question label whyfree</title> +</head><body> +<h3>If TeX is so good, how come it's free?</h3> +<p>It's free because Knuth chose to make it so. He is nevertheless +apparently happy +that others should earn money by selling TeX-based services and +products. While several valuable TeX-related tools and packages are +offered subject to restrictions imposed by the GNU General Public +Licence ('Copyleft'), TeX itself is not subject to Copyleft. +<p>There are commercial versions of TeX available; for some users, +it's reassuring to have paid support. What is more, some of the +commercial implementations +have features that are not available in free versions. (The +reverse is also true: some free implementations have features +not available commercially.) +<p>This FAQ concentrates on 'free' distributions of TeX, but we +do at least list the <a href="FAQ-commercial.html">major vendors</a>. +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=whyfree">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=whyfree</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-widefigs.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-widefigs.html new file mode 100644 index 00000000000..99e73381c25 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-widefigs.html @@ -0,0 +1,23 @@ +<head> +<title>UK TeX FAQ -- question label widefigs</title> +</head><body> +<h3>Wide figures in two-column documents</h3> +<p>Floating figures and tables ordinarily come out the same width as the +page, but in two-column documents they're restricted to the width of +the column. This is sometimes not good enough; so there are alternative +versions of the float environments - in two-column documents, +<code>figure*</code> provides a floating page-wide figure (and <code>table*</code> a +page-wide table) which will do the necessary. +<p>The "<code>*</code>"ed float environments can only appear at the top of a page, +or on a whole page - <code>h</code> or <code>b</code> float placement directives are +simply ignored. +<p>Unfortunately, page-wide equations can only be accommodated inside +float environments. You should include them in <code>figure</code> environments, +or use the <i>float</i> or <i>ccaption</i>package to define a +new float type. +<dl> +<dt><tt><i>ccaption.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ccaption.zip">macros/latex/contrib/ccaption</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/ccaption.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/ccaption/">browse</a>) +<dt><tt><i>float.sty</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.zip">macros/latex/contrib/float</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/float.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/float/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=widefigs">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=widefigs</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-widows.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-widows.html new file mode 100644 index 00000000000..e499936e390 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-widows.html @@ -0,0 +1,47 @@ +<head> +<title>UK TeX FAQ -- question label widows</title> +</head><body> +<h3>Controlling widows and orphans</h3> +<p>Widows (the last line of a paragraph at the start of a page) and +orphans (the first line of paragraph at the end of a page) interrupt +the reader's flow, and are generally considered "bad form"; +(La)TeX takes some precautions to avoid them, but completely +automatic prevention is often impossible. If you are typesetting your +own text, consider whether you can bring yourself to change the +wording slightly so that the page break will fall differently. +<p>The page maker, when forming a page, takes account of +<code>\</code><code>widowpenalty</code> and <code>\</code><code>clubpenalty</code> (which relates to orphans!). +These penalties are usually set to the moderate value of <code>150</code>; this +offers mild discouragement of bad breaks. You can increase the values +by saying (for example) <code>\</code><code>widowpenalty</code><code>=500</code>; however, vertical +lists (such as pages are made of) typically have rather little +stretchability or shrinkability, so if the page maker has to balance +the effect of stretching the unstretchable and being penalised, the +penalty will seldom win. Therefore, for typical layouts, there are +only two sensible settings for the penalties: finite (150 or 500, it +doesn't matter which) to allow widows and orphans, and infinite (10000 +or greater) to forbid them. +<p>The problem can be avoided by allowing +the pagemaker to run pages short, by using the <code>\</code><code>raggedbottom</code> +directive; however, many publishers insist on the default +<code>\</code><code>flushbottom</code>; it is seldom acceptable to introduce stretchability +into the vertical list, except at points (such as section headings) +where the document design explicitly permits it. +<p>Once you've exhausted the automatic measures, and have a final draft +you want to "polish", you should proceed to manual measures. To +get rid of an orphan is simple: precede the paragraph with +<code>\</code><code>clearpage</code> and the paragraph can't start in the wrong place. +<p>Getting rid of a widow can be more tricky. If the paragraph is a long +one, it may be possible to set it 'tight': say <code>\</code><code>looseness</code><code>=-1</code> +immediately after the last word of the paragraph. If that doesn't +work, try adjusting the page size: +<code>\</code><code>enlargethispage{<code>\</code><code>baselineskip</code>}</code> may do the job, and +get the whole paragraph on one page. Reducing the size of the page by +<code>\</code><code>enlargethispage{-<code>\</code><code>baselineskip</code>}</code> may produce a +(more-or-less) acceptable "two-line widow". (Note: +<code>\</code><code>looseness</code><code>=1</code>, +increasing the line length by one, seldom seems to work - the looser +paragraph typically has a one-word final line, which doesn't look much +better than the straight widow.) +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=widows">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=widows</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wordcount.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wordcount.html new file mode 100644 index 00000000000..116a7e58116 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wordcount.html @@ -0,0 +1,43 @@ +<head> +<title>UK TeX FAQ -- question label wordcount</title> +</head><body> +<h3>How many words have you written?</h3> +<p>One often has to submit a document (e.g., a paper or a dissertation) +under some sort of constraint about its size. Sensible people set a +constraint in terms of numbers of pages, but there are some that +persist in limiting the numbers of words you type. +<p>A simple solution to the requirement can be achieved following a +simple observation: the powers that be are unlikely to count all the +words of a document submitted to them. Therefore, a statistical +method can be employed: find how many words there are on a full page; +find how many full pages there are in the document (allowing for +displays of various sorts, this number will probably not be an +integer); multiply the two. However, if the document to be submitted +is to determine the success of the rest of one's life, it takes a +brave person to thumb their nose at authority quite so +comprehensively... +<p>The simplest method is to strip out the (La)TeX markup, and to count +what's left. On a Unix-like system, this may be done using +<i>detex</i> and the built-in <i>wc</i>: +<pre> + detex <filename> | wc -w +</pre> +The <i>latexcount</i> script does the same sort of job, in one +"step"; being a <i>perl</i> script, it is in principle rather +easily configured (see documentation inside the script). +<i>Winedt</i> (see <a href="FAQ-editors.html">editors and shells</a>) +provides this functionality direct in the Windows environment. +<p>Simply stripping (La)TeX markup isn't entirely reliable, however: +that markup itself may contribute typeset words, and this could be a +problem. The <i>wordcount</i> package +contains a Bourne shell (i.e., typically Unix) script for running a +LaTeX file with a special piece of supporting TeX code, and then +counting word indications in the log file. This is probably as +accurate automatic counting as you can get. +<dl> +<dt><tt><i>detex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/support/detex.zip">support/detex</a> (<a href="ftp://cam.ctan.org/tex-archive/support/detex.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/support/detex/">browse</a>) +<dt><tt><i>wordcount</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/wordcount.zip">macros/latex/contrib/wordcount</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/contrib/wordcount.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/wordcount/">browse</a>) +</dl> +<p> +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wordcount">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wordcount</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-writecls.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-writecls.html new file mode 100644 index 00000000000..bb3d69069d1 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-writecls.html @@ -0,0 +1,37 @@ +<head> +<title>UK TeX FAQ -- question label writecls</title> +</head><body> +<h3>Learning to write LaTeX classes and packages</h3> +<p>There's nothing particularly magic about the commands you use when +writing a package, so you can simply bundle up a set of LaTeX +<code>\</code><code>(re)newcommand</code> and <code>\</code><code>(re)newenvironment</code> commands, put them in +a file <i>package.sty</i> and you have a package. +<p>However, any but the most trivial package will require rather more +sophistication. Some details of LaTeX commands for the job are to +be found in 'LaTeX2e for class and package writers' +(<i>clsguide</i>, part of the LaTeX documentation distribution). +Beyond this, a good knowledge of TeX itself is valuable: thus books +such as the <a href="FAQ-books.html">TeXbook</a> or +<a href="FAQ-tutorials.html">TeX by topic</a> are relevant. With good TeX +knowledge it is possible to use the documented source of LaTeX as +reference material (dedicated authors will acquaint themselves with the +source as a matter of course). A complete set of the documented +source of LaTeX may be prepared by processing the file +<i>source2e.tex</i> in the LaTeX distribution, but individual files +in the distribution may be processed separately with LaTeX, like +any well-constructed <a href="FAQ-dtx.html"><code>.dtx</code> file</a>. +<p>Writing good classes is not easy; it's a good idea to read some +established ones (<i>classes.dtx</i>, for example, is the documented +source of the standard classes other than <i>Letter</i>, and may +itself be formatted with LaTeX). Classes that are not part of the +distribution are commonly based on ones that are, and start by loading +the standard class with <code>\</code><code>LoadClass</code> - an example of this +technique may be seen in <i>ltxguide.cls</i> +<dl> +<dt><tt><i>classes.dtx</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/base/classes.dtx">macros/latex/base/classes.dtx</a> +<dt><tt><i>ltxguide.cls</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/base/ltxguide.cls">macros/latex/base/ltxguide.cls</a> +<dt><tt><i>LaTeX documentation</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/doc.zip">macros/latex/doc</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/doc.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/doc/">browse</a>) +<dt><tt><i>source2e.tex</i></tt><dd><a href="ftp://cam.ctan.org/tex-archive/macros/latex/base/source2e.tex">macros/latex/base/source2e.tex</a> +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=writecls">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=writecls</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wrongpn.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wrongpn.html new file mode 100644 index 00000000000..6e6a7177610 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-wrongpn.html @@ -0,0 +1,39 @@ +<head> +<title>UK TeX FAQ -- question label wrongpn</title> +</head><body> +<h3>Page number is wrong at start of page</h3> +<p>This is a long story, whose sources are deep inside the workings of +TeX itself; it all derives from the TeX's striving to generate +the best possible output. +<p>The page number is conventionally stored in <code>\</code><code>count0</code>; LaTeX +users see this as the counter <code>page</code>, and may set its value +using <code>\</code><code>thepage</code>. +<p>The number (that is to say, <code>\</code><code>count0</code>) is only updated when TeX +actually outputs a page. TeX only even tries to do this when it +detects a hint that it may be a good thing to do. From TeX's point +of view, the end of a paragraph is a good time to consider outputting +a page; it will output a page if it has <em>more</em> than a page's +worth of material to output. (Ensuring it always has something in +hand makes some optimisations possible.) As a result, <code>\</code><code>count0</code> +(<code>\</code><code>thepage</code>) is almost always wrong in the first paragraph of a +page (the exception is where the page number has been "forcibly" +changed, either by changing its value directly, or by breaking the +page where TeX wouldn't necessarily have chosen to break). +<p>LaTeX provides a safe way of referring to the page number, by using +label references. So, rather than writing: +<blockquote> +<pre> +Here is page \thepage{}. +</pre> +</blockquote> +you should write: +<blockquote> +<pre> +Here is page \pageref{here}\label{here}. +</pre> +</blockquote> +(note: no space between the <code>\</code><code>pageref</code> and the <code>\</code><code>label</code>, since +that could potentially end up as a page-break space itself, which +rather defeats the purpose of the exercise!). +<p><p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wrongpn">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wrongpn</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-xetex.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-xetex.html new file mode 100644 index 00000000000..6a172fd554c --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-xetex.html @@ -0,0 +1,28 @@ +<head> +<title>UK TeX FAQ -- question label xetex</title> +</head><body> +<h3>The XeTeX project</h3> +<p>XeTeX (by Jonathan Kew) is a successor to the shareware TeX/GX +program. It is a Unicode-based (UTF-8) TeX implementation which +is able to make use of Mac OS X AAT (Apple Advanced Typography) +<code>.dfonts</code> and OpenType fonts. It uses Apple's Quartz system +(which facilitates the afore-mentioned font access) to generate +PDF output. +<p>XeTeX requires Mac OS {X} 10.3 "Panther" or later (although +there has been some success using earlier versions). It is +especially oriented towards multi-lingual typography, taking advantage +of Apple's keyboard input systems and system font support for various +languages. +<p>The system is able to make use of Gerben Wierda's TeX for +Mac OS X setup, but a minimal set of TeX support files is +also available, making an attractive proposition for those with +limited bandwidth who are inclined to use Plain TeX. It can be +installed using Apple's Installer, or as an i-Installer package. +<p>The project has a <a href="http://scripts.sil.org/xetex">web site</a> for +the user who wants more than this simple answer, and you can also sign +up to a <a href="http://www.tug.org/mailman/listinfo/xetex">mailing list</a>. +<p> +<p> + +<p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=xetex">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=xetex</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-xspace.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-xspace.html new file mode 100644 index 00000000000..a7d0593c9d0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-xspace.html @@ -0,0 +1,56 @@ +<head> +<title>UK TeX FAQ -- question label xspace</title> +</head><body> +<h3>Commands gobble following space</h3> +<p>People are forever surprised that simple commands gobble the space +after them: this is just the way it is. The effect arises from the +way TeX works, and Lamport describes a solution (place a pair of braces +after a command's invocation) in the description of LaTeX syntax. +Thus the requirement is in effect part of the definition of LaTeX. +<p>This FAQ, +for example, is written with definitions that <em>require</em> one to +type <code>\</code><code>fred{}</code> + +for almost all macro invocations, regardless +of whether the following space is required: however, this FAQ +is written by highly dedicated (and, some would say, eccentric) +people. Many users find all those braces become very tedious very +quickly, and would really rather not type them all. +<p>An alternative structure, that doesn't violate the design of LaTeX, +is to say <code>\</code><code>fred</code><code>\</code><code> </code> - the <code>\</code><code> </code> command is "self +terminating" (like <code>\</code><code>\</code>) and you don't need braces after +<em>it</em>. Thus one can reduce to one the extra characters one needs +to type. +<p>If even that one character is too many, the package <i>xspace</i> +defines a command <code>\</code><code>xspace</code> that guesses whether there should have +been a space after it, and if so introduces that space. So + +"<code>fred<code>\</code><code>xspace</code> jim</code>" produces "fred jim", while +"<code>fred<code>\</code><code>xspace</code>. jim</code>" produces "fred. jim". Which +usage would of course be completely pointless; but you can incorporate +<code>\</code><code>xspace</code> in your own macros: +<blockquote> +<pre> +\usepackage{xspace} +... +\newcommand{\restenergy}{\ensuremath{mc^2}\xspace} +... +and we find \restenergy available to us... +</pre> + +</blockquote> +The <code>\</code><code>xspace</code> command must be the last thing in your macro +definition (as in the example); it's not completely foolproof, but it +copes with most obvious situations in running text. +<p>The <i>xspace</i> package doesn't save you anything if you only use +a modified macro once or twice within your document. In any case, be +careful with usage of <code>\</code><code>xspace</code> - it changes your input syntax, +which can be confusing, notably to a collaborating author +(particularly if you create some commands which use it and some which +don't). Of course, no command built into LaTeX or into any +"standard" class or package will use <code>\</code><code>xspace</code>. +<dl> +<dt><tt><i>xspace.sty</i></tt><dd>Distributed as part of <a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.zip">macros/latex/required/tools</a> (<a href="ftp://cam.ctan.org/tex-archive/macros/latex/required/tools.tar.gz">gzipped tar</a>, <a href="http://www.tex.ac.uk/tex-archive/macros/latex/required/tools/">browse</a>) +</dl> +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=xspace">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=xspace</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-y2k.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-y2k.html new file mode 100644 index 00000000000..b5fc2cd1ff3 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-y2k.html @@ -0,0 +1,48 @@ +<head> +<title>UK TeX FAQ -- question label y2k</title> +</head><body> +<h3>Are TeX and friends Y2K compliant?</h3> +<p><dl> +<dt>Crashing:<dd> None of TeX, Metafont or MetaPost can themselves crash + due to any change whatever in the date of any sort. +<dt>Timestamps:<dd> In the original sources, a 2-digit year was + stored as the creation time for format files and that value is + printed in logfiles. These items should not be of general concern, + since the only use of the date format file is to produce the log + output, and the log file is designed for human readers only. +<p> Knuth announced in 1998 that implementators could + alter this code without fear of being accused of non-compliance. + Nearly all implementations that are being actively maintained had + been modified to generate 4-digit years in the format file and the + log, by the end of 1998. The original sources themselves have now + been modified so that 4-digit year numbers are stored. +<dt>The <code>\</code><code>year</code> primitive:<dd> Certification of a TeX + implementation (see <a href="FAQ-triptrap.html">trip/trap testing</a>) + does not require that <code>\</code><code>year</code> return a meaningful value (which + means that TeX can, in principle, be implemented on platforms + that don't make the value of the clock available to user programs). + The <em>TeXbook</em> (see + <a href="FAQ-books.html">TeX-related books</a>) defines <code>\</code><code>year</code> as + "the current year of our Lord", which is the only correct meaning + for <code>\</code><code>year</code> for those implementations which can supply a + meaningful value, which is to say nearly all of them. +<p> In short, TeX implementations should provide a value in <code>\</code><code>year</code> + giving the 4-digit year Anno Domini, or the value 1776 if the + platform does not support a date function. +<p> Note that if the system itself fails to deliver a correct date to + TeX, then <code>\</code><code>year</code> will of course return an incorrect value. + TeX cannot be considered Y2K compliant, in this sense, on a + system that is not itself Y2K compliant. +<dt>Macros:<dd> TeX macros can in principle perform calculations on + the basis of the value of <code>\</code><code>year</code>. + The <a href="FAQ-latex.html">LaTeX</a> suite + + performs such calculations in a small number of places; the + calculations performed in the current (supported) version of LaTeX are + known to be Y2K compliant. +<p> Other macros and macro packages should be individually checked. +<dt>External software:<dd> Software such as DVI translators + needs to be individually checked. +</dl> +<p><p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=y2k">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=y2k</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-zerochap.html b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-zerochap.html new file mode 100644 index 00000000000..131d3b9f649 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/FAQ-zerochap.html @@ -0,0 +1,18 @@ +<head> +<title>UK TeX FAQ -- question label zerochap</title> +</head><body> +<h3>Why are my sections numbered 0.1 ...?</h3> +<p>This happens when your document is using the standard <i>book</i> or +<i>report</i> class (or one similar), and you've got a <code>\</code><code>section</code> +before your first <code>\</code><code>chapter</code>. +<p>What happens is, that the class numbers sections as +"<<i>chapter no</i>>.<<i>section no</i>>", and until the first +chapter has appeared, the chapter number is 0. +<p>If you're doing this, it's quite likely that the <i>article</i> class +is for you; try it and see. Otherwise, give your sections a +'superior' chapter, or do away with section numbering by using +<code>\</code><code>section*</code> instead. An alternative way of avoiding numbering is +discussed in +"<a href="FAQ-secnumdep.html">unnumbered sections in the table of contents</a>". +<p><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=zerochap">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=zerochap</a> +</body> diff --git a/Master/texmf-doc/doc/english/FAQ-en/html/index.html b/Master/texmf-doc/doc/english/FAQ-en/html/index.html new file mode 100644 index 00000000000..ebf0394140e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/html/index.html @@ -0,0 +1,539 @@ + +<h1 align="center">Welcome to the UK List of<br> + TeX Frequently Asked Questions</h1> +<h2>Introduction</h2> +<p>This FAQ was originated by the Committee of the UK TeX +Users' Group (UK TUG) as a development of a regular +posting to the <em>Usenet</em> newsgroup <i>comp.text.tex</i> that +was maintained for some time by Bobby Bodenheimer. The first +UK version was much re-arranged and corrected from the +original, and little of Bodenheimer's work now remains. +<p> +<p>An alternative HTML version of the FAQ may +be found in <a href="FAQ-CD.html">TeX Live</a>. +<p> A copy of the complete FAQ, in PDF with hyperlinks to + assist browsing, may be found on + <a href="ftp://cam.ctan.org/tex-archive/help/uk-tex-faq/newfaq.pdf">help/uk-tex-faq/newfaq.pdf</a> (formatted for A4 paper) or + <a href="ftp://cam.ctan.org/tex-archive/help/uk-tex-faq/letterfaq.pdf">help/uk-tex-faq/letterfaq.pdf</a> (formatted for North American "letter" + paper). +<p>Most members of the committee of UK TUG, over the years +since 1994, have contributed to this FAQ to some extent. The +following people, who have never been members of the committee, have +also contributed help or advice: +Donald Arseneau, +Barbara Beeton, +Karl Berry, +Giuseppe Bilotta, +Charles Cameron, +Damian Cugley, +Michael Dewey, +Michael Downes, +Thomas Esser, +Ulrike Fischer, +Anthony Goreham, +Norman Gray, +Eitan Gurari, +William Hammond, +Hartmut Henkel, +John Hobby, +Morten Høgholm, +Berthold Horn, +Ian Hutchinson, +Werner Icking, +Regnor Jernsletten, +David Kastrup, +Isaac Khabaza, +Ulrich Klauer, +Markus Kohm, +Simon Law, +Daniel Luecking, +Sanjoy Mahajan, +Andreas Matthias, +Brooks Moses, + +Ted Nieland, +Hans Nordhaug, +Pat Rau, +Heiko Oberdiek, +Piet van Oostrum, +Scott Pakin, +Oren Patashnik, +Philip Ratcliffe, +José Carlos Santos, +Walter Schmidt, +Hans-Peter Schröcker, +Joachim Schrod, +Maarten Sneep, +James Szinger, +Ulrik Vieth, +Mike Vulis, +Chris Walker, +Peter Wilson, +Rick Zaccone and +Reinhard Zierke. +<p><p> +<b>Caveat: Acquiring files</b> +<p>Most answers in this FAQ provide links for downloading +software; a large proportion of these links direct you to entire +directories on the CTAN archives. Unfortunately, some browsers +issue a sequence of commands that causes CTAN servers to deny +the existence of compressed archive files of the directory, that the +server would be happy to create "on the fly". The FAQ +therefore offers three possible links for downloading directories +(that aren't already designated "browse only"): the links give you +<code>.zip</code> and <code>.tar.gz</code> archives, and a link for browsing +the directory. +<p>Fortunately, CTAN is switching to statically-generated +directory archive files; many directories mentioned in this FAQ +will also exist as <code>.zip</code> files on the archives, and won't fall +foul of the browser problem. Of course, if the <code>.zip</code> file +does not exist, and the browser is playing up, you will need to use +the "browse" link. +<p> +<p> +<p><h3>The Background</h3><ul> +<li><a href="FAQ-whatTeX.html">What is TeX?</a> +<li><a href="FAQ-TeXpronounce.html">How should I pronounce "TeX"?</a> +<li><a href="FAQ-MF.html">What is Metafont?</a> +<li><a href="FAQ-MP.html">What is MetaPost?</a> +<li><a href="FAQ-triptrap.html">How can I be sure it's really TeX?</a> +<li><a href="FAQ-y2k.html">Are TeX and friends Y2K compliant?</a> +<li><a href="FAQ-latex.html">What is LaTeX?</a> +<li><a href="FAQ-latex2e.html">What is LaTeX2e?</a> +<li><a href="FAQ-latexpronounce.html">How should I pronounce "LaTeX(2e)"?</a> +<li><a href="FAQ-plainvltx.html">Should I use Plain TeX or LaTeX?</a> +<li><a href="FAQ-LaTeXandPlain.html">How does LaTeX relate to Plain TeX?</a> +<li><a href="FAQ-context.html">What is ConTeXt?</a> +<li><a href="FAQ-AMSpkg.html">What are the AMS packages (AMSTeX, <em>etc</em>.)?</a> +<li><a href="FAQ-eplain.html">What is Eplain?</a> +<li><a href="FAQ-lollipop.html">What is Lollipop?</a> +<li><a href="FAQ-texinfo.html">What is Texinfo?</a> +<li><a href="FAQ-whyfree.html">If TeX is so good, how come it's free?</a> +<li><a href="FAQ-TeXfuture.html">What is the future of TeX?</a> +<li><a href="FAQ-readtex.html">Reading (La)TeX files</a> +<li><a href="FAQ-notWYSIWYG.html">Why is TeX not a WYSIWYG system?</a> +<li><a href="FAQ-TUGstar.html">TeX User Groups</a> +</ul><h3>Documentation and Help</h3><ul> +<li><a href="FAQ-books.html">Books on TeX and its relations</a> +<li><a href="FAQ-typebooks.html">Books on Type</a> +<li><a href="FAQ-whereFAQ.html">Where to find FAQs</a> +<li><a href="FAQ-maillists.html">Where to get help</a> +<li><a href="FAQ-askquestion.html">How to ask a question</a> +<li><a href="FAQ-minxampl.html">How to make a "minimum example"</a> +<li><a href="FAQ-tutorials.html">(La)TeX Tutorials, etc.</a> +<li><a href="FAQ-pkgdoc.html">Documentation of packages</a> +<li><a href="FAQ-writecls.html">Learning to write LaTeX classes and packages</a> +<li><a href="FAQ-mfptutorials.html">Metafont and MetaPost Tutorials</a> +<li><a href="FAQ-BibTeXing.html">BibTeX Documentation</a> +<li><a href="FAQ-symbols.html">Where can I find the symbol for ...</a> +<li><a href="FAQ-docpictex.html">The PiCTeX manual</a> +</ul><h3>Bits and pieces of TeX</h3><ul> +<li><a href="FAQ-dvi.html">What is a DVI file?</a> +<li><a href="FAQ-driver.html">What is a driver?</a> +<li><a href="FAQ-pk.html">What are PK files?</a> +<li><a href="FAQ-tfm.html">What are TFM files?</a> +<li><a href="FAQ-virtualfonts.html">Virtual fonts</a> +<li><a href="FAQ-specials.html"><code>\</code><code>special</code> commands</a> +<li><a href="FAQ-dtx.html">Documented LaTeX sources (<code>.dtx</code> files)</a> +<li><a href="FAQ-whatenc.html">What are encodings?</a> +<li><a href="FAQ-hyphen.html">How does hyphenation work in TeX?</a> +<li><a href="FAQ-ECfonts.html">What are the EC fonts?</a> +<li><a href="FAQ-tds.html">What is the TDS?</a> +<li><a href="FAQ-eps.html">What is "Encapsulated PostScript"</a> +<li><a href="FAQ-adobetypen.html">Adobe font formats</a> +<li><a href="FAQ-resolns.html">What are "resolutions"</a> +<li><a href="FAQ-fontname.html">What is the "Berry naming scheme"</a> +</ul><h3>Acquiring the Software</h3><ul> +<li><a href="FAQ-archives.html">Repositories of TeX material</a> +<li><a href="FAQ-nonfree.html">What's the CTAN <code>nonfree</code> tree?</a> +<li><a href="FAQ-uploads.html">Contributing a file to the archives</a> +<li><a href="FAQ-findfiles.html">Finding (La)TeX files</a> +<li><a href="FAQ-findfont.html">Finding new fonts</a> +<li><a href="FAQ-CD.html">The TeX Live distribution</a> +</ul><h3>TeX Systems</h3><ul> +<li><a href="FAQ-TeXsystems.html">(La)TeX for different machines</a> +<li><a href="FAQ-editors.html">TeX-friendly editors and shells</a> +<li><a href="FAQ-commercial.html">Commercial TeX implementations</a> +</ul><h3>DVI Drivers and Previewers</h3><ul> +<li><a href="FAQ-dvips.html">DVI to PostScript conversion programs</a> +<li><a href="FAQ-HPdrivers.html">DVI drivers for HP LaserJet</a> +<li><a href="FAQ-otherprinters.html">Output to "other" printers</a> +<li><a href="FAQ-previewers.html">DVI previewers</a> +<li><a href="FAQ-dvi-bmp.html">Generating bitmaps from DVI</a> +</ul><h3>Support Packages for TeX</h3><ul> +<li><a href="FAQ-fig.html">Fig, a (La)TeX-friendly drawing package</a> +<li><a href="FAQ-texcad.html">TeXCAD, a drawing package for LaTeX</a> +<li><a href="FAQ-spell.html">Spelling checkers for work with TeX</a> +<li><a href="FAQ-wordcount.html">How many words have you written?</a> +</ul><h3>Literate programming</h3><ul> +<li><a href="FAQ-lit.html">What is Literate Programming?</a> +<li><a href="FAQ-webpkgs.html">WEB systems for various languages</a> +</ul><h3>Format conversions</h3><ul> +<li><a href="FAQ-toascii.html">Conversion from (La)TeX to plain ASCII</a> +<li><a href="FAQ-SGML2TeX.html">Conversion from SGML or HTML to TeX</a> +<li><a href="FAQ-LaTeX2HTML.html">Conversion from (La)TeX to HTML</a> +<li><a href="FAQ-fmtconv.html">Other conversions to and from (La)TeX</a> +<li><a href="FAQ-readML.html">Using TeX to read SGML or XML directly</a> +<li><a href="FAQ-recovertex.html">Retrieving (La)TeX from DVI, etc.</a> +<li><a href="FAQ-LaTeXtoPlain.html">Translating LaTeX to Plain TeX</a> +</ul><h3>Installing (La)TeX files</h3><ul> +<li><a href="FAQ-instpackages.html">Installing a new package</a> +<li><a href="FAQ-wherefiles.html">Where to put new files</a> +<li><a href="FAQ-miktexinst.html">Installing MiKTeX "known packages"</a> +<li><a href="FAQ-tempinst.html">"Temporary" installation of (La)TeX files</a> +<li><a href="FAQ-privinst.html">"Private" installations of files</a> +<li><a href="FAQ-instfont.html">Installing a new font</a> +<li><a href="FAQ-instmffont.html">Installing a font provided as Metafont source</a> +<li><a href="FAQ-instprinterfont.html">Installing a PostScript printer built-in font</a> +<li><a href="FAQ-inst1cm.html">Installing the Bluesky versions of the CM fonts</a> +<li><a href="FAQ-instt1font.html">Installing a Type 1 font</a> +</ul><h3>Fonts</h3><ul> +</ul><h4>Metafont fonts</h4><ul> +<li><a href="FAQ-useMF.html">Getting Metafont to do what you want</a> +<li><a href="FAQ-keepfonts.html">Which font files should be kept</a> +<li><a href="FAQ-getbitmap.html">Acquiring bitmap fonts</a> +</ul><h4>Adobe Type 1 ("PostScript") fonts</h4><ul> +<li><a href="FAQ-usepsfont.html">Using PostScript fonts with TeX</a> +<li><a href="FAQ-PSpreview.html">Previewing files using Type 1 fonts</a> +<li><a href="FAQ-metrics.html">TeX font metric files for PostScript fonts</a> +<li><a href="FAQ-psfontprob.html">Deploying Type 1 fonts</a> +<li><a href="FAQ-psfchoice.html">Choice of scalable outline fonts</a> +<li><a href="FAQ-charshift.html">Weird characters in <i>dvips</i> output</a> +</ul><h4>Particular font families</h4><ul> +<li><a href="FAQ-concrete.html">Using the "Concrete" fonts</a> +<li><a href="FAQ-uselmfonts.html">Using the Latin Modern fonts</a> +</ul><h3>Hypertext and PDF</h3><ul> +<li><a href="FAQ-hyper.html">Making hypertext documents from TeX</a> +<li><a href="FAQ-acrobat.html">Making Acrobat documents from LaTeX</a> +<li><a href="FAQ-dvips-pdf.html">Quality of PDF from PostScript</a> +<li><a href="FAQ-fuzzy-type3.html">The wrong type of fonts in PDF</a> +<li><a href="FAQ-fuzzy-gs.html">Fuzzy fonts because <i>Ghostscript</i> too old</a> +<li><a href="FAQ-fuzzy-T1.html">Fonts go fuzzy when you switch to T1</a> +<li><a href="FAQ-distill-prob.html">Characters missing from PDF output</a> +<li><a href="FAQ-type1T1.html">Finding '8-bit' Type 1 fonts</a> +<li><a href="FAQ-pkfix.html">Replacing Type 3 fonts in PostScript</a> +<li><a href="FAQ-pdfpagelabels.html"><i>Hyperref</i> and repeated page numbers</a> +</ul><h3>Graphics</h3><ul> +<li><a href="FAQ-impgraph.html">How to import graphics into (La)TeX documents</a> +<li><a href="FAQ-dvipsgraphics.html">Imported graphics in <i>dvips</i></a> +<li><a href="FAQ-pdftexgraphics.html">Imported graphics in PDFLaTeX</a> +<li><a href="FAQ-dvipdfmgraphics.html">Imported graphics in <i>dvipdfm</i></a> +<li><a href="FAQ-graphicspath.html">Importing graphics from "somewhere else"</a> +<li><a href="FAQ-graph-pspdf.html">Portable imported graphics</a> +<li><a href="FAQ-grmaxwidth.html">Limit the width of imported graphics</a> +<li><a href="FAQ-topgraph.html">Top-aligning imported graphics</a> +<li><a href="FAQ-mpprologues.html">Making MetaPost output display in <i>ghostscript</i></a> +<li><a href="FAQ-drawing.html">Drawing with TeX</a> +<li><a href="FAQ-drawFeyn.html">Drawing Feynman diagrams in LaTeX</a> +<li><a href="FAQ-labelfig.html">Labelling graphics</a> +</ul><h3>Bibliographies and citations</h3><ul> +</ul><h4>Creating bibliographies</h4><ul> +<li><a href="FAQ-buildbib.html">Creating a BibTeX bibliography file</a> +<li><a href="FAQ-custbib.html">Creating a bibliography style</a> +<li><a href="FAQ-capbibtex.html">Capitalisation in BibTeX</a> +<li><a href="FAQ-bibaccent.html">Accents in bibliographies</a> +<li><a href="FAQ-bibstrtl.html">'String too long' in BibTeX</a> +<li><a href="FAQ-manyauthor.html">BibTeX doesn't understand lists of names</a> +<li><a href="FAQ-citeURL.html">URLs in BibTeX bibliographies</a> +<li><a href="FAQ-bibplain.html">Using BibTeX with Plain TeX</a> +<li><a href="FAQ-makebib.html">Reconstructing <code>.bib</code> files</a> +<li><a href="FAQ-bibprefixsort.html">BibTeX sorting and name prefixes</a> +<li><a href="FAQ-bibtranscinit.html">Transcribed initials in BibTeX</a> +</ul><h4>Creating citations</h4><ul> +<li><a href="FAQ-usebibtex.html">"Normal" use of BibTeX from LaTeX</a> +<li><a href="FAQ-chapbib.html">Separate bibliographies per chapter?</a> +<li><a href="FAQ-multbib.html">Multiple bibliographies?</a> +<li><a href="FAQ-bibinline.html">Putting bibliography entries in text</a> +<li><a href="FAQ-citesort.html">Sorting and compressing citations</a> +<li><a href="FAQ-mcite.html">Multiple citations</a> +<li><a href="FAQ-backref.html">References from the bibliography to the citation</a> +<li><a href="FAQ-sortbib.html">Sorting lists of citations</a> +<li><a href="FAQ-compactbib.html">Reducing spacing in the bibliography</a> +<li><a href="FAQ-bibtocorder.html">Table of contents rearranges "<i>unsrt</i>" ordering</a> +<li><a href="FAQ-i18nbib.html">Non-english bibliographies</a> +</ul><h4>Manipulating whole bibliographies</h4><ul> +<li><a href="FAQ-nocitestar.html">Listing all your BibTeX entries</a> +<li><a href="FAQ-htmlbib.html">Making HTML of your Bibliography</a> +</ul><h3>Adjusting the typesetting</h3><ul> +</ul><h4>Alternative document classes</h4><ul> +<li><a href="FAQ-replstdcls.html">Replacing the standard classes</a> +<li><a href="FAQ-slidecls.html">Producing slides</a> +<li><a href="FAQ-thesis.html">Formatting a thesis in LaTeX</a> +<li><a href="FAQ-journalpaper.html">Setting papers for journals</a> +<li><a href="FAQ-multidoc.html">A 'report' from lots of 'article's</a> +<li><a href="FAQ-cv.html"><em>Curriculum Vitae</em> (Résumé)</a> +<li><a href="FAQ-letterclass.html">Letters and the like</a> +<li><a href="FAQ-extsizes.html">Other "document font" sizes?</a> +</ul><h4>Document structure</h4><ul> +<li><a href="FAQ-titlsty.html">The style of document titles</a> +<li><a href="FAQ-secthead.html">The style of section headings</a> +<li><a href="FAQ-appendix.html">Appendixes</a> +<li><a href="FAQ-secindent.html">Indent after section headings</a> +<li><a href="FAQ-subsubsub.html">How to create a <code>\</code><code>subsubsubsection</code></a> +<li><a href="FAQ-captsty.html">The style of captions</a> +<li><a href="FAQ-fancyhdr.html">Alternative head- and footlines in LaTeX</a> +<li><a href="FAQ-widefigs.html">Wide figures in two-column documents</a> +<li><a href="FAQ-onecolabs.html">1-column abstract in 2-column document</a> +<li><a href="FAQ-reallyblank.html">Really blank pages between chapters</a> +<li><a href="FAQ-balance.html">Balancing columns at the end of a document</a> +<li><a href="FAQ-runheadtoobig.html">My section title is too wide for the page header</a> +<li><a href="FAQ-nofm.html">Page numbering "<<i>n</i>> of <<i>m</i>>"</a> +<li><a href="FAQ-pagebychap.html">Page numbering by chapter</a> +</ul><h4>Page layout</h4><ul> +<li><a href="FAQ-papersize.html">Printer paper sizes</a> +<li><a href="FAQ-changemargin.html">Changing the margins in LaTeX</a> +<li><a href="FAQ-nopageno.html">How to get rid of page numbers</a> +<li><a href="FAQ-psatempty.html"><code>\pagestyle{empty}</code> on first page in LaTeX</a> +<li><a href="FAQ-crop.html">How to create crop marks</a> +<li><a href="FAQ-watermark.html">'Watermarks' on every page</a> +<li><a href="FAQ-landscape.html">Typesetting things in landscape orientation</a> +<li><a href="FAQ-abspos.html">Putting things at fixed positions on the page</a> +<li><a href="FAQ-nopagebrk.html">Preventing page breaks between lines</a> +<li><a href="FAQ-parallel.html">Parallel setting of text</a> +<li><a href="FAQ-epigraph.html">Typesetting epigraphs</a> +<li><a href="FAQ-outszwrng.html">(La)TeX PDF output prints at wrong size</a> +</ul><h4>Spacing of characters and lines</h4><ul> +<li><a href="FAQ-linespace.html">Double-spaced documents in LaTeX</a> +<li><a href="FAQ-letterspace.html">Changing the space between letters</a> +<li><a href="FAQ-ragright.html">Setting text ragged right</a> +<li><a href="FAQ-flushboth.html">Cancelling <code>\</code><code>ragged</code> commands</a> +</ul><h4>Typesetting specialities</h4><ul> +<li><a href="FAQ-verbfile.html">Including a file verbatim in LaTeX</a> +<li><a href="FAQ-linenos.html">Including line numbers in typeset output</a> +<li><a href="FAQ-codelist.html">Code listings in LaTeX</a> +<li><a href="FAQ-algorithms.html">Typesetting pseudocode in LaTeX</a> +<li><a href="FAQ-makeindex.html">Generating an index in (La)TeX</a> +<li><a href="FAQ-setURL.html">Typesetting URLs</a> +<li><a href="FAQ-music.html">Typesetting music in TeX</a> +<li><a href="FAQ-parskip.html">Zero paragraph indent</a> +<li><a href="FAQ-dropping.html">Big letters at the start of a paragraph</a> +<li><a href="FAQ-dec_comma.html">The comma as a decimal separator</a> +<li><a href="FAQ-breakbox.html">Breaking boxes of text</a> +<li><a href="FAQ-overstrike.html">Overstriking characters</a> +<li><a href="FAQ-upquot.html">Realistic quotes for verbatim listings</a> +<li><a href="FAQ-time.html">Printing the time</a> +<li><a href="FAQ-the-commands.html">Redefining counters' <code>\</code><code>the-</code>commands</a> +</ul><h4>Tables of contents and indexes</h4><ul> +<li><a href="FAQ-tocloft.html">The format of the Table of Contents, etc.</a> +<li><a href="FAQ-secnumdep.html">Unnumbered sections in the Table of Contents</a> +<li><a href="FAQ-tocbibind.html">Bibliography, index, etc., in TOC</a> +<li><a href="FAQ-minitoc.html">Table of contents, etc., per chapter</a> +<li><a href="FAQ-multind.html">Multiple indexes</a> +</ul><h4>Labels and references</h4><ul> +<li><a href="FAQ-nameref.html">Referring to things by their name</a> +<li><a href="FAQ-extref.html">Referring to labels in other documents</a> +</ul><h3>How do I do...?</h3><ul> +</ul><h4>Mathematics</h4><ul> +<li><a href="FAQ-proof.html">Proof environment</a> +<li><a href="FAQ-theoremfmt.html">Roman theorems</a> +<li><a href="FAQ-newfunction.html">Defining a new log-like function in LaTeX</a> +<li><a href="FAQ-braket.html">Set specifications and Dirac brackets</a> +<li><a href="FAQ-cancellation.html">Cancelling terms in maths expressions</a> +<li><a href="FAQ-mathsize.html">Adjusting maths font sizes</a> +<li><a href="FAQ-mathlips.html">Ellipses</a> +<li><a href="FAQ-limits.html">Sub- and superscript positioning for operators</a> +<li><a href="FAQ-mathstext.html">Text inside maths</a> +<li><a href="FAQ-reuseq.html">Re-using an equation</a> +</ul><h4>Lists</h4><ul> +<li><a href="FAQ-enumerate.html">Fancy enumeration lists</a> +<li><a href="FAQ-complist.html">How to reduce list spacing</a> +<li><a href="FAQ-interruptlist.html">Interrupting enumerated lists</a> +</ul><h4>Tables, figures and diagrams</h4><ul> +<li><a href="FAQ-destable.html">The design of tables</a> +<li><a href="FAQ-fixwidtab.html">Fixed-width tables</a> +<li><a href="FAQ-struttab.html">Spacing lines in tables</a> +<li><a href="FAQ-longtab.html">Tables longer than a single page</a> +<li><a href="FAQ-tabcellalign.html">How to alter the alignment of tabular cells</a> +<li><a href="FAQ-rulethk.html">The thickness of rules in LaTeX tables</a> +<li><a href="FAQ-textflow.html">Flowing text around figures in LaTeX</a> +<li><a href="FAQ-slashbox.html">Diagonal separation in corner cells of tables</a> +<li><a href="FAQ-wholerow.html">How to change a whole row of a table</a> +<li><a href="FAQ-multirow.html">Merging cells in a column of a table</a> +</ul><h4>Floating tables, figures, etc.</h4><ul> +<li><a href="FAQ-floatpages.html">Floats on their own on float pages</a> +<li><a href="FAQ-vertspacefloat.html">Extra vertical space in floats</a> +<li><a href="FAQ-2colfloat.html">Placing two-column floats at bottom of page</a> +<li><a href="FAQ-mcfloat.html">Floats in multicolumn setting</a> +<li><a href="FAQ-dpfloat.html">Facing floats on 2-page spread</a> +<li><a href="FAQ-vertposfp.html">Vertical layout of float pages</a> +</ul><h4>Footnotes</h4><ul> +<li><a href="FAQ-footintab.html">Footnotes in tables</a> +<li><a href="FAQ-ftnsect.html">Footnotes in LaTeX section headings</a> +<li><a href="FAQ-ftncapt.html">Footnotes in captions</a> +<li><a href="FAQ-repfootnote.html">Footnotes whose texts are identical</a> +<li><a href="FAQ-multfoot.html">More than one sequence of footnotes</a> +<li><a href="FAQ-footnpp.html">Footnotes numbered "per page"</a> +</ul><h4>Document management</h4><ul> +<li><a href="FAQ-filename.html">What's the name of this file</a> +<li><a href="FAQ-filesused.html">All the files used by this document</a> +<li><a href="FAQ-changebars.html">Marking changed parts of your document</a> +<li><a href="FAQ-conditional.html">Conditional compilation and "comments"</a> +<li><a href="FAQ-docotherdir.html">Bits of document from other directories</a> +<li><a href="FAQ-RCS.html">Version control using RCS, CVS or <i>Subversion</i></a> +<li><a href="FAQ-make.html">Makefiles for LaTeX documents</a> +<li><a href="FAQ-howmanypp.html">How many pages are there in my document?</a> +<li><a href="FAQ-inclplain.html">Including Plain TeX files in LaTeX</a> +</ul><h4>Hyphenation</h4><ul> +<li><a href="FAQ-nohyph.html">My words aren't being hyphenated</a> +<li><a href="FAQ-weirdhyphen.html">Weird hyphenation of words</a> +<li><a href="FAQ-oddhyphen.html">(Merely) peculiar hyphenation</a> +<li><a href="FAQ-hyphenaccents.html">Accented words aren't hyphenated</a> +<li><a href="FAQ-newlang.html">Using a new language with Babel</a> +<li><a href="FAQ-hyphoff.html">Stopping all hyphenation</a> +<li><a href="FAQ-wdnohyph.html">Preventing hyphenation of a particular word</a> +<li><a href="FAQ-hyphexcept.html">Hyphenation exceptions</a> +</ul><h4>Odds and ends</h4><ul> +<li><a href="FAQ-logos.html">Typesetting all those TeX-related logos</a> +<li><a href="FAQ-bold-extras.html">How to do bold-tt or bold-sc</a> +<li><a href="FAQ-varwidth.html">Automatic sizing of <code>minipage</code></a> +</ul><h3>Symbols, etc.</h3><ul> +<li><a href="FAQ-numbersets.html">Symbols for the number sets</a> +<li><a href="FAQ-scriptfonts.html">Better script fonts for maths</a> +<li><a href="FAQ-boldgreek.html">Setting bold Greek letters in LaTeX</a> +<li><a href="FAQ-prinvalint.html">The Principal Value Integral symbol</a> +<li><a href="FAQ-underscore.html">How to use the underscore character</a> +<li><a href="FAQ-atsign.html">How to type an '@' sign?</a> +<li><a href="FAQ-euro.html">Typesetting the Euro sign</a> +<li><a href="FAQ-tradesyms.html">How to get copyright, trademark, etc.</a> +</ul><h3>Macro programming</h3><ul> +</ul><h4>"Generic" macros and techniques</h4><ul> +<li><a href="FAQ-findwidth.html">Finding the width of a letter, word, or phrase</a> +<li><a href="FAQ-patch.html">Patching existing commands</a> +<li><a href="FAQ-compjobnam.html">Comparing the "job name"</a> +<li><a href="FAQ-isitanum.html">Is the argument a number?</a> +<li><a href="FAQ-hash.html">Defining macros within macros</a> +<li><a href="FAQ-spinmacro.html">Spaces in macros</a> +<li><a href="FAQ-moren9.html">How to break the 9-argument limit</a> +<li><a href="FAQ-activechars.html">Defining characters as macros</a> +<li><a href="FAQ-actinarg.html">Active characters in command arguments</a> +<li><a href="FAQ-csname.html">Defining a macro from an argument</a> +<li><a href="FAQ-cvtlatex.html">Transcribing LaTeX command definitions</a> +<li><a href="FAQ-empty.html">Detecting that something is empty</a> +<li><a href="FAQ-ifpdf.html">Am I using PDFTeX?</a> +<li><a href="FAQ-subverttoks.html">Subverting a token register</a> +</ul><h4>LaTeX macro tools and techniques</h4><ul> +<li><a href="FAQ-plninltx.html">Using Plain or primitive commands in LaTeX</a> +<li><a href="FAQ-atsigns.html"><code>\</code><code>@</code> and <code>@</code> in macro names</a> +<li><a href="FAQ-protect.html">What's the reason for 'protection'?</a> +<li><a href="FAQ-edef.html"><code>\</code><code>edef</code> does not work with <code>\</code><code>protect</code></a> +<li><a href="FAQ-ltxcmds.html">The definitions of LaTeX commands</a> +<li><a href="FAQ-oarglikesect.html">Optional arguments like <code>\</code><code>section</code></a> +<li><a href="FAQ-twooptarg.html">More than one optional argument</a> +<li><a href="FAQ-cmdstar.html">Commands defined with * options</a> +<li><a href="FAQ-ltxabbrv.html">LaTeX internal "abbreviations", etc.</a> +</ul><h4>LaTeX macro techniques</h4><ul> +<li><a href="FAQ-fixnam.html">How to change LaTeX's "fixed names"</a> +<li><a href="FAQ-latexwords.html">Changing the words <i>babel</i> uses</a> +<li><a href="FAQ-running-nos.html">Running equation, figure and table numbering</a> +<li><a href="FAQ-labelctr.html">Making labels from a counter</a> +<li><a href="FAQ-oddpage.html">Finding if you're on an odd or an even page</a> +<li><a href="FAQ-labelformat.html">How to change the format of labels</a> +<li><a href="FAQ-seccntfmt.html">Adjusting the presentation of section numbers</a> +<li><a href="FAQ-spaftend.html">There's a space added after my environment</a> +<li><a href="FAQ-labundef.html">Finding if a label is undefined</a> +<li><a href="FAQ-addtoreset.html">Master and slave counters</a> +</ul><h3>Things are Going Wrong...</h3><ul> +</ul><h4>Getting things to fit</h4><ul> +<li><a href="FAQ-enlarge.html">Enlarging TeX</a> +<li><a href="FAQ-usepictex.html">Why can't I load PiCTeX?</a> +</ul><h4>Making things stay where you want them</h4><ul> +<li><a href="FAQ-floats.html">Moving tables and figures in LaTeX</a> +<li><a href="FAQ-underline.html">Underlined text won't break</a> +<li><a href="FAQ-widows.html">Controlling widows and orphans</a> +</ul><h4>Things have "gone away"</h4><ul> +<li><a href="FAQ-oldfontnames.html">Old LaTeX font references such as <code>\</code><code>tenrm</code></a> +<li><a href="FAQ-missssymb.html">Missing symbol commands</a> +<li><a href="FAQ-msxy.html">Where are the <code>msx</code> and <code>msy</code> fonts?</a> +<li><a href="FAQ-amfonts.html">Where are the <code>am</code> fonts?</a> +</ul><h3>Why does it <em>do</em> that?</h3><ul> +</ul><h4>Common errors</h4><ul> +<li><a href="FAQ-crossref.html">LaTeX gets cross-references wrong</a> +<li><a href="FAQ-newlineargs.html">Start of line goes awry</a> +<li><a href="FAQ-verbwithin.html">Why doesn't <code>\</code><code>verb</code> work within ...?</a> +<li><a href="FAQ-noline.html">No line here to end</a> +<li><a href="FAQ-2colfltorder.html">Two-column float numbers out of order</a> +<li><a href="FAQ-tabacc.html">Accents misbehave in <code>tabbing</code></a> +<li><a href="FAQ-alreadydef.html">Package reports "command already defined"</a> +<li><a href="FAQ-zerochap.html">Why are my sections numbered 0.1 ...?</a> +<li><a href="FAQ-breaklinks.html">Link text doesn't break at end line</a> +<li><a href="FAQ-wrongpn.html">Page number is wrong at start of page</a> +</ul><h4>Common misunderstandings</h4><ul> +<li><a href="FAQ-include.html">What's going on in my <code>\</code><code>include</code> commands?</a> +<li><a href="FAQ-paraparam.html">Why does it ignore paragraph parameters?</a> +<li><a href="FAQ-casechange.html">Case-changing oddities</a> +<li><a href="FAQ-splitfoot.html">Why does LaTeX split footnotes across pages?</a> +<li><a href="FAQ-marginparside.html">Getting <code>\</code><code>marginpar</code> on the right side</a> +<li><a href="FAQ-misschar.html">Where have my characters gone?</a> +<li><a href="FAQ-rerun.html">"Rerun" messages won't go away</a> +<li><a href="FAQ-xspace.html">Commands gobble following space</a> +<li><a href="FAQ-overfull.html">(La)TeX makes overfull lines</a> +<li><a href="FAQ-exscale.html">Maths symbols don't scale up</a> +<li><a href="FAQ-linespread.html">Why doesn't <code>\</code><code>linespread</code> work?</a> +<li><a href="FAQ-baselinepar.html">Only one <code>\</code><code>baselineskip</code> per paragraph</a> +<li><a href="FAQ-tocloftwrong.html">Numbers too large in table of contents, etc.</a> +</ul><h4>Why shouldn't I?</h4><ul> +<li><a href="FAQ-t1enc.html">Why use <i>fontenc</i> rather than <i>t1enc</i>?</a> +<li><a href="FAQ-why-inp-font.html">Why bother with <i>inputenc</i> and <i>fontenc</i>?</a> +<li><a href="FAQ-eqnarray.html">Why not use <code>eqnarray</code>?</a> +<li><a href="FAQ-dolldoll.html">Why use <code>\</code><code>[</code> ...<code>\</code><code>]</code> in place of <code>$$</code> ...<code>$$</code>?</a> +<li><a href="FAQ-2letterfontcmd.html">What's wrong with <code>\</code><code>bf</code>, <code>\</code><code>it</code>, etc.?</a> +</ul><h3>The joy of TeX errors</h3><ul> +<li><a href="FAQ-erroradvice.html">How to approach errors</a> +<li><a href="FAQ-errstruct.html">The structure of TeX error messages</a> +<li><a href="FAQ-extrabrace.html">An extra '<code>}</code>'??</a> +<li><a href="FAQ-semanticnest.html">Capacity exceeded [semantic nest ...]</a> +<li><a href="FAQ-noroom.html">No room for a new '<em>thing</em>'</a> +<li><a href="FAQ-epsf.html"><code>epsf</code> gives up after a bit</a> +<li><a href="FAQ-badhyph.html">Improper <code>\</code><code>hyphenation</code> will be flushed</a> +<li><a href="FAQ-tmupfl.html">"Too many unprocessed floats"</a> +<li><a href="FAQ-atvert.html"><code>\</code><code>spacefactor</code> complaints</a> +<li><a href="FAQ-endingroup.html"><code>\</code><code>end</code> occurred inside a group</a> +<li><a href="FAQ-nonum.html">"Missing number, treated as zero"</a> +<li><a href="FAQ-typend.html">"Please type a command or say <code>\</code><code>end</code>"</a> +<li><a href="FAQ-unkgrfextn.html">"Unknown graphics extension"</a> +<li><a href="FAQ-nodollar.html">"Missing <code>$</code> inserted"</a> +<li><a href="FAQ-fontunavail.html">Warning: "Font shape ... not available"</a> +<li><a href="FAQ-buffovl.html">Unable to read an entire line</a> +<li><a href="FAQ-formatstymy.html">"Fatal format file error; I'm stymied"</a> +<li><a href="FAQ-nonpdfsp.html">Non-PDF special ignored!</a> +<li><a href="FAQ-8000.html">Mismatched mode ljfour and resolution 8000</a> +<li><a href="FAQ-toodeep.html">"Too deeply nested"</a> +<li><a href="FAQ-inputlev.html">Capacity exceeded - input levels</a> +<li><a href="FAQ-hyperdupdest.html">PDFTeX destination ... ignored</a> +<li><a href="FAQ-altabcr.html">Alignment tab changed to <code>\</code><code>cr</code></a> +<li><a href="FAQ-divzero.html">Graphics division by zero</a> +<li><a href="FAQ-missbegdoc.html">Missing <code>\</code><code>begin</code><code>{document}</code></a> +<li><a href="FAQ-normalszmiss.html"><code>\</code><code>normalsize</code> not defined</a> +<li><a href="FAQ-manymathalph.html">Too many math alphabets</a> +<li><a href="FAQ-ouparmd.html">Not in outer par mode</a> +<li><a href="FAQ-errmissitem.html">Perhaps a missing <code>\</code><code>item</code>?</a> +</ul><h3>Current TeX-related projects</h3><ul> +<li><a href="FAQ-LaTeX3.html">The LaTeX3 project</a> +<li><a href="FAQ-omega.html">The Omega project</a> +<li><a href="FAQ-NTS.html">The <i>NTS</i> project</a> +<li><a href="FAQ-pdftex.html">The PDFTeX project</a> +<li><a href="FAQ-mathml.html">Future WEB technologies and (La)TeX</a> +<li><a href="FAQ-textrace.html">Making outline fonts from Metafont</a> +<li><a href="FAQ-WYGexpts.html">The TeX document preparation environment</a> +<li><a href="FAQ-ant.html">The ANT typesetting system</a> +<li><a href="FAQ-aleph.html">The Aleph project</a> +<li><a href="FAQ-extex.html">The ExTeX project</a> +<li><a href="FAQ-xetex.html">The XeTeX project</a> +</ul><h3>You're still stuck?</h3><ul> +<li><a href="FAQ-noans.html">You don't understand the answer</a> +<li><a href="FAQ-newans.html">Submitting new material for the FAQ</a> +<li><a href="FAQ-latexbug.html">Reporting a LaTeX bug</a> +<li><a href="FAQ-bug.html">What to do if you find a bug</a> +</ul> + +<hr><address> + Maintenance of the + <a href="http://www.tex.ac.uk/faq">TeX FAQ</a> + is coordinated by Robin Fairbairns.<p> + + Comments, suggestions, or error reports? -- see + "<a href="FAQ-noans.html">Improving the FAQ</a>" or + "<a href="FAQ-newans.html">Extending the FAQ</a>". +<p> + This is FAQ version 3.14a, last modified on 2005/07/07. +</address> diff --git a/Master/texmf-doc/doc/english/FAQ-en/letterfaq.tex b/Master/texmf-doc/doc/english/FAQ-en/letterfaq.tex new file mode 100644 index 00000000000..541329bf6d0 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/letterfaq.tex @@ -0,0 +1,56 @@ +% This is the UK TeX FAQ +% +\documentclass{faq} +% +\setcounter{errorcontextlines}{999} +% +% read the first two definitions of faqbody.tex for the file version +% and date +\afterassignment\endinput\input faqbody +% +\typeout{The UK TeX FAQ, v\faqfileversion, date \faqfiledate} +% +% let's not be too fussy while we're developing... +\hfuzz10pt +\emergencystretch10pt +% +\begin{document} +\title{The \acro{UK} \TeX{} \acro{FAQ}\\ + Your \ifpdf\ref*{lastquestion}\else\protect\ref{lastquestion}\fi + \ Questions Answered\\ + version \faqfileversion, date \faqfiledate} +\author{Maintained by Robin Fairbairns} +\maketitle + +\centerline{\textsc{Note}} + +\begin{quotation}\small + This document is an updated and extended version of the \acro{FAQ} article + that was published as the December 1994 and 1995, and March 1999 + editions of the \acro{UK}\,\acro{TUG} magazine \BV{} (which weren't + formatted like this). + + The article is also available via the World Wide Web. +\end{quotation} + +\begin{multicols}{2} +\tableofcontents +\end{multicols} + +\Dings + +% label list for later processing +\labellist + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% load the CTAN references if necessary +\input{dirctan} +\input{filectan} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{multicols}{2} +\input{faqbody} +\end{multicols} + +\typeout{*** That makes \thequestion\space questions ***} +\end{document} diff --git a/Master/texmf-doc/doc/english/FAQ-en/locations.mk b/Master/texmf-doc/doc/english/FAQ-en/locations.mk new file mode 100644 index 00000000000..82d923fe8ac --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/locations.mk @@ -0,0 +1,8 @@ +# the locations of files that are targets of the Makefile rules + +WEB = "web site main source directory" +WEB_BETA = "web site beta source directory" +CGI_BIN = "web site CGI directory" +HOME_DIR = "where sources live" +CTAN_ROOT = "position of CTAN root on archive machine" +FTPDIR = "directory for off-archive FTP distribution" diff --git a/Master/texmf-doc/doc/english/FAQ-en/logotst.tex b/Master/texmf-doc/doc/english/FAQ-en/logotst.tex new file mode 100644 index 00000000000..5ac611a8623 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/logotst.tex @@ -0,0 +1,84 @@ +\documentclass{ukart} +\setcounter{errorcontextlines}{999} +\makeatletter +% +% Twee, in its wisdom, has a redefined LaTeX logo +% +%\DeclareRobustCommand{\LaTeX}{L\kern-.36em +% {\setbox0\hbox{T}% +% \vbox to\ht0{\hbox{$\m@th$% +% \csname S@\f@size\endcsname +% \fontsize\sf@size\z@ +% \math@fontsfalse\selectfont +% A}% +% \vss}% +% }% +% \kern-.15em +% \TeX} +% +% which sets the A in scripstyle jammed up to the top of the T; it +% also has the advantage that it's set in the same font as the +% surrounding text. However, the esteemed bbeeton says the logo looks +% "squidge awful" in italic text (I agree; and the same is true of its +% behaviour in slanted text) +% +% So here's a version that allows for the italic slant of the leading L +\DeclareRobustCommand{\latex}{L% + {\setbox0\hbox{T}% + \setbox\@tempboxa\hbox{$\m@th$% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \@tempdima\ht0 + \advance\@tempdima-\ht\@tempboxa + \@tempdima\strip@pt\fontdimen1\font\@tempdima + \advance\@tempdima-.36em + \kern\@tempdima + \vbox to\ht0{\box\@tempboxa + \vss}% + }% + \kern-.15em + \TeX} +% +% of course, we could modify this not to do all those awful sums when +% the font isn't slanted, but (perhaps) this isn't today's +% problem\dots +% +% Now for a few demonstrations of the effect achieved +\begin{document} +Demo with the modification of the current \LaTeX{} logo + +\begin{center} +\LARGE\begin{tabular}{l|ccc} +&\normalsize\sf roman&\normalsize\sf italic&\normalsize\sf slanted\\ +\hline +\normalsize\sf old & \LaTeX & \textit{\LaTeX} & \textsl{\LaTeX} \\ +\normalsize\sf new & \latex & \textit{\latex} & \textsl{\latex} \\ +\end{tabular} +\end{center} +% +% Here's something that does it with the `original' (Lamport's) +% definition. +% +% (In fact this is a bit of a cheat, since the last 2.09 had +% \reset@font\rm at the start, and of course, it got defined as a +% protected command in the LaTeX 2.09 fashion, but what the hell, eh?) +\def\LaTeX{L\kern-.36em\raise.3ex\hbox{\textsc{a}}\kern-.15em\TeX}% +\def\latex{\@tempdima.3ex + \@tempdima\strip@pt\fontdimen1\font\@tempdima + \advance\@tempdima-0.36em\relax + L\kern\@tempdima\raise.3ex\hbox{\textsc{a}}\kern-.15em\TeX}% +% +% and a demo of that +\par\noindent Demo with the modification of the original \LaTeX{} logo + +\begin{center} +\LARGE\begin{tabular}{l|ccc} +&\normalsize\sf roman&\normalsize\sf italic&\normalsize\sf slanted\\ +\hline +\normalsize\sf old & \LaTeX & \textit{\LaTeX} & \textsl{\LaTeX} \\ +\normalsize\sf new & \latex & \textit{\latex} & \textsl{\latex} \\ +\end{tabular} +\end{center} +\end{document} diff --git a/Master/texmf-doc/doc/english/FAQ-en/markup-syntax b/Master/texmf-doc/doc/english/FAQ-en/markup-syntax new file mode 100644 index 00000000000..4c2c2e7ff65 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/markup-syntax @@ -0,0 +1,215 @@ +Writing text for the TeX FAQ -- the requirements + +There are some ground rules for text for the FAQ which need to be +adhered to. Some of the rules relate to the perl program that's used +to create an HTML file of the FAQ from the TeX source, or to the +nature of the macros that Sebastian, Alan and I have written; others +relate to the way in which I try to manage change. Please remember +that we're attempting distributed authoring of a relatively small +document over a tight timescale; while I _can_ in principle work into +the night to put things right after a submission, my employers tend to +prefer me awake during the working day... + +Rules for presentation of text +------------------------------ + +1. Don't line wrap in macro calls. Ignore the fact that this can mean + very long lines. This restriction applies equally to the + []-surrounded optional arguments of macros (e.g., \item). + +2. Always put {} after `name' macros (such as \TeX{}). Do this + - even if you prefer \TeX\ to ensure the name's delimited + - even if the name's immediately followed by punctuation + +3. Don't change the shortvrb character from `|'. You will perhaps + note that various of the path/address-type commands are defined + with | as argument delimiter; if the definition of shortvrb is + changed, all of those commands, and all of the \CTANref commands + will fall in a neat little heap on the floor. + +Rules for managing the text +--------------------------- + +The first version of the FAQ was developed in a distributed fashion by +the members of the committee of UKTUG. Just now, it's under my (RF's) +sole control; if there were a clamour for other people to contribute, +I guess the thing to do _today_ would be to create a sourceforge +project. (Sourceforge, or anything like it, wasn't even a gleam in +anyone's eye back in 1994 when we were first discussing the FAQ.) + +Source of the text +------------------ + +The text currently resides in + +newfaq.tex The body of the text +filectan.tex Declarations of the locations of individual files on + CTAN archives +dirctan.tex Declarations of the directories on CTAN archives + +faq.sty The main package +texnames.sty An update of the file most recently edited by Nelson + Beebe + +This pre-production version of the text is printed (by default) in +Adobe Times Roman, etc. An alternative font may by used by setting +yourself up with a file faqfont.cfg that contains the commands that +should be used to define what fonts are needed. + +A faqfont.cfg which does nothing, and hence leaves LaTeX with its +default of cm* fonts, is available with the text; if you *want* the +faq printed in Times Roman, you should not transfer the file (or you +should delete it once you *have* transferred it). + +All these files are to be found in the CTAN distribution of the FAQ, +in usergrps/uktug/faq + +Markup commands +--------------- + +The faq is written in LaTeX. Commands to use are: + +\CTANdirectory{tag}{directory-path} +\CTANfile{tag}{file-path} + + These are used in dirctan.tex and filectan.tex, respectively. The + <tag> is used in the \CTANref command, and the <*-path> is is what + gets typeset in respect of a \CTANref (and what becomes the anchor + of an html link to retrieve the referenced thing). + +\CTANref{tag} (and the ctanrefs environment) + + make reference to a <tag> defined by a \CTANfile or \CTANdirectory + command; should usually appear in a ctanrefs environment at the end + of a question. Refer to the files with markup such as \Package, + \Class or \ProgName in the body of the question, and then say: + \begin{ctanrefs} + \item[blah.sty]\CTANref{blah} + \end{ctanrefs} + +\Question[label]{question-title} + + Set the title of a question, and (optionally) define a label for it + (in fact, an unusual sort of subsection command). The [label] is + (now) mandatory, and must be prefixed by "Q-" (as in + \Question[Q-newans]{Submitting new material for the FAQ}). + +\Qref[intro-text]{anchor-text}{label} + + Refer to a question. The <intro-text> is set before the reference, + and is "see question" by default. The <anchor-text> is used in the + html variant of the document as the anchor for jumping to the + labelled question (it's not used in the LaTeX processing). The + <label> is defined somewhere in the document as a \Question + command's optional argument + +\TUGboat{} <vol>(<number>) + + TUGboat reference (we have surprisingly many, quite apart from Seb's + adverts for 16(3) ;-). Really does have that syntax \TUGboat{} + 16(3), though as far as the exiciting translator is concerned, the + command ends at \TUGboat{} so it doesn't matter if it gets split as + I just did... + +Environment booklabel + + Is used to set lists of books; it uses \item in the same way that + the description environment does, but sets the label thus defined in + normal weight italic text from the current family + +\htmlignore ... \endhtmlignore + + Brackets around bits of text that are to be ignored by the html + generator + +Environment htmlversion + + Text to appear in HTML but not in the typeset versions of the FAQ. + (The body of the environment will be processed before appearing in + the HTML output, just the same as text for joint use.) + +\nothtml{text} + + Text not to appear in the HTML version + +\htmlonly{text} + + Text only to appear (after processing) in the HTML version + +\latexhtml{latex text}{HTML text} + + Typesets latex text, or processes HTML text, according to context + +\csx{name} + + A robust command to typeset a control sequence in typewriter. The + <name> should only have letters or (at most) others in it -- no + active characters, please... + +\cmdinvoke{cmd name}<arguments> + + Typesets a complete command invocation. The LaTeX macro will take + arbitrary sequences of optional and mandatory arguments, but the + HTML processor will (at present) only take + + \cmdinvoke{cmd}{mandatory} + \cmdinvoke{cmd}[optional]{mandatory} + \cmdinvoke{cmd}{mandatory1}{mandatory2} + +\checked{intials}{date} + + Records when an answer (or part of an answer) was checked, and by + whom. Currently typsets as nothing. + +\keywords{<stuff>} + + For labelling questions. Doesn't currently have any effect at all. + +\Email|<name>@<address>| +\FTP|<site-address>| +\File|<file-path>| +\path|<file-path>| +\Newsgroup|<usenet-group-name| +\URL{<protocol>://site/path} +\mailto|email@ddress| + + All these things typeset their argument in typewriter, but allowing + line-splitting at appropriate characters (using url.sty). The last + two (\URL and \mailto) become active in both the HTML and PDF + versions of the FAQ; \Email is for formatting a name (e.g., a finger + identifier) that the reader is _not_ supposed to mail. + +\Package|package name| (no .sty) +\Class|class name| (no .cls) +\ProgName|executable command name| +or... +\Package{...}, \Class{....}, \ProgName{...} + + Set the item in an appropriate fashion. _Please_ use these commands + wherever appropriate. + +Names, logos, etc., for use whenever needed (to be used just as +\name{}): + + \AllTeX [(La)TeX], \LaTeXe, \LaTeXo [LaTeX 2.09, with requisite + precautions about dealing with the undead], \MF, \MP [MetaPost], \BV + [Baskerville], \PDFTeX, \PDFLaTeX, \CONTeXT, \NTS, \eTeX, \Eplain, + \TeXsis, \YandY [the firm, whose name is a bit tricky in HTML], + \WYSIWYG, \dots, \ldots, \pounds, \arrowhyph [->, used in + descriptions of selections from menus, and looking better when + typeset], \textpercent, \textasciitilde + +Typesetting things, arguments in braces: + + \acro [for upper-case acronyms such as CTAN], \emph, \textit, + \textsl, \meta [as in doc.sty], \texttt, \thinspace, \ISBN + +Typesetting environments: + + quote, description, itemize, enumerate, verbatim +Other odds and ends: + + $\pi$, $...$, \$, \#, \ , \&, ~ [just produces a space] + +Robin Fairbairns +23 Oct 94 diff --git a/Master/texmf-doc/doc/english/FAQ-en/mflogo.sty b/Master/texmf-doc/doc/english/FAQ-en/mflogo.sty new file mode 100644 index 00000000000..f3f8ca02f40 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/mflogo.sty @@ -0,0 +1,31 @@ +%% +%% This is file `mflogo.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mflogo.dtx (with options: `package') +%% +%% Copyright (C) 1994,95 Ulrik Vieth +%% All rights reserved. +%% +%% This file is part of the mflogo package. +%% ---------------------------------------- +%% +%% This is a generated file. Permission is granted to customize the +%% declarations in this file to serve the needs of your installation. +%% However, no permission is granted to distribute a modified version +%% of this file under its original name. +%% +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesPackage{mflogo} + [1995/12/04 v1.5c LaTeX package for METAFONT and MetaPost logos] +\DeclareRobustCommand\logofamily{% + \not@math@alphabet\logofamily\relax + \fontencoding{U}\fontfamily{logo}\selectfont} +\DeclareTextFontCommand{\textlogo}{\logofamily} +\def\MF{\textlogo{META}\@dischyph\textlogo{FONT}\@} +\def\MP{\textlogo{META}\@dischyph\textlogo{POST}\@} +\endinput +%% +%% End of file `mflogo.sty'. diff --git a/Master/texmf-doc/doc/english/FAQ-en/newfaq.pdf b/Master/texmf-doc/doc/english/FAQ-en/newfaq.pdf Binary files differnew file mode 100644 index 00000000000..d98cb52952d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/newfaq.pdf diff --git a/Master/texmf-doc/doc/english/FAQ-en/newfaq.tex b/Master/texmf-doc/doc/english/FAQ-en/newfaq.tex new file mode 100644 index 00000000000..af77e8234bf --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/newfaq.tex @@ -0,0 +1,56 @@ +% This is the UK TeX FAQ +% +\documentclass[a4paper]{faq} +% +\setcounter{errorcontextlines}{999} +% +% read the first two definitions of faqbody.tex for the file version +% and date +\afterassignment\endinput\input faqbody +% +\typeout{The UK TeX FAQ, v\faqfileversion, date \faqfiledate} +% +% let's not be too fussy while we're developing... +\hfuzz10pt +\emergencystretch10pt +% +\begin{document} +\title{The \acro{UK} \TeX{} \acro{FAQ}\\ + Your \ifpdf\ref*{lastquestion}\else\protect\ref{lastquestion}\fi + \ Questions Answered\\ + version \faqfileversion, date \faqfiledate} +\author{Maintained by Robin Fairbairns} +\maketitle + +\centerline{\textsc{Note}} + +\begin{quotation}\small + This document is an updated and extended version of the \acro{FAQ} article + that was published as the December 1994 and 1995, and March 1999 + editions of the \acro{UK}\,\acro{TUG} magazine \BV{} (which weren't + formatted like this). + + The article is also available via the World Wide Web. +\end{quotation} + +\begin{multicols}{2} +\tableofcontents +\end{multicols} + +\Dings + +% label list for later processing +\labellist + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% load the CTAN references if necessary +\input{dirctan} +\input{filectan} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{multicols}{2} +\input{faqbody} +\end{multicols} + +\typeout{*** That makes \thequestion\space questions ***} +\end{document} diff --git a/Master/texmf-doc/doc/english/FAQ-en/newfaq.workers b/Master/texmf-doc/doc/english/FAQ-en/newfaq.workers new file mode 100644 index 00000000000..2781140734d --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/newfaq.workers @@ -0,0 +1,5 @@ +This file contains (will contain) a list of people working on the new +FAQ, and of the questions they're working on. + +Mail rf10@cam.ac.uk to book a question, thus avoiding wasted effort. + diff --git a/Master/texmf-doc/doc/english/FAQ-en/sanitize.pl b/Master/texmf-doc/doc/english/FAQ-en/sanitize.pl new file mode 100644 index 00000000000..7a2ed1ccf82 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/sanitize.pl @@ -0,0 +1,195 @@ +# $Id: sanitize.pl,v 1.11 2003/06/20 10:51:44 rf Exp rf $ + +# provides the sanitize_line function used by all texfaq2* files +# +# will not compile standing alone + +# Convert a LaTeX line to HTML: + +sub sanitize_line { + s"\&"\&\;"g; + s"\<"\<\;"g; + s"\>"\>\;"g; + if ($converting && !$ignoring) { + s"\\vspace\*\{[^\}]*\}""g; + s"``"\""g; + s"''"\""g; + s"^\s*$"<p>"; + s"\%.*""; + s"\\obracesymbol\{\}"\&lbrace\;"g; + s"\\cbracesymbol\{\}"\&rbrace\;"g; + s"\\\{"\&lbrace\;"g; + s"\\\}"\&rbrace\;"g; + s"\\ae\{\}"\æ\;"g; + s"\\AllTeX\{\}"(La)TeX"g; + s"\\twee\{\}"2e"g; + s"\\LaTeXe\{\}"LaTeX2e"g; + s"\\LaTeXo\{\}"LaTeX 2.09"g; + s"\\MF\{\}"Metafont"g; + s"\\MP\{\}"MetaPost"g; + s"\\BV\{\}"<i>Baskerville</i>"g; + s"\\TUGboat\{\}"<i>TUGboat</i>"g; + s"\\PDFTeX\{\}"PDFTeX"g; + s"\\PDFLaTeX\{\}"PDFLaTeX"g; + s"\\CONTeXT\{\}"ConTeXt"g; + s"\\NTS\{\}"<i>NTS</i>"g; + s"\\eTeX\{\}"e-TeX"g; + s"\\Eplain\{\}"Eplain"g; + s"\\TeXsis\{\}"TeXsis"g; + s"\\YandY\{\}"Y&Y"g; + s"\\WYSIWYG\{\}"WYSIWYG"g; + s"\\PS\{\}"PostScript"g; + s"\\dots\{\}"..."g; + s"\\ldots\{\}"..."g; + s"\\large""g; + s"\\pounds\{\}"£"g; + s"\\arrowhyph\{\}"-> "g; + s"\\protect""g; + s"\-\-\-"\-"g; + s"\-\-"\-"g; + s"\\(\w+)\{\}"$1"g; + s"\\\"a"\ä\;"g; + s"\\\"o"\ö\;"g; + s"\\\'e"\é\;"g; + s"\\\^e"\ê\;"g; + s"\\\'o"\ó\;"g; + s"\\ss"\ß\;"g; + s"`"'"g; + s"\\label\{[^\}]*\}""g; + s"\\acro\{([^\}]*)\}"$1"g; + s"\\ensuremath\{([^\}]*)\}"$1"g; + s"\\emph\{([^\}]*)\}"<em>$1</em>"g; + s"\\textit\{([^\}]*)\}"<em>$1</em>"g; + s"\\textsl\{([^\}]*)\}"<em>$1</em>"g; + s"\\meta\{([^\}]*)\}"<\;<em>$1</em>>\;"g; + s"\\texttt\{([^\}]*)\}"<code>$1</code>"g; + s"\\textbf\{([^\}]*)\}"<b>$1</b>"g; + s"\\csx\{([^\}]*)\}"<code>\\$1</code>"g; + s"\\parens\{([^\}]*)\}"$1"g; + s"\\oparen\{\}""g; + s"\\cparen\{\}""g; + s"\~"\\textasciitilde{}"g if s"\\href\{([^\}]*)\}\{([^\}]*)\}"<a href=\"$1\">$2</a>"; + s"\\Q\{([^\}]*)\}""g; + s"\\checked\{([^\}]*)\}\{([^\}]*)\}""g; + s"\\footnote\{([^\}]*)\}""g; + s"\\thinspace\{\}" "g; + s"\\section\{([^\}]*)\}""g; + s"\\subsection\{([^\}]*)\}""g; + s"\$\\pi\$"<i>pi</i>"g; + s"\$([^\$]*)\$"<i>$1</i>"g; + s"\\ISBN\{([^\}]*)\}"ISBN $1"g; + s"\\ProgName\|([^\|]*)\|"<i>$1</i>"g; + s"\\ProgName\{([^\}]*)\}"<i>$1</i>"g; + s"\\FontName\|([^\|]*)\|"<i>$1</i>"g; + s"\\FontName\{([^\}]*)\}"<i>$1</i>"g; + s"\\Package\|([^\|]*)\|"<i>$1</i>"g; + s"\\Package\{([^\}]*)\}"<i>$1</i>"g; + s"\\Class\|([^\|]*)\|"<i>$1</i>"g; + s"\\Class\{([^\}]*)\}"<i>$1</i>"g; + s"\\Email\|([^\|]*)\|"<i>$1</i>"g; + s"\\mailto\|([^\|]*)\|"<a href\=\"mailto:$1\"><i>$1</i></a>"g; + s"\\File\|([^\|]*)\|"<i>$1</i>"g; + s"\\Newsgroup\|([^\|]*)\|"<i>$1</i>"g; + s"\~"\\textasciitilde{}"g if s"\\URL\{([^\}]*)\}"\<a href\=\"$1\"\>$1\<\/a\>"g; + s"\\FTP\|([^\|]*)\|"\<a href\=\"ftp\:\/\/$1\/\"\>$1\<\/a\>"g; + s"\\CTAN\{([^\|]*)\}"\<a href\=\"ftp\://$arch/$root/$1\/\"\>$1\<\/a\>"g; + s"\\Qref\[([^\]]*)\]\{([^\}]*)\}\{([^\}]*)\}"<a href\=\"$qref{$3}\">$2</a>"g; + s"\\Qref\{([^\}]*)\}\{([^\}]*)\}"<a href\=\"$qref{$2}\">$1</a>"g; + s"\\cmdinvoke\{([^\}]*)\}\{([^\}]*)\}\{([^\}]*)\}\{([^\}]*)\}\{([^\}]*)\}"<code>\\$1\{$2\}\{$3\}\{$4\}\{$5\}</code>"g; + s"\\cmdinvoke\{([^\}]*)\}\[([^\]]*)\]\{([^\}]*)\}"<code>\\$1\[$2\]\{$3\}</code>"g; + s"\\cmdinvoke\{([^\}]*)\}\{([^\}]*)\}\[([^\]]*)\]"<code>\\$1\{$2\}\[$3\]</code>"g; + s"\\cmdinvoke\{([^\}]*)\}\{([^\}]*)\}\{([^\}]*)\}"<code>\\$1\{$2\}\{$3\}</code>"g; + s"\\cmdinvoke\{([^\}]*)\}\{([^\}]*)\}"<code>\\$1\{$2\}</code>"g; + s"\\cmdinvoke\{([^\}]*)\}\[([^\]]*)\]"<code>\\$1\[$2\]</code>"g; + s"\\cmdinvoke\*\{([^\}]*)\}\{([^\}]*)\}\{([^\}]*)\}"<code>\\$1\{</code><em>$2</em><code>\}\{</code><em>$3</em><code>\}</code>"g; + s"\\environment\{([^\}]*)\}"<code>$1</code>"g; + s"\\pkgoption\{([^\}]*)\}"<code>$1</code>"g; + s"\\path\|([^\|]*)\|"<i>$1</i>"g; + s"\\begin\{htmlversion\}.*\n""g; + s"\\end\{htmlversion\}.*\n""g; + s"\\begin\{quote\}"<blockquote>"g; + s"\\end\{quote\}"</blockquote>"g; + s"\\begin\{description\}"<dl>"g; + s"\\end\{description\}"</dl>"g; + s"\\begin\{booklist\}"<dl>"g; + s"\\end\{booklist\}"</dl>"g; + s"\\begin\{proglist\}"<dl>"g; + s"\\end\{proglist\}"</dl>"g; + s"\\begin\{itemize\}"<ul>"g; + s"\\end\{itemize\}"</ul>"g; + s"\\begin\{enumerate\}"<ol>"g; + s"\\end\{enumerate\}"</ol>"g; + s"\\item\s*\[\\normalfont\{\}([^\]]*)\]"<dt>$1<dd>"g; + s"\\item\s*\[([^\]]*)\]"<dt>$itemset$1$enditemset<dd>"g; + s"\\item"<li>"g; + s"\\\\(\[[^\]]*\])?"<br>"g; + s"\|([^\|]+)\|"<code>$1</code>"g; + s"\\\_"\_"g; + s"\\textpercent"\%"g; # can't have \% in source... + s"\\\$"\$"g; + s"\\\#"\#"g; + s"\\ " "g; + s"\\\&"\&"g; + s"\\\@""g; + s"\\\;" "g; + s"\\\," "g; + s"\~" "g; + s"\\nobreakspace" "g; + s"\\textasciitilde"\~"g; + s"\\textbar"\|"g; + s"\\cs\<code\>"<code>\\"g; + s"\&lbrace\;"\{"; + s"\&rbrace\;"\}"; + s"\\symbol\{([^\}]*)\}"$SymbolChar{$1}"g; + s"\{\}""g; + s"\\keywords\{([^\}]*)\}"<!-- $1 -->"g; + s"\\relax""g; + + s"\\hphantom\{[^\}]*\}""g; + s"\\nothtml\{[^\}]*\}""g; + s"\\latexhtml\{[^\}]*\}\{([^\}]*)\}"$1"g; + s"\\htmlonly\{([^\}]*)\}"$1"g; + } + if ( s"\\begin\{ctanrefs\}"<dl>"g ) { + $itemset = "<tt><i>"; + $enditemset = "</i></tt>"; + } + if ( s"\\end\{ctanrefs\}"</dl>"g ) { + $itemset = ""; + $enditemset = ""; + } + + while ( /\\CTANref\{([^\}]*)\}/ ) { + my $repl=generate_CTAN_ref("$1"); + s/\\CTANref\{([^\}]*)\}/$repl/; + } + + $converting = 0 if s"\\begin\{verbatim\}"<pre>"g; + $converting = 1 if s"\\end\{verbatim\}"</pre>"g; + $ignoring++ if s"\\htmlignore""g; + $ignoring-- if s"\\endhtmlignore""g; + $ignoring++ if s"\\begin\{comment\}""g; + $ignoring-- if s"\\end\{comment\}""g; + $ignoring++ if s"\\begin\{footnoteenv\}""g; + $ignoring-- if s"\\end\{footnoteenv\}""g; + $_ = "" if $ignoring; +} + +sub generate_CTAN_ref { + if ( $ctanref_plus{$1} > 0 ) { + $ret = "\<a href\=\"$proto_1://$arch_root$ctanref{$1}"; + $ret .= "$fmt_1\"\>$ctanref{$1}\<\/a\>"; + $ret .= " (\<a href\=\"$proto_2://$arch_root$ctanref{$1}$fmt_2\"\>$fmt_2_name\<\/a\>"; + $ret .= ", \<a href\=\"$proto_3://$host_d/$this_root/$ctanref{$1}$fmt_3\"\>$fmt_3_name\<\/a\>)"; + } elsif ( $ctanref_plus{$1} = 0 ) { + $ret = "\<a href\=\"$proto_d://$host_d/$this_root/$ctanref{$1}\"\>" . + "$ctanref{$1}\<\/a\>"; + } else { + $ret = "\<a href\=\"$proto_f://$arch_root$ctanref{$1}\"\>" . + "$ctanref{$1}\<\/a\>"; + } + + $ret; +} + +1; diff --git a/Master/texmf-doc/doc/english/FAQ-en/stupid_names.sty b/Master/texmf-doc/doc/english/FAQ-en/stupid_names.sty new file mode 100644 index 00000000000..c3cad7a0249 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/stupid_names.sty @@ -0,0 +1,225 @@ +% a package derived from nelson beebe's texnames.sty; the name +% +\ProvidesPackage{stupid_names}[2004/02/26 v0.00001] +% +% This has a chance of working in different styles and sizes, although +% it's not perfect. If \sc actually selects a caps-and-small caps font, +% we want to use lowercase letters (to get the small caps). But if \sc +% selects a smaller point size, we want to use uppercase letters. +% \uppercasesc is called on every letter we typeset in \sc, so both +% forms can be accommodated. +\ifx\sc\undefined + \def\sc{% + % If there is no \scriptfont for the current family, use a fixed + % font. What more can we do? + \expandafter\ifx\the\scriptfont\fam\nullfont + \font\temp = cmr7 \temp + \else + \the\scriptfont\fam + \fi + \def\uppercasesc{\char\uccode`}% + }% +\fi +\ifx\uppercasesc\undefined + \let\uppercasesc = \relax +\fi +% +% In the following, we first give the ``official'' definition, +% then follow it with spelling variants. Alternate definitions +% are discarded in favor of the official one. Each family is +% separated by a line like the following one. +% +%======================================================================= +% +% Only change from plain.tex is the \spacefactor assignment (suggested +% by Phil Taylor), so that \TeX at the end of a sentence isn't treated +% as an abbreviation. +% +\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\spacefactor1000 }% +% +%======================================================================= +% From the AMS tex/ams/amslatex/fontsel/nfssinst.tex file: +% hacked by RF 1994/03/31 +\ifx\mathcal\undefined + \def\mathcal#1{{\cal #1}} +\fi +\ifx\AmS\undefined + \def\AmS{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox + {$\mathcal{M}$}\kern-.125em$\mathcal{S}$} +\fi +\ifx\AMS\undefined \let\AMS=\AmS \fi +\ifx\AmSLaTeX\undefined + \def\AmSLaTeX{\AmS-\LaTeX} +\fi +\ifx\AMSLaTeX\undefined \let\AMSLaTeX=\AmSLaTeX \fi +%======================================================================= +% +% Mike Spivak's amstex/amstex.tex 1.1d [26-Aug-1988] has +% \def\AmSTeX{{\textfontii A}\kern-.1667em\lower.5ex\hbox +% {\textfontii M}\kern-.125em{\textfontii S}-\TeX} +% and 2.1 [05-Apr-1991] has an equivalent definition. +% AmSTeX's \textfontii is exactly the same as \cal, which +% all TeX variants understand. +% +\ifx\AmSTeX\undefined + \def\AmSTeX{\AmS-\TeX}% +\fi +% +% Leslie Lamport's latex/tmanual.tex [10-Jul-1984] (an early +% draft of the book) defines it in uppercase with the standard +% definition. +\ifx\AMSTEX\undefined \let\AMSTEX=\AmSTeX \fi +% +% Barbara Beeton's latex/deproc.sty [24-Apr-1986] and inputs/tugbot.sty +% [11-Jan-1988] uses this spelling, but the definition +% \leavevmode\hbox{$\mathcal{A}\kern-.2em\lower.376ex \hbox{$\mathcal{ +% M}$}\kern-.2em\mathcal{S}$-\TeX} +\ifx\AMSTeX\undefined \let\AMSTeX=\AmSTeX \fi +% +%======================================================================= +% +% The definitions of \BibTeX and \SLiTeX in Leslie Lamport's +% latex/local.tex lower the E by 0.7ex, while \TeX in plain.tex lowers +% it by 0.5ex. Oren Patashnik's bibtex/btxdoc.tex and bibtex/btxhak.tex +% [08-Feb-1988] and bibtex/bibtex.web 0.99c [xx-Feb-1988] use this same +% name and definition, but Oren said using \TeX here is ok. (Curiously, +% LaTeX itself does not define macros for any TeXware except LaTeX and +% TeX!) +\ifx\BibTeX\undefined + \ifx\textsc\undefined + \def\BibTeX{B{\sc \uppercasesc i\kern-.025em \uppercasesc b}\kern-.08em + \TeX}% + \else + \def\BibTeX{\textsc{Bib}\kern-.08em + \TeX}% + \fi +\fi +% +% Leslie Lamport uses this spelling in latex.tex, but not as a +% macro. We include it for consistency with AMSTeX. +\ifx\BIBTeX\undefined \let\BIBTeX=\BibTeX \fi +% +% Leslie Lamport's latex/slides.tex [05-Jun-1984], +% latex/tmanual.tex [10-Jul-1984] (an early draft of the book), +% and latex/lerrata.tex [23-Jul-1985] have this spelling, but the +% definition BIB\kern-.1em\TeX. +\ifx\BIBTEX\undefined \let\BIBTEX=\BibTeX \fi +% +%======================================================================= +% +% From tugboat.com 1.08 [24-Oct-1990]. +\ifx\LAMSTeX\undefined + \def\LAMSTeX{L\raise.42ex\hbox{\kern-.3em\the\scriptfont2 A}% + \kern-.2em\lower.376ex\hbox{\the\textfont2 M}% + \kern-.125em {\the\textfont2 S}-\TeX}% +\fi +% +\ifx\LamSTeX\undefined \let\LamSTeX=\LAMSTeX \fi +% +% This variant seems likely to appear: +\ifx\LAmSTeX\undefined \let\LAmSTeX=\LAMSTeX \fi +% +%======================================================================= +% +% The definition from latex.tex (LATEX VERSION 2.09 <14 January 1991>) +% and bibtex.web 0.99c [xx-Feb-1988] lowers the E slightly more than +% \TeX, but consistency seems more desirable. See comments at \BibTeX. +% Different definitions are given by latex/deproc.sty [24-Apr-1986], +% amstex/man.sty [15-Dec-1986] inputs/tugbot.sty [11-Jan-1988], and +% latex/tugboat.com 1.08 [24-Oct-1990]. +% +% note: this definition doesn't have a variant based on \textsc, since +% anything that's LaTeX2e-compatible ought to have it anyway... +% +\ifx\LaTeX\undefined + \def\LaTeX{L\kern-.36em\raise.3ex\hbox{\sc \uppercasesc a}\kern-.15em\TeX}% +\fi +% +% latex/slides.tex [05-Jun-1984] and latex/lerrata.tex [23-Jul-1985] +% have this spelling, but different definitions +\ifx\LATEX\undefined \let\LATEX=\LaTeX \fi +% +% LaTeX 2e `standard' logo (euuccchhhh!) +\ifx\LaTeXe\undefined + \def\LaTeXe{\LaTeX\kern.15em 2${}_{\textstyle\varepsilon}$} +\fi +% +% and a corresponding thing for LaTeX _explicitly_ 2.09 +% +\ifx\LaTeXo\undefined + \def\LaTeXo{\LaTeX\kern.15em 2.09} +\fi +% +%======================================================================= +% +% Don Knuth's mf.web 2.7 [xx-Sep-1990] and Barbara Beeton's +% latex/deproc.sty [24-Apr-1986] use an equivalent of this definition. +% The font is variously named \logo, \manfnt, and \mf. plain.tex +% preloads \manfnt. manfnt has the letters A, E, F, M, N, O, T in +% various sizes plus extra symbols for Don Knuth's books Computers and +% Typesetting, and Concrete Mathematics, while logo10 has only those +% letters in one size. AmSTeX uses \logo in amsppt.sty and imappt.sty, +% so we should avoid it, and tugboat.com uses \mf for {\smc Metafont}. +% We therefore use \manfnt here, defining it if necessary. QUESTION: +% should we use manfnt, or logo10? +\ifx\MF\undefined + \ifx\manfnt\undefined + \font\manfnt=logo10 + \fi + \ifx\manfntsl\undefined + \font\manfntsl=logosl10 + \fi + \def\MF{{\ifdim\fontdimen1\font>0pt \let\manfnt = \manfntsl \fi + {\manfnt META}\-{\manfnt FONT}}\spacefactor1000 }% +\fi +% +% I cannot find any `official' uses of this alternate, but it +% seems likely that people will use it. +\ifx\METAFONT\undefined \let\METAFONT=\MF \fi +% +%======================================================================= +% +% Leslie Lamport's latex/slides.tex [05-Jun-1984]. His +% latex/lerrata.tex [23-Jul-1985] and latex/tmanual.tex +% [10-Jul-1984] (an early draft of the book) define it as +% SLI\TeX! The LaTeX User's Guide and Reference Manual (1986) +% appears to use small caps, and possibly kerning, for Sli. +% I need to ask Leslie to suggest a preferred definition. +\ifx\SLITEX\undefined + \ifx\textsc\undefined + \def\SLITEX{S\kern-.065em L\kern-.18em\raise.32ex\hbox{\textsc{i}}% + \kern-.03em\TeX}% + \else + \def\SLITEX{S\kern-.065em L\kern-.18em\raise.32ex\hbox{i}% + \kern-.03em\TeX}% + \fi +\fi +% +% latex/local.tex (sample Local Guide) [27-Oct-1988] uses +% this name, but defines it as +% {\rm S\kern-.06em{\sc l\kern-.035emi}\kern-.06em T\kern +% -.1667em\lower.7ex\hbox{E}\kern-.125emX} +% with an extra-low E, and kerned Sli in small caps. Is this +% what the LaTeX User's Guide and Reference Manual (1986) used? +\ifx\SLiTeX\undefined \let\SLiTeX=\SLITEX \fi +% +% latex/slitex.tex [08-Jun-1988] uses SliTeX in typeouts, +% but not as a macro -- what a way to confuse the user. +\ifx\SliTeX\undefined \let\SliTeX=\SLITEX \fi +% +% I cannot find a use of this one, but it seems a likely +% candidate anyway, and is consistent with AMSTeX and BIBTeX. +\ifx\SLITeX\undefined \let\SLITeX=\SLITEX \fi +% +%======================================================================= +% +% from pictex.tex: +\ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi +\ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +% +% from fantasy-land: +\ifx\VorTeX\undefined \def\VorTeX{V\kern-2.7pt\lower.5ex\hbox{O\kern-1.4pt R}% + \kern-2.6ptT\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX} \fi +% +\endinput +%=========================[End of texnames.sty]========================= diff --git a/Master/texmf-doc/doc/english/FAQ-en/texfaq2file b/Master/texmf-doc/doc/english/FAQ-en/texfaq2file new file mode 100644 index 00000000000..af50d6fdffc --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/texfaq2file @@ -0,0 +1,297 @@ +#!/usr/bin/perl +# +# ======================================================================== +# @perl-file{ +# author = "Alan Jeffrey", +# version = "0.19", +# date = "15 January 1996", +# time = "12:26:55 GMT", +# filename = "texfaq2html", +# address = "School of Cognitive and Computing Sciences +# University of Sussex +# Brighton BN1 9QH +# UK", +# FAX = "+44 1273 671320" +# email = "alanje@cogs.sussex.ac.uk", +# codetable = "ISO/ASCII", +# keywords = "LaTeX FAQ HTML", +# supported = "yes", +# abstract = "This perl script converts the UKTUG TeX FAQ +# LaTeX source document into HTML, on the fly." +# package = "stands alone", +# dependencies = "faqbody.tex, newfaq.aux, dirctan.tex, +# filectan,tex", +# } +# ======================================================================== + +# A script to provide a searchable WWW interface to the the UKTUG TeX +# FAQ file. +# +# The script takes parameters in the form of the QUERY_STRING environment +# variable. + +# Copyright 1994 Alan Jeffrey +# Maintenance, since 1997, Robin Fairbairns + +require "sanitize.pl"; + +# The site-specific stuff: + +$default_web = "www.tex.ac.uk"; +$href_script="http://$default_web/cgi-bin/texfaq2html"; +$home = "$ENV{FAQ_HOME}" || "/home/rf/tex/faq"; +$texfaq = "faqbody.tex"; +$auxfaq = "newfaq.aux"; +$ctandir = "dirctan.tex"; +$ctanfiles = "filectan.tex"; +$archive_list = "archive.list"; + +# derived: + +$faqhtml = $home . "/html"; + +# defaults; these have to be allowed by the $archive_list file + +$default_archive = "cam.ctan.org"; +$fmt_1 = ".tar.gz"; +$fmt_2 = ".zip"; +$fmt_2_name = "zip"; +$fmt_3 = "/"; +$fmt_3_name = "browse"; + +# protocols for transferring files, browsing directories +$proto_f = "ftp"; +$host_f = $default_archive; +$proto_d = "http"; +$host_d = $default_web; + +$proto_1 = $proto_2 = $proto_f; +$host_1 = $host_2 = $host_f; +$proto_3 = $proto_d; +$host_3 = $host_d; + +# table of symbols we believe in +%SymbolChar = ( + 92 => "\\", + 123 => "\{", + 125 => "\}" +); + +# This script produces HTML, but we're sending the stuff to file +# so we needn't tell anyone +# +# print ("Content-type: text/html\n\n"); + +# By default, we convert LaTeX to HTML. + +$converting = 1; +$ignoring = 0; +$sectioning = 0; + +# two things used in conversion of \item[ ] + +$itemset = ""; +$enditemset = ""; + +# Get the list of CTAN directories: + +open (CTANDIR, "$home/$ctandir") + || &oh_dear ("Couldn't open $ctandir"); + +while (<CTANDIR>) { + if ( /\\CTANdirectory\{([^\}]*)\}\{([^\}]*)\}/ ) { + $ctanref{$1} = "$2"; + $ctanref_plus{$1} = 1; + } elsif ( /\\CTANdirectory\*\{([^\}]*)\}\{([^\}]*)\}/ ) { + $ctanref{$1} = "$2/"; + $ctanref_plus{$1} = 0; + } +} + +# Get the list of CTAN files + +open (CTANFILES, "$home/$ctanfiles") + || &oh_dear ("Couldn't open $ctanfiles"); + +while (<CTANFILES>) { + + if ( /\\CTANfile\{([^\}]*)\}\{([^\}]*)\}/ ) { + $ctanref{$1} = "$2"; + $ctanref_plus{$1} = -1; + } +} + +# Get the list of allowable archives + +open (ARCHIVE_LIST, "$home/$archive_list") + || &oh_dear ("Couldn't open $archive_list"); + +while (<ARCHIVE_LIST>) { + chop; + ($archive, $root_dir) = split(/\s+/, $_, 2); + $archive_root{$archive} = $root_dir; +} +unless ( $this_root = $archive_root{$default_archive} ) { + &oh_dear("Archive $default_archive isn't in my list") } +$arch_root = "$default_archive/$this_root/"; + +# Get the Qrefs: + +open (AUXFAQ, "$home/$auxfaq") + || &oh_dear ("Couldn't open $auxfaq"); + + +while (<AUXFAQ>) { + if (/\\newlabel\{([^\}]*)\}\{\{([^\}]*)\}/) { + next if ( !( ($this_Qlabel = $1) =~ /^Q-/ ) ); + $this_label = substr $this_Qlabel, 1; + $qref{$this_Qlabel} = "FAQ$this_label.html"; + } +} + +# Open the FAQ file: + +open (TEXFAQ, "$home/$texfaq") + || &oh_dear ("Couldn't open $texfaq"); + +# Run through to the introduction, grabbing useful info. + +while (<TEXFAQ>) { + last if /\\section\{Introduction\}/; + $fileversion=$1 if /\\def\\faqfileversion\{([^\}]*)\}/; + $filedate=$1 if /\\def\\faqfiledate\{([^\}]*)\}/; +} + +# open main html file + +open (FAQ, ">$faqhtml/index.html") || + oh_dear ("couldn't open output file $faqhtml/index.html"); + +printf FAQ (" +<html><head> +<title>TeX Frequently Asked Questions</title> +</head><body> +<h1 align=\"center\">Welcome to the UK List of<br> + TeX Frequently Asked Questions</h1> +"); + +# Blast out the introduction until we get to the first section. + +print FAQ "<h2>Introduction</h2>\n"; +while (<TEXFAQ>) { + last if /\\section\{([^\}]*)\}/; + &sanitize_line; + print FAQ; +} + +# start the index of questions ($_ still left over from last read from file) +/\\section\{([^\}]*)\}/; +$_ = $1; +&sanitize_line; +print FAQ "<h3>$_</h3><ul>\n"; + +# first pass, we have a file open by default +$faq_file_open = 1; + +while ( $faq_file_open ) { + + # no question yet open + $qfile_open = 0; + + while (<TEXFAQ>) { + if ($converting) { + if ( /^\s*\\section\{(.*)\}\s*$/ ) { + $_=$1; + &sanitize_line; + print FAQ "</ul><h3>$_</h3><ul>\n"; + $_=""; + } elsif ( /^\s*\\subsection\{(.*)\}\s*$/ ) { + $_=$1; + &sanitize_line; + print FAQ "</ul><h4>$_</h4><ul>\n"; + $_=""; + } + } + + &sanitize_line; + if (/^\s*\\Question\[([^]]*)\]\{(.*)\}\s*$/) { + $qnum++; + $next_qlabel = substr $1, 2; + $entry = "<li><a href=\"FAQ-$next_qlabel.html\">$2</a>\n"; + print FAQ $entry; + if ($qfile_open) { + print QFILE "<p>This question on the Web: ", + "<a href=\"http://www.tex.ac.uk/cgi-bin/texfaq2html?label=", + $qlabel,"\">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=", + $qlabel,"</a>\n"; + print QFILE "</body>\n"; + close QFILE; + } + $qlabel = $next_qlabel; + open (QFILE, ">$faqhtml/FAQ-$qlabel.html") || + oh_dear ("couldn't open file for question $qnum"); + $qfile_open=1; + printf QFILE ("<head> +<title>UK TeX FAQ -- question label $qlabel</title> +</head><body> +<h3>$2</h3> +"); + } else { + if ($qfile_open) { print QFILE; } + } + } + + if ($qfile_open) { + print QFILE "</body>\n"; + close QFILE; + } + + # now: are there any other file names in ARGV? + if ( $#ARGV >= 0 ) { + close TEXFAQ; + $next_file = $ARGV[0]; + open (TEXFAQ, "$home/$next_file") || + oh_dear ("Couldn't open $home/$next_file"); + shift; + } else { + $faq_file_open = 0; + } +} + +# finish off the index.html file listing all questions +print FAQ "</ul>\n"; + +# report number of questions processed + print "$qnum questions processed\n"; + +# An error report: + +sub oh_dear { + print $_[0], "\n"; + die $_; +} + + +# Print a tail. + +printf FAQ (" +<hr><address> + Maintenance of the + <a href=\"http://www.tex.ac.uk/faq\">TeX FAQ</a> + is coordinated by Robin Fairbairns.<p> +"); + +$qref_noans=$qref{"Q-noans"}; +$qref_newans=$qref{"Q-newans"}; + +printf FAQ (" + Comments, suggestions, or error reports? -- see + \"<a href=\"%s\">Improving the FAQ</a>\" or + \"<a href=\"%s\">Extending the FAQ</a>\". +<p> + This is FAQ version $fileversion, last modified on $filedate. +</address> +</body></html> +", $qref_noans, $qref_newans); + +# That's it! diff --git a/Master/texmf-doc/doc/english/FAQ-en/texfaq2html b/Master/texmf-doc/doc/english/FAQ-en/texfaq2html new file mode 100644 index 00000000000..f8e2f5d7181 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/texfaq2html @@ -0,0 +1,434 @@ +#!/usr/bin/perl +# +# ======================================================================== +# @perl-file{ +# author = "Alan Jeffrey", +# version = "0.19", +# date = "15 January 1996", +# time = "12:26:55 GMT", +# filename = "texfaq2html", +# address = "School of Cognitive and Computing Sciences +# University of Sussex +# Brighton BN1 9QH +# UK", +# FAX = "+44 1273 671320" +# email = "alanje@cogs.sussex.ac.uk", +# codetable = "ISO/ASCII", +# keywords = "LaTeX FAQ HTML", +# supported = "yes", +# abstract = "This perl script converts the UKTUG TeX FAQ +# LaTeX source document into HTML, on the fly." +# package = "stands alone", +# dependencies = "faqbody.tex, newfaq.aux, dirctan.tex, +# filectan,tex", +# } +# ======================================================================== + +# A script to provide a searchable WWW interface to the the UKTUG TeX +# FAQ file. +# +# The script takes parameters in the form of the QUERY_STRING environment +# variable. + +# Copyright 1994 Alan Jeffrey +# Maintenance, since 1997, Robin Fairbairns + +require "sanitize.pl"; + +# The site-specific stuff: + +$default_web = "www.tex.ac.uk"; +$href_script="http://$default_web/cgi-bin/texfaq2html"; +$home = "$ENV{FAQ_HOME}" || "/anfs/www/VH-tex/faq-source"; +$texfaq = "faqbody.tex"; +$auxfaq = "newfaq.aux"; +$ctandir = "dirctan.tex"; +$ctanfiles = "filectan.tex"; +$archive_list = "archive.list"; + +# defaults; these have to be allowed by the $archive_list file + +$default_archive = "cam.ctan.org"; +$fmt_1 = ".tar.gz"; +$fmt_2 = ".zip"; +$fmt_2_name = "zip"; +$fmt_3 = "/"; +$fmt_3_name = "browse"; + +# protocols for transferring files, browsing directories +$proto_f = "ftp"; +$host_f = $default_archive; +$proto_d = "http"; +$host_d = $default_web; + +$proto_1 = $proto_2 = $proto_f; +$host_1 = $host_2 = $host_f; +$proto_3 = $proto_d; +$host_3 = $host_d; + +# table of symbols we believe in +%SymbolChar = ( + 92 => "\\", + 123 => "\{", + 125 => "\}" +); + +# This script produces HTML: + +print ("Content-type: text/html\n\n"); + +# Parse the arguments, and substitute hex(nn) for %nn: + +$_=$ENV{QUERY_STRING}; + +while (/(\b\w*)\=([^\&]*)/g) { + ($key,$val)=($1,$2); + $val =~ s/\+/ /g; + $val =~ s/\%(\w\w)/sprintf("%c",hex($&))/eg; + $key =~ s/^archive$/a/; + $keys{$key} = $val; +} + +$original_keyword = $keys{'keyword'}; +$original_keyword =~ s/ /\+/g; +$keyword = $keys{'keyword'}; +$keyword =~ s/\+/ /g; +$introduction = $keys{'introduction'}; +$question = $keys{'question'}; +$label = $keys{'label'}; + +if ( $arch = $keys{'a'} ) { + $got_arch = 1; + $xtra_k = '&a=' . $arch } +else { + $arch = $default_archive } + +grep ($question{$_}=1, split(/\s+/,$question)); +grep ($label{"Q-$_"}=1, split(/\s+/,$label)); + +# By default, we convert LaTeX to HTML. + +$converting = 1; +$ignoring = 0; +$sectioning = 0; + +# two things used in conversion of \item[ ] + +$itemset = ""; +$enditemset = ""; + +# Get the list of CTAN directories: + +open (CTANDIR, "$home/$ctandir") + || &oh_dear ("Couldn't open $ctandir"); + +while (<CTANDIR>) { + if ( /\\CTANdirectory\{([^\}]*)\}\{([^\}]*)\}/ ) { + $ctanref{$1} = "$2"; + $ctanref_plus{$1} = 1; + } elsif ( /\\CTANdirectory\*\{([^\}]*)\}\{([^\}]*)\}/ ) { + $ctanref{$1} = "$2/"; + $ctanref_plus{$1} = 0; + } +} + +# Get the list of CTAN files + +open (CTANFILES, "$home/$ctanfiles") + || &oh_dear ("Couldn't open $ctanfiles"); + +while (<CTANFILES>) { + + if ( /\\CTANfile\{([^\}]*)\}\{([^\}]*)\}/ ) { + $ctanref{$1} = "$2"; + $ctanref_plus{$1} = -1; + } +} + +# Get the list of allowable archives + +open (ARCHIVE_LIST, "$home/$archive_list") + || &oh_dear ("Couldn't open $archive_list"); + +while (<ARCHIVE_LIST>) { + chop; + ($archive, $root_dir) = split(/\s+/, $_, 2); + $archive_root{$archive} = $root_dir; +} +unless ( $this_root = $archive_root{$arch} ) { + &oh_dear("Archive $arch isn't in my list") } +$arch_root = "$arch/$this_root/"; + +# Get the Qrefs: + +open (AUXFAQ, "$home/$auxfaq") + || &oh_dear ("Couldn't open $auxfaq"); + +$last_question = -1; +$labels = ""; + +while (<AUXFAQ>) { + if (/\\newlabel\{([^\}]*)\}\{\{([^\}]*)\}/) { + $last_question = $2; + next if ( !( ($this_Qlabel = $1) =~ /^Q-/ ) ); + $this_label = $this_Qlabel; + $this_label =~ s/^Q-//; + $label_list{$last_question} = $this_label . $xtra_k; + $question{$last_question}=1 if $label{$this_Qlabel}; + if ($question{$last_question}) { + $qref{$this_Qlabel} = "#[$this_Qlabel]"; + $labels .= "+" . $this_label; + } else { + $qref{$this_Qlabel} = + "$href_script?label=$this_label$xtra_k"; + } + } +} + +# $labels to hold a (list of) label names for these question(s) +$labels =~ s/^\+//; + +# Open the FAQ file: + +open (TEXFAQ, "$home/$texfaq") + || &oh_dear ("Couldn't open $texfaq"); + +# Run through to the introduction, grabbing useful info. + +while (<TEXFAQ>) { + last if /\\section\{Introduction\}/; + $fileversion=$1 if /\\def\\faqfileversion\{([^\}]*)\}/; + $filedate=$1 if /\\def\\faqfiledate\{([^\}]*)\}/; +} + +# Print the title (and build up some information for the trailer): + +$next_question = $previous_question = -1; + +$title_modifier=""; +if ($question || $label) { + $question_count=0; + foreach $key ( keys %question ) { + $question_count++; + $title_modifier=" -- question label \"$label_list{$key}\""; + $next_question = $key + 1; + if ( $key > 1 ) { + $previous_question = $key - 1; + } + } + if ( $question_count > 1 ) { + $title_modifier=""; + $next_question = $previous_question = -1; + $url_name = "these questions"; + } else { + $url_name = "this question"; + } +} + +if ( $next_question > 0 && + $next_question > $last_question ) { $next_question = -1 }; + +printf (" +<html><head> +<title>TeX Frequently Asked Questions $title_modifier</title> +</head><body> +<h1 align=\"center\">Welcome to the UK List of<br> + TeX Frequently Asked Questions<br> + on the Web</h1> +"); + +# Blast out the introduction until we get to the first section. + +if ($introduction) { + print "<center>Skip to <a href=#search>Search</a>"; + if ( $question || $label || $keyword ) { + print "\n"; + } else { + print " or <a href=#questions>List of questions</a></center>\n"; + } + print "<h2>Introduction</h2>\n"; + while (<TEXFAQ>) { + last if /\\section/; + &sanitize_line; + print; + } +} else { + $_ = ""; +} + +# Produce the form. + +printf " +<h2><a name=search>Searching</a></h2> +<form action=\"$href_script\" method=get> +The index of Frequently Asked Questions about TeX is searchable.<br> +Please enter your keyword here:"; +if ( $got_arch ) { + printf "\n<input type=hidden name=a value=\"$arch\">"; +} +print <<SEARCHES; +<input type=\"text\" name=\"keyword\"> +then press here: <input type=\"submit\" value=\"search\">, or: +</form> +<!-- Search Google --> +<center> +<FORM method=GET action="http://www.google.com/search"> +<TABLE bgcolor="#FFFFFF"><tr><td> +<A HREF="http://www.google.com/"> +<IMG SRC="http://www.google.com/logos/Logo_40wht.gif" +border="0" ALT="Google" align="absmiddle"></A> +<INPUT TYPE="text" name="q" size="25" maxlength="255" value=""> +<INPUT TYPE="hidden" name="q" value="TeX Frequently Asked Questions"> +<INPUT TYPE="hidden" name="sitesearch" value="tex.ac.uk"> +<INPUT TYPE="hidden" name="as_eq" value="matches"> +<INPUT type="submit" name="btnG" VALUE="Google Search"> +</td></tr></TABLE> +</FORM> +</center> +<!-- Search Google --> +<hr> + +SEARCHES + + +if ($question || $label) { + do { + if (s/^\s*\\Question(\[.*\])?\{(.*)\}\s*$/$2/) { + $qnum++; + &sanitize_line; + if ($question{$qnum}) { + print "<h2>"; + print "<a name=\"$1\">" if $1; + print; + print "</a>" if $1; + print "</h2>\n"; + } + } elsif ($question{$qnum}) { + $printed = 1; + &sanitize_line; + print; + } + } while (<TEXFAQ>); + print "<p>\n"; + if ( ! $printed ) { + print "<h2>Warning</h2>\n"; + print "There is no question '$question'!<p>\n" + if $question; + print "There is no question with label '$label'!<p>\n" + if $label; + } +} else { + if ($keyword) { + $_=$keyword; + sanitize_line; + print "Questions matching the expression '"; + print; + print "'"; + foreach $kwd ( split /\+/, $keyword ) { + $kwds{$kwd} = 1; + } + } else { + $kwds{"."} = 1; + $sectioning = 1; + } + print "<ul>"; + $firstsection = 1; + do { + if ($sectioning && $converting) { + if (/^\s*\\section\{(.*)\}\s*$/ ) { + $_=$1; + &sanitize_line; + if ( $firstsection ) { + print "</ul><h3><a name=questions>$_</a></h3><ul>\n"; + $firstsection = 0; + } else { + print "</ul><h3>$_</h3><ul>\n"; + } + $_=""; + } elsif ( /^\s*\\subsection\{(.*)\}\s*$/ ) { + $_=$1; + &sanitize_line; + print "</ul><h4>$_</h4><ul>\n"; + $_=""; + } + } + &sanitize_line; + if (/^\s*\\Question(\[.*\])?\{(.*)\}\s*$/) { + $qnum++; + $entry = "<li><a href=\"$href_script?label=$label_list{$qnum}$xtra_k\">$2</a>\n"; + } + foreach $kwd ( keys %kwds ) { + if (/$kwd/i && $qnum) { + print $entry; + $entry = ""; + $matches{$qnum} = 1; + last; + } + } + } while (<TEXFAQ>); + print "</ul>"; + @matches=sort(keys(%matches)); + if ($#matches == -1) { + print "<em>There were no matches.</em><p>\n"; + } elsif ($#matches == 0) { + print "There was one match.<p>\n"; + } else { + $stupid_perl = @matches; + print "There were $stupid_perl matches. ", + "You can get all of them by pressing ", + "<a href=\"$href_script?question=", + (join("+",@matches)),$xtra_k, + "\">here</a>.<p>\n"; + } +} + +# An error report: + +sub oh_dear { + print "<i>This shouldn\'t happen!</i><p>\n", + $_[0], + "\n<p>Please report this!\n"; + die $_; +} + +# print links to other questions + + +# Print a tail. + +printf(" +<hr><address> + Maintenance of the + <a href=\"http://www.tex.ac.uk/faq\">TeX FAQ</a> + is coordinated by Robin Fairbairns.<p> +"); +if ( $next_question >0 && $previous_question > 0 ) { + print "Go to <a href=\"$href_script?label=$label_list{$previous_question}\">\ + previous question</a>, or + <a href=\"$href_script?label=$label_list{$next_question}\">\ + next question</a>"; +} +elsif ( $next_question > 0 ) { + print "Go to <a href=\"$href_script?label=$label_list{$next_question}\">\ + next question</a>"; +} +elsif ( $previous_question > 0 ) { + print "Go to <a href=\"$href_script?label=$label_list{$previous_question}\">\ + previous question</a>"; +} +print "<p>\n"; + +if ( $question || $label ) { + print "URL for $url_name: $href_script?label=$labels<p>\n"; +} + +printf(" + Comments, suggestions, or error reports? - see + \"<a href=\"$href_script?label=noans+newans\">how to improve the FAQ</a>\". +<p> + This is FAQ version $fileversion, last modified on $filedate. +</address> +</body></html> +"); + +# That's it! diff --git a/Master/texmf-doc/doc/english/FAQ-en/texnames.sty b/Master/texmf-doc/doc/english/FAQ-en/texnames.sty new file mode 100644 index 00000000000..395751126a5 --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/texnames.sty @@ -0,0 +1,328 @@ +% /u/sy/beebe/tex/texnames/texnames.sty, Sat Oct 26 11:19:21 1991 +% Edit by Nelson H. F. Beebe <beebe@magna.math.utah.edu> +%%% ==================================================================== +%%% @TeX-style-file{ +%%% author = "Nelson H. F. Beebe", +%%% version = "1.09", +%%% date = "16 March 1993", +%%% time = "10:08:05 MST", +%%% filename = "texnames.sty", +%%% address = "Center for Scientific Computing +%%% Department of Mathematics +%%% South Physics Building +%%% University of Utah +%%% Salt Lake City, UT 84112 +%%% USA +%%% Tel: (801) 581-5254 +%%% FAX: (801) 581-4148", +%%% checksum = "15888 291 1374 12268", +%%% email = "beebe@magna.math.utah.edu (Internet)", +%%% codetable = "ISO/ASCII", +%%% keywords = "TeX names", +%%% supported = "yes", +%%% docstring = "This style file for AmSTeX, LaTeX, and TeX +%%% defines macros for the names of TeX +%%% and METAFONT programs, in several +%%% letter-case variants: +%%% +%%% \AMSTEX, \AMSTeX, \AmSTeX +%%% \BIBTEX, \BIBTeX, \BibTeX +%%% \LAMSTeX, \LAmSTeX +%%% \LaTeX, \LATEX +%%% \METAFONT, \MF +%%% \SLITEX, \SLITeX, \SLiTeX, \SliTeX +%%% +%%% It will NOT redefine any macro that +%%% already exists, so it can be included +%%% harmlessly after other style files. +%%% +%%% In AmSTeX or Plain TeX, just do +%%% +%%% \input texnames.sty +%%% +%%% In LaTeX, do +%%% +%%% \documentstyle[...,texnames]{...} +%%% +%%% This file grew out of original work by +%%% +%%% Richard Furuta +%%% Department of Computer Science +%%% University of Maryland +%%% College Park, MD 20742 +%%% +%%% furuta@mimsy.umd.edu +%%% seismo!umcp-cs!furuta +%%% +%%% 22 October 1986, first release (1.00) +%%% +%%% 1 April 1987 (1.01): Modified by William +%%% LeFebvre, Rice University to include +%%% definitions for BibTeX and SLiTeX, as they +%%% appear in the LaTeX Local User's Guide +%%% template (the file latex/local.tex in +%%% standard distributions) +%%% +%%% 26 October 1991 (1.02): Modified by +%%% Nelson H. F. Beebe <beebe@math.utah.edu> to +%%% add several new macro names, and adapt for +%%% use with Plain TeX and AmSTeX. +%%% +%%% 26 October 1991 (1.03): Add \LaTeX and +%%% \LATEX +%%% +%%% 25 November 1991 (1.04): Add \LamSTeX +%%% and \LAMSTeX +%%% +%%% 27 January 1991 (1.05 and 1.06): Add slanted +%%% font support for \MF. Make several comment +%%% changes. Add a couple of missing % at end +%%% of line, and replace blank lines by empty +%%% comments. +%%% +%%% 30 December 1992 (1.07): Use \TeX in +%%% definitions of \BibTeX and \LaTeX. Remove +%%% occurrences of \rm. Change \sc to use +%%% \scriptfont instead of hardwiring cmcsc10. +%%% Use \cal for \LAMSTeX. +%%% +%%% 1 March 1993 (1.08): Consolidate \ifx's onto +%%% single lines for brevity. Add +%%% \spacefactor1000 to definitions for \TeX and \MF. +%%% +%%% 16 March 1993 (1.09): Add \AmS, \AMS, \AmSLaTeX, +%%% and \AMSLaTeX. +%%% +%%% The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% +%%% } +%%% ==================================================================== +% +\immediate\write16{This is texnames.sty, Version 1.09 <16 March 1993>}% +% +% This has a chance of working in different styles and sizes, although +% it's not perfect. If \sc actually selects a caps-and-small caps font, +% we want to use lowercase letters (to get the small caps). But if \sc +% selects a smaller point size, we want to use uppercase letters. +% \uppercasesc is called on every letter we typeset in \sc, so both +% forms can be accommodated. +\ifx\sc\undefined + \def\sc{% + % If there is no \scriptfont for the current family, use a fixed + % font. What more can we do? + \expandafter\ifx\the\scriptfont\fam\nullfont + \font\temp = cmr7 \temp + \else + \the\scriptfont\fam + \fi + \def\uppercasesc{\char\uccode`}% + }% +\fi +\ifx\uppercasesc\undefined + \let\uppercasesc = \relax +\fi +% +% In the following, we first give the ``official'' definition, +% then follow it with spelling variants. Alternate definitions +% are discarded in favor of the official one. Each family is +% separated by a line like the following one. +% +%======================================================================= +% +% Only change from plain.tex is the \spacefactor assignment (suggested +% by Phil Taylor), so that \TeX at the end of a sentence isn't treated +% as an abbreviation. +% +\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\spacefactor1000 }% +% +%======================================================================= +% From the AMS tex/ams/amslatex/fontsel/nfssinst.tex file: +% hacked by RF 1994/03/31 +\ifx\mathcal\undefined + \def\mathcal#1{{\cal #1}} +\fi +\ifx\AmS\undefined + \def\AmS{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox + {$\mathcal{M}$}\kern-.125em$\mathcal{S}$} +\fi +\ifx\AMS\undefined \let\AMS=\AmS \fi +\ifx\AmSLaTeX\undefined + \def\AmSLaTeX{\AmS-\LaTeX} +\fi +\ifx\AMSLaTeX\undefined \let\AMSLaTeX=\AmSLaTeX \fi +%======================================================================= +% +% Mike Spivak's amstex/amstex.tex 1.1d [26-Aug-1988] has +% \def\AmSTeX{{\textfontii A}\kern-.1667em\lower.5ex\hbox +% {\textfontii M}\kern-.125em{\textfontii S}-\TeX} +% and 2.1 [05-Apr-1991] has an equivalent definition. +% AmSTeX's \textfontii is exactly the same as \cal, which +% all TeX variants understand. +% +\ifx\AmSTeX\undefined + \def\AmSTeX{\AmS-\TeX}% +\fi +% +% Leslie Lamport's latex/tmanual.tex [10-Jul-1984] (an early +% draft of the book) defines it in uppercase with the standard +% definition. +\ifx\AMSTEX\undefined \let\AMSTEX=\AmSTeX \fi +% +% Barbara Beeton's latex/deproc.sty [24-Apr-1986] and inputs/tugbot.sty +% [11-Jan-1988] uses this spelling, but the definition +% \leavevmode\hbox{$\mathcal{A}\kern-.2em\lower.376ex \hbox{$\mathcal{ +% M}$}\kern-.2em\mathcal{S}$-\TeX} +\ifx\AMSTeX\undefined \let\AMSTeX=\AmSTeX \fi +% +%======================================================================= +% +% The definitions of \BibTeX and \SLiTeX in Leslie Lamport's +% latex/local.tex lower the E by 0.7ex, while \TeX in plain.tex lowers +% it by 0.5ex. Oren Patashnik's bibtex/btxdoc.tex and bibtex/btxhak.tex +% [08-Feb-1988] and bibtex/bibtex.web 0.99c [xx-Feb-1988] use this same +% name and definition, but Oren said using \TeX here is ok. (Curiously, +% LaTeX itself does not define macros for any TeXware except LaTeX and +% TeX!) +\ifx\BibTeX\undefined + \ifx\textsc\undefined + \def\BibTeX{B{\sc \uppercasesc i\kern-.025em \uppercasesc b}\kern-.08em + \TeX}% + \else + \def\BibTeX{\textsc{Bib}\kern-.08em + \TeX}% + \fi +\fi +% +% Leslie Lamport uses this spelling in latex.tex, but not as a +% macro. We include it for consistency with AMSTeX. +\ifx\BIBTeX\undefined \let\BIBTeX=\BibTeX \fi +% +% Leslie Lamport's latex/slides.tex [05-Jun-1984], +% latex/tmanual.tex [10-Jul-1984] (an early draft of the book), +% and latex/lerrata.tex [23-Jul-1985] have this spelling, but the +% definition BIB\kern-.1em\TeX. +\ifx\BIBTEX\undefined \let\BIBTEX=\BibTeX \fi +% +%======================================================================= +% +% From tugboat.com 1.08 [24-Oct-1990]. +\ifx\LAMSTeX\undefined + \def\LAMSTeX{L\raise.42ex\hbox{\kern-.3em\the\scriptfont2 A}% + \kern-.2em\lower.376ex\hbox{\the\textfont2 M}% + \kern-.125em {\the\textfont2 S}-\TeX}% +\fi +% +\ifx\LamSTeX\undefined \let\LamSTeX=\LAMSTeX \fi +% +% This variant seems likely to appear: +\ifx\LAmSTeX\undefined \let\LAmSTeX=\LAMSTeX \fi +% +%======================================================================= +% +% The definition from latex.tex (LATEX VERSION 2.09 <14 January 1991>) +% and bibtex.web 0.99c [xx-Feb-1988] lowers the E slightly more than +% \TeX, but consistency seems more desirable. See comments at \BibTeX. +% Different definitions are given by latex/deproc.sty [24-Apr-1986], +% amstex/man.sty [15-Dec-1986] inputs/tugbot.sty [11-Jan-1988], and +% latex/tugboat.com 1.08 [24-Oct-1990]. +% +% note: this definition doesn't have a variant based on \textsc, since +% anything that's LaTeX2e-compatible ought to have it anyway... +% +\ifx\LaTeX\undefined + \def\LaTeX{L\kern-.36em\raise.3ex\hbox{\sc \uppercasesc a}\kern-.15em\TeX}% +\fi +% +% latex/slides.tex [05-Jun-1984] and latex/lerrata.tex [23-Jul-1985] +% have this spelling, but different definitions +\ifx\LATEX\undefined \let\LATEX=\LaTeX \fi +% +% LaTeX 2e `standard' logo (euuccchhhh!) +\ifx\LaTeXe\undefined + \def\LaTeXe{\LaTeX\kern.15em 2${}_{\textstyle\varepsilon}$} +\fi +% +% and a corresponding thing for LaTeX _explicitly_ 2.09 +% +\ifx\LaTeXo\undefined + \def\LaTeXo{\LaTeX\kern.15em 2.09} +\fi +% +%======================================================================= +% +% Don Knuth's mf.web 2.7 [xx-Sep-1990] and Barbara Beeton's +% latex/deproc.sty [24-Apr-1986] use an equivalent of this definition. +% The font is variously named \logo, \manfnt, and \mf. plain.tex +% preloads \manfnt. manfnt has the letters A, E, F, M, N, O, T in +% various sizes plus extra symbols for Don Knuth's books Computers and +% Typesetting, and Concrete Mathematics, while logo10 has only those +% letters in one size. AmSTeX uses \logo in amsppt.sty and imappt.sty, +% so we should avoid it, and tugboat.com uses \mf for {\smc Metafont}. +% We therefore use \manfnt here, defining it if necessary. QUESTION: +% should we use manfnt, or logo10? +\ifx\MF\undefined + \ifx\manfnt\undefined + \font\manfnt=logo10 + \fi + \ifx\manfntsl\undefined + \font\manfntsl=logosl10 + \fi + \def\MF{{\ifdim\fontdimen1\font>0pt \let\manfnt = \manfntsl \fi + {\manfnt META}\-{\manfnt FONT}}\spacefactor1000 }% +\fi +% +% I cannot find any `official' uses of this alternate, but it +% seems likely that people will use it. +\ifx\METAFONT\undefined \let\METAFONT=\MF \fi +% +%======================================================================= +% +% Leslie Lamport's latex/slides.tex [05-Jun-1984]. His +% latex/lerrata.tex [23-Jul-1985] and latex/tmanual.tex +% [10-Jul-1984] (an early draft of the book) define it as +% SLI\TeX! The LaTeX User's Guide and Reference Manual (1986) +% appears to use small caps, and possibly kerning, for Sli. +% I need to ask Leslie to suggest a preferred definition. +\ifx\SLITEX\undefined + \ifx\textsc\undefined + \def\SLITEX{S\kern-.065em L\kern-.18em\raise.32ex\hbox{\textsc{i}}% + \kern-.03em\TeX}% + \else + \def\SLITEX{S\kern-.065em L\kern-.18em\raise.32ex\hbox{i}% + \kern-.03em\TeX}% + \fi +\fi +% +% latex/local.tex (sample Local Guide) [27-Oct-1988] uses +% this name, but defines it as +% {\rm S\kern-.06em{\sc l\kern-.035emi}\kern-.06em T\kern +% -.1667em\lower.7ex\hbox{E}\kern-.125emX} +% with an extra-low E, and kerned Sli in small caps. Is this +% what the LaTeX User's Guide and Reference Manual (1986) used? +\ifx\SLiTeX\undefined \let\SLiTeX=\SLITEX \fi +% +% latex/slitex.tex [08-Jun-1988] uses SliTeX in typeouts, +% but not as a macro -- what a way to confuse the user. +\ifx\SliTeX\undefined \let\SliTeX=\SLITEX \fi +% +% I cannot find a use of this one, but it seems a likely +% candidate anyway, and is consistent with AMSTeX and BIBTeX. +\ifx\SLITeX\undefined \let\SLITeX=\SLITEX \fi +% +%======================================================================= +% +% from pictex.tex: +\ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi +\ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +% +% from fantasy-land: +\ifx\VorTeX\undefined \def\VorTeX{V\kern-2.7pt\lower.5ex\hbox{O\kern-1.4pt R}% + \kern-2.6ptT\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX} \fi +% +\endinput +%=========================[End of texnames.sty]========================= diff --git a/Master/texmf-doc/doc/english/FAQ-en/updates.tex b/Master/texmf-doc/doc/english/FAQ-en/updates.tex new file mode 100644 index 00000000000..b87434a8c0e --- /dev/null +++ b/Master/texmf-doc/doc/english/FAQ-en/updates.tex @@ -0,0 +1,45 @@ +\section{Updates to the FAQ} + +The list of frequently-asked questions that was published as +Baskerville volume~4, number~6, should be maintained if it's to retain +its usefulness. + +While I can do at least some of this for myself, I would welcome +comments on: +\begin{itemize} +\item Questions that weren't ansswered in the original, but should + have been, and +\item Errors in the original. +\end{itemize} + +To kick the ball off, here's one of each type. + +New question: Typesetting a degree sign in \LaTeXe{}. + +Answer: The following macro will do the job + +| \newcommand{\degree}[1][]{\ensuremath{{#1}^\circ}}| + +Errata in the original: + +The question on ``getting \MF{} to do what you want'' refers you to the +CTAN file~|documentation/metafont_for_beginners.tex|; the file is in +fact~|info/metafont-for-beginners.tex| + +The question on ``Mailing lists about \TeX{} and its friends'' has two +errors in it. + +\begin{itemize} +\item The UK\TeX{} list has now ceased publication, and its content + has now been taken over by the \TeX{}hax list. +\item The description of the |ctt-digest| and |info-tex| lists, and + their relation to the newsgroup |comp.text.tex| is confusing. + |info-tex| does \emph{not} receive postings to |comp.text.tex|, + and therefore the content of |ctt-digest| will typically contain + much material that isn't present in |info-tex|. However, + messages mailed to |info-tex| appear in |comp.text.tex|, and + therefore (ultimately) appear in |ctt-digest|. +\end{itemize} + +Thanks to Allan Reese and Barbara Beeton for pointing me towards these +problems. |