summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/diffcoeff/diffcoeff.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-10-25 21:33:56 +0000
committerKarl Berry <karl@freefriends.org>2018-10-25 21:33:56 +0000
commit9d1eb542f4a942d64b1d26d0887de84a56abde39 (patch)
tree3785240ce8f671f80b9064de7e0e936e226ab4be /Master/texmf-dist/doc/latex/diffcoeff/diffcoeff.tex
parent312f41f8f332df1d256eab476fdd0c96d736d6a9 (diff)
diffcoeff (25oct18)
git-svn-id: svn://tug.org/texlive/trunk@48988 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/diffcoeff/diffcoeff.tex')
-rw-r--r--Master/texmf-dist/doc/latex/diffcoeff/diffcoeff.tex536
1 files changed, 310 insertions, 226 deletions
diff --git a/Master/texmf-dist/doc/latex/diffcoeff/diffcoeff.tex b/Master/texmf-dist/doc/latex/diffcoeff/diffcoeff.tex
index 1274318f916..c8df6968c63 100644
--- a/Master/texmf-dist/doc/latex/diffcoeff/diffcoeff.tex
+++ b/Master/texmf-dist/doc/latex/diffcoeff/diffcoeff.tex
@@ -1,6 +1,6 @@
-%% LyX 2.2.0 created this file. For more info, see http://www.lyx.org/.
+%% LyX 2.3.1-1 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
-\documentclass[english,extend]{article}
+\documentclass[english]{article}
\usepackage{lmodern}
\renewcommand{\sfdefault}{lmss}
\renewcommand{\ttdefault}{lmtt}
@@ -18,18 +18,19 @@
\providecommand{\tabularnewline}{\\}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
- \newenvironment{example}{\begin{center}\ttfamily}{\end{center}}
+\newenvironment{example}%
+{\begin{center}\ttfamily}{\end{center}}
\newenvironment{lyxcode}
-{\par\begin{list}{}{
-\setlength{\rightmargin}{\leftmargin}
-\setlength{\listparindent}{0pt}% needed for AMS classes
-\raggedright
-\setlength{\itemsep}{0pt}
-\setlength{\parsep}{0pt}
-\normalfont\ttfamily}%
- \item[]}
-{\end{list}}
-\newcommand{\strong}[1]{\textbf{#1}}
+ {\par\begin{list}{}{
+ \setlength{\rightmargin}{\leftmargin}
+ \setlength{\listparindent}{0pt}% needed for AMS classes
+ \raggedright
+ \setlength{\itemsep}{0pt}
+ \setlength{\parsep}{0pt}
+ \normalfont\ttfamily}%
+ \item[]}
+ {\end{list}}
+\providecommand*{\strong}[1]{\textbf{#1}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{diffcoeff}
@@ -41,13 +42,11 @@
\usepackage{babel}
\begin{document}
-
\title{\texttt{diffcoeff}~\\
a \LaTeX{} package for writing\texttt{}~\\
differential coefficients easily}
-
\author{Andrew Parsloe\\
-{\small{}(aparsloe@clear.net.nz)}}
+{\small{}(ajparsloe@gmail.com)}}
\maketitle
\begin{abstract}
\noindent \texttt{diffcoeff.sty} allows the easy writing of ordinary and
@@ -60,20 +59,30 @@ the differentiand (in the numerator or appended). Some tweaking of the
display is possible through key = value settings. Secondary commands provide
analogous coefficients constructed from $D,\thinspace\Delta,$ and $\delta$,
and a command for writing Jacobians. The package uses \texttt{expl3} and
-\texttt{xparse} from the \LaTeX{}3 bundles, \texttt{l3kernel} and \texttt{l3packages}.
+\texttt{xparse} from the \LaTeX 3 bundles, \texttt{l3kernel} and \texttt{l3packages}.
\end{abstract}
+\section{Version}
+
+Version 1.1 of the \texttt{diffcoeff} package changes the handling of error
+messages which was just plain wrong in version 1 and caused a conflict
+with the \texttt{mhchem} package.
+
+\texttt{diffcoeff.sty} had a `big brother' \texttt{diffcoeffx.sty} that
+was `\texttt{diffcoeff} on steroids'. However a bug in \texttt{diffcoeffx}
+means it didn't do all it claimed and it will be withdrawn.
+
\section{Requirements}
The \LaTeX{} package \texttt{diffcoeff.sty} is written in the expl3 language
-of \LaTeX{}3\texttt{ }and requires the bundles \texttt{l3kernel} and \texttt{l3packages}
+of \LaTeX 3\texttt{ }and requires the bundles \texttt{l3kernel} and \texttt{l3packages}
(the latter for the \texttt{xparse} module). However, granted the presence
-of these bundles in your \TeX{} distribution, the \LaTeX{}3 element should
+of these bundles in your \TeX{} distribution, the \LaTeX 3 element should
be invisible to the user.
The package is invoked in the usual way by entering
\begin{lyxcode}
-\textbackslash{}usepackage\{diffcoeff\}
+\textbackslash usepackage\{diffcoeff\}
\end{lyxcode}
in the preamble of your document.
@@ -85,22 +94,22 @@ etc.).
\section{Ordinary differential coefficients \label{sec:Ordinary-differential-coefficien}}
-Writing\textbf{ }\texttt{\textbackslash{}diff\{y\}\{x\}} will produce $\diff{y}{x}$
+Writing\textbf{ }\texttt{\textbackslash diff\{y\}\{x\}} will produce $\diff{y}{x}$
in text style (i.e. placed between \texttt{\$ \$}) or
\[
\diff{y}{x}
\]
-in display style (i.e. placed between \texttt{\textbackslash{}{[} \textbackslash{}{]}}
-). In fact \texttt{\textbackslash{}diff yx} (omitting the braces) will
+in display style (i.e. placed between \texttt{\textbackslash{[} \textbackslash{]}}
+). In fact \texttt{\textbackslash diff yx} (omitting the braces) will
produce these results, with a saving on keystrokes. The braces are needed
only when differentiand or variable of differentiation is more than a single
token.
There is one other form: we can insert a slash, `/', between numerator
-and denominator: \texttt{\textbackslash{}diff f/x} produces $\diff f/x$
+and denominator: \texttt{\textbackslash diff f/x} produces $\diff f/x$
which may be preferred for textstyle differential coefficients on occasion.
Nothing is gained in this particular instance. It is quicker to type the
-five keystrokes d, f, /, d, x than it is to type the nine of \textbackslash{},
+five keystrokes d, f, /, d, x than it is to type the nine of \textbackslash ,
d, i, f, f, , f, /, x but there are occasions when this is not always the
case.
@@ -108,32 +117,34 @@ An optional first argument allows the order of differentiation to be specified.
The order need not be a number; an algebraic order of differentiation is
perfectly acceptable or, indeed, a mix:
\begin{example}
-\textbackslash{}diff{[}2{]}\{y\}\{x\} $\Longrightarrow\quad{\displaystyle \diff[2]{y}{x},}$\medskip{}
+\textbackslash diff{[}2{]}\{y\}\{x\} $\Longrightarrow\quad{\displaystyle \diff[2]{y}{x},}$\medskip{}
-\textbackslash{}diff{[}n+1{]}\{y\}\{x\} $\Longrightarrow\quad{\displaystyle \diff[n+1]{y}{x}}.$
+\textbackslash diff{[}n+1{]}\{y\}\{x\} $\Longrightarrow\quad{\displaystyle \diff[n+1]{y}{x}}.$
\end{example}
+
(And again the braces can be omitted for single letters like \textbf{x}
and \textbf{y}.)
-In slash style, \texttt{\textbackslash{}diff{[}2{]}f/x} (11 keystrokes)
-produces $\diff[2]f/x$, not significantly more typing than \texttt{d\textasciicircum{}2f/dx\textasciicircum{}2}
+In slash style, \texttt{\textbackslash diff{[}2{]}f/x} (11 keystrokes)
+produces $\diff[2]f/x$, not significantly more typing than \texttt{d\textasciicircum 2f/dx\textasciicircum 2}
(9 keystrokes).
If you want to specify a point at which the derivative is evaluated, append
a final optional argument, but note that it is given in \emph{braces} rather
than square brackets:
\begin{example}
-\textbackslash{}diff{[}2{]}\{y\}\{x\}\{0\} $\Longrightarrow\quad{\displaystyle \diff[2]{y}{x}{0}}$
+\textbackslash diff{[}2{]}\{y\}\{x\}\{0\} $\Longrightarrow\quad{\displaystyle \diff[2]{y}{x}{0}}$
\end{example}
+
\noindent (In this example it seems neater \emph{not} to finish with a
full stop or other punctuation.) The use of braces means that the differential
coefficient can be followed immediately by a mathematical expression wrapped
-in \texttt{\textbackslash{}\{ \textbackslash{}\}}, or \texttt{{[} {]}},
+in \texttt{\textbackslash\{ \textbackslash\}}, or \texttt{{[} {]}},
without the expression being confused with the (final) optional argument.
Note also that there must be \emph{no space} before the argument: it follows
\emph{immediately} on the second mandatory argument (if it follows at all).
-We could save a few keystrokes by writing this last example as \texttt{\textbackslash{}diff{[}2{]}yx\{0\}}.
+We could save a few keystrokes by writing this last example as \texttt{\textbackslash diff{[}2{]}yx\{0\}}.
The braces around the final optional argument can \emph{not} be omitted
\textendash{} otherwise there is no way of knowing that it \emph{is }the
final optional argument and not part of a following expression.
@@ -141,21 +152,23 @@ final optional argument and not part of a following expression.
In slash style, the trailing optional argument can be used, but perhaps
should not be. It looks ugly:
\begin{example}
-\textbackslash{}diff{[}2{]}y/x\{0\} $\Longrightarrow\quad{\displaystyle \diff[2]{y}/{x}{0}}$
+\textbackslash diff{[}2{]}y/x\{0\} $\Longrightarrow\quad{\displaystyle \diff[2]{y}/{x}{0}}$
\end{example}
+
Slash style is a more casual rendering of the derivative, intended for
inline use within text and it would be better to use a phrase like `evaluated
at zero'.
-\subsection{\textbackslash{}diffset: formatting tweaks}
+\subsection{\textbackslash diffset: formatting tweaks}
There are a number of tweaks one can make to the display of a derivative.
Many people now use upright (roman) forms for the `d's of a differential
coefficient, rather than math italic. To do this, put the command
\begin{example}
-{\footnotesize{}\textbackslash{}}diffset{[}roman = true{]}
+{\footnotesize{}\textbackslash}diffset{[}roman = true{]}
\end{example}
-\noindent in the preamble of your document (following the \texttt{\textbackslash{}usepackage\{diffcoeff\}}
+
+\noindent in the preamble of your document (following the \texttt{\textbackslash usepackage\{diffcoeff\}}
of course). The default is math italic.
It is possible that you may want more space between the `d' in the numerator
@@ -163,9 +176,10 @@ of a differential coefficient and the superscripted order of the derivative.
Using an upright `d' alleviates this problem, but if using the default
math italic for the `d's, the separation can be altered by using the
\begin{example}
-\textbackslash{}diffset{[}d-sep = $n${]}
+\textbackslash diffset{[}d-sep = $n${]}
\end{example}
-\noindent command which adds an extra $n$~mu to \TeX{}'s spacing. The
+
+\noindent command which adds an extra $n$~mu to \TeX 's spacing. The
default value for $n$ is 1 (i.e. 1~mu). The new separation will affect
all derivatives following the new setting. Put in the preamble, the new
separation will be document-wide.
@@ -175,106 +189,118 @@ By default there is nothing on the left side and a vertical rule with the
point of evaluation subscripted to it on the right. You may prefer subscripted
parentheses. In that case write
\begin{example}
-\textbackslash{}diffset{[}d-delims~=~(){]}\textmd{.}
+\textbackslash diffset{[}d-delims~=~(){]}\textmd{.}
\end{example}
-Whatever delimiters you choose need to work with \LaTeX{}'s \texttt{\textbackslash{}left}
-and \texttt{\textbackslash{}right} commands and consist of exactly two
+
+Whatever delimiters you choose need to work with \LaTeX 's \texttt{\textbackslash left}
+and \texttt{\textbackslash right} commands and consist of exactly two
tokens. \texttt{{[}} and \texttt{{]}}\textbf{ }are acceptable as also are
-pairs like \texttt{\textbackslash{}lceil \textbackslash{}rceil}, \texttt{\textbackslash{}lfloor
-\textbackslash{}rfloor} but if you want to use \texttt{\textbackslash{}\{}\textbf{
-}and\textbf{ }\texttt{\textbackslash{}\}} you need to place the \texttt{\textbackslash{}diffset}
+pairs like \texttt{\textbackslash lceil \textbackslash rceil}, \texttt{\textbackslash lfloor
+\textbackslash rfloor} but if you want to use \texttt{\textbackslash\{}\textbf{
+}and\textbf{ }\texttt{\textbackslash\}} you need to place the \texttt{\textbackslash diffset}
command between maths delimiters. The default pair, as indicated, is \texttt{. |},
-t or full stop being \LaTeX{}'s way of suppressing (in this case) the
-left delimiter.
+t or full stop being \LaTeX 's way of suppressing (in this case) the left
+delimiter.
If you change the delimiters, say to \textbf{( )}, then the position of
the subscript may need adjusting. To do this, use the command
\begin{example}
-\textbackslash{}diffset{[}d-nudge = $n${]}
+\textbackslash diffset{[}d-nudge = $n${]}
\end{example}
+
A suggested setting for parentheses \textbf{( )} is $-6$ (in fact $-6$~mu
but the `mu' is supplied by \texttt{diffcoeff}). Thus the total change
would be
\begin{example}
-\textbackslash{}diffset{[}d-delims = ( ), d-nudge = -6{]}
+\textbackslash diffset{[}d-delims = ( ), d-nudge = -6{]}
\end{example}
+
producing, for example,
\begin{example}
-\textbackslash{}diff{[}n{]}\{y\}\{x\}\{0\} $\diffset[d-delims=(),d-nudge=-6]\Longrightarrow\quad{\displaystyle \diff[n]{y}{x}{0}}.$
+\textbackslash diff{[}n{]}\{y\}\{x\}\{0\} $\diffset[d-delims=(),d-nudge=-6]\Longrightarrow\quad{\displaystyle \diff[n]{y}{x}{0}}.$
\end{example}
+
The default setting for \textbf{. |} is 0. Simply writing
\begin{example}
-\textbackslash{}diffset $\diffset$
+\textbackslash diffset $\diffset$
\end{example}
+
will return all settings to their defaults.
\subsection{Variations}
-\subsubsection{Appending the differentiand: \textbackslash{}diff{*}}
+\subsubsection{Appending the differentiand: \textbackslash diff{*}}
If you want the differentiand to follow the differential coefficient rather
than sit in the numerator, perhaps because it is a fraction itself or because
it is long, like a polynomial ($ax^{2}+bx+c$), then one way to achieve
-that is to leave the first mandatory argument in the \texttt{\textbackslash{}diff}
+that is to leave the first mandatory argument in the \texttt{\textbackslash diff}
command empty and immediately follow the differential operator with the
differentiand:
\begin{example}
-\textbackslash{}diff\{\}\{x\}(ax\textasciicircum{}2+bx+c) $\Longrightarrow\quad{\displaystyle \diff{}{x}(ax^{2}+bx+c)}.$
+\textbackslash diff\{\}\{x\}(ax\textasciicircum 2+bx+c) $\Longrightarrow\quad{\displaystyle \diff{}{x}(ax^{2}+bx+c)}.$
\end{example}
-Another is to use the star form of the \texttt{\textbackslash{}diff }command,
+
+Another is to use the star form of the \texttt{\textbackslash diff }command,
\begin{example}
-\textbackslash{}diff{*}{[}2{]}\{\textbackslash{}frac\{F(x)\}\{G(x)\}\}\{x\}
+\textbackslash diff{*}{[}2{]}\{\textbackslash frac\{F(x)\}\{G(x)\}\}\{x\}
$\Longrightarrow\quad{\displaystyle \diff*[2]{\frac{F(x)}{G(x)}}{x}.}$
\end{example}
+
\noindent The LaTeX expression can be harder to read if, as here, one is
-using a command like \texttt{\textbackslash{}frac} with its own pairs of
+using a command like \texttt{\textbackslash frac} with its own pairs of
braces, but it is much easier, if one isn't sure whether the differentiand
should be appended or in the numerator, simply to insert or delete an asterisk
than move the differentiand from one place to the other. The star form
becomes especially useful if you want to both append the differentiand
\emph{and }indicate the point of evaluation, since it saves having to set
-up the \texttt{\textbackslash{}left.} and \texttt{\textbackslash{}right|}\textbf{
+up the \texttt{\textbackslash left.} and \texttt{\textbackslash right|}\textbf{
}delimiters and the subscript:
\begin{example}
-\textbackslash{}diff{*}\{\textbackslash{}frac\{F(x)\}\{G(x)\}\}\{x\}\{0\}
+\textbackslash diff{*}\{\textbackslash frac\{F(x)\}\{G(x)\}\}\{x\}\{0\}
$\Longrightarrow\quad{\displaystyle \diffset[d-delims=.|,d-nudge=0]\diff*{\frac{F(x)}{G(x)}}{x}{0}}$
\end{example}
+
In slash style with the star option, an example above becomes
\begin{example}
-\textbackslash{}diff{*}\{(ax\textasciicircum{}2+bx+c)\}/\{x\} $\Longrightarrow\quad\text{\ensuremath{{\displaystyle \diff*{(ax^{2}+bx+c)}/{x}}}}$,
+\textbackslash diff{*}\{(ax\textasciicircum 2+bx+c)\}/\{x\} $\Longrightarrow\quad\text{\ensuremath{{\displaystyle \diff*{(ax^{2}+bx+c)}/{x}}}}$,
\end{example}
+
where the derivative is automatically enclosed in parentheses by \texttt{diffcoeff}.
\subsubsection{Multi-character variables of differentiation}
Derivatives of a function-of-a-function may require forming a differential
coefficient in which the variable of differentiation is more complicated
-than a single symbol like \texttt{x} or \texttt{\textbackslash{}alpha}.
+than a single symbol like \texttt{x} or \texttt{\textbackslash alpha}.
For instance, to differentiate $\ln x^{2}$ (the logarithm of $x^{2}$)
one first differentiates in $x^{2}$ then in $x$. The initial differentiation
can be rendered
\begin{example}
-\textbackslash{}diff\{\textbackslash{}ln x\textasciicircum{}2\}\{x\textasciicircum{}2\}
+\textbackslash diff\{\textbackslash ln x\textasciicircum 2\}\{x\textasciicircum 2\}
$\Longrightarrow\quad{\displaystyle \diff{\ln x^{2}}{x^{2}}}$; \medskip{}
-diff\{\textbackslash{}ln x\textasciicircum{}2\}/\{x\textasciicircum{}2\}
+diff\{\textbackslash ln x\textasciicircum 2\}/\{x\textasciicircum 2\}
$\Longrightarrow\quad{\displaystyle \diff{\ln x^{2}}/{x^{2}}}.$
\end{example}
+
\noindent Because of the superscript in the variable of differentiation
$x^{2}$, parentheses have been automatically inserted in the denominator.
This does not happen in a first-order derivative unless there is a superscript
present. For instance,
\begin{example}
-\textbackslash{}diff\{\textbackslash{}ln\textbackslash{}sin x\}\{\textbackslash{}sin
+\textbackslash diff\{\textbackslash ln\textbackslash sin x\}\{\textbackslash sin
x\} $\Longrightarrow\quad{\displaystyle \diff{\ln\sin x}{\sin x}.}$
\end{example}
+
\noindent displays without parentheses. However, for higher order derivatives
parentheses are \emph{always} inserted to avoid confusion:
\begin{example}
-\textbackslash{}diff{[}2{]}\{\textbackslash{}ln\textbackslash{}sin x\}\{\textbackslash{}sin
+\textbackslash diff{[}2{]}\{\textbackslash ln\textbackslash sin x\}\{\textbackslash sin
x\} $\Longrightarrow\quad{\displaystyle \diff[2]{\ln\sin x}{\sin x}.}$
\end{example}
+
\paragraph{Positioning the d in the numerator}
When appending a differentiand, you may want to change the position of
@@ -283,126 +309,138 @@ is a multi-character symbol or the order of differentiation is a multi-character
value like $n+1$.
If you `manually' append the differentiand, then there are various ways
-of altering the placement of the `d' from the default midpoint: use \texttt{\textbackslash{}hfill}
-to push it hard to the left; use \texttt{\textbackslash{}hfil} to\textbf{
-}push it to the left an intermediate amount; use \texttt{\textbackslash{}hphantom}
-or \texttt{\textbackslash{}hspace}, both with a braced argument, to push
-it to the left some custom amount; use \texttt{\textbackslash{}hspace}\textbf{
+of altering the placement of the `d' from the default midpoint: use \texttt{\textbackslash hfill}
+to push it hard to the left; use \texttt{\textbackslash hfil} to\textbf{
+}push it to the left an intermediate amount; use \texttt{\textbackslash hphantom}
+or \texttt{\textbackslash hspace}, both with a braced argument, to push
+it to the left some custom amount; use \texttt{\textbackslash hspace}\textbf{
}with a \emph{negative} braced argument to push it to the right.\emph{
}These same means can be used to shift the `d' when using the starred
-form of \texttt{\textbackslash{}diff}.\textbf{ }The effect is exactly the
+form of \texttt{\textbackslash diff}.\textbf{ }The effect is exactly the
same, too:
\begin{example}
-\textbackslash{}diff{[}n+1{]}\{\textbackslash{}hphantom\{\textbackslash{}sin
-x\}\}\{\textbackslash{}sin x\}\textbackslash{}ln\textbackslash{}sin x $\Longrightarrow\quad{\displaystyle \diff[n+1]{\hphantom{\sin x}}{\sin x}\ln\sin x},$\medskip{}
+\textbackslash diff{[}n+1{]}\{\textbackslash hphantom\{\textbackslash sin
+x\}\}\{\textbackslash sin x\}\textbackslash ln\textbackslash sin x $\Longrightarrow\quad{\displaystyle \diff[n+1]{\hphantom{\sin x}}{\sin x}\ln\sin x},$\medskip{}
-\textbackslash{}diff{*}{[}n+1{]}\{\textbackslash{}hphantom\{\textbackslash{}sin
-x\}\textbackslash{}ln\textbackslash{}sin x\}\{\textbackslash{}sin x\} $\Longrightarrow\quad{\displaystyle \diff*[n+1]{\hphantom{\sin x}\ln\sin x}{\sin x}}.$
+\textbackslash diff{*}{[}n+1{]}\{\textbackslash hphantom\{\textbackslash sin
+x\}\textbackslash ln\textbackslash sin x\}\{\textbackslash sin x\} $\Longrightarrow\quad{\displaystyle \diff*[n+1]{\hphantom{\sin x}\ln\sin x}{\sin x}}.$
\end{example}
+
\noindent In the starred form \texttt{diffcoeff} understands that the formatting
is not appended with the differentiand but stays in the numerator. (But
-a \emph{second} \texttt{\textbackslash{}hphantom} or \texttt{\textbackslash{}hfil}
+a \emph{second} \texttt{\textbackslash hphantom} or \texttt{\textbackslash hfil}
etc. would be appended.) These are to be compared with
\begin{example}
-\textbackslash{}diff{*}{[}n+1{]}\{\textbackslash{}ln\textbackslash{}sin
-x\}\{\textbackslash{}sin x\} $\Longrightarrow\quad{\displaystyle \diff*[n+1]{\ln\sin x}{\sin x},}$
+\textbackslash diff{*}{[}n+1{]}\{\textbackslash ln\textbackslash sin
+x\}\{\textbackslash sin x\} $\Longrightarrow\quad{\displaystyle \diff*[n+1]{\ln\sin x}{\sin x},}$
\end{example}
+
where no phantom has been used. Which is better? Deleting the asterisk
gives
\begin{example}
-\textbackslash{}diff{[}n+1{]}\{\textbackslash{}ln\textbackslash{}sin x\}\{\textbackslash{}sin
+\textbackslash diff{[}n+1{]}\{\textbackslash ln\textbackslash sin x\}\{\textbackslash sin
x\} $\Longrightarrow\quad{\displaystyle \diff[n+1]{\ln\sin x}{\sin x},}$
\end{example}
-In slash style, the phantom (or \texttt{\textbackslash{}hfil} etc.) is
+
+In slash style, the phantom (or \texttt{\textbackslash hfil} etc.) is
ignored:
\begin{example}
-\textbackslash{}diff{*}{[}n+1{]}\{\textbackslash{}hphantom\{\textbackslash{}sin
-x\textbackslash{}sin x\textbackslash{}sin x\}\textbackslash{}ln\textbackslash{}sin
-x\}/\{\textbackslash{}sin x\} $\Longrightarrow\quad{\displaystyle \diff*[n+1]{\hphantom{\sin x\sin x\sin x}\ln\sin x}/{\sin x}}.$
+\textbackslash diff{*}{[}n+1{]}\{\textbackslash hphantom\{\textbackslash sin
+x\textbackslash sin x\textbackslash sin x\}\textbackslash ln\textbackslash sin
+x\}/\{\textbackslash sin x\} $\Longrightarrow\quad{\displaystyle \diff*[n+1]{\hphantom{\sin x\sin x\sin x}\ln\sin x}/{\sin x}}.$
\end{example}
+
\subsubsection{Iterated derivatives}
A second derivative is an iterated derivative, i.e., one in which a differential
coefficient forms the differentiand of another differential coefficient:
\begin{example}
-\textbackslash{}diff{[}2{]}yx = \textbackslash{}diff{*}\{\textbackslash{}diff
+\textbackslash diff{[}2{]}yx = \textbackslash diff{*}\{\textbackslash diff
yx\}x $\Longrightarrow{\displaystyle \diff[2]yx=\diff*{\diff yx}x},$
\end{example}
+
or even
\begin{example}
-\textbackslash{}diff{[}2{]}yx = \textbackslash{}diff\{\textbackslash{}diff
+\textbackslash diff{[}2{]}yx = \textbackslash diff\{\textbackslash diff
yx\}x $\Longrightarrow{\displaystyle \diff[2]yx=\diff{\diff yx}x},$
\end{example}
+
where omission of unnecessary braces has aided readability. Note how easy
it is to switch between the different forms on the right, simply by inserting
or removing an asterisk.
-\subsection{Forming `derivatives' with D, \textbackslash{}Delta, \textbackslash{}delta}
+\subsection{Forming `derivatives' with D, \textbackslash Delta, \textbackslash delta}
Often one wants to construct analogues of a differential coefficient but
with symbols other than $d$ or $\partial$. The \texttt{diffcoeff} package
offers three alternatives, all with the same pattern of optional and mandatory
-arguments as for \texttt{\textbackslash{}diff}, except for the slash form.
+arguments as for \texttt{\textbackslash diff}, except for the slash form.
There is \emph{no} slash option.
An uppercase $D$ is used in place of $d$ for the \emph{material} or \emph{substantive}
-derivative of a quantity in (for example) fluid dynamics. Write \texttt{\textbackslash{}Diff}
-to invoke this command:\footnote{The \texttt{\textbackslash{}diffp} command, the partial derivative, in
+derivative of a quantity in (for example) fluid dynamics. Write \texttt{\textbackslash Diff}
+to invoke this command:\footnote{The \texttt{\textbackslash diffp} command, the partial derivative, in
the example is discussed in the next section.}
\begin{example}
-\textbackslash{}Diff\{\textbackslash{}rho\}\{t\}=\textbackslash{}diffp\textbackslash{}rho
-t + \textbackslash{}mathbf\{u\textbackslash{}cdot\}\textbackslash{}nabla\textbackslash{}rho
+\textbackslash Diff\{\textbackslash rho\}\{t\}=\textbackslash diffp\textbackslash rho
+t + \textbackslash mathbf\{u\textbackslash cdot\}\textbackslash nabla\textbackslash rho
$\Longrightarrow{\displaystyle \Diff{\rho}{t}=\diffp\rho t+\mathbf{u\cdot}\nabla\rho.}$
\end{example}
-(The braces could also be removed from the arguments of \texttt{\textbackslash{}Diff}
-as they have been from the arguments of \texttt{\textbackslash{}diffp}.)\texttt{ }
+
+(The braces could also be removed from the arguments of \texttt{\textbackslash Diff}
+as they have been from the arguments of \texttt{\textbackslash diffp}.)\texttt{ }
The `D's are romanised (along with the `d's of ordinary derivatives)
with the
\begin{example}
-\textbackslash{}diffset{[}roman = true{]}
+\textbackslash diffset{[}roman = true{]}
\end{example}
+
command. The default is math italic.
-The command \texttt{\textbackslash{}diffd} will form a fraction often used
-in introductory calculus texts (and other places):\footnote{I considered using \texttt{\textbackslash{}diffg} for this command as in
+The command \texttt{\textbackslash diffd} will form a fraction often used
+in introductory calculus texts (and other places):\footnote{I considered using \texttt{\textbackslash diffg} for this command as in
`diff greek' but decided that the more likely mind-phrase is `diff delta',
leading to the use of `d' rather than `g'.}
\begin{example}
-\textbackslash{}diffd\{y\}\{x\} $\Longrightarrow{\displaystyle \diffd yx.}$
+\textbackslash diffd\{y\}\{x\} $\Longrightarrow{\displaystyle \diffd yx.}$
\end{example}
-Similarly, \texttt{\textbackslash{}Diffd} forms a fraction with $\Delta$:
+
+Similarly, \texttt{\textbackslash Diffd} forms a fraction with $\Delta$:
\begin{example}
-\textbackslash{}Diffd\{y\}\{x\} $\Longrightarrow{\displaystyle \Diffd{y}{x}.}$
+\textbackslash Diffd\{y\}\{x\} $\Longrightarrow{\displaystyle \Diffd{y}{x}.}$
\end{example}
+
Higher order forms of these derivatives are produced in the same way as
-with \texttt{\textbackslash{}diff}, using an optional argument to specify
+with \texttt{\textbackslash diff}, using an optional argument to specify
the order:
\begin{example}
-\textbackslash{}diffd{[}2{]}\{y\}\{x\} $\Longrightarrow{\displaystyle \diffd[2]yx.}$
+\textbackslash diffd{[}2{]}\{y\}\{x\} $\Longrightarrow{\displaystyle \diffd[2]yx.}$
\end{example}
+
A final optional argument, enclosed in braces, specifies a point of evaluation,
care being taken, as ever, to ensure that there is no space between it
and the second mandatory argument:
\begin{example}
-\textbackslash{}Diffd\{y\}\{x\}\{x=0\} $\Longrightarrow{\displaystyle \Diffd yx{x=0}.}$
+\textbackslash Diffd\{y\}\{x\}\{x=0\} $\Longrightarrow{\displaystyle \Diffd yx{x=0}.}$
\end{example}
+
\section{Partial differential coefficients\label{sec:Partial-differential-coefficient}}
\noindent \begin{flushleft}
Partial differential coefficients follow the same pattern as for ordinary
derivatives, with some generalisations arising from the greater possibilities.
-The command this time is \texttt{\textbackslash{}diffp}. Thus \textbf{\textbackslash{}diffp\{F\}\{x\}}
+The command this time is \texttt{\textbackslash diffp}. Thus \textbf{\textbackslash diffp\{F\}\{x\}}
produces $\diffp{F}{x}$ in text style and
\[
\diffp{F}{x}
\]
in display style. Braces can be omitted for single token differentiands
-and variables: \texttt{\textbackslash{}diffp Fx} does the job.\textbf{
-}As for \texttt{\textbackslash{}diff}, there is a slash form for more casual
-use: \texttt{\textbackslash{}diffp F/x} displaying as $\diffp F/x$. Given
-that \texttt{\textbackslash{}partial} takes 8 keystrokes to type, the slash
+and variables: \texttt{\textbackslash diffp Fx} does the job.\textbf{
+}As for \texttt{\textbackslash diff}, there is a slash form for more casual
+use: \texttt{\textbackslash diffp F/x} displaying as $\diffp F/x$. Given
+that \texttt{\textbackslash partial} takes 8 keystrokes to type, the slash
form \emph{does }economise on keystrokes for a partial derivative.
\par\end{flushleft}
@@ -412,37 +450,40 @@ and it may be numeric or algebraic or a mix of the two. For a second or,
indeed, an $n+4$th-order partial derivative,
\par\end{flushleft}
\begin{example}
-\textbackslash{}diffp{[}n+4{]}\{F\}\{x\} $\Longrightarrow\quad{\displaystyle {\displaystyle \diffp[n+4]{F}{x},}}$\medskip{}
+\textbackslash diffp{[}n+4{]}\{F\}\{x\} $\Longrightarrow\quad{\displaystyle {\displaystyle \diffp[n+4]{F}{x},}}$\medskip{}
-\textbackslash{}diffp{[}n+4{]}\{F\}/\{x\} $\Longrightarrow\quad{\displaystyle {\displaystyle \diffp[n+4]{F}/{x},}}$
+\textbackslash diffp{[}n+4{]}\{F\}/\{x\} $\Longrightarrow\quad{\displaystyle {\displaystyle \diffp[n+4]{F}/{x},}}$
\end{example}
+
In a subject like thermodynamics, there is a need to indicate which variable
or variables are held constant when the differentiation occurs. To show
this, append a final optional argument. Thus to differentiate the entropy
$S$ in the temperature $T$ while holding the volume $V$ constant, write
\begin{example}
-\textbackslash{}diffp\{S\}\{T\}\{V\} $\Longrightarrow\quad{\displaystyle \diffp{S}{T}{V}}$
+\textbackslash diffp\{S\}\{T\}\{V\} $\Longrightarrow\quad{\displaystyle \diffp{S}{T}{V}}$
\end{example}
-As with \texttt{\textbackslash{}diff}\textbf{ }note how the final optional
+
+As with \texttt{\textbackslash diff}\textbf{ }note how the final optional
argument is given in braces rather than square brackets, and that there
must be \emph{no space} before the argument: if used, it follows \emph{immediately}
on the second mandatory argument. This means that the differential coefficient
-can be followed immediately by a mathematical expression wrapped in \textbackslash{}\{
-\textbackslash{}\}, or {[} {]}, without the expression being confused with
+can be followed immediately by a mathematical expression wrapped in \textbackslash\{
+\textbackslash\}, or {[} {]}, without the expression being confused with
the (final) optional argument.
-We could save a few keystrokes by writing this last example as \texttt{\textbackslash{}diffp
+We could save a few keystrokes by writing this last example as \texttt{\textbackslash diffp
ST\{V\}}. The braces around the optional argument can \emph{not} be dispensed
with (otherwise there is no way of knowing that it \emph{is} the final
optional argument and not part of a following expression).
Note that for the slash form of the derivative it is anticipated that there
will be no trailing optional argument. If you \emph{do} use one, you will
-need to change the nudge value either with the \texttt{\textbackslash{}diffset}
+need to change the nudge value either with the \texttt{\textbackslash diffset}
command or, better, by including a spacing command in the third argument:
\begin{example}
-\textbackslash{}diffp\{S\}/\{T\}\{\textbackslash{};V\} $\Longrightarrow\quad{\displaystyle \diffp{S}/{T}{\;V}}$
+\textbackslash diffp\{S\}/\{T\}\{\textbackslash ;V\} $\Longrightarrow\quad{\displaystyle \diffp{S}/{T}{\;V}}$
\end{example}
+
Without the spacing command, the subscript encroaches on the right parenthesis.
\subsubsection{Appending the differentiand}
@@ -451,36 +492,41 @@ If you want to remove the differentiand from the numerator to instead follow
the derivative, one way, as for ordinary derivatives, is to leave the first
mandatory argument empty and manually append the differentiand:
\begin{example}
-\textbackslash{}diffp{[}n{]}\{\}xf(x) $\Longrightarrow\quad{\displaystyle \diffp[n]{}xf(x).}$
+\textbackslash diffp{[}n{]}\{\}xf(x) $\Longrightarrow\quad{\displaystyle \diffp[n]{}xf(x).}$
\end{example}
+
However, you may wonder how that would look with the differentiand in the
numerator, which is a good reason for preferring the starred form of the
-\texttt{\textbackslash{}diffp} command to achieve an appended derivative:
+\texttt{\textbackslash diffp} command to achieve an appended derivative:
\begin{example}
-\textbackslash{}diffp{*}{[}n{]}\{f(x)\}x $\Longrightarrow\quad{\displaystyle \diffp*[n]{f(x)}x.}$
+\textbackslash diffp{*}{[}n{]}\{f(x)\}x $\Longrightarrow\quad{\displaystyle \diffp*[n]{f(x)}x.}$
\end{example}
+
Now it is easy to switch between an appended differentiand and one in the
numerator simply by inserting or deleting the asterisk. In the slash form,
parentheses are automatically inserted around the differential operator:
\begin{example}
-\textbackslash{}diffp{*}{[}n{]}\{f(x)\}/x $\Longrightarrow\quad{\displaystyle \diffp*[n]{f(x)}/x.}$
+\textbackslash diffp{*}{[}n{]}\{f(x)\}/x $\Longrightarrow\quad{\displaystyle \diffp*[n]{f(x)}/x.}$
\end{example}
+
It also happens, for example in thermodynamics, that you may wish to both
append the differentiand \emph{and} indicate variables held constant. In
-that case, the starred \texttt{\textbackslash{}diffp} command is much easier
+that case, the starred \texttt{\textbackslash diffp} command is much easier
to use. Thus, to express a relation in thermodynamics,
\begin{example}
-\textbackslash{}diffp{*}\{\textbackslash{}frac \{P\}\{T\}\}\{U\}\{V\} =
-\textbackslash{}diffp{*}\{\textbackslash{}frac\{1\}\{T\}\}\{V\}\{U\} $\Longrightarrow\quad{\displaystyle \diffp*{\frac{P}{T}}{U}{V}=\diffp*{\frac{1}{T}}{V}{U}}$
+\textbackslash diffp{*}\{\textbackslash frac \{P\}\{T\}\}\{U\}\{V\} =
+\textbackslash diffp{*}\{\textbackslash frac\{1\}\{T\}\}\{V\}\{U\} $\Longrightarrow\quad{\displaystyle \diffp*{\frac{P}{T}}{U}{V}=\diffp*{\frac{1}{T}}{V}{U}}$
\end{example}
+
\noindent where the starred form automatically takes care of the parentheses
and subscripts. Again, not all the braces are necessary, with some help
to readability:
\begin{example}
-\textbackslash{}diffp{*}\{\textbackslash{}frac PT\}U\{V\} = \textbackslash{}diffp{*}\{\textbackslash{}frac
+\textbackslash diffp{*}\{\textbackslash frac PT\}U\{V\} = \textbackslash diffp{*}\{\textbackslash frac
1T\}V\{U\} $\Longrightarrow\quad{\displaystyle \diffp*{\frac{P}{T}}U{V}=\diffp*{\frac{1}{T}}V{U}}$
\end{example}
+
\subsection{Mixed partial derivatives}
The new thing with partial derivatives, not present with ordinary derivatives,
@@ -489,21 +535,24 @@ of differentiation. If each variable is differentiated only to the first
order, then it is easy to specify the derivative. Say $f(x,y,z)$ is a
function of three variables, as indicated. Then
\begin{example}
-\textbackslash{}diffp\{f\}\{x\c{,}y,z\} $\Longrightarrow\quad{\displaystyle \diffp{f}{x,y,z}}.$
+\textbackslash diffp\{f\}\{x\c{,}y,z\} $\Longrightarrow\quad{\displaystyle \diffp{f}{x,y,z}}.$
\end{example}
+
The variables of differentiation are listed in order in a comma list forming
the second mandatory argument. The total order of differentiation (3 in
this example) is inserted automatically \textendash{} \texttt{diffcoeff}
does the calculation itself. There is also a slash form:
\begin{example}
-\textbackslash{}diffp\{f\}/\{x\c{,}y,z\} $\Longrightarrow\quad{\displaystyle \diffp{f}/{x,y,z}}.$
+\textbackslash diffp\{f\}/\{x\c{,}y,z\} $\Longrightarrow\quad{\displaystyle \diffp{f}/{x,y,z}}.$
\end{example}
+
If we want to differentiate variables to higher order, then their orders
need to be specified explicitly. To do so use a comma list also in the
\emph{optional} argument:
\begin{example}
-\textbackslash{}diffp{[}2,3{]}\{f\}\{x,y,z\} $\Longrightarrow\quad{\displaystyle \diffp[2,3]{f}{x,y,z}.}$
+\textbackslash diffp{[}2,3{]}\{f\}\{x,y,z\} $\Longrightarrow\quad{\displaystyle \diffp[2,3]{f}{x,y,z}.}$
\end{example}
+
\noindent Notice that the overall order of the derivative \textendash{}
6 \textendash{} is again automatically calculated and inserted as a superscript
on the $\partial$ symbol in the numerator. In this example, the comma
@@ -525,9 +574,10 @@ true even when some or all of the orders for the individual variables are
algebraic. For example, differentiating in three variables with orders
\texttt{2k}, \texttt{m-k-2}, \texttt{m+k+3}, we have
\begin{example}
-\textbackslash{}diffp{[}2k-1,m-k-2,m+k+3{]}\{F(x,y,z)\}\{x,y,z\} $\Longrightarrow\quad{\displaystyle \diffp[2k-1,m-k-2,m+k+3]{F(x,y,z)}{x,y,z}}$,
+\textbackslash diffp{[}2k-1,m-k-2,m+k+3{]}\{F(x,y,z)\}\{x,y,z\} $\Longrightarrow\quad{\displaystyle \diffp[2k-1,m-k-2,m+k+3]{F(x,y,z)}{x,y,z}}$,
\end{example}
+
\subsection{The order-override option}
In this example the overall order is presented as \texttt{2k+2m}. You might
@@ -537,9 +587,10 @@ factorise expressions. If you want to present the order in a manner distinct
from that of \texttt{diffcoeff}, use the\emph{ order-override option},
which is a second optional argument immediately following the first:
\begin{example}
-\textbackslash{}diffp{[}2k-1,m-k-2,m+k+3{]}{[}2(k+m){]}\{F(x,y,z)\}\{x,y,z\}
+\textbackslash diffp{[}2k-1,m-k-2,m+k+3{]}{[}2(k+m){]}\{F(x,y,z)\}\{x,y,z\}
$\Longrightarrow\quad{\displaystyle \diffp[2k-1,m-k-2,m+k+3][2(m+k)]{F(x,y,z)}{x,y,z}}$.
\end{example}
+
The order-override option does exactly that: overrides the presentation
of the calculated order with the manually given one. (In fact the algorithm
does not get called at all.)
@@ -572,9 +623,10 @@ functionality for the trailing optional argument.
To take a grotesque example, that will never arise in practice, consider
the following:
\begin{example}
-\textbackslash{}diffp{[}kmn-mn+n-1,2kmn-mn+2n-1,n+1{]}\{f\}\{x,y,z,w\}
+\textbackslash diffp{[}kmn-mn+n-1,2kmn-mn+2n-1,n+1{]}\{f\}\{x,y,z,w\}
$\Longrightarrow{\displaystyle \diffp[kmn-mn+n-1,2kmn-mn+2n-1,n+1]{f}{x,y,z,w}}.$
\end{example}
+
As noted earlier, since the final variable $w$ is differentiated only
to order 1, there is no need to specify it in the comma list of orders.
The implicit 1 contributes to the vanishing of the numerical part in the
@@ -585,16 +637,18 @@ before single-variable terms, generally before the numerical term. However
if a minus sign precedes the first many-variable term, and the numerical
term is positive, it will be presented first:
\begin{example}
-\textbackslash{}diffp{[}12-2km,k-1,km+1{]}\{f\}\{x,y,z,w\} $\Longrightarrow{\displaystyle \diffp[12-2km,km-1,k+1]{f}{x,y,z,w}}.$
+\textbackslash diffp{[}12-2km,k-1,km+1{]}\{f\}\{x,y,z,w\} $\Longrightarrow{\displaystyle \diffp[12-2km,km-1,k+1]{f}{x,y,z,w}}.$
\end{example}
+
Should the numerical term either vanish or be negative and the leading
algebraic term is preceded by a minus sign, \texttt{diffcoeff} will look
for an algebraic term with a preceding $+$ sign and put that first:
\begin{example}
-\textbackslash{}diffp{[}2km-3k-1,2k-1,-3km+4k+1{]}\{f\}\{x,y,z,w\} $\Longrightarrow{\displaystyle \diffp[2km-3k-1,2k-1,-3km+4k+1]{f}{x,y,z,w}}.$
+\textbackslash diffp{[}2km-3k-1,2k-1,-3km+4k+1{]}\{f\}\{x,y,z,w\} $\Longrightarrow{\displaystyle \diffp[2km-3k-1,2k-1,-3km+4k+1]{f}{x,y,z,w}}.$
\end{example}
-\subsection{\textbackslash{}diffset: formatting tweaks}
+
+\subsection{\textbackslash diffset: formatting tweaks}
As with ordinary derivatives, there are a number of tweaks one can make
to the display of a partial derivative.
@@ -603,9 +657,10 @@ You may want more space between the $\partial$ symbol in the numerator
of a partial derivative and the superscripted order of the derivative.
The separation can be altered by using the
\begin{example}
-\textbackslash{}diffset{[}p-sep = $n${]}
+\textbackslash diffset{[}p-sep = $n${]}
\end{example}
-\noindent command which adds an extra $n$~mu to \TeX{}'s spacing. The
+
+\noindent command which adds an extra $n$~mu to \TeX 's spacing. The
default value is 1 (i.e. 1~mu). The new separation will affect all derivatives
following the new setting. Put in the preamble, the new separation will
be document-wide.
@@ -613,37 +668,41 @@ be document-wide.
You may also want to adjust the spacing between the terms in the denominator.
This can be done with the command
\begin{example}
-\textbackslash{}diffset{[}sep=$n${]}
+\textbackslash diffset{[}sep=$n${]}
\end{example}
-which adds an extra $n$~mu to \TeX{}'s spacing. The default value is
-2~mu.
+
+which adds an extra $n$~mu to \TeX 's spacing. The default value is 2~mu.
If you wish to indicate the point at which a partial derivative is evaluated,
you may not want to use parentheses, since these when subscripted are widely
held to indicate variables held constant. To change the delimiter on the
right to a vertical line, use
\begin{example}
-\textbackslash{}diffset{[}p-delims = . | {]}\textmd{,}
+\textbackslash diffset{[}p-delims = . | {]}\textmd{,}
\end{example}
-the dot suppressing the delimiter on the left. (Note that to use \texttt{\textbackslash{}\{}
-and \texttt{\textbackslash{}\}} as delimiters, \texttt{\textbackslash{}diffset
+
+the dot suppressing the delimiter on the left. (Note that to use \texttt{\textbackslash\{}
+and \texttt{\textbackslash\}} as delimiters, \texttt{\textbackslash diffset
}must be placed between maths delimiters.)
Changing the delimiters will usually require a repositioning of the subscript.
The command is
\begin{example}
-\textbackslash{}diffset{[}p-nudge = $n${]}\textmd{.}
+\textbackslash diffset{[}p-nudge = $n${]}\textmd{.}
\end{example}
+
For parentheses the default value of $n$ is $-6$, but for the vertical
rule a zero value is appropriate. Thus the overall command for . | would
be
\begin{example}
-\textbackslash{}diffset{[}p-delims = . |, p-nudge = 0{]} \textmd{.}
+\textbackslash diffset{[}p-delims = . |, p-nudge = 0{]} \textmd{.}
\end{example}
+
Writing
\begin{example}
-\textbackslash{}diffset
+\textbackslash diffset
\end{example}
+
will return all settings to their default values.
\subsection{Variations}
@@ -659,41 +718,45 @@ Although it would be nice to write the minimal \texttt{\{xy\}} for this
rather than \texttt{\{x,y}\}, the extra writing is trivial and the comma
list allows the simplest handling of multi-character variables:
\begin{example}
-\textbackslash{}diffp\{A\_i\}\{ x\textasciicircum{}j,x\textasciicircum{}k
+\textbackslash diffp\{A\_i\}\{ x\textasciicircum j,x\textasciicircum k
\} $\Longrightarrow{\displaystyle \diffp{A_{i}}{x^{j},x^{k}},}$
\end{example}
+
taken from tensor calculus, or this strange object taken from statistical
mechanics:
\begin{example}
-\textbackslash{}diffp{[}2{]}q\{\textbackslash{}frac 1\textbackslash{}Theta\}
+\textbackslash diffp{[}2{]}q\{\textbackslash frac 1\textbackslash Theta\}
$\Longrightarrow{\displaystyle \diffp[2]q{\frac{1}{\Theta}}}$.
\end{example}
+
The parentheses have been inserted automatically by \texttt{diffcoeff}
to clarify exactly what the variable of differentiation is.
\subsubsection{Use of phantoms when appending differentiands}
As for ordinary derivatives, when appending a differentiand you may want
-to include a phantom (\texttt{\textbackslash{}hphantom} etc.) in the numerator
+to include a phantom (\texttt{\textbackslash hphantom} etc.) in the numerator
of the differential coefficient to alter the placement of the $\partial$
symbol. This may be particularly relevant if the order of differentiation
is a multi-character symbol or if there are a number of variables of differentiation.
Either means of achieving the appended differentiand achieve the same result:
\begin{example}
-\textbackslash{}diffp{[}m,2{]}\{\textbackslash{}hphantom\{\textbackslash{}partial
-y \textbackslash{}partial \}\}\{x,y,z\} (\textbackslash{}ln \textbackslash{}cos
-x + \textbackslash{}ln \textbackslash{}sin y)z $\Longrightarrow\quad{\displaystyle \diffp[m,2]{\hphantom{\partial y\partial}}{x,y,z}}(\ln\cos x+\ln\sin y)z,$\medskip{}
+\textbackslash diffp{[}m,2{]}\{\textbackslash hphantom\{\textbackslash partial
+y \textbackslash partial \}\}\{x,y,z\} (\textbackslash ln \textbackslash cos
+x + \textbackslash ln \textbackslash sin y)z $\Longrightarrow\quad{\displaystyle \diffp[m,2]{\hphantom{\partial y\partial}}{x,y,z}}(\ln\cos x+\ln\sin y)z,$\medskip{}
-\textbackslash{}diffp{*}{[}m,2{]}\{\textbackslash{}hphantom\{\textbackslash{}partial
-y \textbackslash{}partial \}(\textbackslash{}ln \textbackslash{}cos x +
-\textbackslash{}ln \textbackslash{}sin y)z\}\{x,y,z\} $\Longrightarrow\quad{\displaystyle \diffp*[m,2]{\hphantom{\partial y\partial}(\ln\cos x+\ln\sin y)z}{x,y,z}},$
+\textbackslash diffp{*}{[}m,2{]}\{\textbackslash hphantom\{\textbackslash partial
+y \textbackslash partial \}(\textbackslash ln \textbackslash cos x +
+\textbackslash ln \textbackslash sin y)z\}\{x,y,z\} $\Longrightarrow\quad{\displaystyle \diffp*[m,2]{\hphantom{\partial y\partial}(\ln\cos x+\ln\sin y)z}{x,y,z}},$
\end{example}
+
which is to be compared with the derivative without the phantom,
\begin{example}
-\textbackslash{}diffp{*}{[}m,2{]}\{(\textbackslash{}ln \textbackslash{}cos
-x + \textbackslash{}ln \textbackslash{}sin y)z\}\{x,y,z\} $\Longrightarrow\quad{\displaystyle \diffp*[m,2]{(\ln\cos x+\ln\sin y)z}{x,y,z}}.$
+\textbackslash diffp{*}{[}m,2{]}\{(\textbackslash ln \textbackslash cos
+x + \textbackslash ln \textbackslash sin y)z\}\{x,y,z\} $\Longrightarrow\quad{\displaystyle \diffp*[m,2]{(\ln\cos x+\ln\sin y)z}{x,y,z}}.$
\end{example}
+
\noindent In the starred form, \texttt{diffcoeff} understands that the
phantom is not appended with the differentiand but stays in the numerator.
(But a \emph{second} phantom would be appended.)
@@ -702,37 +765,40 @@ phantom is not appended with the differentiand but stays in the numerator.
Partial derivatives can be iterated. For example,
\begin{example}
-\textbackslash{}diffp f\{x,y\} = \textbackslash{}diffp{*}\{\textbackslash{}diffp
+\textbackslash diffp f\{x,y\} = \textbackslash diffp{*}\{\textbackslash diffp
fy\}x $\Longrightarrow{\displaystyle \diffp f{x,y}=\diffp*{\diffp fy}x,}$\medskip{}
-\textbackslash{}diffp f\{x,y\} = \textbackslash{}diffp\{\textbackslash{}diffp
+\textbackslash diffp f\{x,y\} = \textbackslash diffp\{\textbackslash diffp
fy\}x $\Longrightarrow{\displaystyle \diffp f{x,y}=\diffp{\diffp fy}x.}$
\end{example}
+
It is easy to switch between these forms by inserting or deleting the asterisk.
\subsection{Jacobians}
-\texttt{diffcoeff} provides a command \texttt{\textbackslash{}jacob} for
+\texttt{diffcoeff} provides a command \texttt{\textbackslash jacob} for
constructing Jacobians. For example
\begin{example}
-\textbackslash{}jacob\{u,v,w\}\{x,y,z\} $\Longrightarrow{\displaystyle \jacob{u,v,w}{x,y,z}.}$
+\textbackslash jacob\{u,v,w\}\{x,y,z\} $\Longrightarrow{\displaystyle \jacob{u,v,w}{x,y,z}.}$
\end{example}
-The comma lists can contain any number of variables. \texttt{\textbackslash{}jacob}
+
+The comma lists can contain any number of variables. \texttt{\textbackslash jacob}
does \emph{not} check that the two arguments contain the same number of
variables, so it is perfectly possible to form an object like
\begin{example}
-\textbackslash{}jacob\{u,v,w\}\{x,y\} ,
+\textbackslash jacob\{u,v,w\}\{x,y\} ,
\end{example}
+
which as far as I know has no meaning.
\section{Discussion of the code}
I set about creating this package when faced with trying to parse \LaTeX{}
expressions involving derivatives for another program I was working on.
-Trying to parse \texttt{\textbackslash{}frac\{d<something>\}\{d<something
-else>\}}, perhaps with \texttt{\textbackslash{}mathrm\{d\}}'s, and a superscript
-on the first \texttt{d}, perhaps with a \texttt{\textbackslash{}tfrac}
-or \texttt{\textbackslash{}dfrac} for the \texttt{\textbackslash{}frac},\textbf{
+Trying to parse \texttt{\textbackslash frac\{d<something>\}\{d<something
+else>\}}, perhaps with \texttt{\textbackslash mathrm\{d\}}'s, and a superscript
+on the first \texttt{d}, perhaps with a \texttt{\textbackslash tfrac}
+or \texttt{\textbackslash dfrac} for the \texttt{\textbackslash frac},\textbf{
}wasn't quite hopeless, but it was certainly \emph{messy}. (I used regular
expressions to transform the fraction into something more systematic.)
@@ -744,39 +810,39 @@ CTAN, produced the following packages which provide macros for derivatives.
\begin{itemize}
\item \texttt{bropd}
\begin{itemize}
-\item \texttt{\textbackslash{}od{[}n{]}\{y\}\{x\}} and \texttt{\textbackslash{}pd{[}n{]}\{y\}\{x\}}
+\item \texttt{\textbackslash od{[}n{]}\{y\}\{x\}} and \texttt{\textbackslash pd{[}n{]}\{y\}\{x\}}
for ordinary and partial derivatives of order \texttt{n} in one variable
-\item \texttt{\textbackslash{}pd\{u\}\{x,x,t\}} for a mixed partial derivative,
+\item \texttt{\textbackslash pd\{u\}\{x,x,t\}} for a mixed partial derivative,
order 2 in \texttt{x}, 1 in \texttt{t}
-\item \texttt{\textbackslash{}pd\{\}\{z\}\{x+y\}} for appending \texttt{(x+y)}
-\item \texttt{\textbackslash{}pd\{!\}\{z\}\{x+y\}} for appending \texttt{x+y}
+\item \texttt{\textbackslash pd\{\}\{z\}\{x+y\}} for appending \texttt{(x+y)}
+\item \texttt{\textbackslash pd\{!\}\{z\}\{x+y\}} for appending \texttt{x+y}
\end{itemize}
\item \texttt{commath}
\begin{itemize}
-\item \texttt{\textbackslash{}od{[}n{]}\{y\}\{x\}} and \texttt{\textbackslash{}pd{[}n{]}\{y\}\{x\}}
+\item \texttt{\textbackslash od{[}n{]}\{y\}\{x\}} and \texttt{\textbackslash pd{[}n{]}\{y\}\{x\}}
for ordinary and partial derivatives of order \texttt{n} in one variable
-\item \texttt{\textbackslash{}md\{f\}\{5\}\{x\}\{2\}\{y\}\{3\}} for a 5th order
+\item \texttt{\textbackslash md\{f\}\{5\}\{x\}\{2\}\{y\}\{3\}} for a 5th order
mixed partial derivative
-\item \texttt{\textbackslash{}tmd}, \texttt{\textbackslash{}dmd} and similar
+\item \texttt{\textbackslash tmd}, \texttt{\textbackslash dmd} and similar
commands for forcing text and display styles
\end{itemize}
\item \texttt{esdiff}
\begin{itemize}
-\item \texttt{\textbackslash{}diff{[}n{]}\{y\}\{x\}}\textbf{ }and \texttt{\textbackslash{}diffp{[}n{]}\{y\}\{x\}}\textbf{
+\item \texttt{\textbackslash diff{[}n{]}\{y\}\{x\}}\textbf{ }and \texttt{\textbackslash diffp{[}n{]}\{y\}\{x\}}\textbf{
}for ordinary and partial derivatives of order \texttt{n} in one variable
-\item \texttt{\textbackslash{}diffp\{f\}\{\{x\textasciicircum{}2\}\{y\}\{z\textasciicircum{}3\}\}}
+\item \texttt{\textbackslash diffp\{f\}\{\{x\textasciicircum 2\}\{y\}\{z\textasciicircum 3\}\}}
for a mixed partial derivative of order 6 in three variables
-\item \texttt{\textbackslash{}diff{*}{[}n{]}\{y\}\{x\}\{0\}} for indicating the
+\item \texttt{\textbackslash diff{*}{[}n{]}\{y\}\{x\}\{0\}} for indicating the
point of evaluation of the derivative (using a subscript on parentheses)
-\item \texttt{\textbackslash{}diffp{*}\{P\}\{T\}\{V\}} to indicate a variable
+\item \texttt{\textbackslash diffp{*}\{P\}\{T\}\{V\}} to indicate a variable
held constant
\end{itemize}
\item \texttt{physymb}
\begin{itemize}
-\item \texttt{\textbackslash{}ud\{y\}\{x\}} and \texttt{\textbackslash{}pd\{y\}\{x\}}
+\item \texttt{\textbackslash ud\{y\}\{x\}} and \texttt{\textbackslash pd\{y\}\{x\}}
for ordinary and partial derivatives of first order
-\item \texttt{\textbackslash{}udd\{y\}\{x\}}, \texttt{\textbackslash{}uddd\{y\}\{x\}}
-and \texttt{\textbackslash{}pdd\{y\}\{x\}}, \texttt{\textbackslash{}pddd\{y\}\{x\}}
+\item \texttt{\textbackslash udd\{y\}\{x\}}, \texttt{\textbackslash uddd\{y\}\{x\}}
+and \texttt{\textbackslash pdd\{y\}\{x\}}, \texttt{\textbackslash pddd\{y\}\{x\}}
for second and third order ordinary and partial derivatives
\item higher order derivatives not catered for
\end{itemize}
@@ -795,8 +861,9 @@ form the overall order of a mixed partial derivative, including those containing
both algebraic and numeric contributions to the order:
\end{itemize}
\begin{example}
-\textbackslash{}diffp{[}m-k-1,m+k{]}\{F(x,y,z)\}\{x,y,z\} $\Longrightarrow{\displaystyle \diffp[m-k-1,m+k]{F(x,y,z)}{x,y,z}}.$
+\textbackslash diffp{[}m-k-1,m+k{]}\{F(x,y,z)\}\{x,y,z\} $\Longrightarrow{\displaystyle \diffp[m-k-1,m+k]{F(x,y,z)}{x,y,z}}.$
\end{example}
+
\begin{itemize}
\item Ease of use was another major consideration, trying to avoid the unnecessary
writing of superscripts and subscripts and brace pairs. In this example,
@@ -810,34 +877,35 @@ of braces.
\end{itemize}
\item I've also tried to make the options `natural' and consistent across both
ordinary and partial derivatives. Looking at the other packages listed
-above, writing something like \texttt{\textbackslash{}diff{[}n{]}\{f\}\{x\}}
-(which can be trimmed to \texttt{\textbackslash{}diff{[}n{]}fx} in this
+above, writing something like \texttt{\textbackslash diff{[}n{]}\{f\}\{x\}}
+(which can be trimmed to \texttt{\textbackslash diff{[}n{]}fx} in this
instance) seems `natural' \textendash{} only \texttt{physymb} deviates
from the pattern. It seems consistent with this pattern to use a comma
list as an optional argument for mixed partial derivatives.
\item I debated whether to include provision for points of evaluation and variables
-held constant into the \texttt{\textbackslash{}diff} and \texttt{\textbackslash{}diffp}
+held constant into the \texttt{\textbackslash diff} and \texttt{\textbackslash diffp}
commands. \texttt{esdiff} certainly allows this. I think a case can be
made, in subjects like thermodynamics, to consider the parentheses and
subscript as part of the overall symbol. The partial derivative itself
doesn't give the full story; it is ambiguous. Hence provision for these
-extra elements was included in \texttt{\textbackslash{}diff} and \texttt{\textbackslash{}diffp}.
+extra elements was included in \texttt{\textbackslash diff} and \texttt{\textbackslash diffp}.
It's positioning as a final optional argument also felt natural given the
position of the resulting symbol in the displayed derivative:
\end{itemize}
\begin{example}
-\textbackslash{}diffp ST\{V\} $\Longrightarrow\quad{\displaystyle \diffp ST{V}}$
+\textbackslash diffp ST\{V\} $\Longrightarrow\quad{\displaystyle \diffp ST{V}}$
\end{example}
+
\begin{itemize}
\item Although initially I used standard square brackets for this trailing optional
argument, the possibility of an immediately following mathematical expression
being enclosed in square brackets convinced me to use braces for the argument.
An immediately following expression can now be enclosed in \texttt{{[}
-{]}}, or \texttt{\textbackslash{}\{ \textbackslash{}\}}, without ambiguity.
+{]}}, or \texttt{\textbackslash\{ \textbackslash\}}, without ambiguity.
\item The star option also prompted the reflection: is it needed? One can always
leave the first mandatory argument empty and append the differentiand `by
hand'. But once the provision for points of evaluation or variables held
-constant was incorporated into the \texttt{\textbackslash{}diff} and \texttt{\textbackslash{}diffp}
+constant was incorporated into the \texttt{\textbackslash diff} and \texttt{\textbackslash diffp}
commands, the star option became the simplest way of handling appended
differentiands using the extra provision. (Note that it conflicts with
the star option in \texttt{esdiff}, but I can't see the packages ever being
@@ -1015,16 +1083,16 @@ point).
Row 8 of our table generates an error: a digit following a variable. But
having allowed products of variables like \texttt{mn} ($mn$), it is very
-tempting to allow \texttt{mm}, i.e. \texttt{m\textasciicircum{}2} ($m^{2}$)
-and, indeed, \texttt{m\textasciicircum{}n} ($m^{n}$). And if we allow
-\texttt{m\textasciicircum{}2} and \texttt{m\textasciicircum{}n}, how can
+tempting to allow \texttt{mm}, i.e. \texttt{m\textasciicircum 2} ($m^{2}$)
+and, indeed, \texttt{m\textasciicircum n} ($m^{n}$). And if we allow
+\texttt{m\textasciicircum 2} and \texttt{m\textasciicircum n}, how can
we say no to subscripted forms like \texttt{k\_2} ($k_{2}$) and \texttt{k\_n}
($k_{n}$)? Or, for that matter, \texttt{k\_+} ($k_{+}$) and \texttt{k\_-}
-($k_{-}$), and therefore \texttt{m\textasciicircum{}+} ($m^{+}$) and
-\texttt{m\textasciicircum{}-} ($m^{-}$)? And having extended the scheme
+($k_{-}$), and therefore \texttt{m\textasciicircum +} ($m^{+}$) and
+\texttt{m\textasciicircum -} ($m^{-}$)? And having extended the scheme
in this way to exponents of \emph{variables}, surely it should also encompass
-exponents of \emph{numbers}, not only an obvious case like \texttt{2\textasciicircum{}2}
-($2^{2}$) but less obviously, yet still compellingly, \texttt{2\textasciicircum{}n}
+exponents of \emph{numbers}, not only an obvious case like \texttt{2\textasciicircum 2}
+($2^{2}$) but less obviously, yet still compellingly, \texttt{2\textasciicircum n}
($2^{n}$)?
Each of these extensions produces its own problems, but they can all be
@@ -1040,9 +1108,9 @@ in \texttt{diffcoeff.sty}.
In the code, the states are distinguished by integers as indicated in Table~\ref{tab:State-integers}.
Tokens are assigned similar integer indexes, as indicated in the table.
-The relevant routine is \texttt{\textbackslash{}\_\_diffco\_get\_curr\_index:NN}.
+The relevant routine is \texttt{\textbackslash\_\_diffco\_get\_curr\_index:NN}.
The actions embodied in Table~\ref{tab:Input-output-states} are encoded
-in \texttt{\textbackslash{}\_\_diffco\_compare\_states:NNNNN} which is
+in \texttt{\textbackslash\_\_diffco\_compare\_states:NNNNN} which is
a direct translation of the table into expl3 code.
\begin{table}[h]
@@ -1067,17 +1135,17 @@ algebraic & 2 & variables\tabularnewline
Symbol & Code variable\tabularnewline
\hline
\hline
-$s$,$d$,$v$ & \texttt{\textbackslash{}l\_\_diffco\_curr\_tok\_tl}\tabularnewline
+$s$,$d$,$v$ & \texttt{\textbackslash l\_\_diffco\_curr\_tok\_tl}\tabularnewline
\hline
-$T$ & \texttt{\textbackslash{}l\_\_diffco\_curr\_term\_tl}\tabularnewline
+$T$ & \texttt{\textbackslash l\_\_diffco\_curr\_term\_tl}\tabularnewline
\hline
-$V$ & \texttt{\textbackslash{}l\_\_diffco\_curr\_var\_tl}\tabularnewline
+$V$ & \texttt{\textbackslash l\_\_diffco\_curr\_var\_tl}\tabularnewline
\hline
-$\mathbf{N}$ & \texttt{\textbackslash{}l\_\_diffco\_nos\_tl}\tabularnewline
+$\mathbf{N}$ & \texttt{\textbackslash l\_\_diffco\_nos\_tl}\tabularnewline
\hline
-$\mathbf{A}$ & \texttt{\textbackslash{}l\_\_diffco\_alg\_tl}\tabularnewline
+$\mathbf{A}$ & \texttt{\textbackslash l\_\_diffco\_alg\_tl}\tabularnewline
\hline
-$\mathbf{V}$ & \texttt{\textbackslash{}l\_\_diffco\_vars\_prop}\tabularnewline
+$\mathbf{V}$ & \texttt{\textbackslash l\_\_diffco\_vars\_prop}\tabularnewline
\hline
\end{tabular}}
\end{table}
@@ -1085,11 +1153,11 @@ A property list is used to store the variables, organised by size \textendash{}
the number of tokens composing an extended variable. This enables the sorting
by size needed for the determination of the overall coefficients of variables
by removing them in turn from the algebraic part of the expression. That
-process is conducted in the routine \texttt{\textbackslash{}\_\_diffco\_eval\_vars:NN}.
+process is conducted in the routine \texttt{\textbackslash\_\_diffco\_eval\_vars:NN}.
The variables are recorded only on the first scan through the order specification
-expression. This is the function of the boolean \texttt{\textbackslash{}l\_\_diffco\_vars\_noted\_bool}
-which is set in \texttt{\textbackslash{}\_\_diffco\_eval\_vars:NN}. Evaluation
-of the numeric parts of expressions is provided by \texttt{\textbackslash{}\_\_diffco\_eval\_nos:N}.
+expression. This is the function of the boolean \texttt{\textbackslash l\_\_diffco\_vars\_noted\_bool}
+which is set in \texttt{\textbackslash\_\_diffco\_eval\_vars:NN}. Evaluation
+of the numeric parts of expressions is provided by \texttt{\textbackslash\_\_diffco\_eval\_nos:N}.
\section{Summary of main commands}
@@ -1097,41 +1165,45 @@ of the numeric parts of expressions is provided by \texttt{\textbackslash{}\_\_d
The syntax is
\begin{example}
-{\small{}\textbackslash{}diff{[}order{]}\{differentiand\}\{variable\}\{point
-of evaluation\}}{\small \par}
+{\small{}\textbackslash diff{[}order{]}\{differentiand\}\{variable\}\{point
+of evaluation\}}{\small\par}
\end{example}
+
for the differentiand in the numerator, and where the final argument, although
using braces, is an \emph{optional} argument. A starred form appends the
differentiand:
\begin{example}
-{\small{}\textbackslash{}diff{*}{[}order{]}\{differentiand\}\{variable\}\{point
-of evaluation\}}{\small \par}
+{\small{}\textbackslash diff{*}{[}order{]}\{differentiand\}\{variable\}\{point
+of evaluation\}}{\small\par}
\end{example}
+
No space must occur between the final optional argument, if it is used,
and the second mandatory argument.
There are also slash forms of both these commands:
\begin{example}
-{\small{}\textbackslash{}diff{[}order{]}\{differentiand\}/\{variable\}\{point
-of evaluation\}}{\small \par}
+{\small{}\textbackslash diff{[}order{]}\{differentiand\}/\{variable\}\{point
+of evaluation\}}{\small\par}
-{\small{}\textbackslash{}diff{*}{[}order{]}\{differentiand\}/\{variable\}\{point
-of evaluation\}}{\small \par}
+{\small{}\textbackslash diff{*}{[}order{]}\{differentiand\}/\{variable\}\{point
+of evaluation\}}{\small\par}
\end{example}
+
For the starred form, the differential coefficient is enclosed in parentheses.
-Precisely similar definitions, but without the slash forms, apply to \texttt{\textbackslash{}Diff},
-forming a differential coefficient with $D$, \texttt{\textbackslash{}diffd},
-forming a differential coefficient with $\delta$, and \texttt{\textbackslash{}Diffd},
+Precisely similar definitions, but without the slash forms, apply to \texttt{\textbackslash Diff},
+forming a differential coefficient with $D$, \texttt{\textbackslash diffd},
+forming a differential coefficient with $\delta$, and \texttt{\textbackslash Diffd},
forming a differential coefficient with $\Delta$.
\subsubsection{Partial derivatives}
The syntax is
\begin{example}
-{\small{}\textbackslash{}diffp{[}order spec.{]}{[}order override{]}\{differentiand\}\{variables\}\{constant
-variables\}}{\small \par}
+{\small{}\textbackslash diffp{[}order spec.{]}{[}order override{]}\{differentiand\}\{variables\}\{constant
+variables\}}{\small\par}
\end{example}
+
for the differentiand in the numerator and where the final argument, although
in braces, is an \emph{optional} argument. No space must occur between
the final optional argument, if it is used, and the second mandatory argument.
@@ -1139,30 +1211,34 @@ The \textbf{\strong{\textbf{order spec.}}} is a comma-separated list;
the \strong{variables} is also a comma-separated list. A starred form
appends the differentiand:
\begin{example}
-{\small{}\textbackslash{}diffp{*}{[}order{]}{[}order~override{]}\{differentiand\}\{variables\}\{constant
-variables\}}{\small \par}
+{\small{}\textbackslash diffp{*}{[}order{]}{[}order~override{]}\{differentiand\}\{variables\}\{constant
+variables\}}{\small\par}
\end{example}
+
Slash forms exist also for these commands:
\begin{example}
-{\small{}\textbackslash{}diffp{[}order spec.{]}{[}order override{]}\{differentiand\}/\{variables\}\{constant
-variables\}}{\small \par}
+{\small{}\textbackslash diffp{[}order spec.{]}{[}order override{]}\{differentiand\}/\{variables\}\{constant
+variables\}}{\small\par}
-{\small{}\textbackslash{}diffp{*}{[}order{]}{[}order~override{]}\{differentiand\}/\{variables\}\{constant
-variables\}}{\small \par}
+{\small{}\textbackslash diffp{*}{[}order{]}{[}order~override{]}\{differentiand\}/\{variables\}\{constant
+variables\}}{\small\par}
\end{example}
+
For the starred version of the slash form, the differential coefficient
is enclosed in parentheses.
\subsubsection{Settings}
\begin{example}
-\textbackslash{}diffset{[}option1=<value1>,option2=<value2>,...{]}
+\textbackslash diffset{[}option1=<value1>,option2=<value2>,...{]}
\end{example}
+
All numerical values should be integers (\texttt{diffcoeff} interprets
this in units of mu, 1/18 of an em). To return all options to default values,
write
\begin{example}
-\textbackslash{}diffset
+\textbackslash diffset
\end{example}
+
The options and defaults are
\begin{description}
\item [{\strong{roman = false}}] \textbf{\strong{\textbf{true}}} gives upright
@@ -1185,4 +1261,12 @@ derivative
of a mixed partial derivative
\end{description}
+\subsection{Change history}
+
+Uploaded to CTAN 2016-06-27
+
+2016-06-30 Removed the unused \texttt{extend} package option (a relic from
+earlier experiments).
+
+2018-10-25 v.1.1 Changed the handling of error messages.
\end{document}