summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/faq-jot-err.tex
diff options
context:
space:
mode:
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.tex101
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}