texlive[60770] Master/texmf-dist: mfirstuc (16oct21)

commits+karl at tug.org commits+karl at tug.org
Sat Oct 16 00:15:23 CEST 2021


Revision: 60770
          http://tug.org/svn/texlive?view=revision&revision=60770
Author:   karl
Date:     2021-10-16 00:15:23 +0200 (Sat, 16 Oct 2021)
Log Message:
-----------
mfirstuc (16oct21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/mfirstuc/CHANGES
    trunk/Master/texmf-dist/doc/latex/mfirstuc/README
    trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-code.pdf
    trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-manual.html
    trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-manual.pdf
    trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-manual.tex
    trunk/Master/texmf-dist/doc/latex/mfirstuc/sample-mfirstuc.pdf
    trunk/Master/texmf-dist/doc/latex/mfirstuc/sample-mfirstuc.tex
    trunk/Master/texmf-dist/source/latex/mfirstuc/mfirstuc.dtx
    trunk/Master/texmf-dist/source/latex/mfirstuc/mfirstuc.ins
    trunk/Master/texmf-dist/tex/latex/mfirstuc/mfirstuc-english.sty
    trunk/Master/texmf-dist/tex/latex/mfirstuc/mfirstuc.sty

Modified: trunk/Master/texmf-dist/doc/latex/mfirstuc/CHANGES
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mfirstuc/CHANGES	2021-10-15 22:14:49 UTC (rev 60769)
+++ trunk/Master/texmf-dist/doc/latex/mfirstuc/CHANGES	2021-10-15 22:15:23 UTC (rev 60770)
@@ -1,20 +1,28 @@
 mfirstuc change log:
 
-v2.06:
+v2.07 (2021-10-15):
 
+  * new commands:
+
+    - \MFUcapwordfirstuc
+    - \MFUwordbreak
+    - \MFUskippunc
+
+v2.06 (2017-11-14):
+
   * \makefirstuc: added check for nested commands.
 
-v2.05:
+v2.05 (2017-11-10):
 
   * bug fix in \@mfu at applytofirst (#1 must be grouped)
 
-v2.04:
+v2.04 (2016-07-31):
 
   * bug fixes in \capitalisefmtwords and \@gls at split
 
   * added starred form of \capitalisefmtwords
 
-v2.03:
+v2.03 (2016-07-29):
 
   * Fixed test for \protect at the start of \makefirstuc
 
@@ -26,16 +34,16 @@
     but allows for text-block formatting commands within
     the argument).
 
-v2.02:
+v2.02 (2015-12-17):
 
   * Fixed bug in \capitalisewords
     http://www.dickimaw-books.com/cgi-bin/bugtracker.cgi?action=view&key=104
 
-v2.01:
+v2.01 (2015-12-08):
 
   * Added check for initial \protect in \makefirstuc
 
-v2.0:
+v2.0 (2015-09-09):
 
   * Split from glossaries bundle.
 

Modified: trunk/Master/texmf-dist/doc/latex/mfirstuc/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mfirstuc/README	2021-10-15 22:14:49 UTC (rev 60769)
+++ trunk/Master/texmf-dist/doc/latex/mfirstuc/README	2021-10-15 22:15:23 UTC (rev 60770)
@@ -1,6 +1,6 @@
-LaTeX Package : mfirstuc v2.06
+LaTeX Package : mfirstuc v2.07
 
-Last Modified : 2017-11-14
+Last Modified : 2021-10-15
 
 Author        : Nicola Talbot
 

Modified: trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-manual.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-manual.html	2021-10-15 22:14:49 UTC (rev 60769)
+++ trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-manual.html	2021-10-15 22:15:23 UTC (rev 60770)
@@ -6,157 +6,156 @@
 > 
 <head><title></title> 
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
-<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)" /> 
-<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)" /> 
+<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)" /> 
+<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)" /> 
 <!-- xhtml,fn-in,css-in,uni-html4,utf8 --> 
 <meta name="src" content="mfirstuc-manual.tex" /> 
+<style type="text/css">
  
