From 02459d1ce258d5e4a41a829987870c78bddd7ee4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 15 Sep 2011 23:28:41 +0000 Subject: lualatex-math (15sep11) git-svn-id: svn://tug.org/texlive/trunk@23971 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/lualatex/lualatex-math/MANIFEST | 18 - .../texmf-dist/doc/lualatex/lualatex-math/Makefile | 119 ----- .../texmf-dist/doc/lualatex/lualatex-math/README | 47 -- .../doc/lualatex/lualatex-math/lualatex-math.el | 17 - .../doc/lualatex/lualatex-math/phst-doc.cls | 556 --------------------- .../doc/lualatex/lualatex-math/test-amsmath.tex | 310 ------------ .../lualatex/lualatex-math/test-icomma-unicode.tex | 209 -------- .../doc/lualatex/lualatex-math/test-icomma.tex | 207 -------- .../lualatex/lualatex-math/test-kernel-alloc.tex | 241 --------- .../lualatex/lualatex-math/test-kernel-style.tex | 238 --------- .../doc/lualatex/lualatex-math/test-unicode.tex | 215 -------- .../scripts/lualatex-math/lualatex-math.lua | 49 -- .../tex/lualatex/lualatex-math/lualatex-math.lua | 49 ++ 13 files changed, 49 insertions(+), 2226 deletions(-) delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/MANIFEST delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/Makefile delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/README delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/lualatex-math.el delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/phst-doc.cls delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/test-amsmath.tex delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/test-icomma-unicode.tex delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/test-icomma.tex delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/test-kernel-alloc.tex delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/test-kernel-style.tex delete mode 100644 Master/texmf-dist/doc/lualatex/lualatex-math/test-unicode.tex delete mode 100755 Master/texmf-dist/scripts/lualatex-math/lualatex-math.lua create mode 100644 Master/texmf-dist/tex/lualatex/lualatex-math/lualatex-math.lua (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/MANIFEST b/Master/texmf-dist/doc/lualatex/lualatex-math/MANIFEST deleted file mode 100644 index 7b2b8d0e972..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/MANIFEST +++ /dev/null @@ -1,18 +0,0 @@ -This work consists of the non-derived files - -README -README.rst -MANIFEST -Makefile -lualatex-math.dtx -lualatex-math.ins -lualatex-math.el - -and the derived files - -lualatex-math.sty -lualatex-math.lua -test-kernel.tex -test-amsmath.tex -test-unicode.tex -lualatex-math.pdf diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/Makefile b/Master/texmf-dist/doc/lualatex/lualatex-math/Makefile deleted file mode 100644 index 14c7e6d37bb..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/Makefile +++ /dev/null @@ -1,119 +0,0 @@ -# Makefile -# Copyright 2011 Philipp Stephani -# -# This work may be distributed and/or modified under the -# conditions of the LaTeX Project Public License, either version 1.3c -# of this license or (at your option) any later version. -# The latest version of this license is in -# http://www.latex-project.org/lppl.txt -# and version 1.3c or later is part of all distributions of LaTeX -# version 2009/09/24 or later. -# -# This work has the LPPL maintenance status `maintained'. -# The Current Maintainer of this work is Philipp Stephani. -# This work consists of all files listed in MANIFEST. - -SHELL := /bin/sh -INSTALL := install -INSTALL_PROGRAM := $(INSTALL) -c -m 755 -INSTALL_DATA := $(INSTALL) -c -m 644 - -ZIP := zip -v -MKTEXLSR := mktexlsr -TEX := tex -LATEX := lualatex -MAKEINDEX := makeindex - -name := lualatex-math - -texmf := $(shell kpsewhich --var-value=TEXMFHOME) -branch := lualatex/$(name) -destdir := $(texmf)/tex/$(branch) -docdir := $(texmf)/doc/$(branch) -auctexdir := ~/.emacs.d/auctex/style - -LATEXFLAGS := --file-line-error --interaction=scrollmode -LATEXFLAGS_DRAFT := $(LATEXFLAGS) --draftmode -LATEXFLAGS_FINAL := $(LATEXFLAGS) --synctex=1 - -source := $(name).dtx -driver := $(name).ins -dest_sty := $(name).sty -dest_lua := $(name).lua -destination := $(dest_sty) $(dest_lua) -tests := test-kernel-alloc test-kernel-style test-amsmath test-unicode test-icomma test-icomma-unicode -tests_src := $(addsuffix .tex, $(tests)) -tests_dest := $(addsuffix .pdf, $(tests)) -class := $(shell kpsewhich phst-doc.cls) -manual := $(name).pdf -auctex_style := $(name).el -index_src := $(name).idx -index_dest := $(name).ind -index_log := $(name).ilg -index_sty := gind.ist -changes_src := $(name).glo -changes_dest := $(name).gls -changes_log := $(name).glg -changes_sty := gglo.ist -tds_arch := $(name).tds.zip -tds_root := texmf-dist -tds_destdir := $(tds_root)/tex/$(branch) -tds_docdir := $(tds_root)/doc/$(branch) -tds_srcdir := $(tds_root)/source/$(branch) -tds_dest := $(addprefix $(tds_destdir)/, $(destination)) -tds_doc := $(addprefix $(tds_docdir)/, $(manual)) -tds_source := $(addprefix $(tds_srcdir)/, $(source) $(driver)) -tds_files := $(tds_dest) $(tds_doc) $(tds_source) -ctan_arch := $(name).zip -ctan_files := $(tds_arch) README MANIFEST Makefile $(source) $(driver) $(destination) $(test_src) $(class) $(manual) $(auctex_style) - - -all: $(destination) $(auctex_style) - -check: $(tests_dest) - -pdf: $(manual) - -complete: all check pdf - -ctan: $(ctan_arch) - -install: all - $(INSTALL) -d $(destdir) - $(INSTALL_DATA) $(destination) $(destdir) - $(INSTALL) -d $(auctexdir) - $(INSTALL_DATA) $(auctex_style) $(auctexdir) - $(MKTEXLSR) - -install-pdf: pdf - $(INSTALL) -d $(docdir) - $(INSTALL_DATA) $(manual) $(docdir) - $(MKTEXLSR) - -install-complete: install install-pdf - -$(destination) $(tests_src): $(driver) $(source) - $(TEX) $< - -$(tests_dest): %.pdf: %.tex $(destination) - $(LATEX) $(LATEXFLAGS_FINAL) $< - -$(manual): $(source) $(destination) - $(LATEX) $(LATEXFLAGS_DRAFT) $< - $(MAKEINDEX) -s $(index_sty) -o $(index_dest) -t $(index_log) $(index_src) - $(MAKEINDEX) -s $(changes_sty) -o $(changes_dest) -t $(changes_log) $(changes_src) - $(LATEX) $(LATEXFLAGS_DRAFT) $< - $(LATEX) $(LATEXFLAGS_FINAL) $< - -$(tds_destdir)/% $(tds_docdir)/% $(tds_srcdir)/%: % - $(INSTALL) -d $(dir $@) - $(INSTALL_DATA) $< $(dir $@) - -$(tds_arch): $(tds_files) - $(ZIP) -p $@ $^ - -$(ctan_arch): $(ctan_files) - $(ZIP) -j $@ $^ - -.PHONY: all check pdf complete ctan install install-pdf install-complete -.SUFFIXES: diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/README b/Master/texmf-dist/doc/lualatex/lualatex-math/README deleted file mode 100644 index 76588f47012..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/README +++ /dev/null @@ -1,47 +0,0 @@ -The ``lualatex-math`` package -============================= - -This package patches a few commands of the LaTeX 2ε kernel and the ``amsmath``, -``mathtools`` and ``icomma`` packages to be more compatible with the LuaTeX -engine. It is only meaningful if you compile your documents with LuaLaTeX. - - -License -------- - -This material is subject to the LaTeX Project Public License, either -version 1.3c of this license or (at your option) any later version. See -http://www.latex-project.org/lppl/ for the details of that license. - - -Installation ------------- - -Copy the files ``lualatex-math.sty`` and ``lualatex-math.lua`` to a place where -TeX can find them. The documentation is contained in the file -``lualatex-math.pdf``. - -To produce the runtime files from the Docstrip source, run ``make``. To -produce the PDF manual, run ``make pdf``. To produce and compile a few test -files, run ``make check``. To compile the manual you’ll need my `custom -documentation class`_. - -To install the runtime files in your home TEXMF tree, run ``make install``. To -install the PDF manual in your home TEXMF tree, run ``make install-pdf``. The -package includes an AucTeX style file which will be installed in -``~/.emacs.d``. - -.. _custom documentation class: https://github.com/phst/phst-doc - - -Usage ------ - -Include the package via ``\usepackage{lualatex-math}``. The package has no -options and no public interface; it applies the appropriate fixes -automatically. See ``lualatex-math.pdf`` for details. - -If you encounter any issues, please report them by means of the `issue -tracker`_. - -.. _issue tracker: https://github.com/phst/lualatex-math/issues diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/lualatex-math.el b/Master/texmf-dist/doc/lualatex/lualatex-math/lualatex-math.el deleted file mode 100644 index c451f22671b..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/lualatex-math.el +++ /dev/null @@ -1,17 +0,0 @@ -;; Copyright 2011 by Philipp Stephani -;; -;; This file may be distributed and/or modified under the -;; conditions of the LaTeX Project Public License, either -;; version 1.3c of this license or (at your option) any later -;; version. The latest version of this license is in: -;; -;; http://www.latex-project.org/lppl.txt -;; -;; and version 1.3c or later is part of all distributions of -;; LaTeX version 2009/09/24 or later. - -(TeX-add-style-hook - "lualatex-math" - (function - (lambda () - (TeX-run-style-hooks "expl3" "etoolbox" "luatexbase" "filehook")))) diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/phst-doc.cls b/Master/texmf-dist/doc/lualatex/lualatex-math/phst-doc.cls deleted file mode 100644 index 93ea6c717f7..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/phst-doc.cls +++ /dev/null @@ -1,556 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\RequirePackage{etex} -\RequirePackage{expl3} -\ProvidesExplClass{phst-doc}{2011/07/03}{0.1}{Documentation class for Philipp Stephani's packages} -\LoadClassWithOptions{ltxdoc} -\RequirePackage{xparse} -\RequirePackage{etoolbox} -\RequirePackage{amsmath} -\RequirePackage{amsfonts} -\RequirePackage{mathtools} - -\luatex_if_engine:TF { - \RequirePackage{fontspec} - \RequirePackage{lualatex-math} -} { - \RequirePackage{lmodern} - \RequirePackage{textcomp} - \RequirePackage[T5, T1]{fontenc} - \RequirePackage[utf8]{inputenc} -} - -\RequirePackage{xspace} -\RequirePackage[includemp=true, hmargin=20mm, vmargin=35mm, marginparwidth=40mm]{geometry} -\RequirePackage{xcolor} -\RequirePackage{graphicx} -\RequirePackage{booktabs} -\RequirePackage{csquotes} -\RequirePackage{hologo} -\RequirePackage{microtype}[2011/02/07] - -% The following line is a hack that prevents loading the thumbpdf package -\tl_new:N \THB@name - -\RequirePackage{hypdoc} - -% fix bug in hologo package -\cs_if_exist:cF { HOLOGO@ReflectBox@ \hologodriver } { - \tl_new:c { HOLOGO@ReflectBox@ \hologodriver } -} - -% scratch variables -\tl_new:N \l_phstdoc_tmpa_tl -\tl_new:N \l_phstdoc_tmpb_tl - -% additional xspace exceptions -\group_begin: -\char_make_other:n { `\~ } -\luatex_if_engine:TF { - \xspaceaddexceptions { ~ ’ } -} { - \xspaceaddexceptions { ~ ^^e2 } % 0xE2 is the first UTF-8 octet of the right quote ’ -} -\group_end: - -% non-monospaced URLs -\urlstyle { same } - -% abbreviations -\tl_new:Nn \eg { e.\,g.\@\xspace } -\tl_new:Nn \ie { i.\,e.\@\xspace } -\tl_new:Nn \etc { etc. \@\xspace } - -\cs_new_protected_nopar:Nn \phstdoc_print:n { - \protected@edef \l_phstdoc_tmpa_tl { #1 } - \tl_set_rescan:Nno \l_phstdoc_tmpb_tl { - \char_make_other:N \: - \char_make_other:N \_ - } \l_phstdoc_tmpa_tl - \texttt { \l_phstdoc_tmpb_tl } -} - -\NewDocumentCommand \mail {m} { \href{mailto:#1}{\nolinkurl{#1}} } -\RenewDocumentCommand \cmd {m} { \cs { \cs_to_str:N #1 } } -\RenewDocumentCommand \cs {m} { - \texttt { \char`\\ \phstdoc_print:n { #1 } } -} -\NewDocumentCommand \env {m} { \phstdoc_print:n{#1} } -\definecolor { term } { rgb } { 0.22, 0.58, 0.09 } -\NewDocumentCommand \term {m} { \textcolor{term}{\meta{#1}} } - -\pdfstringdefDisableCommands { - \cs_set_nopar:Npn \mail #1 { \tl_to_str:n { #1 } } -} - -\luatex_if_engine:T { - \NewDocumentCommand \textlangle { } { 〈 } - \NewDocumentCommand \textrangle { } { 〉 } -} - -% allow hyphenation in metavariables -\RenewDocumentCommand \meta { m } { - \mode_if_math:TF { \nfss@text } { \use:n } { - \nobreak \skip_horizontal:N \c_zero_skip - \textlangle - \group_begin: - \meta@font@select - #1 - \/ - \group_end: - \textrangle - } -} - -% allow line breaks before and after argument names -\cs_new_protected_nopar:Nn \phstdoc_renew_arg_cmd:Nnn { - \RenewDocumentCommand #1 { m } { - \allowbreak - \texttt { #2 } - \meta { ##1 } - \texttt { #3 } - \allowbreak - } -} -\phstdoc_renew_arg_cmd:Nnn \marg {\{} {\}} -\phstdoc_renew_arg_cmd:Nnn \oarg {[} {]} -\phstdoc_renew_arg_cmd:Nnn \parg {(} {)} - -% indexing -\tl_new:Nn \idxformat { \hdpindex{usage} } -\NewDocumentCommand \docindex { o m } { - \@bsphack - \IfValueTF { #1 } { - \index{#1 \actualchar #2 \encapchar idxformat} - } { - \index{#2 \encapchar idxformat} - } - \@esphack -} -\cs_new_protected_nopar:Nn \phstdoc_object_index:nnnN { - \@bsphack - \index { - #3 - \actualchar \string #4 { #3 } ~ (#1) - \encapchar idxformat - } - \index { - #2 : - \levelchar #3 - \actualchar \string #4 { #3 } - \encapchar idxformat - } - \@esphack -} -\pdfstringdefDisableCommands { - \cs_set_eq:NN \phstdoc_object_index:nnnN \use_none:nnnn -} - -% one-column index -\RenewDocumentEnvironment { theindex } { } { - \index@prologue - \par - \addvspace \multicolsep - \IndexParms - \cs_set_eq:NN \item \@idxitem - \ignorespaces -} { } - -% one-column change list -\RenewDocumentEnvironment { theglossary } { } { - \glossary@prologue - \par - \addvspace \multicolsep - \GlossaryParms - \cs_set_eq:NN \item \@idxitem - \ignorespaces -} { } - -% units -% -\cs_new_protected_nopar:Nn \phstdoc_new_unit_type:nnNN { - \NewDocumentCommand #3 { m } { - #4 { ##1 } - \phstdoc_object_index:nnnN { #1 } { #2 } { ##1 } #4 - } - \pdfstringdefDisableCommands { - \cs_set_eq:NN #3 \use:n - } -} -\cs_new_protected_nopar:Nn \phstdoc_new_unit_type:nNN { - \phstdoc_new_unit_type:nnNN { #1 } { #1 s } #2 #3 -} -\phstdoc_new_unit_type:nnNN {class} {classes} \cls \textsf -\phstdoc_new_unit_type:nNN {package} \pkg \textsf -\phstdoc_new_unit_type:nNN {font} \fnt \textsf -\phstdoc_new_unit_type:nNN {tool} \tool \texttt - -% definitions -% -\cs_new_protected_nopar:Nn \phstdoc_new_definition_type:nnNN { - \NewDocumentCommand #4 { m } { - \leavevmode - \@bsphack - \marginpar { - \raggedleft - \PrintDescribeDefinition #3 { ##1 } - } - \SpecialDefinitionIndex { #1 } { #2 } #3 { ##1 } - \@esphack - \ignorespaces - } -} -\cs_new_protected_nopar:Nn \phstdoc_new_definition_type:nNN { - \phstdoc_new_definition_type:nnNN { #1 } { #1 s } #2 #3 -} -\NewDocumentCommand \SpecialDefinitionIndex { m m m m } { - \@bsphack - \HD@target - \index { - #4 - \actualchar \string #3 { #4 } ~ (#1) - \encapchar hdclindex{\the\c@HD@hypercount}{usage} - } - \index { - #2 : - \levelchar #4 - \actualchar \string #3 { #4 } - \encapchar hdclindex{\the\c@HD@hypercount}{usage} - } - \@esphack -} - -\phstdoc_new_definition_type:nNN { nonterminal~ symbol } \meta \DescribeNonterminal - -% members -% -\cs_new_protected_nopar:Nn \phstdoc_new_member_type:nnNNn { - \NewDocumentCommand #3 { m } { - \phstdoc_print:n { ##1 } - \phstdoc_object_index:nnnN { #1 } { #2 } { ##1 } \phstdoc_print:n - } - \pdfstringdefDisableCommands { - \cs_set_eq:NN #3 \use:n - } - \NewDocumentCommand #4 { } { - \leavevmode - \@bsphack - \group_begin: - \MakePrivateLetters - \phstdoc_describe_member:nnn { #1 } { #2 } - } - \NewDocumentEnvironment { #5 } { } { - \group_begin: - \MakePrivateLetters - \phstdoc_member_code:nnn { #1 } { #2 } - } { - \endtrivlist - } -} -\cs_new_protected_nopar:Nn \phstdoc_new_member_type:nNNn { - \phstdoc_new_member_type:nnNNn { #1 } { #1 s } #2 #3 { #4 } -} -\cs_new_protected_nopar:Nn \phstdoc_describe_member:nnn { - \group_end: - \marginpar { - \raggedleft - \PrintDescribeMember { #3 } - } - \SpecialMemberIndex { #1 } { #2 } { #3 } - \@esphack - \ignorespaces -} - -\cs_new_protected_nopar:Nn \phstdoc_member_code:nnn { - \group_end: - \topsep = \MacroTopsep - \trivlist - \tl_set:Nx \saved@macroname { #3 } - \cs_set:Npn \makelabel ##1 { \llap { ##1 } } - \if@inlabel - \cs_set:Npx \makelabel ##1 { - \llap { - \vtop to \baselineskip { - \prg_replicate:nn { \macro@cnt } { \hbox{\strut} } - \hbox { ##1 } - \vss - } - } - } - \int_incr:N \macro@cnt - \else: - \int_set:Nn \macro@cnt { \c_one } - \fi: - \protected@edef \l_phstdoc_tmpa_tl { - \exp_not:N \item [ \exp_not:N \PrintMemberName { #3 } ] - } - \tl_use:N \l_phstdoc_tmpa_tl - \int_gincr:N \c@CodelineNo - \SpecialMainMemberIndex { #1 } { #2 } { #3 } - \nobreak - \int_gdecr:N \c@CodelineNo - \ignorespaces -} -\NewDocumentCommand \SpecialMainMemberIndex { m m m } { - \@bsphack - \special@index { - #3 - \actualchar \string \phstdoc_print:n { #3 } ~ (#1) - \encapchar main - } - \special@index { - #2 : - \levelchar #3 - \actualchar \string \phstdoc_print:n { #3 } - \encapchar main - } - \@esphack -} -\NewDocumentCommand \SpecialMemberIndex { m m m } { - \@bsphack - \HD@target - \index { - #3 - \actualchar \phstdoc_print:n { #3 } ~ (#1) - \encapchar hdclindex{\the\c@HD@hypercount}{usage} - } - \index { - #2 : - \levelchar #3 - \actualchar \phstdoc_print:n { #3 } - \encapchar hdclindex{\the\c@HD@hypercount}{usage} - } - \@esphack -} - -\phstdoc_new_member_type:nNNn {message} \msg \DescribeMessage {l3message} -\phstdoc_new_member_type:nNNn {option} \opt \DescribeOption {option} -\phstdoc_new_member_type:nNNn {object~ type} \objtype \DescribeObjectType {l3objtype} -\phstdoc_new_member_type:nNNn {template} \template \DescribeTemplate {l3template} -\phstdoc_new_member_type:nNNn {instance} \instance \DescribeInstance {l3instance} -\phstdoc_new_member_type:nNNn {variable} \var \DescribeVariable {variable} -\phstdoc_new_member_type:nNNn {function} \func \DescribeFunction {function} - -% multiple macros in margin -\NewDocumentCommand \DescribeMacros { } { - \leavevmode - \@bsphack - \group_begin: - \MakePrivateLetters - \phstdoc_describe_macros:n -} -\bool_new:N \l_phstdoc_first_bool -\box_new:N \l_phstdoc_comma_box -\cs_new_protected_nopar:Nn \phstdoc_describe_macros:n { - \group_end: - \marginpar { - \raggedleft - \hbox_set:Nn \l_phstdoc_comma_box { , ~ } - \bool_set_true:N \l_phstdoc_first_bool - \tl_map_inline:nn { #1 } { - \bool_if:NTF \l_phstdoc_first_bool { - \bool_set_false:N \l_phstdoc_first_bool - } { - \unskip - \discretionary { } { } { \box_use:N \l_phstdoc_comma_box } - } - \PrintDescribeMacro { ##1 } - } - } - \tl_map_function:nN { #1 } \SpecialUsageIndex - \@esphack - \ignorespaces -} - -% product names -\NewDocumentCommand \MiKTeX { } { MiK \TeX \xspace } -\NewDocumentCommand \TeXLive { } { \TeX \nobreakspace Live \xspace } - -% persons -\luatex_if_engine:TF { - \NewDocumentCommand \vietnamese { m } { #1 } -} { - \NewDocumentCommand \vietnamese { m } { - \group_begin: - \fontencoding { T5 } - \selectfont - #1 - \group_end: - } -} -\NewDocumentCommand \genname { o m m } { - #3 - \docindex[#1]{#2} -} -\cs_new_nopar:Npn \nametext #1 #2 { #2 ~ #1 } -\cs_new_nopar:Npn \nameindex #1 #2 { #1, ~ #2 } -\NewDocumentCommand \name { m m } { - \genname { - \nameindex { #1 } { #2 } - } { - \nametext { #1 } { #2 } - } -} -\NewDocumentCommand \extname { m m m m m } { - \genname [ \nameindex { #3 } { #5 } ] { - #1 { \nameindex { #2 } { #4 } } - } { - #1 { \nametext { #2 } { #4 } } - } -} -\NewDocumentCommand \NewName { m m m } { - \NewDocumentCommand #1 { } { \name{#2}{#3} \xspace } -} -\NewDocumentCommand \NewExtName { m m m m m m } { - \NewDocumentCommand #1 { } { \extname{#2}{#3}{#4}{#5}{#6} \xspace } -} -\NewName \Knuth {Knuth} {Donald \nobreakspace E.} -\NewName \Arseneau {Arseneau} {Donald} -\NewName \Setzer {Setzer} {Nick} -\NewName \Verna {Verna} {Didier} -\NewName \Wilson {Wilson} {Peter} -\NewName \Kohm {Kohm} {Markus} -\NewName \Marvan {Marvan} {Michal} -\NewName \Robertson {Robertson} {Will} -\NewName \Breitfeld {Breitfeld} {Peter} -\NewName \Hoekwater {Taco} {Hoekwater} -\NewExtName \Hogholm {\use:n} {Høgholm} {Hogholm} {Morten} {Morten} -\NewExtName \MPG {\use:n} {Pégourié-Gonnard} {Pegourie-Gonnard} {Manuel} {Manuel} -\NewExtName \Thanh {\vietnamese} {Thành} {Thanh} {Hàn Thế} {Han The} - -% boldface, normal width -\tl_new:Nn \bndefault { b } -\NewDocumentCommand \bnseries { } { \fontseries\bndefault \selectfont } -\DeclareTextFontCommand \textbn \bnseries - -% light condensed monospaced -\tl_new:Nn \lcdefault { lc } -\NewDocumentCommand \lcseries { } { \fontseries\lcdefault \selectfont } -\RenewDocumentCommand \HDorg@PrintDescribeMacro { m } { - \strut - \MacroFont - \lcseries - \string #1 - \tex_space:D -} -\RenewDocumentCommand \HDorg@PrintMacroName { m } { - \strut - \MacroFont - \lcseries - \string #1 - \tex_space:D -} -\RenewDocumentCommand \PrintDescribeEnv { m } { - \strut - \MacroFont - \lcseries - #1 - \tex_space:D -} -\RenewDocumentCommand \PrintEnvName { m } { - \strut - \MacroFont - \lcseries - #1 - \tex_space:D -} -\NewDocumentCommand \PrintDescribeDefinition { m m } { - \strut - \HD@target - #1 { #2 } - \tex_space:D -} -\NewDocumentCommand \PrintDescribeMember { m } { - \strut - \HD@target - \MacroFont - \lcseries - #1 - \tex_space:D -} -\NewDocumentCommand \PrintMemberName { m } { - \strut - \HD@target - \MacroFont - \lcseries - #1 - \tex_space:D -} -\cs_set_nopar:Npn \HDorg@theCodelineNo { - \normalfont - \scriptsize - \color{darkgray} - \arabic{CodelineNo} -} - - -\EnableCrossrefs -\CodelineIndex -\RecordChanges - -\tl_put_right:Nn \IndexParms { - \RenewDocumentCommand \ttfamily { } { - \fontfamily\ttdefault - \fontseries\lcdefault - \selectfont - } - \ExplSyntaxNamesOn -} - -\RenewDocumentCommand \MakePrivateLetters { } { - \makeatletter - \ExplSyntaxNamesOn -} - -% special tables -\NewDocumentCommand \tblhead { m } { \hfil \textbf{#1} \hfil } -\NewDocumentCommand \tblmath { m } { \( #1 \vphantom{\underline{\overline{#1}}} \) } -\NewDocumentEnvironment { doctable } { m o +m m } { - \table - \centering - \tabular{#4} - \toprule -} { - \tabularnewline - \bottomrule - \endtabular - \IfValueTF { #2 } { - \caption[#2]{#3} - } { - \caption {#3} - } - \label{#1} - \endtable -} -\NewDocumentEnvironment { narrowtable } { } { - \setlength{\tabcolsep}{2pt} - \doctable -} { - \enddoctable -} -\setlength{\tabcolsep}{5pt} - -% special figures -\NewDocumentEnvironment { docfigure } { m o m } { - \figure - \centering -} { - \IfValueTF { #2 } { - \caption[#2]{#3} - } { - \caption {#3} - } - \label{#1} - \endfigure -} - -\luatex_if_engine:T { - \setmainfont { Latin~ Modern~ Roman } -} - -\setcounter{IndexColumns}{2} -\hypersetup{% - colorlinks=true,% - linkcolor=blue,% - pdfstartview=FitH% -} -\endinput diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/test-amsmath.tex b/Master/texmf-dist/doc/lualatex/lualatex-math/test-amsmath.tex deleted file mode 100644 index 944e94961a3..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/test-amsmath.tex +++ /dev/null @@ -1,310 +0,0 @@ -%% -%% This is file `test-amsmath.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% lualatex-math.dtx (with options: `test,test-amsmath') -%% -%% This is a generated file. -%% -%% Copyright 2011 by Philipp Stephani -%% -%% This file may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. The latest version of this license is in -%% -%% http://www.latex-project.org/lppl.txt -%% -%% and version 1.3c or later is part of all distributions of -%% LaTeX version 2009/09/24 or later. -%% -\documentclass[pagesize=auto]{scrartcl} -\usepackage{xparse}[2008/08/03] -\usepackage{luacode} -\ExplSyntaxOn -\AtBeginDocument { \errorcontextlines = \c_fifteen } -\msg_new:nnn { test } { pass } { #1 } -\cs_new_protected_nopar:Npn \test_pass:x #1 { - \msg_info:nnx { test } { pass } { #1 } -} -\msg_new:nnn { test } { fail } { #1 } -\cs_new_protected_nopar:Npn \test_fail:x #1 { - \msg_error:nnx { test } { fail } { #1 } -} -\cs_generate_variant:Nn \tl_const:Nn { Nx } -\tl_const:Nx \c_test_equal_tl { \c_space_tl == \c_space_tl } -\tl_const:Nx \c_test_not_equal_tl { \c_space_tl != \c_space_tl } -\cs_new_protected_nopar:Npn \test_equal_pass:nxnx #1 #2 #3 #4 { - \test_pass:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn \test_equal_fail:nxnx #1 #2 #3 #4 { - \test_fail:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_not_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn -\test_assert_equal:NNNNNnn #1 #2 #3 #4 #5 #6 #7 { - #1 #4 { #6 } - #1 #5 { #7 } - #3 { #4 } = { #5 } { - \test_equal_pass:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } { - \test_equal_fail:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } -} -\cs_generate_variant:Nn \test_assert_equal:NNNNNnn { ccccc } -\cs_new_protected_nopar:Npn \test_assert_equal:nnn #1 #2 #3 { - \test_assert_equal:cccccnn - { #1 _set:Nn } { #1 _use:N } { #1 _compare:nNnTF } - { l_test_tmpa_ #1 } { l_test_tmpb_ #1 } { #2 } { #3 } -} -\int_new:N \l_test_tmpa_int -\int_new:N \l_test_tmpb_int -\NewDocumentCommand \AssertIntEqual { m m } { - \test_assert_equal:nnn { int } { #1 } { #2 } -} -\dim_new:N \l_test_tmpa_dim -\dim_new:N \l_test_tmpb_dim -\NewDocumentCommand \AssertDimEqual { m m } { - \test_assert_equal:nnn { dim } { #1 } { #2 } -} -\NewDocumentCommand \AssertMathStyle { m } { - \AssertIntEqual { \luatexmathstyle } { #1 } -} -\cs_new_protected_nopar:Npn \test_assert_cramped:Nx #1 #2 { - \int_set:Nn \l_test_tmpa_int { \luatexmathstyle } - \bool_if:nTF { - \int_compare_p:nNn { \l_test_tmpa_int } > { \c_minus_one } - && - #1 { \l_test_tmpa_int } - } { - \test_pass:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ a~ #2~ style - } - } { - \test_fail:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ not~ a~ #2~ style - } - } -} -\NewDocumentCommand \AssertNoncrampedStyle { } { - \test_assert_cramped:Nx \int_if_even_p:n { non-cramped } -} -\NewDocumentCommand \AssertCrampedStyle { } { - \test_assert_cramped:Nx \int_if_odd_p:n { cramped } -} -\box_new:N \l_test_tmpa_box -\box_new:N \l_test_tmpb_box -\begin{luacode*} -function contains_space(head, width) - for n in node.traverse(head) do - local id = n.id - if id == 10 or id == 11 then - if width then - if (id == 10 and n.spec.width == width) - or (id == 11 and n.kern == width) then - return true - end - else - return true - end - elseif id == 0 or id == 1 then - if contains_space(n.head, width) then - return true - end - end - end - return false -end -\end{luacode*} -\NewDocumentCommand \AssertNoSpace { m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - if~ contains_space(b.head) then~ - tex.sprint("0") - else~ - tex.sprint("1") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node - } - } -} -\makeatletter -\NewDocumentCommand \AssertMuSpace { m m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \hbox_set:Nn \l_test_tmpb_box { $ \mskip #2 \m@th $ } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - local~ s = tex.getbox(\int_use:N \l_test_tmpb_box) - if~ contains_space(b.head, s.width) then~ - tex.sprint("1") - else~ - tex.sprint("0") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } -} -\makeatother -\ExplSyntaxOff -\usepackage{lualatex-math} -\newsavebox{\testbox} -\luatexUmathcode`\-="2 "33 "44444 \relax -\usepackage{amsmath} -\AssertIntEqual{\luatexUmathcode`\-}{"33444444} -\makeatletter -\AssertIntEqual{\std@minus}{"33444444} -\makeatother -\usepackage{mathtools} -\luatexUmathcode`\="5 "66 "77777 \relax -\begin{document} -\AssertIntEqual{\luatexUmathcode`\=}{"66A77777} -\makeatletter -\AssertIntEqual{\std@equal}{"66A77777} -\makeatother -\sbox{\testbox}{$($} % ) -\makeatletter -\AssertDimEqual{\ht\Mathstrutbox@}{\ht\testbox} -\AssertDimEqual{\dp\Mathstrutbox@}{\dp\testbox} -\makeatother -\begin{equation*} - \AssertMathStyle{0} \sqrt{\AssertMathStyle{1}} - \sum_{ - \substack{\frac12 \\ \frac34 \\ \frac56} - } - \sum_{ - \begin{subarray}{l} \frac12 \\ \frac34 \\ \frac56 \end{subarray} - } - \frac{\AssertMathStyle{2}}{\AssertMathStyle{3}} - a^{\frac{\AssertMathStyle{6}}{\AssertMathStyle{7}}} - \dfrac{\AssertMathStyle{2}}{\AssertMathStyle{3}} - \tfrac{\AssertMathStyle{4}}{\AssertMathStyle{5}} - \binom{\AssertMathStyle{2}}{\AssertMathStyle{3}} - a^{\binom{\AssertMathStyle{6}}{\AssertMathStyle{7}}} - \dbinom{\AssertMathStyle{2}}{\AssertMathStyle{3}} - \tbinom{\AssertMathStyle{4}}{\AssertMathStyle{5}} - \genfrac{}{}{}{}{\AssertMathStyle{2}}{\AssertMathStyle{3}} - \genfrac{<}{/}{0pt}{0}{\AssertMathStyle{2}}{\AssertMathStyle{3}} - \genfrac{}{}{}{1}{\AssertMathStyle{4}}{\AssertMathStyle{5}} - \genfrac{|}{]}{4pt}{2}{\AssertMathStyle{6}}{\AssertMathStyle{7}} - \genfrac{}{}{}{3}{\AssertMathStyle{6}}{\AssertMathStyle{7}} -\end{equation*} -\begin{math} - \AssertMathStyle{2} \sqrt{\AssertMathStyle{3}} - \sum_{ - \substack{\frac12 \\ \frac34 \\ \frac56} - } - \sum_{ - \begin{subarray}{l} \frac12 \\ \frac34 \\ \frac56 \end{subarray} - } - \frac{\AssertMathStyle{4}}{\AssertMathStyle{5}} - a^{\frac{\AssertMathStyle{6}}{\AssertMathStyle{7}}} - \dfrac{\AssertMathStyle{2}}{\AssertMathStyle{3}} - \tfrac{\AssertMathStyle{4}}{\AssertMathStyle{5}} - \binom{\AssertMathStyle{4}}{\AssertMathStyle{5}} - a^{\binom{\AssertMathStyle{6}}{\AssertMathStyle{7}}} - \dbinom{\AssertMathStyle{2}}{\AssertMathStyle{3}} - \tbinom{\AssertMathStyle{4}}{\AssertMathStyle{5}} - \genfrac{}{}{}{}{\AssertMathStyle{4}}{\AssertMathStyle{5}} - \genfrac{<}{/}{0pt}{0}{\AssertMathStyle{2}}{\AssertMathStyle{3}} - \genfrac{}{}{}{1}{\AssertMathStyle{4}}{\AssertMathStyle{5}} - \genfrac{|}{]}{4pt}{2}{\AssertMathStyle{6}}{\AssertMathStyle{7}} - \genfrac{}{}{}{3}{\AssertMathStyle{6}}{\AssertMathStyle{7}} -\end{math} -\begin{equation*} - \AssertMathStyle{0} - a^{\AssertMathStyle{4} a} - \cramped{\AssertCrampedStyle a^{\AssertCrampedStyle a}} - a^{ - \AssertMathStyle{4} - a^a - \cramped{\AssertCrampedStyle a^{\AssertCrampedStyle a}} - a^a - \AssertMathStyle{4} - } - a^{ - a^{ - \AssertMathStyle{6} - a^a - \cramped{\AssertCrampedStyle a^{\AssertCrampedStyle a}} - a^a - \AssertMathStyle{6} - } - } - a^{\AssertMathStyle{4} a} - \AssertMathStyle{0} -\end{equation*} -\begin{math} - \AssertMathStyle{2} - a^{\AssertMathStyle{4} a} - \cramped{\AssertCrampedStyle a^{\AssertCrampedStyle a}} - a^{ - \AssertMathStyle{4} - a^a - \cramped{\AssertCrampedStyle a^{\AssertCrampedStyle a}} - a^a - \AssertMathStyle{4} - } - a^{ - a^{ - \AssertMathStyle{6} - a^a - \cramped{\AssertCrampedStyle a^{\AssertCrampedStyle a}} - a^a - \AssertMathStyle{6} - } - } - a^{\AssertMathStyle{4} a} - \AssertMathStyle{2} -\end{math} -\end{document} -\endinput -%% -%% End of file `test-amsmath.tex'. diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/test-icomma-unicode.tex b/Master/texmf-dist/doc/lualatex/lualatex-math/test-icomma-unicode.tex deleted file mode 100644 index af097656cd4..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/test-icomma-unicode.tex +++ /dev/null @@ -1,209 +0,0 @@ -%% -%% This is file `test-icomma-unicode.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% lualatex-math.dtx (with options: `test,test-icomma-unicode') -%% -%% This is a generated file. -%% -%% Copyright 2011 by Philipp Stephani -%% -%% This file may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. The latest version of this license is in -%% -%% http://www.latex-project.org/lppl.txt -%% -%% and version 1.3c or later is part of all distributions of -%% LaTeX version 2009/09/24 or later. -%% -\documentclass[pagesize=auto]{scrartcl} -\usepackage{xparse}[2008/08/03] -\usepackage{luacode} -\ExplSyntaxOn -\AtBeginDocument { \errorcontextlines = \c_fifteen } -\msg_new:nnn { test } { pass } { #1 } -\cs_new_protected_nopar:Npn \test_pass:x #1 { - \msg_info:nnx { test } { pass } { #1 } -} -\msg_new:nnn { test } { fail } { #1 } -\cs_new_protected_nopar:Npn \test_fail:x #1 { - \msg_error:nnx { test } { fail } { #1 } -} -\cs_generate_variant:Nn \tl_const:Nn { Nx } -\tl_const:Nx \c_test_equal_tl { \c_space_tl == \c_space_tl } -\tl_const:Nx \c_test_not_equal_tl { \c_space_tl != \c_space_tl } -\cs_new_protected_nopar:Npn \test_equal_pass:nxnx #1 #2 #3 #4 { - \test_pass:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn \test_equal_fail:nxnx #1 #2 #3 #4 { - \test_fail:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_not_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn -\test_assert_equal:NNNNNnn #1 #2 #3 #4 #5 #6 #7 { - #1 #4 { #6 } - #1 #5 { #7 } - #3 { #4 } = { #5 } { - \test_equal_pass:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } { - \test_equal_fail:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } -} -\cs_generate_variant:Nn \test_assert_equal:NNNNNnn { ccccc } -\cs_new_protected_nopar:Npn \test_assert_equal:nnn #1 #2 #3 { - \test_assert_equal:cccccnn - { #1 _set:Nn } { #1 _use:N } { #1 _compare:nNnTF } - { l_test_tmpa_ #1 } { l_test_tmpb_ #1 } { #2 } { #3 } -} -\int_new:N \l_test_tmpa_int -\int_new:N \l_test_tmpb_int -\NewDocumentCommand \AssertIntEqual { m m } { - \test_assert_equal:nnn { int } { #1 } { #2 } -} -\dim_new:N \l_test_tmpa_dim -\dim_new:N \l_test_tmpb_dim -\NewDocumentCommand \AssertDimEqual { m m } { - \test_assert_equal:nnn { dim } { #1 } { #2 } -} -\NewDocumentCommand \AssertMathStyle { m } { - \AssertIntEqual { \luatexmathstyle } { #1 } -} -\cs_new_protected_nopar:Npn \test_assert_cramped:Nx #1 #2 { - \int_set:Nn \l_test_tmpa_int { \luatexmathstyle } - \bool_if:nTF { - \int_compare_p:nNn { \l_test_tmpa_int } > { \c_minus_one } - && - #1 { \l_test_tmpa_int } - } { - \test_pass:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ a~ #2~ style - } - } { - \test_fail:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ not~ a~ #2~ style - } - } -} -\NewDocumentCommand \AssertNoncrampedStyle { } { - \test_assert_cramped:Nx \int_if_even_p:n { non-cramped } -} -\NewDocumentCommand \AssertCrampedStyle { } { - \test_assert_cramped:Nx \int_if_odd_p:n { cramped } -} -\box_new:N \l_test_tmpa_box -\box_new:N \l_test_tmpb_box -\begin{luacode*} -function contains_space(head, width) - for n in node.traverse(head) do - local id = n.id - if id == 10 or id == 11 then - if width then - if (id == 10 and n.spec.width == width) - or (id == 11 and n.kern == width) then - return true - end - else - return true - end - elseif id == 0 or id == 1 then - if contains_space(n.head, width) then - return true - end - end - end - return false -end -\end{luacode*} -\NewDocumentCommand \AssertNoSpace { m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - if~ contains_space(b.head) then~ - tex.sprint("0") - else~ - tex.sprint("1") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node - } - } -} -\makeatletter -\NewDocumentCommand \AssertMuSpace { m m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \hbox_set:Nn \l_test_tmpb_box { $ \mskip #2 \m@th $ } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - local~ s = tex.getbox(\int_use:N \l_test_tmpb_box) - if~ contains_space(b.head, s.width) then~ - tex.sprint("1") - else~ - tex.sprint("0") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } -} -\makeatother -\ExplSyntaxOff -\usepackage{unicode-math}[2011/05/05] -\setmathfont{XITS Math} -\usepackage{lualatex-math} -\usepackage{icomma} -\begin{document} -$1,234 \; (x, y)$ -\AssertNoSpace{$1,234$} -\AssertMuSpace{$(x, y)$}{\thinmuskip} -\AssertIntEqual{\mathcomma}{"0C0002C} -\end{document} -\endinput -%% -%% End of file `test-icomma-unicode.tex'. diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/test-icomma.tex b/Master/texmf-dist/doc/lualatex/lualatex-math/test-icomma.tex deleted file mode 100644 index 037b05cb4a4..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/test-icomma.tex +++ /dev/null @@ -1,207 +0,0 @@ -%% -%% This is file `test-icomma.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% lualatex-math.dtx (with options: `test,test-icomma') -%% -%% This is a generated file. -%% -%% Copyright 2011 by Philipp Stephani -%% -%% This file may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. The latest version of this license is in -%% -%% http://www.latex-project.org/lppl.txt -%% -%% and version 1.3c or later is part of all distributions of -%% LaTeX version 2009/09/24 or later. -%% -\documentclass[pagesize=auto]{scrartcl} -\usepackage{xparse}[2008/08/03] -\usepackage{luacode} -\ExplSyntaxOn -\AtBeginDocument { \errorcontextlines = \c_fifteen } -\msg_new:nnn { test } { pass } { #1 } -\cs_new_protected_nopar:Npn \test_pass:x #1 { - \msg_info:nnx { test } { pass } { #1 } -} -\msg_new:nnn { test } { fail } { #1 } -\cs_new_protected_nopar:Npn \test_fail:x #1 { - \msg_error:nnx { test } { fail } { #1 } -} -\cs_generate_variant:Nn \tl_const:Nn { Nx } -\tl_const:Nx \c_test_equal_tl { \c_space_tl == \c_space_tl } -\tl_const:Nx \c_test_not_equal_tl { \c_space_tl != \c_space_tl } -\cs_new_protected_nopar:Npn \test_equal_pass:nxnx #1 #2 #3 #4 { - \test_pass:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn \test_equal_fail:nxnx #1 #2 #3 #4 { - \test_fail:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_not_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn -\test_assert_equal:NNNNNnn #1 #2 #3 #4 #5 #6 #7 { - #1 #4 { #6 } - #1 #5 { #7 } - #3 { #4 } = { #5 } { - \test_equal_pass:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } { - \test_equal_fail:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } -} -\cs_generate_variant:Nn \test_assert_equal:NNNNNnn { ccccc } -\cs_new_protected_nopar:Npn \test_assert_equal:nnn #1 #2 #3 { - \test_assert_equal:cccccnn - { #1 _set:Nn } { #1 _use:N } { #1 _compare:nNnTF } - { l_test_tmpa_ #1 } { l_test_tmpb_ #1 } { #2 } { #3 } -} -\int_new:N \l_test_tmpa_int -\int_new:N \l_test_tmpb_int -\NewDocumentCommand \AssertIntEqual { m m } { - \test_assert_equal:nnn { int } { #1 } { #2 } -} -\dim_new:N \l_test_tmpa_dim -\dim_new:N \l_test_tmpb_dim -\NewDocumentCommand \AssertDimEqual { m m } { - \test_assert_equal:nnn { dim } { #1 } { #2 } -} -\NewDocumentCommand \AssertMathStyle { m } { - \AssertIntEqual { \luatexmathstyle } { #1 } -} -\cs_new_protected_nopar:Npn \test_assert_cramped:Nx #1 #2 { - \int_set:Nn \l_test_tmpa_int { \luatexmathstyle } - \bool_if:nTF { - \int_compare_p:nNn { \l_test_tmpa_int } > { \c_minus_one } - && - #1 { \l_test_tmpa_int } - } { - \test_pass:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ a~ #2~ style - } - } { - \test_fail:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ not~ a~ #2~ style - } - } -} -\NewDocumentCommand \AssertNoncrampedStyle { } { - \test_assert_cramped:Nx \int_if_even_p:n { non-cramped } -} -\NewDocumentCommand \AssertCrampedStyle { } { - \test_assert_cramped:Nx \int_if_odd_p:n { cramped } -} -\box_new:N \l_test_tmpa_box -\box_new:N \l_test_tmpb_box -\begin{luacode*} -function contains_space(head, width) - for n in node.traverse(head) do - local id = n.id - if id == 10 or id == 11 then - if width then - if (id == 10 and n.spec.width == width) - or (id == 11 and n.kern == width) then - return true - end - else - return true - end - elseif id == 0 or id == 1 then - if contains_space(n.head, width) then - return true - end - end - end - return false -end -\end{luacode*} -\NewDocumentCommand \AssertNoSpace { m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - if~ contains_space(b.head) then~ - tex.sprint("0") - else~ - tex.sprint("1") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node - } - } -} -\makeatletter -\NewDocumentCommand \AssertMuSpace { m m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \hbox_set:Nn \l_test_tmpb_box { $ \mskip #2 \m@th $ } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - local~ s = tex.getbox(\int_use:N \l_test_tmpb_box) - if~ contains_space(b.head, s.width) then~ - tex.sprint("1") - else~ - tex.sprint("0") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } -} -\makeatother -\ExplSyntaxOff -\usepackage{lualatex-math} -\usepackage{icomma} -\begin{document} -$1,234 \; (x, y)$ -\AssertNoSpace{$1,234$} -\AssertMuSpace{$(x, y)$}{\thinmuskip} -\AssertIntEqual{\mathcomma}{"1C0003B} -\end{document} -\endinput -%% -%% End of file `test-icomma.tex'. diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/test-kernel-alloc.tex b/Master/texmf-dist/doc/lualatex/lualatex-math/test-kernel-alloc.tex deleted file mode 100644 index 935cb274c81..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/test-kernel-alloc.tex +++ /dev/null @@ -1,241 +0,0 @@ -%% -%% This is file `test-kernel-alloc.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% lualatex-math.dtx (with options: `test,test-kernel-alloc') -%% -%% This is a generated file. -%% -%% Copyright 2011 by Philipp Stephani -%% -%% This file may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. The latest version of this license is in -%% -%% http://www.latex-project.org/lppl.txt -%% -%% and version 1.3c or later is part of all distributions of -%% LaTeX version 2009/09/24 or later. -%% -\documentclass[pagesize=auto]{scrartcl} -\usepackage{xparse}[2008/08/03] -\usepackage{luacode} -\ExplSyntaxOn -\AtBeginDocument { \errorcontextlines = \c_fifteen } -\msg_new:nnn { test } { pass } { #1 } -\cs_new_protected_nopar:Npn \test_pass:x #1 { - \msg_info:nnx { test } { pass } { #1 } -} -\msg_new:nnn { test } { fail } { #1 } -\cs_new_protected_nopar:Npn \test_fail:x #1 { - \msg_error:nnx { test } { fail } { #1 } -} -\cs_generate_variant:Nn \tl_const:Nn { Nx } -\tl_const:Nx \c_test_equal_tl { \c_space_tl == \c_space_tl } -\tl_const:Nx \c_test_not_equal_tl { \c_space_tl != \c_space_tl } -\cs_new_protected_nopar:Npn \test_equal_pass:nxnx #1 #2 #3 #4 { - \test_pass:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn \test_equal_fail:nxnx #1 #2 #3 #4 { - \test_fail:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_not_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn -\test_assert_equal:NNNNNnn #1 #2 #3 #4 #5 #6 #7 { - #1 #4 { #6 } - #1 #5 { #7 } - #3 { #4 } = { #5 } { - \test_equal_pass:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } { - \test_equal_fail:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } -} -\cs_generate_variant:Nn \test_assert_equal:NNNNNnn { ccccc } -\cs_new_protected_nopar:Npn \test_assert_equal:nnn #1 #2 #3 { - \test_assert_equal:cccccnn - { #1 _set:Nn } { #1 _use:N } { #1 _compare:nNnTF } - { l_test_tmpa_ #1 } { l_test_tmpb_ #1 } { #2 } { #3 } -} -\int_new:N \l_test_tmpa_int -\int_new:N \l_test_tmpb_int -\NewDocumentCommand \AssertIntEqual { m m } { - \test_assert_equal:nnn { int } { #1 } { #2 } -} -\dim_new:N \l_test_tmpa_dim -\dim_new:N \l_test_tmpb_dim -\NewDocumentCommand \AssertDimEqual { m m } { - \test_assert_equal:nnn { dim } { #1 } { #2 } -} -\NewDocumentCommand \AssertMathStyle { m } { - \AssertIntEqual { \luatexmathstyle } { #1 } -} -\cs_new_protected_nopar:Npn \test_assert_cramped:Nx #1 #2 { - \int_set:Nn \l_test_tmpa_int { \luatexmathstyle } - \bool_if:nTF { - \int_compare_p:nNn { \l_test_tmpa_int } > { \c_minus_one } - && - #1 { \l_test_tmpa_int } - } { - \test_pass:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ a~ #2~ style - } - } { - \test_fail:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ not~ a~ #2~ style - } - } -} -\NewDocumentCommand \AssertNoncrampedStyle { } { - \test_assert_cramped:Nx \int_if_even_p:n { non-cramped } -} -\NewDocumentCommand \AssertCrampedStyle { } { - \test_assert_cramped:Nx \int_if_odd_p:n { cramped } -} -\box_new:N \l_test_tmpa_box -\box_new:N \l_test_tmpb_box -\begin{luacode*} -function contains_space(head, width) - for n in node.traverse(head) do - local id = n.id - if id == 10 or id == 11 then - if width then - if (id == 10 and n.spec.width == width) - or (id == 11 and n.kern == width) then - return true - end - else - return true - end - elseif id == 0 or id == 1 then - if contains_space(n.head, width) then - return true - end - end - end - return false -end -\end{luacode*} -\NewDocumentCommand \AssertNoSpace { m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - if~ contains_space(b.head) then~ - tex.sprint("0") - else~ - tex.sprint("1") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node - } - } -} -\makeatletter -\NewDocumentCommand \AssertMuSpace { m m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \hbox_set:Nn \l_test_tmpb_box { $ \mskip #2 \m@th $ } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - local~ s = tex.getbox(\int_use:N \l_test_tmpb_box) - if~ contains_space(b.head, s.width) then~ - tex.sprint("1") - else~ - tex.sprint("0") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } -} -\makeatother -\ExplSyntaxOff -\usepackage{lualatex-math} -\makeatletter -\ExplSyntaxOn -\prg_stepwise_inline:nnnn { \c_four } { \c_one } { - \c_two_hundred_fifty_five - \c_one -} { - \prg_case_int:nnn { \int_mod:nn { #1 } { \c_three } } { - { \c_zero } { - \chk_if_free_cs:N \g_test_family_int - \newfam \g_test_family_int - \AssertIntEqual { \g_test_family_int } { #1 } - \cs_undefine:N \g_test_family_int - } - { \c_one } { - \chk_if_free_cs:N \g_test_mathgroup_int - \new@mathgroup \g_test_mathgroup_int - \AssertIntEqual { \g_test_mathgroup_int } { #1 } - \cs_undefine:N \g_test_mathgroup_int - } - { \c_two } { - \DeclareSymbolFont { Test #1 } { OT1 } { cmr } { m } { n } - \exp_args:Nc \AssertIntEqual { sym Test #1 } { #1 } - } - } { - \test_fail:x { This~ cannot~ happen } - } -} -\DeclareSymbolFont { Test 255 } { OT1 } { cmr } { bx } { it } -\DeclareSymbolFontAlphabet { \TestAlphabet } { Test 255 } -\exp_args:Nc \AssertIntEqual { sym Test 255 } - { \c_two_hundred_fifty_five } -\ExplSyntaxOff -\makeatother -\begin{document} -\[ -\TestAlphabet{ - abc - \AssertIntEqual{\fam}{255} - \AssertIntEqual{\mathgroup}{255} -} -\] -\end{document} -\endinput -%% -%% End of file `test-kernel-alloc.tex'. diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/test-kernel-style.tex b/Master/texmf-dist/doc/lualatex/lualatex-math/test-kernel-style.tex deleted file mode 100644 index 2977120b5b0..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/test-kernel-style.tex +++ /dev/null @@ -1,238 +0,0 @@ -%% -%% This is file `test-kernel-style.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% lualatex-math.dtx (with options: `test,test-kernel-style') -%% -%% This is a generated file. -%% -%% Copyright 2011 by Philipp Stephani -%% -%% This file may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. The latest version of this license is in -%% -%% http://www.latex-project.org/lppl.txt -%% -%% and version 1.3c or later is part of all distributions of -%% LaTeX version 2009/09/24 or later. -%% -\documentclass[pagesize=auto]{scrartcl} -\usepackage{xparse}[2008/08/03] -\usepackage{luacode} -\ExplSyntaxOn -\AtBeginDocument { \errorcontextlines = \c_fifteen } -\msg_new:nnn { test } { pass } { #1 } -\cs_new_protected_nopar:Npn \test_pass:x #1 { - \msg_info:nnx { test } { pass } { #1 } -} -\msg_new:nnn { test } { fail } { #1 } -\cs_new_protected_nopar:Npn \test_fail:x #1 { - \msg_error:nnx { test } { fail } { #1 } -} -\cs_generate_variant:Nn \tl_const:Nn { Nx } -\tl_const:Nx \c_test_equal_tl { \c_space_tl == \c_space_tl } -\tl_const:Nx \c_test_not_equal_tl { \c_space_tl != \c_space_tl } -\cs_new_protected_nopar:Npn \test_equal_pass:nxnx #1 #2 #3 #4 { - \test_pass:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn \test_equal_fail:nxnx #1 #2 #3 #4 { - \test_fail:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_not_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn -\test_assert_equal:NNNNNnn #1 #2 #3 #4 #5 #6 #7 { - #1 #4 { #6 } - #1 #5 { #7 } - #3 { #4 } = { #5 } { - \test_equal_pass:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } { - \test_equal_fail:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } -} -\cs_generate_variant:Nn \test_assert_equal:NNNNNnn { ccccc } -\cs_new_protected_nopar:Npn \test_assert_equal:nnn #1 #2 #3 { - \test_assert_equal:cccccnn - { #1 _set:Nn } { #1 _use:N } { #1 _compare:nNnTF } - { l_test_tmpa_ #1 } { l_test_tmpb_ #1 } { #2 } { #3 } -} -\int_new:N \l_test_tmpa_int -\int_new:N \l_test_tmpb_int -\NewDocumentCommand \AssertIntEqual { m m } { - \test_assert_equal:nnn { int } { #1 } { #2 } -} -\dim_new:N \l_test_tmpa_dim -\dim_new:N \l_test_tmpb_dim -\NewDocumentCommand \AssertDimEqual { m m } { - \test_assert_equal:nnn { dim } { #1 } { #2 } -} -\NewDocumentCommand \AssertMathStyle { m } { - \AssertIntEqual { \luatexmathstyle } { #1 } -} -\cs_new_protected_nopar:Npn \test_assert_cramped:Nx #1 #2 { - \int_set:Nn \l_test_tmpa_int { \luatexmathstyle } - \bool_if:nTF { - \int_compare_p:nNn { \l_test_tmpa_int } > { \c_minus_one } - && - #1 { \l_test_tmpa_int } - } { - \test_pass:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ a~ #2~ style - } - } { - \test_fail:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ not~ a~ #2~ style - } - } -} -\NewDocumentCommand \AssertNoncrampedStyle { } { - \test_assert_cramped:Nx \int_if_even_p:n { non-cramped } -} -\NewDocumentCommand \AssertCrampedStyle { } { - \test_assert_cramped:Nx \int_if_odd_p:n { cramped } -} -\box_new:N \l_test_tmpa_box -\box_new:N \l_test_tmpb_box -\begin{luacode*} -function contains_space(head, width) - for n in node.traverse(head) do - local id = n.id - if id == 10 or id == 11 then - if width then - if (id == 10 and n.spec.width == width) - or (id == 11 and n.kern == width) then - return true - end - else - return true - end - elseif id == 0 or id == 1 then - if contains_space(n.head, width) then - return true - end - end - end - return false -end -\end{luacode*} -\NewDocumentCommand \AssertNoSpace { m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - if~ contains_space(b.head) then~ - tex.sprint("0") - else~ - tex.sprint("1") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node - } - } -} -\makeatletter -\NewDocumentCommand \AssertMuSpace { m m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \hbox_set:Nn \l_test_tmpb_box { $ \mskip #2 \m@th $ } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - local~ s = tex.getbox(\int_use:N \l_test_tmpb_box) - if~ contains_space(b.head, s.width) then~ - tex.sprint("1") - else~ - tex.sprint("0") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } -} -\makeatother -\ExplSyntaxOff -\usepackage{lualatex-math} -\begin{document} -\begin{displaymath} - \AssertMathStyle{0} \sqrt{\AssertMathStyle{1}} - \frac{\AssertMathStyle{2}}{\AssertMathStyle{3}} - a^{\frac{\AssertMathStyle{6}}{\AssertMathStyle{7}}} - \sqrt{\frac{\AssertMathStyle{3}}{\AssertMathStyle{3}}} - \displaystyle - \frac{\AssertMathStyle{2}}{\AssertMathStyle{3}} - \luatexcrampeddisplaystyle - \frac{\AssertMathStyle{3}}{\AssertMathStyle{3}} - \textstyle - \frac{\AssertMathStyle{4}}{\AssertMathStyle{5}} - \luatexcrampedtextstyle - \frac{\AssertMathStyle{5}}{\AssertMathStyle{5}} - \scriptstyle - \frac{\AssertMathStyle{6}}{\AssertMathStyle{7}} - \luatexcrampedscriptstyle - \frac{\AssertMathStyle{7}}{\AssertMathStyle{7}} -\end{displaymath} -\begin{math} - \AssertMathStyle{2} \sqrt{\AssertMathStyle{3}} - \frac{\AssertMathStyle{4}}{\AssertMathStyle{5}} - a^{\frac{\AssertMathStyle{6}}{\AssertMathStyle{7}}} - \sqrt{\frac{\AssertMathStyle{5}}{\AssertMathStyle{5}}} - \displaystyle - \frac{\AssertMathStyle{2}}{\AssertMathStyle{3}} - \luatexcrampeddisplaystyle - \frac{\AssertMathStyle{3}}{\AssertMathStyle{3}} - \textstyle - \frac{\AssertMathStyle{4}}{\AssertMathStyle{5}} - \luatexcrampedtextstyle - \frac{\AssertMathStyle{5}}{\AssertMathStyle{5}} - \scriptstyle - \frac{\AssertMathStyle{6}}{\AssertMathStyle{7}} - \luatexcrampedscriptstyle - \frac{\AssertMathStyle{7}}{\AssertMathStyle{7}} -\end{math} -\end{document} -\endinput -%% -%% End of file `test-kernel-style.tex'. diff --git a/Master/texmf-dist/doc/lualatex/lualatex-math/test-unicode.tex b/Master/texmf-dist/doc/lualatex/lualatex-math/test-unicode.tex deleted file mode 100644 index ef17d68cc05..00000000000 --- a/Master/texmf-dist/doc/lualatex/lualatex-math/test-unicode.tex +++ /dev/null @@ -1,215 +0,0 @@ -%% -%% This is file `test-unicode.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% lualatex-math.dtx (with options: `test,test-unicode') -%% -%% This is a generated file. -%% -%% Copyright 2011 by Philipp Stephani -%% -%% This file may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. The latest version of this license is in -%% -%% http://www.latex-project.org/lppl.txt -%% -%% and version 1.3c or later is part of all distributions of -%% LaTeX version 2009/09/24 or later. -%% -\documentclass[pagesize=auto]{scrartcl} -\usepackage{xparse}[2008/08/03] -\usepackage{luacode} -\ExplSyntaxOn -\AtBeginDocument { \errorcontextlines = \c_fifteen } -\msg_new:nnn { test } { pass } { #1 } -\cs_new_protected_nopar:Npn \test_pass:x #1 { - \msg_info:nnx { test } { pass } { #1 } -} -\msg_new:nnn { test } { fail } { #1 } -\cs_new_protected_nopar:Npn \test_fail:x #1 { - \msg_error:nnx { test } { fail } { #1 } -} -\cs_generate_variant:Nn \tl_const:Nn { Nx } -\tl_const:Nx \c_test_equal_tl { \c_space_tl == \c_space_tl } -\tl_const:Nx \c_test_not_equal_tl { \c_space_tl != \c_space_tl } -\cs_new_protected_nopar:Npn \test_equal_pass:nxnx #1 #2 #3 #4 { - \test_pass:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn \test_equal_fail:nxnx #1 #2 #3 #4 { - \test_fail:x { - \exp_not:n { #1 } - \c_test_equal_tl - #2 - \c_test_not_equal_tl - #4 - \c_test_equal_tl - \exp_not:n { #3 } - } -} -\cs_new_protected_nopar:Npn -\test_assert_equal:NNNNNnn #1 #2 #3 #4 #5 #6 #7 { - #1 #4 { #6 } - #1 #5 { #7 } - #3 { #4 } = { #5 } { - \test_equal_pass:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } { - \test_equal_fail:nxnx { #6 } { #2 #4 } { #7 } { #2 #5 } - } -} -\cs_generate_variant:Nn \test_assert_equal:NNNNNnn { ccccc } -\cs_new_protected_nopar:Npn \test_assert_equal:nnn #1 #2 #3 { - \test_assert_equal:cccccnn - { #1 _set:Nn } { #1 _use:N } { #1 _compare:nNnTF } - { l_test_tmpa_ #1 } { l_test_tmpb_ #1 } { #2 } { #3 } -} -\int_new:N \l_test_tmpa_int -\int_new:N \l_test_tmpb_int -\NewDocumentCommand \AssertIntEqual { m m } { - \test_assert_equal:nnn { int } { #1 } { #2 } -} -\dim_new:N \l_test_tmpa_dim -\dim_new:N \l_test_tmpb_dim -\NewDocumentCommand \AssertDimEqual { m m } { - \test_assert_equal:nnn { dim } { #1 } { #2 } -} -\NewDocumentCommand \AssertMathStyle { m } { - \AssertIntEqual { \luatexmathstyle } { #1 } -} -\cs_new_protected_nopar:Npn \test_assert_cramped:Nx #1 #2 { - \int_set:Nn \l_test_tmpa_int { \luatexmathstyle } - \bool_if:nTF { - \int_compare_p:nNn { \l_test_tmpa_int } > { \c_minus_one } - && - #1 { \l_test_tmpa_int } - } { - \test_pass:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ a~ #2~ style - } - } { - \test_fail:x { - \exp_not:N \luatexmathstyle - \c_test_equal_tl - \int_use:N \l_test_tmpa_int - \c_space_tl - is~ not~ a~ #2~ style - } - } -} -\NewDocumentCommand \AssertNoncrampedStyle { } { - \test_assert_cramped:Nx \int_if_even_p:n { non-cramped } -} -\NewDocumentCommand \AssertCrampedStyle { } { - \test_assert_cramped:Nx \int_if_odd_p:n { cramped } -} -\box_new:N \l_test_tmpa_box -\box_new:N \l_test_tmpb_box -\begin{luacode*} -function contains_space(head, width) - for n in node.traverse(head) do - local id = n.id - if id == 10 or id == 11 then - if width then - if (id == 10 and n.spec.width == width) - or (id == 11 and n.kern == width) then - return true - end - else - return true - end - elseif id == 0 or id == 1 then - if contains_space(n.head, width) then - return true - end - end - end - return false -end -\end{luacode*} -\NewDocumentCommand \AssertNoSpace { m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - if~ contains_space(b.head) then~ - tex.sprint("0") - else~ - tex.sprint("1") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node - } - } -} -\makeatletter -\NewDocumentCommand \AssertMuSpace { m m } { - \hbox_set:Nn \l_test_tmpa_box { #1 } - \hbox_set:Nn \l_test_tmpb_box { $ \mskip #2 \m@th $ } - \int_if_odd:nTF { - \lua_now:x { - local~ b = tex.getbox(\int_use:N \l_test_tmpa_box) - local~ s = tex.getbox(\int_use:N \l_test_tmpb_box) - if~ contains_space(b.head, s.width) then~ - tex.sprint("1") - else~ - tex.sprint("0") - end - } - } { - \test_pass:x { - \tl_to_str:n { #1 } ~ - contains~ a~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } { - \test_fail:x { - \tl_to_str:n { #1 } ~ - contains~ no~ skip~ or~ kern~ node~ of~ width~ - \tl_to_str:n { #2 } - } - } -} -\makeatother -\ExplSyntaxOff -\ExplSyntaxOn -\msg_redirect_class:nn { warning } { error } -\ExplSyntaxOff -\usepackage{amsmath} -\usepackage{unicode-math}[2011/05/05] -\setmathfont{XITS Math} -\usepackage{lualatex-math} -\begin{document} -\begin{equation*} - \AssertMathStyle{0} \sqrt{\AssertMathStyle{1}} - \frac{\AssertMathStyle{2}}{\AssertMathStyle{3}} - a^{\frac{\AssertMathStyle{6}}{\AssertMathStyle{7}}} - \dfrac{\AssertMathStyle{2}}{\AssertMathStyle{3}} - \tfrac{\AssertMathStyle{4}}{\AssertMathStyle{5}} -\end{equation*} -\end{document} -\endinput -%% -%% End of file `test-unicode.tex'. diff --git a/Master/texmf-dist/scripts/lualatex-math/lualatex-math.lua b/Master/texmf-dist/scripts/lualatex-math/lualatex-math.lua deleted file mode 100755 index e4f18e8fb85..00000000000 --- a/Master/texmf-dist/scripts/lualatex-math/lualatex-math.lua +++ /dev/null @@ -1,49 +0,0 @@ --- --- This is file `lualatex-math.lua', --- generated with the docstrip utility. --- --- The original source files were: --- --- lualatex-math.dtx (with options: `lua') --- --- This is a generated file. --- --- Copyright 2011 by Philipp Stephani --- --- This file may be distributed and/or modified under the --- conditions of the LaTeX Project Public License, either --- version 1.3c of this license or (at your option) any later --- version. The latest version of this license is in --- --- http://www.latex-project.org/lppl.txt --- --- and version 1.3c or later is part of all distributions of --- LaTeX version 2009/09/24 or later. --- -require("luatexbase.modutils") -require("luatexbase.cctb") -local err, warn, info, log = luatexbase.provides_module({ - name = "lualatex-math", - date = "2011/05/05", - version = 0.1, - description = "Patches for mathematics typesetting with LuaLaTeX", - author = "Philipp Stephani", - licence = "LPPL v1.3+" -}) -local unpack = unpack -local string = string -local tex = tex -local cctb = luatexbase.catcodetables -module("lualatex.math") -function print_fam_slot(char) - local code = tex.getmathcode(char) - local class, family, slot = unpack(code) - local result = string.format("%i %i ", family, slot) - tex.sprint(cctb.string, result) -end -function print_class_fam_slot(char) - local code = tex.getmathcode(char) - local class, family, slot = unpack(code) - local result = string.format("%i %i %i ", class, family, slot) - tex.sprint(cctb.string, result) -end diff --git a/Master/texmf-dist/tex/lualatex/lualatex-math/lualatex-math.lua b/Master/texmf-dist/tex/lualatex/lualatex-math/lualatex-math.lua new file mode 100644 index 00000000000..e4f18e8fb85 --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/lualatex-math/lualatex-math.lua @@ -0,0 +1,49 @@ +-- +-- This is file `lualatex-math.lua', +-- generated with the docstrip utility. +-- +-- The original source files were: +-- +-- lualatex-math.dtx (with options: `lua') +-- +-- This is a generated file. +-- +-- Copyright 2011 by Philipp Stephani +-- +-- This file may be distributed and/or modified under the +-- conditions of the LaTeX Project Public License, either +-- version 1.3c of this license or (at your option) any later +-- version. The latest version of this license is in +-- +-- http://www.latex-project.org/lppl.txt +-- +-- and version 1.3c or later is part of all distributions of +-- LaTeX version 2009/09/24 or later. +-- +require("luatexbase.modutils") +require("luatexbase.cctb") +local err, warn, info, log = luatexbase.provides_module({ + name = "lualatex-math", + date = "2011/05/05", + version = 0.1, + description = "Patches for mathematics typesetting with LuaLaTeX", + author = "Philipp Stephani", + licence = "LPPL v1.3+" +}) +local unpack = unpack +local string = string +local tex = tex +local cctb = luatexbase.catcodetables +module("lualatex.math") +function print_fam_slot(char) + local code = tex.getmathcode(char) + local class, family, slot = unpack(code) + local result = string.format("%i %i ", family, slot) + tex.sprint(cctb.string, result) +end +function print_class_fam_slot(char) + local code = tex.getmathcode(char) + local class, family, slot = unpack(code) + local result = string.format("%i %i %i ", class, family, slot) + tex.sprint(cctb.string, result) +end -- cgit v1.2.3