diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/FAQ-en/faq-jot-err.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/FAQ-en/faq-jot-err.tex | 101 |
1 files changed, 71 insertions, 30 deletions
diff --git a/Master/texmf-dist/doc/generic/FAQ-en/faq-jot-err.tex b/Master/texmf-dist/doc/generic/FAQ-en/faq-jot-err.tex index e7a0a794610..23dd355da04 100644 --- a/Master/texmf-dist/doc/generic/FAQ-en/faq-jot-err.tex +++ b/Master/texmf-dist/doc/generic/FAQ-en/faq-jot-err.tex @@ -1,4 +1,4 @@ -% $Id: faq-jot-err.tex,v 1.19 2012/02/18 19:28:56 rf10 Exp rf10 $ +% $Id: faq-jot-err.tex,v 1.23 2012/11/10 14:25:12 rf10 Exp rf10 $ \section{The joy of \TeX{} errors} @@ -364,9 +364,9 @@ itself. \end{htmlversion} \htmlignore % beware line wrap here - Of course, \eTeX{}, \ensuremath{\Omega} and \LuaTeX{}~--- - \Qref[see questions]{}{Q-etex} \Qref[,]{}{Q-omegaleph} and - \Qref[and]{}{Q-luatex} respectively~--- + Of course \Qref[question]{\etex{}}{Q-etex}, + \Qref[question]{\ensuremath{\Omega}}{Q-omegaleph} and + \Qref[question]{\LuaTeX{}}{Q-luatex} \endhtmlignore all do this, as does \Qref*{MicroPress Inc's V\TeX{}}{Q-commercial}. @@ -477,49 +477,58 @@ For example \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. +As mentioned in +\begin{flatversion} + \Qref[question]{hyphenation failures}{Q-nohyph}, +\end{flatversion} +\begin{hyperversion} + ``\Qref[question]{hyphenation failures}{Q-nohyph}'', +\end{hyperversion} +``words'' containing \csx{accent} commands may not be hyphenated. As +a result, any such word is deemed improper in a \csx{hyphenation} +command. + +Hyphenation happens as paragraphs are laid out; by this time, \tex{} +knows what font is used for each glyph; thus it knows the encoding +being used. So the solution to the problem is to use a font that +contains the accented character; doing this this ``hides'' the accent +from the hyphenation mechanisms. + +For \LaTeX{} users, this is quite an easy task; they select an 8-bit +font with the package, as in \cmdinvoke{usepackage}[T1]{fontenc}, and +accented-letter commands such as the \csx{'}\texttt{e} in +\cmdinvoke{hyphenation}{Ji-m\csx{'}e-nez} automatically become the +single accented character by the time the hyphenation gets to look at +it. -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-optionclash]{Option clash for package} So you've innocently added: \begin{quote} -\cmdinvoke{usepackage}[draft]{graphics} +\cmdinvoke{usepackage}[draft]{foo} \end{quote} to your document, and \LaTeX{} responds with -\begin{wideversion} \begin{quote} +\begin{wideversion} \begin{verbatim} -! LaTeX Error: Option clash for package graphics. +! LaTeX Error: Option clash for package foo. \end{verbatim} -\end{quote} \end{wideversion} \begin{narrowversion} -\begin{quote} \begin{verbatim} -! LaTeX Error: Option clash for package - graphics. +! LaTeX Error: Option clash for package foo. \end{verbatim} -\end{quote} \end{narrowversion} +\end{quote} The error is a complaint about loading a package % ! line break -\emph{with options}, more than once (\LaTeX{} doesn't actually examine -what options there are: it complains because it can't do anything with -the multiple sets of options). You can load a package -any number of times, with no options, and \LaTeX{} will be happy, but -you may only supply options when you first load the package. +\emph{with options}, more than once. \LaTeX{} complains because it +has no means of examining the options, rather than because it +\emph{knows} there is a problem. (You may load a package any number +of times in a document's preamble, with no options, and \LaTeX{} will +ignore every loading request after the first; but you may only supply +options when you first load the package.) So perhaps you weren't entirely innocent~--- the error would have occurred on the second line of: @@ -575,7 +584,8 @@ expect from its name, \csx{PassOptionsToPackage} can deal with a list of options, just as you would have in the the options brackets of \csx{usepackage}. -More trickily, instead of: +The problem is more tricky if your document class loads a package you +want options for. In this case, instead of: \begin{quote} \cmdinvoke{documentclass}[...]{bar}\\ \cmdinvoke{usepackage}[draft]{graphics} @@ -2372,3 +2382,34 @@ Solutions to the problem tend to be drastic: those who can ``help themselves'' in this respect. \end{enumerate} \LastEdit*{2012-02-13} + +\Question[Q-expl3-old]{Support package \Package{expl3} too old} + +Some (rather modern) packages are written using the % ! line break +\Qref*{\latex{}3 programming environment}{Q-LaTeX3}. Since \latex{}3 +is still under development, the author cannot reliably guess what +version of \latex{}3 the user has installed, and whether that version +is adequate for the current package. Thus the package's code often +checks the user's installation, and complains if it's older than the +author's installation at time of testing. The error message is: +\begin{quote} +\begin{verbatim} +! Support package expl3 too old. +\end{verbatim} +\end{quote} +The ``additional help'' tells you the solution: update your \latex{}3 +installation. The relevant things are \Package{l3kernel} (the +programming environment, which contains the \Package{expl3} mentioned +in the error message) and \Package{l3packages} (\latex{}3 constructs +such as command definitions). + +While this sounds a drastic remedy, it is no longer the major +undertaking it once was~--- if you are using a modern \tex{} +distribution that you installed yourself, ask it to update over the +internet; if that choice is not available, install from the +\extension{tds.zip} files available for both packages on \ctan{}. +\begin{ctanrefs} +\item[l3kernel \nothtml{\rmfamily}bundle]\CTANref{l3kernel} +\item[l3packages \nothtml{\rmfamily}bundle]\CTANref{l3packages} +\end{ctanrefs} +\LastEdit*{2013-02-20} |