diff options
author | Karl Berry <karl@freefriends.org> | 2011-02-19 00:37:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-02-19 00:37:41 +0000 |
commit | 8f846f8a8c7b2774059df2db0f153948e98cccf1 (patch) | |
tree | ff1781fa9b83db1e66c931962c18f57ae3428294 /Master/texmf-dist/doc/generic/FAQ-en/faq-adj-types.tex | |
parent | 09eb455bf0a899e9231b600e1326d5e0e4a67aca (diff) |
FAQ-en 3.21 (18feb11)
git-svn-id: svn://tug.org/texlive/trunk@21459 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/FAQ-en/faq-adj-types.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/FAQ-en/faq-adj-types.tex | 114 |
1 files changed, 72 insertions, 42 deletions
diff --git a/Master/texmf-dist/doc/generic/FAQ-en/faq-adj-types.tex b/Master/texmf-dist/doc/generic/FAQ-en/faq-adj-types.tex index cbaf0bdca62..75c2064b556 100644 --- a/Master/texmf-dist/doc/generic/FAQ-en/faq-adj-types.tex +++ b/Master/texmf-dist/doc/generic/FAQ-en/faq-adj-types.tex @@ -1,4 +1,4 @@ -% $Id: faq-adj-types.tex,v 1.23 2010/08/12 18:14:24 rf10 Exp rf10 $ +% $Id: faq-adj-types.tex,v 1.28 2011/01/04 00:27:59 rf10 Exp rf10 $ \section{Adjusting the typesetting} @@ -1377,7 +1377,8 @@ Unfortunately, most of the core software predates \PDFTeX{}, so not even \PDFLaTeX{} sets the correct values into those variables, to match the paper size specified in a \csx{documentclass} option. -The \acro{DVI} drivers \ProgName{dvips} and \ProgName{dvipdfm} define +The \acro{DVI} drivers \ProgName{dvips}, \ProgName{dvipdfm} and its +extensions (\ProgName{dvipdfmx} and \ProgName{xdvipdfmx}) define \csx{special} commands for the document to specify its own paper size; so in those cases, as when \PDFTeX{} or V\TeX{} is being used, the paper size can be programmed by the document. Users who wish to, may @@ -1395,21 +1396,26 @@ engine, there are package options 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 +So, the resolution of the problem, when you are using \latex{}, is to add \begin{quote} \begin{verbatim} -\usepackage[dvixxx,...]{geometry} +\usepackage[processor-option,...]{geometry} \end{verbatim} \end{quote} -(where \pkgoption{dvixxx} is your current favourite \acro{DVI} -driver~--- \Package{geometry} knows about \pkgoption{dvips} and -\pkgoption{dvipdfm}), and the document will run correctly with -\LaTeX{}. If you're using \PDFLaTeX{}, load with +Where \pkgoption{processor-option} tells the package what will produce +your (\PS{} or \acro{PDF} driver~--- \Package{geometry} knows about +\pkgoption{dvips} and \pkgoption{dvipdfm} (\pkgoption{dvipdfm} also +serves for the extension \ProgName{dvipdfmx} and +\ProgName{xdvipdfmx}). + +If you're using \PDFLaTeX{}, \xetex{} or V\TeX{}, load with \begin{quote} \begin{verbatim} -\usepackage[pdftex,...]{geometry} +\usepackage[program-option,...]{geometry} \end{verbatim} \end{quote} +where \pkgoption{program-option} is \pkgoption{pdftex}, +\pkgoption{xetex} or \pkgoption{vtex}. Needless to say, both the ``big'' classes (\Class{koma-script} and \Class{memoir}) provide their own ways to get the paper size @@ -1923,14 +1929,14 @@ are subverted by \environment{samepage}). Naturally, if \environment{samepage} \emph{does} work, it is capable of leaving 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. +Another 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 used 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 +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 @@ -2007,13 +2013,23 @@ 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. +proof-reading stage. At this stage, you can manually alter page +breaking, using either \csx{pagebreak} or \csx{clearpage}, or you can +place a \csx{nopagebreak} command to suppress unfortunate breaks. +Otherwise, you can make small adjustments to the page geometry, using +\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. Whether this +looks impossibly awful or entirely acceptable depends on the document +context, but the command remains a useful item in the armoury. + +Note that both \csx{pagebreak} and \csx{nopagebreak} take an optional +number argument to adjust how the command is to be interpreted. Thus +\cmdinvoke{pagebreak}[0], the command `suggests' that a page break +might be worth doing, whereas \cmdinvoke{pagebreak}[4] `demands' a +page break. Similarly \cmdinvoke{nopagebreak}[0] makes a suggestion, +while \cmdinvoke{nopagebreak}[4] is a demand. In both commands, the +default value of the optional argument is 4. \begin{ctanrefs} \item[memoir.cls]\CTANref{memoir} \item[needspace.sty]\CTANref{needspace} @@ -2515,8 +2531,13 @@ Documentation is available on the % ! line break The \Package{minted} package is a relatively recent addition. It requires that documents be pre-processed using an external -(\ProgName{python}) script, % ! line break +(\ProgName{python}) script, \href{http://pygments.org/}{\ProgName{Pygments}}. +\ProgName{Pygments}, in turn, needs a ``lexer'' that knows the +language you want to process; lots of these are available, for the +more commonly-used languages, and there is advice on ``rolling your +own'' on the % ! line break. +<a href='http://pygments.org/docs/lexerdevelopment/'>\ProgName{Pygments} site</a> The \ProgName{lgrind} system is another well-established pre-compiler, with all the facilities one might need and a wide repertoire of @@ -2820,21 +2841,30 @@ 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. +Music\TeX{} has been superseded by a further development called +MusiX\TeX{}, which is a three-pass system (with a processor program +that computes values for the element spacing in the music, and sorts +out spaces and ties (which Music\tex{} does ``woodenly''~--- playing +from a Music\tex{}-typeset page is entirely possible, but the look of +the slurs is very unsatisfying). Thus Musix\tex{} achieves finer +control than is possible with the unmodified \TeX{}-based mechanism +that Music\TeX{} uses. + +The original author of Musix\tex{}, Andreas Egler, withdrew from +development of the package; he has a further package Opus\tex{} (not +on \acro{CTAN}) which is focused on typesetting Gregorian chant and +the like. + +Daniel Taupin forked his development of MusiX\TeX{}, and his is the +only version currently maintained (by Daniel's successors, since +Daniel died). + +Input to MusiX\TeX{} is 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} @@ -2853,14 +2883,14 @@ Music\TeX{} source code. There is a mailing list (\Email{TeX-music@icking-music-archive.org}) for discussion of typesetting music in \TeX{}; it mostly covers -Musix\TeX{} and related systems. To subscribe, use +MusiX\TeX{} and related systems. To subscribe, use \URL{http://icking-music-archive.org/mailman/listinfo/tex-music/} An alternative (free) means of embedding music examples into \AllTeX{} documents is \href{http://www.lilypond.org}{Lilypond}. Lilypond is (at heart) a batch music typesetting system with plain text input that does most of its work without TeX. Lilypond's input syntax is far -less cryptic than is Musix\TeX{}'s, and it handles much more stuff +less cryptic than is MusiX\TeX{}'s, and it handles much more stuff automatically, yielding the same or better quality with less effort. Lilypond can also produce basic \acro{MIDI} output. \begin{ctanrefs} @@ -2869,7 +2899,7 @@ Lilypond can also produce basic \acro{MIDI} output. \item[midi2tex]\CTANref{midi2tex} \item[musictex]\CTANref{musictex} % ! line breaks -\item[musixtex \nothtml{\rmfamily}(Taupin's version)]\CTANref{musixtex-taupin} +\item[musixtex \nothtml{\rmfamily}(Taupin's version)]\CTANref{musixtex} \item[musixtex \nothtml{\rmfamily}(Egler's version)]\CTANref{musixtex-egler} \item[mutex]\CTANref{mutex} \item[pmx]\CTANref{pmx} |