|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% edrx.15 - this is like "edrx08.sty", but without the catcodes.
% (find-angg "LATEX/edrx15.sty")
% (find-dn4ex "edrx08.sty")
% http://angg.twu.net/LATEX/edrx15.sty
% http://angg.twu.net/LATEX/edrx15.sty.html
% http://angg.twu.net/dednat4/examples/edrx08.sty
% http://angg.twu.net/dednat4/examples/edrx08.sty.html
% Author: Eduardo Ochs <eduardoochs@gmail.com>
% Version: 2015apr03
% I use this as my main include(d) file.
% This is not self-contained! It has some "\input"s - namely:
% \input edrxdnt.tex % (find-dn4ex "edrxdnt.tex")
% \input edrxdefs.tex % (find-dn4ex "edrxdefs.tex")
% Also, this file is loaded by:
% (find-dn4ex "edrxmain41.tex")
% (find-dn4ex "edrxmain41a.tex")
% See also:
% (find-dn4 "Makefile" "demo1")
% Here's a minimal example of use:
% create a file "foo.tex" containing this:
% (strip out the initial "%"s, of course...)
%
% --snip--snip--
% \documentclass[oneside]{book}
% \usepackage[latin1]{inputenc}
% \usepackage{edrx08}
% %L process "edrx08.sty" -- (find-dn4ex "edrx08.sty")
% % For the footer with the filename and a timestamp:
% \input edrxheadfoot.tex
% \begin{document}
%
% % Run this to produce foo.dnt:
% % (find-sh "~/dednat4/dednat41 foo.tex")
% % Make LaTeX load the TeXed versions of the trees and diagrams:
% \input foo.dnt
%
% %D diagram adjunction-DNC
% %D 2Dx 100 +20
% %D 2D 100 a,b <==== a
% %D 2D - -
% %D 2D | <--> |
% %D 2D v v
% %D 2D +20 c ===> b|->c
% %D 2D
% %D (( a,b a
% %D c b|->c
% %D @ 0 @ 1 <= @ 0 @ 2 |-> @ 1 @ 3 |-> @ 2 @ 3 =>
% %D @ 0 @ 3 harrownodes nil 20 nil <->
% %D ))
% %D enddiagram
%
% $$\diag{adjunction-DNC}$$
%
% \end{document}
% --snip--snip--
%
% Then run:
% ~/dednat4/dednat41 foo.tex
% latex foo.tex
% xdvi foo.dvi
% «.bbold» (to "bbold")
% «.glyphs» (to "glyphs")
% «.ttchars» (to "ttchars")
% «.arrows» (to "arrows")
% «.limp» (to "limp")
% «.pbsymbol» (to "pbsymbol")
% «.standardabbrevs» (to "standardabbrevs")
% «.fcded» (to "fcded")
% «.experimental.lua» (to "experimental.lua")
% «.slides» (to "slides")
% «.colors» (to "colors")
% «.colors-2019» (to "colors-2019")
% «.bhbox» (to "bhbox")
% «.dags» (to "dags")
% «.savebox» (to "savebox")
% «.crossover» (to "crossover")
% «.picture-cells» (to "picture-cells")
% «.diagprep» (to "diagprep")
% «.psm-and-pmat» (to "psm-and-pmat")
% «.dednat6» (to "dednat6")
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%\usepackage{mathrsfs}
%\usepackage{stmaryrd}
\usepackage{array}
\usepackage{url}
\usepackage{color}
\usepackage{graphicx} % <- temporary?
% \usepackage{pxfonts} % <- temporary?
% \usepackage{fitch} % <- temporary?
% \usepackage{hyperref}
%\usepackage{verbatimbox} % <- temporary?
% (find-es "tex" "verbatimbox")
\usepackage{shortvrb}
% _ _ _ _
% | |__ | |__ ___ | | __| |
% | '_ \| '_ \ / _ \| |/ _` |
% | |_) | |_) | (_) | | (_| |
% |_.__/|_.__/ \___/|_|\__,_|
%
% «bbold» (to ".bbold")
% Amsfonts.sty's "\mathbb" uses the "bbm10" font, that has nice
% blackboard bold letters, but only a few other characters...
% Bbold.sty redefines "\mathbb" to use the "bbold10" font, that has
% more characters, but then the letters become much uglier...
% This hack is a possible solution - it makes both fonts available at
% once, the one from amsfonts as \mathbb, the other one as \mathbbold.
%
% (find-fline "/usr/share/texmf-tetex/tex/latex/amsfonts/amsfonts.sty" "\\mathbb")
% (find-fline "/usr/share/texmf-tetex/tex/latex/bbold/bbold.sty" "\\mathbb")
%
\newcommand{\bbfamily}{\fontencoding{U}\fontfamily{bbold}\selectfont}
\newcommand{\textbbold}[1]{{\bbfamily#1}}
\DeclareMathAlphabet{\mathbbold}{U}{bbold}{m}{n}
\def\mathbblow{\mathbbold} % lowercase letters are usually better on bbold
\def\mathbbnum{\mathbbold} % only bbold has all digits
% To compare bbm and bbold:
% (find-angg ".emacs" "find-testfont")
% (find-testfont "\\T{bbm10}\\T{bbold10}")
% (eedn4a "$\\mathbb{ABCDEINRZ}\\mathbblow{abcdeinrz}\\mathbbnum{0123456789}$")
% _ _
% __ _| |_ _ _ __ | |__ ___
% / _` | | | | | '_ \| '_ \/ __|
% | (_| | | |_| | |_) | | | \__ \
% \__, |_|\__, | .__/|_| |_|___/
% |___/ |___/|_|
%
% «glyphs» (to ".glyphs")
% (find-eev "eev-compose.el")
% _ _ _
% | |_| |_ ___| |__ __ _ _ __ ___
% | __| __/ __| '_ \ / _` | '__/ __|
% | |_| || (__| | | | (_| | | \__ \
% \__|\__\___|_| |_|\__,_|_| |___/
%
% Use this macro to produce the \def_{\ttchar...} lines (below) from
% catcode/def lines (above):
% (setq last-kbd-macro (kbd "13*<delete> SPC 7*<right> \\ ttchar { $ C-e <left> $ } C-a <down>"))
%
% «ttchars» (to ".ttchars")
% (find-es "tex" "leavevmode")
% (find-dn4ex "edrx08.sty" "ttchars")
% (find-ist "defs.tex" "chars")
%
% __ _ _ __ _ __ _____ _____
% / _` | '__| '__/ _ \ \ /\ / / __|
% | (_| | | | | | (_) \ V V /\__ \
% \__,_|_| |_| \___/ \_/\_/ |___/
%
% «arrows» (to ".arrows")
% (find-symbolspage 41)
\def\ito{\hookrightarrow}
\def\isoto{\underset{iso}{\to}}
\def\epito{{\twoheadrightarrow}}
\def\bij{\leftrightarrow}
\def\toto{\rightrightarrows}
\def\functo{\Rightarrow}
\def\ton#1{\overset{#1}{\to}}
\def\xton#1{\xrightarrow{#1}}
\def\iton#1{\overset{#1}{\ito}}
\def\otn#1{\overset{#1}{\ot}}
\def\TNto{\overset{.}{\to}}
\def\idto{\overset{id}{\to}}
\def\vaipra{\quad\Longrightarrow\quad}
\def\funto{\Rightarrow}
\def\funton#1{\overset{#1}\Rightarrow}
\def\tnto{\ton{\bullet}}
%\def\iff{\Leftrightarrow}
\def\Bij{\Leftrightarrow}
\def\funot{\Leftarrow}
\def\dnto{\downarrow}
\def\upto{\uparrow}
\def\dnfunto{\Downarrow}
\def\upfunto{\Uparrow}
\def\monicto{\rightarrowtail}
\def\monicot{\leftarrowtail}
\def\ot{\leftarrow}
\def\squigto{\rightsquigarrow}
\def\squigbij{\leftrightsquigarrow}
\def\sqto{\rightsquigarrow}
\def\sqbij{\leftrightsquigarrow}
\def\vbij{\updownarrow}
\def\lrto{\leftrightarrows}
\def\mto{{\mapsto}}
\def\mton#1{\overset{#1}{\mto}}
\def\widemtos{\def\mto{\mapsto}}
\def\thinmtos{\def\mto{{\mapsto}}}
\def\lmto{\mapsto}
\def\tnton#1{\underset{#1}{\overset{\bullet}{\to}}}
\def\mapsot{\leftarrow\mapsfromchar}
\def\mot{{\mapsot}}
\def\iot{\hookleftarrow}
\def\dashto{\dashrightarrow}
\def\dashot{\dashleftarrow}
\def\mdashto{\mapstochar\dashrightarrow}
\def\mdashot{\dashleftarrow\mapsfromchar}
% _ _
% | (_)_ __ ___ _ __
% | | | '_ ` _ \| '_ \
% | | | | | | | | |_) |
% |_|_|_| |_| |_| .__/
% |_|
%
% «limp» (to ".limp")
% Logical implication (a thin, long, vaguely arrow-like, \supset char)
% Note that this "symbol" does not change size in \scriptstyle...
% (find-es "tex" "thin_supset")
% (find-lsrcfile "amslatex/math/amsopn.dtx" "DeclareMathOperator")
% (find-lsrcfile "amslatex/math/amsopn.dtx" "DeclareRobustCommand{\\qopname}")
\def\limpchar{{%
\setlength{\unitlength}{1pt}%
\begin{picture}(6,4)
\put(0,2){\oval(12,4)[r]}
\end{picture}%
}}
% \def\limp{\qopname\relax o{\limpchar}}
\def\limp{\mathrel{\limpchar}}
%\def\limp{\mathbin{\limpchar}}
% _ _ _
% _ __ | |__ ___ _ _ _ __ ___ | |__ ___ | |
% | '_ \| '_ \/ __| | | | '_ ` _ \| '_ \ / _ \| |
% | |_) | |_) \__ \ |_| | | | | | | |_) | (_) | |
% | .__/|_.__/|___/\__, |_| |_| |_|_.__/ \___/|_|
% |_| |___/
%
% «pbsymbol» (to ".pbsymbol")
\def\pbsymbol#1{%
\begin{picture}(#1,#1)
\put(0,0){\line(1,0){#1}}
\put(#1,#1){\line(0,-1){#1}}
\end{picture}}
% _ _ _
% ___ __| |_ ____ ____| |_ __ | |_
% / _ \/ _` | '__\ \/ / _` | '_ \| __|
% | __/ (_| | | > < (_| | | | | |_
% \___|\__,_|_| /_/\_\__,_|_| |_|\__|
%
%\ifx\NOEDRXDNT\UNDEFINED
%\input edrxdnt.tex % (find-dn4ex "edrxdnt.tex")
%\fi
% \input edrxdednat.tex % (find-dn4ex "edrxdednat.tex")
% (find-dn4 "experimental.lua")
% «standardabbrevs» (to ".standardabbrevs")
% «experimental.lua» (to ".experimental.lua")
%L standardabbrevs() -- (find-dn4 "dednat41.lua")
%L require "experimental" -- (find-dn4 "experimental.lua")
% «fcded» (to ".fcded")
\def\ee{\varepsilon}
\def\cded #1{\begin{matrix}\ded {#1}\end{matrix}}
\def\cdiag#1{\begin{matrix}\diag{#1}\end{matrix}}
\def\fcded#1{\fbox{$\cded{#1}$}}
\def\fbded#1{\fbox{$\ded{#1}$}}
% Todo: compare using "matrix" and "vcenter" for cded and cdiag... See:
% http://www.phil.cam.ac.uk/teaching_staff/Smith/LaTeX/ndexamples/proofsty3.html
% I have not tested the \vcenter method much - but here are the definitions,
% if they work they will be renamed \cded and \cdiag and will replace the
% current ones.
\def\vcded #1{\vcenter{\leavevmode$\ded {#1}$}}
\def\vcdiag#1{\vcenter{\leavevmode$\diag{#1}$}}
% (find-dn4file "diagxy.tex" "\\newdir")
% \newdir^{ (}{{ }*!/-.5em/@^{(}}%
% \newdir^{) }{{ }*!/.5em/@^{)}}%
% _ _ __
% ___ __| |_ ____ ____| | ___ / _|___
% / _ \/ _` | '__\ \/ / _` |/ _ \ |_/ __|
% | __/ (_| | | > < (_| | __/ _\__ \
% \___|\__,_|_| /_/\_\__,_|\___|_| |___/
%
\input edrx15defs.tex % (find-LATEX "edrx15defs.tex")
\def\co{\mathrm{co}}
\def\bsk{\bigskip}
\def\msk{\medskip}
\def\ssk{\smallskip}
% "set of ...", and
% "set of ... such that ..."
\def\sof#1{\{\,#1\,\}}
\def\sst#1#2{\{\,#1\;|\;#2\,\}}
\def\ssst#1#2{\{\,#1\;||\;#2\,\}}
\def\Opens{\mathcal{O}}
\def\compl{{\text{\,compl}}}
\def\interior{{\text{int}}}
\def\sh{\sharp}
\def\fl{\flat}
% (find-angg ".emacs.papers" "stmaryrd")
\def\Dbr#1{\left\llbracket#1\right\rrbracket}
\def\dbr#1{\llbracket#1\rrbracket}
\def\Dbrnat#1{\Dbr{#1}^\natural}
\def\dbrnat#1{\dbr{#1}^\natural}
% Extra:
% (find-dn4ex "edrxslides.tex")
\def\myslide#1#2{{\bf #1}}
\def\tocline#1#2{\par #1 \dotfill #2}
% This is useful for slides:
% \setlength{\parindent}{0em}
% _ _ _
% ___| (_) __| | ___ ___
% / __| | |/ _` |/ _ \/ __|
% \__ \ | | (_| | __/\__ \
% |___/_|_|\__,_|\___||___/
%
% «slides» (to ".slides")
% (find-es "tex" "mytoc")
% (find-LATEX "2005oct20-seminar.tex")
% (find-dn4ex "edrxslides.tex")
\makeatletter
\def\mylosopen#1{\newwrite\tf@mylos\openout\tf@mylos=#1}
\makeatother
\def\addtolos#1{\addtocontents{mylos}{\protect\tocline{#1} {\thepage}}}
\def\myslidelos#1#2{
{\bf #1}\label{#2}%
\addtolos{#1}%
% \addtocontents{mylos}{\protect\tocline {#1} {\thepage}}%
}
\def\makelos#1{\mylosopen{#1}\def\myslide{\myslidelos}}
%\def\ignore#1{}
%\def\nolos{\let\addtolos=\ignore}
%
% Usage:
% % \mylosopen{\jobname.los}
% \mylosopen{tmp.los}
% \def\myslide#1#2{\myslidelos{#1}{#2}}
% %
% {\bf Index of the slides}
% \medskip
% We insert the list of slides here by hand...
% (find-fline "tmp.los")
% (insert-file "tmp.los")
% ...
% _
% ___ ___ | | ___ _ __ ___
% / __/ _ \| |/ _ \| '__/ __|
% | (_| (_) | | (_) | | \__ \
% \___\___/|_|\___/|_| |___/
%
% «colors» (to ".colors")
% «bhbox» (to ".bhbox")
% (find-es "tex" "bicolorhbox")
% (find-es "tex" "color-packages")
% Usage:
%
% \edrxcolors % (find-LATEX "edrx15.sty" "colors")
% \def\bhbox{\bicolorhbox}
% Foobar\bhbox{plic}ploc
%
\def\blue #1{{\color{blue}#1}}
\def\red #1{{\color{red}#1}}
\def\orange#1{{\color{orange}#1}}
\def\yellow#1{{\color{yellow}#1}}
\def\smashedvrule#1#2#3{\vrule width#1 height#2 depth#3 \kern-#1}
\def\bicolorhbox#1{{%
\setbox0\hbox{#1}%
\yellow{\smashedvrule{\wd0}{\ht0}{0pt}}%
\orange{\smashedvrule{\wd0}{0pt}{\dp0}}%
\box0%
}}
\def\bhbox{\bicolorhbox}
% (find-es "tex" "color")
% (find-lsrcfile "graphics/color.dtx" "\\definecolor{red}")
% (find-es "tex" "color-packages")
\def\edrxcolors{
\definecolor{orange}{rgb}{1,.64,0}
}
% «colors-2019» (to ".colors-2019")
% (find-es "tex" "testcolor")
% My favorite colors for slides.
% From 2017 to 2019 I defined them in each .tex by hand:
% (find-LATEXgrep "grep --color -nH -e '\\\\long\\\\def\\\\Color' *.tex")
% (find-LATEXgrep "grep --color -nH -e '\\\\long\\\\def\\\\ColorGreen' *.tex")
% (find-LATEXsh "cat *.tex *.sty | grep -e '\\\\long\\\\def\\\\Color'")
% (find-LATEXsh "cat *.tex *.sty | grep -e '\\\\long\\\\def\\\\Color' | sort | uniq")
% (find-LATEXgrep "grep --color -nH -e 'ColorGreen' *.tex")
% _
% __| | __ _ __ _ ___
% / _` |/ _` |/ _` / __|
% | (_| | (_| | (_| \__ \
% \__,_|\__,_|\__, |___/
% |___/
%
% «dags» (to ".dags")
% (find-es "tex" "dags")
% Some definitions (probably temporary) for
% typesetting the DAGs for (pre)sheaves.
%
% 2011feb13:
\newdimen\mypictureunit
\setbox0=\hbox{\rm0}
\mypictureunit=.085\wd0
\mypictureunit=.084\wd0
%
\def\dagput(#1,#2)#3{\put(#1,#2){\hbox to 0pt{\hss\scriptsize#3\hss}}}
\def\dagpicture(#1,#2)(#3,#4)[#5]#6{{%
%\unitlength=.1ex%
%\setbox0\hbox{x}\unitlength=.1\wd0%
%\setbox0\hbox{x}\unitlength=.095\wd0%
%\setbox0\hbox{x}\unitlength=.090\wd0%
\unitlength=\mypictureunit
\lower #5\unitlength\hbox{%
\begin{picture}(#1,#2)(#3,#4)
#6
\end{picture}%
}}}
\def\dagHouse#1#2#3#4#5{%
\dagpicture(20,36)(-10,-24)[12]{
\dagput( 0, 0){$#1$} % top
\dagput(-6,-12){$#2$} % second line, left
\dagput( 6,-12){$#3$} % second line, right
\dagput(-6,-24){$#4$} % third line, left
\dagput( 6,-24){$#5$} % third line, right
}}
\def\dagVee#1#2#3{%
\dagpicture(20,24)(-10,-12)[0]{
\dagput(-6, 0){$#1$} % top left
\dagput( 6, 0){$#2$} % top right
\dagput( 0,-12){$#3$} % bottom
}}
\def\dagPyr#1#2#3{%
\dagpicture(20,24)(-10,-12)[0]{
\dagput( 0, 0){$#1$} % top
\dagput(-6,-12){$#2$} % bottom left
\dagput( 6,-12){$#3$} % bottom right
}}
\def\dagKite#1#2#3#4#5{%
\dagpicture(20,48)(-10,-36)[16]{
\dagput( 0, 0){$#1$} % top
\dagput(-6,-12){$#2$} % second line, left
\dagput( 6,-12){$#3$} % second line, right
\dagput( 0,-24){$#4$} % third line
\dagput( 0,-36){$#5$} % bottom
}}
\def\dagSqr#1#2#3#4{%
\dagpicture(20,24)(-10,-12)[0]{
\dagput(-6, 0){$#1$} % top left
\dagput( 6, 0){$#2$} % top right
\dagput(-6,-12){$#3$} % bottom left
\dagput( 6,-12){$#4$} % bottom right
}}
\def\dagTwo#1#2{%
\dagpicture(8,24)(-4,-12)[0]{
\dagput( 0, 0){$#1$} % top
\dagput( 0,-12){$#2$} % bottom
}}
\def\dagThree#1#2#3{%
\dagpicture(8,36)(-4,-24)[6]{
\dagput( 0, 0){$#1$} % top
\dagput( 0,-12){$#2$} % middle
\dagput( 0,-24){$#3$} % bottom
}}
\def\dagTee#1#2#3#4{%
\dagpicture(32,24)(-16,-12)[0]{
\dagput(-12, 0){$#1$} % top left
\dagput( 0, 0){$#2$} % top middle
\dagput( 12, 0){$#3$} % top right
\dagput( 0,-12){$#4$} % bottom
}}
\def\dagSeven#1#2#3#4#5#6#7{%
\dagpicture(44,36)(-22,-24)[6]{
\dagput( 0, 0){$#1$} % top
\dagput( -9,-12){$#2$} % middle left
\dagput( 9,-12){$#3$} % middle right
\dagput(-18,-24){$#4$} % bottom left
\dagput( -6,-24){$#5$} % bottom middle left
\dagput( 6,-24){$#6$} % bottom middle right
\dagput( 18,-24){$#7$} % bottom right
}}
% Reason for the name "Reh":
% (find-einsert '(638 1360))
% 638 is an "r with fishhook" (IPA),
% 1360 is the "(capital) Armenian Reh".
\def\dagReh#1#2#3#4{\dagHouse{#1}{#2}{#3}{#4}{}}
% For my notes on sheaves and presheaves
\def\dbul{{\bullet\bullet}} % supersaturated cover
\def\bulm{{\bullet-}} % minimal saturated cover
\def\bul{\bullet} % saturated cover
\def\bol{\circ} % cover
\def\dtri{{\blacktriangle\blacktriangle}} % supersaturated subcover
\def\tri{\blacktriangle} % saturated subcover
\def\tro{\vartriangle} % subcover
\def\calU{{\mathcal{U}}}
\def\calV{{\mathcal{V}}}
% «savebox» (to ".savebox")
% These are mainly for nested diagrams
% (find-LATEX "2008graphs.tex" "ess-and-star")
% (find-LATEX "2008graphs.tex" "minimal-dag")
% (find-LATEX "2008graphs.tex" "minimal-dag" "A .tex= \\usebox{\\myboxa}")
% (find-kopkadaly4page (+ 12 87) "\\newsavebox{\\boxname}")
% (find-kopkadaly4text "\\newsavebox{\\boxname}")
\newsavebox{\myboxa}
\newsavebox{\myboxb}
\newsavebox{\myboxc}
\newsavebox{\myboxd}
\newsavebox{\myboxe}
\newsavebox{\myboxf}
\newsavebox{\myboxg}
\newsavebox{\myboxh}
% «picture-cells» (to ".picture-cells")
% (find-es "tex" "picture-cells")
% (find-dn5 "newrect.lua" "makepicture")
% Dednat6 uses "cells" in picture mode.
%
%\newlength{\celllower}
%\newlength{\lcelllower}
%\def\cellfont{}
%\def\lcellfont{}
%\def\cell #1{\lower\celllower\hbox to 0pt{\hss\cellfont${#1}$\hss}}
%\def\lcell#1{\lower\celllower\hbox to 0pt {\lcellfont${#1}$\hss}}
% «diagprep» (to ".diagprep")
% (find-dn4ex "edrxdnt.tex" "defdiag")
% Experimental, 2010mar25
%\def\defdiagprep#1#2{\expandafter\def\csname diagprep-#1\endcsname{#2}}
%\def\ifdiagprepundefined#1{\expandafter\ifx\csname diagprep-#1\endcsname\relax}
%\def\diagprep#1{\ifdiagprepundefined{#1}
% \errmessage{UNDEFINED DIAGPREP: #1}
% \else
% \csname diagprep-#1\endcsname
% \fi
%}
%\def\diagwithboxes#1{\diagprep{#1}\diag{#1}}
% These are mainly for putting multi-line text in nodes in diagrams
\def\textc#1{\begin{tabular}{c}#1\end{tabular}}
\def\textl#1{\begin{tabular}{l}#1\end{tabular}}
%:*\s[*\dncdisplay[*
\def\dncdisplay[#1|#2]{\begin{pmatrix} #2 \\ #1 \end{pmatrix}}
\def\ov {\overline}
\def\ovl{\overline}
% «crossover» (to ".crossover")
% (find-es "tex" "crossover")
\def\crossover#1#2#3{%
\setbox0\hbox{#1}%
\copy0%
\hskip -\wd0%
\setbox1\hbox{\vrule height#2 width\wd0 depth0pt}%
\raise#3\copy1\relax}
\def\mycrossover#1{\crossover{#1}{0.25pt}{1.75pt}}
\def\emp{\emptyset}
\def\ang#1{\langle#1\rangle}
% «psm-and-pmat» (to ".psm-and-pmat")
%
\def\sm #1{\begin{smallmatrix}#1\end{smallmatrix}}
\def\psm#1{\left (\begin{smallmatrix}#1\end{smallmatrix}\right )}
\def\bsm#1{\left [\begin{smallmatrix}#1\end{smallmatrix}\right ]}
\def\csm#1{\left\{\begin{smallmatrix}#1\end{smallmatrix}\right\}}
%
\def\mat #1{\begin{matrix}#1\end{matrix}}
\def\pmat#1{\left (\begin{matrix}#1\end{matrix}\right )}
\def\bmat#1{\left [\begin{matrix}#1\end{matrix}\right ]}
\def\cmat#1{\left\{\begin{matrix}#1\end{matrix}\right\}}
\def\uu{\vec u}
\def\vv{\vec v}
\def\ww{\vec w}
\def\Vec#1{{\overrightarrow{#1}}}
\def\VEC#1{{\overrightarrow{(#1)}}}
% «dednat6» (to ".dednat6")
% (find-dn6 "output.lua")
\def\expr#1{\directlua{output(tostring(#1))}}
\def\eval#1{\directlua{#1}}
%
% (find-dn6 "texfile.lua" "TexFile")
% (find-dn6 "texfile.lua" "TexFile" "pu =")
\def\pu{\directlua{pu()}}
%
% These should be deleted
\def\Diag#1{\directlua{tf:processuntil()}\diag{#1}}
\def\Ded #1{\directlua{tf:processuntil()}\ded{#1}}
\def\Exec#1{\directlua{tf:processuntil() #1}}
\def\Expr#1{\directlua{tf:processuntil() output(#1)}}
\def\Expr#1{\directlua{tf:processuntil() output(tostring(#1))}}
\def\frown{=(}
\def\smile{=)}
\def\myvcenter#1{\begin{matrix}#1\end{matrix}}
% Local Variables:
% coding: raw-text-unix
% ee-delimiter-percent: "\n%*\n"
% ee-anchor-format: "«%s»"
% End: