texlive[65848] Master: novel (15feb23)
commits+karl at tug.org
commits+karl at tug.org
Wed Feb 15 23:58:54 CET 2023
Revision: 65848
http://tug.org/svn/texlive?view=revision&revision=65848
Author: karl
Date: 2023-02-15 23:58:53 +0100 (Wed, 15 Feb 2023)
Log Message:
-----------
novel (15feb23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.tex
trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.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/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-DropCap.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-Fonts.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-PostLayout.sty
trunk/Master/texmf-dist/tex/lualatex/novel/novel-Sandbox.sty
trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty
trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg
trunk/Master/texmf-dist/tex/lualatex/novel/novel-pdfx.sty
trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty
trunk/Master/texmf-dist/tex/lualatex/novel/novel.cls
trunk/Master/tlpkg/libexec/ctan2tds
Added Paths:
-----------
trunk/Master/texmf-dist/doc/lualatex/novel/README.md
trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.pdf
trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.pdf
Removed Paths:
-------------
trunk/Master/texmf-dist/tex/lualatex/novel/novel-Obsolete.sty
Added: trunk/Master/texmf-dist/doc/lualatex/novel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/README.md (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/README.md 2023-02-15 22:58:53 UTC (rev 65848)
@@ -0,0 +1,32 @@
+# THE NOVEL DOCUMENT CLASS
+
+The *novel* LuaLaTeX document class is specifically written to meet the needs of original fiction writers, who are typesetting their own novels for non-color print-on-demand technology. If that does not describe your objective, then this is the wrong document class for you. There is no support for E-books. The needs of academic writers and picture-book layout are largely unmet.
+
+If your book is a detective novel, science fiction, romance, or collection of short stories, then you are in the right place. This document class has been used for creating several actual printed novels, both text interior and color cover. Internal code can create PDF/X files for the interior and cover. Furthermore, a color cover image can be separated to CMYK at 240% ink limit, as required by some print-on-demand services.
+
+This class requires TeXLive 2016 or later, or recent MiKTeX. Recommended 2020 or later. Distributions based on TeXLive 2015 or earlier will fail.
+
+Extensive documentation is in HTML format. The "novel.pdf" file is merely a place-holder.
+
+## News:
+
+Version 1.80, February 8, 2023: Small tweaks.
+
+Version 1.52, April 26, 2018: Enhanced detection and Warnings, using Lua code.
+
+Version 1.50.5, April 11, 2018: Minor bug fix (incorrect warning message).
+
+Version 1.50.4, April 7, 2018: Enhancements to novel-scripts.
+
+Version 1.50.3, April 5, 2018: Further minor enhancements to novel-scripts.
+
+Version 1.50.2, April 3, 2018: Minor enhancements to novel-scripts.
+
+Version 1.50.1, March 29, 2018: New features pertaining to image placement. Scripts for pre-processing images. Sandbox mode. Internal drop cap capability. Reference to obsolete macros removed from documentation. General cleanup of documentation and internal code.
+
+Version 1.46.2, January 14, 2018: Now called the "old" version. Internal code cleanup, docs cleanup. No known bugs.
+
+## License:
+
+The LaTeX code and documentation are licensed under the LaTeX Project Public License, v.1.3c. The included fonts NovelDeco.otf and CPmodified.otf are licensed under the SIL Open Font License, v.1.1.
+
Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.pdf 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.pdf 2023-02-15 22:58:53 UTC (rev 65848)
Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.tex 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-example.tex 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,4 +1,4 @@
-% !TeX TS-program = LuaLaTeX
+% !TeX TS-program = lualatex
% !TeX encoding = UTF-8
%
% EXAMPLE OF NOVEL DOCUMENT CLASS
@@ -6,11 +6,12 @@
% 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.52.
+\documentclass{novel} % v. 1.80.
\SetTitle{Dark and Stormy}
\SetSubtitle{A Tale of Nights}
\SetAuthor{Dirk Hardcase}
\SetPDFX[CGATSTR001]{X-1a:2001}
+\setotherlanguage{latin}
\begin{document}
\frontmatter
Added: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.pdf 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.pdf 2023-02-15 22:58:53 UTC (rev 65848)
Property changes on: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.tex 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/extras/novel-testsuite.tex 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,4 +1,4 @@
-% !TeX TS-program = LuaLaTeX
+% !TeX TS-program = lualatex
% !TeX encoding = UTF-8
%
% TEST SUITE FOR NOVEL DOCUMENT CLASS
@@ -21,7 +21,7 @@
% It is grayscale png, 150x150 pixels, with resolution 300pdi.
%
% The `test' class option is required. You may add others.
-\documentclass[test,shademargins,draft]{novel} % v. 1.52.
+\documentclass[test,shademargins,draft]{novel} % v. 1.80.
\SetTitle{Test Suite}
\SetSubtitle{Novel Document Class}
\SetAuthor{Author Name}
Modified: trunk/Master/texmf-dist/doc/lualatex/novel/novel-documentation.html
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/novel/novel-documentation.html 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/novel-documentation.html 2023-02-15 22:58:53 UTC (rev 65848)
@@ -170,7 +170,7 @@
<ul id="u1.1">
<li><a href="#h1.1.1">1.1.1 LuaLateX Compiler</a></li>
<li><a href="#h1.1.2">1.1.2 UTF-8 Encoding</a></li>
- <li><a href="#h1.1.3">1.1.3 Polyglossia</a></li>
+ <li><a href="#h1.1.3">1.1.3 Language Support</a></li>
<li><a href="#h1.1.4">1.1.4 Open Type Fonts</a></li>
<li><a href="#h1.1.5">1.1.5 Book Design</a></li>
</ul>
@@ -203,6 +203,7 @@
<li><a href="#h2.7">2.7 xml</a></li>
<li><a href="#h2.8">2.8 coverart</a></li>
<li><a href="#h2.9">2.9 developer options</a></li>
+ <li><a href="#h2.10">2.10 revert</a></li>
</ul>
</li><!-- end 2 -->
@@ -565,18 +566,20 @@
<div id="main">
<!-- **************************************************************************************** -->
-<h1 id="h0" style="padding-top:16px">Document class <i>novel</i> - documentation. <span style="font-size:75%">V. 1.52, 2018/04/26</span></h1>
+<h1 id="h0" style="padding-top:16px">Document class <i>novel</i> - documentation. <span style="font-size:75%">V. 1.80, 2023/02/08</span></h1>
<p class="noindent"><span id="screennoscript" class="screennoscript"><b>For enhanced navigation of this file, turn on JavaScript.</b></span></p>
<div><script>if(document.getElementById("screennoscript")){document.getElementById("screennoscript").style.display="none";}</script></div>
-<p class="item">ALERT: If you have been using this document class prior to version 1.50, see <a href="#hZ">Appendix Z</a> for important changes.</p>
+<p class="item">ALERT: If you have been using this document class prior to version 1.80 (February 2023), see <a href="#hZ">Appendix Z</a>.</p>
+<p class="item">ALERT: New user? Little knowledge of LaTeX? Try the simpler "novelette" document class. Expected in March, 2023.</p>
+
<!-- ********************************************************************** -->
<div id="page01" class="page">
<p class="noindent">The <i>novel</i> document class is for authors of text-intensive original fiction, such as detective novels, murder mysteries, romance, sci-fi, and collections of short stories. Academic works and graphic novels are excluded.</p>
<p>The resulting PDF uses built-in technology to produce PDF/X compliant files for print-on-demand (P.O.D.) services. There is no capability for E-books, and never will be.</p>
-<p>To use <i>novel</i>, you need TeXLive 2016 or later, or recent MikTeX. Open your TeX package manager, and install both <i>novel</i> and <i>libertinus</i>.</p>
+<p>To use <i>novel</i>, you need TeXLive 2016 or later, or recent MikTeX. Open your TeX package manager, and install both <i>novel</i> and <i>libertinus-fonts</i>.</p>
<h2 id="h1">1. Before You Begin</h2>
@@ -592,12 +595,12 @@
<h4 id="h1.1.1">1.1.1. Use the LuaLaTeX Compiler</h4>
<div class="d4" id="d1.1.1">
<p class="item"><b>A.</b> At the top of your *.tex main document, before the document class, place these lines:</p>
-<p class="code"><code>% !TeX TS-program = LuaLaTeX</code><br/>
+<p class="code"><code>% !TeX TS-program = lualatex</code><br/>
<code>% !TeX encoding = UTF-8</code></p>
<p>Those instructions are read and understood by many TeX editors, and also serve as a reminder to yourself.</p>
<p class="item"><b>B.</b> If you compile by command line, try this:</p>
-<p class="code"><code>lualatex yourdocument.tex</code><p>
-<p class="item"><b>C.</b> If using a service such as ShareLaTeX online, open the Menu, and scroll down to where you can choose the compiler. Set it to LuaLaTeX.</p>
+<p class="code"><code>lualatex your-document.tex</code></p>
+<p class="item"><b>C.</b> If using a service such as ShareLaTeX online, open the Menu, and scroll down to where you can choose the compiler. Set it to lualatex.</p>
</div><!-- end 1.1.1 -->
<h4 id="h1.1.2">1.1.2. Use UTF-8 Encoding</h4>
@@ -608,16 +611,23 @@
<p class="item"><b>D.</b> If you are on Windows, <i>do not</i> use Notepad! The free <a class="external" rel="external" target="new" href="https://notepad-plus-plus.org">Notepad++</a> (also <a class="external" rel="external" target="new" href="https://portableapps.com/apps/development/notepadpp_portable">Portable</a> version) is a suitable plain text editor. Configure it as specified, with utf-8 but without BOM. Does not matter whether UNIX or DOS line endings, as long as you are consistent.</p>
</div><!-- end 1.1.2 -->
-<h4 id="h1.1.3">1.1.3. Use Polyglossia Language Support</h4>
+<h4 id="h1.1.3">1.1.3. Language Support</h4>
<div class="d4" id="d1.1.3">
-<p class="item"><b>A.</b> The pre-loaded <i>polyglossia</i> package provides language support. By default, <i>novel</i> is configured for American English.</p>
-<p class="item"><b>B.</b> If your document's language is something else, or if you will be writing in multiple languages, see the <i>polyglossia</i> package documentation regarding <code>\setdefaultlanguage</code> and related commands.</p>
+<p class="item"><b>A.</b> The <i>polyglossia</i> package is loaded automatically. Do not load it yourself.</p>
+<p class="item"><b>B.</b> Language is loaded like this default:</p>
+<p class="code"><code>\setdefaultlanguage[variant=american]{english}</code></p>
+<p class="item"><b>C.</b> For other possibilities, see polyglossia documentation.</p>
+<p class="item"><b>D.</b> Polyglossia does not always load language hyphenation patterns.
+If it does not, be sure that your system has the hyphenation patterns for your language or languages.
+For example, <code>hyphen-latin</code> is used when you insert <code>lipsum</code> text.
+And, you may need to use the polyglossia <code>\setotherlanguage</code> if extended text
+is not your default.</p>
</div><!-- end 1.1.3 -->
<h4 id="h1.1.4">1.1.4. Use Open Type Fonts</h4>
<div class="d4" id="d1.1.4">
<p class="item"><b>A.</b> The built-in <i>fontspec</i> package requires utf-8 encoding. It is able to load Open Type fonts, and access their internal feature sets. Forget Type 1 fonts and special encodings! If you wish to use Greek or Cyrillic, all you need are compatible fonts.</p>
-<p class="item"><b>B.</b> If you accept the pre-configured fonts (from <i>libertinus</i>), then you do not need to know anything about <i>fontspec</i>. But if you wish to configure your own fonts, <a href="#hE">Appendix E</a> reviews the most important parts of <i>fontspec</i> syntax.</p>
+<p class="item"><b>B.</b> If you accept the pre-configured fonts (from package <i>libertinus-fonts</i>), then you do not need to know anything about <i>fontspec</i>. But if you wish to configure your own fonts, <a href="#hE">Appendix E</a> reviews the most important parts of <i>fontspec</i> syntax.</p>
<div style="clear:both"></div>
</div><!-- end 1.1.4 -->
@@ -715,7 +725,7 @@
<h3 id="h2.2">2.2. sandbox</h3>
<div class="d3" id="d2.2">
-<p class="noindent">New in version 1.50. You work in <code>sandbox</code> mode as a class option:</p>
+<p class="noindent">You may work in <code>sandbox</code> mode as a class option:</p>
<p class="code"><code>\documentclass[sandbox]{novel}</code></p>
<p class="item"><b>A.</b> In <code>sandbox</code> mode, you can use many packages that would otherwise be prohibited. This will allow you to create tables and diagrams using nearly any methods ordinarily available in most other document classes. Of course, you may have to load some additional packages.</p>
<p>Also, when in <code>sandbox</code> mode, many glues and lengths are set to values that are typical of other document classes, rather than the special values ordinarily used by <i>novel</i>.
@@ -787,12 +797,18 @@
<div class="d3" id="d2.9">
<p class="noindent">These options are primarily used for developer testing, not user production. Using them may cause compilation to fail, or produce an undesirable result. That is not considered a bug.</p>
<p class="item"><b>A.</b> <code>mtoff</code> The <i>microtype</i> package will not be loaded.</p>
-<p class="item"><b>B.</b> <code>polyoff</code> The <i>polyglossia</i> package will not be loaded.</p>
-<p class="item"><b>C.</b> <code>test</code> Only used with file <i>novel-testsuite.tex</i>.</p>
-<p class="item"><b>D.</b> <code>unblock</code> Allows use of some packages that would otherwise be blocked.</p>
+<p class="item"><b>B.</b> <code>test</code> Only used with file <i>novel-testsuite.tex</i>.</p>
+<p class="item"><b>C.</b> <code>unblock</code> Allows use of some packages that would otherwise be blocked.</p>
</div><!-- end 2.9 -->
+<h3 id="h2.10">2.10. revert</h3>
+<div class="d3" id="d2.10">
+<p class="noindent">Version 1.80 has some minor tweaks, so that documents compile faster.
+In most cases, a document compiled with earlier version 1.52 will look the same.
+If it does not, the class option <code>revert</code> will undo the tweaks.</p>
+</div><!-- end 2.10 -->
+
</div><!-- end 2 -->
</div><!-- end page02 -->
<!-- ********************************************************************* -->
@@ -1074,7 +1090,7 @@
<h5 id="h4.2.1.1">4.2.1.1. <code>\SetParentFont[<em>features</em>]{<em>fontname</em>}</code></h5>
<div class="d5" id="d4.2.1.1">
<p class="item"><b>A.</b> In <i>novel</i> you set a parent font, which is the ancestor of several pre-defined font styles, including the main font. In Preamble:</p>
-<p class="code"><code>\SetParentFont[<em>features</em>]{<em>fontname</em>}</code><p>
+<p class="code"><code>\SetParentFont[<em>features</em>]{<em>fontname</em>}</code></p>
<p class="item"><b>B.</b> 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 class="item"><b>C.</b> Whether you use <code>\SetParentFont</code> or accept the default, the features and fontname are stored as strings in macros <code>\parentfontfeatures</code> and <code>\parentfontname</code>. You may use <code>\parentfontfeatures</code> and <code>\parentfontname</code> as arguments to other font commands.</p>
<p class="item"><b>D.</b> If you have the proper license, you can use a commercial font. For example:</p>
@@ -1085,7 +1101,7 @@
<h5 id="h4.2.1.2">4.2.1.2. <code>\SetFontSize{<em>length</em>}</code></h5>
<div class="d5" id="d4.2.1.2">
<p class="item"><b>A.</b> In the <i>novel</i> document class, you do not set point size as a class option. Instead you use <code>\SetFontSize</code> in the Preamble. It applies to the parent (main) font, and is used as the basis for scaling font sizes.</p>
-<p class="item"><b>B.</b> The size may be any units TeX understands, including decimal values. So, <i>12.8bp</i> and <i>13.1pt</i> are acceptable. This is because you will be using scalable, Open Type and TrueType fonts throughout your document. They do not need TeX metrics.<p>
+<p class="item"><b>B.</b> The size may be any units TeX understands, including decimal values. So, <i>12.8bp</i> and <i>13.1pt</i> are acceptable. This is because you will be using scalable, Open Type and TrueType fonts throughout your document. They do not need TeX metrics.</p>
<p class="item"><b>C.</b> If you insist on using ancient TeX fonts, then you may need to specify a convenient integer font size such as 11pt or 12pt. But why? Forget those fonts! Welcome to the Twenty-First Century.</p>
<p class="item"><b>D.</b> The minimum global font size is <i>8pt</i>, and the maximum is <i>18bp</i>. On a local basis, text may be larger or smaller than this.</p>
<p class="item"><b>E.</b> If you do not use <code>\SetFontSize</code>, the default will be <i>11.4pt</i> more or less. That is, the size is calculated from other layout settings. When there is less available text area, the default size is <i>11pt</i>. For larger books, the default is <i>12pt</i>.</p>
@@ -1100,7 +1116,7 @@
<p>For example, the <i>main font</i> uses the <i>parent font</i> family. It has TeX Ligatures and Kerning (inherited from the <i>parent font</i>), and also Common Ligatures and OldStyle numbers.</p>
<p class="item"><b>B.</b> The <i>main font</i> is not configured directly. Instead, configure the <i>parent font</i>, then the <i>main font</i> (and other descendants) will obey. For example, if you don't want OldStyle numbers:</p>
<p class="code"><code>\SetParentFont[<em>Numbers=Lining</em>]{<em>fontname</em>}</code></p>
-<p>Then, Lining numbers will be used for the <i>main font</i> (and other descendants).<p>
+<p>Then, Lining numbers will be used for the <i>main font</i> (and other descendants).</p>
<p class="item"><b>C.</b> If you don't like the defaults, you can set the other descendant fonts directly, in Preamble:</p>
<p class="code">
<code>\SetChapterFont[<em>features</em>]{<em>fontname</em>}</code> % <em>see section <a href="#h5.1.3.1">5.1.3.1</a></em><br/>
@@ -1655,7 +1671,7 @@
Ah, such ill fortune haunted the Withens!\par<br/>
Unfortunately, novelists of that era had so little to write about, or they would have chosen another family to pursue.\par
</small></code></p>
-<p class="item"><b>C.</b> From version 1.52, a badly-placed scene break will be detected, and a Warning message will be issued.</p>
+<p class="item"><b>C.</b> A badly-placed scene break will be detected, and a Warning message will be issued.</p>
<p>If <code>\scenebreak</code> is positioned at the very top or bottom of a page, then the Warning will advise you to substitute it with either <code>\scenestars</code> or <code>\sceneline</code>. The substitution is not automatic.</p>
<p>If any of <code>scenebreak</code>, <code>\sceneline</code>, or <code>\scenestars</code> appears just one line away from the top or bottom of a page, you will get a Warning.</p>
@@ -1829,7 +1845,7 @@
<div class="d4" id="d6.2.2">
<p class="item"><b>A.</b> <code>\bfshape{<em>text, may cross paragraphs</em>}</code> is a general-purpose command for bold.</p>
<p class="item"><b>B.</b> <code>\textbf{<em>text</em>}</code> will not cross paragraphs.</p>
-<p class="item"><b>C.</b> The default main font in <i>novel</i> is <i>Libertinus Serif</i>, which has both bold and semibold weights. The semibold weight is pre-configured to substitute for bold.</p>
+<p class="item"><b>C.</b> The default main font in <i>novel</i> is <i>Libertinus Serif</i>, which has both bold and semibold weights. In versions prior to 1.80 (2023), The semibold weight is pre-configured to substitute for bold. Version 1.80 does not make this substitution.</p>
<p class="item"><b>D.</b> If you use a different font, and it has an alternative to bold weight, see <a href="#hE.1.1">Appendix E.1.1</a> <i>file name combinations</i> for how to configure the choice. Bold is not faked by thickening.</p>
<p class="item" style="position:relative"><b>E.</b> <img src="html-resources/info18.png" width="18" height="18" style="position:relative; bottom:-3px" title="tech info" alt="tech info"/> Bold is rare in fiction. It <em>might</em> be the case that this weight is useful for titles, but you ought to consider a fancy-looking font for that purpose, rather than mere Bold. Or, make the letters big and bold, but balance the effect by using gray.</p>
</div><!-- end 6.2.2 -->
@@ -1934,7 +1950,7 @@
<p>Images have built-in positioning arguments.</p>
<p class="item"><b>F.</b> Do not use floats (except in <a href="#h2.2">sandbox</a>). Use <i>novel's</i> own <code>\FloatImage</code>.</p>
<p class="item"><b>G.</b> Do not use tables (except in <a href="#h2.2">sandbox</a>). But <i>novel</i> has its <a href="#hD.3.2.7">own provision</a> for a Table of Contents, and the code may be used for other purposes as well.</p>
-<p class="item"><b>H.</b> Do not use picture environment (except in <a href="#h2.2">sandbox</a>). Use only the image commands provided by novel: <code><a href="#h7.2.2">\InlineImage</a></code>, <code><a href="#h7.2.4">\FloatImage</a></code>, and <code><a href="#h7.2.5">\WrapImage</a></code>. There is also a special provision for <a href="#h7.1.2">color cover artwork</a>.<p>
+<p class="item"><b>H.</b> Do not use picture environment (except in <a href="#h2.2">sandbox</a>). Use only the image commands provided by novel: <code><a href="#h7.2.2">\InlineImage</a></code>, <code><a href="#h7.2.4">\FloatImage</a></code>, and <code><a href="#h7.2.5">\WrapImage</a></code>. There is also a special provision for <a href="#h7.1.2">color cover artwork</a>.</p>
</div><!-- end 6.3.1 -->
<h4 id="h6.3.2">6.3.2. Some Useful Commands</h4>
@@ -1943,6 +1959,7 @@
<p style="margin-top:10pt"><code>\begin{adjustwidth}{<em>left</em>}{<em>right</em>} ... \end{adjustwidth}</code></p>
<p>This environment, from the included <i>changepage</i> package, is the most useful way to create block indents. The included text may have multiple paragraphs and span pages. The left and right arguments are lengths, being the amount to <em>increase</em> the respective margins from their normal values.</p>
<p style="margin-top:10pt"><code>\rotatebox{<em>text</em>}</code></p>
+<p>NOTE: Do not use rotation unless you really need it. Some P.O.D. printers robot-screen files, and a rotated box may be rejected (even though it is good).</p>
<p>This command is from the included <i>graphicx</i> package. It rotates the text, about an axis at the lower left of the text. If you wish to rotate the text about its center, use <code>\rotatebox[origin=c]{text}</code>.</p>
<p>This command plays nicely with <code>\charscale</code>, so you can size, rotate, and displace a string of text (single line). It makes a difference which command goes inside the other. More likely than not, the effect you want is obtained by using <code>\charscale</code> on the outside, with <code>\rotatebox</code> inside.</p>
<p>To avoid disturbing the line grid, <code>\rotatebox</code> is best used with <a href="#h6.1.2">\charscale</a> and a few blank lines.</p>
@@ -2037,7 +2054,7 @@
<p class="item"><b>F.</b> Most print services require that images must be stripped of private metadata (such as EXIF), and that the color space be DeviceGray, rather than specified by a transfer profile.</p>
<p class="item"><b>G.</b> Black/White images must be in <i>png</i> file format. Grayscale images may be in either <i>png</i> or <i>jpg</i> file format.</p>
<p class="item" style="position:relative"><b>H.</b> <img src="html-resources/info18.png" width="18" height="18" style="position:relative; bottom:-3px" title="tech info" alt="tech info"/> In the documentation <i>extras</i> folder, <i style="white-space:nowrap">novel-scripts.zip</i> will help you comply with these requirements. Complete usage information is provided there.</p>
- <p class="item"><b>I.</b> From version 1.52, <i>novel</i> detects whether or not an interior image was pre-processed using <i>novel-scripts</i>. If yes, it is "known good". If no, it is "unknown" and may be good or bad.</p>
+ <p class="item"><b>I.</b> Now <i>novel</i> detects whether or not an interior image was pre-processed using <i>novel-scripts</i>. If yes, it is "known good". If no, it is "unknown" and may be good or bad.</p>
<p>If your document has any "unknown" images, you will get a Warning. The list of "unknown" images is written near the bottom of the log file.</p>
<p>If you know that an image meets specs (because you are a graphic artists who knows these things), but it wasn't processed by <i>novel-scripts</i>, you can manually add it to the list of "known good" images. In Preamble:</p>
<p class="code"><code>\SetKnownGoodImages{somefile.png anotherfile.jpg}</code></p>
@@ -2066,7 +2083,7 @@
<h4 id="h7.2.2">7.2.2. <code>\InlineImage[<em>hoffset,voffset</em>]{<em>imageFile.png or .jpg</em>}</code> and starred version</h4>
<div class="d4" id="d7.2.2">
-<p class="item"><b>A.</b> This command places the image as an inline element, at 100% scale. The use of <i>png</i> or <i>jpg</i> images, with file extension, is required.<p>
+<p class="item"><b>A.</b> This command places the image as an inline element, at 100% scale. The use of <i>png</i> or <i>jpg</i> images, with file extension, is required.</p>
<p class="item"><b>B.</b> You may offset the image horizontally or vertically. Positive direction is to the right and up. If you use one offset, then you must use both (if necessary, <i>0em</i>). Any units of length may be used, but the preferred units are <i>em</i> or <code>\textwidth</code> for horizontal, and <i>em</i> or <code><span style="cursor:help" title="normal baseline skip">\nbs</span></code> for vertical.</p>
<p class="item"><b>C.</b> By default, the <em>top</em> of the image is at the text baseline. If you prefer that the <em>bottom</em> of the image be at the text baseline, use voffset <i>b</i>. Example:</p>
<p class="code"><code>\InlineImage[0em,b]{imageFile.png}</code></p>
@@ -2287,7 +2304,7 @@
<p>Non-empty default values are <em>shown like this</em>.<br/>
</p>
<p style="text-indent:0">
-<a href="#h1.1.1">% !TeX TS-program = LuaLaTeX</a><br/>
+<a href="#h1.1.1">% !TeX TS-program = lualatex</a><br/>
<a href="#h1.1.2">% !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/>
@@ -2345,7 +2362,7 @@
% <a href="#h4.2.5">\NewFontFace[]{}</a> % Optional command.<br/>
% <a href="#hE.2.3">\CreateFontFeature{}{}</a> % Optional command.<br/>
%%% OTHER:<br/>
-<a href="#h1.1.3">\setdefaultlanguage[<em>variant=american</em>]{<em>english</em>}</a> % polyglossia<br/>
+<a href="#h1.1.3">Language Support</a>
<a href="#h6">\microtypesetup{<em>config=novel-microtype,stretch=20,shrink=20,final</em>}</a> % microtype<br/>
%%% BEGIN DOCUMENT:<br/>
\begin{document}<br/>
@@ -2451,7 +2468,7 @@
<p>You have numerous fonts already installed in your operating system, and perhaps others that came bundled with a particular application. If you intend to use those fonts, carefully read their licenses. It is often the case that fonts bundled with an application may <em>only</em> be used for documents created within, or processed by, that application. Or, the fonts may be OK to use for printing directly by your own home printer, but not for embedding in a PDF that will go to a commercial printer.</p>
<p>Although it does not pertain to TeX, another issue can arise if you later publish an ebook version. Fonts licensed for printing are often not licensed for an ebook. Indeed, the ebook distributor may ban them.</p>
<p>Always look for a Copyright notice, which can be identified with a particular person or organization. Copyright is good! It means that someone is claiming authorship of the font software. Only the Copyright owner has the right to give the font away for free, or license it to you after payment (often through an intermediary).</p>
-<p>If you prefer free fonts, the most widely accepted license is the <a class="external" rel="external" target="new" href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL">SIL Open Font License</a>. This allows you to use the font for commercial purposes, embed it in PDF, modify it to suit your needs (if you change the font name), and even re-distribute the modifications. The recommended default <i>Libertinus Serif</i> bears this font license. So does the included font <i>NovelDeco</i>.</p>
+<p>If you prefer free fonts, the most widely accepted license is the <a class="external" rel="external" target="new" href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL">SIL Open Font License</a>. This allows you to use the font for commercial purposes, embed it in PDF, modify it to suit your needs (if you change the font name), and even re-distribute the modifications. The recommended default <i>Libertinus Serif</i> bears this font license. So does the included font <i>NovelDeco</i>.</p>
</div><!-- end C.1 -->
<h3 id="hC.2">C.2. Technical Issues</h3>
@@ -2635,7 +2652,7 @@
<p>Alternatively, you can quote from your own book, or make up something entirely new. One famous Epigraph is used in J.R.R. Tolkien's <i>Lord of the Rings</i> trilogy, in which each book uses the long form of the Ring's incantation as its Epigraph.</p>
<p>One possible use of an Epigraph is on recto page v, in books that lack a Dedication, a Table of Contents, or other important front matter beyond the Copyright Page. Alternatively, if a book has both Dedication and Table of Contents, an Epigraph may be placed on the otherwise-blank verso page vi between them. Or, an Epigraph may appear in some later convenient place in front matter.</p>
<p>In general, an Epigraph is set as a centered block, not occupying the full page width. The <i>adjustwidth</i> environment serves this purpose. You will have to manually adjust the widths at left and right, for best visual effect.</p>
-<p>The source of the quotation should be right-justified within the block, and may be preceded by an emdash. Typically, names of people are not italicized, but titles of books are. It is not necessary to give elaborate details; this is not a bibliography.<p>
+<p>The source of the quotation should be right-justified within the block, and may be preceded by an emdash. Typically, names of people are not italicized, but titles of books are. It is not necessary to give elaborate details; this is not a bibliography.</p>
<p>It is not necessary to load the <i>epigraph</i> package. Simply construct your own style of epigraph using other methods. But if you do load <i>epigraph</i>: Only use <code>\epigraph</code>, or the <code>epigraphs</code> environment, within the ChapterStart environment, or on a display page. Commands <code>\epigraphhead</code>, <code>\dropchapter</code>, <code>\undocrop</code> do not work in <i>novel</i>. The <code>\cleartoevenpage[<i>option</i>]</code> command does work. Ignore the material regarding epigraphs on part pages or in bibliographies.</p>
<h6 id="hD.3.2.6.1"><span class="n"></span>D.3.2.6.1. Example Epigraph: Real Quotation</h6>
@@ -2920,7 +2937,7 @@
<p>Document Body:</p>
<p class="code"><code>{\rwayi I came, \textbf{I saw}, \emph{I conquered}, \textsc{I left}.}</code></p>
<p style="margin-top:10px"><b>File Name Combinations:</b></p>
-<p><img class="floatright" style="padding-top:12px" src="html-resources/frankenfont.png" width="312" height="41" alt="frankenfont"/> What you write is what you get. You can customize a font family by individually selecting its members. Here is the syntax.</p>
+<p><img class="floatright" style="padding-top:12px" src="html-resources/frankenfont.png" width="312" height="41" alt="frankenfont"/> What you write is what you get. You can customize a font family by individually selecting its members. Here is the syntax. Case-sensitive, so what you see here may differ from what you have.</p>
<p>Preamble:</p>
<p class="code" style="clear:both"><code>\NewFontFamily\frankenfont[% note the % at linebreaks<br/>
ItalicFont=BaskervilleF-Italic.otf,%<br/>
@@ -3080,7 +3097,6 @@
<h3 id="hF.2">F.2. \dropcap[<em>options</em>]{<em>letter or image</em>}</h3>
<div class="d3" id="dF.2">
-<p class="noindent">To ensure that this command works as described here, verify that font <i>NovelDeco.otf</i> is at least version 1.48. If you use your own <i>deco font</i>, be sure that it is based on at least that version. Also, clear <i>luatex-cache</i> so that the version is updated. If you do not do that, the <code>\dropcap</code> command still works, but the appearance of the result will differ.</p>
<p class="item"><b>A.</b> The <code>\dropcap</code> command is based on <i>lettrine</i> technology, but has different options and behavior.</p>
<p class="item"><b>B.</b> The <code>\dropcap</code> command accepts the following options as <span style="white-space:nowrap">comma-separated</span> key values:</p>
<p class="code"><code>lines=<em>integer</em></code> Number of lines indented by the drop cap. Default 3.</p>
@@ -3124,7 +3140,7 @@
<p class="code"><code>\NewFontFace\mynicedc[<em>features</em>]{font file name}</code></p>
<p>Then, you set the font. This may be changed anywhere:</p>
<p class="code"><code>\SetDropCapFont{\mynicedc}</code></p>
-<p class="item"><b>D.</b> Do not use Type1 or Metafont fonts. If the desired font is only available in one of those formats, you can use a font editor such as <a href="https://fontforge.github.io/en-US/" class="external" rel="external" target="new">FontForge</a> to convert it to Open Type or TrueType format. Then, as described above, load the converted file by its exact file name. If the font has mssing extrema, that is almost never a problem. Overlapped hints are rarely a problem. But self-intersecting glyphs and open paths may be a problem, if you use those glyphs.</p>
+<p class="item"><b>D.</b> Do not use Type1 or Metafont fonts. If the desired font is only available in one of those formats, you can use a font editor such as <a href="https://fontforge.org" class="external" rel="external" target="new">FontForge</a> to convert it to Open Type or TrueType format. Then, as described above, load the converted file by its exact file name. If the font has mssing extrema, that is almost never a problem. Overlapped hints are rarely a problem. But self-intersecting glyphs and open paths may be a problem, if you use those glyphs.</p>
<p class="item"><b>E.</b> Default drop cap color is black. To change it, use <i>xcolor</i> syntax. Either of these:</p>
<p class="code"><code>\SetDropCapColor[<em>color model</em>]{<em>color value</em>}</code></p>
<p class="code"><code>\SetDropCapColor{<em>color name</em>}</code></p>
@@ -3162,7 +3178,7 @@
<p class="item"><b>B. Credits:</b> Within the TeX code files, you will find places where small or large pieces of code are the work of someone else. Names or organizations are credited in-place within the TeX code, according to license.</p>
<p>Various clipart graphics were obtained from <a class="external" rel="external" target="new" href="https://openclipart.org">openclipart.org</a>.</p>
-<p>Font <i>NovelDeco.otf</i> was created using <a class="external" rel="external" target="new" href="https://fontforge.github.io/en-US/">FontForge</a>. The font is partly derived from <a class="external" rel="external" target="new" href="https://github.com/khaledhosny/libertinus"><span style="white-space:nowrap"><i>Libertinus Serif</i></span></a>, which in turn is derived from <a class="external" rel="external" target="new" href="http://www.linuxlibertine.org/"><span style="white-space:nowrap"><i>Linux Libertine O</i></span></a>.</p>
+<p>Font <i>NovelDeco.otf</i> was created using <a class="external" rel="external" target="new" href="https://fontforge.org">FontForge</a>. The font is partly derived from <i>Libertinus Serif</i>, which in turn is derived from <a class="external" rel="external" target="new" href="http://www.linuxlibertine.org/"><span style="white-space:nowrap"><i>Linux Libertine O</i></span></a>.</p>
<p>In places, I offer opinions or make suggestions regarding design. These are largely based on my own inspection of popular fiction books, at my local public library. In some cases, I follow the <a class="external" rel="external" target="new" href="http://www.chicagomanualofstyle.org/home.html"><i>Chicago Manual of Style</i></a> (CMoS), hardcover 16th edition. However, please do not regard my opinions and suggestions as authoritative.</p>
<p> </p>
@@ -3173,89 +3189,19 @@
<div id="pageZ" class="page">
-<h2 id="hZ">Appendix Z. Changes in v.1.50 and Later</h2>
+<h2 id="hZ">Appendix Z. Changes in v.1.80.</h2>
<div class="d2" id="dZ">
-<h4>Changes in version 1.52</h4>
-<div class="d4">
-<p>The <code>linegap</code> environment is deprecated. It will still be honored in code, but has been removed from the documentation. It was never very useful.</p>
-<p>The <code>parascale</code> environment now measures how much it disturbs the line grid. Although it cannot automatically correct the disturbance, it does provide a useful warning so that you can make the change yourself.</p>
-<p>Best practice avoids scene breaks too close to the top or bottom of a page, unless you place something visible there. Now, a badly-placed <code>\scenebreak</code> can be detected, and a warning will be issued.</p>
-<p>Version 1.50 already included an advanced method for PDF/X-1a color covers. In version 1.52, this is extended to non-color interior book blocks. Now, any image placed in your document will be inspected, and classified either as <i>known-compliant</i> or <i>unknown</i>. Images with <i>unknown</i> compliance will be reported in the log file, and if any were detected, there will be a warning.</p>
-<p>There have been some miscellaneous small tweaks, unlikely to be noticeable by most users.</p>
-<p>Documents that successfully compiled with version 1.50 should look the same in version 1.52, but you may see more warnings.</p>
-</div>
-
-<h4>Changes in Version 1.50</h4>
+<h4>Important Changes</h4>
<div class="d3">
-<p>Version 1.50 introduced many new features, and some changes, from version 1.46.2.</p>
+<p>Version 1.80 (2023) tweaks some internal code, for faster compiling.
+No new features or bugs. If you have a document built with the earlier
+version 1.52, use class option <code>revert</code> to avoid using the tweaks.
+In any case, if you are re-building an earlier document, pay careful attention
+to line breaks and pagination. Due to various adjustments in component
+packages and fonts, a document built in the past may look slightly different
+if re-built now.</p>
-<p class="noindent"><b>Post-Release Reversion to Old</b></p>
-<p>If you have an existing document created with version prior to 1.50, in rare circumstances the layout will change. </p>
-<p>If the only change is the number of lines per page, then you can simply fix it manually, using the <code>\SetLinesPerPage</code> command. But if version 1.50 creates problems, you can run the old and new versions side-by-side. Be sure to keep the new version installed.</p>
-<p>In the short term, an older version of <i>novel</i> can be found <a href="https://github.com/RobtAll/novel">here</a>, in the archives folder. Be sure that the zip file is named "novel-old".</p>
-<p>1) Unpack novel-old.zip into your texmf-local directory.</p>
-<p>2) Refresh your file name database.</p>
-<p>3) Change your document class from <i>novel</i> to <i>novel-old</i>.</p>
-<p>If performed correctly, you will be using version 1.46.2 of <i>novel</i>, when you change the document class to <i>novel-old</i>. To avoid version conflict, be sure that you do not duplicate font <i>NovelDeco.otf</i> in texmf-local; <i>novel-old</i> will rely on the current version installed with <i>novel</i>.</p>
-<p>Any document using <i>novel</i> will get the installed version, rather than <i>novel-old</i>.</p>
-<p>In the long term, the older version will be removed. No particular time frame. I do not believe that many users (if any) will be affected.</p>
-<p>If your existing documents have no problem with version 1.50, then use the newer version.</p>
-
-<p class="noindent"><b>Cover Art Methods Changed</b></p>
-<p>From version 1.50, the method used for cover art has changed. If you have existing cover artwork using the older syntax, it will still be honored, but it is no longer documented.</p>
-<p>The new cover art syntax requires you to pre-process your image using a script, included in the documentation <i>extras</i> folder. The scripts works on Windows, Linux, and Mac OSX. The processed image will be PDF, separated to CMYK, at 240% ink limit.</p>
-<p>To obtain PDF/X, you post-process the above PDF in lualatex, using a template. Complete instructions are in the zip file containing the scripts.</p>
-<p>Of course, you don't need to use TeX at all, if your print service accepts an ordinary RGB image.</p>
-
-<p class="noindent"><b>New Class Option: sandbox</b></p>
-<p><i>Novel</i> does not permit things such as TikZ diagams, tables (other than its own method), imported PDf pages, and some other TeX effects. The purpose of the prohibition is to maintain grid layout, and ensure PDF/X compliance.</p>
-<p>From version 1.50, the <code>sandbox</code> class option allows you to do nearly anything, provided that the result is no more than four pages. Then, you can create drawings or whatever, convert to raster images, and place the images in your main document.</p>
-
-<p class="noindent"><b>\BlockImage Obsolete</b></p>
-<p>From version 1.50 the \BlockImage command is obsolete. It was never a very good macro. If you have an existing document that uses \BlockImage, it will be honored, but it is no longer documented.</p>
-<p>You may prefer the new <code>\FloatImage</code> and <code>\WrapImage</code> commands.</p>
-
-<p class="noindent"><b>\FloatImage Added</b></p>
-<p>Better than <code>\BlockImage</code>: Version 1.50 now has <code>\FloatImage</code>, which can place an image "here" or float it to the next page, if it doesn't immdiately fit. Full-page floats are supported. See the full documentation, above.</p>
-<p>The <code>\InlineImage</code> command remains unchanged, and will probably remain forever. It's a good macro.</p>
-
-<p class="noindent"><b>\WrapImage Added</b></p>
-<p>The new <code>\WrapImage</code> command provides limited support for wrapping text around an image. It is all you need in the context of fiction writing.</p>
-<p>The <i>wrapfig</i> package is automatically loaded, and provides the layout engine. However, do not directly use the commands and environments from that package (they won't work). Instead, <i>novel</i> provides macro <code>\WrapImage</code>, which will format your input so that it can be processed correctly.</p>
-
-<p class="noindent"><b>Drop Caps Added</b></p>
-<p>As before, you may use the <i>lettrine</i> package, if you wish. From version 1.50, <i>novel</i> now has built-in support for a certain style of drop caps, as a special interface to the <i>lettrine</i> layout engine.</p>
-<p>Since the new <code>\dropcap</code> command requires an updated version of the <i>NovelDeco.otf</i> font, be sure to update your <span style="white-space:nowrap">luatex-cache</span>.</p>
-
-<p class="noindent"><b>\Rework Obsolete</b></p>
-<p>From its early days, <i>novel</i> had an exotic built-in method for preserving layout if your book's Trim Size changed. It was a complicated piece of code, and even though it worked, it was inherently incapable of addressing some layout situations.</p>
-<p>In version 1.46.1 it was quietly removed from the documentation. In the short term, existing documents that rely on <code>\Rework</code> commands will still compile. In the long term, forget it. To my knowledge, nobody is using it.</p>
-
-<p class="noindent"><b>Class Option <i>graytext</i> Obsolete</b></p>
-<p>Formerly, you could use a class option to specify whether or not the use of grayscale text (anything other than solid black) was permitted. There was never any good reason for having that choice, so it has been removed. Now, you can always use grayscale text, if you wish.</p>
-
-<p class="noindent"><b>\SetCropmarkGap Obsolete</b></p>
-<p>Formerly, there was a minimal ability to configure crop marks. It was not very useful, and made the code more complex. Now, the size of cropmarks is fixed.</p>
-
-<p class="noindent"><b>New Error Messages for Endnotes</b></p>
-<p>Prior to version 1.50, incorrect use of <a href="#h9.2"><code>\endnote</code></a> commands would simply produce bad typesetting, without warning.</p>
-<p>New error messages have been added. If you use <a href="#h9.2"><code>\endnote</code></a>, and get error messages that did not appear before, then be sure to read the command documentation again. The most likely reason for error is that you are using the commands according to the syntax of some other package, rather than using <i>novel's</i> own syntax.</p>
-
-<p class="noindent"><b>New Algorithm for Layout Calculations</b></p>
-<p>Under the hood, version 1.50 uses a more accurate method for page layout. In most cases, the change is microscopic, and will not affect existing documents.</p>
-<p>Books that use widely-spaced lines are most likely to show a noticeable change for the better. In a few cases, the default number of lines per page will change. If you have an existing document using default lines per page, and it has changed, then simply specify the exact number manually.</p>
-
-<p class="noindent"><b>Revised Documentation Format</b></p>
-<p>This documentation has been slightly revised. Now, long sections are broken down into items, marked A, B, etc. This is for the convenience of translators.</p>
-<p>Under the hood, in the TeX code, there has been some cleanup, for the benefit of future package maintainers.</p>
-
-<p class="noindent"><b>What's Unchanged</b></p>
-<p>Most of <i>novel</i> is just as before, and will be...</p>
-<p>In particular, there is no support for tables (other than novel's own Table of Contents), no support for automatic divisions into sections and other kinds of partitions, no support for automatic index or bibliography, and generally no support for the "academic" structure used by other document classes.</p>
-</div>
-
-
</div><!-- end Z -->
</div><!-- end Appendix Z -->
<!-- ************************************************************ -->
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 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/doc/lualatex/novel/novel.tex 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,4 +1,4 @@
-% !TeX TS-program = LuaLaTeX
+% !TeX TS-program = lualatex
% !TeX encoding = UTF-8
%
% SOURCE CODE FOR FILE novel.pdf, the cover info for novel document class.
@@ -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.52.
+\documentclass{novel} % v. 1.80.
% Almost all settings are defaults.
\SetHeadFootStyle{3}
\SetTitle{Novel Document Class} % only footer, with page number
@@ -18,7 +18,7 @@
\ChapterTitle{NOVEL}
\vspace{\nbs}
\ChapterSubtitle{A Document Class for the Rest of Us}
-\vspace{\nbs}
+\centering{Also consider the simpler \textit{novelette} document class.\par}
\ChapterDeco[4]{\decoglyph{n9548}}
\end{ChapterStart}
@@ -58,6 +58,8 @@
\QuickChapter{4. Version}
+\noindent 1.80, 2023-02-08: Class option ``rev'' for new documents.
+
\noindent 1.52, 2018-04-26: Enhanced detection and warning using Lua code.
\noindent 1.50.5, 2018-04-11: Minor bug fixes (docs and code disagreed).
@@ -105,7 +107,7 @@
\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.\par
-Update: Another author reports success.
+Update: Several other authors report success.
\end{adjustwidth}
\begin{adjustwidth}{\parindent}{0pt}
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-CGATSTR001.clo
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-CGATSTR001.clo 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-CGATSTR001.clo 2023-02-15 22:58:53 UTC (rev 65848)
@@ -3,7 +3,7 @@
%% The values of the arguments are public industry standards.
%%
\ProvidesFile{novel-CGATSTR001.clo}%
-[2018/01/14 any version. (novel Output Intent CGATS TR 001)]
+[2023/02/08 any version. (novel Output Intent CGATS TR 001)]
%%
% Typically used in the USA.
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-CalculateLayout.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-CalculateLayout.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-CalculateLayout.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-CalculateLayout.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -12,7 +12,7 @@
%%
%%
\ProvidesFile{novel-CalculateLayout.sty}%
-[2018/04/26 v1.52 LaTeX file (layout calculations)]
+[2023/02/08 v1.80 LaTeX file (layout calculations)]
%%
%%
@@ -71,8 +71,7 @@
\newlength\@AvailableWidth
\gsetlength\@AvailableWidth{\@TrimWidth-\@OuterMargin-\@InnerMargin}
% The "occupied width" of the text block is the TeX dimension \textwidth.
-% Your originally set layout can always fill the available width,
-% although that is not always true when using \Rework:
+% Your originally set layout can always fill the available width.
\gsetlength\textwidth{\@AvailableWidth}
% The "available height" is the trim height minus the top and bottom margins:
\newlength\@AvailableHeight
@@ -163,24 +162,9 @@
%% end calculate baselineskip.
-%% LOAD REWORK, IF USED
-%% REWORK IS EXPERIMENTAL CODE. NOT DOCUMENTED.
-%% ----------------------------------------------------------------------------
-% Note that \Rework does not change lines per page.
-\gdef\@TMratio{1}
-\if at ReworkTrimSize
- \ObsoleteRework
-\else
- \if at ReworkMargins
- \ObsoleteRework
- \fi
-\fi
-%% end load rework.
-
-
%% FINISH LAYOUT (but post-layout deals with special class options)
%% ----------------------------------------------------------------------------
-% Caution if font size (set or reworked) is small:
+% Caution if font size is small:
\ifdimcomp{\@SetFontSize}{<}{10pt}{ %
\typeout{^^JClass `novel' Alert: Normal font at less than 10pt. ^^J%
Whether or not this is too small, depends on circumstances. ^^J%
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-ChapterScene.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-ChapterScene.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-ChapterScene.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-ChapterScene.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%%
%% This file may be distributed and/or modified under the
@@ -13,13 +13,13 @@
%%
%%
\ProvidesFile{novel-ChapterScene.sty}%
-[2018/04/26 v1.52 LaTeX file (chapter and scene macros)]
+[2023/02/08 v1.80 LaTeX file (chapter and scene macros)]
%%
% Each new chapter generally has its own header/footer style. This allows a
% default setting when chapters begin with ChapterStart environment:
-\gdef\SetChapterStartStyle#1{% from v. 1.40.3
+\gdef\SetChapterStartStyle#1{%
\@tempTFfalse%
\ifthenelse{\equal{#1}{fancy}}{\@tempTFtrue}{}%
\ifthenelse{\equal{#1}{empty}}{\@tempTFtrue}{}%
@@ -43,7 +43,6 @@
}
\let\SetChapterStart\SetChapterStartStyle\relax % deprecated from v1.40.3.
\SetChapterStartStyle{footer} % default
-% New in version 1.40.2:
\gdef\SetChapterStartHeight#1{%
\FPifint{#1}\else%
\ClassError{novel}{\string\SetChapterStartHeight\space integer >= 4}%
@@ -78,7 +77,7 @@
\fi%
}
\SetScenebreakIndent{false} % default
-% Deprected from v. 1.40.3:
+% Deprecated:
\newcommand\IndentAfterScenebreak{\global\@IndentAfterScenebreaktrue}
@@ -96,7 +95,7 @@
% Either way, local behavior changed using \forceindent or \backindent.
% \newcommand\scenebreak{\null}
%
-\newcommand\scenebreak{% revised in version 1.52.
+\newcommand\scenebreak{%
\leavevmode\getBreakpos{scenebreak}~\par
}
%
@@ -167,7 +166,7 @@
%%
-%% Chapter number count. New in version 1.44. See documentation.
+%% Chapter number count.
%% Do NOT use for "chapter-like" sections, only numbered chapters.
\newcounter{novelcn}
\setcounter{novelcn}{1}
@@ -309,9 +308,6 @@
%%
-%% \Epigraph[align,scale,width]{text} OBSOLETE IN CODE VERSION 1.2
-
-
%% \QuickChapter[line style]{text} intended for a story consisting of numerous
% short chapters without page breaks. Two blank lines are inserted. In the gap
% is the text, using subchfont. Optional line follows using \bigemdash style.
@@ -341,7 +337,7 @@
%%
-%% New in version 1.40: \cleartorecto and \cleartoend
+%%
% \cleartorecto works same as \clearpage when next page is recto.
% If next page would be verso, a blank verso is inserted,
% so that the following material is recto.
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-DropCap.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-DropCap.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-DropCap.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-DropCap.sty', part of `novel' document class.
-%% Copyright (C) 2017-2018 Robert Allgeyer.
+%% Copyright (C) 2017-2023 Robert Allgeyer.
%%
%% It is based on `lettrine.sty', part of `lettrine' package,
%% Copyright (C) 1999-2015 Daniel Flipo.
@@ -16,10 +16,8 @@
% version 2005/12/01 or later.
%
%%
-% This file is new in `novel' version 1.50.
-%
\ProvidesFile{novel-DropCap.sty}%
- [2018/04/26 v1.52 (Drop Caps)]
+ [2023/02/08 v1.80 (Drop Caps)]
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%
%
@@ -157,16 +155,6 @@
\NDC at ante%
\@dropthisthing%
\else%
- % Compensate for effect of using \Rework:
- \if at ReworkTrimSize%
- \FPdiv{\@tempN}{\strip at pt\textwidth}{\strip at pt\@OriginalTextWidth}%
- \FPmul{\NDC at bloat}{\NDC at bloat}{\@tempN}%
- \else%
- \if at ReworkMargins%
- \FPdiv{\@tempN}{\strip at pt\textwidth}{\strip at pt\@OriginalTextWidth}%
- \FPmul{\NDC at bloat}{\NDC at bloat}{\@tempN}%
- \fi%
- \fi%
\sbox{\NDC at normalXbox}{X}% Normal capital X.
\sbox{\NDC at dropcapbox}{\scalebox{\NDC at bloat}[1]{\NDC at char\@dropthisthing}}%
\@tempdima=\baselineskip%
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-FOGRA39.clo
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-FOGRA39.clo 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-FOGRA39.clo 2023-02-15 22:58:53 UTC (rev 65848)
@@ -2,7 +2,7 @@
%% This is file `novel-FOGRA39.clo', part of `novel' document class.
%% The values of the arguments are public industry standards.
\ProvidesFile{novel-FOGRA39.clo}%
-[2018/01/14 any version. (novel Output Intent FOGRA39)]
+[2023/02/08 any version. (novel Output Intent FOGRA39)]
%%
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-FileData.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-FileData.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-FileData.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-FileData.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%%
%% This file may be distributed and/or modified under the
@@ -13,7 +13,7 @@
%%
%%
\ProvidesFile{novel-FileData.sty}%
-[2018/04/26 v1.52 LaTeX file (File Data settings)]
+[2023/02/08 v1.80 LaTeX file (File Data settings)]
%%
@@ -48,7 +48,7 @@
\gdef\title#1{\gdef\@title{#1}}
\gdef\thetitle{\@title} % for convenience
\gdef\theTitle{\@title}
-\SetTitle{IMPORTANT: Provide Book Title} % Default v. 1.46.1. Formerly empty.
+\SetTitle{IMPORTANT: Provide Book Title} % Default.
%
% \author{} or \SetAuthor{}
% Copied to File Data at end of preamble, unless not set.
@@ -90,13 +90,12 @@
%% ----------------------------------------------------------------------------
%% \SetPDFX[Output Intent]{compliance standard} % No embed *.icc. Default.
%% \SetPDFX*[Output Intent]{compliance standard} % Embed *.icc.
-%% Default up to and including v. 1.46: \SetPDFX{off}
-%% Default as of v. 1.46.1: \SetPDFX[CGATSTR001]{X-1a:2001}
+%% Default: \SetPDFX[CGATSTR001]{X-1a:2001}
%
% \@pdfxSEToff refers to the setting, rather than whether it really is off.
% \@pdfxISoff refers to whether it really is off.
-\newif \if at pdfxSEToff % Prior to v. 1.46.1, was \ifpdfx at isOFF.
-\newif \if at pdfxISoff % New in v. 1.46.1.
+\newif \if at pdfxSEToff
+\newif \if at pdfxISoff
% These will get meaningful info when an output intent file is loaded:
\gdef\@OIidentifier{}
\gdef\@OIcondition{}
@@ -179,7 +178,7 @@
}{}%
} % end \@setpdfx
%
-\SetPDFX[CGATSTR001]{X-1a:2001} % Default, from v. 1.46.1. Formerly off.
+\SetPDFX[CGATSTR001]{X-1a:2001} % Default.
%%
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-Fonts.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-Fonts.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-Fonts.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-Fonts.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%%
%% This file may be distributed and/or modified under the
@@ -13,7 +13,7 @@
%%
%%
\ProvidesFile{novel-Fonts.sty}%
-[2018/04/26 v1.52 LaTeX file (font settings and defaults)]
+[2023/02/08 v1.80 LaTeX file (font settings and defaults)]
%%
@@ -52,9 +52,13 @@
% Default font features (will be changed later):
\defaultfontfeatures{} % reset
\defaultfontfeatures{SmallCapsFeatures={Renderer=Basic},Ligatures=TeX,} % all
-% Main and sans fonts: kerning, ligatures, and OldStyle numbers if available:
-\defaultfontfeatures[\rmfamily,\sffamily]%
- {Kerning=On,Numbers=OldStyle,Ligatures=Common}
+\if at novrevert
+ \defaultfontfeatures[\rmfamily,\sffamily]%
+ {Kerning=On,Numbers=OldStyle,Ligatures=Common}
+\else
+ \defaultfontfeatures[\rmfamily,\sffamily]%
+ {Kerning=On,Numbers=OldStyle}
+\fi
% Fake \microtypesetup until package loaded by \@ActivateFonts, \AtEndPreamble:
\newif \if at MicrotypeSet
\gdef\microtypesetup#1{
@@ -82,9 +86,13 @@
\newif \if at ParentFontSet
\gdef\parentfontfeatures{}
\gdef\parentfontname{}
-\DeclareDocumentCommand \SetParentFont { O{} m O{} } {% from version 1.1.
+\DeclareDocumentCommand \SetParentFont { O{} m O{} } {%
\@CheckFontspecFeatures{#1,#3}
- \gdef\parentfontfeatures{#1,#3}
+ \if at novrevert
+ \gdef\parentfontfeatures{#1,#3}
+ \else
+ \gdef\parentfontfeatures{Ligatures=Common,#1,#3}
+ \fi
\gdef\parentfontname{#2}
\global\@ParentFontSettrue
}%
@@ -159,7 +167,6 @@
\cs_new_eq:NN \AddFontFeatures \addfontfeatures
\cs_new_eq:NN \AddFontFeature \addfontfeatures
\ExplSyntaxOff
-% New in v. 1.50: built-in drop caps.
\gdef\@DropCapFont{} % until actually set, will be default main font
\gdef\@DropCapColorModel{} % until actually set, using `xcolor' syntax
\gdef\@DropCapColorValue{black} % until actually set, using `xcolor' syntax
@@ -283,10 +290,14 @@
% a different font. Then, Libertinus Serif or Latin Modern Roman
% will be automatically set as \rmdefault, if available:
\IfFontExistsTF{Libertinus Serif}{ % preferred default
- \SetParentFont[%
- BoldFont=libertinusserif-semibold.otf,%
- BoldItalicFont=libertinusserif-semibolditalic.otf,%
- ]{Libertinus Serif}
+ \if at novrevert % Version 1.52 behavior.
+ \SetParentFont[% Pre-1.80 default.
+ BoldFont=libertinusserif-semibold.otf,%
+ BoldItalicFont=libertinusserif-semibolditalic.otf,%
+ ]{Libertinus Serif}
+ \else % Version 1.80. Compiles faster wihout semibold.
+ \SetParentFont{Libertinus Serif}
+ \fi
}{ % backup default, if Libertinus Serif not available:
\SetParentFont[%
SmallCapsFont={Latin Modern Roman Caps}%
@@ -372,7 +383,6 @@
\@decofontfeatures,RawFeature=+ss03,%
]{\@decofontname}
\fi% end \if at HasDecoFont
- % New in version 1.50:
\if at HasDecoFont
\NewFontFace\decodropcapfont[RawFeature=+dcap]{\@decofontname}
\else
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-Footnotes.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-Footnotes.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-Footnotes.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-Footnotes.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%%
%% This file may be distributed and/or modified under the
@@ -13,7 +13,7 @@
%%
%%
\ProvidesFile{novel-Footnotes.sty}%
-[2018/04/26 v1.52 LaTeX file (commands for footnotes and endnotes)]
+[2023/02/08 v1.80 LaTeX file (commands for footnotes and endnotes)]
%%
@@ -304,7 +304,7 @@
-%% ENDNOTES. Behavior modified in v. 1.50 (added error messages).
+%% ENDNOTES
%% ----------------------------------------------------------------------------
% \endnote only places a marker. It does not store a note for later use.
% Any argument is non-printing. So \endnote{ancestry of yada} does not print
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-HeadFootStyles.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-HeadFootStyles.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-HeadFootStyles.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-HeadFootStyles.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%%
%% This file may be distributed and/or modified under the
@@ -13,7 +13,7 @@
%%
%%
\ProvidesFile{novel-HeadFootStyles.sty}%
-[2018/04/26 v1.52 LaTeX file (header and footer layouts and styles)]
+[2023/02/08 v1.80 LaTeX file (header and footer layouts and styles)]
%%
@@ -138,8 +138,8 @@
\gdef\SetLooseHead#1{
\FPdiv{\@loosehead}{#1}{10} % change method fontspec w/ microtype
\FPmin{\@looseheadN}{\@loosehead}{50} % don't want numbers too loose
- \FPdiv{\@looseheadword}{\@loosehead}{30} % inter-word, new in v. 1.40.3
- \FPadd{\@looseheadword}{\@looseheadword}{1}
+ \FPdiv{\@looseheadword}{\@loosehead}{30} %
+ \FPadd{\@looseheadword}{\@looseheadword}{1} %
}
\SetLooseHead{50}
%%
@@ -368,10 +368,10 @@
% \versoheadtext is initialized to \theauthor
% \rectoheadtext is initialized to \thetitle
\@ifundefined{versoheadtext}{
- \NewVersoHeadText{\theauthor} % revised in v. 1.40.3
+ \NewVersoHeadText{\theauthor}
}{}
\@ifundefined{rectoheadtext}{
- \NewRectoHeadText{\thetitle} % revised in v. 1.40.3
+ \NewRectoHeadText{\thetitle}
}{}
%
% ---------------------------------------------------------------------------
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-Images.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-Images.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-Images.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-Images.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%%
%% This file may be distributed and/or modified under the
@@ -13,7 +13,7 @@
%%
%%
\ProvidesFile{novel-Images.sty}%
-[2018/04/26 v1.52 LaTeX file (image placement)]
+[2023/02/08 v1.80 LaTeX file (image placement)]
%%
@@ -128,7 +128,7 @@
%%
-%% New in version 1.50, makecmyk script, with special syntax:
+%%
\LetLtxMacro\@scriptincludepdf\includepdf\relax
\providecommand\includepdf[2][]{}
\renewcommand\includepdf[2][]{% from package `pdfpages'
@@ -281,9 +281,8 @@
%%
-%% FLOAT IMAGE
+%% FLOAT IMAGE (centered unless offset)
%% ----------------------------------------------------------------------------
-%% New in v.1.50. \FloatImage. Centered unless offset.
% \FloatImage[floatmethod,xoffset,yoffset]{yourimagename.png} % or jpg
% This is a substitute for other floats. Does not require `float' package.
% Default: [ht,0pt,\nfs].
@@ -411,7 +410,6 @@
%% WRAP IMAGE
-%% New in v. 1.50. Wraps text around an image, with limited float support.
% This is a shim to `wrapfig' package. Since `novel' uses its own method for
% placing images, environments defined in `wrapfig' cannot be used directly.
% \WrapImage[position]{image} % default position r
@@ -435,7 +433,7 @@
%%
-%% New in version 1.52: read file bytes as plain text, for later parsing.
+%% Read file bytes as plain text, for later parsing.
% Output is comma-separated list of byte codes, decimal 0-255.
% Returns -1 if requested start is more than file size.
% Returns all bytes if requested number exceeds file size.
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-JC200103.clo
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-JC200103.clo 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-JC200103.clo 2023-02-15 22:58:53 UTC (rev 65848)
@@ -2,7 +2,7 @@
%% This is file `novel-JC200103.clo', part of `novel' document class.
%% The values of the arguments are public industry standards.
\ProvidesFile{novel-JC200103.clo}%
-[2018/01/14 any version. (novel Output Intent JC200103)]
+[2023/02/08 any version. (novel Output Intent JC200103)]
%%
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-LayoutSettings.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-LayoutSettings.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-LayoutSettings.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-LayoutSettings.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%%
%% This file may be distributed and/or modified under the
@@ -13,7 +13,7 @@
%%
%%
\ProvidesFile{novel-LayoutSettings.sty}%
-[2018/04/26 v1.52 LaTeX file (layout settings)]
+[2023/02/08 v1.80 LaTeX file (layout settings)]
%%
@@ -82,7 +82,7 @@
%%
-%% New in version 1.50: Unsafe Zone (opposite of "safe area").
+%% Unsafe Zone (opposite of "safe area").
% This feature only applies with class options `draft,shademargins'
% and does NOT apply in `coverart'.
% The purpose of margins is to confine the main text (and header/footer).
@@ -151,13 +151,12 @@
% Class options `cropview' and `closecrop' (only in draft mode)
% affect Media Size. See their descriptions below.
%
-% \SetMediaSize[<obsolete option>]{width}{height} usage:
-% The optional argument is obsolete. Anything there will be ignored.
+% \SetMediaSize{width}{height} usage:
\newif \if at MediaSize % true if \SetMediaSize rather than default = Trim Size.
-\DeclareDocumentCommand\SetMediaSize { O{} m m } {% width, height
+\DeclareDocumentCommand\SetMediaSize { m m } {% width, height
\@MediaSizetrue
- \gsetlength\paperwidth{#2}
- \gsetlength\paperheight{#3}
+ \gsetlength\paperwidth{#1}
+ \gsetlength\paperheight{#2}
}% end \SetMediaSize
%%
@@ -303,34 +302,19 @@
\ClassError{novel}{\string\mainmatter\ used more than once}%
{You issued \string\mainmatter\ more than once.}%
\fi
- \cleartorecto % added v. 1.40.1
+ \cleartorecto
\global\WithinFrontmatterfalse\global\WithinMainmattertrue
\pagenumbering{arabic}
\setcounter{page}{1}
}
%
-\def\backmatter{\@ifstar\@backmatterst\@backmatterns} % asterisk obsolete
-\def\@backmatterst{%
- \ClassWarning{novel}{^^J\string\backmatter*\ ignored. Do not use. ^^J}%
-}
-%
+\def\backmatter{\@ifstar\@backmatterst\@backmatterns}
\def\@backmatterns{%
- \cleartorecto% v. 1.40.2
+ \cleartorecto%
\typeout{^^JClass `novel' Alert: \string\backmatter\space merely %
- clears to recto. See docs. ^^J}% v. 1.42
-%
+ clears to recto. See docs. ^^J}%
}
-%
-\def\Backmatter{\@ifstar\@Backmatterst\@Backmatterns} % obsolete
-%
-\def\@Backmatterst{% continues frontmatter count w/ uppercase Roman numerals
- \ClassWarning{novel}{^^J\string\Backmatter*\ ignored. Do not use. ^^J}%
-}
-%
-\def\@Backmatterns{%
- \ClassWarning{novel}{^^J\string\Backmatter\ ignored. Do not use. ^^J}%
-}
-%
+\let\@backmatterst\@backmatterns
%% end frontmatter, mainmatter. No backmatter!
Deleted: trunk/Master/texmf-dist/tex/lualatex/novel/novel-Obsolete.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-Obsolete.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-Obsolete.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,485 +0,0 @@
-%%
-%% This is file `novel-Obsolete.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
-%%
-%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% 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.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%%
-\ProvidesFile{novel-Obsolete.sty}%
-[2018/04/26 v1.52 LaTeX file (obsolete macros)]
-%%
-
-
-%% OBSOLETE MACROS !!!
-%%
-%% Prior to version 1.50, `novel' contained some macros or features that
-%% worked but were hard to maintain, or worked in a fashion that was
-%% user-unfriendly, or was not as good as some better code.
-%% These macros have been gathered here. DO NOT USE THEM IN NEW DOCUMENTS.
-%% They have only been retained for backwards-compatibility.
-%% If you find a bug -- too bad! Anything here is "won't fix."
-%%
-
-
-%% OBSOLETE
-\gdef\SetCropmarkGap#1{} % simply ignored
-%%
-
-
-%% OBSOLETE
-\newcommand\pushtextdown[1]{% OBSOLETE
- \ifthenelse{\equal{#1}{} \OR \equal{#1}{ } \OR \equal{#1}{0}}{%
- \def\@howmuchdown{0em}%
- }{%
- \def\@howmuchdown{#1}%
- }%
- ~\par\vspace*{-\nbs}\vspace*{\@howmuchdown}\par%
-}
-%%
-
-
-%% OBSOLETE
-%% \squeeze{} and \crush{} slightly shrink the horizonal dimension of the
-% enclosed text. May span paragraphs. Emergency only! No compounding.
-\long\gdef\squeeze#1{{\addfontfeature{FakeStretch=0.99}#1}}
-\long\gdef\crush#1{{\addfontfeature{FakeStretch=0.98}#1}}
-%%
-
-
-%% OBSOLETE
-\gdef\specialblankline{\null} % deprecated
-%%
-
-
-%% OBSOLETE.
-%%Replaced by better method. Will be honored, but not documented.
-\newcommand\TestCoverImage[1]{%
- \@tempTFfalse%
- \IfSubStr{#1}{jpg}{\@tempTFtrue}{}%
- \IfSubStr{#1}{jpeg}{\@tempTFtrue}{}%
- \IfSubStr{#1}{JPG}{\@tempTFtrue}{}%
- \IfSubStr{#1}{JPEG}{\@tempTFtrue}{}%
- \IfSubStr{#1}{png}{%
- \@tempTFtrue
- \if at pdfxISoff\else
- \ifthenelse{\equal{\@PDFversion}{PDF/X-1}}{
- \ClassError{novel}{Cannot use png cover image with PDF/X-1a}%
- {PDF/X-1a requires CMYK image. But png format is always RGB.}%
- }{}
- \fi
- \ClassWarning{novel}{^^JCover image is png file type. ^^J%
- Format png only supports RGB, not CMYK. ^^J%
- This might be OK if you are not using PDF/X-1a, ^^J%
- and if your print service accepts RGB artwork. ^^J%
- But in many cases, not OK. Did you need CMYK? ^^J}%
- }{}%
- \IfSubStr{#1}{PNG}{%
- \@tempTFtrue
- \if at pdfxISoff\else
- \ifthenelse{\equal{\@PDFversion}{PDF/X-1}}{
- \ClassError{novel}{Cannot use png cover image with PDF/X-1a}%
- {PDF/X-1a requires CMYK image. But png format is always RGB.}%
- }{}
- \fi
- \ClassWarning{novel}{^^JCover image is png file type. ^^J%
- Format png only supports RGB, not CMYK. ^^J%
- This might be OK if you are not using PDF/X-1a, ^^J%
- and if your print service accepts RGB artwork. ^^J%
- But in many cases, not OK. Did you need CMYK? ^^J}%
- }{}%
- \if at tempTF\else%
- \ClassError{novel}{Cover image has wrong file extension}%
- {Cover image must be jpg, JPG, jpeg, JPEG. ^^J%
- Can also use png or PNG if CMYK not required.}%
- \fi%
-} % end \TestCoverImage
-%%
-\newcommand\SetCoverImage[1]{%
- \if at coverart%
- \ClassWarning{novel}{^^J\string\SetCoverImage\space is obsolete. ^^J%
- It will be honored, but not documented. From `novel' version 1.50 use ^^J%
- novel-scripts, then \ScriptCoverImage\space instead. ^^J}%
- \TestCoverImage{#1}%
- \AddToShipoutPictureBG{%
- \AtPageUpperLeft{%
- \InlineImage{#1}%
- }%
- }%
- \null% without this, page has no "content"
- \else%
- \ClassError{novel}{\string\SetCoverImage\space requires `coverart' option}%
- {You must use the `coverart' document class option, for cover image.}%
- \fi%
-} % end \SetCoverImage
-%%
-
-
-%% OBSOLETE
-\newif \if at FlexResolutionSet
-\gdef\@novereserror{%
- \ClassError{novel}{\string\SetFlexResolution\space bad value}%
- {Resolution dpi must be integer from 200 to 9600. Default 300.}%
-}
-\newcommand\SetFlexResolution[1]{
- \IfInteger{#1}{ %
- \FPiflt{#1}{200}\@novereserror\else\fi % not enough
- \FPifgt{#1}{9600}\@novereserror\else\fi % too much
- \gdef\@novimgres{#1} %
- }{ %
- \@novreserror %
- } %
- \@FlexResolutionSettrue %
-}%
-%
-\AtEndPreamble{% called by `novel.cls' \AtEndPreamble
- \if at FlexResolutionSet %
- \pdfimageresolution=\@novimgres % from \SetFlexResolution. Default 300.
- \fi %
-}%
-%%
-
-
-%% BLOCK IMAGE (OBSOLETE)
-%% ----------------------------------------------------------------------------
-%% \BlockImage[alignment]{image}[text]
-%% OBSOLETE FROM VERSION 1.50. Use \FloatImage instead.
-\DeclareDocumentCommand \BlockImage { O{c} m +O{} }{%
- \ClassWarning{novel}{^^J\string\BlockImage\space command is obsolete. ^^J%
- It will remain in effect for existing documents that have it. ^^J%
- New documents: Use \string\FloatImage, or \string\WrapImage, instead. ^^J%
- Purpose and syntax is slightly different. See docs. ^^J}%
- \iftoggle{@inheadfoot}{%
- \ClassError{novel}{Cannot use \string\BlockImage\space in header/footer}%
- {Header footer allow \string\InlineImage, but not \string\BlockImage.}%
- }{}%
- \@TestImageExtension{#2}%
- % Allows empty or blank to be used, and still provide default values:
- \ifthenelse{\equal{#1}{} \OR \equal{#1}{\space}}{%
- \def\@myargs{c}}{\def\@myargs{#1}%
- }%
- \StrDel{\@myargs}{\space}[\@myargsns]% needs {\space} not { }
- \StrCut{\@myargsns}{,}{\@myalign}{\@mycoord}%
- \StrCut{\@mycoord}{,}{\@myxt}{\@myyt}%
- \ifthenelse{\equal{\@myxt}{}\OR\equal{\@myxt}{0}}{%
- \def\@myx{0pt}}{\def\@myx{\@myxt}%
- }%
- \ifthenelse{\equal{\@myyt}{}\OR\equal{\@myyt}{0}}{%
- \def\@myy{0pt}}{\def\@myy{\@myyt}%
- }%
- %
- \global\@UsingNovelCommandtrue%
- \gdef\@mygraphic{\novel at sub@inclgr{#2}}%
- \gdef\@mygraphicname{#2}%
- \setlength\@imagewidth{\widthof{\@mygraphic}}%
- \global\@imagewidth=\@imagewidth%
- \setlength\@imageheight{\heightof{\@mygraphic}}%
- \global\@imageheight=\@imageheight%
- \setlength\@imagehoffset{\@myx}%
- \IfBeginWith{\@myy}{b}{%
- \ClassError{novel}{Cannot use voffset `b' on %
- \string\BlockImage, page \thepage}%
- {The `b' voffset only works with \string\InlineImage, %
- not \string\BlockImage.}%
- }{%
- \setlength\@imagevoffset{-\@imageheight}%
- \addtolength\@imagevoffset{\@myy}%
- }%
- %
- \setlength\@mytotalht{0pt}%
- \addtolength\@mytotalht{\@imageheight}%
- \addtolength\@mytotalht{-\@myy}%
- \addtolength\@mytotalht{1em}%
- \def\@mytotalhtN{\strip at pt\@mytotalht}%
- \FPdiv{\@mytotalhtN}{\@mytotalhtN}{\strip at pt\nbs}%
- \FPadd{\@mytotalhtN}{\@mytotalhtN}{0.5}%
- \FPround{\@mytotalhtN}{\@mytotalhtN}{0}%
- %
- \begin{linegap}{\@mytotalhtN}%
- %
- \ifthenelse{\equal{\@myalign}{c}\OR\equal{\@myalign}{}}{%
- {\centering%
- \makebox[0pt][l]{%
- \hspace{\dimexpr\@myx-0.5\@imagewidth}%
- \stake\smash{\raisebox{\dimexpr\@myy-\@imageheight}{\@mygraphic}}%
- }%
- \par%
- }
- \vspace*{-\nbs}%
- {\centering #3\par}%
- }{}%
- \ifthenelse{\equal{\@myalign}{r}}{%
- \noindent\makebox[0pt][l]{%
- \hspace{\dimexpr\textwidth+\@myx-\@imagewidth}%
- \stake\smash{\raisebox{\dimexpr\@myy-\@imageheight}{\@mygraphic}}%
- }\par%
- \vspace{-2\nbs}%
- \begin{adjustwidth}{0pt}{\@imagewidth+\parindent}%
- \strut\par%
- #3\par%
- \end{adjustwidth}%
- }{}%
- \ifthenelse{\equal{\@myalign}{l}}{%
- \noindent\makebox[0pt][l]{%
- \hspace{\@myx}%
- \stake\smash{\raisebox{\dimexpr\@myy-\@imageheight}{\@mygraphic}}%
- }%
- \par%
- \vspace{-2\nbs}%
- \begin{adjustwidth}{\@imagewidth+\parindent}{0pt}%
- \strut\par%
- #3\par%
- \end{adjustwidth}%
- }{}%
- \end{linegap}%
- \global\@UsingNovelCommandfalse%
-} % end \BlockImage (OBSOLETE)
-%%
-
-
-%% LINEGAP IS OBSOLETE CODE. NOT DOCUMENTED.
-%% ----------------------------------------------------------------------------
-% Allows text to be placed (potentially) off-grid, with grid resuming after.
-\newif \if at WithinLinegap % true within linegap environment
-\newcounter{currentlinegap} % 0 when not within linegap, >0 otherwise.
-\DeclareDocumentEnvironment {linegap} { m } {%
- \FPifint{#1}\else%
- \ClassError{novel}{Non-integer linegap on page \thepage}%
- {Only integer >= 1 allowed for linegap.}%
- \fi%
- \FPiflt{#1}{1}%
- \ClassError{novel}{Insufficient linegap on page \thepage}%
- {Only integer >= 1 allowed for linegap.}%
- \fi%
- \par%
- \null%
- \vspace*{-\nbs}%
- \global\@WithinLinegaptrue%
- \begin{textblock*}{\textwidth}[0,0](0pt,0pt)%
- \setcounter{currentlinegap}{#1}
- \strut\par%
- \vspace*{-\nbs}%
-}{% close the environment:
- \end{textblock*}%
- \global\@WithinLinegapfalse%
- \par%
- \vspace*{#1\nbs}%
- \setcounter{currentlinegap}{0}%
-} % end linegap (obsolete)
-%%
-
-
-%% REWORK IS OBSOLETE CODE. NOT DOCUMENTED.
-%% ----------------------------------------------------------------------------
-%% \ReworkTrimSize retroactively changes Trim Size after layout.
-% If you use \ReworkTrimSize, you must first use \SetTrimSize (not defaults):
-\newlength\@NewTrimWidth
-\newlength\@NewTrimHeight
-\newif \if at ReworkTrimSize
-\newcommand\ReworkTrimSize[2]{% width, height
- \ClassWarning{novel}{\string\Rework\space commands are obsolete. ^^J%
- The \string\Rework\space commands are still effective for old documents, ^^J%
- but should not be used for new documents, due to potential layout issues.}%
- \if at SetTrimSize\else
- \ClassError{novel}{Must use \string\SetTrimSize\space %
- before \string\ReworkTrimSize}%
- {\string\ReworkTrimSize\space cannot be applied to default Trim Size. ^^J%
- You must manually \string\SetTrimSize\space prior to %
- \string\ReworkTrimSize.}%
- \fi
- \if at coverart % New in version 1.2
- \ClassError{novel}{\string\Rework\space commands cannot be used %
- with `coverart' option}%
- {Instead of \string\Rework, you must re-do the graphics artwork.}
- \else
- \global\@ReworkTrimSizetrue
- \gsetlength\@NewTrimWidth{#1}
- \gsetlength\@NewTrimHeight{#2}
- \typeout{^^J Class `novel' Alert: %
- Used \string\ReworkTrimSize\space command. ^^J%
- Carefully review your PDF to ensure that line breaks, paragraphs, ^^J%
- and page breaks are where you expect them to be. ^^J}%
- \fi
-}% end \ReworkTrimSize
-%%
-
-
-%% REWORK IS OBSOLETE CODE. NOT DOCUMENTED.
-%% Retroactively change margins after layout. See documentation.
-% If you use \ReworkMargins, you must first use \SetMargins (not defaults):
-\newlength\@NewTopMargin
-\newlength\@NewOuterMargin
-\newlength\@NewBottomMargin
-\newlength\@NewInnerMargin
-\newif \if at ReworkMargins
-\newcommand\ReworkMargins[4]{ % top, outer, bottom, inner
- \ClassWarning{novel}{\string\Rework\space commands are obsolete. ^^J%
- The \string\Rework\space commands are still effective for old documents, ^^J%
- but should not be used for new documents, due to potential layout issues.}%
- \if at coverart % New in version 1.2
- \ClassError{novel}{\string\Rework\space commands cannot be used %
- with coverart option}%
- {Instead of \string\Rework, you must re-do the graphics artwork.}
- \else
- \global\@ReworkMarginstrue
- \gsetlength\@NewTopMargin{#1}
- \gsetlength\@NewOuterMargin{#2}
- \gsetlength\@NewBottomMargin{#3}
- \gsetlength\@NewInnerMargin{#4}
- \typeout{^^JClass novel Alert: Used \string\ReworkMargins. ^^J%
- Carefully review your PDF to ensure that line breaks, paragraphs, ^^J%
- and page breaks are where you expect them to be. ^^J}%
- \fi
-}% end \ReworkMargins
-\LetLtxMacro\ReworkMargin{\ReworkMargins}\relax % for those who mis-type
-%% When \Rework, should result honor new margins (if possible), or should
-% result maintain original aspect ratio?
-\newif \if at AspectPriority
-\newcommand\ReworkPriority[1]{%
- \@tempTFfalse
- \ifthenelse{\equal{#1}{aspect}}{\@AspectPrioritytrue\@tempTFtrue}{}
- \ifthenelse{\equal{#1}{margins}}{\@AspectPriorityfalse\@tempTFtrue}{}
- \ifthenelse{\equal{#1}{margin}}{\@AspectPriorityfalse\@tempTFtrue}{}
- \if at tempTF\else
- \ClassError{novel}{Bad choice for \string\ReworkPriority}%
- {Rework priority choices: aspect, margins (default margins).}%
- \fi
-}
-\ReworkPriority{margins} % default
-%%
-
-
-%% REWORK IS OBSOLETE CODE. NOT DOCUMENTED.
-\gdef\ObsoleteRework{ %
-% A few values from the original calculation must be stored:
-\newlength\@OriginalEmSize
- \gsetlength\@OriginalEmSize{\@SetFontSize}
-\newlength\@OriginalTextWidth % same as original available width
- \gsetlength\@OriginalTextWidth{\textwidth}
-\newlength\@OriginalHeight % includes header/footer
- \gsetlength\@OriginalHeight{\@AvailableHeight}
-\newlength\@OriginalBaselineSkip
- \gsetlength\@OriginalBaselineSkip{\baselineskip}
-% Change the values of trim size and margins, as requested.
-% If not changed, same as before:
-\if at ReworkTrimSize
- \gsetlength\@TrimWidth{\@NewTrimWidth}
- \gsetlength\@TrimHeight{\@NewTrimHeight}
-\fi
-\if at ReworkMargins
- \gsetlength\@TopMargin{\@NewTopMargin}
- \gsetlength\@OuterMargin{\@NewOuterMargin}
- \gsetlength\@BottomMargin{\@NewBottomMargin}
- \gsetlength\@InnerMargin{\@NewInnerMargin}
-\fi
-% Re-calculate:
-\gsetlength\@AvailableWidth{\@TrimWidth-\@OuterMargin-\@InnerMargin}
-\gsetlength\@AvailableHeight{\@TrimHeight-\@TopMargin-\@BottomMargin}
-%%
-\xdef\@TWratio{\fpeval{\@AvailableWidth/\@OriginalTextWidth}}
-\xdef\@THratio{\fpeval{\@AvailableHeight/\@OriginalHeight}}
-\FPmin{\@TMratio}{\@TWratio}{\@THratio}
-%%
-\if at AspectPriority
- \gsetlength\textwidth{\@TMratio\@OriginalTextWidth}
- \gsetlength\@SetFontSize{\@TMratio\@OriginalEmSize}
- \gsetlength\baselineskip{\@TMratio\@OriginalBaselineSkip}
- % Find whether limiting factor is width or height:
- \ifnumcomp{\@TWratio}{<}{\@THratio}{%
- \setlength\@tempLength{\@AvailableHeight-\@AdjLPP\baselineskip}
- \setlength\@tempLength{\@tempLength-\baselineskip+\@SetFontSize}
- \setlength\@tempLength{0.5\@tempLength}
- \gsetlength{\@TopMargin}{\@TopMargin+\@tempLength}
- \gsetlength{\@BottomMargin}{\@BottomMargin+\@tempLength}
- \FPround{\@tempN}{\strip at pt\@tempLength}{2}
- \setlength\@tempLength{\@tempN pt}
- \FPround{\@tempN}{\@TMratio}{4}
- \typeout{^^JClass `novel' Info: Rework preserving aspect ratio. ^^J Each%
- vertical margin \the\@tempLength\space over requested rework value. ^^J%
- Scale \@tempN\space applied to text size and baselineskip. ^^J%
- } %
- }{%
- \gsetlength\@OuterMargin{\@OuterMargin+0.5\@AvailableWidth-0.5\textwidth}
- \gsetlength\@InnerMargin{\@InnerMargin+0.5\@AvailableWidth-0.5\textwidth}
- \setlength\@tempLength{0.5\@AvailableWidth-0.5\textwidth}
- \FPround{\@tempN}{\strip at pt\@tempLength}{2}
- \setlength\@tempLength{\@tempN pt}
- \FPround{\@tempN}{\@TMratio}{4}
- \typeout{^^JClass `novel' Info: Rework preserving aspect ratio. ^^J%
- Each side margin \the\@tempLength\space over requested rework value. ^^J%
- Scale \@tempN\space applied to text size and baselineskip. ^^J%
- } %
- } % end \ifnumcomp
-\else % margins priority:
- % Discover what happens if scaled according to text width:
- \gsetlength\textwidth{\@AvailableWidth}
- \gsetlength\@SetFontSize{\@TWratio\@OriginalEmSize}
- \gsetlength\baselineskip{1.2\@SetFontSize} % test for least allowable
- \setlength\@tempLength{\@AdjLPP\baselineskip}
- \ifdimcomp{\@AvailableHeight-\@tempLength}{<}{0pt}{%
- % Will not fit vertically, so will need to re-scale \@SetFontSize.
- \gsetlength\@SetFontSize{\@OriginalEmSize}
- \gsetlength\baselineskip{\fpeval{\@AvailableHeight/(\@AdjLPP+1.3)}pt}
- \FPdiv\@THratio{\strip at pt\baselineskip}{\strip at pt\@OriginalBaselineSkip}
- \gsetlength\@SetFontSize{0.8333\baselineskip} % 0.8333 = 1/1.2, tight skip
- \FPdiv{\@tempN}{\strip at pt\@SetFontSize}{\strip at pt\@OriginalEmSize}
- \gsetlength\textwidth{\@tempN\@OriginalTextWidth}
- \gsetlength\@OuterMargin{%
- 0.5\@OuterMargin+0.5\@TrimWidth-0.5\@InnerMargin-0.5\textwidth%
- }
- \gsetlength\@InnerMargin{%
- 0.5\@InnerMargin+0.5\@TrimWidth-0.5\@OuterMargin-0.5\textwidth%
- }
- \FPround{\@ActualOuterN}{\strip at pt\@OuterMargin}{2}
- \FPround{\@ActualInnerN}{\strip at pt\@InnerMargin}{2}
- \FPmul{\@TWratio}{\@TWratio}{\@THratio}
- \FPmul{\@THratio}{\@TWratio}{1.2}
- \FPround{\@TWratio}{\@TWratio}{4}
- \FPround{\@THratio}{\@THratio}{4}
- \typeout{^^JClass `novel' Info: Reworked side margins enlarged. ^^J%
- Actual Outer Margin is now \@ActualOuterN pt. ^^J%
- Actual Inner Margin is now \@ActualInnerN pt. ^^J%
- Scale \@TWratio\space applied to text, ^^J%
- \@THratio\space applied to baselineskip. ^^J%
- } %
- }{% Fits vertically. Keep \@SetFontSize. Calculate \baselineskip to fit:
- \gsetlength\baselineskip{%
- \fpeval{(\@AvailableHeight-1.3*\@SetFontSize)/\@AdjLPP}pt%
- } %
- \FPdiv{\@BLratio}{\strip at pt\baselineskip}{\strip at pt\@OriginalBaselineSkip}
- \FPround{\@BLratio}{\@BLratio}{4}
- \FPround{\@TWratio}{\@TWratio}{4}
- \typeout{^^JClass `novel' Info: Rework was able to fit new margins. ^^J%
- Scale applied to font size: \@TWratio. ^^J%
- Scale applied to baselineskip: \@BLratio. ^^J%
- } %
- }% end \ifdimcomp.
-\fi
-} % end ObsoleteRework.
-%%
-
-
-%%
-\AtBeginDocument{%
- \LetLtxMacro\ReworkTrimSize\relax
- \LetLtxMacro\ReworkMargins\relax
- \LetLtxMacro\ReworkPriority\relax
- \LetLtxMacro\SetFlexResolution\relax % cannot use past Preamble
- \providecommand\acronym[1]{\midcase{#1}}% acronym deprecated
-} %
-%%
-
-
-
-%%
-\endinput
-%%
-%% End of file `novel-Obsolete.sty'.
-
-
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-PostLayout.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-PostLayout.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-PostLayout.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-PostLayout.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -12,7 +12,7 @@
%%
%%
\ProvidesFile{novel-PostLayout.sty}%
-[2018/04/26 v1.52 LaTeX file (post-layout modifications)]
+[2023/02/08 v1.80 LaTeX file (post-layout modifications)]
%%
%%
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-Sandbox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-Sandbox.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-Sandbox.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-Sandbox.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%% Material extracted from `article.cls', a LaTeX document class.
%% Copyright 1993-2016
@@ -17,7 +17,7 @@
%%
%%
\ProvidesFile{novel-Sandbox.sty}%
-[2018/04/26 v1.52 LaTeX file (used only with sandbox class option)]
+[2023/02/08 v1.80 LaTeX file (used only with sandbox class option)]
%%
%%
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-TextMacros.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-TextMacros.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%%
%% This file may be distributed and/or modified under the
@@ -13,7 +13,7 @@
%%
%%
\ProvidesFile{novel-TextMacros.sty}%
-[2018/04/26 v1.52 LaTeX file (text macros usable within document body)]
+[2023/02/08 v1.80 LaTeX file (text macros usable within document body)]
%%
@@ -60,7 +60,6 @@
%% ----------------------------------------------------------------------------
%%
-% New in version 1.38, \straightquote and \straightdblquote:
\gdef\straightquote{{\addfontfeature{Ligatures=ResetAll}'}}
\gdef\straightdblquote{{\addfontfeature{Ligatures=ResetAll}"}}
%%
@@ -298,7 +297,7 @@
%%
-%% Environment parascale. Scales one or more paragraphs. Modified in v. 1.52.
+%% Environment parascale. Scales one or more paragraphs.
% Warns when (as is often the case) the line after \end{parascale}
% will be off grid. Then, add some \vspace just before \end{parascale}.
\newenvironment{parascale}[1][1]{% optional argument is scale, default 1.
@@ -496,7 +495,7 @@
%%
-%% New in version 1.50: two columns, cannot cross page break.
+%% Two columns, cannot cross page break.
%% \sidebyside[a,b,c,d]{column 1 content}{column 2 content} % a,b,c,d lengths
% a = left margin to left edge of left column (left indent)
% b = left margin to right edge of left column ( = a + column width)
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-microtype.cfg 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-microtype.cfg', part of `novel' document class.
-%% Modified from file `microtype.cfg' by Robert Allgeyer, 2017-2018.
+%% Modified from file `microtype.cfg' by Robert Allgeyer, 2017-2023.
%%
%% Original notice from `microtype.cfg' follows.
%% Same license for `novel-microtype.cfg'.
@@ -19,7 +19,7 @@
%% ------------------------------------------------------------------------
%%
\ProvidesFile{novel-microtype.cfg}%
-[2018/01/14 any version. (default microtype configuration for novel class)]
+[2023/02/08 any version. (default microtype configuration 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 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-pdfx.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-pdfx.sty', part of `novel' document class.
-%% Copyright (c) 2017-2018 Robert Allgeyer.
+%% Copyright (c) 2017-2023 Robert Allgeyer.
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -21,7 +21,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{novel-pdfx.sty}%
-[2018/04/26 v1.52 LaTeX file (PDF/X support for novel class)]
+[2023/02/08 v1.80 LaTeX file (PDF/X support for novel class)]
% This package supports, and is part of, class `novel'.
% No support for anything but LuaLaTeX.
@@ -157,7 +157,7 @@
/TrimBox[\@myTWorigin\space\@myTHorigin\space\@myTWcorner\space\@myTHcorner]%
}
%
-% New in version 1.2: BleedBox, only for cover art. Same size as MediaBox.
+% BleedBox, only for cover art. Same size as MediaBox.
\newcommand\novel at BleedBox{%
\if at coverart%
/BleedBox[0\space0\space\@myMWN\space\@myMHN]%
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel-xmppacket.sty 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,6 @@
%%
%% This is file `novel-xmppacket.sty', part of `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer.
+%% Copyright 2017-2023 Robert Allgeyer.
%%
%%
%% This file may be distributed and/or modified under the
@@ -22,7 +22,7 @@
%%
%%
\ProvidesFile{novel-xmppacket.sty}%
-[2018/01/14 any version. (novel XMP packet template)]
+[2023/02/08 any version. (novel XMP packet template)]
%%
@@ -96,81 +96,6 @@
\pad at viii xmlns:pdfxid="http://www.npes.org/pdfx/ns/id/">^^J
\@pdfidString
\pad at iv</rdf:Description>^^J
-\pad at iv<rdf:Description rdf:about=""^^J
-\pad at viii xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"^^J
-\pad at viii xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#"^^J
-\pad at viii xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#">^^J
-\pad at vi<pdfaExtension:schemas>^^J
-\pad at viii<rdf:Bag>^^J
-\pad at x<rdf:li rdf:parseType="Resource">^^J
-\pad at xii<pdfaSchema:namespaceURI>http://ns.adobe.com/pdf/\@pdfVersion/</pdfaSchema:namespaceURI>^^J
-\pad at xii<pdfaSchema:prefix>pdf</pdfaSchema:prefix>^^J
-\pad at xii<pdfaSchema:schema>Adobe PDF Schema</pdfaSchema:schema>^^J
-\pad at xii<pdfaSchema:property>^^J
-\pad at xiv<rdf:Seq>^^J
-\pad at xvi<rdf:li rdf:parseType="Resource">^^J
-\pad at xviii<pdfaProperty:category>internal</pdfaProperty:category>^^J
-\pad at xviii<pdfaProperty:description>A name object indicating whether the document has been modified to include trapping information</pdfaProperty:description>^^J
-\pad at xviii<pdfaProperty:name>Trapped</pdfaProperty:name>^^J
-\pad at xviii<pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J
-\pad at xvi</rdf:li>^^J
-\pad at xiv</rdf:Seq>^^J
-\pad at xii</pdfaSchema:property>^^J
-\pad at x</rdf:li>^^J
-\pad at x<rdf:li rdf:parseType="Resource">^^J
-\pad at xii<pdfaSchema:namespaceURI>http://ns.adobe.com/pdfx/\@pdfVersion/</pdfaSchema:namespaceURI>^^J
-\pad at xii<pdfaSchema:prefix>pdfx</pdfaSchema:prefix>^^J
-\pad at xii<pdfaSchema:schema>PDF/X ID Schema</pdfaSchema:schema>^^J
-\pad at xii<pdfaSchema:property>^^J
-\pad at xiv<rdf:Seq>^^J
-\pad at xvi<rdf:li rdf:parseType="Resource">^^J
-\pad at xviii<pdfaProperty:category>internal</pdfaProperty:category>^^J
-\pad at xviii<pdfaProperty:description>ID of PDF/X standard</pdfaProperty:description>^^J
-\pad at xviii<pdfaProperty:name>GTS_PDFXVersion</pdfaProperty:name>^^J
-\pad at xviii<pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J
-\pad at xvi</rdf:li>^^J
-\pad at xvi<rdf:li rdf:parseType="Resource">^^J
-\pad at xviii<pdfaProperty:category>internal</pdfaProperty:category>^^J
-\pad at xviii<pdfaProperty:description>Conformance level of PDF/X standard</pdfaProperty:description>^^J
-\pad at xviii<pdfaProperty:name>GTS_PDFXConformance</pdfaProperty:name>^^J
-\pad at xviii<pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J
-\pad at xvi</rdf:li>^^J
-\pad at xiv</rdf:Seq>^^J
-\pad at xii</pdfaSchema:property>^^J
-\pad at x</rdf:li>^^J
-\pad at x<rdf:li rdf:parseType="Resource">^^J
-\pad at xii<pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI>^^J
-\pad at xii<pdfaSchema:prefix>xmpMM</pdfaSchema:prefix>^^J
-\pad at xii<pdfaSchema:schema>XMP Media Management Schema</pdfaSchema:schema>^^J
-\pad at xii<pdfaSchema:property>^^J
-\pad at xiv<rdf:Seq>^^J
-\pad at xvi<rdf:li rdf:parseType="Resource">^^J
-\pad at xviii<pdfaProperty:category>internal</pdfaProperty:category>^^J
-\pad at xviii<pdfaProperty:description>UUID based identifier for specific incarnation of a document</pdfaProperty:description>^^J
-\pad at xviii<pdfaProperty:name>InstanceID</pdfaProperty:name>^^J
-\pad at xviii<pdfaProperty:valueType>URI</pdfaProperty:valueType>^^J
-\pad at xvi</rdf:li>^^J
-\pad at xiv</rdf:Seq>^^J
-\pad at xii</pdfaSchema:property>^^J
-\pad at x</rdf:li>^^J
-\pad at x<rdf:li rdf:parseType="Resource">^^J
-\pad at xii<pdfaSchema:namespaceURI>http://www.npes.org/pdfx/ns/id/</pdfaSchema:namespaceURI>^^J
-\pad at xii<pdfaSchema:prefix>pdfxid</pdfaSchema:prefix>^^J
-\pad at xii<pdfaSchema:schema>PDF/X ID Schema</pdfaSchema:schema>^^J
-\pad at xii<pdfaSchema:property>^^J
-\pad at xiv<rdf:Seq>^^J
-\pad at xvi<rdf:li rdf:parseType="Resource">^^J
-\pad at xviii<pdfaProperty:category>internal</pdfaProperty:category>^^J
-\pad at xviii<pdfaProperty:description>ID of PDF/X standard</pdfaProperty:description>^^J
-\pad at xviii<pdfaProperty:name>GTS_PDFXVersion</pdfaProperty:name>^^J
-\pad at xviii<pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J
-\pad at xvi</rdf:li>^^J
-\pad at xiv</rdf:Seq>^^J
-\pad at xii</pdfaSchema:property>^^J
-\pad at x</rdf:li>^^J
-\pad at viii</rdf:Bag>^^J
-\pad at vi</pdfaExtension:schemas>^^J
-\pad at iv</rdf:Description>^^J
\pad at ii</rdf:RDF>^^J
</x:xmpmeta>^^J
\pad at dxii
Modified: trunk/Master/texmf-dist/tex/lualatex/novel/novel.cls
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/novel/novel.cls 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/texmf-dist/tex/lualatex/novel/novel.cls 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1,6 +1,7 @@
%%
%% This is file `novel.cls', LuaLaTeX `novel' document class.
-%% Copyright 2017-2018 Robert Allgeyer. Contact: anytthree [at] gmail.com
+%% Copyright 2017-2023 Robert Allgeyer.
+%% Contact: Username `rallg' on GitHub and stackexchange. `RobtAll' on CTAN.
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -13,26 +14,9 @@
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
% Actually needs LuaLaTeX, at least version 0.95 from TeXLive 2016.
-\ProvidesClass{novel}[2018/04/26 v1.52 LaTeX document class]
+\ProvidesClass{novel}[2023/02/08 v1.80 LaTeX document class]
%%
-%% Version 1.50.n (any n) incremental minor changes from 1.50.
-%% Version 1.50: Improved image handled, sandbox, scripts.
-%% Version 1.46.2: Now called "novel-old" version.
-%% Version 1.43: General cleanup of docs and code, for improved readbaility.
-%% Version 1.42: Greatly improved HTML documentation.
-%% Version 1.41: Improved HTML documentation.
-%% Versions 1.40.x: Incremental minor changes, leading to 1.42.
-%% Version 1.40: removed `debug' option (was not useful). Major docs rewrite.
-%% 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.
-%% Version 1.2: Added capability for cover artwork.
-%% Versions 1.1.x: First general release, occasional documentation changes.
+%% Version 1.80: Minor changes. Class option `revert' for 1.5.2 behavior.
%% DESCRIPTION:
@@ -54,9 +38,8 @@
%% Fonts are loaded by luaotfload and fontspec, and massaged by microtype.
%% For best results, use modern Open Type fonts, or TrueType fonts.
%%
-%% The Libertinus font family, a fork of [Linux] Libertine/Biolinum,
-%% is the default. Actually, I recommend it! In addition, an included
-%% custom font, NovelDeco.otf, is used for special purposes.
+%% The Libertinus font family, fork of [Linux] Libertine/Biolinum, is default.
+%% An included custom font, NovelDeco.otf, is used for special purposes.
%%
@@ -73,7 +56,8 @@
\pdfvariable suppressoptionalinfo 511 % writes only ID to PDF Catalog
\else
\ClassError{novel}{Must compile with LuaLaTeX 0.95+}%
- {Sorry, LuaLaTeX only. No pdfTeX, dvips, or XeTeX.}
+ {Sorry, LuaLaTeX only. No pdfTeX, dvips, or XeTeX.^^J%
+ Command line: lualatex your-document.tex}
\fi
\pdfimageresolution=300 % default dpi if image does not say
%
@@ -106,7 +90,6 @@
% with suitable arguments, when the time comes:
% fontspec -- in novel-LayoutSettings.sty
% unicode-math -- in novel-LayoutSettings.sty
-% polyglossia -- in novel-LayoutSettings.sty
% microtype -- in novel-Fonts.sty
% hyperref -- in novel-pdfx.sty
% fancyhdr -- in novel.HeadFootStyles.sty
@@ -138,12 +121,13 @@
%% ----------------------------------------------------------------------------
% Allowed option list:
% draft xml shademargins cropmarks cropview closecrop
-% coverart sandbox unblock mtoff polyoff test
+% coverart sandbox unblock mtoff test revert
% 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]
+\StrDel{\@mycol}{revert}[\@mycol]
\StrDel{\@mycol}{draft}[\@mycol]
\StrDel{\@mycol}{xml}[\@mycol]
\StrDel{\@mycol}{shademargins}[\@mycol]
@@ -155,7 +139,6 @@
\StrDel{\@mycol}{coverart}[\@mycol]
\StrDel{\@mycol}{unblock}[\@mycol]
\StrDel{\@mycol}{mtoff}[\@mycol]
-\StrDel{\@mycol}{polyoff}[\@mycol]
\StrDel{\@mycol}{test}[\@mycol]
\StrDel{\@mycol}{sandbox}[\@mycol]
%
@@ -162,13 +145,13 @@
\ifthenelse{\equal{\@mycol}{}}{}{
\ClassWarning{novel}{^^JUnrecognized class option: \@mycol. ^^J%
The unrecognized option was ignored! ^^J%
- If `debug' it is obsolete from v.1.40. ^^J%
Note that font size, document size, and language ^^J%
are not `novel' class options. See documentation. ^^J}%
}
+% Version 1.80 has minor tweaks. Option `revert' for version 1.52 behavior.
+\newif \if at novrevert
+\DeclareOption{revert}{\@novreverttrue}
% If used, option `draft' shows overflow rule.
-% Prior to v. 1.46.1, the following was \if at useDraftMode.
-% Changed for possible compatibility with packages that detect draft mode.
\newif \ifdraftdoc
\setlength\overfullrule{0pt}
\DeclareOption{draft}{
@@ -192,7 +175,7 @@
\DeclareOption{shademargins}{\@shademarginstrue}
%
\newif \if at graytext % remains here for backwards compatibility
-\@graytexttrue % from v.1.50 always true, no longer an option.
+\@graytexttrue % Always true.
%
% Usually you do NOT want crop (trim) marks!
\newif \if at cropmarks
@@ -211,12 +194,11 @@
% it has no hyperlinks and is missing some features that an e-book should have.
\newif \if at closecrop
\DeclareOption{closecrop}{\@cropviewtrue\@closecroptrue}
-% 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.
+% Option coverart. Intended purpose is PDF/X for novel cover.
\newif \if at coverart
\DeclareOption{coverart}{\@coverarttrue}
-% New in version 1.34: unblock option, for developer use only.
+% Option unblock, for developer use only.
% Normally, a number of packages known to be incompatible with `novel'
% are blocked from loading. If the user tries to get them via \usepackage
% or \RequirePackage, or if they are called within some other loaded package,
@@ -224,20 +206,15 @@
% and allows incompatible packages to load. Use only at own risk!
\newif \if at novelunblock % For developer use.
\DeclareOption{unblock}{\@novelunblocktrue}
-% New in version 1.44: mtoff option, primarily for developer use.
+% Option mtoff. 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}
-% New in version 1.46: test option, primarily for developer use.
+% Option test. Primarily for developer use.
\newif \if at testsuite
\DeclareOption{test}{\@testsuitetrue}
%
-% New in version 1.50: sandbox option, for artwork and tables. Max 4 pages.
+% Option sandbox. for artwork and tables. Max 4 pages.
\newif \if at sandbox
\DeclareOption{sandbox}{\@sandboxtrue}
%
@@ -356,20 +333,11 @@
\RequirePackage{novel-LayoutSettings}
-%% Polyglossia.
+%% Language support.
%% ----------------------------------------------------------------------------
-% Language-specific settings:
-\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.
- \setdefaultlanguage[variant=american]{english} % may be changed by user
-\fi
-%% end polyglossia
+\RequirePackage{polyglossia}
+\setdefaultlanguage[variant=american]{english} % may be changed by user
+%% end language support.
%% Additional Macros, Loaded in Preamble.
@@ -376,7 +344,6 @@
%% ----------------------------------------------------------------------------
\RequirePackage{novel-Fonts} % font settings and defaults
\if at coverart\else\RequirePackage{lipsum}\fi % generates dummy text for examples
-%% New in version 1.50:
\RequirePackage{novel-DropCap}
% Macros for use in document body:
\RequirePackage{novel-TextMacros}
@@ -390,8 +357,6 @@
\RequirePackage{novel-Images}
% Footnotes and endnotes:
\RequirePackage{novel-Footnotes}
-% Obsolete code. Do not use in new documents:
-\RequirePackage{novel-Obsolete}
%%
Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds 2023-02-15 22:44:14 UTC (rev 65847)
+++ trunk/Master/tlpkg/libexec/ctan2tds 2023-02-15 22:58:53 UTC (rev 65848)
@@ -1741,6 +1741,7 @@
'musixtex' => '&POSTmusixtex',
'musixtnt' => '&POSTmusixtnt',
'niceframe' => '&POST_rmsymlink',
+ 'novel' => '&POSTnovel',
'numericplots' => '&POSTnumericplots',
'nwejm' => '&POSTnwejm',
'optex' => '&POSToptex',
@@ -7238,6 +7239,21 @@
&SYSTEM ("$RM -rf windows");
}
+sub POSTnovel {
+ print "POST$package - mv subdirs\n";
+ # similar to onelevel, but the main tree has deep subdirs,
+ # so have to handle it separately. don't bother trying to generalize.
+
+ my $srcdir = "fonts/opentype/$package";
+ &rename_with_mkdir ($srcdir, "$DEST/$srcdir");
+
+ $srcdir = "tex/lualatex/$package";
+ &rename_with_mkdir ($srcdir, "$DEST/$srcdir");
+
+ # move files in doc/ up to cwd. If there are clashes, will error out.
+ &xsystem ("$MV doc/* .") if -d "doc";
+}
+
sub POSTnumericplots {
print "POST$package - mv latex subdir\n";
&SYSTEM ("$MV latex $DEST/tex/latex/$package");
@@ -7471,7 +7487,7 @@
}
sub POSTtikz_ext {
- print "POST$package - per-format subdirs\n"
+ print "POST$package - per-format subdirs\n";
&xmkdir ("$DEST/tex/generic", "$DEST/tex/latex", "$DEST/tex/plain");
&SYSTEM ("$MV tex/generic $DEST/tex/generic/$package");
&SYSTEM ("$MV tex/latex $DEST/tex/latex/$package");
@@ -7581,7 +7597,7 @@
next unless -d $dir;
# theoretically we should use $whichformat, $sourceformat,
# but in practice they are always the same.
- $destdir = $dir eq "luatex" ? "tex" : $dir;
+ my $destdir = $dir eq "luatex" ? "tex" : $dir;
&rename_with_mkdir ($dir, "$DEST/$destdir/$whichdocformat/$package");
}
# move files in doc/ up to cwd. If there are clashes, will error out.
@@ -7589,12 +7605,12 @@
}
sub POST_otherformat {
- print "POST$package - move macros up a level\n";
+ print "POST_otherformat ($package) - move tex/ dirs up a level\n";
&SYSTEM ("$MV $DEST/tex/$package/$package/* $DEST/tex/$package/");
}
sub POST_preserve_postcode {
- print "POST$package - preserve tlpostcode/$package-tlpost.pl\n";
+ print "POST_preserve_postcode ($package) - preserve tlpostcode/$package-tlpost.pl\n";
my $dirpath = "tlpkg/tlpostcode";
my $dest = "$TOPDEST/$dirpath";
&xmkdir ($dest);
@@ -7602,7 +7618,7 @@
}
sub POST_preserve_man {
- print "POST$package - preserve man pages\n";
+ print "POST_preserve_man ($package) - preserve man pages\n";
&preserve_man_pages ($package);
}
@@ -7614,6 +7630,7 @@
# on CTAN, else doc/*/$package.
sub POST_do_man {
my ($src_mandir) = @_;
+ print "POST_do_man - src_mandir = $src_mandir\n";
if ($src_mandir) {
; # explicitly specified, ok.
@@ -7646,6 +7663,7 @@
}
sub POST_preserve_bin {
+ print "POST_preserve_bin - binaries = @_\n";
# the pmx package, among others, includes binaries made from Build,
# and normal scripts and support files. The latter can get updated
# without needing to update the former, so we support it. Which means
@@ -7672,12 +7690,12 @@
}
sub POST_rmsymlink {
- print "POST$package - removing symlinks\n";
+ print "POST_rmsymlink ($package) - removing symlinks\n";
&SYSTEM ("find $DEST -type l | xargs --no-run-if-empty $RM");
}
sub POST_deref_symlink {
- print "POST$package - dereferencing symlinks\n";
+ print "POST_deref_symlink ($package) - dereferencing symlinks\n";
&SYSTEM ("find $DEST -type l | xargs deref-symlinks");
}
More information about the tex-live-commits
mailing list.