Examples of common problems
(The images here are from an older version with a slightly different interface.)
- Figure 22: one of the imported papers (beer11a) has
an error in it. Clicking on the red "beer11a" link in the
navigation panel scrolls the main panel to the relevant entry. In
this case the error is an undefined control sequence which has been
used on line 31. It may be that the command was defined in an
accompanying package that hasn't been loaded.
Figure 22: One of the imported papers (beer11a) has an error in it. - Figure 23: one of the imported papers (smith11a)
has a copy of an old version of the jmlr class in its
directory. This unwanted file should be deleted.
Figure 23: One of the imported papers (smith11a) is using an different version of jmlr.cls from the rest of the book. - Figure 24: one of the papers (paper1) in this book has
used a package (theorem) that is known to conflict with the
jmlr and jmlrbook classes. The imported document must be
modified so that it no longer uses that package. This is an issue
that is corrected by the new book function.
Note that this example has also produced non-conformity error messages (shown in purple).
Figure 24: One of the imported papers is using a package that is known to conflict with the jmlr bundle. - Figure 25: one of the papers in this book
(paper3) is not using the jmlr class. (It's using the
article class.) This is the reason for all the obscure error
messages. It's also using obsolete packages
(jmlr2e and epsfig). These problems must all be fixed.
This is an issue that is corrected by the new book function.
Figure 25: One of the imported papers is not using the jmlr class. - Figure 26: one of the papers was misspelt in
the main book file. Instead of:
\importpaper{smith11a}{smith11a}
it was written as\importpaper{smith11a}{smoth11a}
This error shouldn't occur with the new book function.Figure 26: One of the imported papers has been misspelt in the main book file. - Imported paper darce11a/darce11a.tex has used
utf8 encoding via:
\usepackage[utf8]{inputenc}
but the main book document has used latin1 encoding via:\usepackage[latin1]{inputenc}
The imported article has specified the author name using a Unicode diacritic:\title[D'Arcé Article]{An Article by Mary-Jane d'Arcé} \author{\Name{Mary-Jane {d'Arcé}}\Email{mjdb@sample.com}\\ \addr{University of No Where}}
This appears correctly for the standalone article, but in the book the surname appears as d'Arcé instead of d'Arcé. Imported articles that use the inputenc package can switch the encoding using \inputencoding. In this example, darce11a/darce11a.tex could have:\usepackage[utf8]{inputenc} \inputencoding{utf8}
however this might corrupt the book's table of contents if the non-ASCII characters appear in the headings or author names (as in this case). See Check Characters Outside the Range 0x20-0x7E to help detect this type of problem.The new book function tries to detect characters that have a known LaTeX equivalent and replace them accordingly, but it doesn't check the .bib files which may contain non-ASCII characters.
- Figure 27: one of the papers (winter11a) has loaded siunitx,
but the main book file hasn't. To correct the problem, add the
package to the main book file. Remember that all packages that must be
loaded before hyperref should be included as follows:
\def\jmlrprehyperref{ \usepackage{siunitx} \usepackage{booktabs} } \documentclass[pmlr]{jmlrbook}
This is something that the new book function does automatically, provided the package is installed in your TeX distribution.Figure 27: One of the imported papers (winter11a) has loaded a package (siunitx) that has not been loaded by the main book file. - Figure 28: one of
the imported papers (doe11a) contains a copy of an old version of
the xfrac package. This old copy should be removed so that all
files use the same version of that package.
The new book function doesn't copy across any packages that the authors may provided with their document source, but instead checks that the packages required are installed in your TeX distribution.
Figure 28: One of the imported papers (doe11a) has loaded a different version of a package loaded by the main book file - Suppose you have included articles in
your book using \importpaper and all the paper ranges in the
book pdf seem correct, but when you look at the individual article
PDFs there is a discrepancy in the page range. Why is this?
Most likely, it's because the article is using a different set of fonts to the book. Perhaps the article is using the default Computer Modern, but the book is using Times, Courier and Helvetica. This change in font size can occasionally be enough to shift the last page. Since it's a bit inconvenient to have to edit every imported article to use the same set of fonts as the book, MakeJmlrBookGUI checks the main book .tex file for the line
\input{bookfonts}
If found, it will try to include this file when building the standalone articles. (See The Build Menu.)The new book function creates a file called bookfonts.tex with the font packages specified in the setup dialog.