- Revise definitions of
\\setminus
and\\smallsetminus
(#181, #583) — long overdue. Note that there are compatibility considerations with this change. - Add
\\diagup
and\\diagdown
(#604). - Make
\\operator@font
protected to allow operators (e.g.,\\cos
) in section headings (etc). (#550) - Allow
\\symcal
to handle lowercase Latin (#589). - Add additional fonts to the symbol listing document (#597).
- Update to adapt to / support new features in the upcoming 2e kernel.
- Give a better error message if used on non-supported engines that are not pdfTeX.
- Remove dependency on
filehook
package. Just to simplify. - Remove patch code for the
colonequals
package; now if you use that package you will simply receive its standard ‘constructed’ symbols. - Load
amsmath
automatically. This is not intended to save time for the user, but to simplify the code logic. Users should continue to loadamsmath
explicitly IMO.
- Avoid
'Dimension too large' error
for some (unpredictable) combinations of font choice and theScale
option. Problems are still known to occur for very large or very small values ofScale
. - Documentation is now run through ‘continuous integration’ (viz, Travis for the time being) as well as the test suite.
- Add note to readme that the
lm-math
package is required for minimal functionality. - Spacing fixed for maths fonts loaded with the
Scale
fontspec feature (#287). - Commands like
\crampedtextstyle
now longer lead to an infinite loop under XeTeX (#505). - Improvements to the functionality of the test suite. (Although more tests would be nice.)
- Test suite is now (successfully) run with
expl3
debug mode enabled.
- Restore behaviour of legacy syntax
x_\mathrm{x}
(i.e., with no braces). While strictly ‘incorrectly’, this usage is widely used. N.B. this syntax is not supported for the\symXX
commands. - Add
\cuberoot
and\fourthroot
as proper radicals. - Some additional input subscripts/superscripts.
- Some documentation additions (thanks for the contributions).
- Deprecation warning: the internal
\__um_switchto_XX:
commands will be dropped in a future release in favour of\__um_switch_to:n {XX}
(or similar). These are internal commands and shouldn't be used by third-parties; please write if you have a use case.
- Issue an error message if
\setmathfont{...}[range=...]
is used first; arange
declaration inherently implies a subset, so a ‘main’ math font needs to be set up first. - Fix issue when nesting
\mathXX
and\symZZ
commands. (#356, #435, #438) - Fix another issue when using
mathXX
or\symXX
inside\DeclareMathOperator
. (#449) - Document incompatibility with the
mathspec
package. (#436) - Fix bugs for using
range=\partial
andrange=\nabla
. (#441)
- Eliminate warnings
Variant form 'NV' invalid for base form
... (#430). - Fix issue when loading the
cal
range (#431). - Fix issue with
\sqrt[n]{x}
withamsmath
(#432). - Error when loading on (really) old versions of XeTeX/LuaTeX removed.
- More UM fonts listed in the README (#425).
-
NEW
- Numbers and latin letters in the fullwidth Unicode range are now supported as aliases to their ASCII counterparts (#337).
- New commands
\(New|Renew)NegationCommand \foo
for defining custom negations accessed via\not\foo
.
-
SYMBOLS
\typecolon
is now\mathrel
instead of\mathbin
(#360).- New symbol
\mathhyphen
which acts like a ‘letter’ (#313). \nabla
and\partial
have corrected documentation (#257).- The following legacy commands are listed as ‘unsupported’ and will result
in sensible error messages rather than the old behaviour of meaningless
output:
\arrowvert
,\Arrowvert
,\bracevert
. (#411).
-
BUGS
- LuaTeX bug with shifted
\underbrace
when it contains accented symbols worked around (#391). - When using the
range
feature, users commonly found they needed to call\setmathfont
a final time with the original font to ensure correct formatting and correct selection of symbol alphabets. I hope the issues that required this have now been corrected (#331, #387). - If
\setmathfont
is called a second time in a document, it tries harder to more properly reset the maths font setup for the new font (#224). - Properly hard-coded the
\delcode
of the period to ensure\left
/\right
behave correctly in all circumstances (#344, #351, #420). - Correct
\mathrm
(etc.) situation when no fonts loaded explicitly by the user (#330). - Various bug fixes to
\not
(#126, #343, #363) \std@minus
&\std@equal
now properly corrected (#332).- Fix problem with infinite loop with
\cdots
whenamsmath
loaded afterunicode-math
(#227). - If
\setmath(rm|sf|tt)
is called before loadingunicode-math
, the setting is now remembered (#407).
- LuaTeX bug with shifted
-
INTERNALS
- A number of improvements to efficiency when loading subsequent math fonts
using the
range
feature. - No longer loads the
ucharcat
package. - Test suite re-implemented for better portability and use with Travis CI. See https://travis-ci.org/wspr/unicode-math for the up-to-date status of whether the test suite is passing.
- A number of improvements to efficiency when loading subsequent math fonts
using the
- Many internal changes to support future work.
- Improved documentation describing the
\mathXX
and\symXX
commands. - Documentation is now split into
unicode-math.pdf
(for the user) andunicode-math-code.pdf
(for the typeset source code).
- Some bugs crept in in the last update due to some code rearrangement:
- package version wasn't set;
- some code was being executed at the wrong time;
\sqrt[]{}
in LuaLaTeX gave incorrect output.
- The layout of the code is now structured far more sensibly.
- Remove (long deprecated)
\resetmathfont
; for years it has been a synonym for\setmathfont
.
- Better use of scriptstyle sizes in LuaTeX (I think a regression).
- Fix regression (
\mathbf
etc. not being set automatically) caused by the renaming of afontspec
internal command. - Minor documentation improvements.
- (Only relevant for me: I've also disabled the test suite almost entirely to begin a re-write for ‘continuous integration’.)
- Emergency fix (thanks Bruno) for another bug revealed by
expl3
update.
- Add
\surd
to access the sqrt symbol. - Fix bug exposed by
expl3
update to booleans. - Add Deja Vu Math TeX Gyre in list of symbols.
- Add
\sime
alias for\simeq
and\nsimeq
for\nsime
. (For negations it's helpful when they have consistent naming.)
vargreek-shape=TeX
andvargreek-shape=unicode
package options dropped; for consistency and compatibility,\phi
and\epsilon
should and will now behave the same as inTeX
.- On that note, when using control sequences such as
\mbfitsansvarphi
(and so on), there were a few faulty definitions. The new behaviour is to consistently define thevarphi
andvarepsilon
ones as those with the "curly" designs. - Add
\wideoverbar
,\widebreve
,\widecheck
. - Add
\mathsection
,\mathparagraph
. - Remove
\mupvarbeta
,upold(Kk)oppa
,\up(Ss)tigma
,\up(Kk)oppa
,\up(Ss)ampi
— none of these are maths symbols. !
(\mathexclam
) changed from\mathpunct
to\mathclose
for backwards compatibility with TeX.
- Add
\over(left/right)harpoon
as "wide" accents. - Add RTL mathematics operators
\arabicmaj
and\arabichad
, which correspond toU+1EEF0
andU+1EEF1
, resp. - Remove
catchfile
package dependency. - Update some internal names to match expl3 standards.
- Bug fix: Use the "ucharcat" package to simplify some code that caused some headaches with \tl_rescan:nn.
-
Fix bug with \vert, |, (l/r)vert, etc., displaying with the wrong characters.
-
Improve documentation to properly reflect changes in v0.8 and fix some broken examples.
-
No longer reset catcodes of : and @ during \setmathfont .
-
Fix remapping of alphabets (needed for Minion Math) in cases such as:
\setmathfont[range=bfit->it]{MinionMath-Bold.otf}
-
\mathrm
(\mathup
),\mathit
,\mathbf
,\mathsf
, and\mathtt
revert to their traditional LaTeX meanings; they are set up to match their equivalent text fonts unless specifically set using\setmathrm
and friends fromfontspec
or the new\setmathfontface
inunicode-math
. These commands should be used for multi-letter identifiers. -
New "symbol" commands have been added,
\symrm
(\symup
),symit
, ..., to replace the behaviour of the old commands. These should be used for single-letter identifiers. See the package documentation for more detail on these and related commands. -
Package options
mathit=sym
,mathbf=sym
, etc., reverse the changes above to revert to pre-v0.8 behaviour for\mathXYZ
. Regardless of package option,\symXYZ
always maps to symbols and\mathtextXYZ
is provided for the traditional\mathXYZ
font switch. -
New command
\setoperatorfont
to set the font used for commands such as\sin
and\cos
. Usage:\setoperatorfont\mathbf
or any command defined with\setmathfontface
. -
Traditional LaTeX
\DeclareMathAlphabet
now works again for legacy font-loading packages. -
Commands defined to "force" Greek letters with
\upbeta
and\itbeta
, etc. -
Assorted bug fixes and minor changes.
- No longer assume fixltx2e has been loaded.
- Some ascii math symbols have been renamed with a \math... prefix, such as \mathquestion.
- Assume latest luaotfload is being used; no need for a separate unicode-math.lua script.
- Assorted typos and minor bugs.
- Track luaotfload updates.
- More expl3 changes missed first time around. (Sorry again.)
- The Latin Modern math font name changed TWICE. Only caught the first one. Sorry for any inconvenience caused.
- Keep in sync with Latin Modern Math font name change.
- Keep in sync with expl3 changes.
- Keep in sync with expl3 changes.
- Most changes (and all significant ones) in this release thanks to Khaled Hosny, who is now credited as an author of the package.
- Many improvements for XeTeX support to take advantage of the new engine
(v0.9998) in TL2012.
- As a result,
\resetmathfont
is no longer required.
- As a result,
- Improve
\not
to use pre-combined glyphs where possible. - LM Math is loaded by default.
- Support bottom accents.
- And add
\wideutilde
.
- And add
- The ‘symbols’ document is somewhat better organised and contains information on whether a symbol is defined in plain TeX or amssymb.
- Various other minor fixes and additions:
\underleftrightarrow
added for fonts that support it.- Don’t overwrite mathtool’s
\overbracket
and\underbracket
. - Bug in
[range=...]
parsing fixed. - Add
\longdivision
. - Add
\lgroup
and\rgroup
. - Fix ‘moustache’ delimiters.
\openbox
renamed to\mathvisiblespace
, since it is already defined in amsthm as an empty box.
- Always a bug that slips through the cracks! Fixes
\left.
and\right.
- Add experimental package option
warnings-off=...
which allows warnings to be suppressed on an individual basis.
- Keep in sync with fontspec internals (sorry for the small delay where things were broken)
- Keep in sync with expl3 deprecated functions
- Math versions (finally) implemented; can now change maths fonts mid-document without reinitialising everything (thanks to Ulrike Fischer and Ulrik Vieth)
- Symbols file
unimath-symbols.pdf
now uses maths versions to compare all of the OpenType maths fonts I currently have access to - Over- and under- braces, brackets, and parentheses now work in XeTeX (thanks to Claudio Beccari)
- Many internal changes, including a re-write of the
range
feature; it should now be faster and more robust - Tentative programmer's interface for querying the current math style:
\l_um_mathstyle_tl
. - Remove (outdated) interaction with beamer; you must specify
professionalfonts
manually for now - Quieten the console output when loading maths fonts with incomplete maths style coverage
- Synonym added:
\lnot
->\neg
- Two added Unicode symbols (names tentative):
\blanksymbol
and\openbox
(thanks to Apostolos Syropoulos) - Fixed literal sub-/super-script input.
- Fix forward compatibility clash with deprecated expl3 functions (sorry)
- Command names are now
\protected
; this makes them safe to use in moving arguments and so on - Similarly to the change in v0.5c, the main math font is now loaded in
math family zero (equiv. to LaTeX's
operators
math font) \mathring
added- Ensure that a math font has been selected in order to prevent problems in minimal documents (this will be unnecessary when the OpenType LM math font is released)
- Documentation for which was which of epsilon/varepsilon was backwards! (thank to Rasmus Villemoes for pointing this out)
- Spurious
\upUpsilon
removed (the one at U+03A5 is now the correct one) - Typo when defining
\dprime
fixed (thanks to Ulrik Vieth for these last two) - Fix the math class of
\modtwosum
; it is now a large operator (thanks to Michael Ummels) - Move several LuaTeX-related patches to the
lualatex-math
package - Fixed mathtool's
\cramped
in XeLaTeX usage
- Assorted improvements to LuaLaTeX support, including non-growing accents available in LuaTeX v0.65 and later
- Improved behaviour with reading and using maths font dimensions
- Better compatibility with legacy maths packages and environments (always more worked needed, though)
- Fix the default setting for "vargreek-shape"
- Fix a long-standing bug in XeLaTeX in which the "master" math families 2 and 3 weren't being set; hence fraction rules and many other parameters were not being set correctly
- Stay in sync with internal fontspec changes
- Added missing symbols/synonyms: \diamond \smallint \emptyset \hbar \backepsilon \eth
- \overline works for LuaLaTeX
- Fix \slash; previously, it overwrote the text definition
- \vartriangle now has the correct math class
- Numerous documentation improvements
- Bug fix against stray catcode changes
- Add
\mathcal
and\mathbfcal
as distinct from the Script style; these are only supported by the XITS fonts at present - Small changes to the range of symbols offered (especially note that
\ac
is now\invlazys
to avoid acronym package clash) - Superscripts are allowed after primes (as they should be)
- Numerous LuaLaTeX improvements, including roots and over/under braces.