texlive[45558] Master/texmf-dist: novel (19oct17)

commits+karl at tug.org commits+karl at tug.org
Thu Oct 19 23:28:46 CEST 2017


Revision: 45558
          http://tug.org/svn/texlive?view=revision&revision=45558
Author:   karl
Date:     2017-10-19 23:28:46 +0200 (Thu, 19 Oct 2017)
Log Message:
-----------
novel (19oct17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-cover-template.tex
    trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.pdf
    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

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/lowdown.png
    trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/robberies.png

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/lualatex/novel/extras/fmtcount-faux.sty
    trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/docprops.png
    trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/margins.png
    trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/thelowdown.png

Deleted: trunk/Master/texmf-dist/doc/lualatex/novel/extras/fmtcount-faux.sty
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/fmtcount-faux.sty	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/fmtcount-faux.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -1,1115 +0,0 @@
-%%
-%% This is file `fmtcount-faux.sty',
-%% It is a modified version of file `fmtcount.sty'.
-%%
-%%  Copyright 2017 Nicola Talbot and Vincent Bela\xEFche
-%%  Modification by Robert Allgeyer, October 3, 2017
-%%  NOT FOR GENERAL DISTRIBUTION - FOR TESTING ONLY
-%% 
-%%  This work may be distributed and/or modified under the
-%%  conditions of the LaTeX Project Public License, either version 1.3
-%%  of this license or (at your option) any later version.
-%%  The latest version of this license is in
-%%    http://www.latex-project.org/lppl.txt
-%%  and version 1.3 or later is part of all distributions of LaTeX
-%%  version 2005/12/01 or later.
-%% 
-
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{fmtcount-faux}[2017/10/03 v3.04b] %%%%% modification
-\RequirePackage{ifthen}
-\RequirePackage{xkeyval}
-\RequirePackage{etoolbox}
-\RequirePackage{fcprefix}
-\RequirePackage{ifxetex}
-\RequirePackage{ifluatex} %%%%% modification
-\RequirePackage{amsgen}
-\providecommand*{\fc at orddef@ult}[1]{\fc at textsuperscript{#1}}
-\providecommand*{\fc at ord@multiling}[1]{%
-  \ifcsundef{fc@\languagename @alias at of}{%
-  \fc at orddef@ult{#1}}{%
-  \expandafter\let\expandafter\@tempa\csname fc@\languagename @alias at of\endcsname
-  \ifcsundef{fc at ord@\@tempa}{%
-    \fc at orddef@ult{#1}}{%
-\csname fc at ord@\@tempa\endcsname{#1}}}}
-\newcount\c at padzeroesN
-\c at padzeroesN=1\relax
-\providecommand*{\padzeroes}[1][17]{\c at padzeroesN=#1}
-\newcount\fc at tmpcatcode
-\def\fc at languages{}%
-\def\fc at mainlang{}%
-\newcommand*{\FCloadlang}[1]{%
-  \@FC at iflangloaded{#1}{}%
-  {%
-    \fc at tmpcatcode=\catcode`\@\relax
-    \catcode `\@ 11\relax
-    \InputIfFileExists{fc-#1.def}%
-    {%
-      \ifdefempty{\fc at languages}%
-      {%
-        \gdef\fc at languages{#1}%
-      }%
-      {%
-         \gappto\fc at languages{,#1}%
-      }%
-      \gdef\fc at mainlang{#1}%
-    }%
-    {}%
-    \catcode `\@ \fc at tmpcatcode\relax
-  }%
-}
-\newcommand{\@FC at iflangloaded}[3]{%
-  \ifcsundef{ver at fc-#1.def}{#3}{#2}%
-}
-\newcommand*{\ProvidesFCLanguage}[1]{%
-  \ProvidesFile{fc-#1.def}%
-}
-\newif\iffmtcount at language@option
-\fmtcount at language@optionfalse
-\newcommand*\fc at supported@language at list{%
-english,%
-UKenglish,%
-british,%
-USenglish,%
-american,%
-spanish,%
-portuges,%
-french,%
-frenchb,%
-francais,%
-german,%
-germanb,%
-ngerman,%
-ngermanb,%
-italian}
-\newcommand*\fc at iterate@on at languages[1]{%
-  \ifx\fc at supported@language at list\@empty
-    \PackageError{fmtcount}{Macro `\protect\@fc at iterate@on at languages' is empty}{You should never get here:
-      Something is broken within \texttt{fmtcount}, please report the issue on
-      \texttt{https://github.com/search?q=fmtcount\&ref=cmdform\&type=Issues}}%
-  \else
-    \let\fc at iterate@on at languages@body#1
-    \expandafter\@fc at iterate@on at languages\fc at supported@language at list,\@nil,%
-  \fi
-}
-\def\@fc at iterate@on at languages#1,{%
-    {%
-      \def\@tempa{#1}%
-      \ifx\@tempa\@nnil
-        \let\@tempa\@empty
-      \else
-        \def\@tempa{%
-          \fc at iterate@on at languages@body{#1}%
-          \@fc at iterate@on at languages
-        }%
-      \fi
-      \expandafter
-    }\@tempa
-}%
-\newcommand*{\@fc at loadifbabelorpolyglossialdf}[1]{%
-  \ifxetex
-    \IfFileExists{gloss-#1.ldf}{\ifcsundef{#1 at loaded}{}{\FCloadlang{#1}}}{}%
-  \else
-    \ifluatex %%%%% modifications
-      \IfFileExists{gloss-#1.ldf}{\ifcsundef{#1 at loaded}{}{\FCloadlang{#1}}}{}% %%%%%
-    \else %%%%%
-      \ifcsundef{ver@#1.ldf}{}{\FCloadlang{#1}}%
-    \fi %%%%%
-  \fi
-}
-\fc at iterate@on at languages\@fc at loadifbabelorpolyglossialdf
-\def\fc at iterate@on at languages@body#1{%
-  \expandafter\def\csname fc@#1 at alias@of\endcsname{#1}}
-\expandafter\@fc at iterate@on at languages\fc at supported@language at list,\@nil,%
-\def\@tempa#1#2{%
-  \expandafter\def\csname fc@#1 at alias@of\endcsname{#2}%
-}%
-\@tempa{frenchb}{french}
-\@tempa{francais}{french}
-\@tempa{germanb}{german}
-\@tempa{ngermanb}{german}
-\@tempa{ngerman}{german}
-\@tempa{british}{english}
-\@tempa{american}{USenglish}
-\def\fc at iterate@on at languages@body#1{%
-  \define at key{fmtcount}{#1}[]{%
-    \@FC at iflangloaded{#1}%
-    {%
-      \setkeys{fc\csname fc@#1 at alias@of\endcsname}{##1}%
-    }{%
-      \PackageError{fmtcount}%
-      {Language `#1' not defined}%
-      {You need to load \ifxetex polyglossia\else\ifluatex polyglossia\else babel\fi\fi\space before loading fmtcount}% %%%%% modification
-    }%
-  }%
-  \ifthenelse{\equal{\csname fc@#1 at alias@of\endcsname}{#1}}{%
-    \define at key{fc\csname fc@#1 at alias@of\endcsname}{fmtord}{%
-      \ifthenelse{\equal{##1}{raise}\or\equal{##1}{level}}{%
-        \expandafter\let\expandafter\@tempa\csname fc at set@ord at as@##1\endcsname
-        \expandafter\@tempa\csname fc at ord@#1\endcsname
-      }{%
-        \ifthenelse{\equal{##1}{undefine}}{%
-          \expandafter\let\csname fc at ord@#1\endcsname\undefined
-        }{%
-          \PackageError{fmtcount}%
-          {Invalid value `##1' to fmtord key}%
-          {Option `fmtord' can only take the values `level', `raise'
-            or `undefine'}%
-        }}
-    }%
-  }{%
-    \expandafter\let\expandafter\@tempa\csname KV@\csname fc@#1 at alias@of\endcsname @fmtord\endcsname
-    \expandafter\let\csname KV@#1 at fmtord\endcsname\@tempa
-  }%
-}
-\expandafter\@fc at iterate@on at languages\fc at supported@language at list,\@nil,%
-\def\fc at set@ord at as@level#1{%
-  \def#1##1{##1}%
-}
-\def\fc at set@ord at as@raise#1{%
-  \let#1\fc at textsuperscript
-}
-\define at key{fmtcount}{fmtord}{%
-  \ifthenelse{\equal{#1}{level}
-           \or\equal{#1}{raise}}%
-  {%
-    \csname fc at set@ord at as@#1\endcsname\fc at orddef@ult
-    \def\fmtcount at fmtord{#1}%
-  }%
-  {%
-    \PackageError{fmtcount}%
-    {Invalid value `#1' to fmtord key}%
-    {Option `fmtord' can only take the values `level' or `raise'}%
-  }%
-}
-\newif\iffmtord at abbrv
-\fmtord at abbrvtrue
-\define at key{fmtcount}{abbrv}[true]{%
-  \ifthenelse{\equal{#1}{true}\or\equal{#1}{false}}%
-  {%
-    \csname fmtord at abbrv#1\endcsname
-  }%
-  {%
-    \PackageError{fmtcount}%
-    {Invalid value `#1' to fmtord key}%
-    {Option `abbrv' can only take the values `true' or
-     `false'}%
-  }%
-}
-\define at key{fmtcount}{prefix}[scale=long]{%
-  \RequirePackage{fmtprefix}%
-  \fmtprefixsetoption{#1}%
-}
-\def\fmtcountsetoptions{%
-  \def\fmtcount at fmtord{}%
-  \setkeys{fmtcount}}%
-\InputIfFileExists{fmtcount.cfg}%
-{%
-  \PackageInfo{fmtcount}{Using configuration file fmtcount.cfg}%
-}%
-{%
-}
-\newcommand*{\fmtcount at loaded@by at option@lang at list}{}
-\newcommand*\@fc at declare@language at option[1]{%
-  \DeclareOption{#1}{%
-    \ifx\fmtcount at loaded@by at option@lang at list\@empty
-       \def\fmtcount at loaded@by at option@lang at list{#1}%
-    \else
-       \edef\fmtcount at loaded@by at option@lang at list{\fmtcount at loaded@by at option@lang at list,#1}%
-    \fi
-  }}%
-\fc at iterate@on at languages\@fc at declare@language at option
-\DeclareOption{level}{\def\fmtcount at fmtord{level}%
-  \def\fc at orddef@ult#1{#1}}
-\DeclareOption{raise}{\def\fmtcount at fmtord{raise}%
-  \def\fc at orddef@ult#1{\fc at textsuperscript{#1}}}
-\ProcessOptions\relax
-\ifx\fmtcount at loaded@by at option@lang at list\@empty\else
-\def\fc at iterate@on at languages@body#1{%
-    \@FC at iflangloaded{#1}{}{%
-      \fmtcount at language@optiontrue
-      \FCloadlang{#1}%
-     }}
-\expandafter\@fc at iterate@on at languages\fmtcount at loaded@by at option@lang at list,\@nil,%
-\fi
-\newcount\@DT at modctr
-\newcommand*{\@FCmodulo}[2]{%
-  \@DT at modctr=#1\relax
-  \divide \@DT at modctr by #2\relax
-  \multiply \@DT at modctr by #2\relax
-  \advance #1 by -\@DT at modctr
-}
-\newcount\@ordinalctr
-\newcount\@orgargctr
-\newcount\@strctr
-\newcount\@tmpstrctr
-\newif\if at DT@padzeroes
-\newcount\@DT at loopN
-\newcount\@DT at X
-\newrobustcmd*{\@binary}[1]{%
-  \@DT at padzeroestrue
-  \@DT at loopN=17\relax
-  \@strctr=\@DT at loopN
-  \whiledo{\@strctr<\c at padzeroesN}{0\advance\@strctr by \@ne}%
-  \@strctr=65536\relax
-  \@DT at X=#1\relax
-  \loop
-    \@DT at modctr=\@DT at X
-    \divide\@DT at modctr by \@strctr
-    \ifthenelse{\boolean{@DT at padzeroes}
-       \and \(\@DT at modctr=0\)
-       \and \(\@DT at loopN>\c at padzeroesN\)}%
-    {}%
-    {\the\@DT at modctr}%
-    \ifnum\@DT at modctr=0\else\@DT at padzeroesfalse\fi
-    \multiply\@DT at modctr by \@strctr
-    \advance\@DT at X by -\@DT at modctr
-    \divide\@strctr by \tw@
-    \advance\@DT at loopN by \m at ne
-  \ifnum\@strctr>\@ne
-  \repeat
-  \the\@DT at X
-}
-
-\let\binarynum=\@binary
-\newrobustcmd*{\@octal}[1]{%
-  \@DT at X=#1\relax
-  \ifnum\@DT at X>32768
-    \PackageError{fmtcount}%
-    {Value of counter too large for \protect\@octal}
-    {Maximum value 32768}
-  \else
-  \@DT at padzeroestrue
-  \@DT at loopN=6\relax
-  \@strctr=\@DT at loopN
-  \whiledo{\@strctr<\c at padzeroesN}{0\advance\@strctr by \@ne}%
-  \@strctr=32768\relax
-  \loop
-    \@DT at modctr=\@DT at X
-    \divide\@DT at modctr by \@strctr
-    \ifthenelse{\boolean{@DT at padzeroes}
-       \and \(\@DT at modctr=0\)
-       \and \(\@DT at loopN>\c at padzeroesN\)}%
-    {}{\the\@DT at modctr}%
-    \ifnum\@DT at modctr=0\else\@DT at padzeroesfalse\fi
-    \multiply\@DT at modctr by \@strctr
-    \advance\@DT at X by -\@DT at modctr
-    \divide\@strctr by \@viiipt
-    \advance\@DT at loopN by \m at ne
-  \ifnum\@strctr>\@ne
-  \repeat
-  \the\@DT at X
-  \fi
-}
-\let\octalnum=\@octal
-\newcommand*{\@@hexadecimal}[1]{%
-  \ifcase#10\or1\or2\or3\or4\or5\or
-  6\or7\or8\or9\or a\or b\or c\or d\or e\or f\fi
-}
-\newrobustcmd*{\@hexadecimal}[1]{%
-  \@DT at padzeroestrue
-  \@DT at loopN=\@vpt
-  \@strctr=\@DT at loopN
-  \whiledo{\@strctr<\c at padzeroesN}{0\advance\@strctr by \@ne}%
-  \@strctr=65536\relax
-  \@DT at X=#1\relax
-  \loop
-    \@DT at modctr=\@DT at X
-    \divide\@DT at modctr by \@strctr
-    \ifthenelse{\boolean{@DT at padzeroes}
-      \and \(\@DT at modctr=0\)
-      \and \(\@DT at loopN>\c at padzeroesN\)}
-    {}{\@@hexadecimal\@DT at modctr}%
-    \ifnum\@DT at modctr=0\else\@DT at padzeroesfalse\fi
-    \multiply\@DT at modctr by \@strctr
-    \advance\@DT at X by -\@DT at modctr
-    \divide\@strctr by 16\relax
-    \advance\@DT at loopN by \m at ne
-  \ifnum\@strctr>\@ne
-  \repeat
-  \@@hexadecimal\@DT at X
-}
-\let\hexadecimalnum=\@hexadecimal
-\newcommand*{\@@Hexadecimal}[1]{%
-  \ifcase#10\or1\or2\or3\or4\or5\or6\or
-  7\or8\or9\or A\or B\or C\or D\or E\or F\fi
-}
-\newrobustcmd*{\@Hexadecimal}[1]{%
-  \@DT at padzeroestrue
-  \@DT at loopN=5\relax
-  \@strctr=\@DT at loopN
-  \whiledo{\@strctr<\c at padzeroesN}{0\advance\@strctr by \@ne}%
-  \@strctr=65536\relax
-  \@DT at X=#1\relax
-  \loop
-    \@DT at modctr=\@DT at X
-    \divide\@DT at modctr by \@strctr
-    \ifthenelse{\boolean{@DT at padzeroes}
-      \and \(\@DT at modctr=0\)
-      \and \(\@DT at loopN>\c at padzeroesN\)}%
-    {}{\@@Hexadecimal\@DT at modctr}%
-    \ifnum\@DT at modctr=0\else\@DT at padzeroesfalse\fi
-    \multiply\@DT at modctr by \@strctr
-    \advance\@DT at X by -\@DT at modctr
-    \divide\@strctr by 16\relax
-    \advance\@DT at loopN by \m at ne
-  \ifnum\@strctr>\@ne
-  \repeat
-  \@@Hexadecimal\@DT at X
-}
-
-\let\Hexadecimalnum=\@Hexadecimal
-\newrobustcmd*{\@aaalph}{\fc at aaalph\@alph}
-\newcommand*\fc at aaalph[2]{%
-  \@DT at loopN=#2\relax
-  \@DT at X\@DT at loopN
-  \advance\@DT at loopN by \m at ne
-  \divide\@DT at loopN by 26\relax
-  \@DT at modctr=\@DT at loopN
-  \multiply\@DT at modctr by 26\relax
-  \advance\@DT at X by \m at ne
-  \advance\@DT at X by -\@DT at modctr
-  \advance\@DT at loopN by \@ne
-  \advance\@DT at X by \@ne
-  \edef\@tempa{#1\@DT at X}%
-  \loop
-    \@tempa
-    \advance\@DT at loopN by \m at ne
-  \ifnum\@DT at loopN>0
-  \repeat
-}
-
-\let\aaalphnum=\@aaalph
-\newrobustcmd*{\@AAAlph}{\fc at aaalph\@Alph}%
-
-\let\AAAlphnum=\@AAAlph
-\newrobustcmd*{\@abalph}{\fc at abalph\@alph}%
-\newcommand*\fc at abalph[2]{%
-  \@DT at X=#2\relax
-  \ifnum\@DT at X>17576\relax
-    \ifx#1\@alph\def\@tempa{\@abalph}%
-    \else\def\@tempa{\@ABAlph}\fi
-    \PackageError{fmtcount}%
-    {Value of counter too large for \expandafter\protect\@tempa}%
-    {Maximum value 17576}%
-  \else
-    \@DT at padzeroestrue
-    \@strctr=17576\relax
-    \advance\@DT at X by \m at ne
-    \loop
-      \@DT at modctr=\@DT at X
-      \divide\@DT at modctr by \@strctr
-      \ifthenelse{\boolean{@DT at padzeroes}
-        \and \(\@DT at modctr=1\)}%
-      {}{#1\@DT at modctr}%
-      \ifnum\@DT at modctr=\@ne\else\@DT at padzeroesfalse\fi
-      \multiply\@DT at modctr by \@strctr
-      \advance\@DT at X by -\@DT at modctr
-      \divide\@strctr by 26\relax
-    \ifnum\@strctr>\@ne
-    \repeat
-    \advance\@DT at X by \@ne
-    #1\@DT at X
-  \fi
-}
-
-\let\abalphnum=\@abalph
-\newrobustcmd*{\@ABAlph}{\fc at abalph\@Alph}%
-\let\ABAlphnum=\@ABAlph
-\def\@fmtc at count#1#2\relax{%
-  \if\relax#1%
-  \else
-    \advance\@strctr by 1\relax
-    \@fmtc at count#2\relax
-  \fi
-}
-\newrobustcmd*{\@decimal}[1]{%
-  \@strctr=0\relax
-  \expandafter\@fmtc at count\number#1\relax
-  \@DT at loopN=\c at padzeroesN
-  \advance\@DT at loopN by -\@strctr
-  \ifnum\@DT at loopN>0\relax
-    \@strctr=0\relax
-    \whiledo{\@strctr < \@DT at loopN}{0\advance\@strctr by 1\relax}%
-  \fi
-  \number#1\relax
-}
-
-\let\decimalnum=\@decimal
-\newcommand{\FCordinal}[1]{%
-  \ordinalnum{%
-    \the\value{#1}}%
-}
-\ifcsundef{ordinal}
- {\let\ordinal\FCordinal}%
- {%
-   \PackageWarning{fmtcount}%
-   {\protect\ordinal \space already defined use
-    \protect\FCordinal \space instead.}
- }
-\newrobustcmd*{\ordinalnum}[1]{%
-  \new at ifnextchar[%
-  {\@ordinalnum{#1}}%
-  {\@ordinalnum{#1}[m]}%
-}
-\def\@ordinalnum#1[#2]{%
-  {%
-    \ifthenelse{\equal{#2}{f}}%
-    {%
-      \protect\@ordinalF{#1}{\@fc at ordstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#2}{n}}%
-      {%
-        \protect\@ordinalN{#1}{\@fc at ordstr}%
-      }%
-      {%
-        \ifthenelse{\equal{#2}{m}}%
-        {}%
-        {%
-          \PackageError{fmtcount}%
-           {Invalid gender option `#2'}%
-           {Available options are m, f or n}%
-        }%
-        \protect\@ordinalM{#1}{\@fc at ordstr}%
-      }%
-    }%
-    \@fc at ordstr
-  }%
-}
-\newcommand*{\storeordinal}[2]{%
-  {%
-    \toks0{\storeordinalnum{#1}}%
-    \expandafter
-   }\the\toks0\expandafter{%
-    \the\value{#2}}%
-}
-\newrobustcmd*{\storeordinalnum}[2]{%
-  \@ifnextchar[%
-  {\@storeordinalnum{#1}{#2}}%
-  {\@storeordinalnum{#1}{#2}[m]}%
-}
-\def\@storeordinalnum#1#2[#3]{%
-  \ifthenelse{\equal{#3}{f}}%
-  {%
-    \protect\@ordinalF{#2}{\@fc at ord}
-  }%
-  {%
-    \ifthenelse{\equal{#3}{n}}%
-    {%
-      \protect\@ordinalN{#2}{\@fc at ord}%
-    }%
-    {%
-      \ifthenelse{\equal{#3}{m}}%
-      {}%
-      {%
-        \PackageError{fmtcount}%
-        {Invalid gender option `#3'}%
-        {Available options are m or f}%
-      }%
-      \protect\@ordinalM{#2}{\@fc at ord}%
-    }%
-  }%
-  \expandafter\let\csname @fcs@#1\endcsname\@fc at ord
-}
-\newcommand*{\FMCuse}[1]{\csname @fcs@#1\endcsname}
-\newcommand*{\ordinalstring}[1]{%
-  \ordinalstringnum{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\newrobustcmd*{\ordinalstringnum}[1]{%
-  \new at ifnextchar[%
-  {\@ordinal at string{#1}}%
-  {\@ordinal at string{#1}[m]}%
-}
-\def\@ordinal at string#1[#2]{%
-  {%
-    \ifthenelse{\equal{#2}{f}}%
-    {%
-      \protect\@ordinalstringF{#1}{\@fc at ordstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#2}{n}}%
-      {%
-        \protect\@ordinalstringN{#1}{\@fc at ordstr}%
-      }%
-      {%
-        \ifthenelse{\equal{#2}{m}}%
-        {}%
-        {%
-          \PackageError{fmtcount}%
-          {Invalid gender option `#2' to \protect\ordinalstring}%
-          {Available options are m, f or n}%
-        }%
-        \protect\@ordinalstringM{#1}{\@fc at ordstr}%
-      }%
-    }%
-    \@fc at ordstr
-  }%
-}
-\newcommand*{\storeordinalstring}[2]{%
-  {%
-    \toks0{\storeordinalstringnum{#1}}%
-    \expandafter
-  }\the\toks0\expandafter{\the\value{#2}}%
-}
-\newrobustcmd*{\storeordinalstringnum}[2]{%
-  \@ifnextchar[%
-  {\@store at ordinal@string{#1}{#2}}%
-  {\@store at ordinal@string{#1}{#2}[m]}%
-}
-\def\@store at ordinal@string#1#2[#3]{%
-  \ifthenelse{\equal{#3}{f}}%
-  {%
-    \protect\@ordinalstringF{#2}{\@fc at ordstr}%
-  }%
-  {%
-    \ifthenelse{\equal{#3}{n}}%
-    {%
-      \protect\@ordinalstringN{#2}{\@fc at ordstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#3}{m}}%
-      {}%
-      {%
-        \PackageError{fmtcount}%
-        {Invalid gender option `#3' to \protect\ordinalstring}%
-        {Available options are m, f or n}%
-      }%
-      \protect\@ordinalstringM{#2}{\@fc at ordstr}%
-    }%
-  }%
-  \expandafter\let\csname @fcs@#1\endcsname\@fc at ordstr
-}
-\newcommand*{\Ordinalstring}[1]{%
-  \Ordinalstringnum{\expandafter\expandafter\expandafter\the\value{#1}}%
-}
-\newrobustcmd*{\Ordinalstringnum}[1]{%
-  \new at ifnextchar[%
-  {\@Ordinal at string{#1}}%
-  {\@Ordinal at string{#1}[m]}%
-}
-\def\@Ordinal at string#1[#2]{%
-  {%
-    \ifthenelse{\equal{#2}{f}}%
-    {%
-      \protect\@OrdinalstringF{#1}{\@fc at ordstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#2}{n}}%
-      {%
-        \protect\@OrdinalstringN{#1}{\@fc at ordstr}%
-      }%
-      {%
-        \ifthenelse{\equal{#2}{m}}%
-        {}%
-        {%
-          \PackageError{fmtcount}%
-          {Invalid gender option `#2'}%
-          {Available options are m, f or n}%
-        }%
-        \protect\@OrdinalstringM{#1}{\@fc at ordstr}%
-      }%
-    }%
-    \@fc at ordstr
-  }%
-}
-\newcommand*{\storeOrdinalstring}[2]{%
-  {%
-    \toks0{\storeOrdinalstringnum{#1}}%
-    \expandafter
-  }\the\toks0\expandafter{\the\value{#2}}%
-}
-\newrobustcmd*{\storeOrdinalstringnum}[2]{%
-  \@ifnextchar[%
-  {\@store at Ordinal@string{#1}{#2}}%
-  {\@store at Ordinal@string{#1}{#2}[m]}%
-}
-\def\@store at Ordinal@string#1#2[#3]{%
-  \ifthenelse{\equal{#3}{f}}%
-  {%
-    \protect\@OrdinalstringF{#2}{\@fc at ordstr}%
-  }%
-  {%
-    \ifthenelse{\equal{#3}{n}}%
-    {%
-      \protect\@OrdinalstringN{#2}{\@fc at ordstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#3}{m}}%
-      {}%
-      {%
-        \PackageError{fmtcount}%
-        {Invalid gender option `#3'}%
-        {Available options are m or f}%
-      }%
-      \protect\@OrdinalstringM{#2}{\@fc at ordstr}%
-    }%
-  }%
-  \expandafter\let\csname @fcs@#1\endcsname\@fc at ordstr
-}
-\newcommand*{\storeORDINALstring}[2]{%
-  {%
-    \toks0{\storeORDINALstringnum{#1}}%
-    \expandafter
-  }\the\toks0\expandafter{\the\value{#2}}%
-}
-\newrobustcmd*{\storeORDINALstringnum}[2]{%
-  \@ifnextchar[%
-  {\@store at ORDINAL@string{#1}{#2}}%
-  {\@store at ORDINAL@string{#1}{#2}[m]}%
-}
-\def\@store at ORDINAL@string#1#2[#3]{%
-  \ifthenelse{\equal{#3}{f}}%
-  {%
-    \protect\@ordinalstringF{#2}{\@fc at ordstr}%
-  }%
-  {%
-    \ifthenelse{\equal{#3}{n}}%
-    {%
-      \protect\@ordinalstringN{#2}{\@fc at ordstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#3}{m}}%
-      {}%
-      {%
-        \PackageError{fmtcount}%
-        {Invalid gender option `#3'}%
-        {Available options are m or f}%
-      }%
-      \protect\@ordinalstringM{#2}{\@fc at ordstr}%
-    }%
-  }%
-  \expandafter\protected at edef\csname @fcs@#1\endcsname{%
-    \noexpand\MakeUppercase{\@fc at ordstr}%
-  }%
-}
-\newcommand*{\ORDINALstring}[1]{%
-  \ORDINALstringnum{\expandafter\expandafter\expandafter
-    \the\value{#1}%
-  }%
-}
-\newrobustcmd*{\ORDINALstringnum}[1]{%
-  \new at ifnextchar[%
-  {\@ORDINAL at string{#1}}%
-  {\@ORDINAL at string{#1}[m]}%
-}
-\def\@ORDINAL at string#1[#2]{%
-  {%
-    \ifthenelse{\equal{#2}{f}}%
-    {%
-      \protect\@ordinalstringF{#1}{\@fc at ordstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#2}{n}}%
-      {%
-        \protect\@ordinalstringN{#1}{\@fc at ordstr}%
-      }%
-      {%
-        \ifthenelse{\equal{#2}{m}}%
-        {}%
-        {%
-          \PackageError{fmtcount}%
-          {Invalid gender option `#2'}%
-          {Available options are m, f or n}%
-        }%
-        \protect\@ordinalstringM{#1}{\@fc at ordstr}%
-      }%
-    }%
-    \MakeUppercase{\@fc at ordstr}%
-  }%
-}
-\newcommand*{\storenumberstring}[2]{%
-  \expandafter\protect\expandafter\storenumberstringnum{#1}{%
-    \expandafter\the\value{#2}}%
-}
-\newcommand{\storenumberstringnum}[2]{%
-  \@ifnextchar[%
-  {\@store at number@string{#1}{#2}}%
-  {\@store at number@string{#1}{#2}[m]}%
-}
-\def\@store at number@string#1#2[#3]{%
-  \ifthenelse{\equal{#3}{f}}%
-  {%
-    \protect\@numberstringF{#2}{\@fc at numstr}%
-  }%
-  {%
-    \ifthenelse{\equal{#3}{n}}%
-    {%
-      \protect\@numberstringN{#2}{\@fc at numstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#3}{m}}%
-      {}%
-      {%
-        \PackageError{fmtcount}
-        {Invalid gender option `#3'}%
-        {Available options are m, f or n}%
-      }%
-      \protect\@numberstringM{#2}{\@fc at numstr}%
-    }%
-  }%
-  \expandafter\let\csname @fcs@#1\endcsname\@fc at numstr
-}
-\newcommand*{\numberstring}[1]{%
-  \numberstringnum{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\newrobustcmd*{\numberstringnum}[1]{%
-  \new at ifnextchar[%
-  {\@number at string{#1}}%
-  {\@number at string{#1}[m]}%
-}
-\def\@number at string#1[#2]{%
-  {%
-    \ifthenelse{\equal{#2}{f}}%
-    {%
-      \protect\@numberstringF{#1}{\@fc at numstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#2}{n}}%
-      {%
-         \protect\@numberstringN{#1}{\@fc at numstr}%
-      }%
-      {%
-        \ifthenelse{\equal{#2}{m}}%
-        {}%
-        {%
-          \PackageError{fmtcount}%
-          {Invalid gender option `#2'}%
-          {Available options are m, f or n}%
-        }%
-        \protect\@numberstringM{#1}{\@fc at numstr}%
-      }%
-    }%
-    \@fc at numstr
-  }%
-}
-\newcommand*{\storeNumberstring}[2]{%
-  {%
-    \toks0{\storeNumberstringnum{#1}}%
-    \expandafter
-  }\the\toks0\expandafter{\the\value{#2}}%
-}
-\newcommand{\storeNumberstringnum}[2]{%
-  \@ifnextchar[%
-  {\@store at Number@string{#1}{#2}}%
-  {\@store at Number@string{#1}{#2}[m]}%
-}
-\def\@store at Number@string#1#2[#3]{%
-  \ifthenelse{\equal{#3}{f}}%
-  {%
-    \protect\@NumberstringF{#2}{\@fc at numstr}%
-  }%
-  {%
-    \ifthenelse{\equal{#3}{n}}%
-    {%
-      \protect\@NumberstringN{#2}{\@fc at numstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#3}{m}}%
-      {}%
-      {%
-        \PackageError{fmtcount}%
-        {Invalid gender option `#3'}%
-        {Available options are m, f or n}%
-      }%
-      \protect\@NumberstringM{#2}{\@fc at numstr}%
-    }%
-  }%
-  \expandafter\let\csname @fcs@#1\endcsname\@fc at numstr
-}
-\newcommand*{\Numberstring}[1]{%
-  \Numberstringnum{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\newrobustcmd*{\Numberstringnum}[1]{%
-  \new at ifnextchar[%
-  {\@Number at string{#1}}%
-  {\@Number at string{#1}[m]}%
-}
-\def\@Number at string#1[#2]{%
-  {%
-    \ifthenelse{\equal{#2}{f}}%
-    {%
-      \protect\@NumberstringF{#1}{\@fc at numstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#2}{n}}%
-      {%
-        \protect\@NumberstringN{#1}{\@fc at numstr}%
-      }%
-      {%
-        \ifthenelse{\equal{#2}{m}}%
-        {}%
-        {%
-          \PackageError{fmtcount}%
-          {Invalid gender option `#2'}%
-          {Available options are m, f or n}%
-        }%
-        \protect\@NumberstringM{#1}{\@fc at numstr}%
-      }%
-    }%
-    \@fc at numstr
-  }%
-}
-\newcommand{\storeNUMBERstring}[2]{%
-  {%
-    \toks0{\storeNUMBERstringnum{#1}}%
-    \expandafter
-    }\the\toks0\expandafter{\the\value{#2}}%
-}
-\newcommand{\storeNUMBERstringnum}[2]{%
-  \@ifnextchar[%
-  {\@store at NUMBER@string{#1}{#2}}%
-  {\@store at NUMBER@string{#1}{#2}[m]}%
-}
-\def\@store at NUMBER@string#1#2[#3]{%
-  \ifthenelse{\equal{#3}{f}}%
-  {%
-    \protect\@numberstringF{#2}{\@fc at numstr}%
-  }%
-  {%
-    \ifthenelse{\equal{#3}{n}}%
-    {%
-      \protect\@numberstringN{#2}{\@fc at numstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#3}{m}}%
-      {}%
-      {%
-        \PackageError{fmtcount}%
-        {Invalid gender option `#3'}%
-        {Available options are m or f}%
-      }%
-      \protect\@numberstringM{#2}{\@fc at numstr}%
-    }%
-  }%
-  \expandafter\edef\csname @fcs@#1\endcsname{%
-    \noexpand\MakeUppercase{\@fc at numstr}%
-  }%
-}
-\newcommand*{\NUMBERstring}[1]{%
-  \NUMBERstringnum{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\newrobustcmd*{\NUMBERstringnum}[1]{%
-  \new at ifnextchar[%
-  {\@NUMBER at string{#1}}%
-  {\@NUMBER at string{#1}[m]}%
-}
-\def\@NUMBER at string#1[#2]{%
-  {%
-    \ifthenelse{\equal{#2}{f}}%
-    {%
-      \protect\@numberstringF{#1}{\@fc at numstr}%
-    }%
-    {%
-      \ifthenelse{\equal{#2}{n}}%
-      {%
-         \protect\@numberstringN{#1}{\@fc at numstr}%
-      }%
-      {%
-        \ifthenelse{\equal{#2}{m}}%
-        {}%
-        {%
-          \PackageError{fmtcount}%
-          {Invalid gender option `#2'}%
-          {Available options are m, f or n}%
-        }%
-        \protect\@numberstringM{#1}{\@fc at numstr}%
-      }%
-    }%
-    \MakeUppercase{\@fc at numstr}%
-  }%
-}
-\providecommand*{\binary}[1]{%
-  \@binary{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\providecommand*{\aaalph}[1]{%
-  \@aaalph{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\providecommand*{\AAAlph}[1]{%
-  \@AAAlph{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\providecommand*{\abalph}[1]{%
-  \@abalph{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\providecommand*{\ABAlph}[1]{%
-  \@ABAlph{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\providecommand*{\hexadecimal}[1]{%
-  \@hexadecimal{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\providecommand*{\Hexadecimal}[1]{%
-  \@Hexadecimal{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\providecommand*{\octal}[1]{%
-  \@octal{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\providecommand*{\decimal}[1]{%
-  \@decimal{\expandafter\expandafter\expandafter
-    \the\value{#1}}%
-}
-\def\@setdef at ultfmtcount{%
-  \ifcsundef{@ordinalMenglish}{\FCloadlang{english}}{}%
-  \def\@ordinalstringM{\@ordinalstringMenglish}%
-  \let\@ordinalstringF=\@ordinalstringMenglish
-  \let\@ordinalstringN=\@ordinalstringMenglish
-  \def\@OrdinalstringM{\@OrdinalstringMenglish}%
-  \let\@OrdinalstringF=\@OrdinalstringMenglish
-  \let\@OrdinalstringN=\@OrdinalstringMenglish
-  \def\@numberstringM{\@numberstringMenglish}%
-  \let\@numberstringF=\@numberstringMenglish
-  \let\@numberstringN=\@numberstringMenglish
-  \def\@NumberstringM{\@NumberstringMenglish}%
-  \let\@NumberstringF=\@NumberstringMenglish
-  \let\@NumberstringN=\@NumberstringMenglish
-  \def\@ordinalM{\@ordinalMenglish}%
-  \let\@ordinalF=\@ordinalM
-  \let\@ordinalN=\@ordinalM
-  \let\fmtord\fc at orddef@ult
-}
-\newcommand*{\fc at multiling}[2]{%
-  \ifcsundef{@#1#2\languagename}%
-  {% try loading it
-     \FCloadlang{\languagename}%
-  }%
-  {%
-  }%
-  \ifcsundef{@#1#2\languagename}%
-  {%
-    \PackageWarning{fmtcount}%
-    {No support for \expandafter\protect\csname #1\endcsname\space for
-     language '\languagename'}%
-    \ifthenelse{\equal{\languagename}{\fc at mainlang}}%
-    {%
-       \FCloadlang{english}%
-    }%
-    {%
-    }%
-    \ifcsdef{@#1#2\fc at mainlang}%
-    {%
-       \csuse{@#1#2\fc at mainlang}%
-    }%
-    {%
-       \PackageWarningNoLine{fmtcount}%
-       {No languages loaded at all! Loading english definitions}%
-       \FCloadlang{english}%
-       \def\fc at mainlang{english}%
-       \csuse{@#1#2english}%
-    }%
-  }%
-  {%
-    \csuse{@#1#2\languagename}%
-  }%
-}
-\def\@set at mulitling@fmtcount{%
-  \def\@numberstringM{%
-    \fc at multiling{numberstring}{M}%
-  }%
-  \def\@numberstringF{%
-    \fc at multiling{numberstring}{F}%
-  }%
-  \def\@numberstringN{%
-    \fc at multiling{numberstring}{N}%
-  }%
-  \def\@NumberstringM{%
-    \fc at multiling{Numberstring}{M}%
-  }%
-  \def\@NumberstringF{%
-    \fc at multiling{Numberstring}{F}%
-  }%
-  \def\@NumberstringN{%
-    \fc at multiling{Numberstring}{N}%
-  }%
-  \def\@ordinalM{%
-    \fc at multiling{ordinal}{M}%
-  }%
-  \def\@ordinalF{%
-    \fc at multiling{ordinal}{F}%
-  }%
-  \def\@ordinalN{%
-    \fc at multiling{ordinal}{N}%
-  }%
-  \def\@ordinalstringM{%
-    \fc at multiling{ordinalstring}{M}%
-  }%
-  \def\@ordinalstringF{%
-    \fc at multiling{ordinalstring}{F}%
-  }%
-  \def\@ordinalstringN{%
-    \fc at multiling{ordinalstring}{N}%
-  }%
-  \def\@OrdinalstringM{%
-    \fc at multiling{Ordinalstring}{M}%
-  }%
-  \def\@OrdinalstringF{%
-    \fc at multiling{Ordinalstring}{F}%
-  }%
-  \def\@OrdinalstringN{%
-    \fc at multiling{Ordinalstring}{N}%
-  }%
-  \let\fmtord\fc at ord@multiling
-}
-\expandafter\@ifpackageloaded
-\expandafter{\ifxetex polyglossia\else\ifluatex polyglossia\else babel\fi\fi}% %%%%% modification
-{%
-  \@set at mulitling@fmtcount
-}%
-{%
-  \@ifpackageloaded{ngerman}%
-  {%
-    \FCloadlang{ngerman}%
-    \@set at mulitling@fmtcount
-  }%
-  {%
-    \iffmtcount at language@option
-        \@set at mulitling@fmtcount
-        \AtBeginDocument{%
-          \ifcsundef{languagename}%
-          {%
-            \PackageWarning{fmtcount}{%
-              `\protect\languagename' is undefined, you should use package babel/polyglossia when loading a
-              language via package option. Reverting to default language.
-            }%
-            \@setdef at ultfmtcount
-          }{%
-            \@FC at iflangloaded{\languagename}{}{%
-              \PackageWarning{fmtcount}{%
-                Setting `\protect\languagename' to `\fc at mainlang'.\MessageBreak
-                Reason is that `\protect\languagename' was `\languagename',\MessageBreak
-                but `\languagename' was not loaded by fmtcount,\MessageBreak
-                whereas `\fc at mainlang' was the last language loaded by fmtcount ;
-              }%
-              \let\languagename\fc at mainlang
-            }
-          }%
-        }
-    \else
-       \@setdef at ultfmtcount
-    \fi
-  }%
-}
-\AtBeginDocument{%
-   \ifcsundef{FBsupR}{\let\fc at textsuperscript\textsuperscript}{\let\fc at textsuperscript\fup}%
-}
-\let\@ordinal=\@ordinalM
-\let\@ordinalstring=\@ordinalstringM
-\let\@Ordinalstring=\@OrdinalstringM
-\let\@numberstring=\@numberstringM
-\let\@Numberstring=\@NumberstringM
-\iffalse Local variables: \fi
-\iffalse mode: docTeX     \fi
-\iffalse End:             \fi
-\endinput
-%%
-%% End of file `fmtcount-faux.sty'.

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-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-cover-template.tex	2017-10-19 21:28:46 UTC (rev 45558)
@@ -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.42 or later
+\documentclass[coverart]{novel} % v. 1.44 or later
 \SetMediaSize{width}{height} % includes bleed
 \SetTrimSize{width}{height} % without bleed
 \SetTitle{example} % title required, might not be book title

Modified: 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-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.tex	2017-10-19 21:28:46 UTC (rev 45558)
@@ -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.42 or later
+\documentclass{novel} % v. 1.43 or later
 \SetTitle{Dark and Stormy}
 \SetSubtitle{A Tale of Nights}
 \SetAuthor{Dirk Hardcase}

Deleted: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/docprops.png
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/lowdown.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/lowdown.png
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/lowdown.png	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/lowdown.png	2017-10-19 21:28:46 UTC (rev 45558)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/lowdown.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/margins.png
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/robberies.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/robberies.png
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/robberies.png	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/robberies.png	2017-10-19 21:28:46 UTC (rev 45558)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/html-resources/robberies.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/thelowdown.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-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/novel-documentation.html	2017-10-19 21:28:46 UTC (rev 45558)
@@ -78,13 +78,28 @@
   *.toptitle {display:none;}
 }
 </style>
+<script type="text/javascript">var doprint=false;</script>
 
-<script type="text/javascript">
-var doprint=false;
-var mysearch = location.href;
-if(mysearch.indexOf("print")!=-1){doprint=true; document.getElementById("screenstyle").disabled=true;}
-</script>
 
+<!-- Trouble Printing? Remove the following line, and another one below: -->
+<!-- REMOVE ME
+
+<style type="text/css">
+  body {color:#000000; background:#ffffff none;}
+  #toc {display:block; font-size:1em; width:auto; background:#ffffff none; position:static; overflow:auto; height:auto;}
+  #toc li ul li {display:none;}
+  #main {float:none; background:#ffffff none; width:auto; padding-bottom:0;}
+  div.codeblock p {text-indent:0px; white-space:auto;}
+  *.screennoscript {display:none;}
+  *.toptitle {display:block;}
+  *.notprinted {display:none;}
+</style>
+<script type="text/javascript">doprint=true;</script>
+
+REMOVE ME TOO -->
+<!-- Also remove the above line, if trouble printing. Then load with JavaScript off. -->
+
+
 <script type="text/javascript">
 if(!doprint) {window.onload = loadnav;}
 function loadnav() {
@@ -327,6 +342,7 @@
           <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 -->
     </ul>
   </li><!-- end 5 -->
 
@@ -534,11 +550,7 @@
   <li id="lF"><span class="n" style="visibility:hidden"></span><a href="#hF"><b>F. Sample Document</b></a>
   </li><!-- end F -->
 
-  <li id="lG"><span class="n"></span><a href="#hG"><b>G. Known Issues</b></a>
-    <ul id="uG">
-      <li><a href="#hG.1">G.1. fmtcount (solved)</a></li>
-    </ul>
-  </li><!-- end C -->
+  <li id="lG"><span class="n" style="visibility:hidden"></span><a href="#hG"><b>G. Known Issues</b></a></li><!-- end G -->
 
 </ul><!-- end master toc ul -->
 
@@ -553,11 +565,12 @@
 <!-- **************************************************************************************** -->
 
 <h1 id="h0">Document class <i>novel</i> - documentation</h1>
-<p class="noindent">Version: 1.42, 2017/10/04. <span id="screennoscript" class="screennoscript"><b>For enchanced navigation of this file, turn on JavaScript.</b></span></p>
+<p class="noindent">Version: 1.43, 2017/10/19. <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><b>Printing this file:</b> 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 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> </p>
 
 
@@ -1020,7 +1033,8 @@
 <div class="d5" id="d4.2.1.1">
 <p>In <i>novel</i> you set a parent font (<i>parentfont</i>), which is the ancestor of several pre-defined font styles, including the main text font. In Preamble:</p>
 <p class="code"><code>\SetParentFont[<em>features</em>]{<em>fontname</em>}</code><p>
-<p>The command uses <i>fontspec</i> syntax, which is reviewed in an Appendix here, and described in full detail by the <i>fontspec</i> package documentation.</p>
+<p>The command uses <i>fontspec</i> syntax, which is reviewed in <a href="#hE">Appendix E</a>, and described in full detail by the <i>fontspec</i> package documentation.</p>
+<p>When you use <code>\SetParentFont</code>, its features and fontname are stored as strings in macros <code>\parentfontfeatures</code> and <code>\parentfontname</code>. If you don't use <code>\SetParentFont</code> then the default values will be provided. In any case, you can use <code>\parentfontfeatures</code> and <code>\parentfontname</code> as arguments to other font commands.</p>
 <p>IMPORTANT: In all font setting commands (<code>\SetParentFont</code> and others), you may <i>not</i> use a line break anywhere in the command. If you wish to break your code into multiple lines for ease of reading in the source document, be sure to use the percent symbol % at the end of each line, so that the line return character is nullified, like this:</p>
 <p class="code"><code>
 \SetParentFont[%<br/>
@@ -1061,6 +1075,7 @@
 <code>\SetSubchFont[<em>features</em>]{<em>fontname</em>}</code>   % <em>see section <a href="#h5.1.3.1">5.1.3.1</a></em><br/>
 <code>\SetHeadFont[<em>features</em>]{<em>fontname</em>}</code>   % <em>see section <a href="#h4.3.4.2">4.3.4.2</a></em>
 </p>
+<p>You may use <code>\parentfontfeatures</code> and/or <code>\parentfontname</code> as arguments, if you wish.</p>
 </div><!-- end 4.2.2 -->
 
 <h4 id="h4.2.3">4.2.3. Advanced: The Deco Font</h4>
@@ -1269,7 +1284,8 @@
 <p class="centerimg"><img src="html-resources/headfont-montserrat-el.png" width="419" height="81" title="Montserrat EL headfont" alt="Montserrat EL headfont"/></p>
 <p>Unless you change it, the <i>headfont</i> is the same as the parent (main) font. However, it is scaled to slightly smaller size, uses lining numbers (if available), and small caps (if available). This is a general-purpose style, widely used in fiction. It may not be the most artistic, but it is unlikely to cause visual distraction:</p>
 <p class="centerimg"><img src="html-resources/headfont-default.png" width="419" height="81" title="default headfont" alt="default headfont"/></p>
-<p>If you do <i>not</i> want SmallCaps to be automatically added, use <code>Letters=ResetAll</code> as a feature.</p>
+<p>If you do <i>not</i> want SmallCaps to be automatically added, use <code>Letters=ResetAll</code> as a feature:</p>
+<p class="code"><code>\SetHeadFont[Letters=ResetAll]{\parentfontname}</code></p>
 <div style="clear:both"></div>
 </div><!-- end 4.3.4.2 -->
 
@@ -1324,7 +1340,7 @@
 <h5 id="h4.3.4.6">4.3.4.6. Setting and Changing Header Text</h5>
 <div class="d5" id="d4.3.4.6">
 <p class="noindent">If you are using head/foot style <i>1</i>, <i>4</i>, <i>5</i>, or <i>6</i>, it has text in the header. By default, that text is the author on verso pages, the title on recto pages. That is an accepted design for fiction, but it is not always the appropriate thing to do.</p>
-<p>For example, in exotic cases you may use something such as <code>\SetTitle{ISBN9780123456789TEXTBLOCK}</code>, instead of the book's actual title, if required fr the printer's database. Obviously you do not want that to appear in page headings!</p>
+<p>For example, in exotic cases you may use something such as <code>\SetTitle{ISBN9780123456789TEXTBLOCK}</code>, instead of the book's actual title, if required for the printer's database. Obviously you do not want that to appear in page headings!</p>
 <p>This is solved using these commands:</p>
 <p class="code"><code>\SetVersoHeadText{<em>text</em>}</code><br/>
 <code>\SetRectoHeadText{<em>text</em>}</code></p>
@@ -1466,26 +1482,20 @@
 </small></code></p>
 </div><!-- end 5.1.3.2 -->
 
-<h5 id="h5.1.3.3">5.1.3.3. <code>\ChapterDeco[<em>alignment</em>]{<em>text</em>}</code></h5>
+<h5 id="h5.1.3.3">5.1.3.3. <code>\ChapterDeco[<em>alignment scale</em>]{<em>text</em>}</code></h5>
 <div class="d5" id="d5.1.3.3">
-<p class="noindent">Text within <code>\ChapterDeco</code> has no particular content, and no particular styling. This command is simply a way for you to remember that its content is neither the title nor subtitle of the chapter.</p>
-<p>The optional <i>alignment</i> is one of <i>l</i>, <i>c</i>, <i>r</i> (left, center, right). Default <i>c</i>.</p>
-<p>Many works of fiction have a decorative element below (or within) chapter titles. For your convenience, the <i>NovelDeco</i> font (included with <i>novel</i> has a few possibilities. they are accessed via the <code>\decoglyph</code> command. The list of available decorations, and codes to access them, are in the file <i>NovelDeco-glyphs.pdf</i>, which is in the <i>extras</i> folder within this documentation. Note that the decorations can be placed anywhere in your document, not just in <code>\ChapterDeco</code>.</p>
-<p>When you use a decoration, it will almost certainly have to be up-scaled, using the <code>\charscale</code> command. You may have to adjust its vertical position using <code>\vspace</code>.</p>
-<p>Example: More likely than not, the same decoration will be applied to any chapter that has one. Then, you can define the decoration as a macro in Preamble:</p>
-<p class="code"><code><small>\newcommand\myctdeco{%<br/>
-<span style="padding-left:2em"></span>\charscale[4]{\decoglyph{r9666}\decoglyph{n9591}\decoglyph{r9656}}<br/>
-<span style="padding-left:2em"></span>}%
-</small></code></p>
-<p>Then use it wherever needed:</p>
-<p class="code"><img class="floatright" src="html-resources/thelowdown.png" width="334" height="181" title="chapter title with decoration" alt="chapter title with decoration"/><code><small>
-\begin{ChapterStart}<br/>
+<p class="noindent">This command is simply a way for you to remember that its content is neither the title nor subtitle of the chapter. Typical usage is to place a decorative element.</p>
+<p>There is a single command option, which is parsed for a letter and/or a number, with our without comma or space. The <i>alignment</i> letter is one of <i>l</i>, <i>c</i>, <i>r</i> (left, center, right). Default <i>c</i>. The numerical <i>scale</i> (may be decimal) changes the size of the text, and tweaks its vertical position. Default scale is <i>1</i>.</p>
+<p>For your convenience, the <i>NovelDeco</i> font (included with <i>novel</i> has a few possibilities. they are accessed via the <code>\decoglyph</code> command. The list of available decorations, and codes to access them, are in the file <i>NovelDeco-glyphs.pdf</i>, which is in the <i>extras</i> folder within this documentation. Note that the decorations can be placed anywhere in your document, not just in <code>\ChapterDeco</code>.</p>
+<p><img class="floatright" src="html-resources/lowdown.png" width="300" height="141" title="chapter title with decoration" alt="chapter title with decoration"/>Most of the <code>\decoglyph</code> decorations look best when the optional <i>scale</i> is near <i>4</i>. Example:</p>
+<p class="code"><code><small>
+\begin{ChapterStart}[8]<br/>
 \vspace{2\nbs}<br/>
-\ChapterTitle{3. The Low-Down}<br/>
-\vspace{2\nbs}<br/>
-\ChapterDeco{\myctdeco}<br/>
+\ChapterTitle[l]{3}<br/>
+\ChapterSubtitle[l]{The Low-Down}<br/>
+\ChapterDeco[l4]{\decoglyph{n9591}\decoglyph{r9656}}<br/>
 \end{ChapterStart}<br/>
-I didn't hear the low-down until the following Saturday. By then, all hell had broken loose at Vinny's joint, and the boys were looking for me in trash cans, just in case that was where I was hiding. ...\par
+I didn't hear the low-down until the following Saturday. By then, all hell had broken loose at Vinny's joint, and the boys were looking for me in trash cans, just in case that was where I was hiding, or maybe dead. ...\par
 </small></code></p>
 </div><!-- end 5.1.3.3 -->
 
@@ -1590,7 +1600,35 @@
 </div><!-- end 5.3.1 -->
 </div><!-- end 5.3 -->
 
+<h3 id="h5.4">5.4. Automatic Chapter Numbering</h3>
+<div class="d3" id="d5.4">
+<p class="noindent">By popular demand, here is how to add automatic chapter numbering:</p>
+<p>Counter <i>novelcn</i> is pre-defined, and initialized to <i>1</i> (not zero). If you simply wish to print its value as a number, then increment the count, do something like this:</p>
+<p class="code"><code>
+\ChapterTitle{Chapter \the\value{novelcn}\stepcounter{novelcn}}
+</code></p>
+<p>That will print Chapter 1, Chapter 2, and so forth. Of course, only do this for real, numbered chapters, not for "chapter-like" sections. If your book has several parts, and each part re-sets its own chapter count, use \setcounter{novelcn}{1} prior to the first chapter in each part.</p>
+<p>If you would like the number to be spelled out, as in Chapter One, Chapter Two, and so forth, then try the <i>fmtcount</i> package. It can also do ordinals such as First Chapter, Second Chapter. See the <i>fmtcount</i> package documentation for details.</p>
+<p>If your document's language is other than English, use <code>\setdefaultlanguage</code> <i>before</i> you load the <i>fmtcount</i> package. If you do it later, then positioning will be incorrect.</p>
+<p><b>Caution:</b> At the time I write this, <i>fmtcount</i> does not detect <i>luatex</i>. Without some hacking, it incorrectly positions its text, when used with <i>novel</i>. The maintainer has been informed. Until such time as <i>fmtcount</i> is fixed, here is the hack. In Preamble:</p>
+<p class="code"><code>
+% if necessary, use \setdefaultlanguage first.<br/>
+\xetextrue % remove this command when <i>fmtcount</i> is fixed<br/>
+\RequirePackage{fmtcount}<br/>
+\xetexfalse % remove this command when <i>fmtcount</i> is fixed
+</code></p>
+<p>Example usage in chapter titles:</p>
+<p class="code"><code>
+\ChapterTitle{\Ordinalstring{novelcn}\stepcounter{novelcn} Robbery} %1<br/>
+\ChapterTitle{\Ordinalstring{novelcn}\stepcounter{novelcn} Robbery} %2<br/>
+\ChapterTitle{\Ordinalstring{novelcn}\stepcounter{novelcn} Robbery} %3
+</code></p>
+<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 -->
 
+
+
+
 </div><!-- end 5 -->
 </div><!-- end page05 -->
 <!-- ************************************************************ -->
@@ -1603,7 +1641,7 @@
 <p>Information about how to choose the global, main text point size is described in <a href="#h4.2.1.2">section 4.2.1.2</a>. General information about choosing fonts and font features is in <a href="#hC">Appendix C</a> and <a href="#hE">Appendix E</a>.</p>
 <p>There is no direct setting for normal baselineskip; it is automatically calculated from the size of the textblock (using Trim Size, Margins, and header/footer layouts) and <a href="#h4.3.2">lines per page</a>.</p>
 <p>The included <i>microtype</i> package is pre-configured, using these settings:</p>
-<p class="code"><code>\microtypesetup{config=novel-microtype,stretch=20,shrink=20,final}</code></p>
+<p class="code"><code>\microtypesetup{config=novel-microtype,final,stretch=20,shrink=20}</code></p>
 <p>File <i>novel-microtype.cfg</i> uses settings typical of the kind of book-weight font that you are likely to use. The stretch and shrink factors are moderate. Calculation is always final, so that you see the same effect whether or not you use the <i>draft</i> class option. If you wish to change any of these, see the <i>microtype</i> package documentation. Note that since you are compiling with LuaLaTeX, some features of <i>microtype</i> may not be available.</p>
 
 <h3 id="h6.1">6.1. Text Sizes</h3>
@@ -3047,7 +3085,6 @@
 <h2 id="hF">Appendix F. Sample Document</h2>
 <div class="d2" id="dF">
 <p class="noindent">If you click on a command, you will be taken to its documentation.
-Default values are shown in braces and brackets, where applicable.
 There are many other commands available, but they are not specific to novel class.</p>
 <div class="sampledoc">
 <p>Non-empty default values are <em>shown like this</em>.<br/>
@@ -3057,7 +3094,7 @@
 <a href="#h1.2.1">% !TeX encoding = UTF-8</a><br/>
 <a href="#h2">\documentclass{novel}</a> % See list of class options; usually none needed.<br/>
 %%% METADATA (FILE DATA):<br/>
-<a href="#h3.3.1">\SetTitle{}</a> % Default: empty.<br/>
+<a href="#h3.3.1">\SetTitle{}</a> % Default: empty. Required for PDF/X.<br/>
 <a href="#h3.3.3">\SetSubtitle{}</a> % Default: empty.<br/>
 <a href="#h3.3.2">\SetAuthor{}</a> % Default: empty.<br/>
 <a href="#h3.3.4">\SetApplication{<em>LuaLaTeX with novel and microtype</em>}</a><br/>
@@ -3098,7 +3135,7 @@
 <a href="#h4.3.4.1">\SetFootJump{<em>1.5</em>}</a><br/>
 <a href="#h4.3.4.3">\SetLooseHead{<em>50</em>}</a><br/>
 <a href="#h4.3.4.5">\SetEmblems{}{}</a> % Default blanks.<br/>
-<a href="#h4.3.4.2">\SetHeadFont[<em>\parentfontfeatures,Letters=SmallCaps,Scale=0.92</em>]{<em>\parentfont</em>}</a><br/>
+<a href="#h4.3.4.2">\SetHeadFont[<em>\parentfontfeatures,Letters=SmallCaps,Scale=0.92</em>]{<em>\parentfontname</em>}</a><br/>
 <a href="#h4.3.4.4">\SetPageNumberStyle{<em>\thepage</em>}</a><br/>
 <a href="#h4.3.4.6">\SetVersoHeadText{<em>\theAuthor</em>}</a><br/>
 <a href="#h4.3.4.6">\SetRectoHeadText{<em>\theTitle</em>}</a><br/>
@@ -3105,8 +3142,8 @@
 %%% CHAPTERS:<br/>
 <a href="#h5.1.2.1">\SetChapterStartStyle{<em>footer</em>}</a> % Equivalent to empty, when style has no footer.<br/>
 <a href="#h5.1.2.2">\SetChapterStartHeight{<em>10</em>}</a><br/>
-<a href="#h5.1.3.1">\SetChapterFont[<em>Numbers=Lining,Scale=1.6</em>]{<em>\parentfont</em>}</a><br/>
-<a href="#h5.1.3.1">\SetSubchFont[<em>Numbers=Lining,Scale=1.2</em>]{<em>\parentfont</em>}</a><br/>
+<a href="#h5.1.3.1">\SetChapterFont[<em>Numbers=Lining,Scale=1.6</em>]{<em>\parentfontname</em>}</a><br/>
+<a href="#h5.1.3.1">\SetSubchFont[<em>Numbers=Lining,Scale=1.2</em>]{<em>\parentfontname</em>}</a><br/>
 <a href="#h5.3.1">\SetScenebreakIndent{<em>false</em>}</a><br/>
 %%% CUSTOM FONTS:<br/>
 % <a href="#h4.2.5">\NewFontFamily[]{}</a> % Optional command.<br/>
@@ -3123,13 +3160,13 @@
 <a href="#h8.3.2">\frontmatter</a> % Required.<br/>
 % Typically <a href="#hB">six pages</a> of front matter, but <a href="#h8.3.2">could be more</a>.<br/>
 <a href="#h8.3.3">\mainmatter</a> % Required<br/>
-% <a href="#h5">Chapters</a> go here. Sample Chapter structure:<br/>
+% <a href="#h5">Chapters</a> go here. SAMPLE Chapter structure:<br/>
 <a href="#h5.1.1">\clearpage</a> % or <a href="#h5.1.1">\cleartorecto</a><br/>
 <a href="#h5.1.2.3">\begin{ChapterStart}</a><br/>
 \vspace*{2\nbs} % Space above chapter title. \nbs = normal baseline skip.<br/>
 <a href="#h5.1.3">\ChapterTitle{</a>— 1 —<a href="#h5.1.3">}</a> % Perhaps also <a href="#h5.1.3">ChapterSubtitle</a>, <a href="#h5.1.3">ChapterDeco</a>.<br/>
 <a href="#h5.1.2.3">\end{ChapterStart}</a><br/>
-It was a dark and stormy night. \lipsum<br/>
+It was a dark and stormy night, etc.<br/>
 <a href="#h5.1.1">\clearpage</a> % or <a href="#h5.1.1">\cleartorecto</a><br/>
 <a href="#h8.3.4">\cleartoend</a><br/>
 \end{document}
@@ -3147,16 +3184,17 @@
 <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>
 
-<h3 id="hG.1"><span class="n"></span>G.1. Placement of \Ordinalstring (fmtcount). Solved.</h3>
+<h3 id="hG.1"><span class="n"></span>G.1. Incorrect string placement with package <i>fmtcount</i></h3>
 <div class="d3" id="uG.1">
-<p class="noindent">At the time I write this (early October 2017) package <i>fmtcount</i> does not detect luatex. As a result, it incorrectly forks <i>novel</i> into code designed for the <i>pdftex</i> compiler. This may cause text placed by <code>\Ordinalstring</code> to appear in the wrong position, especially the first time the command is used.</p>
-<p>Solution: Look for file <i>fmtcount-faux.sty</i> in the "extras" folder of this documentation. In your <i>texmf-local</i> directory, create folder <i>tex/latex/fmtcount-faux</i> and place <i>fmtcount-faux.sty</i> in there. Then update your TeX file name database, using <code>mktexlsr</code> or MikTeX Update FNDB, as appropriate.</p>
-<p>In your own *.tex document, change <code>usepackage{fmtcount}</code> to <code>\usepackage{fmtcount-faux}</code>.</p>
-<p>If you use <i>polyglosia</i> language commands, such as <code>\setdefaultlanguage</code>, ensure that they are placed <i>before</i> loading <i>fmtcount-faux</i> in your Preamble. If you do not have commands in correct order, then this will not work. I believe that you must follow this rule with <i>fmtcount</i>, when it is fixed.</p>
-<p>The <i>fmtcount</i> maintainers have been informed.</p>
+<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>
+<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 -->
 </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-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/novel.tex	2017-10-19 21:28:46 UTC (rev 45558)
@@ -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.42 or later
+\documentclass{novel} % v. 1.43 or later
 % Almost all settings are defaults.
 \SetHeadFootStyle{3}
 \SetTitle{Novel Document Class} % only footer, with page number
@@ -22,7 +22,7 @@
 \ChapterDeco[4]{\decoglyph{n9548}}
 \end{ChapterStart}
 
-\textbf{Where is the documentation??} It is in HTML format, and cannot be retreived via  \textit{texdoc}. If you have this package installed, look for (texroot)/doc/lualatex/novel/novel-documentation.html. If you are online, got to the CTAN page at https://ctan.org/pkg/novel and click ``Package Documentation (HTML).''
+\textbf{Where is the documentation??} It is in HTML format, and cannot be retrieved via  \textit{texdoc}. If you have this package installed, look for (texroot)/doc/lualatex/novel/novel-documentation.html. If you are online, go to the CTAN page at https://ctan.org/pkg/novel and click ``Package Documentation (HTML).''
 
 \scenebreak
 
@@ -36,9 +36,9 @@
 
 Throughout, it is assumed that the purpose of your writing is a commercially printed book of fiction.
 
-A new \emph{novel} is pre-configured to produce a standard trade book size of 5.5in W x 8.5in H, with layout margins that are likely to be acceptable to the most widely-used print services. The file now are now reading is in this format. But if that is not the size or layout you want, then there are commands that configure just about anything, using standard terminology and understandable purpose. Best of all, the HTML documentation comes with images and examples, so you know what you are doing.
+A new \emph{novel} is pre-configured to produce a standard trade book size of 5.5in W x 8.5in H, with layout margins that are likely to be acceptable to the most widely-used print services. The file you are now reading is in this format. But if that is not the size or layout you want, then there are commands that configure just about anything, using standard terminology and understandable purpose. Best of all, the HTML documentation comes with images and examples, so you know what you are doing.
 
-Almost everything is pre-configured to “just work,” even the choice of fonts. The chosen compiler is LuaLaTeX, and Open Type fonts are loaded using fontspec technology. If you prefer to use a professional font, it will be easy to load and use in utf-8.
+Almost everything is pre-configured to “just work,” even the choice of fonts. The chosen compiler is LuaLaTeX, and Open Type fonts are loaded using \textit{fontspec} technology. If you prefer to use a professional font, it will be easy to load and use in utf-8.
 
 Many standard LaTeX commands are disabled. This will be surprising at first. But \emph{novel} is focused on one thing only. Anything that might interfere with that purpose may have been tossed aside. So, be sure that you read the documentation! If you take an existing LaTeX document and just change the class to \emph{novel,} it is very unlikely to work as expected.
 
@@ -58,7 +58,7 @@
 
 \QuickChapter{4. Version}
 
-\noindent 1.42, 2017-10-04: continued doc improvement.
+\noindent 1.42-1.43, 2017-10-19: continued doc improvement.
 
 \noindent 1.41, 2017-10-02: even better docs, minor internal changes.
 
@@ -85,7 +85,7 @@
 \backindent\makebox[\parindent][l]{Q. }Is this project still alive?
 \end{adjustwidth}
 \begin{adjustwidth}{\parindent}{0pt}
-\backindent\makebox[\parindent][l]{A. }Yes, and it is still in use by its creator. However, he would like someone else to take over long-term maintenance, because he is moving on to other things. If interested, contact CTAN and the creator (e-mail at top of novel.cls file). You will need to be familiar with LuaLaTeX, fontspec, Open Type, and the terminology of fiction writing. Lua coding not required. Until then, the original creator will maintain it from time to time.
+\backindent\makebox[\parindent][l]{A. }Yes. But its creator would like someone else to take over long-term maintenance, because he is moving on to other things. If interested, see e-mail at top of novel.cls file. You will need to be familiar with LuaLaTeX, fontspec, Open Type, and the terminology of fiction writing. Lua coding not required. Until then, the original creator will maintain it from time to time.
 \end{adjustwidth}
 
 \begin{adjustwidth}{\parindent}{0pt}
@@ -106,12 +106,11 @@
 \backindent\makebox[\parindent][l]{Q. }Has this document class ever been used for an actual novel?
 \end{adjustwidth}
 \begin{adjustwidth}{\parindent}{0pt}
-\backindent\makebox[\parindent][l]{A. }Yes indeed! In August 2017 the author published a complete novel, including its cover, using this document class. Almost all of the setup used defaults. The files (textblock and cover) were submitted to a major American P.O.D. service in \lnum{PDF/X-1a:2001} format, then electronically reviewed and accepted \textit{on the first attempt.} A printed copy was in the author's hands within a week. Just like that. Took months to write, of course.
+\backindent\makebox[\parindent][l]{A. }Yes indeed! In August 2017 the author published a complete novel, including its cover, using this document class. Almost all of the setup used defaults. The files (textblock and cover) were submitted to a major American P.O.D. service in \lnum{PDF/X-1a:2001} format, then electronically reviewed and accepted \textit{on the first attempt.} A printed copy was in the author's hands within a week. Just like that. Took months to write, of course. Update: Another author reports success with a published book.
 \end{adjustwidth}
 
 \begin{adjustwidth}{\parindent}{0pt}
-\backindent\makebox[\parindent][l]{Q. }When I woke up this morning, my head felt like a toddler had been pounding it in a sandbox. I rolled over and looked at the mug shot on the wall. It was a woman in her forties with a drug habit that
-was bad, and an attitude that was even worse. She had seen better days, like the time I took her to the eighth grade sock hop. Then I got up, washed, and dragged my lonely butt down to the one-man detective agency that I jokingly called my means of living. You know what I mean?
+\backindent\makebox[\parindent][l]{Q. }When I woke up this morning, my head felt like a toddler had been pounding it in a sandbox. I rolled over and looked at the mug shot on the wall. It was a woman in her forties with a drug habit that was bad, and an attitude that was even worse. She had seen better days, like the time I took her to the eighth grade sock hop. Then I got up, washed, and dragged my lonely butt down to the one-man detective agency that I jokingly called my means of living. You know what I mean?
 \end{adjustwidth}
 \begin{adjustwidth}{\parindent}{0pt}
 \backindent\makebox[\parindent][l]{A. }Yeah. Stick with me, kid. This document class is for you.

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-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-CGATSTR001.clo	2017-10-19 21:28:46 UTC (rev 45558)
@@ -1,4 +1,4 @@
-% Typically used in the USA. Novel file version 1.42
+% Typically used in the USA. Novel file version 1.43
 
 % 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-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-CalculateLayout.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -12,7 +12,7 @@
 %% 
 %%
 \ProvidesFile{novel-CalculateLayout.sty}%
-[2017/10/04 v1.42 LaTeX file (layout calculations)]
+[2017/10/19 v1.43 LaTeX file (layout calculations)]
 %%
 
 %%
@@ -20,7 +20,7 @@
 %%
 
 
-\newlength\normalFontSize % becomes 1em in normal text.
+\newlength\normalFontSize % becomes 1em in normal text, also abbreviated as \nfs
 \newlength\normalBaselineSkip % also abbreviated as \nbs
 
 
@@ -28,7 +28,7 @@
 %% -----------------------------------------------------------------------------
 %%
 % Default Trim Size, if user does not set it. This is a popular size for
-% US softcover fiction, and is close to a popular British size.
+% USA softcover fiction, and is close to a popular British size.
 \if at TrimSizeSet\else
   \SetTrimSize{5.5in}{8.5in} % width, height
 \fi
@@ -118,24 +118,30 @@
 
 %% OLD, NEW, CURRENT, LIVE, TEXT MACRO DEFINITIONS
 %% -----------------------------------------------------------------------------
-%%
-% The `novel' class has a \Rework feature. This allows the user to compile
-% a document using "old" settings" then re-compile using some "new" settings,
-% without changing the paragraph structure or pagination. Not for everyone!
-% The rework is done all at once, without requiring an additional pass.
-% Here, the old and new values are compared, and the effect predicted.
-% The reworked document has will have font size and baselineskip changed
-% to meet the new size requirements.
+% The \Rework commands are special to `novel' class.
+% Situation: You compile the book with certain settings. Looks good.
+%   But then you need to change the Trim Size and/or Margins, without affecting
+%   paragraphs or pagination from what you had before.
+% Solution: Retain your existing settings for Trim Size and Margins.
+%   Then, add \Rework commands, which instruct the layout engine to manipulate
+%   font size (and, if necessary, baseline skip) so that paragraphs and
+%   pagination remain as before. This is done dynamically, in a single pass.
+% How it works: Paragraph layout depends on ratio of text width to font size.
+%   So, when text width changes, simply change font size in proportion.
+%   Then, pagination simply depends on lines per page, unchanged.
+%   But if the lines don't fit due any more, then both text width and font size
+%   are further shrunk, to retain paragraphs and also allow enough line space.
 %
-% "Old" values come from preset values, depending on class Trim Size option.
-%   Or, the presets may be over-ridden using \Set---- commands.
+% "Old" values are pre-configured values, depending on class Trim Size option.
+%   However, the presets are over-ridden by user with using \Set---- commands.
 % "New" values are initialized to "Old" or \Set---- as above.
-%   Then, they can be over-ridden using \Rework---- commands.
-% "Current" values are the latest and greatest, as calculations progress.
-%   They are initialized to "Old" values."
+%   Then, they can be over-ridden by user with \Rework---- commands.
+% "Current" values are initialized to "Old" values. Then they change,
+%   as calculations progress.
 % Widths and Heights are lengths, stored by \setlength.
-% Expression ending in "Num" are pure numbers, suitable for FP calculations.
+% Expressions ending in "Num" are pure numbers, suitable for FP calculations.
 % "Live" refers to the area available to text (including header/footer).
+%   That is, the "live area" is the Trim Size, excluding the Margins.
 %
 % Find the Old and New Live Width and Height, and initialize
 % Text Width and Height to Old Live. Initialize Font Size.
@@ -176,7 +182,6 @@
 
 %% PRELIMINARY CALCULATION OF BASELINESKIP
 %% -----------------------------------------------------------------------------
-%%
 % Get values of \@gotHeader and \@gotFooter booleans:
 \@reserveHFspace % defined in `novel-LayoutSettings.sty'.
 % Adjusted LinesPerPage will include header, footer, and added separations:
@@ -216,7 +221,6 @@
 
 %% FIT CurrentTextWidth TO NewLiveWidth
 %% -----------------------------------------------------------------------------
-%%
 \FPdiv{\my at TextRescaleNum}{\New at LiveWidthNum}{\Current at TextWidthNum}
 \FPmul{\Current at FontSizeNum}{\Current at FontSizeNum}{\my at TextRescaleNum}
 \setlength\Current at FontSize{\Current at FontSizeNum pt}
@@ -228,7 +232,6 @@
 
 %% ADJUST CurrentBaselineSkip TO FIT NewLiveHeight
 %% -----------------------------------------------------------------------------
-%%
 % Test if New Text Height fits within New Live Height:
 \FPifgt{\Current at TextHeightNum}{\New at LiveHeightNum} % does not fit, so fix it
   \FPdiv{\my at NBSrescaleNum}{\New at LiveHeightNum}{\Current at TextHeightNum}
@@ -270,7 +273,6 @@
 
 %% SET TEXTWIDTH, FONT SIZE, BASELINESKIP
 %% -----------------------------------------------------------------------------
-%
 \setlength\textwidth{\Current at TextWidthNum pt}
 %
 \setlength\normalFontSize{\Current at FontSizeNum pt}
@@ -347,7 +349,6 @@
 
 %% BEGIN LAYOUT CALCULATIONS
 %% -----------------------------------------------------------------------------
-%
 \if at gotHeader
   \setlength\headheight{\nbs}
   \FPsub{\@headsepmul}{\@headjump}{1}
@@ -363,8 +364,6 @@
 %
 \setlength\paperwidth{\New at MediaWidth} % MediaWidth
 \setlength\paperheight{\New at MediaHeight} % MediaHeight
-
-
 %% The `closecrop' class option calculates layout, then removes most of the
 %%  margins. Draft mode only. Purpose is to create a file with just enough white
 %%  space around the text to be readable on a handheld device. Not an E-book!
@@ -372,9 +371,6 @@
 \if at closecrop
   \setlength\paperwidth{\textwidth+0.2in}
 \fi
-%%
-
-
 %
 % Standard TeX \hoffset and \voffset is not relative to the MediaBox, but is
 % relative to 1in from the top left corner of the MediaBox. Ouch.
@@ -408,14 +404,10 @@
   \setlength\oddsidemargin{%
     \New at InsideMargin+0.5\New at MediaWidth-0.5\New at TrimWidth-72.27pt}
 \fi
-
-%%
+%
 \if at closecrop
   \setlength\oddsidemargin{-0.9in}
 \fi
-%%
-
-
 %
 % \evensidemargin is at the left (outside edge) of verso pages.
 % Calculation as above, but using \New at OutsideMargin
@@ -425,14 +417,10 @@
   \setlength\evensidemargin{%
     \New at OutsideMargin+0.5\New at MediaWidth-0.5\New at TrimWidth-72.27pt}
 \fi
-
-%%
+%
 \if at closecrop
   \setlength\evensidemargin{-0.9in}
 \fi
-%%
-
-
 %
 % \topmargin is measured from 1in below the top of the MediaBox, to the top of
 % whatever comes first (header or textblock). May be negative.
@@ -445,8 +433,6 @@
     \New at TopMargin+0.5\New at MediaHeight-0.5\New at TrimHeight-72.27pt}
 \fi
 %
-
-%%
 \if at closecrop
   \if at gotHeader
     \setlength\topmargin{-1in}
@@ -455,8 +441,6 @@
   \fi
 \fi
 %%
-
-
 % Vertical position of the textblock is measured to the "top" of the first line
 % of text. But that could be an X height, or an accented character height,
 % an ascender, or something else, depending on the line's content.
@@ -466,15 +450,12 @@
 % line start, it doesn't affect the height, since it is "smashed."
 \setlength\topskip{\normalFontSize}
 %
-% In `novel' class, footers are done in an unusal manner. The position of
+% In `novel' class, footers are done in an unusual manner. The position of
 % the footer baseline is fixed, regardless of the desired jump between text
 % and footer. Then, the content (if any) of the footer is relatively positioned
 % using \smash and \raisebox.
 \setlength\footskip{\nbs}
 %
-
-
-%%
 \if at closecrop
   \if at gotFooter
     \if at gotHeader
@@ -488,14 +469,23 @@
     \setlength\paperheight{\textheight+\headsep+\headheight+0.1in}
   \fi
 \fi
-%%
+%
+%% End layout calculations.
 
 
-%% End layout calculations.
+%% Sanity check:
+\ifthenelse{%
+  \dimtest{\New at TrimWidth}{>}{\New at MediaWidth} %
+  \OR \dimtest{\New at TrimHeight}{>}{\New at MediaHeight}%
+}{%
+  \ClassError{novel}{Media Size too small for TrimSize}%
+  {You wrote \string\SetMediaSize\space with length(s) too small^^J%
+   for the default Trim Size or your values in \string\SetTrimSize.}%
+}{}
+%% end sanity check
 
 
 
-
 % When Media Size exceeds Trim Size, this sets the position:
 \newlength\temp at PaperWidth
 \newlength\temp at PaperHeight
@@ -539,15 +529,14 @@
 \setlength\adj at NewLiveHeight{\New at LiveHeight+0.3\normalFontSize}
 %
 \gdef\@getPageXY{
-  \check at IsVerso % defined in novel-HeadFootStyles.sty
-  \if at isVerso
+  \ifodd\c at page
+    \setlength\Trim at Lx{\oddsidemargin-\New at InsideMargin+72.27pt}
+    \setlength\Trim at Rx{\Trim at Lx+\New at TrimWidth}
+    \setlength\Live at Lx{\oddsidemargin+72.27pt}
+  \else
     \setlength\Trim at Lx{\evensidemargin-\New at OutsideMargin+72.27pt}
     \setlength\Trim at Rx{\Trim at Lx+\New at TrimWidth}
     \setlength\Live at Lx{\evensidemargin+72.27pt}
-  \else
-    \setlength\Trim at Lx{\oddsidemargin-\New at InsideMargin+72.27pt}
-    \setlength\Trim at Rx{\Trim at Lx+\New at TrimWidth}
-    \setlength\Live at Lx{\oddsidemargin+72.27pt}
   \fi
   \if at offcenterTrim
     \setlength\Trim at By{\New at MediaHeight-\New at TrimHeight}
@@ -612,48 +601,47 @@
 % in Preamble using \SetCropmarkGap{length}.
 \if at cropmarks
   \if at offcenterTrim
-  \check at IsVerso
-    \if at isVerso
-  % H bottom left:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\dimexpr\Trim at Lx-0.5in}\rule[\Trim at By-0.5pt]{0.5in-\@mygap}{0.5pt}}}
-  % V bottom left:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\dimexpr\Trim at Lx-0.5pt}\rule[\Trim at By-0.5in]{0.5pt}{0.5in-\@mygap}}}
+    \ifodd\c at page
+      % H bottom right:
+      \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+      \hspace{\dimexpr\Trim at Rx+\@mygap}\rule[\Trim at By-0.5pt]{0.5in-\@mygap}{0.5pt}}}
+      % V bottom right:
+      \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+      \hspace{\Trim at Rx}\rule[\Trim at By-0.5in]{0.5pt}{0.5in-\@mygap}}}
     \else
-  % H bottom right:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\dimexpr\Trim at Rx+\@mygap}\rule[\Trim at By-0.5pt]{0.5in-\@mygap}{0.5pt}}}
-  % V bottom right:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\Trim at Rx}\rule[\Trim at By-0.5in]{0.5pt}{0.5in-\@mygap}}}
+      % H bottom left:
+      \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+      \hspace{\dimexpr\Trim at Lx-0.5in}\rule[\Trim at By-0.5pt]{0.5in-\@mygap}{0.5pt}}}
+      % V bottom left:
+      \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+      \hspace{\dimexpr\Trim at Lx-0.5pt}\rule[\Trim at By-0.5in]{0.5pt}{0.5in-\@mygap}}}
     \fi
   \else
-  % H top left:
-  \AddToShipoutPictureBG{\@getPageXY%
-  \AtPageLowerLeft{%
-  \hspace{\dimexpr\Trim at Lx-0.5in}\rule[\Trim at Ty]{0.5in-\@mygap}{0.5pt}}}
-  % H bottom left:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\dimexpr\Trim at Lx-0.5in}\rule[\Trim at By-0.5pt]{0.5in-\@mygap}{0.5pt}}}
-  % H top right:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\dimexpr\Trim at Rx+\@mygap}\rule[\Trim at Ty]{0.5in-\@mygap}{0.5pt}}}
-  % H bottom right:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\dimexpr\Trim at Rx+\@mygap}\rule[\Trim at By-0.5pt]{0.5in-\@mygap}{0.5pt}}}
-  % V top left:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\dimexpr\Trim at Lx-0.5pt}\rule[\Trim at Ty+\@mygap]{0.5pt}{0.5in-\@mygap}}}
-  % V bottom left:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\dimexpr\Trim at Lx-0.5pt}\rule[\Trim at By-0.5in]{0.5pt}{0.5in-\@mygap}}}
-  % V top right:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\Trim at Rx}\rule[\Trim at Ty+\@mygap]{0.5pt}{0.5in-\@mygap}}}
-  % V bottom right:
-  \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
-  \hspace{\Trim at Rx}\rule[\Trim at By-0.5in]{0.5pt}{0.5in-\@mygap}}}
+    % H top left:
+    \AddToShipoutPictureBG{\@getPageXY%
+    \AtPageLowerLeft{%
+    \hspace{\dimexpr\Trim at Lx-0.5in}\rule[\Trim at Ty]{0.5in-\@mygap}{0.5pt}}}
+    % H bottom left:
+    \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+    \hspace{\dimexpr\Trim at Lx-0.5in}\rule[\Trim at By-0.5pt]{0.5in-\@mygap}{0.5pt}}}
+    % H top right:
+    \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+    \hspace{\dimexpr\Trim at Rx+\@mygap}\rule[\Trim at Ty]{0.5in-\@mygap}{0.5pt}}}
+    % H bottom right:
+    \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+    \hspace{\dimexpr\Trim at Rx+\@mygap}\rule[\Trim at By-0.5pt]{0.5in-\@mygap}{0.5pt}}}
+    % V top left:
+    \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+    \hspace{\dimexpr\Trim at Lx-0.5pt}\rule[\Trim at Ty+\@mygap]{0.5pt}{0.5in-\@mygap}}}
+    % V bottom left:
+    \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+    \hspace{\dimexpr\Trim at Lx-0.5pt}\rule[\Trim at By-0.5in]{0.5pt}{0.5in-\@mygap}}}
+    % V top right:
+    \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+    \hspace{\Trim at Rx}\rule[\Trim at Ty+\@mygap]{0.5pt}{0.5in-\@mygap}}}
+    % V bottom right:
+    \AddToShipoutPictureBG{\@getPageXY\AtPageLowerLeft{%
+    \hspace{\Trim at Rx}\rule[\Trim at By-0.5in]{0.5pt}{0.5in-\@mygap}}}
   \fi
 \fi
 %

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-ChapterScene.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-ChapterScene.sty	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-ChapterScene.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-ChapterScene.sty}%
-[2017/10/04 v1.42 LaTeX file (chapter and scene macros)]
+[2017/10/19 v1.43 LaTeX file (chapter and scene macros)]
 %%
 
 
@@ -22,7 +22,7 @@
 \gdef\maketitle{%
   \ClassError{novel}{\string\maketitle does not exist in this class}%
    {Sorry, but there is no \string\maketitle command in `novel' class.^^J%
-    You must make your own title pages!^^J}%
+    You must make your own title pages! See documentation.^^J}%
 }
 %
 
@@ -37,7 +37,7 @@
 %   \scenestars centers three widely-spaced asterisks.
 %   Default behavior is \noindent for following paragraph.
 %   Use \SetScenebreakIndent{true or false} in Preamble to change this globally.
-%   Either way, the local behavior can be changed using \indent or \noindent.
+%   Either way, local behavior can be changed using \forceindent or \backindent.
 \newcommand\scenebreak{\null}
 %
 \newcommand\sceneline{%
@@ -69,10 +69,18 @@
 %%
 
 
+%% Chapter number count. New in version 1.44. See documentation.
+%% Do NOT use for "chapter-like" sections, only numbered chapters.
+\newcounter{novelcn}
+\setcounter{novelcn}{1}
+%%
+
 %% ChapterStart environment.
 % The most useful way to start a new chapter. Occupies a fixed amount of
 % vertical space. Also self-adjust when used with dropfolio. Automatically
 % calls \thispagestyle if set for all chapter displays.
+% This environment is not restricted to chapters. It is also used for chapter-like
+% sections in front matter or main matter, as long as they are styled like a chapter.
 \newif \if at addCTline \@addCTlinetrue
 \newcounter{@linequarter}
 \newif \if at csalignok \@csalignokfalse
@@ -129,48 +137,6 @@
 \ExplSyntaxOff % end ChapterStart environment
 
 
-
-%%%%%
-\newenvironment{OldChapterStart}[1][\@setchapterstartheight] % default 10
-{%
-  \setlength\@oldparindent{\parindent}%
-  \global\@oldparindent=\@oldparindent%
-  \setlength\parindent{0pt}%
-  \global\parindent=\parindent%
-  \FPsub{\@fixlines}{#1}{2}%
-  \FPsub{\@fixlines}{\@fixlines}{0.001}% fudge to avoid rounding problems
-  \if at thispagestyleset\else\thispagestyle{\@setchapterstart}\fi%
-  \ResetFootnoteSymbol% resets symbolic markers, but not numerical markers
-  \null%
-  \setcounter{@linequarter}{0}%
-  \begin{textblock*}{\textwidth}[0,0](0pt,0pt)%
-}{% close the environment:
-  \ifthenelse{%
-    \equal{\value{@linequarter}}{1} \OR \equal{\value{@linequarter}}{5}%
-    \OR \equal{\value{@linequarter}}{9} \OR \equal{\value{@linequarter}}{13}%
-  }{\vspace{0.75\nbs}}{}%
-  \ifthenelse{%
-    \equal{\value{@linequarter}}{2} \OR \equal{\value{@linequarter}}{6}%
-    \OR \equal{\value{@linequarter}}{10} \OR \equal{\value{@linequarter}}{14}%
-  }{\vspace{0.5\nbs}}{}%
-  \ifthenelse{%
-    \equal{\value{@linequarter}}{3} \OR \equal{\value{@linequarter}}{7}%
-    \OR \equal{\value{@linequarter}}{11} \OR \equal{\value{@linequarter}}{15}%
-  }{\vspace{0.25\nbs}}{}%
-  \end{textblock*}%
-  \vspace{\@fixlines\nbs}%
-  \if at addCTline\null\fi%
-  \setlength\parindent{\@oldparindent}%
-  \global\parindent=\parindent%
-  \nov at AfterGroup\NoIndentAfterThis% etextools and noindentafter
-}
-%%%%%
-
-
-
-
-
-
 %%
 \LetLtxMacro\ChapterDisplay\ChapterStart\relax % deprecated
 \LetLtxMacro\endChapterDisplay\endChapterStart\relax % deprecated
@@ -211,15 +177,15 @@
 \newcommand\ChapterDeco[2][c1]{% optional alignment and scale, either order
   \StrDel{#1}{ }[\temp at cds]% may use space separator
   \StrDel{\temp at cds}{,}[\temp at cd]% may use comma separator
-  \IfSubStr{#1}{l}{%
+  \IfSubStr{#1}{l}{% left align
     \let\@csalign\relax\@csalignoktrue%
     \StrDel{\temp at cd}{l}[\temp at cd]%
   }{}%
-  \IfSubStr{#1}{c}{%
+  \IfSubStr{#1}{c}{% centered
     \let\@csalign\centering\relax\@csalignoktrue%
     \StrDel{\temp at cd}{c}[\temp at cd]%
   }{}%
-  \IfSubStr{#1}{r}{%
+  \IfSubStr{#1}{r}{% right align
     \let\@csalign\hfill\relax\@csalignoktrue%
     \StrDel{\temp at cd}{r}[\temp at cd]%
   }{}%
@@ -226,6 +192,7 @@
   \if at csalignok\else%
     \let\@csalign\centering\relax\@csalignoktrue%
   \fi%
+  % Now for scaling, with adjusted vertical position:
   \IfEndWith{\temp at cd}{.}{\StrSubstitute{\temp at cd}{.}{.0}[\temp at cd]}{}%
   \IfBeginWith{\temp at cd}{.}{\StrSubstitute{\temp at cd}{.}{1.}[\temp at cd]}{}%
   \IfDecimal{\temp at cd}{\def\@thisScale{\temp at cd}}{\def\@thisScale{1}}%

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-FOGRA39.clo
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-FOGRA39.clo	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-FOGRA39.clo	2017-10-19 21:28:46 UTC (rev 45558)
@@ -1,4 +1,4 @@
-% Typically used in Europe.  Novel file version 1.42
+% Typically used in Europe.  Novel file version 1.43
 
 % 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-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-FileData.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -13,47 +13,40 @@
 %% 
 %%
 \ProvidesFile{novel-FileData.sty}%
-[2017/10/04 v1.42 LaTeX file (File Data settings)]
+[2017/10/19 v1.43 LaTeX file (File Data settings)]
 %% 
 
 
-%% FILE DATA (see class documentation for technical meaning of this term).
+%% FILE DATA (PDF Metadata)
 %% -----------------------------------------------------------------------------
 %%
 % \title{} or \SetTitle{}
-% Must be used immediately after \documentclass[options]{novel}.
-% Copied to metadata at end of preamble, unless not set or over-ridden.
-% May be over-ridden in metadata using \metatitle{}.
-% May be re-set in body, but not in metadata.
-% Provides \thetitle anywhere.
+% Copied to File Data at end of Preamble, unless not set.
+% Provides \theTitle anywhere.
 % If not set, PDF cannot conform to PDF/X.
 \gdef\SetTitle#1{\gdef\@title{#1}} % for stylistic consistency
 \gdef\title#1{\gdef\@title{#1}}
-\gdef\thetitle{\@title}
+\gdef\thetitle{\@title} % for convenience
 \gdef\theTitle{\@title}
-\title{}
+\SetTitle{}
 %
 % \author{} or \SetAuthor{}
-% Copied to metadata at end of preamble, unless not set or over-ridden.
-% May be over-ridden in metadata using \metaauthor{}.
-% May be re-set in body, but not in metadata.
-% Provides \theauthor anywhere.
+% Copied to File Data at end of preamble, unless not set.
+% Provides \theAuthor anywhere.
 \gdef\SetAuthor#1{\gdef\@author{#1}} % for stylistic consistency
 \gdef\author#1{\gdef\@author{#1}}
-\gdef\theauthor{\@author}
+\gdef\theauthor{\@author} % for convenience
 \gdef\theAuthor{\@author}
-\author{}
+\SetAuthor{}
 %
 % \subtitle{}  or \SetSubtitle{}  (if any)
-% Not copied to metadata by itself, as there is no such metadata entry.
-% May appear in metadata along with title, using \metatitle{}. See below.
-% May be re-set in body.
-% Provides \thesubtitle anywhere.
+% Not copied to File Data by itself, as there is no such metadata entry.
+% Provides \theSubtitle anywhere.
 \gdef\SetSubtitle#1{\gdef\@subtitle{#1}} % for stylistic consistency
 \gdef\subtitle#1{\gdef\@subtitle{#1}}
-\gdef\thesubtitle{\@subtitle}
+\gdef\thesubtitle{\@subtitle} % compatibility
 \gdef\theSubtitle{\@subtitle}
-\subtitle{}
+\SetSubtitle{}
 %
 % \SetApplication{}  (rarely used)
 % Also known as CreatorTool.
@@ -72,6 +65,8 @@
 %
 % Although some other data fields could have been added,
 %   they do not pertain to fiction, especially if your book is print-on-demand.
+% For example, subject, keywords and description are not read from PDF metadata,
+%   you enter them in a form, when you obtain the ISBN.
 % No need to set copyright in metadata, since your book is only for use by
 %   the print service, and is not being distributed as a PDF e-book.
 %   Your copyright notice is on the printed page, where it should be.
@@ -165,7 +160,6 @@
   \fi
 } % end \@setpdfx
 %
-
 %%
 
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-FontDefaults.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-FontDefaults.sty	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-FontDefaults.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-FontDefaults.sty}%
-[2017/10/04 v1.42 LaTeX file (default fonts)]
+[2017/10/19 v1.43 LaTeX file (default fonts)]
 %%
 
 
@@ -21,6 +21,7 @@
 %% This file is loaded \AtEndPreamble.
 %%
 
+%%%%%
 
 %% Most TeX installations will use Latin Modern or Computer Modern
 %%   as default fonts. These are unsuitable for commercial fiction.
@@ -27,17 +28,45 @@
 %% But `novel' class uses Libertinus as defaults.
 %% Change them using \SetParentFont and other fontspec commands, in Preamble.
 % Libertinus Serif has Regular, Italic, Bold, Bold Italic.
-% Here, Semibold over-rides Bold.
+%   But here, Semibold over-rides Bold.
 %
 %% Now to activate the font definitions:
-%
-\defaultfontfeatures{} % reset
-%
+%% The parent font, ancestor of the main font, and some others:
+\ifthenelse{\equal{\rmdefault}{lmr}}{%
+  % At this point, if \rmdefault is lmr, it means that the user did not choose
+  %   a different font. Then, Libertinus Serif or Latin Modern Roman
+  %   will be automatically set as \rmdefault:
+  \IfFontExistsTF{Libertinus Serif}{ % preferred default
+    \SetParentFont[%
+      BoldFont=libertinusserif-semibold.otf,%
+      BoldItalicFont=libertinusserif-semibolditalic.otf,%
+    ]{Libertinus Serif}
+  }{ % backup default:
+    \SetParentFont[%
+      SmallCapsFont={Latin Modern Roman Caps}%
+      ]{Latin Modern Roman}% only because it comes with LaTeX
+    \let\scshape\oldscshape % or small caps won't work
+    \let\smcp\oldscshape % ditto
+  }%
+}{% However, if \rmdefault is not lmr, it means that the user chose the font.
+  % If the choice was made via \SetParentFont, no problem. But if done by
+  %   incorrect method such as \setmainfont, \renewcommand\rmdefault,
+  %   or \usepackage{fontname}, then an error is thrown (warning prior to v 1.44):
+  \if at parentfontset\else
+    \ClassError{novel}{Wrong command used to set main font}%
+    {You attempted to define the main document font using a command such as^^J%
+    \string\renewcommand\string\rmdefault\space or \string\usepackage^^J%
+    or \string\setmainfont. These are incorrect in `novel' class.^^J%
+    Use \string\SetParentFont\space instead. See `novel' documentation.^^J}%
+  \fi
+}%
+% Now we are ready to set the main font:
+\setmainfont[\parentfontfeatures]{\parentfontname}
+\let\mainfont\rmfamily\relax % compatibility
+%%
+
 % The mono font:
-\defaultfontfeatures[\ttfamily]{% monofont has no kerning or common ligatures
-  SmallCapsFeatures={Renderer=Basic},Ligatures=TeX,%
-}%
-\ifthenelse{\equal{\ttdefault}{lmtt}\OR\equal{\ttdefault}{cmtt}}{% over-ride:
+\ifthenelse{\equal{\ttdefault}{lmtt}}{% over-ride:
   \IfFontExistsTF{Libertinus Mono}{
     \setmonofont[%
       ItalicFont={},% Doesn't have these.
@@ -45,104 +74,44 @@
       BoldItalicFont={},%
     ]{Libertinus Mono}
   }{
-    \IfFontExistsTF{Linux Libertine Mono O}{
-      \setmonofont{Linux Libertine Mono O}
-    }{
-      \setmonofont{Latin Modern Mono}% Eeek! Only because you have it!
-    }
+    \setmonofont{Latin Modern Mono}% Eeek! Only because you have it!
   }
 }{} % User \setmonofont, so leave alone.
 %%
-\defaultfontfeatures{} % reset
-% Main and sans fonts: kerning, ligatures, and OldStyle numbers if available:
-\defaultfontfeatures[\rmfamily,\sffamily]{%
-  SmallCapsFeatures={Renderer=Basic},Kerning=On,Numbers=OldStyle,%
-  Ligatures=Common,Ligatures=TeX,%
-}%
 % The sans font:
-\ifthenelse{\equal{\sfdefault}{lmss}\OR\equal{\sfdefault}{cmss}}{ % override:
+\ifthenelse{\equal{\sfdefault}{lmss}}{ % override:
   \IfFontExistsTF{Libertinus Sans}{
     \setsansfont{Libertinus Sans}
   }{
-    \IfFontExistsTF{Linux Biolinum O}{
-      \setsansfont{Linux Biolinum O}
-    }{
-      \setsansfont{Latin Modern Sans}% Eeek! Only because you have it!
-    }
+    \setsansfont{Latin Modern Sans}% Eeek! Only because you have it!
   }
 }{} % User \setsansfont, so leave alone.
 %%
-% At this point, if \rmdefault is something other than lmr, it means
-%   that the user attempted to set the main font using ordinary TeX commands,
-%   or via fontspec's \setmainfont. But those are ineffective in this class,
-%   because without \SetParentFont the prior command will be over-written.
-\ifthenelse{\equal{\rmdefault}{\@noveloldrmdefault}}{}{%
-  \ClassWarning{novel}{^^JBIG BAD WARNING:^^J%
-  You attempted to define the main document font using a command such as^^J%
-  \string\renewcommand\string\rmdefault\space or \string\usepackage{font}^^J%
-  or \string\setmainfont. These are incorrect in `novel' class.^^J%
-  Use \string\SetParentFont\space instead. See `novel' documentation.^^J}%
-}%
-% The parentfont: (from v.1.1. Known as masterfont in prior versions)
-\if at parentfontset\else
- \IfFontExistsTF{Libertinus Serif}{
-    \SetParentFont[%
-      BoldFont=libertinusserif-semibold.otf,%
-      BoldItalicFont=libertinusserif-semibolditalic.otf,%
-    ]{Libertinus Serif}
- }{
-   \IfFontExistsTF{Linux Libertine O}{
-     \SetParentFont[%
-       BoldFont=LinLibertine_RZ.otf,%
-       BoldItalicFont=LinLibertine_RZI.otf,%
-     ]{Linux Libertine O}
-   }{
-     \SetParentFont[%
-      SmallCapsFont={Latin Modern Roman Caps}%
-     ]{Latin Modern Roman}% Eeek! Only because you have it!
-     \let\scshape\oldscshape % or small caps won't work
-     \let\smcp\oldscshape % ditto
-   }
- }
-\fi
-% Now we are ready to set the main font:
-\setmainfont[\@parentfontfeatures]{\@parentfontname}
-\let\textfont\rmfamily\relax % compatibility
-\let\mainfont\rmfamily\relax % compatibility
-%
+
 %%
-\defaultfontfeatures{} % reset
 % New in version 1.38, \straightquote and \straightdblquote:
 \gdef\straightquote{{\addfontfeature{Ligatures=ResetAll}'}}
 \gdef\straightdblquote{{\addfontfeature{Ligatures=ResetAll}"}}
-%
-% The novel-specific display fonts use these defaults:
-\defaultfontfeatures{%
-  SmallCapsFeatures={Renderer=Basic},Kerning=On,%
-  Ligatures=TeX,Ligatures=CommonOff,Numbers=Lining,%
-}%
+%%
+
 %% The novel-specific fonts:
 \if at chapterfontset\else
-  \SetChapterFont[\@parentfontfeatures,Scale=1.6]{\@parentfontname}
+  \SetChapterFont[\parentfontfeatures,Scale=1.6]{\parentfontname}
 \fi
 \newfontfamily\chapterfont[\@chapterfontfeatures]{\@chapterfontname}
 %%
 \if at subchfontset\else
-  \SetSubchFont[\@parentfontfeatures,Scale=1.2]{\@parentfontname}
+  \SetSubchFont[\parentfontfeatures,Scale=1.2]{\parentfontname}
 \fi
 \newfontfamily\subchfont[\@subchfontfeatures]{\@subchfontname}
 %%
 \newif \if at headfontdefault
 \if at headfontset\else
-  \SetHeadFont[Letters=SmallCaps,\@parentfontfeatures,Scale=0.92]{\@parentfontname}
+  \SetHeadFont[Letters=SmallCaps,\parentfontfeatures,Scale=0.92]{\parentfontname}
   \global\@headfontdefaulttrue
 \fi
 \newfontfamily\headfont[\@headfontfeatures]{\@headfontname}
 %%
-\defaultfontfeatures{} % reset
-\defaultfontfeatures{% for decofont
-  SmallCapsFeatures={Renderer=Basic},Kerning=On,Ligatures=TeX,%
-}%
 %% The decofont must be NovelDeco.otf or a user modification of that font:
 \if at decofontset\else
   \IfFontExistsTF{NovelDeco.otf}{
@@ -196,17 +165,18 @@
   %
 \fi% end \if at gotdeco
 %
-%
-%%
-% Any other fonts will use these defaults:
-\defaultfontfeatures{} % reset
-% The novel-specific display fonts use these defaults:
-\defaultfontfeatures{%
-  SmallCapsFeatures={Renderer=Basic},%
-  Ligatures=TeX,
-  Kerning=On,%
+% Math font is not needed, because `novel' does not typeset math.
+% If you have the Libertinus fonts installed, might as will specify for math.
+% Then Latin Modern Math if installed.
+% If not, NovelDeco.otf "fakes" math capability, just to fool the fontloader:
+\IfFontExistsTF{Libertinus Math}{
+  \setmathfont[BoldFont={libertinusmath-regular.otf}]{libertinusmath-regular.otf}
+}{
+  \IfFontExistsTF{Latin Modern Math}{}{% already set as default by unicode-math.
+  }{
+    \setmathfont[BoldFont={NovelDeco.otf}]{NovelDeco.otf}
+  }
 }%
-%
 %%
 
 
@@ -219,13 +189,15 @@
     \gdef\@mymicrotypeset{\@mymicrotypesetup}
   }{ % default to novel's config file
     \gdef\@mymicrotypeset{%
-      config=novel-microtype,\@mymicrotypesetup}
+      config=novel-microtype,final,\@mymicrotypesetup}
   }
 \else % user did not write \microtypesetup{} in Preamble
   \gdef\@mymicrotypeset{%
-    config=novel-microtype,stretch=20,shrink=20,final}
+    config=novel-microtype,final,stretch=20,shrink=20}
 \fi
-\RequirePackage[\@mymicrotypeset,final,tracking]{microtype}
+\if at mtoff\else
+  \RequirePackage[\@mymicrotypeset]{microtype}
+\fi
 %
 %%
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-Footnotes.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-Footnotes.sty	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-Footnotes.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-Footnotes.sty}%
-[2017/10/04 v1.42 LaTeX file (commands for footnotes and endnotes)]
+[2017/10/19 v1.43 LaTeX file (commands for footnotes and endnotes)]
 %%
 
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-HeadFootStyles.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-HeadFootStyles.sty	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-HeadFootStyles.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-HeadFootStyles.sty}%
-[2017/10/04 v1.42 LaTeX file (header and footer layouts and styles)]
+[2017/10/19 v1.43 LaTeX file (header and footer layouts and styles)]
 %% 
 
 
@@ -27,27 +27,14 @@
 %% Note that `style' sometimes means `layout`.
 
 
-% @isVerso true = even page, false = odd page. Only accurate during shipout.
-% Not to be used in commands that are inserted in main text!
-\newif \if at isVerso \@isVersofalse
-\def\check at IsVerso{%
-  \def\my at PageNum{\arabic{page}}%
-  \FPdiv{\my at HalfPageNum}{\my at PageNum}{2}%
-  \FPifint{\my at HalfPageNum}%
-    \global\@isVersotrue%
-  \else%
-    \global\@isVersofalse%
-  \fi%
-}
-%
-\newtoggle{@inheadfoot} % true in header or footer
-%%
 
-
 %% INITIALIZE FANCYHDR
 %% -----------------------------------------------------------------------------
 %% Before now now, space was reserved for header/footer.
 % Start by loading package `fancyhdr' and blanking everything:
+%
+\newtoggle{@inheadfoot} % true in header or footer
+%
 \RequirePackage{fancyhdr}
   \renewcommand\headrulewidth{0pt}
   \renewcommand\footrulewidth{0pt}
@@ -292,16 +279,15 @@
       \dimexpr\New at BottomMargin+0.5\New at MediaHeight-0.5\New at TrimHeight}%
     \global\temp at pgnumraise=\temp at pgnumraise%
   \fi%
-  \check at IsVerso%
-  \if at isVerso%
+  \ifodd\c at page%
     \AddToShipoutPicture*{\@getPageXY\AtPageLowerLeft{%
-     \hspace{\dimexpr\Trim at Lx+\New at OutsideMargin+0.5\textwidth-0.5\temp at pgnumwidth}\raisebox{%
-      \temp at pgnumraise}{{\headfont{\addfontfeature{LetterSpace=\@looseheadnum}\pagenumberstyle}}}}}%
-  \else%
-    \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\textwidth-0.5\temp at pgnumwidth}\raisebox{%
+      \temp at pgnumraise}{{\headfont{\addfontfeature{LetterSpace=\@looseheadnum}\pagenumberstyle}}}}}%
   \fi%
 } % end \@dropfolioinside
 %
@@ -320,16 +306,15 @@
     \setlength\temp at pgnumraise{%
       \New at BottomMargin-\nbs+0.5\New at MediaHeight-0.5\New at TrimHeight}%
   \fi%
-  \check at IsVerso%
-  \if at isVerso%
+  \ifodd\c at page%
     \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}}}}}%
-  \else%
-    \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%
 } % end \@dropfoliobeneath
 %%

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-Images.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-Images.sty	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-Images.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-Images.sty}%
-[2017/10/04 v1.42 LaTeX file (image placement)]
+[2017/10/19 v1.43 LaTeX file (image placement)]
 %%
 
 
@@ -252,19 +252,6 @@
 
 
 
-% Returns 1 for monochrome, 8 for grayscale (or rgb). EXPERIMENTAL.
-% Not documented. Not used as part of any other commands.
-\gdef\imagecolordepth{%
-  \ifthenelse{\equal{\imagefilename}{unknown}}{unknown}{%
-    \directlua{%
-    img1=img.scan{filename="\imagefilename"}%
-    tex.print(tostring(img1.colordepth))%
-    }%
-  }%
-}
-%
-
-
 %%
 %% End of file `novel-Images.sty'.
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-JC200103.clo
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-JC200103.clo	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-JC200103.clo	2017-10-19 21:28:46 UTC (rev 45558)
@@ -1,4 +1,4 @@
-% Typically used in Japan. Novel file version 1.42
+% Typically used in Japan. Novel file version 1.43
 
 % 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-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-LayoutSettings.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -13,11 +13,11 @@
 %% 
 %%
 \ProvidesFile{novel-LayoutSettings.sty}%
-[2017/10/04 v1.42 LaTeX file (layout settings)]
+[2017/10/19 v1.43 LaTeX file (layout settings)]
 %%
 
 
-%% Note that nearly all layout settings are preconfigured based on Trim Size.
+%% Note that nearly all layout settings are pre-configured based on Trim Size.
 %% In general, these user commands may be used to over-ride the presets.
 
 \newlength\Old at TrimWidth % finished width of printed book
@@ -65,8 +65,6 @@
 % Note: This class does not ask you to set the width/height of the textblock.
 % Instead, these values are automatically calculated from other dimensions.
 %
-
-%
 % \SetTrimSize{}{} width and height of printed book.
 \newcommand\SetTrimSize[2]{%
   \global\@TrimSizeSettrue
@@ -346,6 +344,22 @@
 %%
 
 
+%% New in version 1.44: flexible images (without built-in resolution dpi)
+\gdef\@novimgres{300} % default (can only be set once)
+\gdef\@novereserror{%
+  \ClassError{novel}{\string\SetFlexResolution\space bad value}%
+  {Resolution must be integer from 200 to 9600. Default 300.}%
+}
+\newcommand\SetFlexResolution[1]{
+  \IfInteger{#1}{ %
+    \FPiflt{#1}{200}\@novereserror\else\fi %
+    \FPifgt{#1}{9600}\@novereserror\else\fi %
+    \gdef\@novimgres{#1} %
+  }{\@novreserror}
+}
+%
+
+
 %% Markers (superscript, subscripts):
 \newtoggle{@usesymbolmark} % true when footnote markers are symbolic
 \newtoggle{@realmarker} % true when OT features sups, sinf, subs requested
@@ -495,57 +509,43 @@
 %% --------------------------------------------------------------------------
 %% Prior to v. 1.1, parentfont was known as masterfont. Backwards compatible.
 %
-\providecommand\rmdefault{lmr} % should be lmr anyway, at this point.
-\LetLtxMacro\@noveloldrmdefault\rmdefault\relax % stored for later comparison.
+% These are the LaTeX defaults, which should already be built-in by now.
+% But just in case they are undefined, here they are set to LaTeX defaults:
+\providecommand\rmdefault{lmr}
+\providecommand\sfdefault{lmss}
+\providecommand\ttdefault{lmtt}
 % The `no-math' option prevents fontspec from tracking certain font changes.
 % This is probably necessary, since novel does some of its own font tracking:
 \RequirePackage[no-math]{fontspec} % For LuaLaTeX. NOT package `fontenc'.
-% You shouldn't be doing math! You can use \setmathfont, if you wish.
-% If you must load a math font package, it should be done using
-%  \RequirePackage before (yes, before) calling the document class.
+\defaultfontfeatures{} % reset
+\defaultfontfeatures{SmallCapsFeatures={Renderer=Basic},Ligatures=TeX,}
+% Main and sans fonts: kerning, ligatures, and OldStyle numbers if available:
+\defaultfontfeatures[\rmfamily,\sffamily]{Kerning=On,Numbers=OldStyle,Ligatures=Common}
+% Package `unicode-math' uses Latin Modern Math as default math font:
 \RequirePackage{unicode-math}
 %
-% Math font no kern:
-\defaultfontfeatures{SmallCapsFeatures={Renderer=Basic},Ligatures=TeX,}
-%
-\IfFontExistsTF{Libertinus Math}
-{\setmathfont{Libertinus Math}}
-{\IfFontExistsTF{Asana Math}
-  {\setmathfont{Asana Math}}
-  {\IfFontExistsTF{STIX Math}
-    {\setmathfont{STIX Math}}
-    {\setmathfont{Latin Modern Math}} % last choice
-  }
-}% end \IfFontExistsTF nest.
-% For user-created font commands:
-\defaultfontfeatures{SmallCapsFeatures={Renderer=Basic},Kerning=On,Ligatures=TeX,}%
-%%
 %% This could have been easier, but fontspec allows mandatory and optional
 %   arguments to appear in either order. We wish to store the fontnames
 %   and arguments, but need Expl syntax to tell which is which.
-\ExplSyntaxOn
 %% Store settings for the parent font:
 % \AtEndPreamble, the parent font becomes becomes
 %   the default ancestor of all novel-defined fonts, except the deco font.
 \newif \if at parentfontset
-\gdef\@parentfontfeatures{}
-\gdef\@parentfontname{}
-\gdef\parentfontfeatures{} % for convenience
-\gdef\parentfontname{} % for convenience
+\gdef\parentfontfeatures{}
+\gdef\parentfontname{}
 \DeclareDocumentCommand \SetParentFont { O{} m O{} } {% from version 1.1.
   \novel at checkfeatures{#1,#3}
-  \gdef\@parentfontfeatures{#1,#3}
-  \gdef\@parentfontname{#2}
-  \gdef\parentfontfeatures{#1,#3} % for convenience
-  \gdef\parentfontname{#2} % for convenience
+  \gdef\parentfontfeatures{#1,#3}
+  \gdef\parentfontname{#2}
   \global\@parentfontsettrue
 }%
 \DeclareDocumentCommand \SetMasterFont { O{} m O{} } {% DEPRECATED
   \novel at checkfeatures{#1,#3}
-  \gdef\@parentfontfeatures{#1,#3}
-  \gdef\@parentfontname{#2}
+  \gdef\parentfontfeatures{#1,#3}
+  \gdef\parentfontname{#2}
   \global\@parentfontsettrue
 }%
+
 %% Store settings for the chapterfont:
 % The chapter font is used by the \ChapterTitle{} command.
 \newif \if at chapterfontset
@@ -553,7 +553,7 @@
 \gdef\@chapterfontname{}
 \DeclareDocumentCommand \SetChapterFont { O{} m O{} } {%
   \novel at checkfeatures{#1,#3}
-  \gdef\@chapterfontfeatures{#1,#3}
+  \gdef\@chapterfontfeatures{Numbers=Lining,#1,#3}
   \gdef\@chapterfontname{#2}
   \global\@chapterfontsettrue
 }%
@@ -564,7 +564,7 @@
 \gdef\@subchfontname{}
 \DeclareDocumentCommand \SetSubchFont { O{} m O{} } {%
   \novel at checkfeatures{#1,#3}
-  \gdef\@subchfontfeatures{#1,#3}
+  \gdef\@subchfontfeatures{Numbers=Lining,#1,#3}
   \gdef\@subchfontname{#2}
   \global\@subchfontsettrue
 }%
@@ -573,9 +573,10 @@
 \newif \if at headfontset
 \gdef\@headfontfeatures{}
 \gdef\@headfontname{}
-\DeclareDocumentCommand \SetHeadFont { O{} m O{} } {%
+\DeclareDocumentCommand \SetHeadFont { O{} m O{} } {% revised v 1.40.3
   \novel at checkfeatures{#1,#3}
-  \gdef\@headfontfeatures{WordSpace=\@looseheadword,LetterSpace=\@loosehead,#1,#3} % revised in v. 1.40.3.
+  \gdef\@headfontfeatures{Numbers=Lining,%
+    WordSpace=\@looseheadword,LetterSpace=\@loosehead,#1,#3}
   \gdef\@headfontname{#2}
   \global\@headfontsettrue
 }%
@@ -588,29 +589,22 @@
 \gdef\@decofontname{}
 \DeclareDocumentCommand \SetDecoFont { O{} m O{} } {%
   \novel at checkfeatures{#1,#3}
-  \gdef\@decofontfeatures{#1,#3}
   \gdef\@decofontname{#2}
   \global\@decofontsettrue
   \global\@gotdecotrue
   \newfontface\decofont[#1,#3]{#2}
 }%
-%
-\msg_set:nnnn {fontspec} {font-not-found} { % rewrites the standard message
-  Font~ "#1"~ cannot~ be~ found.
-  }{
-  If~the~missing~font~is~Libertinus~or~Libertine~or~Biolinum~or~NovelDeco,\\
-  see~the~`novel'~class~documents~for~help.\\
-  If~the~missing~font~is~anything~else,~then~the~missing~font~is\\
-  not~caused~by~`novel'~class.\\
-}%
 %% For syntax consistency:
+\ExplSyntaxOn
 \cs_new_eq:NN \NewFontFamily \newfontfamily
 \cs_new_eq:NN \NewFontFace \newfontface
 \cs_new_eq:NN \SetSansFont \setsansfont
 \cs_new_eq:NN \SetMonoFont \setmonofont
+
 \cs_new_eq:NN \SetMathFont \setmathfont
 \cs_new_eq:NN \AddFontFeatures \addfontfeatures
 \cs_new_eq:NN \AddFontFeature \addfontfeatures
+\ExplSyntaxOff
 %%
 %% \CreateFontFeature{substitutions}{feature code}
 % Problem: Font has one or more alternate glyphs that you would like to use,
@@ -649,8 +643,6 @@
   }
 } %% end \CreateFontFeature. Above thanks to fontspec 2016.
 %%
-\ExplSyntaxOff
-%%
 %% end definition of parent and other fonts.
 
 
@@ -765,7 +757,15 @@
 
 %% polyglossia
 % Language-specific settings:
-\RequirePackage{polyglossia} % loading order changed in v. 1.40.3.
+\if at polyoff % polyoff is new in v 1.44.
+  \ClassWarning{novel}{^^JYou chose the `polyoff' class option.^^J%
+    So, the polyglossia package was not loaded. But like it or not,^^J%
+    the babel package was loaded, with generic hyphenation.^^J%
+    This behavior, or choice of language, cannot be changed.^^J%
+    If you want a specific language, you will have to use polyglossia.^^J}%
+\else
+  \RequirePackage{polyglossia} % loading order changed in v. 1.40.3.
+\fi
 %% end polyglossia
 
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -13,7 +13,7 @@
 %% 
 %%
 \ProvidesFile{novel-TextMacros.sty}%
-[2017/10/04 v1.42 LaTeX file (text macros usable within document body)]
+[2017/10/19 v1.43 LaTeX file (text macros usable within document body)]
 %%
 
 
@@ -26,23 +26,21 @@
 
 %% The following commands were defined in other files of `novel' class:
 %% -----------------------------------------------------------------------------
-% \thetitle or \theTitle returns string set by \title{} or \SetTitle{} -- See novel-LayoutSettings.sty.
-% \theauthor or \theAuthor returns string set by \author or \SetAuthor{} -- See novel-LayoutSettings.sty.
-% \normalFontSize length of main font setting. May be tweaked during rework. -- See novel-CalculateLayout.sty.
-% \normalBaselineSkip and \nbs (calculated) length of main baselineskip. -- See novel-CalculateLayout.sty.
-% \thesubtitle or \theSubtitle returns string set by \subtitle{} or \SetSubtitle{} -- See novel-LayoutSettings.sty.
-% \InlineImage, \BlockImage, \ClearImage -- See novel-Images.sty.
+% \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.
-% \DecoChapterTitle{}{}, \SideDecoChapterTitle{}, ModernChapterTitle[]{}{} -- 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} and \dropfolio -- See novel-HeadFootStyles.sty.
-% \NewVersoHeadText{}, \NewRectoHeadText{}  Also \Set and \Renew forms. -- See novel-HeadFootStyles.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.
-% \Epigraph[align,scale,width]{text} creates an Epigraph -- See novel-ChapterScene.sty.
 
 
 
@@ -56,7 +54,7 @@
 % 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, and reduces microtype tweaks.
+% 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.
@@ -63,6 +61,8 @@
 % \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.
 
 
@@ -71,7 +71,7 @@
 %% 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. Avoid center environment.
+% {\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!
@@ -401,12 +401,7 @@
 \newenvironment{legalese}
 {\raggedright\hyphenpenalty=10000\exhyphenpenalty=10000}
 {}
-%% poem environment. Optional argument is left margin.
-\newenvironment{poem}[1][0pt]
-{\begin{adjustwidth}{#1}{0pt}%
-\raggedright\hyphenpenalty=10000\exhyphenpenalty=10000}
-{\end{adjustwidth}\par}
-%%
+%
 \gdef\hangleft#1{% places content to left of usual position.
   \newlength\@temphangl%
   \setlength\@temphangl{\widthof{#1}}%

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-glyphtounicode.tex
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-glyphtounicode.tex	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-glyphtounicode.tex	2017-10-19 21:28:46 UTC (rev 45558)
@@ -14,10 +14,12 @@
 %% 
 %%
 \ProvidesFile{novel-gyphtounicode.tex}%
-[2017/10/04 v1.42 LaTeX file (additional glyph to unicode)]
+[2017/10/19 v1.43 LaTeX file (additional glyph to unicode)]
 %%
 
+%% I am not sure if this is useful. But it doesn't hurt.
 
+
 \begingroup
 \catcode`\_=12 % so that underscore can be used in ligature names
 

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg	2017-10-19 21:28:46 UTC (rev 45558)
@@ -19,7 +19,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{novel-microtype.cfg}%
-[2017/10/04 v1.42 LaTeX file (microtype configuration file for novel class)]
+[2017/10/19 v1.43 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-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-pdfx.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -24,7 +24,7 @@
 %%
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{novel-pdfx.sty}%
-[2017/10/04 v1.42 LaTeX file (PDF/X support for novel class)]
+[2017/10/19 v1.43 LaTeX file (PDF/X support for novel class)]
 % This package supports, and is part of, class `novel'.
 % No support for anything but LuaLaTeX.
 
@@ -36,7 +36,7 @@
 
 
 %
-% Hyperref options for PDF/X with LuaTeX:
+% Hyperref options for PDF/X with LuaLaTeX:
 \def\pdfx at pdfX@opts at luatex{%
   draft,pdftex,pdfpagemode=UseNone,bookmarks=false,hyperfootnotes=false,%
   hyperindex=false,implicit=false,pdfversion=1.\the\pdfminorversion,%
@@ -51,7 +51,7 @@
 \Hy at bookmarksfalse
 %
 \newif \if at gottitle \@gottitlefalse % refers to PDF File Data
-% Was \title{} called prior to this step? If so:
+% Was \SetTitle{} called prior to this step? If so:
 \ifthenelse{\equal{\@title}{} \OR \equal{\@title}{ }}{}{\@gottitletrue}
 %
 % Sanity check: If title is missing at this step, then compliance must be off:

Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty	2017-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty	2017-10-19 21:28:46 UTC (rev 45558)
@@ -22,7 +22,7 @@
 %%
 %%
 \ProvidesFile{novel-xmppacket.sty}%
-[2017/10/04 v1.42 LaTeX file (novel XMP packet template)]
+[2017/10/19 v1.43 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-10-19 00:17:51 UTC (rev 45557)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel.cls	2017-10-19 21:28:46 UTC (rev 45558)
@@ -17,29 +17,27 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 % Actually needs LuaLaTeX, at least version 0.95 from TeXLive 2016.
-\ProvidesClass{novel}[2017/10/04 v1.42 LaTeX document class]
+\ProvidesClass{novel}[2017/10/19 v1.43 LaTeX document class]
 %%
-
+%% Version 1.44: 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.
 %% Version 1.40: removed `debug' option (was not useful). Major docs rewrite.
-%% Versions 1.40.x: Incremental changes, leading to 1.42.
-
+%%   This version was successfully used for a P.O.D. novel, with cover.
 %% Version 1.38: corrected offset in cover artwork; some docs modified.
-
 %% Version 1.36: minor documentation correction.
-
 %% Version 1.34: Added debug class option and related code. [Later removed.]
-
 %% Version 1.32 includes a minor documentation fix, and a major bug fix
-%% concerning looose text tracking. The bug occasionally appeared when
-%% page headings were compiled, but gave a cryptic error message
-%% about MT at res@a. The fix is expected to be permanent.
-
+%%   concerning looose text tracking. The bug occasionally appeared when
+%%   page headings were compiled, but gave a cryptic error message
+%%   about MT at res@a. The fix is expected to be permanent.
 %% Version 1.2: Added capability for cover artwork.
+%% Versions 1.1.x: First general release, occasional documentation changes.
 
-%% Versions 1.1.x: First general release, occasional documantation changes.
 
-
 %% DESCRIPTION:
+%% -----------------------------------------------------------------------------
 %% Class `novel' is designed for print fiction: novels or short stories.
 %% It cannot be used for e-books or for journal publication.
 %% It is not suitable for most non-fiction, because routine academic features
@@ -86,7 +84,7 @@
 \FPmessagesfalse % eliminates numerous friendly messages from the log
 %
 \pdfminorversion=3 % might be reset later, depending on settings
-\gdef\thepdfminorversion{\pdfminorversion}
+\gdef\thepdfminorversion{\pdfminorversion} % compatibility
 %
 \RequirePackage{silence} % Used here:
 % hyperref draft mode is always on, even when novel is not in draft mode:
@@ -98,11 +96,10 @@
 \RequirePackage[relative]{textpos} % for inserting images
 \RequirePackage{noindentafter} % for unindented chapter and scene starts
 \RequirePackage{calc} % allows length expression calculations
-\RequirePackage{changepage} % block indents, etc.
+\RequirePackage{changepage} % provides block indents, etc. Do not use strict!
 \RequirePackage{atbegshi} % for one-page header changes. Also used by hyperref.
 \RequirePackage{letltxmacro} % for re-defining some macros
 \RequirePackage{magaz} % special treatment of first lines
-\RequirePackage{changepage} % for adjusted text widths. Do not use strict!
 \RequirePackage{xparse} % for writing cool-looking commands
 %
 % In addition, the following packages are required, but they are not loaded now.
@@ -110,7 +107,6 @@
 % with suitable arguments, when the time comes:
 % fontspec -- in novel-LayoutSettings.sty
 % unicode-math -- in novel-LayoutSettings.sty
-% eso-pic -- in novel-CalculateLayout.sty
 % polyglossia -- in novel-LayoutSettings.sty
 % microtype -- in novel-FontDefaults.sty
 % hyperref -- in novel-pdfx.sty
@@ -118,7 +114,7 @@
 % xcolor -- lower in this page
 % adjustbox -- lower on this page
 % eso-pic -- lower on this page
-% lipsum -- later on this page
+% lipsum -- lower on this page
 %%
 
 
@@ -127,7 +123,8 @@
 % Allowed option list:
 %   draft xml shademargins graytext greytext cropmarks cropview closecrop
 %   coverart unblock
-% Yes, I realize that this could have been done another way:
+% Yes, I realize that this could have been done another way, but I want
+%   to issue error messages from `novel' rather than (say) `keyval':
 \gdef\@mycol{\@classoptionslist}
 \StrDel{\@mycol}{ }[\@mycol]
 \StrDel{\@mycol}{,}[\@mycol]
@@ -140,15 +137,16 @@
 \StrDel{\@mycol}{cropview}[\@mycol]
 \StrDel{\@mycol}{closecrop}[\@mycol]
 \StrDel{\@mycol}{coverart}[\@mycol]
-\StrDel{\@mycol}{debug}[\@mycol] % obsolete
 \StrDel{\@mycol}{unblock}[\@mycol]
+\StrDel{\@mycol}{mtoff}[\@mycol]
+\StrDel{\@mycol}{polyoff}[\@mycol]
 %
 \ifthenelse{\equal{\@mycol}{}}{}{
   \ClassWarning{novel}{Unrecognized class option: \@mycol^^J%
    The unrecognized option was ignored!^^J%
    If `debug' it is obsolete from v.1.40.^^J%
-   Note that font point size and document size^^J%
-   are not novel class options. See documentation.}%
+   Note that font size, document size, and language^^J%
+   are not `novel' class options. See documentation.}%
 }
 %
 % If used, option `draft' shows overflow rule.
@@ -161,7 +159,8 @@
 }
 % If used, option `xml' creates a file `\jobname-XMPasXML.xml` that contains
 % the XMP metadata with an xml declaration and comments at top.
-% Only works when \SetPDFX is not `off'.
+% Only works when \SetPDFX is not `off'. Note that you do not need to use
+% this option to get PDF/X. It is only for your own usage.
 \newif \if at wantXMPasXML
 \DeclareOption{xml}{
   \@wantXMPasXMLtrue
@@ -186,12 +185,14 @@
 \DeclareOption{greytext}{
   \@graytexttrue
 }
-% Usually you do NOT want crop (trim) marks. Configurable by \SetCropMarks[]{}.
+% Usually you do NOT want crop (trim) marks!
+% Configurable by \SetCropMarks[]{}.
 \newif \if at cropmarks
 \DeclareOption{cropmarks}{
   \@cropmarkstrue
 }
-% The cropview sets PDF CropBox equal to TrimBox instead of MediaBox.
+% PDF viewers display CropBox, which normally is identical to MediaBox.
+% Option `cropview', sets CropBox to TrimBox instead, so that's all you see.
 % Only makes a difference when MediaBox is larger than TrimBox.
 % Ignored unless in draft mode.
 \newif \if at cropview
@@ -198,7 +199,7 @@
 \DeclareOption{cropview}{
   \@cropviewtrue
 }
-% With closecrop, the TrimSize and margins are re-sized, to preserve the
+% With `closecrop', the TrimSize and margins are re-sized, to preserve the
 % live area, but with reduced margins on all sides (same for verso/recto).
 % This option is available only in draft mode, and disables shademargins.
 % The purpose is to create a PDF that is more easily read on a handheld device,
@@ -208,9 +209,9 @@
 \DeclareOption{closecrop}{
   \@cropviewtrue\@closecroptrue
 }
-% New in version 1.2: coverart option. See documentation page 10.
+% New in version 1.2: `coverart' option. See documentation.
 % This is used to create a 1-page file with no text, just an image.
-% Intended purpose is PDF/X for novel cover. See docs page 10.
+% Intended purpose is PDF/X for novel cover.
 \newif \if at coverart
 \DeclareOption{coverart}{
   \@coverarttrue
@@ -225,6 +226,19 @@
 \DeclareOption{unblock}{
   \@novelunblocktrue
 }
+% New in version 1.44: mtoff option, primarily for developer use.
+% With mtoff, the microtype package is not loaded.
+\newif \if at mtoff
+\DeclareOption{mtoff}{
+  \@mtofftrue
+}
+% New in version 1.44: polyoff option, primarily for developer use.
+% With polyoff, the polyglossia package is not loaded.
+% You may need to load babel, or not, via \RequirePackage[options]{babel}.
+\newif \if at polyoff
+\DeclareOption{polyoff}{
+  \@polyofftrue
+}
 %% Note that document size and normal font size are not class options.
 %% They are set by commands in the Preamble, and have default values.
 %
@@ -258,12 +272,13 @@
 
 %% Activate xcolor, adjustbox, and eso-pic:
 %% -----------------------------------------------------------------------------
-% The final book must be monochrome (black and white only) for all text
-%   and vector graphics, unless option `graytext' is used.
-% Vector graphics are discouraged, in any case. See Page 9.
-% You can use grayscale (single channel, not RGB gray) raster images.
-% In draft mode only, the `shademargins' option
-%   requires grayscale, so it is temporarily enabled.
+% The final book must be monochrome (black and white only) for all text,
+%   unless option `graytext' is used. Then, grayscale text is permitted.
+% Interior images must be raster monochrome or grayscale, whether or not
+%   the `graytext' option is used. See documentation.
+%   Vector graphics are strongly discouraged, in any case.
+% In draft mode only, the `shademargins' option requires `grayscale',
+%   which will be temporarily enabled, even if not specifically requested.
 \newif \if at grayenabled
 %
 \if at useDraftMode
@@ -288,6 +303,8 @@
 %% -----------------------------------------------------------------------------
 %% This normalsize is temporary, so that packages can load without complaint.
 %% It will be modified later, during layout calculations.
+%% Actual default font size will be 11pt-12pt, with 11.4pt average.
+%% But that is for typical book-weight fonts. The closest LMR eqivalent is 10pt.
 \def\Current at FontSizeNum{10}
 \def\Current at BaselineSkipNum{13}
 \renewcommand\normalsize{%
@@ -295,7 +312,7 @@
 }
 \normalsize
 %
-\RequirePackage{lipsum} % for examples
+\RequirePackage{lipsum} % generates dummy text for examples
 %
 %% end temporary normal point size and baselineskip
 
@@ -303,50 +320,47 @@
 %% Define commands used for File Data, including PDF/X Settings.
 %% -----------------------------------------------------------------------------
 %% As used here, `File Data' refers to PDF metadata as found in PDF/Info
-%% and in XMP. This class does not write it to the Catalog.
-%% Defines commands such as \title{}, not necessarily the same as other TeX.
+%% and in XMP. This class does not write it to the PDF Catalog.
 \RequirePackage{novel-FileData}
-%
 %%
 
 
 %% Physical Layout Commands and Settings.
 %% -----------------------------------------------------------------------------
-%% Define commands that over-ride the class option pre-configured settings.
-%% Variety of miscellaneous layout settings such as \parsep, \parindent, etc.
+%% Define user commands that over-ride the class option pre-configured settings.
+%% Also sets a variety of miscellaneous lengths:s \parsep, \parindent, etc.
 \RequirePackage{novel-LayoutSettings}
-%
 %%
 
 
 %% Additional Preamble Settings and Commands.
 %% -----------------------------------------------------------------------------
-%%
 % Macros for use in document body:
-\RequirePackage{novel-TextMacros} % part of novel class
-% Standard `fancyhdr' header footer styles:
-\RequirePackage{novel-HeadFootStyles} % part of novel class
+\RequirePackage{novel-TextMacros}
+% Standard header footer styles, based on `fancyhdr':
+\RequirePackage{novel-HeadFootStyles}
 % Chapter and Scene styles:
 \RequirePackage{novel-ChapterScene}
 % Image placement:
-\RequirePackage{novel-Images} % part of novel class
+\RequirePackage{novel-Images}
 % Footnotes and endnotes:
-\RequirePackage{novel-Footnotes} % part of novel class
+\RequirePackage{novel-Footnotes}
 %%
 
-
 %% \AtEndPreamble sets defaults and calculates layout
 %% -----------------------------------------------------------------------------
-%
 \AtEndPreamble{
+  % New in v. 1.44. Sets default resolution for images without internal dpi:
+  \pdfimageresolution=\@novimgres % from \SetFlexResolution. Default 300.
   % If user did not choose language, default is here. Sorry, Brits:
   % Macro \xpg at main@language is gdef'd by \setdefaultlanguage in polyglossia.
-  \@ifundefined{xpg at main@language}{\setdefaultlanguage[variant=american]{english}}{}
+  \if at polyoff\else % polyoff v 1.44.
+    \@ifundefined{xpg at main@language}{\setdefaultlanguage[variant=american]{english}}{}
+  \fi
   \RequirePackage{novel-CalculateLayout}
   \RequirePackage{novel-FontDefaults}
-  \renewcommand\textls[2][]{#2%
-    \typeout{Class `novel' Alert: \string\textls\space ignored on pg \thepage.}%
-  } % nullifies this microtype command (problems)
+  \providecommand\textls[2][]{#2} % when mtoff option
+  \renewcommand\textls[2][]{#2} % nullifies this microtype command (problems)
   \RequirePackage{novel-pdfx}%
 }
 %%
@@ -354,15 +368,7 @@
 
 %% \AtBeginDocument finishes the setup
 %% -----------------------------------------------------------------------------
-%
 \AtBeginDocument{ %
-  \defaultfontfeatures{} % reset
-  % Any other fonts will use these defaults:
-  \defaultfontfeatures{%
-    SmallCapsFeatures={Renderer=Basic},Kerning=On,%
-    Ligatures=TeX,%
-  }%
-  %
   % Find some useful measurements:
   \gdef\@normalxheight{\heightof{x}}
   \setlength\normalxheight{\@normalxheight}
@@ -397,7 +403,7 @@
       }{}%
     }
   \fi
-  %
+  % List of blocked packages (not exhaustive, since TeX has so many):
   \sorry at no{pdfx}
   \sorry at no{xmpincl}
   \sorry at no{hyperxmp}
@@ -426,8 +432,6 @@
   \sorry at no{engord}
   \sorry at no{endnotes}
   %%
-
-  %%
   %% Pertains to novel-LayoutSettings.sty:
   \ifcsname pagenumberstyle\endcsname\else
     \SetPageNumberStyle{\thepage}
@@ -509,19 +513,19 @@
   \ifthenelse{\equal{\@myfnsymbols}{†}}{\setcounter{@maxfnsymbol}{6}}{}
   %%
 }
-%%
+%% end AtBeginDocument
 
 
-%% New in version 1.2, coverart option. See docs page 10.
+%% New in version 1.2, coverart option. See documentation.
 \AfterEndPreamble{
-    \if at coverart
-      \AddToShipoutPictureBG{%
-        \AtPageUpperLeft{%
-          \InlineImage{\novelcoverimage}% Version 1.38 corrected erroneous starred command here.
-        }%
-      }
-      \null% without this, page has no "content"
-    \fi
+  \if at coverart
+    \AddToShipoutPictureBG{%
+      \AtPageUpperLeft{%
+        \InlineImage{\novelcoverimage}%
+      }%
+    }
+    \null% without this, page has no "content"
+  \fi
 }
 %%
 



More information about the tex-live-commits mailing list