texlive[45839] Master: novel (17nov17)

commits+karl at tug.org commits+karl at tug.org
Fri Nov 17 23:18:10 CET 2017


Revision: 45839
          http://tug.org/svn/texlive?view=revision&revision=45839
Author:   karl
Date:     2017-11-17 23:18:08 +0100 (Fri, 17 Nov 2017)
Log Message:
-----------
novel (17nov17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-cover-template.tex
    trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.tex
    trunk/Master/texmf-dist/doc/lualatex/novel/novel-documentation.html
    trunk/Master/texmf-dist/doc/lualatex/novel/novel.pdf
    trunk/Master/texmf-dist/doc/lualatex/novel/novel.tex
    trunk/Master/texmf-dist/fonts/opentype/novel/NovelDeco.otf
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-CGATSTR001.clo
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-CalculateLayout.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-ChapterScene.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-FOGRA39.clo
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-FileData.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-FontDefaults.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-Footnotes.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-HeadFootStyles.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-Images.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-JC200103.clo
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-LayoutSettings.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-glyphtounicode.tex
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-pdfx.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty
    trunk/Master/texmf-dist/tex/lualatex/novel/novel.cls
    trunk/Master/tlpkg/tlpsrc/synctex.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-extras-README.html
    trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testimage.png
    trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.tex
    trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstletterspecial.png
    trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstlinespecial.png
    trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/gnome-censored.png

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/lualatex/novel/extras/License-icc-files.html
    trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.pdf
    trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/irategnome.png

Deleted: trunk/Master/texmf-dist/doc/lualatex/novel/extras/License-icc-files.html
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/License-icc-files.html	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/License-icc-files.html	2017-11-17 22:18:08 UTC (rev 45839)
@@ -1,23 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-<meta charset="UTF-8" />
-<title>License for icc files in "novel" extras folder.</title>
-</head>
-<body>
-
-<h2>License for icc files in <i>novel</i> extras folder.</h2>
-
-<p>Note that the ink limit file, mentioned in <i>novel</i> documentation, cannot be included here, as the license does not allow bundling with other software (such as the <i>novel</i> document class). You have to go get it yourself.</p>
-
-<p>File srgb.icc is a re-named copy of file <a href="https://github.com/ellelstone/elles_icc_profiles/blob/master/profiles/sRGB-elle-V2-srgbtrc.icc">sRGB-elle-V2-srgbtrc.icc</a> by Elle Stone.</p>
-
-<p>File crgb.icc is a re-named copy of file <a href="https://github.com/ellelstone/elles_icc_profiles/blob/master/profiles/ClayRGB-elle-V2-srgbtrc.icc">ClayRGB-elle-V2-srgbtrc.icc</a> by Elle Stone.</p>
-
-<p><b>License granted by Elle Stone:</b></p>
-
-<p>The ICC profiles that are included with the profile-making code are released under the Creative Commons Attribution-Share-Alike Unported license, version 3.0 <a href="https://creativecommons.org/licenses/by-sa/3.0/legalcode">https://creativecommons.org/licenses/by-sa/3.0/legalcode</a>.</p>
-
-</body>
-</html>

Modified: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-cover-template.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-cover-template.tex	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-cover-template.tex	2017-11-17 22:18:08 UTC (rev 45839)
@@ -3,7 +3,7 @@
 % IF YOU COMPILE THIS DOCUMENT: Be sure that this file, and its generated PDF,
 %   have read/write permissions for any user. If they don't, then
 %   compile will fail at the point where files are written.
-\documentclass[coverart]{novel} % v. 1.43.1 or later
+\documentclass[coverart]{novel} % v. 1.46
 \SetMediaSize{width}{height} % includes bleed
 \SetTrimSize{width}{height} % without bleed
 \SetTitle{example} % title required, might not be book title

Deleted: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.tex	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.tex	2017-11-17 22:18:08 UTC (rev 45839)
@@ -6,7 +6,7 @@
 % IF YOU COMPILE THIS DOCUMENT: Be sure that this file, and its generated PDF,
 %   have read/write permissions for any user. If they don't, then
 %   compile will fail at the point where files are written.
-\documentclass{novel} % v. 1.43.1 or later
+\documentclass{novel} % v. 1.46
 \SetTitle{Dark and Stormy}
 \SetSubtitle{A Tale of Nights}
 \SetAuthor{Dirk Hardcase}

Added: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-extras-README.html
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-extras-README.html	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-extras-README.html	2017-11-17 22:18:08 UTC (rev 45839)
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+<meta charset="UTF-8" />
+<title>README for novel extras</title>
+</head>
+<body style="padding:16px">
+
+<h2>README for novel extras</h2>
+
+<p>This folder contains items that may be helpful, but are not essential to operation of the <i>novel</i> document class.</p>
+
+<p>File <i>novel-example.tex</i> is a fake short novel. If you wish to compile it, place a copy in your user home folder (or other place where you have read/write privilege) and compile it there. On some operating systems, you cannot compile the original in its <i>extras</i> folder.</p>
+
+<p>File <i>novel-testsuite.tex</i> exercises the various capabilities of the document class. You can look at the code, and see how it compiles. You may also change settings, to see what they do. It requires file <i>novel-testimage.png</i>. If you wish to compile it, place a copy (along with image) in your user home folder (or other place where you have read/write privilege) and compile it there. On some operating systems, you cannot compile the original in its <i>extras</i> folder.</p>
+
+<p>File <i>novel-cover-template.tex</i> may be used for creating a cover, once you have a CMYK image. If you wish to compile it, place a copy in your user home folder (or other place where you have read/write privilege) and compile it there. On some operating systems, you cannot compile the original in its <i>extras</i> folder.</p>
+
+<p>File <i>novel-decoglyphs.pdf</i> shows the decorative characters in the <i>NovelDeco.otf</i> file, along with the codes needed to retrieve them.</p>
+
+<p>File <i>novel-Gallery-ChapterStart.pdf</i> shows a number of different ways to begin a chapter, making use of the ChapterStart environment and related commands.</p>
+
+<p>File <i>CPmodified.otf</i> is not (normally) for use in TeX. I use it when editing my work in a word processor, prior to TeX markup. To use it, install the font in your operating system (not in TeX) where a word processor can find it. This font is nearly-monospaced, with exaggerated punctuation marks. I have found that punctuation errors are most frequently overlooked during editing, since they are so small in many fonts, and the spell-check software doesn't find the errors.</p>
+
+<div style="margin:16px; padding:16px; border:1px solid #000000;">
+<h3>Included icc color profiles:</h3>
+<p>Note that the ink limit file, mentioned in <i>novel</i> documentation, cannot be included here, as the license does not allow bundling with other software (such as the <i>novel</i> document class). You have to go get it yourself. Links provided in the documentation.</p>
+<p>File <i>srgb.icc</i> is a re-named copy of file <a href="https://github.com/ellelstone/elles_icc_profiles/blob/master/profiles/sRGB-elle-V2-srgbtrc.icc">sRGB-elle-V2-srgbtrc.icc</a> by Elle Stone.</p>
+<p>File <i>crgb.icc</i> is a re-named copy of file <a href="https://github.com/ellelstone/elles_icc_profiles/blob/master/profiles/ClayRGB-elle-V2-srgbtrc.icc">ClayRGB-elle-V2-srgbtrc.icc</a> by Elle Stone.</p>
+<p><b>License granted by Elle Stone:</b></p>
+<p>The ICC profiles that are included with the profile-making code are released under the Creative Commons Attribution-Share-Alike Unported license, version 3.0 <a href="https://creativecommons.org/licenses/by-sa/3.0/legalcode">https://creativecommons.org/licenses/by-sa/3.0/legalcode</a>.</p>
+</div>
+
+
+
+
+
+
+
+
+</body>
+</html>


Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-extras-README.html
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testimage.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testimage.png
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testimage.png	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testimage.png	2017-11-17 22:18:08 UTC (rev 45839)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testimage.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.tex	2017-11-17 22:18:08 UTC (rev 45839)
@@ -0,0 +1,266 @@
+% !TeX TS-program = LuaLaTeX
+% !TeX encoding = UTF-8
+%
+% TEST SUITE FOR NOVEL DOCUMENT CLASS
+%
+% IF YOU COMPILE THIS DOCUMENT: Be sure that this file, and its generated PDF,
+%   have read/write permissions for any user. If they don't, then
+%   compile will fail at the point where files are written.
+%
+% This document tests the various capabilities of `novel' document class.
+% The Preamble settings are originally the defaults.
+% Change them to exercise the setting, and see the result.
+% In the document body, various commands are exercised.
+%
+% You need all fonts from the `libertinus' package,
+% all fonts from `lmodern' package,
+% and the included NovelDeco.otf.
+%
+% You also need the file` novel-testimage.png'
+% in the same folder as this document.
+% It is grayscale png, 150x150 pixels, with resolution 300pdi.
+% 
+% The `test' class option is required. You may add others.
+\documentclass[test]{novel} % v. 1.46.
+\SetTitle{Test Suite}
+\SetSubtitle{Novel Document Class}
+\SetAuthor{Author Name}
+% Additional Preamble, if desired.
+
+
+\begin{document}
+
+\frontmatter % begins at page i.
+
+\thispagestyle{footer}
+\vspace*{5\nbs}
+\begin{center}
+\charscale[3.6]{\textbf{Test Suite}}\par
+\vspace{1.5\nbs}
+\charscale[1.6]{Novel Document Class}\par
+\vspace{4\nbs}
+\ChapterDeco[6]{\decoglyph{n9548}}
+\vspace{2\nbs}
+\charscale[1.5]{The following page will be completely blank!}\par
+\vfill
+If you choose a head/foot style with footer, then page number i (lowercase roman) will appear in the footer below.\par
+But if the head/foot style has no footer, then nothing below.\par
+\end{center}
+\clearpage
+
+
+% Now to begin at page 1:
+\mainmatter
+
+\begin{ChapterStart}[10]
+\vspace*{3\nbs}
+\ChapterTitle{Chapter One}
+\ChapterSubtitle{Dark and Stormy}
+\ChapterDeco[4]{\decoglyph{n9548}}
+\end{ChapterStart}
+
+This tests the ChapterStart environment, plus \string\ChaterTitle, \string\ChapterSubtitle, \string\ChapterDeco, and \string\decoglyph.
+
+In the TeX document, you can change the height of the environment, the alignment of its components, the decoglpyh, and so forth.
+
+The first paragraph will not be indented, but all following paragraphs will be indented.
+
+Since this is a recto (odd-numbered) page at right side, the default margins will be a little larger at left, where there is an allowance for binding gutter.
+
+Unless you change the head/foot style, you should see no heading. Arabic page number 1 should be at the bottom.
+
+\clearpage
+
+
+% NEXT PAGE:
+
+This page tests all of the linegap environment, the \string\charscale\space command, and \string\rotatebox. The combined effect is shown below:
+\begin{linegap}{10}
+\vspace{1.5\nbs}
+\charscale[2,3em,-4em]{\rotatebox[origin=c]{45}{Random Test Items}}
+\end{linegap}
+Above, you should see the phrase Random Test Items in larger than normal text, tilted 45 degrees, nicely fitting between the text above and this text.  The phrase does not begin at the left margin; this can be changed.
+
+If you change the font size or number of lines per page, then the tilted phrase might not fit nicely. That can be fixed by changing the linegap.
+
+\clearpage
+
+
+% NEXT PAGE:
+
+This page tests \string\BlockImage\space effects. Remember that \textit{novel} uses its own methods of placing images.
+
+\BlockImage[r]{novel-testimage.png}[\pushtextdown{\nbs}Text accompanying image. This text appears to the left of the image. One line above this text was skipped.\par]
+
+Above, the top of the image sits where the baseline of text would be. The current paragraph comfortably clears the bottom of the image.
+
+\null
+
+In the following example,  the accompanying text fills all available lines. This is \textit{not} the same as float/caption in other classes!
+
+\BlockImage[r]{novel-testimage.png}[Text accompanying image.  The fact that this text fills the available area is not automated.\par I first compiled with some random amount of text, then adjusted it so that it filled.\par]
+
+If you change the font size or lines per page, then the accompanying text, above, probably won't fill its space. Or, it may overflow, and mingle with this paragraph. So, this is not a technique with wide applicability.
+
+\null
+
+Below, the image is centered:
+
+\BlockImage[c]{novel-testimage.png}[\pushtextdown{\nbs}This text overlies the image.\par]
+
+\clearpage
+
+
+% NEXT PAGE:
+
+This page tests \string\InlineImage\space effects. Note that the command also has a starred version. The difference: Unstarred, the width of the image is taken into account. Starred, the width of the image is ignored.
+
+\null
+
+\noindent\InlineImage*[0,\normalXheight]{novel-testimage.png}This paragraph is not indented. The starred command places an image, offset so that its top sits at the X-height of the text. The image underlies the following text. If you use this effect, then be sure that the image is much lighter, or the text will be hard to read.
+
+\null\null\null
+
+\noindent\InlineImage[0,b-\normaldescender]{novel-testimage.png}This paragraph is not indented. The unstarred command places an image, offset so that its bottom sits at the descender of the text. It was necessary to insert previous blank lines, or the image would overlie (and obscure) the preceding paragraph.
+
+\null\null
+
+\noindent\InlineImage[0,1.5em]{novel-testimage.png}This paragraph is not indented. The unstarred command places an image, offset so that it rises above the paragraph, and also descends beneath the following text. 
+
+\null\null
+
+In all of the above, the alignments will change, if you change the text size or lines per page.
+
+\clearpage
+
+
+% NEXT PAGE:
+
+This page tests the footnote and endnote capabilities.\footnote{This is the first sample footnote. Unless you change the marker style, it will be marked with an asterisk.} Two footnotes have been placed.\footnote{This is the second footnote. Unless you change the marker style, it will be marked by a dagger.}
+
+\scenebreak
+
+The \string\scenebreak\space command was used above. This paragraph is not indented, unless you change the behavior using \string\SetScenebreakIndent.
+
+\scenestars
+
+As above, but this time marked by three centered asterisks.
+
+\sceneline
+
+As above, but this time marked by a short, centered line.
+
+\QuickChapter[3em]{Just Before Midnight}
+
+Above, \string\QuickChapter\space inserted two blank lines, in which a phrase is followed by a short line. The text is slightly larger than normal, and sits slightly above the normal baseline.
+
+\null
+
+There is a \string\bigemdash\space between here\makebox[2.5em]{\bigemdash}and here. Its length is set at 2.5em, using \string\makebox. Compare to normal—emdash. Thickness and yoffset is adjustable.
+
+\null
+
+This tests the endnote capability.\endnote You will see marker 1 after the last sentence, and marker 2 after this one.\endnote\memo{This text does not print.} But no actual endnotes are created. You may manually place them wherever you wish. For that, you may use the \string\endnotetext\space command (if its style works for you), or any other method.
+
+\null
+
+\endnotetext{1}{This tests the \string\endnotetext\space command, although you would not normally place the text of an endnote here. It is only a test.\par}
+
+\endnotetext{2}{Text for a second endnote.\par}
+
+\clearpage
+
+
+% NEXT PAGE:
+
+The following tests the \textit{parascale}  and \textit{linegap} environments:
+
+\begin{linegap}{8}
+\vspace{0.4\nbs}
+\begin{parascale}[0.8]
+This text has a different scale than normal. Both the font size and the baseline skip have been proportionately changed. As a result, the lines are not on the normal line grid.\par
+If the following normal text needs to be back on grid (usually the case), there are two possible solutions: (1) Compile, note the number of lines occupied by this text, then calculate how much vertical space must be added, to restore the grid. Manually add that space, usually splitting it top and bottom. (2) Place \textit{parascale} within a \textit{linegap} environment. This will restore the grid. You will still have to compile, and count lines\par
+\end{parascale}
+\end{linegap}
+
+Back to normal text. The above scaled text is wrapped in \textit{linegap}. The gap is not necessarily the number of lines in the scaled text. It is the number of normal lines that occupy that vertical space.
+
+At the dimensions originally used for this test, there are 9 lines of scaled text. They occupy more or less 7 lines of normal vertical space. However, I chose an 8 line gap, then added a little \string\vspace\space above the scaled text. I think this looks nicer.
+
+If you change the dimensions used for this test, then the scaled text and its surrounding will probably not align properly. So, before you use \textit{parascale}, plan ahead by making your settings final.
+
+\null
+
+\begin{adjustwidth}{2\normalparindent}{\normalparindent}
+\forceindent This text uses the \textit{adjustwidth} environment. It is set to block indent 2\string\normalparindent\space at left, and indent 1\string\normalparindent\space at right. The \string\forceindent\space command precedes the text, so that (within the block) it indents like an ordinary paragraph.\par
+\end{adjustwidth}
+
+\clearpage
+
+
+% NEXT PAGE:
+
+This tests various text effects:
+
+\null
+
+\FirstLine{\noindent\charscale[2]{T}\hspace{-2pt}his line has its first letter enlarged, and sets the first line in small caps. After the first line, text continues as usual. Note that space must be provided prior to this paragraph, so that the first letter does not intrude on text (or margin) above it.}
+
+The \string\charscale\space command scales the letter, and \string\FirstLine\space performs the small caps. Also, some kerning was applied so that the large T has the following \textsc{h} resting beneath its top. The \string\noindent\space command goes inside \string\FirstLine.
+
+\null\null
+
+\lettrine{H}{ere}, is placed is a drop cap, using \string\lettrine. But you will only see the drop cap if you place \string\RequirePackage\{lettrine\} in the Preamble. Otherwise, you will not see anything unusual. This behavior is specific to the test suite. Anywhere else, if you try to use \string\lettine\space without loading the package, an error will result.\par
+In general, it is difficult to style drop caps so that they look good for many different letters. An alternative is to use images for the drop caps. If you use images, please read the \textit{novel} documentation, as the method is not the same as the usual methods from the \textsc{lettrine} package.\par
+Note that there is no automated way to combine a drop cap with a first line in small caps. This is discussed in \textsc{novel} documentation.
+
+\null
+This line is in the main font.\par
+\textsf{This line is in the sans font.}\par
+\texttt{This line is in the mono font.}\par
+{\mustbelibertinus This line is in Libertinus Serif.}\par % specific to testsuite
+{\mustbelmodern This line is in Latin Modern Roman.}\par % specific to testsuite
+
+
+\clearpage
+
+
+% NEXT PAGE:
+
+\thispagestyle{dropfoliobeneath}
+
+This page tests drop folio. There will be no page header. If your head/foot style normally has a footer, then you will see it as usual.
+
+If you choose a head/foot style without footer, you will still see a page number centered below. Exactly where it appears will depend on which kind of drop folio is used.
+
+If using \string\thispagestyle\{dropfoliobeneath\} then the page number will appear within the lower margin.
+
+If using \string\thispagestyle\{dropfolioinside\} then the page number will appear just above the lower margin, where the final line of text would otherwise be placed. 
+
+Use class options [draft,shademargins] to see the position.
+
+The initial choice is \textit{dropfoliobeneath}.
+
+\clearpage
+
+% NEXT PAGE:
+
+This tests the \string\cleartoend\space command. If this page is recto (odd), then exactly one blank page will follow. If this page is verso (even), then exactly two blank pages will follow.
+
+\null\null
+
+You may change the settings in the Preamble, or try additional settings.
+
+\null\null
+
+If you have the Adobe Acrobt Pro software,  then you can also test for PDF/X compliance:
+
+First, add \lnum{\string\SetPDFX[CGATSTR001]\{X-1a:2001\}} to the Preamble. Then compile, and verify that the resulting PDF meets the standard, without embedded *.icc profile.
+
+Note that if you use an image other then the included \textit{novel-testimage.png}, then your own image must be prepared according to the specification in \textit{novel} documentation. Otherwise, an incorrectly prepared image will cause PDF/X compliance to fail.
+
+
+\cleartoend % ensures final page is blank verso
+
+\end{document}
+


Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstletterspecial.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstletterspecial.png
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstletterspecial.png	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstletterspecial.png	2017-11-17 22:18:08 UTC (rev 45839)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstletterspecial.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstlinespecial.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstlinespecial.png
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstlinespecial.png	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstlinespecial.png	2017-11-17 22:18:08 UTC (rev 45839)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/firstlinespecial.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/gnome-censored.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/gnome-censored.png
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/gnome-censored.png	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/gnome-censored.png	2017-11-17 22:18:08 UTC (rev 45839)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/gnome-censored.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/irategnome.png
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/lualatex/novel/novel-documentation.html
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/novel-documentation.html	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/novel-documentation.html	2017-11-17 22:18:08 UTC (rev 45839)
@@ -30,7 +30,7 @@
 div.d6 {margin:0px 0px 16px 16px; padding-bottom:0.5em; border-top:0; border-right: 0px; border-bottom:1px dotted #666666; border-left:1px dotted #666666;}
 div.page {padding:16px 0px 16px 0px; border-top:4px solid #505050;}
 div.codeblock {overflow:auto; margin:16px; padding: 8px; border: 1px solid #000000;}
-code {font-family:monospace,monospace; font-size:92%; color:#200050; background:transparent none; padding:0px 3px 0px 3px;}
+code {font-family:monospace,monospace; color:#200050; background:transparent none; padding:0px 3px 0px 3px;}
 *.smaller {font-weight:normal; font-size:88%;}
 *.noindent {text-indent:0px;}
 *.noindent1 {text-indent:0px; margin-top:8px;}
@@ -342,7 +342,15 @@
           <li><a href="#h5.3.1">5.3.1 \SetScenebreakIndent</a></li>
         </ul>
       </li><!-- end 5.3 -->
-      <li id="l5.4"><span class="n" style="visibility:hidden"></span><a href="#h5.4">5.4 Chapter Numbering</a></li><!-- end 5.4 -->
+      <li id="l5.4"><span class="n" style="visibility:hidden"></span><a href="#h5.4">5.4 Chapter Numbering</a>
+      </li><!-- end 5.4 -->
+      <li id="l5.5"><span class="n"></span><a href="#h5.5">5.5 First Lines</a>
+        <ul id="u5.5">
+          <li><a href="#h5.5.1">5.5.1 First Character Special</a></li>
+          <li><a href="#h5.5.2">5.5.2 First Line Small Caps</a></li>
+          <li><a href="#h5.5.3">5.5.3 Drop Caps</a></li>
+        </ul>
+      </li><!-- end 5.5 -->
     </ul>
   </li><!-- end 5 -->
 
@@ -470,6 +478,7 @@
               <li><a href="#h8.3.2.10">8.3.2.10 Author's Note</a></li>
               <li><a href="#h8.3.2.11">8.3.2.11 Map</a></li>
               <li><a href="#h8.3.2.12">8.3.2.12 Second Half-Title</a></li>
+              <li><a href="#h8.3.2.13">8.3.2.13 End of Front Matter</a></li>
             </ul>
           </li>
           <li id="l8.3.3"><span class="n"></span><a href="#h8.3.3">8.3.3 Main Matter</a>
@@ -565,12 +574,13 @@
 <!-- **************************************************************************************** -->
 
 <h1 id="h0">Document class <i>novel</i> - documentation</h1>
-<p class="noindent">Version: 1.43.1, 2017/11/12. <span id="screennoscript" class="screennoscript"><b>For enchanced navigation of this file, turn on JavaScript.</b></span></p>
+<p class="noindent">Version: 1.46, 2017/11/17. <span id="screennoscript" class="screennoscript"><b>For enchanced navigation of this file, turn on JavaScript.</b></span></p>
 <div><script type="text/javascript">if(document.getElementById("screennoscript")){document.getElementById("screennoscript").style.display="none";}</script></div>
 <p class="noindent" style="position:relative"><span style="position:absolute; top:-.1em; font-size:150%; color:#008000">☺</span>      An example novel, text and cover, can be found at the <a class="external" rel="external" target="new" href="https://github.com/RobtAll/novel/">GitHub project page, https://github.com/RobtAll/novel/</a>, in the "other" folder. You will find its TeX source and the resulting PDF. The PDF text and cover meet submission standards for major American print-on-demand services.</p>
 <p>A smaller example document is <i>novel-example.tex</i>, which can be found in the <i>extras</i> folder within this documentation.</p>
 <p class="notprinted"><b>Printing this file:</b> A printed version (PDF or paper) has condensed Table of Contents, and inactive hyperlinks. If your user agent has trouble printing, do this: In a UNIX-compatible plain text editor, edit this file. About 83 lines from the top you will see a block of style that is commented out. Remove the comments so that the block is effective. Load the edited HTML file with JavaScript turned off.</p>
 <p class="notprinted">Some user agents have difficulty previewing this HTML file for print, or printing it. If you wish to print (to PDF or paper) then try this: Copy the HTML file, and name the copy <i style="white-space:nowrap">novel-documentation-print.html</i>. That might (or might not) help. In any case, the printable format of this file has an abbreviated list of contents at the top, not as a sidebar.</p>
+<p><b>Attention:</b> Changed behavior of <code>\BlockImage</code> in v. 1.46. See <a href="#hG">issue G.3</a></p>
 <p> </p>
 
 
@@ -650,7 +660,7 @@
 <div class="d5" id="d1.2.1.1">
 <p class="noindent">The pre-loaded <i>polyglossia</i> package (not <i>babel</i>) provides language support. By default, <i>novel</i> is configured for American English.</p>
 <p>If your document's language is something else, or if you will be writing in multiple languages, see the <i>polyglossia</i> package documentation regarding <code>\setdefaultlanguage</code> and other commands.</p>
-</div><!-- end 1.2.2.2 -->
+</div><!-- end 1.2.1.1 -->
 </div><!-- end 1.2.1 -->
 
 <h4 id="h1.2.2">1.2.2. Do Not Load Fonts via <code>\usepackage</code> or <code>\RequirePackage</code></h4>
@@ -1471,13 +1481,13 @@
 <p>The styled text is limited to one line (no wrap). If you have a long chapter title or subtitle, then break it into pieces of manageable size, by repeating the command(s). Example:</p>
 <p class="code"><img class="floatright" src="html-resources/chaptertitlesubtitle.png" width="338" height="179" title="chapter title and subtitle, left aligned" alt="chapter title and subtitle, left aligned"/>
 <code><small>
-\begin{ChapterStart}
-\vspace{2\nbs}
-\ChapterTitle[l]{XV}
-\vspace{\nbs}
-\ChapterSubtitle[l]{In which Lord Withens, returned from his quest,}
-\ChapterSubtitle[l]{encounters an Army of Gnomes at his castle gate.}
-\end{\ChapterStart}
+\begin{ChapterStart}<br/>
+\vspace{2\nbs}<br/>
+\ChapterTitle[l]{XV}<br/>
+\vspace{\nbs}<br/>
+\ChapterSubtitle[l]{In which Lord Withens, returned from his quest,}<br/>
+\ChapterSubtitle[l]{encounters an Army of Gnomes at his castle gate.}<br/>
+\end{\ChapterStart}<br/>
 Following the dark and stormy night, it was a bright and sunny day. That did nothing to improve the demeanor of Lord Withens, who was still soaked from riding through the rain. ...\par
 </small></code></p>
 </div><!-- end 5.1.3.2 -->
@@ -1626,9 +1636,40 @@
 <p class="centerimg"><img src="html-resources/robberies.png" width="411" height="98" title="odinal chapter numbering" alt="ordinal chapter numbering"/></p>
 </div><!-- end 5.4 -->
 
+<h3 id="h5.5">5.5. First Lines and Drop Caps</h3>
+<div class="d3" id="d5.5">
+<p class="noindent">The first line of chapter text is often treated with a style of its own. Often, all or part of the first line is in small caps. The first letter may be larger than the rest. Or, the first letter may occupy several lines (sometimes using an image). This last effect is known as <i>drop cap</i> (French <i>lettrine</i>).</p>
 
+<h4 id="h5.5.1">5.5.1. First Character Special</h4>
+<div class="d4" id="d5.5.1">
+<p class="noindent">Use the <code>\charscale</code> command to size the first letter (or more than one letter) so that it stands above the remainder of the line. Remember that you will see a capital letter standing next to lowercase letters, so it will appear taller. You may also use a font command. Example, where <code>\NewFontFace\alexbrush{AlexBrush-Regular.ttf}</code> appears in Preamble:</p>
+<p class="code"><code>
+\noindent\charscale[1.6]{\alexbrush I}\hspace{0.2em}t was a dark and stormy night. Well, it really wasn't all that dark, seeing as how this story is set in Las Vegas.
+</code></p>
+<p class="centerimg"><img src="html-resources/firstletterspecial.png" width="680" height="83" alt="first letter special" title="first letter special"/></p>
+</div><!-- end 5.5.1 -->
 
+<h4 id="h5.5.2">5.5.2. First Line Small Caps</h4>
+<div class="d4" id="d5.5.2">
+<p class="noindent">If you want to place a portion of the first line in small caps, then simply do it using <code>\textsc{text}</code>. This effect can also continue to additional lines. That is, it does not automatically stop at the end of the first line.</p>
+<p>The <i>magaz</i> package is pre-loaded in <i>novel</i>. It provides the <code>\FirstLine</code> command, which takes the entire first paragraph as its argument. Place <code>\noindent</code> inside. You may also style the first letter (or more than one) as described above; the styled letter appears inside the <code>\FirstLine</code> command. Example:</p>
+<p class="code"><code>
+\FirstLine{\noindent\charscale[1.6]{\alexbrush I}\hspace{0.2em}t was a dark and stormy night. Well, it really wasn't all that dark, seeing as how this story is set in Las Vegas.}
+</code></p>
+<p class="centerimg"><img src="html-resources/firstlinespecial.png" width="682" height="84" alt="first line small caps" title="first line small caps"/></p>
+</div><!-- end 5.5.2 -->
 
+<h4 id="h5.5.3">5.5.3. Drop Cap</h4>
+<div class="d4" id="d5.5.3">
+<p class="noindent">The <i>lettrine</i> package is pre-loaded and pre-configured in <i>novel</i>. The configuration forces lines to remain on grid. Lines are not added if the drop cap rises above prevailing text (DiscardVskip is very large). The Findent is set to 0.25em, and Nindent is set to 0em.</p>
+<p>For information, see the <i>lettrine</i> package documentation and examples. Be aware that creating good-looking drop caps is harder than you think, even with automation. That is because you will be visually comparing an enlarged letter to surrounding normal text, and it is difficult to align the drop cap with the margin, in a way that looks right. In any case, drop caps are rarely used in popular fiction.</p>
+<p>Do not use the <code>[image=true]</code> option with <i>lettrine</i>. Instead, place an image using <i>novel's</i> own <code>\InlineImage</code> command. If you set its vertical offset at baseline, then the bottom of the image will align with the baseline of the final line in the displaced text.</p>
+<p>Note that <code>\lettrine</code> has an additional argument after the drop cap.</p>
+<p>You cannot use <code>\lettrine</code> in conjunction with <code>\FirstLine</code>. This is a fact of life. If you wish to use a drop cap and also have the first line in small caps, do this: Use empty braces <code>{}</code> as the final argument to <code>\lettrine</code>. Then use <code>\textsc</code> with enough text to continue to the second line. Note where the first line ends. Then, move the closing brace of <code>\FirstLine</code> to that position. You may place the closing brace in the middle of a word, at a hyphenation point, if you wish (do not manually add the hyphen). This is the only method that provides a satisfactory layout.</p> 
+</div><!-- end 5.5.3 -->
+</div><!-- end 5.5 -->
+
+
 </div><!-- end 5 -->
 </div><!-- end page05 -->
 <!-- ************************************************************ -->
@@ -1805,7 +1846,7 @@
 <div class="d4" id="d6.3.1">
 <p class="noindent">• The <code>\raisebox</code> command does not play well with novel. It can be used, but there is the great risk of disturbing the line grid. Use <code><a href="#h6.1.2">\charscale</a></code> instead.</p>
 <p>• If you must use the <code>\vspace</code> command (or its relative, <code>\vskip</code>) be sure to measure the space in units of <code>\nbs</code> (normal baseline skip).</p>
-<p>• Avoid the <i>minipage</i> and <i>parbox</i> environments. These are likely to disrupt the line grid. When that happens, restoring the grid is your own responsibility. You may find the <i>adjustwidth</i> environment to be a useful alternative.</p>
+<p>• Avoid the <i>minipage</i> and <i>parbox</i> environments. These are likely to disrupt the line grid. When that happens, restoring the grid is your own responsibility. You may find the <i>adjustwidth</i> and <i>linegap</i> environments to be useful, as described in the next section.</p>
 <p>• In most cases, do not use the center environment. You may use <code>{\centering ... \par}</code> instead, for a single paragraph. The center environment may cause the text to go off-grid. That's not a problem on some stand-alone pages where you don't care about the grid, but it is ugly in the middle of running text.</p>
 <p>• Avoid positioning via the <i>textblock</i> or <i>textblock*</i> environments (package <i>textpos</i>). Actually, <i>novel</i> uses that code internally. But if not handled with more care than usual, positioned text can disrupt the baseline and position of surrounding text. You may use <code><a href="#h6.1.2">\charscale</a></code> to position small amounts of text safely, but not on a paragraph basis. Images have built-in positioning arguments, which may also be useful for positioned text.</p>
 <p>• Do not use floats. If you try, then <i>novel</i> may intercept them with a nasty message.</p>
@@ -1819,6 +1860,15 @@
 <p class="noindent">This is not a complete list. It merely addresses a few situations that you are likely to encounter, without the need for elaborate code, and without loading additional packages.</p>
 <p style="margin-top:10pt"><code>\begin{adjustwidth}{<em>left</em>}{<em>right</em>} ... \end{adjustwidth}</code></p>
 <p>This environment, from the included <i>changepage</i> package, is the most useful way to create block indents. The included text may have multiple paragraphs and span pages. The left and right arguments are lengths, being the amount to <em>increase</em> the respective margins from their normal values.</p>
+<p style="margin-top:10pt"><code>\begin{linegap}{<em>integer</em>} ... \end{linegap}</code></p>
+<p>This environment creates a gap of <i>integer</i> lines. Then, the following text will be on-grid, regardless of what you place inside the environment. If the contents are small relative to the gap, there will be a lot of white space. If the contents are too large, then they will overflow the gap and overlap the following text, rather than push it down.</p>
+<p>This environment is particularly useful when it contains highly styled text, because you don't have to calculate a <code>\vspace</code> to restore the following line grid. Pick a likely gap, then make it larger or smaller as desired.</p>
+<p>The environment fails if it crosses a page boundary. There will be no error, merely an undesired result. Be sure to plan your writing so that the linegap remains on a single page.</p>
+<p>If you use a non-integer linegap, it will be processed that way, but there will be a warning in the log file. The only reason it is not an error, is that a non-integer linegap might be useful on some display pages.</p>
+<p style="margin-top:10pt"><code>\rotatebox{<em>text</em>}</code></p>
+<p>This command is from the included <i>graphicx</i> package. It rotates the text, about an axis at the lower left of the text. If you wish to rotate the text about its center, use <code>\rotatebox[origin=c]{text}</code>.</p>
+<p>This command plays nicely with <code>\charscale</code>, so you can size, rotate, and displace a string of text (single line). It makes a difference which command goes inside the other. More likely than not, the effect you want is obtained by using <code>\charscale</code> on the outside, with <code>\rotatebox</code> inside.</p>
+<p>To avoid disturbing the line grid, <code>\rotatebox</code> is best used inside the <i>linegap</i> environment.</p>
 <p style="margin-top:10pt"><code>\phantom{<em>text</em>}</code></p>
 <p>Does not print the text, but leaves a horizontal gap as if the text were there.</p>
 <p style="margin-top:10pt"><code>\mbox{<em>text</em>}</code></p>
@@ -2048,16 +2098,17 @@
 <h3 id="h7.3">7.3. Placing Images In Your Document</h3>
 <div class="d3" id="d7.3">
 <p class="noindent">An image may be placed as an inline element, using the <code>\InlineImage</code> or <code>\InlineImage*</code> command. This allows the image to mingle with text, and even have text as an overlay.</p>
-<p><code>\BlockImage</code> places the image so that <em>subsequent</em> text will clear the bottom of the image, and be on the baseline grid. You may also <em>accompany</em> the image with text in its own block space, if you wish.</p>
+<p><code>\BlockImage</code> places the image as a block element. It may be accompanied by text, within the same block. IMPORTANT: Beginning with version 1.46, the behavior of this command has changed. See its description, below.</p>
 <p>If your book has a lot of images mingled with text, then you should consider using a page layout program (such as Scribus) instead of TeX. That's because the best strategies for an image-intensive picture book are very different from the strategies adoped by <i>novel</i>.</p>
 <p>• Beware of image overlap. Images are not allowed to overlap each other, in the kind of commercial printing that is likely to be used for your book. However, since overlap is generally legal in PDF, TeX will not issue an error.</p>
 <p>• Do not use the ordinary TeX commands, or environments, for floats or figures.</p>
+<p>• Do not rotate an image in TeX. Prepare the rotated image in a graphics program, flatten it at correct size and dpi, then insert the pre-rotated image.</p>
+<p>• Do not scale or crop an image in TeX. Do it in a graphics program. Be sure that the finished image is flattened, at correct size and dpi.</p>
 
-<h4 id="h7.3.1">7.3.1. <code>\charscale[<em>scale,hoffset,voffset</em>]{<em>text</em>}</code> and starred version</h4>
+<h4 id="h7.3.1">7.3.1. Image-Like Effects in Text</h4>
 <div class="d4" id="d7.3.1">
-<p class="noindent">The <code>\charscale</code> command pertains to text, not images. It is mentioned here because it can place text almost anywhere on a page, even overlapping other text or previously-placed images. Thus, it provides an image-like effect.</p>
-<p>The command is documented in <a href="#h6.1.2">section 6.1.2</a>.</p>
-</div><!-- end 7.4.1 -->
+<p class="noindent">You may scale, rotate, and displace text. This is done using text commands, and the result is still text. When cleverly done, it provides an image-like effect. See <a href="#h6">section 6</a> for the possibilities.</p> 
+</div><!-- end 7.3.1 -->
 
 <h4 id="h7.3.2">7.3.2 <code>\InlineImage[<em>hoffset,voffset</em>]{<em>imageFile.png or .jpg</em>}</code> and starred version</h4>
 <div class="d4" id="d7.3.2">
@@ -2065,9 +2116,11 @@
 <p>You may offset the image horizontally or vertically. Positive direction is to the right and up. If you use one offset, then you must use both (if necessary, <i>0em</i>). Any units of length may be used, but the preferred units are <i>em</i> or <code>\textwidth</code> for horizontal, and <i>em</i> or <code>\nbs</code> for vertical, because these are most compatible with the <code><a href="#hA">\Rework</a></code> commands.</p>
 <p>By default, the <em>top</em> of the image is at the text baseline. If you prefer that the <em>bottom</em> of the image be at the text baseline, use voffset <i>b</i>. Example:</p>
 <p class="code"><code>\InlineImage[0em,b]{imageFile.png}</code></p>
-<p>Thanks to the included <i>calc</i> package, offsets may use <code>\widthof{<em>text</em>}</code> and/or <code>\heightof{<em>text</em>}</code> as lengths. The most useful of these is when you wish to align the top of an image at the X-height of surrounding text:</p>
+<p>Thanks to the included <i>calc</i> package, offsets may use <code>\widthof{<em>text</em>}</code>, <code>\heightof{<em>text</em>}</code>, or <code>\depthof{<em>text</em>}</code>  as lengths. The most useful of these is when you wish to align the top of an image at the X-height of surrounding text:</p>
 <p class="code"><code>\InlineImage[0em,\heightof{X}]{imageFile.png}</code></p>
 <p>You may also use <code>\heightof{\Aring}</code> for the tallest accented letter normally found in Latin-1.</p>
+<p>Another possibility is to align the bottom of an image with the lowercase descender:</p>
+<p class="code"><code>\InlineImage[0em,b-\depthof{gjpqy}]{imageFile.png}</code></p>
 <p>Lengths <code>\imagewidth</code> and <code>\imageheight</code> may also be used for offsets. These lengths remain set, and can be used for other purposes (such as displacing text) until another image is placed.</p>
 <p>Offsets may be written as combinations of lengths. If you use the baseline <i>b</i> as above, it must be the first character of voffset. If you use <code>\widthof</code> or <code>\heightof</code>, then its backslash must be the first character <em>unless</em> it is preceded by another length. Thus, an offset of <code>-\heightof{X}</code> is prohibited, but you can use <code>0pt-\heightof{X}</code>.
 <p>Here are some examples of allowable code:</p>
@@ -2099,28 +2152,30 @@
 <p class="centerimg"><img src="html-resources/inlineimagest.png" width="651" height="249" alt="example of InlineImage*"/></p>
 </div><!-- end 7.3.3 -->
 
-<h4 id="h7.3.4">7.3.4. <code>\BlockImage[<em>alignment,hoffset,voffset</em>]{<em>imageFile.png or .jpg</em>}[<em>text</em>]</code></h4>
+<h4 id="h7.3.4">7.3.4. <code>\BlockImage[<em>alignment,hoffset,voffset</em>]{<em>imageFile.png or .jpg</em>}[<em>accompanying text</em>]</code></h4>
 <div class="d4" id="d7.3.4">
-<p class="noindent">Note that <code>\BlockImage</code> has an optional argument that <i>precedes</i> the mandatory image file name. It has another optional argument that <i>follows</i> the file name. If this second option is used, there must be no space between <code>}[</code>.</p>
-<p>The first optional argument has up to three comma-separated values. The first is alignment: <i>l</i>, <i>c</i>, or <i>r</i> for left, center, or right. The second and third values are hoffset and voffset. Unlike the <code>\InlineImage</code> command, do not use <i>b</i> to indicate vertical position relative to the image bottom; it is always at the top with this command. The default alignment is centered, without offsets.</p>
-<p>An automatic calculation clears the height of the image. Subsequent text will be on grid. This is the right thing to do when the image and included text fit on a single page. But if they cannot both fit on a single page, an unusual layout will result.</p>
+<p>The <code>\BlockImage</code> command places its image as a block element, distinct from the preceding or following text. Be sure to close the preceding paragraph before writing <code>\BlockImage</code>.</p>
+<p>The command takes an optional argument with up to three comma-separated values. The first is <i>alignment</i>: <code>l</code>, <code>c</code>, or <code>r</code> for left, center, or right. The second and third values are lengths, <i>hoffset</i> and <i>voffset</i> for the image. Positive offsets are up and right.</p>
+<p>Unlike the <code>\InlineImage</code> command, you may not use "b" in the vertical offset. By default top of the image is aligned to the baseline of where text would be, if you did not place an image. You may find that <code>\normalXheight</code> is a useful vertical offset, at it aligns the top of the image to where the X-height would be.</p>
+<p>Following the mandatory image filename, an optional argument allows text to appear in the same block as the image. See the next section.</p>
+<p>An automatic calculation ensures that text after <code>\BlockImage</code> will comfortably clear the bottom of the image (taking its voffset into account). The text will be on-grid.</p>
+<p>Remember that TeX does not care if the image overflows into the margins. Thus, you must review the PDF to ensure that an image does not appear in an unsuitable location. You can visualize margins using the <i>draft,shademargins</i> document class options.</p>
 </div><!-- end 7.3.4 -->
 
 <h4 id="h7.3.5">7.3.5. <code>\BlockImage</code> with Accompanying Text</h4>
 <div class="d4" id="d7.3.5">
-<p class="noindent">The second optional argument of <code>\BlockImage</code>, following the image file name, may contain text that will accompany the image in the same block of space. The text is left-aligned like ordinary text, no matter which alignment you use for the image. The text may be in more than one paragraph, and may use <code>{\centering ...\par}</code> or <code>\begin{adjustwidth} ... \end{adjustwidth}</code> for positioning relative to the image. The text may overlie the image, using <code>\charscale</code>. You may need to use <code>\forceindent</code> or <code>\backindent</code> to control how the text appears. Note that you cannot automatically "flow" text around an image in <i>novel</i> class.</p>
+<p><b>Attention:</b> Changed behavior of <code>\BlockImage</code> in v. 1.46. See <a href="#hG">issue G.3</a></p>
+<p class="noindent">The second optional argument of <code>\BlockImage</code>, following the image filename, may contain text that will accompany the image in the same block of space. The text may be more than one paragraph.</p>
+<p>If the image is aligned at left or right, then the accompanying text block will be separated from the image by the length of the normal paragraph indent. Within this block, the text will be justified. The usual indentation rules apply.</p>
+<p>If the image is aligned at center, then the accompanying text will also be centered (and usually will overlie the image). If you wish to confine the width of this text block to less than the full page text width, then wrap the accompanying text (inside the brackets) in an <i>adjustwidth</i> environment.</p>
+<p>Whatever the alignment of image offset, the first line of accompanying text will be vertically located on-grid, where the first line of text would ordinarily sit. If you wish to displace it vertically, then begin the accompanying text with <code>\pushtextdown{<em>length</em>}</code>. It is best to measure the length in terms of the normal baselineskip, <code>\nbs</code>.</p>
+<p>Note that you cannot automatically "flow" text around an image in <i>novel</i> class. Although there is a LaTeX package that will do that, parts of it are incompatible with the grid structure of <i>novel</i>, so the package is disallowed. If you cleverly place just the right amount of accompanying text, then you can fill the area next to the image; but this is not automated.</p>
+<p>If you write too much accompanying text, it will overflow into the text that follows. There is no automatic increase in the vertical space reserved for the image.</p>
 <p>Example:</p>
-<p class="code">
-<code>
-It was a dark and stormy night. Lord Withens mounted his horse and rode through the darkness, accidentally trampling some petunias in Her Ladyship's garden.\par<br/>
-\BlockImage[l]{gnome.png}[\begin{adjustwidth}{8em}{0pt}\forceindent Suddenly he was confronted by an irate gnome, who expressed an opinion in the crudest of language, even for a gnome.\par<br/>
-Lord Withens was taken aback. How dare this mere gnome speak to him in such a tone of voice? But then he remembered that the gnomes had gone to college, where swearing was routine.\par\end{adjustwidth}]<br/>
-\charscale[1, 5\nbs]{CENSORED}\forceindent Lord Withens shrugged, and rode on. There was nothing to do but remain silent, this time taking more care. He would speak with his wife about the gnome situation when he returned.\par
-</code></p>
-<p class="centerimg"><img src="html-resources/irategnome.png" width="639" height="423" alt="example of BlockImage with accompanying text"/></p>
-<p>In the above example, the text to the right of the image happens to have just the right number of lines to fill the available area. But that is only because I wrote it that way. If I had written less, then there would be one or more blank lines before the subsequent text ("Lord Withens shrugged..."). If I had written more, then the subsequent text would have been pushed down by the necessary number of lines, and there would have been more white area underneath the gnome.</p>
-<p>Thus, this technique requires careful inspection, particularly if there is the danger that the image or accompanying text may overflow the bottom of the page.</p>
-<p>Note that I used the start of the following text as a reference point for placing CENSORED over the gnome. That is not the only way it could have been done, but it was easy to discern the necessary offset.</p>
+<p class="code"><code><small>It was a dark and stormy night. Lord Withens mounted his horse and rode through the darkness, accidentally trampling some petunias in Her Ladyship's garden.\par<br/>
+\BlockImage[r]{gnome.png}[\pushtextdown{2\nbs}Suddenly he was confronted by an irate gnome, who expressed an opinion in the crudest of language, even for a gnome.\par]<br/>
+Lord Withens shrugged, and rode on. There was nothing to do but remain silent, this time taking more care. He would speak with his wife about the gnome situation when he returned.\par</small></code></p>
+<p class="centerimg"><img src="html-resources/gnome-censored.png" width="437" height="270" alt="example of BlockImage with accompanying text"/></p>
 <p>• In general, avoid using accompanying text with an image, with the possible exception of titles and other special layouts. There is little need for it in the flowing text of a novel. If you find that you need to use it frequently, then perhaps your book would benefit from a page layout program such as <i>Scribus</i>, instead of TeX.</p>
 </div><!-- end 7.3.5 -->
 </div><!-- end 7.3 -->
@@ -2589,8 +2644,14 @@
 <p><i style="cursor:help" title="Chicago Manual of Style">CMoS</i> recommends that a second Half-Title be the first page of main matter. Thus, it would be page 1, with the actual story beginning on page 3. But it acknowledges that a <i>common practice</i> is for a second Half-Title and its verso to remain part of front matter, so that main matter begins with the story on page 1. Although I have seen a few books that follow the <i style="cursor:help" title="Chicago Manual of Style">CMoS</i> recommendation, it appears that the great majority of them follow the <i>common practice</i>.</p>
 <p>If your book has <a href="#h8.3.3.2">Part Separators</a> in main matter, then you can do without a second Half-Title.</p>
 </div><!-- end 8.3.2.12 -->
-</div><!-- end 8.3.2.1 -->
 
+<h5 id="h8.3.2.13">8.3.2.13. Final Page of Front Matter</h5>
+<div class="d5" id="d8.3.2.13">
+<p class="noindent">The final page of front matter is always verso. It is almost always blank. The easiest way to insert a blank page is to write <code>\cleartorecto</code> at the end of the preceding recto page.</p>
+<p>Why is the final page of front matter almost always blank? It is because it faces the opening page of the main story, and you don't want to show anything that detracts from the scene or mood. But there are exceptions. For example, an Epigraph might usefully contribute to the setting. Or, in the case of an old-style English murder mystery (where you already know that the murderer did it with arsenic to inherit the family estate), a map of the estate, or a family tree, would not detract from the setting. The choice is yours.</p>
+</div><!-- end 8.3.2.13 -->
+</div><!-- end 8.3.2 -->
+
 <h4 id="h8.3.3">8.3.3. Main Matter</h4>
 <div class="d4" id="d8.3.3">
 <p class="noindent">Main matter begins with the <code>\mainmatter</code> command. It forces its page to recto, changes the page numbering to Arabic, and sets the count to 1.</p>
@@ -3182,19 +3243,32 @@
 
 <h2 id="hG">Appendix G. Known Issues</h2>
 <div class="d2" id="dG">
-<p class="noindent">Here is a list of known issues (and solutions, if known). Remember that "only compile with lualatex" is not an issue; it is a feature! Also remember that academic-like commands and modes are often disabled in this document class. That is also a feature, not an issue.</p>
+<p class="noindent">Here is a list of known issues (and solutions, if known). Remember that "only compile with lualatex" is not an issue; it is a feature! Also remember that academic-like commands and modes are often disabled in this document class. That is a feature, not an issue.</p>
+<p>Issues may be reported at the <a class="external" rel="external" target="new" href="https://github.com/RobtAll/novel">GitHub project page</a> or by e-mail if you don't have a GitHub account. The e-mail address is near the top of the <i>novel.cls</i> file. These may change at some future time.</p>
+<p>Before reporting an issue, attempt to compile the file <i>novel-testsuite.tex</i>. Make a copy of that file, and also copy the required image <i>novel-testimage.png</i>. Place the copies in your home directory, or some other location where you have read/write privilege. If compile fails, see if your TeX distribution is incomplete or out-of-date.</p>
+<p>You may ask for new features, but don't expect any. The <i>novel</i> class is focused on doing one thing well, not several things poorly. That's why several standard LaTeX features are disabled.</p>
 
-<h3 id="hG.1"><span class="n"></span>G.1. Incorrect string placement with package <i>fmtcount</i></h3>
+
+<h3 id="hG.1"><span class="n"></span>G.1. (Solved) Incorrect string placement with package <i>fmtcount</i></h3>
 <div class="d3" id="uG.1">
 <p class="noindent">Solved. See <a href="#h5.4">section 5.4</a>.</p>
 </div><!-- end G.1 -->
 
-<h3 id="hG.2"><span class="n"></span>G.2. Compile fails after changing default language</h3>
+<h3 id="hG.2"><span class="n"></span>G.2. (Solved) Compile fails after changing default language</h3>
 <div class="d3" id="uG.2">
 <p class="noindent">Solved. If you compile a document sucessfully, then re-compile with a different <code>\setdefaultlanguage</code> setting, then compile may fail the second time. It may stop with error message "You can't use \relax after \the."<p>
 <p>This depends on which languages are involved. The solution is simple: Discard the <i>*.aux</i> and <i>*.synctex.gz</i> files generated by previous compilation. Then try again.</p>
+</div><!-- end G.2 -->
 
+<h3 id="hG.3"><span class="n"></span>G.3. (Solved) Changed Behavior of \BlockImage</h3>
+<div class="d3" id="uG.3">
+<p class="noindent">Prior to version 1.46, the <code>\BlockImage</code> command attempted to measure the height of the image, measure the height of its acommpanying text block (if any), and automatically clear the maximum of the two.</p>
+<p>However, the calculation could be disrupted by a variety of text effects. Since it was unreliable, the behavior of <code>\BlockImage</code> has been re-defined, beginning with version 1.46.</p>
+<p>Now, the image (and its vertical offset) will be measured. But the height of any accompanying text will <i>not</i> be measured. After the image (and any accompanying text) have been placed, the following text will be on-grid, positioned so as to comfortably clear the image. However, if there is too much accompanying text, that text will overflow down into the following text.</p>
+<p>Very few users, if any, will be affected. But if you started a document using <i>novel</i> prior to v. 1.46, and you use <code>\BlockImage</code>, then be sure to review the results.</p>
+</div><!-- end G.3 -->
 
+
 </div><!-- end G -->
 </div><!-- end Appendix G -->
 <!-- ************************************************************ -->

Modified: trunk/Master/texmf-dist/doc/lualatex/novel/novel.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/lualatex/novel/novel.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/novel.tex	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/novel.tex	2017-11-17 22:18:08 UTC (rev 45839)
@@ -5,7 +5,7 @@
 % IF YOU COMPILE THIS DOCUMENT: Be sure that both this file and
 %   novel.pdf (if present) have read/write permissions for any user.
 %   Otherwise, compile may fail at the point where files are written.
-\documentclass{novel} % v. 1.43.1 or later
+\documentclass{novel} % v. 1.46
 % Almost all settings are defaults.
 \SetHeadFootStyle{3}
 \SetTitle{Novel Document Class} % only footer, with page number
@@ -58,9 +58,9 @@
 
 \QuickChapter{4. Version}
 
-\noindent 1.42-1.43.1, 2017-11-12: continued doc improvement.
+\noindent 1.46, 2017-11-17: Possibly final version. \string\BlockImage\space change.
 
-\noindent 1.41, 2017-10-02: even better docs, minor internal changes.
+\noindent 1.41-1.43.1: Better docs, code cleanup.
 
 \noindent 1.40, 2017-09-14: removed debug feature, major docs rewrite.
 

Modified: trunk/Master/texmf-dist/fonts/opentype/novel/NovelDeco.otf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-CGATSTR001.clo
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-CGATSTR001.clo	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-CGATSTR001.clo	2017-11-17 22:18:08 UTC (rev 45839)
@@ -1,4 +1,4 @@
-% Typically used in the USA. Novel file version 1.43.1
+% Typically used in the USA. Novel file version 1.46
 
 % The values of the arguments are public industry standards.
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-CalculateLayout.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-CalculateLayout.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-CalculateLayout.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -12,7 +12,7 @@
 %% 
 %%
 \ProvidesFile{novel-CalculateLayout.sty}%
-[2017/11/12 v1.43.1 LaTeX file (layout calculations)]
+[2017/11/17 v1.46 LaTeX file (layout calculations)]
 %%
 
 %%

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-ChapterScene.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-ChapterScene.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-ChapterScene.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-ChapterScene.sty}%
-[2017/11/12 v1.43.1 LaTeX file (chapter and scene macros)]
+[2017/11/17 v1.46 LaTeX file (chapter and scene macros)]
 %%
 
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-FOGRA39.clo
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-FOGRA39.clo	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-FOGRA39.clo	2017-11-17 22:18:08 UTC (rev 45839)
@@ -1,4 +1,4 @@
-% Typically used in Europe.  Novel file version 1.43.1
+% Typically used in Europe.  Novel file version 1.46
 
 % The values of the arguments are public industry standards.
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-FileData.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-FileData.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-FileData.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-FileData.sty}%
-[2017/11/12 v1.43.1 LaTeX file (File Data settings)]
+[2017/11/17 v1.46 LaTeX file (File Data settings)]
 %% 
 
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-FontDefaults.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-FontDefaults.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-FontDefaults.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-FontDefaults.sty}%
-[2017/11/12 v1.43.1 LaTeX file (default fonts)]
+[2017/11/17 v1.46 LaTeX file (default fonts)]
 %%
 
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-Footnotes.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-Footnotes.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-Footnotes.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-Footnotes.sty}%
-[2017/10/19 v1.43.1 LaTeX file (commands for footnotes and endnotes)]
+[2017/11/17 v1.46 LaTeX file (commands for footnotes and endnotes)]
 %%
 
 
@@ -179,7 +179,7 @@
 \DeclareDocumentCommand \endnote { }
 {%
 \global\toggletrue{@gotendnotes}%
-\stepcounter{@endnotecount}\sups{\arabic{@endnotecount}}%
+\stepcounter{@endnotecount}\sups{\arabic{@endnotecount}}\obeyspaces%
 \long\edef\@endnotelist{\@endnotelist\space (\arabic{@endnotecount},p.\thepage)}%
 }
 %%

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-HeadFootStyles.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-HeadFootStyles.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-HeadFootStyles.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-HeadFootStyles.sty}%
-[2017/11/12 v1.43.1 LaTeX file (header and footer layouts and styles)]
+[2017/11/17 v1.46 LaTeX file (header and footer layouts and styles)]
 %% 
 
 
@@ -279,6 +279,7 @@
       \dimexpr\New at BottomMargin+0.5\New at MediaHeight-0.5\New at TrimHeight}%
     \global\temp at pgnumraise=\temp at pgnumraise%
   \fi%
+  %%%%%
   \ifodd\c at page%
     \AddToShipoutPicture*{\@getPageXY\AtPageLowerLeft{%
      \hspace{\dimexpr\Trim at Lx+\New at InsideMargin-0.5\temp at pgnumwidth}%
@@ -306,16 +307,16 @@
     \setlength\temp at pgnumraise{%
       \New at BottomMargin-\nbs+0.5\New at MediaHeight-0.5\New at TrimHeight}%
   \fi%
-  \ifodd\c at page%
-    \AddToShipoutPicture*{\@getPageXY\AtPageLowerLeft{%
-     \hspace{\dimexpr\Trim at Lx+\New at InsideMargin-0.5\temp at pgnumwidth}%
-      \charscale[1,0.5\textwidth,\temp at pgnumraise]{%
-       {\headfont{\addfontfeature{LetterSpace=\@looseheadnum}\pagenumberstyle}}}}}%
-  \else%
-    \AddToShipoutPicture*{\@getPageXY\AtPageLowerLeft{%
-     \hspace{\dimexpr\Trim at Lx+\New at OutsideMargin-0.5\temp at pgnumwidth}\raisebox{%
-      \temp at pgnumraise}{{\headfont{\addfontfeature{LetterSpace=\@looseheadnum}\pagenumberstyle}}}}}%
-  \fi%
+  \AddToShipoutPicture*{\@getPageXY\AtPageLowerLeft{%
+    \ifodd\c at page%
+      \hspace{\dimexpr\Trim at Lx+\New at InsideMargin-0.5\temp at pgnumwidth}%
+    \else%
+      \hspace{\dimexpr\Trim at Lx+\New at OutsideMargin-0.5\temp at pgnumwidth}%
+    \fi%
+    \charscale[1,0.5\textwidth,\temp at pgnumraise]{%
+      {\headfont{\addfontfeature{LetterSpace=\@looseheadnum}\pagenumberstyle}}}%
+    }%
+  }%
 } % end \@dropfoliobeneath
 %%
 %

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-Images.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-Images.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-Images.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-Images.sty}%
-[2017/11/12 v1.43.1 LaTeX file (image placement)]
+[2017/11/17 v1.46 LaTeX file (image placement)]
 %%
 
 
@@ -72,8 +72,8 @@
 \gdef\imagestarred{false}
 \gdef\imagefilename{unknown}
 % Neutralize \includegraphics, so it is no longer a user command:
-\let\@includegraphics\includegraphics\relax
-\let\includegraphics\relax
+\LetLtxMacro\novel at includegraphics\includegraphics\relax
+\LetLtxMacro\includegraphics\relax
 \newcommand\includegraphics[2][]{
   \ClassError{novel}{Cannot use \string\includegraphics\space on page \thepage}
    {The `novel' class has its own commands for placing images. See docs.^^J%
@@ -80,6 +80,18 @@
     You cannot use the \string\includegraphics\space command.}%
 }
 %