-<style type="text/css"> 
-<!--  
- 
-/* start css.sty */  
-.cmr-17{font-size:170%;}  
-.cmr-12{font-size:120%;}  
-.cmtt-12{font-size:120%;font-family: monospace;}  
-.cmtt-12{font-family: monospace;}  
-.cmtt-12{font-family: monospace;}  
-.cmtt-12{font-family: monospace;}  
-.cmtt-10{font-family: monospace;}  
-.cmtt-10{font-family: monospace;}  
-.cmtt-10{font-family: monospace;}  
-.cmtt-10{font-family: monospace;}  
-.cmss-10{ font-family: sans-serif;}  
-.cmss-10{ font-family: sans-serif;}  
-.cmtt-9{font-size:90%;font-family: monospace;}  
-.cmtt-9{font-family: monospace;}  
-.cmtt-9{font-family: monospace;}  
-.cmtt-9{font-family: monospace;}  
-.cmitt-10{font-family: monospace; font-style: italic;}  
-.cmti-10{ font-style: italic;}  
-.cmbx-10{ font-weight: bold;}  
-.cmbxti-10{ font-weight: bold; font-style: italic;}  
-.cmssi-10{ font-family: sans-serif; font-style: oblique;}  
-.cmssi-10{ font-family: sans-serif; font-style: oblique;}  
-p.noindent { text-indent: 0em }  
-td p.noindent { text-indent: 0em; margin-top:0em; }  
-p.nopar { text-indent: 0em; }  
-p.indent{ text-indent: 1.5em }  
- at media print {div.crosslinks {visibility:hidden;}}  
-a img { border-top: 0; border-left: 0; border-right: 0; }  
-center { margin-top:1em; margin-bottom:1em; }  
-td center { margin-top:0em; margin-bottom:0em; }  
-.Canvas { position:relative; }  
-img.math{vertical-align:middle;}  
-li p.indent { text-indent: 0em }  
-li p:first-child{ margin-top:0em; }  
-li p:last-child, li div:last-child { margin-bottom:0.5em; }  
-li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }  
-.enumerate1 {list-style-type:decimal;}  
-.enumerate2 {list-style-type:lower-alpha;}  
-.enumerate3 {list-style-type:lower-roman;}  
-.enumerate4 {list-style-type:upper-alpha;}  
-div.newtheorem { margin-bottom: 2em; margin-top: 2em;}  
-.obeylines-h,.obeylines-v {white-space: nowrap; }  
-div.obeylines-v p { margin-top:0; margin-bottom:0; }  
-.overline{ text-decoration:overline; }  
-.overline img{ border-top: 1px solid black; }  
-td.displaylines {text-align:center; white-space:nowrap;}  
-.centerline {text-align:center;}  
-.rightline {text-align:right;}  
-div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; }  
-.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }  
-div.fbox {display:table}  
-div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }  
-div.minipage{width:100%;}  
-div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}  
-div.center div {text-align: left;}  
-div.flushright, div.flushright div.flushright {text-align: right;}  
-div.flushright div {text-align: left;}  
-div.flushleft {text-align: left;}  
-.underline{ text-decoration:underline; }  
-.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }  
-.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }  
-.framebox-c {text-align:center;}  
-.framebox-l {text-align:left;}  
-.framebox-r {text-align:right;}  
-span.thank-mark{ vertical-align: super }  
-span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }  
-div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;}  
-div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;}  
-div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }  
-table.tabular td p{margin-top:0em;}  
-table.tabular {margin-left: auto; margin-right: auto;}  
-td p:first-child{ margin-top:0em; }  
-td p:last-child{ margin-bottom:0em; }  
-div.td00{ margin-left:0pt; margin-right:0pt; }  
-div.td01{ margin-left:0pt; margin-right:5pt; }  
-div.td10{ margin-left:5pt; margin-right:0pt; }  
-div.td11{ margin-left:5pt; margin-right:5pt; }  
-table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }  
-td.td00{ padding-left:0pt; padding-right:0pt; }  
-td.td01{ padding-left:0pt; padding-right:5pt; }  
-td.td10{ padding-left:5pt; padding-right:0pt; }  
-td.td11{ padding-left:5pt; padding-right:5pt; }  
-table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }  
-.hline hr, .cline hr{ height : 1px; margin:0px; }  
-.tabbing-right {text-align:right;}  
-span.TEX {letter-spacing: -0.125em; }  
-span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}  
-a span.TEX span.E {text-decoration: none; }  
-span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}  
-span.LATEX span.TEX{ position:relative; left: -0.4em; }  
-div.float, div.figure {margin-left: auto; margin-right: auto;}  
-div.float img {text-align:center;}  
-div.figure img {text-align:center;}  
-.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}  
-.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}  
-table.equation {width:100%;}  
-.equation td{text-align:center; }  
-td.equation { margin-top:1em; margin-bottom:1em; }  
-td.equation-label { width:5%; text-align:center; }  
-td.eqnarray4 { width:5%; white-space: normal; }  
-td.eqnarray2 { width:5%; }  
-table.eqnarray-star, table.eqnarray {width:100%;}  
-div.eqnarray{text-align:center;}  
-div.array {text-align:center;}  
-div.pmatrix {text-align:center;}  
-table.pmatrix {width:100%;}  
-span.pmatrix img{vertical-align:middle;}  
-div.pmatrix {text-align:center;}  
-table.pmatrix {width:100%;}  
-span.bar-css {text-decoration:overline;}  
-img.cdots{vertical-align:middle;}  
-.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}  
-.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc, .appendixToc a, .appendixToc {line-height: 200%; font-weight:bold;}  
-.index-item, .index-subitem, .index-subsubitem {display:block}  
-div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;}  
-div.caption span.id{font-weight: bold; white-space: nowrap; }  
-h1.partHead{text-align: center}  
-p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }  
-p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }  
-.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}  
-.subparagraphHead, .likesubparagraphHead { font-weight: bold;}  
-.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;}  
-.verse{white-space:nowrap; margin-left:2em}  
-div.maketitle {text-align:center;}  
-h2.titleHead{text-align:center;}  
-div.maketitle{ margin-bottom: 2em; }  
-div.author, div.date {text-align:center;}  
-div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; }  
-.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }  
-h1.partHead{text-align: center}  
-.abstract p {margin-left:5%; margin-right:5%;}  
-div.abstract {width:100%;}  
-.alltt P { margin-bottom : 0em; margin-top : 0em; }  
-.alltt { margin-bottom : 1em; margin-top : 1em; }  
-div.important { border : solid red; }  
-div.verbatim { font-family: monospace; white-space: nowrap; text-align:left; clear:both; padding-top: 2ex; padding-bottom: 2ex;}  
-span#textcolor1{color:#FF0000}  
-/* end css.sty */  
- 
- 
---> 
-</style> 
+/* start css.sty */
+.cmr-17{font-size:170%;}
+.cmr-12{font-size:120%;}
+.cmtt-12{font-size:120%;font-family: monospace,monospace;}
+.cmtt-12{font-family: monospace,monospace;}
+.cmtt-12{font-family: monospace,monospace;}
+.cmtt-12{font-family: monospace,monospace;}
+.cmtt-10{font-family: monospace,monospace;}
+.cmtt-10{font-family: monospace,monospace;}
+.cmtt-10{font-family: monospace,monospace;}
+.cmtt-10{font-family: monospace,monospace;}
+.cmss-10{  font-family: sans-serif;}
+.cmss-10{  font-family: sans-serif;}
+.cmtt-9{font-size:90%;font-family: monospace,monospace;}
+.cmtt-9{font-family: monospace,monospace;}
+.cmtt-9{font-family: monospace,monospace;}
+.cmtt-9{font-family: monospace,monospace;}
+.cmitt-10{font-family: monospace,monospace; font-style: italic;}
+.cmti-10{ font-style: italic;}
+.cmbx-10{ font-weight: bold;}
+.cmbxti-10{ font-weight: bold; font-style: italic;}
+.cmssi-10{ font-family: sans-serif; font-style: oblique;}
+.cmssi-10{ font-family: sans-serif; font-style: oblique;}
+p{margin-top:0;margin-bottom:0}
+p.indent{text-indent:0;}
+p + p{margin-top:1em;}
+p + div, p + pre {margin-top:1em;}
+div + p, pre + p {margin-top:1em;}
+a { overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; hyphens: auto; }
+ at media print {div.crosslinks {visibility:hidden;}}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+div.par-math-display, div.math-display{text-align:center;}
+li p.indent { text-indent: 0em }
+li p:first-child{ margin-top:0em; }
+li p:last-child, li div:last-child { margin-bottom:0.5em; }
+li p:first-child{ margin-bottom:0; }
+li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
+.enumerate1 {list-style-type:decimal;}
+.enumerate2 {list-style-type:lower-alpha;}
+.enumerate3 {list-style-type:lower-roman;}
+.enumerate4 {list-style-type:upper-alpha;}
+div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+pre.verbatim {font-family: monospace,monospace; text-align:left; clear:both; }
+.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+div.fbox {display:table}
+div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+div.minipage{width:100%;}
+div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
+div.center div {text-align: left;}
+div.flushright, div.flushright div.flushright {text-align: right;}
+div.flushright div {text-align: left;}
+div.flushleft {text-align: left;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+.framebox-c {text-align:center;}
+.framebox-l {text-align:left;}
+.framebox-r {text-align:right;}
+span.thank-mark{ vertical-align: super }
+span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
+div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;}
+div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;}
+div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
+table.tabular td p{margin-top:0em;}
+table.tabular {margin-left: auto; margin-right: auto;}
+td p:first-child{ margin-top:0em; }
+td p:last-child{ margin-bottom:0em; }
+div.td00{ margin-left:0pt; margin-right:0pt; }
+div.td01{ margin-left:0pt; margin-right:5pt; }
+div.td10{ margin-left:5pt; margin-right:0pt; }
+div.td11{ margin-left:5pt; margin-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+td.td00{ padding-left:0pt; padding-right:0pt; }
+td.td01{ padding-left:0pt; padding-right:5pt; }
+td.td10{ padding-left:5pt; padding-right:0pt; }
+td.td11{ padding-left:5pt; padding-right:5pt; }
+table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
+.hline hr, .cline hr{ height : 0px; margin:0px; }
+.hline td, .cline td{ padding: 0; }
+.hline hr, .cline hr{border:none;border-top:1px solid black;}
+.hline {border-top: 1px solid black;}
+.tabbing-right {text-align:right;}
+div.float, div.figure {margin-left: auto; margin-right: auto;}
+div.float img {text-align:center;}
+div.figure img {text-align:center;}
+.marginpar,.reversemarginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+.marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+.reversemarginpar{float:left;}
+table.equation {width:100%;}
+.equation td{text-align:center; }
+td.equation { margin-top:1em; margin-bottom:1em; } 
+td.equation-label { width:5%; text-align:center; }
+td.eqnarray4 { width:5%; white-space: normal; }
+td.eqnarray2 { width:5%; }
+table.eqnarray-star, table.eqnarray {width:100%;}
+div.eqnarray{text-align:center;}
+div.array {text-align:center;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+span.pmatrix img{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+table.pmatrix {width:100%;}
+span.bar-css {text-decoration:overline;}
+img.cdots{vertical-align:middle;}
+.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
+.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc, .appendixToc a, .appendixToc {line-height: 200%; font-weight:bold;}
+.index-item, .index-subitem, .index-subsubitem {display:block}
+div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;}
+div.caption span.id{font-weight: bold; white-space: nowrap; }
+h1.partHead{text-align: center}
+p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+.verse{white-space:nowrap; margin-left:2em}
+div.maketitle {text-align:center;}
+h2.titleHead{text-align:center;}
+div.maketitle{ margin-bottom: 2em; }
+div.author, div.date {text-align:center;}
+div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; }
+h1.partHead{text-align: center}
+div.abstract p {margin-left:5%; margin-right:5%;}
+div.abstract {width:100%;}
+.abstracttitle{text-align:center;margin-bottom:1em;}
+.alltt P { margin-bottom : 0em; margin-top : 0em; }
+.alltt { margin-bottom : 1em; margin-top : 1em; font-family:monospace,monospace; }
+.warningsymbol { color: red; font-weight: bold;}
+div.important { border : solid red; }
+div.verbatim { font-family: monospace; white-space: nowrap; text-align:left; clear:both; padding-top: 2ex; padding-bottom: 2ex;} 
+span#textcolor1{color:#FF0000}
+/* end css.sty */
+
+</style>
 </head><body 
 >
 <!--l. 36--><p class="noindent" ><a 
@@ -174,10 +173,10 @@
 >
 <!--l. 36--><p class="noindent" >
 </p><!--l. 36--><p class="noindent" ><span 
-class="cmr-17">mfirstuc.sty v2.06: uppercasing first letter</span>
+class="cmr-17">mfirstuc.sty v2.07: uppercasing first letter</span>
 </p>
 <div class="tabular"> <table id="TBL-1" class="tabular" 
-cellspacing="0" cellpadding="0"  
+ 
 ><colgroup id="TBL-1-1g"><col 
 id="TBL-1-1" /></colgroup><tr  
  style="vertical-align:baseline;" id="TBL-1-1-"><td  style="white-space:nowrap; text-align:center;" id="TBL-1-1-1"  
@@ -196,7 +195,7 @@
 class="cmtt-12">http://www.dickimaw-books.com/</span></a></td></tr></table>
 </div>
 <!--l. 36--><p class="noindent" ><span 
-class="cmr-12">2017-11-14</span></p></div>
+class="cmr-12">2021-10-15</span></p></div>
                                                                          
 
                                                                          
@@ -235,14 +234,16 @@
 </p><!--l. 53--><p class="noindent" >
 </p><!--l. 55--><p class="indent" >   Here are some examples of semantic commands:
      </p><ol  class="enumerate1" >
-     <li 
-  class="enumerate" id="x1-2002x1">Quoted material:
+<li 
+  class="enumerate" id="x1-2002x1">
+     <!--l. 57--><p class="noindent" >Quoted material:
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-1">
+</p>
+     <pre class="verbatim" id="verbatim-1">
      \newcommand{\qt}[1]{``#1''}
-</div>
+</pre>
      <!--l. 60--><p class="nopar" > (or use the <span 
 class="cmss-10">csquotes </span>package). With this, the following works:
                                                                          
@@ -249,9 +250,9 @@
 
                                                                          
 </p>
-     <div class="verbatim" id="verbatim-2">
+     <pre class="verbatim" id="verbatim-2">
      \makefirstuc{\qt{word}}
-</div>
+</pre>
      <!--l. 65--><p class="nopar" > This produces: <spacer type=vertical size=10><span class="obeylines-h">
      <br />“Word”
      <br /><spacer type=vertical size=10></span>
@@ -260,30 +261,32 @@
 
                                                                          
 </p>
-     <div class="verbatim" id="verbatim-3">
+     <pre class="verbatim" id="verbatim-3">
      \makefirstuc{``word''}
-</div>
+</pre>
      <!--l. 73--><p class="nopar" > fails (no case-change and double open quote becomes two single open quotes):
      <spacer type=vertical size=10><span class="obeylines-h">
      <br />‘‘word”
      <br /><spacer type=vertical size=10></span>
      </p></li>
-     <li 
-  class="enumerate" id="x1-2004x2">Font styles or colours:
+<li 
+  class="enumerate" id="x1-2004x2">
+     <!--l. 80--><p class="noindent" >Font styles or colours:
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-4">
+</p>
+     <pre class="verbatim" id="verbatim-4">
      \newcommand*{\alert}[1]{\textcolor{red}{#1}}
-</div>
+</pre>
      <!--l. 83--><p class="nopar" > Now the following is possible:
                                                                          
 
                                                                          
 </p>
-     <div class="verbatim" id="verbatim-5">
+     <pre class="verbatim" id="verbatim-5">
      \makefirstuc{\alert{word}}
-</div>
+</pre>
      <!--l. 87--><p class="nopar" > This produces <spacer type=vertical size=10><span class="obeylines-h">
      <br /><span id="textcolor1">Word</span>
      <br /><spacer type=vertical size=10></span>
@@ -304,22 +307,21 @@
 </p><!--l. 102--><p class="noindent" ><a 
 href="#top">Top</a><div class="chapter"><h2 class="chapterHead">2. <a 
  id="sec:makefirstuc"></a>Capitalising the First Letter of a Word</h2>
-</p><!--l. 105--><p class="indent" >   A simple word can be capitalised just using the standard <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span 
-class="E">E</span>X</span></span>&#x00A0;upper casing command.
+</p><!--l. 105--><p class="indent" >   A simple word can be capitalised just using the standard LaTeX&#x00A0;upper casing command.
 For example,
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-6">
+   <pre class="verbatim" id="verbatim-6">
 \MakeUppercase&#x00A0;word
-</div>
+</pre>
 <!--l. 109--><p class="nopar" > but for commands like <span 
 class="cmtt-10">\Gls </span>the word may be embedded within the argument of another
 command, such as a&#x00A0;font changing command. This makes things more complicated for
 a&#x00A0;general purpose solution, so the <span 
 class="cmss-10">mfirstuc </span>package provides:
-</p><!--l. 114--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 114--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\makefirstuc</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
  id="dx1-3001"></a> <span 
@@ -333,7 +335,17 @@
 followed by a non-empty group, in which case the first object in the group is converted to
 upper case. <span 
 class="cmbx-10">No expansion is performed on the argument.</span>
-</p><!--l. 123--><p class="indent" >   <div class="important" title="Important Note"> If &#x27E8;<span 
+</p><!--l. 123--><p class="indent" >   If &#x27E8;<span 
+class="cmti-10">stuff </span>&#x27E9; starts with punctuation that should be skipped over, use:
+</p><!--l. 125--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
+class="cmtt-9">\MFUskippunc</span><span 
+class="cmtt-9">&#x00A0;</span></span><a 
+ id="dx1-3002"></a> <span 
+class="cmtt-10">\MFUskippunc{</span>&#x27E8;<span 
+class="cmitt-10">punctuation</span>&#x27E9;<span 
+class="cmtt-10">} </span></div><hr>
+</p><!--l. 127--><p class="noindent" >
+</p><!--l. 129--><p class="indent" >   <div class="important" title="Important Note"> If &#x27E8;<span 
 class="cmti-10">stuff </span>&#x27E9; starts with a control sequence that takes more than one argument, the
 case-changing will always be applied to the <span 
 class="cmti-10">first </span>argument. If the text that requires the case
@@ -344,26 +356,29 @@
 <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\color{red}</span></span></span> and use <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\red{text}</span></span></span>. </div>
-</p><!--l. 131--><p class="noindent" >
-</p><!--l. 133--><p class="indent" >   Examples: </p>
+</p><!--l. 137--><p class="noindent" >
+</p><!--l. 139--><p class="indent" >   Examples: </p>
      <ul class="itemize1">
-     <li class="itemize"><span class="obeylines-h"><span class="verb"><span 
+     <li class="itemize">
+     <!--l. 141--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\makefirstuc{abc}</span></span></span> produces Abc.
-     </li>
-     <li class="itemize"><span class="obeylines-h"><span class="verb"><span 
+     </p></li>
+     <li class="itemize">
+     <!--l. 143--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\makefirstuc{\emph{abc}}</span></span></span> produces <span 
 class="cmti-10">Abc </span>(<span 
 class="cmtt-10">\MakeUppercase</span><a 
- id="dx1-3002"></a> has been applied to the
+ id="dx1-3003"></a> has been applied to the
      letter “a” rather than <span 
 class="cmtt-10">\emph</span>). Note however that
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-7">
+</p>
+     <pre class="verbatim" id="verbatim-7">
      \makefirstuc{{\em&#x00A0;abc}}
-</div>
-     <!--l. 142--><p class="nopar" > produces <span 
+</pre>
+     <!--l. 148--><p class="nopar" > produces <span 
 class="cmti-10">ABC </span>(first object is <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">{\em</span><span 
 class="cmtt-10">&#x00A0;abc}</span></span></span> so this is equivalent to <span class="obeylines-h"><span class="verb"><span 
@@ -374,58 +389,70 @@
 
                                                                          
 </p>
-     <div class="verbatim" id="verbatim-8">
+     <pre class="verbatim" id="verbatim-8">
      {\makefirstuc{\em&#x00A0;abc}}
-</div>
-     <!--l. 147--><p class="nopar" > produces abc (<span class="obeylines-h"><span class="verb"><span 
+</pre>
+     <!--l. 153--><p class="nopar" > produces abc (<span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\em</span></span></span> doesn’t have an argument therefore first object is <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\em</span></span></span> and so is
      equivalent to <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">{\MakeUppercase{\em}abc}</span></span></span>).
      </p></li>
-     <li class="itemize"><span class="obeylines-h"><span class="verb"><span 
+     <li class="itemize">
+     <!--l. 158--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\makefirstuc{{\’a}bc}</span></span></span> produces Ábc.
-     </li>
-     <li class="itemize"><span class="obeylines-h"><span class="verb"><span 
+     </p></li>
+     <li class="itemize">
+     <!--l. 160--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\makefirstuc{\ae</span><span 
 class="cmtt-10">&#x00A0;bc}</span></span></span> produces Æbc.
-     </li>
-     <li class="itemize"><span class="obeylines-h"><span class="verb"><span 
+     </p></li>
+     <li class="itemize">
+     <!--l. 162--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\makefirstuc{{\ae}bc}</span></span></span> produces Æbc.
-     </li>
-     <li class="itemize"><span class="obeylines-h"><span class="verb"><span 
+     </p></li>
+     <li class="itemize">
+     <!--l. 164--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\makefirstuc{{</span><span 
 class="cmtt-10">ä</span><span 
 class="cmtt-10">}bc}</span></span></span> produces Äbc.
+     </p></li>
+     <li class="itemize">
+     <!--l. 166--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span 
+class="cmtt-10">\makefirstuc{\MFUskippunc{’}tis</span><span 
+class="cmtt-10">&#x00A0;the</span><span 
+class="cmtt-10">&#x00A0;season}</span></span></span> produces ’Tis the season.
+</p>
      </li></ul>
-<!--l. 162--><p class="indent" >   Note that non-Latin or accented characters appearing at the start of the text should be
+<!--l. 171--><p class="indent" >   Note that non-Latin or accented characters appearing at the start of the text should be
 placed in a group (even if you are using the <span 
 class="cmss-10">inputenc</span><a 
- id="dx1-3003"></a> package). The reason for this restriction
+ id="dx1-3004"></a> package). The reason for this restriction
 is detailed in <a 
 href="#sec:utf8"><span 
-class="cmsy-10">§</span>4 </a><a 
+class="tcrm-1000">§</span><span 
+class="cmbx-10">4. </span></a><a 
 href="#sec:utf8">UTF-8<!--tex4ht:ref: sec:utf8 --></a>.
-</p><!--l. 167--><p class="indent" >   <span 
+</p><!--l. 176--><p class="indent" >   <span 
 class="cmbx-10">New to version 2.04: </span>There is now limited support for UTF-8 characters with the
 <span 
 class="cmss-10">inputenc</span><a 
- id="dx1-3004"></a> package, provided that you load <span 
+ id="dx1-3005"></a> package, provided that you load <span 
 class="cmss-10">datatool-base</span><a 
- id="dx1-3005"></a> (at least v2.24) before <span 
+ id="dx1-3006"></a> (at least v2.24) before <span 
 class="cmss-10">mfirstuc</span>
 (<span 
 class="cmss-10">datatool-base</span><a 
- id="dx1-3006"></a> is loaded automatically with newer versions of <span 
+ id="dx1-3007"></a> is loaded automatically with newer versions of <span 
 class="cmss-10">glossaries</span><a 
- id="dx1-3007"></a>). If available <span 
+ id="dx1-3008"></a>). If available <span 
 class="cmss-10">mfirstuc</span><a 
- id="dx1-3008"></a>
+ id="dx1-3009"></a>
 will now use <span 
 class="cmss-10">datatool-base</span><a 
- id="dx1-3009"></a>’s <span 
+ id="dx1-3010"></a>’s <span 
 class="cmtt-10">\dtl at getfirst@UTFviii</span><a 
- id="dx1-3010"></a> command which is still experimental.
+ id="dx1-3011"></a> command which is still experimental.
 See the <span 
 class="cmss-10">datatool </span>manual for further details.
                                                                          
@@ -432,33 +459,33 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-9">
+   <pre class="verbatim" id="verbatim-9">
 \documentclass{article}
-&#x00A0;<br />\usepackage[T1]{fontenc}
-&#x00A0;<br />\usepackage[utf8]{inputenc}
-&#x00A0;<br />\usepackage{datatool-base}[2016/01/12]%&#x00A0;v2.24+
-&#x00A0;<br />\usepackage{mfirstuc}
-&#x00A0;<br />\begin{document}
-&#x00A0;<br />\makefirstuc{élite}
-&#x00A0;<br />\end{document}
-</div>
-<!--l. 188--><p class="nopar" > (Package ordering is important.)
-</p><!--l. 191--><p class="indent" >   <div class="important" title="Important Note"> In version 1.02 of <span 
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{datatool-base}[2016/01/12]%&#x00A0;v2.24+
+\usepackage{mfirstuc}
+\begin{document}
+\makefirstuc{élite}
+\end{document}
+</pre>
+<!--l. 197--><p class="nopar" > (Package ordering is important.)
+</p><!--l. 200--><p class="indent" >   <div class="important" title="Important Note"> In version 1.02 of <span 
 class="cmss-10">mfirstuc</span>, a bug fix resulted in a change in output if the first object is a
 control sequence followed by an empty group. Prior to version 1.02, <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\makefirstuc{\ae{}bc}</span></span></span>
 produced æBc. However as from version 1.02, it now produces Æbc. </div>
-</p><!--l. 197--><p class="noindent" >
-</p><!--l. 199--><p class="indent" >   Note also that
+</p><!--l. 206--><p class="noindent" >
+</p><!--l. 208--><p class="indent" >   Note also that
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-10">
+   <pre class="verbatim" id="verbatim-10">
 \newcommand{\abc}{abc}
-&#x00A0;<br />\makefirstuc{\abc}
-</div>
-<!--l. 203--><p class="nopar" > produces: ABC. This is because the first object in the argument of <span 
+\makefirstuc{\abc}
+</pre>
+<!--l. 212--><p class="nopar" > produces: ABC. This is because the first object in the argument of <span 
 class="cmtt-10">\makefirstuc </span>is <span 
 class="cmtt-10">\abc</span>, so
 it does <span class="obeylines-h"><span class="verb"><span 
@@ -467,19 +494,19 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-11">
+   <pre class="verbatim" id="verbatim-11">
 \newcommand{\abc}{abc}
-&#x00A0;<br />\expandafter\makefirstuc\expandafter{\abc}
-</div>
-<!--l. 210--><p class="nopar" > produces: Abc. There is a short cut command which will do this:
-</p><!--l. 212--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+\expandafter\makefirstuc\expandafter{\abc}
+</pre>
+<!--l. 219--><p class="nopar" > produces: Abc. There is a short cut command which will do this:
+</p><!--l. 221--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\xmakefirstuc</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
- id="dx1-3011"></a> <span 
+ id="dx1-3012"></a> <span 
 class="cmtt-10">\xmakefirstuc{</span>&#x27E8;<span 
 class="cmitt-10">stuff</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 214--><p class="noindent" >
+</p><!--l. 223--><p class="noindent" >
 This is equivalent to <span 
 class="cmtt-10">\expandafter\makefirstuc\expandafter{</span>&#x27E8;<span 
 class="cmti-10">stuff </span>&#x27E9;<span 
@@ -488,89 +515,89 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-12">
+   <pre class="verbatim" id="verbatim-12">
 \newcommand{\abc}{abc}
-&#x00A0;<br />\xmakefirstuc{\abc}
-</div>
-<!--l. 219--><p class="nopar" > produces: Abc.
-</p><!--l. 224--><p class="indent" >   <div class="important" title="Important Note"> <span 
+\xmakefirstuc{\abc}
+</pre>
+<!--l. 228--><p class="nopar" > produces: Abc.
+</p><!--l. 233--><p class="indent" >   <div class="important" title="Important Note"> <span 
 class="cmtt-10">\xmakefirstuc </span>only performs one level expansion on the <span 
 class="cmti-10">first </span>object in its argument. It
 does not fully expand the entire argument. </div>
-</p><!--l. 228--><p class="noindent" >
-</p><!--l. 230--><p class="indent" >   As from version 1.10, there is now a command that fully expands the entire argument
+</p><!--l. 237--><p class="noindent" >
+</p><!--l. 239--><p class="indent" >   As from version 1.10, there is now a command that fully expands the entire argument
 before applying <span 
 class="cmtt-10">\makefirstuc</span>:
-</p><!--l. 232--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 241--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\emakefirstuc</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
- id="dx1-3012"></a> <span 
+ id="dx1-3013"></a> <span 
 class="cmtt-10">\emakefirstuc{</span>&#x27E8;<span 
 class="cmitt-10">text</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 234--><p class="noindent" >
-</p><!--l. 236--><p class="indent" >   Examples:
+</p><!--l. 243--><p class="noindent" >
+</p><!--l. 245--><p class="indent" >   Examples:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-13">
+   <pre class="verbatim" id="verbatim-13">
 \newcommand{\abc}{\xyz&#x00A0;a}
-&#x00A0;<br />\newcommand{\xyz}{xyz}
-&#x00A0;<br />No&#x00A0;expansion:&#x00A0;\makefirstuc{\abc}.
-&#x00A0;<br />First&#x00A0;object&#x00A0;one-level&#x00A0;expansion:&#x00A0;\xmakefirstuc{\abc}.
-&#x00A0;<br />Fully&#x00A0;expanded:&#x00A0;\emakefirstuc{\abc}.
-</div>
-<!--l. 243--><p class="nopar" > produces:  No expansion: XYZA. First object one-level expansion: XYZa. Fully expanded:
+\newcommand{\xyz}{xyz}
+No&#x00A0;expansion:&#x00A0;\makefirstuc{\abc}.
+First&#x00A0;object&#x00A0;one-level&#x00A0;expansion:&#x00A0;\xmakefirstuc{\abc}.
+Fully&#x00A0;expanded:&#x00A0;\emakefirstuc{\abc}.
+</pre>
+<!--l. 252--><p class="nopar" > produces:  No expansion: XYZA. First object one-level expansion: XYZa. Fully expanded:
 Xyza.
-</p><!--l. 251--><p class="indent" >   If you use <span 
+</p><!--l. 260--><p class="indent" >   If you use <span 
 class="cmss-10">mfirstuc </span>without the <span 
 class="cmss-10">glossaries</span><a 
- id="dx1-3013"></a> package, the standard <span 
+ id="dx1-3014"></a> package, the standard <span 
 class="cmtt-10">\MakeUppercase </span>command
 is used. If used with <span 
 class="cmss-10">glossaries</span><a 
- id="dx1-3014"></a>, <span 
+ id="dx1-3015"></a>, <span 
 class="cmtt-10">\MakeTextUppercase</span><a 
- id="dx1-3015"></a> (defined by the <span 
+ id="dx1-3016"></a> (defined by the <span 
 class="cmss-10">textcase</span><a 
- id="dx1-3016"></a> package) is used
+ id="dx1-3017"></a> package) is used
 instead. If you are using <span 
 class="cmss-10">mfirstuc </span>without the <span 
 class="cmss-10">glossaries </span>package and want to use
 <span 
 class="cmtt-10">\MakeTextUppercase</span><a 
- id="dx1-3017"></a> instead, you can redefine
-</p><!--l. 257--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+ id="dx1-3018"></a> instead, you can redefine
+</p><!--l. 266--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\glsmakefirstuc</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
- id="dx1-3018"></a> <span 
+ id="dx1-3019"></a> <span 
 class="cmtt-10">\glsmakefirstuc{</span>&#x27E8;<span 
 class="cmitt-10">text</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 259--><p class="noindent" >
+</p><!--l. 268--><p class="noindent" >
 For example:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-14">
+   <pre class="verbatim" id="verbatim-14">
 \renewcommand{\glsmakefirstuc}[1]{\MakeTextUppercase&#x00A0;#1}
-</div>
-<!--l. 263--><p class="nopar" > Remember to also load <span 
+</pre>
+<!--l. 272--><p class="nopar" > Remember to also load <span 
 class="cmss-10">textcase</span><a 
- id="dx1-3019"></a> (<span 
+ id="dx1-3020"></a> (<span 
 class="cmss-10">glossaries </span>loads this automatically).
                                                                          
 
                                                                          
 </p>
-<!--l. 267--><p class="indent" >   </div>
-</p><!--l. 267--><p class="noindent" ><a 
+<!--l. 276--><p class="indent" >   </div>
+</p><!--l. 276--><p class="noindent" ><a 
 href="#top">Top</a><div class="chapter"><h2 class="chapterHead">3. <a 
  id="sec:capitalisewords"></a>Capitalise the First Letter of Each Word in a Phrase or Sentence (Title Case)</h2>
-</p><!--l. 270--><p class="indent" >   New to mfirstuc v1.06:
-</p><!--l. 271--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 279--><p class="indent" >   New to mfirstuc v1.06:
+</p><!--l. 280--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\capitalisewords</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
  id="dx1-4001"></a> <span 
@@ -577,7 +604,7 @@
 class="cmtt-10">\capitalisewords{</span>&#x27E8;<span 
 class="cmitt-10">text</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 273--><p class="noindent" >
+</p><!--l. 282--><p class="noindent" >
 This command applies <span 
 class="cmtt-10">\makefirstuc</span><a 
  id="dx1-4002"></a> to each word in &#x27E8;<span 
@@ -588,54 +615,54 @@
 class="cmtt-10">\space</span>. Note that no expansion is performed on &#x27E8;<span 
 class="cmti-10">text</span>&#x27E9;. See <a 
 href="#sec:nocap"><span 
-class="cmsy-10">§</span>3.2
-</a><a 
+class="tcrm-1000">§</span><span 
+class="cmbx-10">3.2 </span></a><a 
 href="#sec:nocap">Excluding Words From Case-Changing<!--tex4ht:ref: sec:nocap --></a> for excluding words (such as “of”) from the
 case-changing.
-</p><!--l. 281--><p class="indent" >   The actual capitalisation of each word is done using (new to version 2.03):
-</p><!--l. 283--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
-class="cmtt-9">\MFUcapword</span><span 
+</p><!--l. 290--><p class="indent" >   The actual capitalisation of each word is done using
+</p><!--l. 291--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
+class="cmtt-9">\MFUcapwordfirstuc</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
  id="dx1-4003"></a> <span 
-class="cmtt-10">\MFUcapword{</span>&#x27E8;<span 
+class="cmtt-10">\MFUcapwordfirstuc{</span>&#x27E8;<span 
 class="cmitt-10">word</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 285--><p class="noindent" >
+</p><!--l. 293--><p class="noindent" >
 This just does <span 
 class="cmtt-10">\makefirstuc{</span>&#x27E8;<span 
 class="cmti-10">word</span>&#x27E9;<span 
-class="cmtt-10">} </span>by default, but its behaviour is determined by the
-conditional:
-</p><!--l. 288--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+class="cmtt-10">} </span>by default. There’s a conditional that determines
+whether or not to consider a hyphen a word break:
+</p><!--l. 297--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\ifMFUhyphen</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
  id="dx1-4004"></a> <span 
 class="cmtt-10">\ifMFUhyphen </span></div><hr>
-</p><!--l. 290--><p class="noindent" >
-</p><!--l. 292--><p class="indent" >   If you want to title case each part of a compound word containing hyphens, you can enable
+</p><!--l. 299--><p class="noindent" >
+</p><!--l. 301--><p class="indent" >   If you want to title case each part of a compound word containing hyphens, you can enable
 this using
-</p><!--l. 294--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 303--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\MFUhyphentrue</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
  id="dx1-4005"></a> <span 
 class="cmtt-10">\MFUhyphentrue </span></div><hr>
-</p><!--l. 296--><p class="noindent" >
+</p><!--l. 305--><p class="noindent" >
 or switch it back off again using:
-</p><!--l. 298--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 307--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\MFUhyphenfalse</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
  id="dx1-4006"></a> <span 
 class="cmtt-10">\MFUhyphenfalse </span></div><hr>
-</p><!--l. 300--><p class="noindent" >
+</p><!--l. 309--><p class="noindent" >
 Compare
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-15">
+   <pre class="verbatim" id="verbatim-15">
 \capitalisewords{server-side&#x00A0;includes}
-</div>
-<!--l. 304--><p class="nopar" > which produces: <spacer type=vertical size=10><span class="obeylines-h">
+</pre>
+<!--l. 313--><p class="nopar" > which produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br />Server-side Includes
    <br /><spacer type=vertical size=10></span>
 with
@@ -643,14 +670,64 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-16">
+   <pre class="verbatim" id="verbatim-16">
 \MFUhyphentrue
-&#x00A0;<br />\capitalisewords{server-side&#x00A0;includes}
-</div>
-<!--l. 313--><p class="nopar" > which produces: <spacer type=vertical size=10><span class="obeylines-h">
+\capitalisewords{server-side&#x00A0;includes}
+</pre>
+<!--l. 322--><p class="nopar" > which produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br />Server-Side Includes
    <br /><spacer type=vertical size=10></span>
-</p><!--l. 320--><p class="indent" >   Formatting for the entire phrase must go outside <span 
+Note that this won’t apply exceptions to each part of the hyphenated word.
+</p><!--l. 331--><p class="indent" >   For other punctuation you need to markup the character with:
+</p><!--l. 332--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
+class="cmtt-9">\MFUwordbreak</span><span 
+class="cmtt-9">&#x00A0;</span></span><a 
+ id="dx1-4007"></a> <span 
+class="cmtt-10">\MFUwordbreak{</span>&#x27E8;<span 
+class="cmitt-10">punctuation</span>&#x27E9;<span 
+class="cmtt-10">} </span></div><hr>
+</p><!--l. 334--><p class="noindent" >
+For example:
+                                                                         
+
+                                                                         
+</p>
+   <pre class="verbatim" id="verbatim-17">
+\capitalisewords{a&#x00A0;big\MFUwordbreak{/}small&#x00A0;idea}
+</pre>
+<!--l. 338--><p class="nopar" > which produces: <spacer type=vertical size=10><span class="obeylines-h">
+   <br />A Big/Small Idea
+   <br /><spacer type=vertical size=10></span>
+In this case, exceptions are applied. For example, if <span 
+class="cmss-10">mfirstuc-english</span><a 
+ id="dx1-4008"></a> is loaded then:
+                                                                         
+
+                                                                         
+</p>
+   <pre class="verbatim" id="verbatim-18">
+\capitalisewords{one&#x00A0;and\MFUwordbreak{/}or&#x00A0;another}
+</pre>
+<!--l. 347--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+   <br />One and/or Another
+   <br /><spacer type=vertical size=10></span>
+Note that you can’t hide <span 
+class="cmtt-10">\MFUwordbreak </span>inside a command or group.
+</p><!--l. 355--><p class="indent" >   Exceptions aren’t applied if <span 
+class="cmtt-10">\MFUwordbreak </span>occurs before the first space. For
+example:
+                                                                         
+
+                                                                         
+</p>
+   <pre class="verbatim" id="verbatim-19">
+\MFUnocap{a}\MFUnocap{the}%
+\capitalisewords{a\MFUwordbreak{/}the&#x00A0;something}
+</pre>
+<!--l. 360--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+   <br />A/The Something
+   <br /><spacer type=vertical size=10></span>
+</p><!--l. 367--><p class="indent" >   Formatting for the entire phrase must go outside <span 
 class="cmtt-10">\capitalisewords </span>(unlike
 <span 
 class="cmtt-10">\makefirstuc</span>). Compare:
@@ -658,10 +735,10 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-17">
+   <pre class="verbatim" id="verbatim-20">
 \capitalisewords{\textbf{a&#x00A0;sample&#x00A0;phrase}}
-</div>
-<!--l. 324--><p class="nopar" > which produces: <spacer type=vertical size=10><span class="obeylines-h">
+</pre>
+<!--l. 371--><p class="nopar" > which produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br /><span 
 class="cmbx-10">A sample phrase</span>
    <br /><spacer type=vertical size=10></span>
@@ -670,20 +747,20 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-18">
+   <pre class="verbatim" id="verbatim-21">
 \textbf{\capitalisewords{a&#x00A0;sample&#x00A0;phrase}}
-</div>
-<!--l. 332--><p class="nopar" > which produces: <spacer type=vertical size=10><span class="obeylines-h">
+</pre>
+<!--l. 379--><p class="nopar" > which produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br /><span 
 class="cmbx-10">A Sample Phrase</span>
    <br /><spacer type=vertical size=10></span>
-</p><!--l. 338--><p class="indent" >   As from version 2.03, there is now a command for phrases that may include a formatting
+</p><!--l. 385--><p class="indent" >   As from version 2.03, there is now a command for phrases that may include a formatting
 command:
-</p><!--l. 341--><p class="indent" >   <hr><div title="Definition"><span 
+</p><!--l. 388--><p class="indent" >   <hr><div title="Definition"><span 
 class="cmtt-10">\capitalisefmtwords{</span>&#x27E8;<span 
 class="cmitt-10">phrase</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 342--><p class="noindent" >
+</p><!--l. 389--><p class="noindent" >
 where &#x27E8;<span 
 class="cmti-10">phrase</span>&#x27E9; may be just words (as with <span 
 class="cmtt-10">\capitalisewords</span>) or may be entirely enclosed in a
@@ -714,103 +791,116 @@
 class="cmsy-10">}</span>
 </div>
 </div> Avoid scoped declarations.
-<!--l. 354--><p class="indent" >   <div class="important" title="Important Note"> <span 
+<!--l. 401--><p class="indent" >   <div class="important" title="Important Note"> <span 
 class="cmtt-10">\capitalisefmtwords </span>is only designed for phrases that contain text-block commands
 with a single argument, which should be a word or sub-phrase. Anything more complicated is
 likely to break. Instead, use the starred form or <span 
 class="cmtt-10">\capitalisewords</span>. </div>
-</p><!--l. 360--><p class="noindent" >
-</p><!--l. 362--><p class="indent" >   The starred form only permits a text-block command at the start of the phrase.
-</p><!--l. 365--><p class="indent" >   Examples:
+</p><!--l. 407--><p class="noindent" >
+</p><!--l. 409--><p class="indent" >   The starred form only permits a text-block command at the start of the phrase.
+</p><!--l. 412--><p class="indent" >   Examples:
      </p><ol  class="enumerate1" >
-     <li 
-  class="enumerate" id="x1-4008x1">Phrase entirely enclosed in a formatting command:
+<li 
+  class="enumerate" id="x1-4010x1">
+     <!--l. 414--><p class="noindent" >Phrase entirely enclosed in a formatting command:
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-19">
+</p>
+     <pre class="verbatim" id="verbatim-22">
      \capitalisefmtwords{\textbf{a&#x00A0;small&#x00A0;book&#x00A0;of&#x00A0;rhyme}}
-</div>
-     <!--l. 370--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+</pre>
+     <!--l. 417--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
      <br /><span 
 class="cmbx-10">A Small Book Of Rhyme</span>
      <br /><spacer type=vertical size=10></span>
      </p></li>
-     <li 
-  class="enumerate" id="x1-4010x2">Sub-phrase enclosed in a formatting command:
+<li 
+  class="enumerate" id="x1-4012x2">
+     <!--l. 423--><p class="noindent" >Sub-phrase enclosed in a formatting command:
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-20">
+</p>
+     <pre class="verbatim" id="verbatim-23">
      \capitalisefmtwords{a&#x00A0;\textbf{small&#x00A0;book}&#x00A0;of&#x00A0;rhyme}
-</div>
-     <!--l. 379--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+</pre>
+     <!--l. 426--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
      <br />A <span 
 class="cmbx-10">Small Book </span>Of Rhyme
      <br /><spacer type=vertical size=10></span>
      </p></li>
-     <li 
-  class="enumerate" id="x1-4012x3">Nested text-block commands:
+<li 
+  class="enumerate" id="x1-4014x3">
+     <!--l. 432--><p class="noindent" >Nested text-block commands:
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-21">
+</p>
+     <pre class="verbatim" id="verbatim-24">
      \capitalisefmtwords{\textbf{a&#x00A0;\emph{small&#x00A0;book}}&#x00A0;of&#x00A0;rhyme}
-</div>
-     <!--l. 388--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+</pre>
+     <!--l. 435--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
      <br /><span 
 class="cmbx-10">A </span><span 
 class="cmbxti-10">Small Book </span>Of Rhyme
      <br /><spacer type=vertical size=10></span>
      </p></li>
-     <li 
-  class="enumerate" id="x1-4014x4">Indicating words that shouldn’t have the case changed (see <a 
+<li 
+  class="enumerate" id="x1-4016x4">
+     <!--l. 441--><p class="noindent" >Indicating words that shouldn’t have the case changed (see <a 
 href="#sec:nocap"><span 
-class="cmsy-10">§</span>3.2 </a><a 
-href="#sec:nocap">Excluding Words From
-     Case-Changing<!--tex4ht:ref: sec:nocap --></a>):
+class="tcrm-1000">§</span><span 
+class="cmbx-10">3.2 </span></a><a 
+href="#sec:nocap">Excluding
+     Words From Case-Changing<!--tex4ht:ref: sec:nocap --></a>):
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-22">
+</p>
+     <pre class="verbatim" id="verbatim-25">
      \MFUnocap{of}
-     &#x00A0;<br />\capitalisefmtwords{\textbf{a&#x00A0;\emph{small&#x00A0;book}}&#x00A0;of&#x00A0;rhyme}
-</div>
-     <!--l. 399--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+     \capitalisefmtwords{\textbf{a&#x00A0;\emph{small&#x00A0;book}}&#x00A0;of&#x00A0;rhyme}
+</pre>
+     <!--l. 446--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
      <br /><span 
 class="cmbx-10">A </span><span 
 class="cmbxti-10">Small Book </span>of Rhyme
      <br /><spacer type=vertical size=10></span>
      </p></li>
-     <li 
-  class="enumerate" id="x1-4016x5">Starred form:
+<li 
+  class="enumerate" id="x1-4018x5">
+     <!--l. 453--><p class="noindent" >Starred form:
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-23">
+</p>
+     <pre class="verbatim" id="verbatim-26">
      \MFUnocap{of}
-     &#x00A0;<br />\capitalisefmtwords*{\emph{a&#x00A0;small&#x00A0;book&#x00A0;of&#x00A0;rhyme}}
-</div>
-     <!--l. 410--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+     \capitalisefmtwords*{\emph{a&#x00A0;small&#x00A0;book&#x00A0;of&#x00A0;rhyme}}
+</pre>
+     <!--l. 457--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
      <br /><span 
 class="cmti-10">A Small Book of Rhyme</span>
      <br /><spacer type=vertical size=10></span>
      </p></li>
-     <li 
-  class="enumerate" id="x1-4018x6">The starred form also works with just text (no text-block command):
+<li 
+  class="enumerate" id="x1-4020x6">
+     <!--l. 464--><p class="noindent" >The starred form also works with just text (no text-block command):
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-24">
+</p>
+     <pre class="verbatim" id="verbatim-27">
      \MFUnocap{of}
-     &#x00A0;<br />\capitalisefmtwords*{a&#x00A0;small&#x00A0;book&#x00A0;of&#x00A0;rhyme}
-</div>
-     <!--l. 422--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+     \capitalisefmtwords*{a&#x00A0;small&#x00A0;book&#x00A0;of&#x00A0;rhyme}
+</pre>
+     <!--l. 469--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
      <br />A Small Book of Rhyme
      <br /><spacer type=vertical size=10></span>
 </p>
      </li></ol>
-<!--l. 431--><p class="indent" >   If there is a text-block command within the argument of the starred form, it’s assumed to
+<!--l. 478--><p class="indent" >   If there is a text-block command within the argument of the starred form, it’s assumed to
 be at the start of the argument. Unexpected results can occur if there are other commands.
 For example
                                                                          
@@ -817,11 +907,11 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-25">
+   <pre class="verbatim" id="verbatim-28">
 \MFUnocap{of}
-&#x00A0;<br />\capitalisefmtwords*{\emph{a&#x00A0;small}&#x00A0;book&#x00A0;\textbf{of&#x00A0;rhyme}}
-</div>
-<!--l. 438--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+\capitalisefmtwords*{\emph{a&#x00A0;small}&#x00A0;book&#x00A0;\textbf{of&#x00A0;rhyme}}
+</pre>
+<!--l. 485--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br /><span 
 class="cmti-10">A Small </span>Book <span 
 class="cmbx-10">Of rhyme</span>
@@ -834,11 +924,11 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-26">
+   <pre class="verbatim" id="verbatim-29">
 \MFUnocap{of}
-&#x00A0;<br />\capitalisefmtwords*{a&#x00A0;\emph{very&#x00A0;small}&#x00A0;book&#x00A0;of&#x00A0;rhyme}
-</div>
-<!--l. 450--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+\capitalisefmtwords*{a&#x00A0;\emph{very&#x00A0;small}&#x00A0;book&#x00A0;of&#x00A0;rhyme}
+</pre>
+<!--l. 497--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br />A <span 
 class="cmti-10">Very small </span>Book of Rhyme
    <br /><spacer type=vertical size=10></span>
@@ -845,15 +935,15 @@
 (In this case <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\emph{very</span><span 
 class="cmtt-10">&#x00A0;small}</span></span></span> is considered a single word.)
-</p><!--l. 459--><p class="indent" >   Grouping causes interference:
+</p><!--l. 506--><p class="indent" >   Grouping causes interference:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-27">
+   <pre class="verbatim" id="verbatim-30">
 \capitalisefmtwords{{a&#x00A0;\emph{small&#x00A0;book}}&#x00A0;of&#x00A0;rhyme}
-</div>
-<!--l. 462--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+</pre>
+<!--l. 509--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br />A <span 
 class="cmti-10">Small book </span>Of Rhyme
    <br /><spacer type=vertical size=10></span>
@@ -863,72 +953,72 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-28">
+   <pre class="verbatim" id="verbatim-31">
 \capitalisefmtwords{{\bfseries&#x00A0;a&#x00A0;\emph{small&#x00A0;book}}&#x00A0;of&#x00A0;rhyme}
-</div>
-<!--l. 471--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+</pre>
+<!--l. 518--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br />a <span 
 class="cmti-10">Small book </span>Of Rhyme
    <br /><spacer type=vertical size=10></span>
-</p><!--l. 477--><p class="indent" >   Avoid complicated commands in the unstarred version. For example, the following
+</p><!--l. 524--><p class="indent" >   Avoid complicated commands in the unstarred version. For example, the following
 breaks:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-29">
+   <pre class="verbatim" id="verbatim-32">
 \newcommand*{\swap}[2]{{#2}{#1}}
-&#x00A0;<br />\capitalisefmtwords{a&#x00A0;\swap{bo}{ok}&#x00A0;of&#x00A0;rhyme}
-</div>
-<!--l. 482--><p class="nopar" > However it works okay with the starred form and the simpler <span 
+\capitalisefmtwords{a&#x00A0;\swap{bo}{ok}&#x00A0;of&#x00A0;rhyme}
+</pre>
+<!--l. 529--><p class="nopar" > However it works okay with the starred form and the simpler <span 
 class="cmtt-10">\capitalisewords</span>:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-30">
+   <pre class="verbatim" id="verbatim-33">
 \newcommand*{\swap}[2]{{#2}{#1}}
-&#x00A0;<br />\capitalisefmtwords*{a&#x00A0;\swap{bo}{ok}&#x00A0;of&#x00A0;rhyme}
-&#x00A0;<br />\capitalisewords{a&#x00A0;\swap{bo}{ok}&#x00A0;of&#x00A0;rhyme}
-</div>
-<!--l. 490--><p class="nopar" > Produces: <spacer type=vertical size=10><span class="obeylines-h">
+\capitalisefmtwords*{a&#x00A0;\swap{bo}{ok}&#x00A0;of&#x00A0;rhyme}
+\capitalisewords{a&#x00A0;\swap{bo}{ok}&#x00A0;of&#x00A0;rhyme}
+</pre>
+<!--l. 537--><p class="nopar" > Produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br />A okBo Of Rhyme
    <br />A okBo Of Rhyme
    <br /><spacer type=vertical size=10></span>
 Note that the case change is applied to the first argument.
-</p><!--l. 500--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 547--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\xcapitalisewords</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
- id="dx1-4019"></a> <span 
+ id="dx1-4021"></a> <span 
 class="cmtt-10">\xcapitalisewords{</span>&#x27E8;<span 
 class="cmitt-10">text</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 502--><p class="noindent" >
+</p><!--l. 549--><p class="noindent" >
 This is a short cut for <span 
 class="cmtt-10">\expandafter\capitalisewords\expandafter{</span>&#x27E8;<span 
 class="cmti-10">text</span>&#x27E9;<span 
 class="cmtt-10">}</span>.
-</p><!--l. 506--><p class="indent" >   As from version 1.10, there is now a command that fully expands the entire argument
+</p><!--l. 553--><p class="indent" >   As from version 1.10, there is now a command that fully expands the entire argument
 before applying <span 
 class="cmtt-10">\capitalisewords</span>:
-</p><!--l. 508--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 555--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\ecapitalisewords</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
- id="dx1-4020"></a> <span 
+ id="dx1-4022"></a> <span 
 class="cmtt-10">\ecapitalisewords{</span>&#x27E8;<span 
 class="cmitt-10">text</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 510--><p class="noindent" >
-</p><!--l. 512--><p class="indent" >   There are also similar shortcut commands for the version that allows text-block
+</p><!--l. 557--><p class="noindent" >
+</p><!--l. 559--><p class="indent" >   There are also similar shortcut commands for the version that allows text-block
 commands:
-</p><!--l. 514--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 561--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\xcapitalisefmtwords</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
- id="dx1-4021"></a> <span 
+ id="dx1-4023"></a> <span 
 class="cmtt-10">\xcapitalisefmtwords{</span>&#x27E8;<span 
 class="cmitt-10">text</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 516--><p class="noindent" >
+</p><!--l. 563--><p class="noindent" >
 The unstarred version is a short cut for <span 
 class="cmtt-10">\expandafter\capitalisefmtwords\expandafter</span>
 <span 
@@ -938,15 +1028,15 @@
 class="cmtt-10">\xcapitalisefmtwords </span>uses the starred version of
 <span 
 class="cmtt-10">\capitalisefmtwords</span>.
-</p><!--l. 522--><p class="indent" >   For full expansion:
-</p><!--l. 523--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 569--><p class="indent" >   For full expansion:
+</p><!--l. 570--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\ecapitalisefmtwords</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
- id="dx1-4022"></a> <span 
+ id="dx1-4024"></a> <span 
 class="cmtt-10">\ecapitalisefmtwords{</span>&#x27E8;<span 
 class="cmitt-10">text</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 525--><p class="noindent" >
+</p><!--l. 572--><p class="noindent" >
 Take care with this as it may expand non-robust semantic commands to replacement
 text that breaks the functioning of <span 
 class="cmtt-10">\capitalisefmtwords</span>. Use robust semantic
@@ -953,24 +1043,24 @@
 commands where possible. Again this has a starred version that uses the starred form of
 <span 
 class="cmtt-10">\capitalisefmtwords</span>.
-</p><!--l. 532--><p class="indent" >   Examples:
+</p><!--l. 579--><p class="indent" >   Examples:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-31">
+   <pre class="verbatim" id="verbatim-34">
 \newcommand{\abc}{\xyz\space&#x00A0;four&#x00A0;five}
-&#x00A0;<br />\newcommand{\xyz}{one&#x00A0;two&#x00A0;three}
-&#x00A0;<br />No&#x00A0;expansion:&#x00A0;\capitalisewords{\abc}.
-&#x00A0;<br />First&#x00A0;object&#x00A0;one-level&#x00A0;expansion:&#x00A0;\xcapitalisewords{\abc}.
-&#x00A0;<br />Fully&#x00A0;expanded:&#x00A0;\ecapitalisewords{\abc}.
-</div>
-<!--l. 539--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+\newcommand{\xyz}{one&#x00A0;two&#x00A0;three}
+No&#x00A0;expansion:&#x00A0;\capitalisewords{\abc}.
+First&#x00A0;object&#x00A0;one-level&#x00A0;expansion:&#x00A0;\xcapitalisewords{\abc}.
+Fully&#x00A0;expanded:&#x00A0;\ecapitalisewords{\abc}.
+</pre>
+<!--l. 586--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br />No expansion: ONE TWO THREE FOUR FIVE.
    <br />First object one-level expansion: ONE TWO THREE four Five.
    <br />Fully expanded: One Two Three Four Five.
    <br /><spacer type=vertical size=10></span>
-</p><!--l. 549--><p class="indent" >   (Remember that the spaces need to be explicit. In the second case above, using
+</p><!--l. 596--><p class="indent" >   (Remember that the spaces need to be explicit. In the second case above, using
 <span 
 class="cmtt-10">\xcapitalisewords</span>, the space before “four” has been hidden within <span 
 class="cmtt-10">\space </span>so it’s not
@@ -977,74 +1067,84 @@
 recognised as a word boundary, but in the third case, <span 
 class="cmtt-10">\space </span>has been expanded to an actual
 space character.)
-</p><!--l. 555--><p class="indent" >   Examples:
+</p><!--l. 602--><p class="indent" >   Examples:
      </p><ol  class="enumerate1" >
-     <li 
-  class="enumerate" id="x1-4024x1">
+<li 
+  class="enumerate" id="x1-4026x1">
+     <!--l. 605--><p class="noindent" >
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-32">
+</p>
+     <pre class="verbatim" id="verbatim-35">
      \capitalisewords{a&#x00A0;book&#x00A0;of&#x00A0;rhyme.}
-</div>
-     <!--l. 560--><p class="nopar" > produces: A Book Of Rhyme.
+</pre>
+     <!--l. 607--><p class="nopar" > produces: A Book Of Rhyme.
      </p></li>
-     <li 
-  class="enumerate" id="x1-4026x2">
+<li 
+  class="enumerate" id="x1-4028x2">
+     <!--l. 612--><p class="noindent" >
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-33">
+</p>
+     <pre class="verbatim" id="verbatim-36">
      \capitalisewords{a&#x00A0;book\space&#x00A0;of&#x00A0;rhyme.}
-</div>
-     <!--l. 567--><p class="nopar" > produces: A Book of Rhyme.
+</pre>
+     <!--l. 614--><p class="nopar" > produces: A Book of Rhyme.
      </p></li>
-     <li 
-  class="enumerate" id="x1-4028x3">
+<li 
+  class="enumerate" id="x1-4030x3">
+     <!--l. 619--><p class="noindent" >
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-34">
+</p>
+     <pre class="verbatim" id="verbatim-37">
      \newcommand{\mytitle}{a&#x00A0;book\space&#x00A0;of&#x00A0;rhyme.}
-     &#x00A0;<br />\capitalisewords{\mytitle}
-</div>
-     <!--l. 575--><p class="nopar" > produces:  A BOOK OF RHYME. (No expansion is performed on <span 
+     \capitalisewords{\mytitle}
+</pre>
+     <!--l. 622--><p class="nopar" > produces:  A BOOK OF RHYME. (No expansion is performed on <span 
 class="cmtt-10">\mytitle</span>.) Compare
      with next example:
      </p></li>
-     <li 
-  class="enumerate" id="x1-4030x4">
+<li 
+  class="enumerate" id="x1-4032x4">
+     <!--l. 629--><p class="noindent" >
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-35">
+</p>
+     <pre class="verbatim" id="verbatim-38">
      \newcommand{\mytitle}{a&#x00A0;book\space&#x00A0;of&#x00A0;rhyme.}
-     &#x00A0;<br />\xcapitalisewords{\mytitle}
-</div>
-     <!--l. 585--><p class="nopar" > produces: A Book of Rhyme.
-     </p><!--l. 589--><p class="noindent" >However
+     \xcapitalisewords{\mytitle}
+</pre>
+     <!--l. 632--><p class="nopar" > produces: A Book of Rhyme.
+     </p><!--l. 636--><p class="noindent" >However
                                                                          
 
                                                                          
 </p>
-     <div class="verbatim" id="verbatim-36">
+     <pre class="verbatim" id="verbatim-39">
      \ecapitalisewords{\mytitle}
-</div>
-     <!--l. 592--><p class="nopar" > produces: A Book Of Rhyme. (<span 
+</pre>
+     <!--l. 639--><p class="nopar" > produces: A Book Of Rhyme. (<span 
 class="cmtt-10">\space </span>has been expanded to an actual space
      character.)
      </p></li>
-     <li 
-  class="enumerate" id="x1-4032x5">
+<li 
+  class="enumerate" id="x1-4034x5">
+     <!--l. 645--><p class="noindent" >
                                                                          
 
                                                                          
-     <div class="verbatim" id="verbatim-37">
+</p>
+     <pre class="verbatim" id="verbatim-40">
      \newcommand*{\swap}[2]{{#2}{#1}}
-     &#x00A0;<br />\capitalisewords{a&#x00A0;\swap{bo}{ok}&#x00A0;of&#x00A0;rhyme}
-     &#x00A0;<br />\ecapitalisewords{a&#x00A0;\swap{bo}{ok}&#x00A0;of&#x00A0;rhyme}
-</div>
-     <!--l. 603--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+     \capitalisewords{a&#x00A0;\swap{bo}{ok}&#x00A0;of&#x00A0;rhyme}
+     \ecapitalisewords{a&#x00A0;\swap{bo}{ok}&#x00A0;of&#x00A0;rhyme}
+</pre>
+     <!--l. 650--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
      <br />A okBo Of Rhyme
      <br />A OKbo Of Rhyme
      <br /><spacer type=vertical size=10></span>
@@ -1056,14 +1156,14 @@
 
                                                                          
 </p>
-     <div class="verbatim" id="verbatim-38">
+     <pre class="verbatim" id="verbatim-41">
      \capitalisewords{a&#x00A0;{ok}{bo}&#x00A0;of&#x00A0;rhyme}
-</div>
-     <!--l. 616--><p class="nopar" ></p></li></ol>
-<!--l. 619--><p class="noindent" ><a 
+</pre>
+     <!--l. 663--><p class="nopar" ></p></li></ol>
+<!--l. 666--><p class="noindent" ><a 
 href="#top">Top</a><h3 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">3.1   </span> <a 
  id="sec:pdfbookmarks"></a>PDF Bookmarks</h3>
-<!--l. 622--><p class="noindent" ><div class="important" title="Important Note"> If you are using <span 
+<!--l. 669--><p class="noindent" ><div class="important" title="Important Note"> If you are using <span 
 class="cmss-10">hyperref</span><a 
  id="dx1-5001"></a> and want to use <span 
 class="cmtt-10">\capitalisewords</span>, <span 
@@ -1077,14 +1177,14 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-39">
+   <pre class="verbatim" id="verbatim-42">
 Package&#x00A0;hyperref&#x00A0;Warning:&#x00A0;Token&#x00A0;not&#x00A0;allowed&#x00A0;in&#x00A0;a&#x00A0;PDF&#x00A0;string
-&#x00A0;<br />(PDFDocEncoding):
-&#x00A0;<br />(hyperref)&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;removing&#x00A0;`\capitalisewords'
-</div>
-<!--l. 632--><p class="nopar" > </div>
-</p><!--l. 633--><p class="noindent" >
-</p><!--l. 635--><p class="noindent" >If you want to provide an alternative for the PDF bookmark, you can use <span 
+(PDFDocEncoding):
+(hyperref)&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;removing&#x00A0;`\capitalisewords'
+</pre>
+<!--l. 679--><p class="nopar" > </div>
+</p><!--l. 680--><p class="noindent" >
+</p><!--l. 682--><p class="noindent" >If you want to provide an alternative for the PDF bookmark, you can use <span 
 class="cmss-10">hyperref</span><a 
  id="dx1-5003"></a>’s
 <span 
@@ -1094,13 +1194,13 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-40">
+   <pre class="verbatim" id="verbatim-43">
 \chapter{\texorpdfstring
-&#x00A0;<br />&#x00A0;&#x00A0;{\capitalisewords{a&#x00A0;book&#x00A0;of&#x00A0;rhyme}}%&#x00A0;TeX
-&#x00A0;<br />&#x00A0;&#x00A0;{A&#x00A0;Book&#x00A0;of&#x00A0;Rhyme}%&#x00A0;PDF
-&#x00A0;<br />}
-</div>
-<!--l. 642--><p class="nopar" > Alternatively, you can use <span 
+&#x00A0;&#x00A0;{\capitalisewords{a&#x00A0;book&#x00A0;of&#x00A0;rhyme}}%&#x00A0;TeX
+&#x00A0;&#x00A0;{A&#x00A0;Book&#x00A0;of&#x00A0;Rhyme}%&#x00A0;PDF
+}
+</pre>
+<!--l. 689--><p class="nopar" > Alternatively, you can use <span 
 class="cmss-10">hyperref</span><a 
  id="dx1-5005"></a>’s mechanism for disabling commands within the
 bookmarks. For example:
@@ -1108,24 +1208,24 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-41">
+   <pre class="verbatim" id="verbatim-44">
 \pdfstringdefDisableCommands{%
-&#x00A0;<br />&#x00A0;\let\capitalisewords\@firstofone
-&#x00A0;<br />}
-</div>
-<!--l. 649--><p class="nopar" >
-</p><!--l. 651--><p class="indent" >   See the <span 
+&#x00A0;\let\capitalisewords\@firstofone
+}
+</pre>
+<!--l. 696--><p class="nopar" >
+</p><!--l. 698--><p class="indent" >   See the <span 
 class="cmss-10">hyperref</span><a 
  id="dx1-5006"></a> manual for further details.
-</p><!--l. 653--><p class="noindent" >
+</p><!--l. 700--><p class="noindent" >
 </p>
-<!--l. 653--><p class="noindent" ><a 
+<!--l. 700--><p class="noindent" ><a 
 href="#top">Top</a><h3 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">3.2   </span> <a 
  id="sec:nocap"></a>Excluding Words From Case-Changing</h3>
-<!--l. 656--><p class="noindent" >As from v1.09, you can specify words which shouldn’t be capitalised unless they occur at the
+<!--l. 703--><p class="noindent" >As from v1.09, you can specify words which shouldn’t be capitalised unless they occur at the
 start of &#x27E8;<span 
 class="cmti-10">text</span>&#x27E9; using:
-</p><!--l. 658--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 705--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\MFUnocap</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
  id="dx1-6001"></a> <span 
@@ -1132,9 +1232,9 @@
 class="cmtt-10">\MFUnocap{</span>&#x27E8;<span 
 class="cmitt-10">word</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 660--><p class="noindent" >
+</p><!--l. 707--><p class="noindent" >
 This only has a local effect. The global version is:
-</p><!--l. 662--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 709--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\gMFUnocap</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
  id="dx1-6002"></a> <span 
@@ -1141,40 +1241,40 @@
 class="cmtt-10">\gMFUnocap{</span>&#x27E8;<span 
 class="cmitt-10">word</span>&#x27E9;<span 
 class="cmtt-10">} </span></div><hr>
-</p><!--l. 664--><p class="noindent" >
-</p><!--l. 666--><p class="indent" >   For example:
+</p><!--l. 711--><p class="noindent" >
+</p><!--l. 713--><p class="indent" >   For example:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-42">
+   <pre class="verbatim" id="verbatim-45">
 \capitalisewords{the&#x00A0;wind&#x00A0;in&#x00A0;the&#x00A0;willows}
-&#x00A0;<br />\MFUnocap{in}%
-&#x00A0;<br />\MFUnocap{the}%
-&#x00A0;<br />\capitalisewords{the&#x00A0;wind&#x00A0;in&#x00A0;the&#x00A0;willows}
-</div>
-<!--l. 674--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+\MFUnocap{in}%
+\MFUnocap{the}%
+\capitalisewords{the&#x00A0;wind&#x00A0;in&#x00A0;the&#x00A0;willows}
+</pre>
+<!--l. 721--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br />The Wind In The Willows
    <br />The Wind in the Willows
    <br /><spacer type=vertical size=10></span>
 The list of words that shouldn’t be capitalised can be cleared using
-</p><!--l. 685--><p class="indent" >   <hr><div title="Definition"><span class="marginpar"><span 
+</p><!--l. 732--><p class="indent" >   <hr><div title="Definition"><span class="reversemarginpar"><span 
 class="cmtt-9">\MFUclear</span><span 
 class="cmtt-9">&#x00A0;</span></span><a 
  id="dx1-6003"></a> <span 
 class="cmtt-10">\MFUclear </span></div><hr>
-</p><!--l. 687--><p class="noindent" >
-</p><!--l. 689--><p class="indent" >   You can also simply place an empty group in front of a word if you don’t want that specific
+</p><!--l. 734--><p class="noindent" >
+</p><!--l. 736--><p class="indent" >   You can also simply place an empty group in front of a word if you don’t want that specific
 instance to be capitalised. For example:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-43">
+   <pre class="verbatim" id="verbatim-46">
 \MFUclear
-&#x00A0;<br />\capitalisewords{the&#x00A0;{}wind&#x00A0;in&#x00A0;the&#x00A0;willows}
-</div>
-<!--l. 695--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
+\capitalisewords{the&#x00A0;{}wind&#x00A0;in&#x00A0;the&#x00A0;willows}
+</pre>
+<!--l. 742--><p class="nopar" > produces: <spacer type=vertical size=10><span class="obeylines-h">
    <br />The wind In The Willows
    <br /><spacer type=vertical size=10></span>
 This is also a useful way of protecting commands that shouldn’t be parsed. For
@@ -1183,10 +1283,10 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-44">
+   <pre class="verbatim" id="verbatim-47">
 \capitalisewords{this&#x00A0;is&#x00A0;section&#x00A0;{}\nameref{sec:nocap}.}
-</div>
-<!--l. 705--><p class="nopar" > produces <spacer type=vertical size=10><span class="obeylines-h">
+</pre>
+<!--l. 752--><p class="nopar" > produces <spacer type=vertical size=10><span class="obeylines-h">
    <br />This Is Section <a 
 href="#sec:nocap">Excluding Words From Case-Changing<!--tex4ht:ref: sec:nocap --></a>.
    <br /><spacer type=vertical size=10></span>
@@ -1193,7 +1293,7 @@
 (No case-changing is applied to <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\nameref{sec:nocap}</span></span></span>. It just happens to already be in title
 case.)
-</p><!--l. 713--><p class="indent" >   The package <span 
+</p><!--l. 760--><p class="indent" >   The package <span 
 class="cmss-10">mfirstuc-english</span><a 
  id="dx1-6004"></a> loads <span 
 class="cmss-10">mfirstuc </span>and uses <span 
@@ -1202,7 +1302,7 @@
 to add other words to this list, such as prepositions but, as there’s some dispute
 over whether prepositions should be capitalised, I&#x00A0;don’t intend to add them to this
 package.
-</p><!--l. 720--><p class="indent" >   If you want to write a similar package for another language, all you need to do is create a
+</p><!--l. 767--><p class="indent" >   If you want to write a similar package for another language, all you need to do is create a
 file with the extension <span 
 class="cmtt-10">.sty </span>that starts with
                                                                          
@@ -1209,10 +1309,10 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-45">
+   <pre class="verbatim" id="verbatim-48">
 \NeedsTeXFormat{LaTeX2e}
-</div>
-<!--l. 725--><p class="nopar" > The next line should identify the package. For example, if you have called the file
+</pre>
+<!--l. 772--><p class="nopar" > The next line should identify the package. For example, if you have called the file
 <span 
 class="cmtt-10">mfirstuc-french.sty </span>then you need:
                                                                          
@@ -1219,46 +1319,45 @@
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-46">
+   <pre class="verbatim" id="verbatim-49">
 \ProvidesPackage{mfirstuc-french}
-</div>
-<!--l. 730--><p class="nopar" > It’s a good idea to also add a version in the final optional argument, for example:
+</pre>
+<!--l. 777--><p class="nopar" > It’s a good idea to also add a version in the final optional argument, for example:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-47">
+   <pre class="verbatim" id="verbatim-50">
 \ProvidesPackage{mfirstuc-french}[2014/07/30&#x00A0;v1.0]
-</div>
-<!--l. 735--><p class="nopar" > Next load <span 
+</pre>
+<!--l. 782--><p class="nopar" > Next load <span 
 class="cmss-10">mfirstuc</span>:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-48">
+   <pre class="verbatim" id="verbatim-51">
 \RequirePackage{mfirstuc}
-</div>
-<!--l. 739--><p class="nopar" > Now add all your <span 
+</pre>
+<!--l. 786--><p class="nopar" > Now add all your <span 
 class="cmtt-10">\MFUnocap </span>commands. For example:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-49">
+   <pre class="verbatim" id="verbatim-52">
 \MFUnocap{de}
-</div>
-<!--l. 743--><p class="nopar" > At the end of the file add:
+</pre>
+<!--l. 790--><p class="nopar" > At the end of the file add:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-50">
+   <pre class="verbatim" id="verbatim-53">
 \endinput
-</div>
-<!--l. 747--><p class="nopar" >
-</p><!--l. 749--><p class="indent" >   Put the file somewhere on <span class="TEX">T<span 
-class="E">E</span>X</span>’s path, and now you can use this package in your
+</pre>
+<!--l. 794--><p class="nopar" >
+</p><!--l. 796--><p class="indent" >   Put the file somewhere on TeX’s path, and now you can use this package in your
 document. You might also consider <a 
 href="http://ctan.org/upload" >uploading it to CTAN</a> in case other users find it
 useful.
@@ -1266,13 +1365,15 @@
 
                                                                          
 </p>
-<!--l. 754--><p class="indent" >   </div>
-</p><!--l. 754--><p class="noindent" ><a 
+<!--l. 801--><p class="indent" >   </div>
+</p><!--l. 801--><p class="noindent" ><a 
 href="#top">Top</a><div class="chapter"><h2 class="chapterHead">4. <a 
  id="sec:utf8"></a>UTF-8</h2>
-</p><!--l. 757--><p class="indent" >   The <span 
-class="cmtt-10">\makefirstuc </span>command works by utilizing the fact that, in most cases, <span class="TEX">T<span 
-class="E">E</span>X</span>&#x00A0;doesn’t
+</p><!--l. 804--><p class="indent" >   (See <a 
+href="https://dickimaw-books.com/blog/binary-files-text-files-and-file-encodings/" >Binary Files, Text Files and File Encodings</a> if you are confused about how file
+encodings such as UTF-8 relate to text files.)
+</p><!--l. 809--><p class="indent" >   The <span 
+class="cmtt-10">\makefirstuc </span>command works by utilizing the fact that, in most cases, TeX&#x00A0;doesn’t
 require a regular argument to be enclosed in braces if it only consists of a single token. (This is
 why you can do, say, <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\frac12</span></span></span> instead of <span class="obeylines-h"><span class="verb"><span 
@@ -1280,35 +1381,35 @@
 class="cmtt-10">x^2</span></span></span> instead of <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">x^{2}</span></span></span>, although some
 users frown on this practice.)
-</p><!--l. 764--><p class="indent" >   A&#x00A0;simplistic version of the <span 
+</p><!--l. 816--><p class="indent" >   A&#x00A0;simplistic version of the <span 
 class="cmtt-10">\makefirstuc </span>command is:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-51">
+   <pre class="verbatim" id="verbatim-54">
 \newcommand*{\FirstUC}[1]{\MakeUppercase&#x00A0;#1}
-</div>
-<!--l. 767--><p class="nopar" > Here
+</pre>
+<!--l. 819--><p class="nopar" > Here
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-52">
+   <pre class="verbatim" id="verbatim-55">
 \FirstUC{abc}
-</div>
-<!--l. 771--><p class="nopar" > is equivalent to
+</pre>
+<!--l. 823--><p class="nopar" > is equivalent to
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-53">
+   <pre class="verbatim" id="verbatim-56">
 \MakeUppercase&#x00A0;abc
-</div>
-<!--l. 775--><p class="nopar" > and since <span 
+</pre>
+<!--l. 827--><p class="nopar" > and since <span 
 class="cmtt-10">\MakeUppercase </span>requires an argument, it grabs the first token (the character “a” in
 this case) and uses that as the argument so that the result is: Abc.
-</p><!--l. 780--><p class="indent" >   The <span 
+</p><!--l. 832--><p class="indent" >   The <span 
 class="cmss-10">glossaries</span><a 
  id="dx1-7001"></a> package needs to take into account the fact that the text may be contained
 in the argument of a formatting command, such as <span 
@@ -1367,7 +1468,7 @@
 class="cmsy-10">}</span>
 </div>
 </div>
-<!--l. 812--><p class="indent" >   Try the following document: </p><div class="alltt">
+<!--l. 864--><p class="indent" >   Try the following document: </p><div class="alltt">
                                                                          
 
                                                                          
@@ -1408,15 +1509,15 @@
 class="cmsy-10">}</span>
 </div>
 </div>
-<!--l. 826--><p class="indent" >   This will result in the error:
+<!--l. 878--><p class="indent" >   This will result in the error:
                                                                          
 
                                                                          
 </p>
-   <div class="verbatim" id="verbatim-54">
+   <pre class="verbatim" id="verbatim-57">
 !&#x00A0;Argument&#x00A0;of&#x00A0;\UTFviii at two@octets&#x00A0;has&#x00A0;an&#x00A0;extra&#x00A0;}.
-</div>
-<!--l. 829--><p class="nopar" > This is why <span class="obeylines-h"><span class="verb"><span 
+</pre>
+<!--l. 881--><p class="nopar" > This is why <span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\makefirstuc{</span></span></span><span 
 class="cmtt-10">ã</span><span 
 class="cmtt-10">bc</span><span class="obeylines-h"><span class="verb"><span 
@@ -1423,12 +1524,10 @@
 class="cmtt-10">}</span></span></span> won’t work. It will only work if the character <span 
 class="cmtt-10">ã</span> is placed
 inside a group.
-</p><!--l. 834--><p class="indent" >   The reason for this error message is due to <span class="TEX">T<span 
-class="E">E</span>X</span>&#x00A0;having been written before Unicode was
+</p><!--l. 886--><p class="indent" >   The reason for this error message is due to TeX&#x00A0;having been written before Unicode was
 invented. Although <span 
-class="cmtt-10">ã</span> may look like a single character in your text editor, from <span class="TEX">T<span 
-class="E">E</span>X</span>’s point
-of view it’s <span 
+class="cmtt-10">ã</span> may look like a single character in your text editor, from TeX’s point of
+view it’s <span 
 class="cmti-10">two </span>tokens. So </p><div class="alltt">
 <div class="obeylines-v">
 <span 
@@ -1450,9 +1549,10 @@
 class="cmsy-10">}</span><span 
 class="cmtt-10">bc</span>
 </div>
-</div>
-<!--l. 850--><p class="indent" >   Note that XeTeX&#x00A0;(and therefore XeLaTeX) is a modern implementation of <span class="TEX">T<span 
-class="E">E</span>X</span>&#x00A0;designed
+</div> Over recent years the LaTeX&#x00A0;kernel has changed to allow the use of UTF-8 characters within
+labels but the fundamental problem of each octet been viewed as a separated token
+remains.
+<!--l. 905--><p class="indent" >   Note that XeTeX&#x00A0;(and therefore XeLaTeX) is a modern implementation of TeX&#x00A0;designed
 to work with Unicode and therefore doesn’t suffer from this drawback. Now let’s look at the
 XeLaTeX&#x00A0;equivalent of the above example: </p><div class="alltt">
 <div class="obeylines-v">
@@ -1487,7 +1587,7 @@
 class="cmsy-10">}</span>
 </div>
 </div>
-<!--l. 866--><p class="indent" >   This works correctly when compiled with XeLaTeX. This means that <span 
+<!--l. 921--><p class="indent" >   This works correctly when compiled with XeLaTeX. This means that <span 
 class="cmtt-10">\makefirstuc</span><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">{</span></span></span><span 
 class="cmtt-10">ã</span><span 
@@ -1499,7 +1599,7 @@
 class="cmssi-10">fontspec</span><a 
  id="dx1-7002"></a> <span 
 class="cmti-10">package</span>.
-</p><!--l. 870--><p class="indent" >   Version 2.24 of <span 
+</p><!--l. 925--><p class="indent" >   Version 2.24 of <span 
 class="cmss-10">datatool-base</span><a 
  id="dx1-7003"></a> added the command <span 
 class="cmtt-10">\dtl at getfirst@UTFviii </span>which
@@ -1526,15 +1626,15 @@
 <p class="theindex">                                                                       <span 
 class="cmbx-10">D</span>
 <span class="index-item"><span 
-class="cmss-10">datatool-base </span>package&#x00A0;&#x00A0;6, 19 <br /></span>
+class="cmss-10">datatool-base </span>package&#x00A0;&#x00A0;<span class="underline">6</span>, <span class="underline">20</span> <br /></span>
 </p><p class="theindex">                                                                       <span 
 class="cmbx-10">E</span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\ecapitalisefmtwords</span></span></span>&#x00A0;&#x00A0;<span 
-class="cmti-10">12 </span><br /></span>
+class="cmti-10">13 </span><br /></span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\ecapitalisewords</span></span></span>&#x00A0;&#x00A0;<span 
-class="cmti-10">12 </span><br /></span>
+class="cmti-10">13 </span><br /></span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\emakefirstuc</span></span></span>&#x00A0;&#x00A0;<span 
 class="cmti-10">7 </span><br /></span>
@@ -1541,11 +1641,11 @@
 </p><p class="theindex">                                                                       <span 
 class="cmbx-10">F</span>
 <span class="index-item"><span 
-class="cmss-10">fontspec </span>package&#x00A0;&#x00A0;19 <br /></span>
+class="cmss-10">fontspec </span>package&#x00A0;&#x00A0;<span class="underline">20</span> <br /></span>
 </p><p class="theindex">                                                                       <span 
 class="cmbx-10">G</span>
 <span class="index-item"><span 
-class="cmss-10">glossaries </span>package&#x00A0;&#x00A0;6, 7, 17 <br /></span>
+class="cmss-10">glossaries </span>package&#x00A0;&#x00A0;<span class="underline">6, 7</span>, <span class="underline">18</span> <br /></span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\glsmakefirstuc</span></span></span>&#x00A0;&#x00A0;<span 
 class="cmti-10">7 </span><br /></span>
@@ -1555,7 +1655,7 @@
 </p><p class="theindex">                                                                       <span 
 class="cmbx-10">H</span>
 <span class="index-item"><span 
-class="cmss-10">hyperref </span>package&#x00A0;&#x00A0;14 <br /></span>
+class="cmss-10">hyperref </span>package&#x00A0;&#x00A0;<span class="underline">15</span> <br /></span>
 </p><p class="theindex">                                                                        <span 
 class="cmbx-10">I</span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
@@ -1562,7 +1662,7 @@
 class="cmtt-10">\ifMFUhyphen</span></span></span>&#x00A0;&#x00A0;<span 
 class="cmti-10">8 </span><br /></span>
 <span class="index-item"><span 
-class="cmss-10">inputenc </span>package&#x00A0;&#x00A0;6 <br /></span>
+class="cmss-10">inputenc </span>package&#x00A0;&#x00A0;<span class="underline">6</span> <br /></span>
 </p><p class="theindex">                                                                       <span 
 class="cmbx-10">M</span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
@@ -1569,18 +1669,18 @@
 class="cmtt-10">\makefirstuc</span></span></span>&#x00A0;&#x00A0;<span 
 class="cmti-10">5 </span><br /></span>
 <span class="index-item"><span 
-class="cmss-10">mfirstuc </span>package&#x00A0;&#x00A0;6, 19 <br /></span>
+class="cmss-10">mfirstuc </span>package&#x00A0;&#x00A0;<span class="underline">6</span>, <span class="underline">20</span> <br /></span>
                                                                          
 
                                                                          
 <span class="index-item"><span 
-class="cmss-10">mfirstuc-english </span>package&#x00A0;&#x00A0;15 <br /></span>
+class="cmss-10">mfirstuc-english </span>package&#x00A0;&#x00A0;<span class="underline">9</span>, <span class="underline">16</span> <br /></span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
-class="cmtt-10">\MFUcapword</span></span></span>&#x00A0;&#x00A0;<span 
+class="cmtt-10">\MFUcapwordfirstuc</span></span></span>&#x00A0;&#x00A0;<span 
 class="cmti-10">8 </span><br /></span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\MFUclear</span></span></span>&#x00A0;&#x00A0;<span 
-class="cmti-10">15 </span><br /></span>
+class="cmti-10">16 </span><br /></span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\MFUhyphenfalse</span></span></span>&#x00A0;&#x00A0;<span 
 class="cmti-10">8 </span><br /></span>
@@ -1590,23 +1690,29 @@
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\MFUnocap</span></span></span>&#x00A0;&#x00A0;<span 
 class="cmti-10">15 </span><br /></span>
+<span class="index-item"><span class="obeylines-h"><span class="verb"><span 
+class="cmtt-10">\MFUskippunc</span></span></span>&#x00A0;&#x00A0;<span 
+class="cmti-10">5 </span><br /></span>
+<span class="index-item"><span class="obeylines-h"><span class="verb"><span 
+class="cmtt-10">\MFUwordbreak</span></span></span>&#x00A0;&#x00A0;<span 
+class="cmti-10">9 </span><br /></span>
 </p><p class="theindex">                                                                       <span 
 class="cmbx-10">T</span>
 <span class="index-item"><span 
-class="cmss-10">textcase </span>package&#x00A0;&#x00A0;7 <br /></span>
+class="cmss-10">textcase </span>package&#x00A0;&#x00A0;<span class="underline">7</span> <br /></span>
 </p><p class="theindex">                                                                       <span 
 class="cmbx-10">X</span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\xcapitalisefmtwords</span></span></span>&#x00A0;&#x00A0;<span 
-class="cmti-10">12 </span><br /></span>
+class="cmti-10">13 </span><br /></span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\xcapitalisewords</span></span></span>&#x00A0;&#x00A0;<span 
-class="cmti-10">12 </span><br /></span>
+class="cmti-10">13 </span><br /></span>
 <span class="index-item"><span class="obeylines-h"><span class="verb"><span 
 class="cmtt-10">\xmakefirstuc</span></span></span>&#x00A0;&#x00A0;<span 
 class="cmti-10">7 </span><br /></span>
 </p></div>
- 
+    
 </body></html> 
 
                                                                          

Modified: trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-manual.tex	2021-10-15 22:14:49 UTC (rev 60769)
+++ trunk/Master/texmf-dist/doc/latex/mfirstuc/mfirstuc-manual.tex	2021-10-15 22:15:23 UTC (rev 60770)
@@ -26,13 +26,13 @@
 
 \begin{document}
 \MakeShortVerb{|}
- \title{mfirstuc.sty v2.06: 
+ \title{mfirstuc.sty v2.07: 
 uppercasing first letter}
  \author{Nicola L.C. Talbot\\[10pt]
 Dickimaw Books\\
 \url{http://www.dickimaw-books.com/}}
 
- \date{2017-11-14}
+ \date{2021-10-15}
  \maketitle
  \tableofcontents
 
@@ -120,6 +120,12 @@
 object in the group is converted to upper case.
 \textbf{No expansion is performed on the argument.}
 
+If \meta{stuff} starts with punctuation that should be skipped over,
+use:
+\begin{definition}[\DescribeMacro\MFUskippunc]
+\cs{MFUskippunc}\marg{punctuation}
+\end{definition}
+
 \begin{important}
 If \meta{stuff} starts with a control sequence that takes more than
 one argument, the case-changing will always be applied to the
@@ -157,6 +163,9 @@
 
 \item |\makefirstuc{{ä}bc}| produces \makefirstuc{{ä}bc}.
 
+\item |\makefirstuc{\MFUskippunc{'}tis the season}| produces
+\makefirstuc{\MFUskippunc{'}tis the season}.
+
 \end{itemize}
 
 Note that non-Latin or accented characters appearing at the
@@ -279,12 +288,12 @@
 words (such as \qt{of}) from the case-changing.
 
 The actual capitalisation of each word is done using
-(new to version 2.03): 
-\begin{definition}[\DescribeMacro\MFUcapword]
-\cs{MFUcapword}\marg{word}
+\begin{definition}[\DescribeMacro\MFUcapwordfirstuc]
+\cs{MFUcapwordfirstuc}\marg{word}
 \end{definition}
-This just does \cs{makefirstuc}\marg{word} by default, but
-its behaviour is determined by the conditional:
+This just does \cs{makefirstuc}\marg{word} by default.
+There's a conditional that determines whether or not to consider a
+hyphen a word break:
 \begin{definition}[\DescribeMacro\ifMFUhyphen]
 \cs{ifMFUhyphen}
 \end{definition}
@@ -316,7 +325,45 @@
 \MFUhyphentrue
 \capitalisewords{server-side includes}
 \end{display}
+Note that this won't apply exceptions to each part of the hyphenated
+word.
 
+For other punctuation you need to markup the character with:
+\begin{definition}[\DescribeMacro\MFUwordbreak]
+\cs{MFUwordbreak}\marg{punctuation}
+\end{definition}
+For example:
+\begin{verbatim}
+\capitalisewords{a big\MFUwordbreak{/}small idea}
+\end{verbatim}
+which produces:
+\begin{display}
+\capitalisewords{a big\MFUwordbreak{/}small idea}
+\end{display}
+In this case, exceptions are applied. For example, if
+\sty{mfirstuc-english} is loaded then:
+\begin{verbatim}
+\capitalisewords{one and\MFUwordbreak{/}or another}
+\end{verbatim}
+produces:
+\begin{display}
+\MFUnocap{and}\MFUnocap{or}%
+\capitalisewords{one and\MFUwordbreak{/}or another}
+\end{display}
+Note that you can't hide \cs{MFUwordbreak} inside a command or group.
+
+Exceptions aren't applied if \cs{MFUwordbreak} occurs before the
+first space. For example:
+\begin{verbatim}
+\MFUnocap{a}\MFUnocap{the}%
+\capitalisewords{a\MFUwordbreak{/}the something}
+\end{verbatim}
+produces:
+\begin{display}
+\MFUnocap{a}\MFUnocap{the}%
+\capitalisewords{a\MFUwordbreak{/}the something}
+\end{display}
+
 Formatting for the entire phrase must go outside
 \cs{capitalisewords} (unlike \cs{makefirstuc}). Compare:
 \begin{verbatim}
@@ -754,6 +801,11 @@
 \chapter{UTF-8}
 \label{sec:utf8}
 
+(See
+\href{https://dickimaw-books.com/blog/binary-files-text-files-and-file-encodings/}{Binary
+Files, Text Files and File Encodings} if you are confused about how
+file encodings such as UTF-8 relate to text files.)
+
 The \cs{makefirstuc} command works by utilizing the fact that, in
 most cases, \TeX\ doesn't require a regular argument to be enclosed
 in braces if it only consists of a single token. (This is why you
@@ -846,6 +898,9 @@
 \begin{alltt}
 \cs{MakeUppercase}\{\~a\}bc
 \end{alltt}
+Over recent years the \LaTeX\ kernel has changed to allow the use of
+UTF-8 characters within labels but the fundamental problem of each
+octet been viewed as a separated token remains.
 
 Note that \XeTeX\ (and therefore \XeLaTeX) is a modern
 implementation of \TeX\ designed to work with Unicode and therefore

Modified: trunk/Master/texmf-dist/doc/latex/mfirstuc/sample-mfirstuc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/mfirstuc/sample-mfirstuc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/mfirstuc/sample-mfirstuc.tex	2021-10-15 22:14:49 UTC (rev 60769)
+++ trunk/Master/texmf-dist/doc/latex/mfirstuc/sample-mfirstuc.tex	2021-10-15 22:15:23 UTC (rev 60770)
@@ -44,6 +44,13 @@
 \renewcommand*{\mytext}{\ae\oe{some text}}
 Sequential commands: \xmakefirstuc{\mytext}.
 
+\verb|\makefirstuc{\MFUskippunc{?`}c\'omo est\'as?}|
+\makefirstuc{\MFUskippunc{?`}c\'omo est\'as?}
+
+\renewcommand{\mytext}{\MFUskippunc{?`}c\'omo est\'as?}
+Fully expanded:
+\emakefirstuc{\mytext}
+
 \section{Title Case (No Formatting Commands)}
 
 \bgroup

Modified: trunk/Master/texmf-dist/source/latex/mfirstuc/mfirstuc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/mfirstuc/mfirstuc.dtx	2021-10-15 22:14:49 UTC (rev 60769)
+++ trunk/Master/texmf-dist/source/latex/mfirstuc/mfirstuc.dtx	2021-10-15 22:15:23 UTC (rev 60770)
@@ -1,21 +1,21 @@
 %\iffalse
 % mfirstuc.dtx generated using makedtx version 1.2 (c) Nicola Talbot
 % Command line args:
-%   -codetitle "Main Package Code"
+%   -setambles ".*\.perl=>\nopreamble\nopostamble"
+%   -setambles ".*\.tex=>\nopreamble\nopostamble"
 %   -author "Nicola Talbot"
-%   -macrocode ".*\.perl"
-%   -macrocode ".*\.tex"
 %   -src "mfirstuc.sty\Z=>mfirstuc.sty"
 %   -src "mfirstuc-english.sty\Z=>mfirstuc-english.sty"
 %   -src "(sample.*\.tex)\Z=>\1"
 %   -src "(.*\.perl)\Z=>\1"
-%   -setambles ".*\.perl=>\nopreamble\nopostamble"
-%   -setambles ".*\.tex=>\nopreamble\nopostamble"
+%   -macrocode ".*\.perl"
+%   -macrocode ".*\.tex"
+%   -codetitle "Main Package Code"
+%   -doc "mfirstuc-codedoc.tex"
 %   -comment ".*\.perl"
 %   -comment ".*\.tex"
-%   -doc "mfirstuc-codedoc.tex"
 %   mfirstuc
-% Created on 2017/11/14 12:21
+% Created on 2021/10/15 17:46
 %\fi
 %\iffalse
 %<*package>
@@ -38,7 +38,7 @@
 %\fi
 % \iffalse
 % Doc-Source file to use with LaTeX2e
-% Copyright (C) 2017 Nicola Talbot, all rights reserved.
+% Copyright (C) 2021 Nicola Talbot, all rights reserved.
 % \fi
 % \iffalse
 %<*driver>
@@ -64,7 +64,7 @@
 \setcounter{IndexColumns}{2}
 \setlength\IndexMin{100pt}
 
-\CheckSum{691}
+\CheckSum{771}
 
 \begin{document}
 \DocInput{mfirstuc.dtx}
@@ -74,12 +74,12 @@
 %\MakeShortVerb{"}
 %\DeleteShortVerb{\|}
 %
-% \title{Documented Code For mfirstuc v2.06}
+% \title{Documented Code For mfirstuc v2.07}
 % \author{Nicola L.C. Talbot\\[10pt]
 %Dickimaw Books\\
 %\url{http://www.dickimaw-books.com/}}
 %
-% \date{2017-11-14}
+% \date{2021-10-15}
 % \maketitle
 %
 %\tableofcontents
@@ -111,7 +111,7 @@
 %\changes{2.0}{2015/09/09}{package split from glossaries}
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{mfirstuc}[2017/11/14 v2.06 (NLCT)]
+\ProvidesPackage{mfirstuc}[2021/10/15 v2.07 (NLCT)]
 %    \end{macrocode}
 % Requires \sty{etoolbox}:\changes{1.06}{2012/05/21}{now requires
 % etoolbox}
@@ -154,6 +154,20 @@
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\@MFU at skippunc}
+%\changes{2.07}{2021-10-15}{new}
+%    \begin{macrocode}
+\newcommand*{\@MFU at skippunc}{\MFUskippunc}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\MFUskippunc}
+%\changes{2.07}{2021-10-15}{new}
+%    \begin{macrocode}
+\newrobustcmd*{\MFUskippunc}[1]{#1}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\@MFU at p@makefirstuc}
 % Internal command to do the required action.
 %    \begin{macrocode}
@@ -166,7 +180,15 @@
   \ifx\gls at argi\@MFU at protect
    \@makefirstuc{#2#3}%
   \else
-   \@makefirstuc{#4}%
+%    \end{macrocode}
+% v2.07+ also check for \cs{MFUskippunc}
+%\changes{2.07}{2021-10-15}{check for \cs{MFUskippunc}}
+%    \begin{macrocode}
+    \ifx\gls at argi\@MFU at skippunc
+      #2\@makefirstuc{#3}%
+    \else
+      \@makefirstuc{#4}%
+    \fi
   \fi
 }
 %    \end{macrocode}
@@ -419,7 +441,7 @@
 \newrobustcmd*{\capitalisewords}[1]{%
   \let\@mfu at checkword\@gobble
   \def\gls at add@space{}%
-  \let\@mfu at domakefirstuc\MFUcapword
+  \let\@mfu at domakefirstuc\@MFU at dofirst@capword
   \mfu at capitalisewords#1 \@nil\mfu at endcap
 }
 %    \end{macrocode}
@@ -431,7 +453,7 @@
 %    \begin{macrocode}
 \newcommand*{\@mfu at mid@capitalisewords}[1]{%
   \def\gls at add@space{}%
-  \let\@mfu at domakefirstuc\MFUcapword
+  \let\@mfu at domakefirstuc\@MFU at do@capword
   \mfu at capitalisewords#1 \@nil\mfu at endcap
 }
 %    \end{macrocode}
@@ -465,24 +487,71 @@
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\@MFU at do@capword}
+%\changes{2.07}{2021-10-15}{new}
+%    \begin{macrocode}
+\newcommand*{\@MFU at do@capword}[1]{%
+  \let\@MFU at cappingword\MFUcapword
+  \@MFUwordbreak#1\MFUwordbreak{}\@nil\@endMFUwordbreak
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@MFU at dofirst@capword}
+%\changes{2.07}{2021-10-15}{new}
+%    \begin{macrocode}
+\newcommand*{\@MFU at dofirst@capword}[1]{%
+  \let\@MFU at cappingword\MFUcapword
+  \@MFUfirstwordbreak#1\MFUwordbreak{}\@nil\@endMFUfirstwordbreak
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\MFUcapword}
 %\changes{2.03}{2016-07-29}{new}
 %    \begin{macrocode}
 \newcommand*{\MFUcapword}[1]{%
   \ifMFUhyphen
-   \@MFUcapword#1-\@nil\@endMFUcapword
+   \MFUhyphencapword{#1}%
   \else
-    \makefirstuc{#1}%
+   \MFUcapwordfirstuc{#1}%
   \fi
 }
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\MFUcapwordfirstuc}
+%\changes{2.07}{2021-10-15}{new}
+%    \begin{macrocode}
+\newcommand*{\MFUcapwordfirstuc}[1]{%
+  \makefirstuc{#1}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\MFUwordbreak}
+%\changes{2.07}{2021-10-15}{new}
+%Markup a character (or command) that should be treated as a word
+%break.
+%    \begin{macrocode}
+\newrobustcmd*{\MFUwordbreak}[1]{#1}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\MFUhyphencapword}
+%\changes{2.07}{2021-10-15}{new}
+%    \begin{macrocode}
+\newcommand*{\MFUhyphencapword}[1]{%
+  \@MFUcapword#1-\@nil\@endMFUcapword
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\@MFUcapword}
 %\changes{2.03}{2016-07-29}{new}
 %    \begin{macrocode}
 \def\@MFUcapword#1-#2\@endMFUcapword{%
-  \makefirstuc{#1}%
+  \MFUcapwordfirstuc{#1}%
   \def\@mfu at argii{#2}%
   \ifx\@mfu at argii\@nnil
   \else
@@ -492,6 +561,57 @@
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{macro}{\@MFUwordbreak}
+%\changes{2.07}{2021-10-15}{new}
+%    \begin{macrocode}
+\def\@MFUwordbreak#1\MFUwordbreak#2#3\@endMFUwordbreak{%
+  \def\@mfu at argiii{#3}%
+  \ifx\@mfu at argiii\@nnil
+    \@MFU at cappingword{#1}%
+  \else
+    \let\@MFU at cappingword\@MFU at wordbreakcapword
+    \@MFU at cappingword{#1}%
+    #2\@MFUwordbreak#3\@endMFUwordbreak
+  \fi
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@MFU at wordbreakcapword}
+%\changes{2.07}{2021-10-15}{new}
+%    \begin{macrocode}
+\newcommand*{\@MFU at wordbreakcapword}[1]{%
+  \mfu at checkword{#1}%
+  \@mfu at domakefirstuc{#1}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@MFUfirstwordbreak}
+%\changes{2.07}{2021-10-15}{new}
+%    \begin{macrocode}
+\def\@MFUfirstwordbreak#1\MFUwordbreak#2#3\@endMFUfirstwordbreak{%
+  \def\@mfu at argiii{#3}%
+  \ifx\@mfu at argiii\@nnil
+    \@MFU at cappingword{#1}%
+  \else
+    \let\@MFU at cappingword\@MFU at firstwordbreakcapword
+    \@MFU at cappingword{#1}%
+    #2\@MFUfirstwordbreak#3\@endMFUfirstwordbreak
+  \fi
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@MFU at firstwordbreakcapword}
+%\changes{2.07}{2021-10-15}{new}
+%    \begin{macrocode}
+\newcommand*{\@MFU at firstwordbreakcapword}[1]{%
+  \@mfu at domakefirstuc{#1}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\mfu at checkword}
 % Check if word should be capitalised.
 % This originally used \sty{etoolbox}'s \ics{ifinlist} command
@@ -501,7 +621,7 @@
 %    \begin{macrocode}
 \newcommand*\mfu at checkword[1]{%
   \def\mfu at checkword@arg{#1}%
-  \let\@mfu at domakefirstuc\MFUcapword
+  \let\@mfu at domakefirstuc\@MFU at do@capword
   \forlistloop\mfu at checkword@do\@mfu at nocaplist
 }
 %    \end{macrocode}
@@ -545,6 +665,7 @@
 %\begin{macro}{\MFUnocap}
 % Provide the user with a means to add a word to the list.
 % (No expansion performed on the argument.)
+%\changes{1.09}{2017-07-30}{new}
 %    \begin{macrocode}
 \newcommand*{\MFUnocap}[1]{\listadd{\@mfu at nocaplist}{#1}}
 %    \end{macrocode}
@@ -944,7 +1065,7 @@
 %\label{sec:code:mfirstuc-english}
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{mfirstuc-english}[2017/11/14 v2.06 (NLCT)]
+\ProvidesPackage{mfirstuc-english}[2021/10/15 v2.07 (NLCT)]
 %    \end{macrocode}
 % Load \sty{mfirstuc} if not already loaded:
 %    \begin{macrocode}
@@ -1031,6 +1152,13 @@
 \renewcommand*{\mytext}{\ae\oe{some text}}
 Sequential commands: \xmakefirstuc{\mytext}.
 
+\verb|\makefirstuc{\MFUskippunc{?`}c\'omo est\'as?}|
+\makefirstuc{\MFUskippunc{?`}c\'omo est\'as?}
+
+\renewcommand{\mytext}{\MFUskippunc{?`}c\'omo est\'as?}
+Fully expanded:
+\emakefirstuc{\mytext}
+
 \section{Title Case (No Formatting Commands)}
 
 \bgroup

Modified: trunk/Master/texmf-dist/source/latex/mfirstuc/mfirstuc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/mfirstuc/mfirstuc.ins	2021-10-15 22:14:49 UTC (rev 60769)
+++ trunk/Master/texmf-dist/source/latex/mfirstuc/mfirstuc.ins	2021-10-15 22:15:23 UTC (rev 60770)
@@ -1,10 +1,10 @@
-% mfirstuc.ins generated using makedtx version 1.2 2017/11/14 12:21
+% mfirstuc.ins generated using makedtx version 1.2 2021/10/15 17:46
 \input docstrip
 
 \preamble
 
  mfirstuc.dtx
- Copyright 2017 Nicola Talbot
+ Copyright 2021 Nicola Talbot
 
  This work may be distributed and/or modified under the
  conditions of the LaTeX Project Public License, either version 1.3

Modified: trunk/Master/texmf-dist/tex/latex/mfirstuc/mfirstuc-english.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/mfirstuc/mfirstuc-english.sty	2021-10-15 22:14:49 UTC (rev 60769)
+++ trunk/Master/texmf-dist/tex/latex/mfirstuc/mfirstuc-english.sty	2021-10-15 22:15:23 UTC (rev 60770)
@@ -7,7 +7,7 @@
 %% mfirstuc.dtx  (with options: `mfirstuc-english.sty,package')
 %% 
 %%  mfirstuc.dtx
-%%  Copyright 2017 Nicola Talbot
+%%  Copyright 2021 Nicola Talbot
 %% 
 %%  This work may be distributed and/or modified under the
 %%  conditions of the LaTeX Project Public License, either version 1.3
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{mfirstuc-english}[2017/11/14 v2.06 (NLCT)]
+\ProvidesPackage{mfirstuc-english}[2021/10/15 v2.07 (NLCT)]
 \RequirePackage{mfirstuc}
 \MFUnocap{a}
 \MFUnocap{an}

Modified: trunk/Master/texmf-dist/tex/latex/mfirstuc/mfirstuc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/mfirstuc/mfirstuc.sty	2021-10-15 22:14:49 UTC (rev 60769)
+++ trunk/Master/texmf-dist/tex/latex/mfirstuc/mfirstuc.sty	2021-10-15 22:15:23 UTC (rev 60770)
@@ -7,7 +7,7 @@
 %% mfirstuc.dtx  (with options: `mfirstuc.sty,package')
 %% 
 %%  mfirstuc.dtx
-%%  Copyright 2017 Nicola Talbot
+%%  Copyright 2021 Nicola Talbot
 %% 
 %%  This work may be distributed and/or modified under the
 %%  conditions of the LaTeX Project Public License, either version 1.3
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{mfirstuc}[2017/11/14 v2.06 (NLCT)]
+\ProvidesPackage{mfirstuc}[2021/10/15 v2.07 (NLCT)]
 \RequirePackage{etoolbox}
 \newif\if at glscs
 \newtoks\@glsmfirst
@@ -48,12 +48,18 @@
   \@MFU at p@makefirstuc#1\relax\relax\relax\@end at MFU@protected{#1}%
 }
 \newcommand*{\@MFU at protect}{\protect}
+\newcommand*{\@MFU at skippunc}{\MFUskippunc}
+\newrobustcmd*{\MFUskippunc}[1]{#1}
 \def\@MFU at p@makefirstuc#1#2#3\@end at MFU@protected#4{%
   \def\gls at argi{#1}%
   \ifx\gls at argi\@MFU at protect
    \@makefirstuc{#2#3}%
   \else
-   \@makefirstuc{#4}%
+    \ifx\gls at argi\@MFU at skippunc
+      #2\@makefirstuc{#3}%
+    \else
+      \@makefirstuc{#4}%
+    \fi
   \fi
 }
 \newcommand*{\@makefirstuc}[1]{%
@@ -190,12 +196,12 @@
 \newrobustcmd*{\capitalisewords}[1]{%
   \let\@mfu at checkword\@gobble
   \def\gls at add@space{}%
-  \let\@mfu at domakefirstuc\MFUcapword
+  \let\@mfu at domakefirstuc\@MFU at dofirst@capword
   \mfu at capitalisewords#1 \@nil\mfu at endcap
 }
 \newcommand*{\@mfu at mid@capitalisewords}[1]{%
   \def\gls at add@space{}%
-  \let\@mfu at domakefirstuc\MFUcapword
+  \let\@mfu at domakefirstuc\@MFU at do@capword
   \mfu at capitalisewords#1 \@nil\mfu at endcap
 }
 \def\mfu at capitalisewords#1 #2\mfu at endcap{%
@@ -216,15 +222,30 @@
 \def\mfu at noop#1\mfu at endcap{}
 \newif\ifMFUhyphen
 \MFUhyphenfalse
+\newcommand*{\@MFU at do@capword}[1]{%
+  \let\@MFU at cappingword\MFUcapword
+  \@MFUwordbreak#1\MFUwordbreak{}\@nil\@endMFUwordbreak
+}
+\newcommand*{\@MFU at dofirst@capword}[1]{%
+  \let\@MFU at cappingword\MFUcapword
+  \@MFUfirstwordbreak#1\MFUwordbreak{}\@nil\@endMFUfirstwordbreak
+}
 \newcommand*{\MFUcapword}[1]{%
   \ifMFUhyphen
-   \@MFUcapword#1-\@nil\@endMFUcapword
+   \MFUhyphencapword{#1}%
   \else
-    \makefirstuc{#1}%
+   \MFUcapwordfirstuc{#1}%
   \fi
 }
+\newcommand*{\MFUcapwordfirstuc}[1]{%
+  \makefirstuc{#1}%
+}
+\newrobustcmd*{\MFUwordbreak}[1]{#1}
+\newcommand*{\MFUhyphencapword}[1]{%
+  \@MFUcapword#1-\@nil\@endMFUcapword
+}
 \def\@MFUcapword#1-#2\@endMFUcapword{%
-  \makefirstuc{#1}%
+  \MFUcapwordfirstuc{#1}%
   \def\@mfu at argii{#2}%
   \ifx\@mfu at argii\@nnil
   \else
@@ -231,9 +252,36 @@
     -\@MFUcapword#2\@endMFUcapword
   \fi
 }
+\def\@MFUwordbreak#1\MFUwordbreak#2#3\@endMFUwordbreak{%
+  \def\@mfu at argiii{#3}%
+  \ifx\@mfu at argiii\@nnil
+    \@MFU at cappingword{#1}%
+  \else
+    \let\@MFU at cappingword\@MFU at wordbreakcapword
+    \@MFU at cappingword{#1}%
+    #2\@MFUwordbreak#3\@endMFUwordbreak
+  \fi
+}
+\newcommand*{\@MFU at wordbreakcapword}[1]{%
+  \mfu at checkword{#1}%
+  \@mfu at domakefirstuc{#1}%
+}
+\def\@MFUfirstwordbreak#1\MFUwordbreak#2#3\@endMFUfirstwordbreak{%
+  \def\@mfu at argiii{#3}%
+  \ifx\@mfu at argiii\@nnil
+    \@MFU at cappingword{#1}%
+  \else
+    \let\@MFU at cappingword\@MFU at firstwordbreakcapword
+    \@MFU at cappingword{#1}%
+    #2\@MFUfirstwordbreak#3\@endMFUfirstwordbreak
+  \fi
+}
+\newcommand*{\@MFU at firstwordbreakcapword}[1]{%
+  \@mfu at domakefirstuc{#1}%
+}
 \newcommand*\mfu at checkword[1]{%
   \def\mfu at checkword@arg{#1}%
-  \let\@mfu at domakefirstuc\MFUcapword
+  \let\@mfu at domakefirstuc\@MFU at do@capword
   \forlistloop\mfu at checkword@do\@mfu at nocaplist
 }
 \newcommand*{\mfu at checkword@do}[1]{%



More information about the tex-live-commits mailing list.