+\newcommand\pushtextdown[1]{%
+  \ifthenelse{\equal{#1}{} \OR \equal{#1}{ } \OR \equal{#1}{0}}{%
+    \def\@howmuchdown{0em}%
+  }{%
+    \def\@howmuchdown{#1}%
+  }%
+  ~\par\vspace*{-\nbs}\vspace*{\@howmuchdown}\par%
+}
+%
+\newlength\@mytotalht
+\newif\if at imgExtOK%
+%
 % \InlineImage can be used in body, header, footer.
 % However, macros such as \imagefilename, \imagewidth, etc.
 %   are only set or re-set when the image in in the body.
@@ -90,7 +102,7 @@
 %
 \ExplSyntaxOn
 \DeclareDocumentCommand \InlineImage { s O{0pt} m }{%
-  \newif\if at imgExtOK%
+  \@imgExtOKfalse%
   \IfEndWith{#3}{png}{\@imgExtOKtrue}{}%
   \IfEndWith{#3}{PNG}{\@imgExtOKtrue}{}%
   \IfEndWith{#3}{jpg}{\@imgExtOKtrue}{}%
@@ -112,7 +124,7 @@
     \def\@myily{0pt}}{\def\@myily{\@myilya}%
   }%
   \iftoggle{@inheadfoot}{}{\gdef\imagefilename{#3}}% for possible later use
-  \gdef\my at graphic{\@includegraphics[draft=false]{#3}}%
+  \gdef\my at graphic{\novel at includegraphics[draft=false]{#3}}%
   \setlength\@imagewidth{\widthof{\my at graphic}}%
   \global\@imagewidth=\@imagewidth%
   \iftoggle{@inheadfoot}{}{\setlength\imagewidth{\@imagewidth}}%
@@ -159,8 +171,7 @@
 %
 %%
 
-
-
+%% RE-DEFINED in V. 1.46. Now must be placed within linegap environment.
 %% \BlockImage[alignment]{image}[text]
 % Alignment may have up to 3 comma-separated values. Default is [c]
 % First alignment: l, c, r (left, center, right).
@@ -175,8 +186,11 @@
 % If image is centered, the text will automatically be centered, so that
 % it necessarily overlies the image.
 % \forceindent or \backindent may be needed. Text may have several paragraphs.
-% Subsequent text (after all that) will clear the image bottom, and also
-% be at the baseline grid. Beware of using this command near bottom of page.
+% Beware of using this command near bottom of page.
+% Use linegap environment to clear both image and accompanying text.
+% To displace accompanying text, begin it with \vspace*{length}\par.
+% Use adjustwidth environment between linegap and BlockImage centered,
+%   if you have accompanying text that you wish to confine in width.
 \ExplSyntaxOn
 \DeclareDocumentCommand \BlockImage { O{c} m +O{} }{
   \iftoggle{@inheadfoot}{%
@@ -183,6 +197,19 @@
     \ClassError{novel}{Cannot~use~BlockImage~in~header~or~footer}%
       {Header~footer~allow~InlineImage~but~not~BlockImage.}%
   }{}%
+  \@imgExtOKfalse%
+  \IfEndWith{#2}{png}{\@imgExtOKtrue}{}%
+  \IfEndWith{#2}{PNG}{\@imgExtOKtrue}{}%
+  \IfEndWith{#2}{jpg}{\@imgExtOKtrue}{}%
+  \IfEndWith{#2}{JPG}{\@imgExtOKtrue}{}%
+  \IfEndWith{#2}{jpeg}{\@imgExtOKtrue}{}%
+  \IfEndWith{#2}{JPEG}{\@imgExtOKtrue}{}%
+  \if at imgExtOK\else%
+    \ClassError{novel}{^^JImage~`#2'~format~not~allowed,~page~\thepage}%
+    {^^JImage~`#2'~has~file~type~not~allowed~in~`novel'~class.^^J%
+     Must~have~file~extension~png,~jpg,~jpeg~(or~capitalized).^^J%
+     Others~such~as~pdf~bmp,~tiff,~eps,~pdf,~svg~are~not~allowed.^^J}%
+  \fi%
   % Allows empty or blank to be used, and still provide default values:
   \ifthenelse{\equal{#1}{} \OR \equal{#1}{\space}}{%
     \def\@myargs{c}}{\def\@myargs{#1}%
@@ -196,57 +223,64 @@
   \ifthenelse{\equal{\@myyt}{}\OR\equal{\@myyt}{0}}{%
     \def\@myy{0pt}}{\def\@myy{\@myyt}%
   }
-  \newdimen\@sbsheight
+  %
+  \gdef\my at graphic{\novel at includegraphics[draft=false]{#2}}%
+  \setlength\@imagewidth{\widthof{\my at graphic}}%
+  \global\@imagewidth=\@imagewidth%
+  \setlength\@imageheight{\heightof{\my at graphic}}%
+  \global\@imageheight=\@imageheight%
+  \setlength\@imagehoffset{\@myx}%
+  \IfBeginWith{\@myy}{b}{%
+    \ClassError{novel}{Cannot~use~voffset~`b'~in~\stringBlockImage,~page~\thepage}%
+    {The~`b'~voffset~only~works~with~\string\InlineImage\space,~not~\string\BlockImage.}
+  }{%
+    \setlength\@imagevoffset{-\@imageheight}%
+    \addtolength\@imagevoffset{\@myy}%
+  }%
+  %
+  \setlength\@mytotalht{0pt}%
+  \addtolength\@mytotalht{\@imageheight}%
+  \addtolength\@mytotalht{-\@myy}%
+  \addtolength\@mytotalht{1em}%
+  \def\@mytotalhtnum{\strip at pt\@mytotalht}%
+  \FPdiv{\@mytotalhtnum}{\@mytotalhtnum}{\nbsnum}%
+  \FPadd{\@mytotalhtnum}{\@mytotalhtnum}{0.5}%
+  \FPround{\@mytotalhtnum}{\@mytotalhtnum}{0}%
+  %
+  \begin{linegap}{\@mytotalhtnum}%
+  %
   \ifthenelse{\equal{\@myalign}{c}\OR\equal{\@myalign}{}}{%
-    {\centering\strut\InlineImage*[{\@myx-0.5\imagewidth},{\@myy}]{#2}\par}
-    \vspace*{-\nbs}
-    {\centering\strut #3\par}
-    \setbox0=\vbox{{\centering #3\par}}
-  }{}
+    {\centering%
+      \makebox[0pt][l]{%
+        \hspace{\dimexpr\@myx-0.5\@imagewidth}%
+        \stake\smash{\raisebox{\dimexpr\@myy-\@imageheight}{\my at graphic}}%
+      }%
+    \par}%
+    \vspace*{-\nbs}%
+    {\centering #3\par}%
+  }{}%
   \ifthenelse{\equal{\@myalign}{r}}{%
-    \noindent\InlineImage[{\textwidth-\imagewidth+\@myx},{\@myy}]{#2}\par%
-    \vspace{-\nbs}
-    \begin{adjustwidth}{0pt}{\imagewidth+\parindent}%
-      #3\par%
+    \noindent\makebox[0pt][l]{%
+      \hspace{\dimexpr\textwidth+\@myx-\@imagewidth}%
+      \stake\smash{\raisebox{\dimexpr\@myy-\@imageheight}{\my at graphic}}%
+    }\par%
+    \vspace{-2\nbs}%
+    \begin{adjustwidth}{0pt}{\@imagewidth+\parindent}%
+      \strut\par #3\par%
     \end{adjustwidth}%
-    \setbox0=\vbox{%
-      \begin{adjustwidth}{0pt}{\imagewidth+\parindent}%
-        #3\par%
-      \end{adjustwidth}%
-    }%
-  }{}
+  }{}%
   \ifthenelse{\equal{\@myalign}{l}}{%
-    \noindent\InlineImage*[{\@myx},{\@myy}]{#2}\par%
-    \vspace{-\nbs}
-    \begin{adjustwidth}{\imagewidth+\parindent}{0pt}%
-      #3\par%
+    \noindent\makebox[0pt][l]{%
+      \hspace{\@myx}%
+      \stake\smash{\raisebox{\dimexpr\@myy-\@imageheight}{\my at graphic}}%
+    }\par%
+    \vspace{-2\nbs}%
+    \begin{adjustwidth}{\@imagewidth+\parindent}{0pt}%
+      \strut\par #3\par%
     \end{adjustwidth}%
-    \setbox0=\vbox{%
-      \begin{adjustwidth}{\imagewidth+\parindent}{0pt}%
-        #3\par%
-      \end{adjustwidth}%
-    }%
-  }{}
-  % portion here, inspired by post from user Killian Foth,
-  % at stackoverflow.com, license CC-by-sa-3.0.
-  \@sbsheight=\ht0 \advance\@sbsheight by \dp0
-  \def\@sbsheightnum{\strip at pt\@sbsheight}
-  \FPdiv{\@roughlines}{\@sbsheightnum}{\nbsnum}
-  \FPadd{\@roughlines}{\@roughlines}{0.5} % round up, not down
-  \FPround{\@roughlines}{\@roughlines}{0}
-
-  \gdef\@imageheightnum{\strip at pt\@imageheight}%
-  \FPdiv{\@imagelines}{\@imageheightnum}{\nbsnum}%
-  \FPadd{\@imagelines}{\@imagelines}{0.5}% round up to integer, not down
-  \FPround{\@imagelines}{\@imagelines}{0}%
-  \FPclip{\@imagelines}{\@imagelines}%
-  \gdef\imagelineskip{\@imagelines}%
-  \FPclip{\@roughlines}{\@roughlines}
-  \FPadd{\@adjimagelines}{\imagelineskip}{1} % \imagelineskip from \InlineImage*
-  \FPsub{\@skipme}{\@adjimagelines}{\@roughlines}
-  \FPmax{\@skipme}{\@skipme}{0}
-  \vspace{\@skipme\nbs}
-}
+  }{}%
+  \end{linegap}%
+} % end \BlockImage
 \ExplSyntaxOff
 %%
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-JC200103.clo
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-JC200103.clo	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-JC200103.clo	2017-11-17 22:18:08 UTC (rev 45839)
@@ -1,4 +1,4 @@
-% Typically used in Japan. Novel file version 1.43.1
+% Typically used in Japan. Novel file version 1.46
 
 % The values of the arguments are public industry standards.
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-LayoutSettings.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-LayoutSettings.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-LayoutSettings.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-LayoutSettings.sty}%
-[2017/11/12 v1.43.1 LaTeX file (layout settings)]
+[2017/11/17 v1.46 LaTeX file (layout settings)]
 %%
 
 
@@ -53,6 +53,9 @@
 %
 \newlength\normalxheight
 \newlength\normalXheight
+\newlength\normalscxheight
+\newlength\normalAringheight
+\newlength\normaldescender
 %%
 
 
@@ -243,7 +246,7 @@
 }
 \let\SetEmblem\SetEmblems% for convenience
 % If you want something fancier than \thepage:
-\gdef\SetPageNumberStyle#1{\gdef\pagenumberstyle{#1}}
+\gdef\SetPageNumberStyle#1{\gdef\pagenumberstyle{{\addfontfeature{Letters=ResetAll}#1}}}
 
 % See novel.cls for the accompanying AtBeginDocument routine.
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -13,96 +13,16 @@
 %% 
 %%
 \ProvidesFile{novel-TextMacros.sty}%
-[2017/11/12 v1.43.1 LaTeX file (text macros usable within document body)]
+[2017/11/17 v1.46 LaTeX file (text macros usable within document body)]
 %%
 
 
-%% This file contains commands that are usable within the document body,
+%% This file contains various commands that are usable within the document body,
 %% for styling and otherwise manipulating text.
 %% These are not commands used in Preamble for setup, although a few of them
 %% can be used in Preamble for setup, then again in body for change.
 
 
-
-%% The following commands were defined in other files of `novel' class:
-%% -----------------------------------------------------------------------------
-% \theTitle returns string set by \SetTitle{} -- See novel-LayoutSettings.sty.
-% \theAuthor returns string set by \SetAuthor{} -- See novel-LayoutSettings.sty.
-% \nfs normal font size. May be tweaked during rework. -- See novel-CalculateLayout.sty.
-% \nbs (calculated) normal baselineskip. May be tweaked during rework. -- See novel-CalculateLayout.sty.
-% \theSubtitle returns string set by \SetSubtitle{} -- See novel-LayoutSettings.sty.
-% \InlineImage, \BlockImage -- See novel-Images.sty.
-% \scenebreak, \sceneline, \scenestars -- See novel-ChapterScene.sty.
-% ChapterStart, \ChapterTitle{}, \ChapterSubtitle{}, \ChapterDeco{} -- See novel-ChapterScene.sty.
-% {\chapterfont text} and other pre-defined font selection commands -- See novel-LayoutSettings.sty.
-% \decoglyph{} and \acronym{} -- See novel-FontDefaults.sty.
-% \frontmatter, \mainmatter -- See novel-LayoutSettings.sty.
-% \footnote[]{}, \endnote, \endnotetext[]{} -- See novel-Footnotes.sty.
-% \thispagestyle{choice} -- See novel-HeadFootStyles.sty.
-% \SetVersoHeadText{}, \SetRectoHeadText{} -- See novel-HeadFootStyles.sty.
-% \CreateFontFeature{substitutions}{feature code} fakes an Open Type feature -- See novel-LayoutSettings.sty.
-
-
-
-%% The following commands are defined on this page:
-%% -----------------------------------------------------------------------------
-% \memo{text} is a memo to yourself. Does not print, is not saved.
-% \forceindent and \backindent when \indent and \noindent fail.
-% \smcp{text} or \textsc{text} for lowercase to small caps.
-% \allsmcp{text} puts both caps and lowercase into small caps.
-% \charscale[scale,x,y]{text} for brief change of text size/position. No line wrap.
-% parascale environment for long change in text size. Will go off-grid.
-% toc environment for table of contents.
-% \tocitem[]{}{} and \tocitem*[]{}{} for one-line entries in toc.
-% legalese environment uses ragged right, disables hyphenation.
-% \showlength[round]{length}{units} returns the length, re-calculated in units, rounded.
-% \supersub{raise}{scale}{text} alternative to superscript and subscript commands.
-% \sups{text}, \subs{text}, and \sinf{text} other alternatives to super/subscripts.
-% \bigemdash[raise,thickness] provides a raised rule of flexible length, a "big em dash."
-% \stake inserts zero-width rule, 1pt thick, as placeholder.
-% \color and \textcolor (from package xcolor) have been modified to ensure black, or grayscale when permitted.
-% \hangleft{text} -- places text to left of its usual block position. Do not place text in margins!
-% \lnum{number} -- lining numbers
-% \squeeze{} and \crush{} for emergency text adjustment.
-
-
-%% The following useful commands are from core code, or other pre-loaded packages.
-%% -----------------------------------------------------------------------------
-%% They are listed here as a reminder of their existence. Not a complete list.
-%% A description is only provided here, when it is brief and simple.
-%
-% {\centering text\par} centers text. Needs the \par to finish. May also use internal \\ or \par.
-% \makebox[length][alignment]{text}
-% \hspace{length}
-% \vspace{length}  Caution: may disrupt text line grid!
-% \kern
-% \hfill and \dotfill
-% \vfill (use only with discretion)
-% \linebreak (use only with discretion)
-% \null inserts an empty line. See also the scene break commands.
-% \clearpage begins a new page. Two consecutive \clearpage does not make 2 pages (use \null if blank page desired).
-% \strut is useful for occupying the full line height.
-% \smash{text} allows its included text to overlay other content. Sometimes useful when text is too tall to fit the line grid.
-% \textwidth (length) is the width of the textblock.
-% adjustwidth environment (package: changepage) for block indents, etc.
-% \FirstLine{} (package: magaz) may be useful for first line of new chapter. Patched by me.
-% \textsuperscript{} and \textsubscript{} are re-defined.
-
-
-
-%% The following commands are available, but STRONGLY DISCOURAGED.
-%% -----------------------------------------------------------------------------
-%% Beware: Their usage is likely to disturb the line grid.
-%% That is less of an issue on pages where the line grid does not matter.
-%
-% Environments: center, minipage, sloppypar
-% \parbox
-% \framebox or \fbox
-% \raisebox BUT can be used inside \smash or \charscale.
-% \linespread
-% Anything involving math mode.
-
-
 %% The following commands are BANNED.
 %% -----------------------------------------------------------------------------
 % The `novel' class disallows these commands, or neutralizes them by simply
@@ -155,15 +75,15 @@
 %
 \DeclareDocumentCommand \smcp { +m }
  {%
-  {\AddFontFeature{Letters=SmallCaps}#1}%
+  {\addfontfeature{Letters=SmallCaps}#1}%
  }
 %
 \DeclareDocumentCommand \allsmcp { +m }
  {%
   \fontspec_if_feature:nTF {c2sc}{%
-   {\AddFontFeatures{Letters=UppercaseSmallCaps, Letters=SmallCaps}#1}%
+   {\addfontfeatures{Letters=UppercaseSmallCaps, Letters=SmallCaps}#1}%
   }{%
-   {\AddFontFeature{Letters=SmallCaps}\MakeLowercase{#1}}%
+   {\addfontfeature{Letters=SmallCaps}\MakeLowercase{#1}}%
   }%
  }
 %
@@ -355,12 +275,11 @@
 \newlength\@tocskip
 \newenvironment{toc}[2][0]%
 {%
-  \begin{adjustwidth}{#2}{#2}\begingroup%
+  \begin{adjustwidth}{#2}{#2}%
+  \begingroup% lengths not global
   \setlength\parindent{0pt}%
   \setlength\@tocnumwid{\widthof{00.~}}%
-  \global\@tocnumwid=\@tocnumwid%
   \setlength\@tocskip{#1\nbs}%
-  \global\@tocskip=\@tocskip%
 }{%
   \endgroup\end{adjustwidth}\par%
 }%
@@ -438,13 +357,13 @@
 
 %% \squeeze{} and \crush{} slightly shrink the horizonal dimension of the
 % enclosed text. May span paragraphs. Emergency only! No compounding.
-\long\gdef\squeeze#1{{\AddFontFeature{FakeStretch=0.99}#1}}
-\long\gdef\crush#1{{\AddFontFeature{FakeStretch=0.98}#1}}
+\long\gdef\squeeze#1{{\addfontfeature{FakeStretch=0.99}#1}}
+\long\gdef\crush#1{{\addfontfeature{FakeStretch=0.98}#1}}
 %%
 
 
 %% \lnum for lining numbers.
-\gdef\lnum#1{{\AddFontFeature{Numbers=Lining}#1}}
+\gdef\lnum#1{{\addfontfeature{Numbers=Lining}#1}}
 %%
 
 
@@ -453,7 +372,7 @@
 \let\sups\relax
 \let\textsuperscript\relax
 \let\textsubscript\relax
-\newlength\@hoAhl % Measures the height of these characters in the current font.
+\newlength\@hoAhl % measured when needed.
 % Perhaps superscripts and subscripts (scientific) are in the font, or not.
 % Problem: The best fonts have these characters at size/weight designed
 %   to mingle with normal size. But many fonts merely scaled characters,
@@ -473,7 +392,7 @@
  {%
   \iftoggle{@realmarker}{%
     \fontspec_if_feature:nTF {sups}{%
-      \ifvmode\else\unskip\fi{\AddFontFeature{VerticalPosition=Superior}\smash{#1}}%
+      \ifvmode\else\unskip\fi{\addfontfeature{VerticalPosition=Superior}\smash{#1}}%
     }{%
       \setlength\@hoAhl{\heightof{Ahl}}%
       \ifvmode\else\unskip\fi\charscale[0.7,0pt,0.5\@hoAhl]{#1}%
@@ -480,7 +399,7 @@
     }%
   }{%
     \setlength\@hoAhl{\heightof{Ahl}}%
-    \ifvmode\else\unskip\fi{\basefont\AddFontFeature{Numbers=Lining}\charscale[0.7,0pt,0.5\@hoAhl]{#1}}%
+    \ifvmode\else\unskip\fi{\addfontfeature{Numbers=Lining}\charscale[0.7,0pt,0.5\@hoAhl]{#1}}%
   }%
  }% end \sups
 %
@@ -488,10 +407,10 @@
  {%
   \iftoggle{@realmarker}{%
     \fontspec_if_feature:nTF {sinf}{%
-      \ifvmode\else\unskip\fi{\AddFontFeature{VerticalPosition=ScientificInferior}\smash{#1}}%
+      \ifvmode\else\unskip\fi{\addfontfeature{VerticalPosition=ScientificInferior}\smash{#1}}%
     }{%
       \fontspec_if_feature:nTF {subs}{%
-        \ifvmode\else\unskip\fi{\AddFontFeature{VerticalPosition=Inferior}\smash{#1}}%
+        \ifvmode\else\unskip\fi{\addfontfeature{VerticalPosition=Inferior}\smash{#1}}%
       }{%
         \setlength\@hoAhl{\heightof{Ahl}}%
         \ifvmode\else\unskip\fi\charscale[0.7,0pt,-0.2\@hoAhl]{#1}%
@@ -499,20 +418,48 @@
     }%
   }{%
     \setlength\@hoAhl{\heightof{Ahl}}%
-    \ifvmode\else\unskip\fi{\basefont\AddFontFeature{Numbers=Lining}\charscale[0.7,0pt,-0.2\@hoAhl]{#1}}%
+    \ifvmode\else\unskip\fi{\addfontfeature{Numbers=Lining}\charscale[0.7,0pt,-0.2\@hoAhl]{#1}}%
   }%
  }% end \subs
 %
+\cs_new_eq:NN \textsuperscript \sups
+\cs_new_eq:NN \textsubscript \subs
 \ExplSyntaxOff
 %%
-\let\textsuperscipt\sups\relax
-\let\textsubscript\subs\relax
-%%
 \gdef\specialblankline{\null} % deprecated
 %%
 
 
+%% New in v. 1.46: Allows text to be placed (potentially) off-grid, with grid resuming after.
+\newcounter{currentlinegap} % 0 when not within a linegap environment, >0 otherwise.
+\ExplSyntaxOn
+\DeclareDocumentEnvironment {linegap} { m } {%
+  \FPifint{#1}\else%
+    \ClassError{novel}{Non-integer~linegap~on~page~\thepage}%
+     {Only~integer~>=~1~allowed~for~linegap.}%
+  \fi%
+  \FPiflt{#1}{1}%
+    \ClassError{novel}{Insufficient~linegap~on~page~\thepage}%
+     {Only~integer~>=~1~allowed~for~linegap.}%
+  \fi%
+  \par%
+  \null%
+  \vspace*{-\nbs}%
+  \begin{textblock*}{\textwidth}[0,0](0pt,0pt)%
+  \setcounter{currentlinegap}{#1}%
+  \strut\par%
+  \vspace*{-\nbs}%
+}{% close the environment:
+  \end{textblock*}%
+  \par%
+  \vspace*{#1\nbs}%
+  \setcounter{currentlinegap}{0}%
+}
+\ExplSyntaxOff % end linegap environment
+%%
 
+
+
 %%
 %% End of file `novel-TextMacros.sty'.
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-glyphtounicode.tex
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-glyphtounicode.tex	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-glyphtounicode.tex	2017-11-17 22:18:08 UTC (rev 45839)
@@ -14,7 +14,7 @@
 %% 
 %%
 \ProvidesFile{novel-gyphtounicode.tex}%
-[2017/11/12 v1.43.1 LaTeX file (additional glyph to unicode)]
+[2017/11/17 v1.46 LaTeX file (additional glyph to unicode)]
 %%
 
 %% I am not sure if this is useful. But it doesn't hurt.

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg	2017-11-17 22:18:08 UTC (rev 45839)
@@ -19,7 +19,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{novel-microtype.cfg}%
-[2017/11/12 v1.43.1 LaTeX file (microtype configuration file for novel class)]
+[2017/11/17 v1.46 LaTeX file (microtype configuration file for novel class)]
 
 %%% -----------------------------------------------------------------------
 %%% FONT SETS

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-pdfx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-pdfx.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-pdfx.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -24,7 +24,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{novel-pdfx.sty}%
-[2017/11/12 v1.43.1 LaTeX file (PDF/X support for novel class)]
+[2017/11/17 v1.46 LaTeX file (PDF/X support for novel class)]
 % This package supports, and is part of, class `novel'.
 % No support for anything but LuaLaTeX.
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty	2017-11-17 22:18:08 UTC (rev 45839)
@@ -22,7 +22,7 @@
 %%
 %%
 \ProvidesFile{novel-xmppacket.sty}%
-[2017/11/12 v1.43.1 LaTeX file (novel XMP packet template)]
+[2017/11/17 v1.46 LaTeX file (novel XMP packet template)]
 %%
 
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel.cls
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel.cls	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel.cls	2017-11-17 22:18:08 UTC (rev 45839)
@@ -17,9 +17,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 % Actually needs LuaLaTeX, at least version 0.95 from TeXLive 2016.
-\ProvidesClass{novel}[2017/11/12 v1.43.1 LaTeX document class]
+\ProvidesClass{novel}[2017/11/17 v1.46 LaTeX document class]
 %%
-%% Version 1.44: General cleanup of docs and code, for improved readbaility.
+%% Version 1.46: Possibly final version.
+%% Version 1.43: General cleanup of docs and code, for improved readbaility.
 %% Version 1.42: Greatly improved HTML documentation.
 %% Version 1.41: Improved HTML documentation.
 %% Versions 1.40.x: Incremental minor changes, leading to 1.42.
@@ -239,6 +240,14 @@
 \DeclareOption{polyoff}{
   \@polyofftrue
 }
+% New in version 1.46: test option, primarily for developer use.
+% Throws error if Liberintus and Latin Modern Roman fonts are unavailable.
+% Throws error is file novel-testimage.png is not in same folder.
+% Lets \lettrine relax if `lettrine' package not loaded.
+\newif \if at testsuite
+\DeclareOption{test}{
+  \@testsuitetrue
+}
 %% Note that document size and normal font size are not class options.
 %% They are set by commands in the Preamble, and have default values.
 %
@@ -347,6 +356,25 @@
 \RequirePackage{novel-Footnotes}
 %%
 
+
+%% Special features of test suite.
+%% -----------------------------------------------------------------------------
+\newcommand\testsuiteoops[1]{%
+  \ClassError{novel}{#1 missing}{Install the necessary file(s).}%
+}
+\if at testsuite
+  \IfFontExistsTF{libertinusserif-regular.otf}{}{\testsuiteoops{`libertinus' fonts}}
+  \IfFileExists{lmodern.sty}{}{\testsuiteoops{`lmodern' package}}
+  \IfFileExists{novel-testimage.png}{}{\testsuiteoops{`novel-testimage.png'}}
+  \NewFontFamily\mustbelibertinus{Libertinus Serif}
+  \NewFontFamily\mustbelmodern{Latin Modern Roman}
+\fi
+\AtBeginDocument{\@ifpackageloaded{lettrine}{}%
+  {\DeclareDocumentCommand\lettrine{ O{} m m }{#2#3}}%
+}
+%% end special features of test suite.
+
+
 %% \AtEndPreamble sets defaults and calculates layout
 %% -----------------------------------------------------------------------------
 \AtEndPreamble{
@@ -368,8 +396,21 @@
 
 %% \AtBeginDocument finishes the setup
 %% -----------------------------------------------------------------------------
+\newlength\normalparindent
 \AtBeginDocument{ %
+  \@ifpackageloaded{lettrine}{%
+    \LettrineOnGridtrue%
+    \setlength\DiscardVskip{10\nbs}% effectively infinite
+    \global\DiscardVskip=\DiscardVskip%
+    \setlength\DefaultFindent{0.25em}% about one space
+    \global\DefaultFindent=\DefaultFindent%
+    \setlength\DefaultNindent{0em}% uniform gap
+    \global\DefaultNindent=\DefaultNindent%
+    \setcounter{DefaultLines}{3}% more likely than 2.
+  }{}%
   % Find some useful measurements:
+  \setlength\normalparindent{\parindent}
+  \global\normalparindent=\parindent
   \gdef\@normalxheight{\heightof{x}}
   \setlength\normalxheight{\@normalxheight}
   \global\normalxheight=\normalxheight
@@ -376,6 +417,15 @@
   \gdef\@normalXheight{\heightof{X}}
   \setlength\normalXheight{\@normalXheight}
   \global\normalXheight=\normalXheight
+  \gdef\@normalscxheight{\heightof{\textsc{x}}}
+  \setlength\normalscxheight{\@normalscxheight}
+  \global\normalscxheight=\normalscxheight
+  \gdef\@normalAringheight{\heightof{Å}}
+  \setlength\normalAringheight{\@normalAringheight}
+  \global\normalAringheight=\normalAringheight
+  \gdef\@normaldescender{\depthof{gjpqy}}
+  \setlength\normaldescender{\@normaldescender}
+  \global\normaldescender=\normaldescender
   % Activate user choice of whether or not to indent after scenebreak commands:
   \if at indentAfterScenebreak\else
     \NoIndentAfterCmd{\scenebreak}

Modified: trunk/Master/tlpkg/tlpsrc/synctex.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/synctex.tlpsrc	2017-11-17 02:13:42 UTC (rev 45838)
+++ trunk/Master/tlpkg/tlpsrc/synctex.tlpsrc	2017-11-17 22:18:08 UTC (rev 45839)
@@ -1,4 +1,9 @@
 category TLCore
+shortdesc engine-level feature synchronizing output and source
+longdesc SyncTeX allows navigating between the TeX source and (usually
+longdesc PDF) output, in both directions, given a SyncTeX-aware front
+longdesc end. It is compiled into most engines and can be enabled with
+longdesc the --synctex=1 option. It is developed as part of TeX Live.
 binpattern f bin/${ARCH}/synctex
 docpattern f texmf-dist/doc/man/man1/synctex.*
 docpattern f texmf-dist/doc/man/man5/synctex.*



More information about the tex-live-commits mailing list