r3tex

custom LuaTeX format
git clone git://git.rr3.xyz/r3tex
Log | Files | Refs | README | LICENSE

primitive.tex (7173B)


      1 \directlua{tex.enableprimitives("", tex.extraprimitives())}
      2 
      3 %%% All macros are long
      4 \let\@primlong=\long  \def\long{\errmessage{All macros are \string\long!}}
      5 \let\@primdef=\def    \protected\@primlong\def\def{\@primlong\@primdef}
      6 \let\@primedef=\edef  \protected\def\edef{\@primlong\@primedef}
      7 \let\@primgdef=\gdef  \protected\def\gdef{\@primlong\@primgdef}
      8 \let\@primxdef=\xdef  \protected\def\xdef{\@primlong\@primxdef}
      9 
     10 %%% Old LuaTeX compatibility
     11 % TODO remove this?
     12 \ifprimitive\glet \else
     13 	\protected\def\glet{\global\let}
     14 \fi
     15 
     16 %%% pdfTeX compatibility
     17 \let\pdfpagewidth       \pagewidth
     18 \let\pdfpageheight      \pageheight
     19 \let\pdfadjustspacing   \adjustspacing
     20 \let\pdfprotrudechars   \protrudechars
     21 \let\pdfnoligatures     \ignoreligaturesinfont
     22 \let\pdffontexpand      \expandglyphsinfont
     23 \let\pdfcopyfont        \copyfont
     24 \let\pdfxform           \saveboxresource
     25 \let\pdflastxform       \lastsavedboxresourceindex
     26 \let\pdfrefxform        \useboxresource
     27 \let\pdfximage          \saveimageresource
     28 \let\pdflastximage      \lastsavedimageresourceindex
     29 \let\pdflastximagepages \lastsavedimageresourcepages
     30 \let\pdfrefximage       \useimageresource
     31 \let\pdfsavepos         \savepos
     32 \let\pdflastxpos        \lastxpos
     33 \let\pdflastypos        \lastypos
     34 \let\pdfoutput          \outputmode
     35 \let\pdfdraftmode       \draftmode
     36 \let\pdfpxdimen         \pxdimen
     37 \let\pdfinsertht        \insertht
     38 \let\pdfnormaldeviate   \normaldeviate
     39 \let\pdfuniformdeviate  \uniformdeviate
     40 \let\pdfsetrandomseed   \setrandomseed
     41 \let\pdfrandomseed      \randomseed
     42 \let\pdfprimitive       \primitive
     43 \let\ifpdfprimitive     \ifprimitive
     44 \let\ifpdfabsnum        \ifabsnum
     45 \let\ifpdfabsdim        \ifabsdim
     46 \let\pdftracingfonts    \tracingfonts % XXX not mentioned in LuaTeX manual
     47 
     48 %%% PDF extensions
     49 \protected\def\pdfliteral        {\pdfextension literal }
     50 \protected\def\pdfcolorstack     {\pdfextension colorstack }
     51 \protected\def\pdfsetmatrix      {\pdfextension setmatrix }
     52 \protected\def\pdfsave           {\pdfextension save\relax}
     53 \protected\def\pdfrestore        {\pdfextension restore\relax}
     54 \protected\def\pdfobj            {\pdfextension obj }
     55 \protected\def\pdfrefobj         {\pdfextension refobj }
     56 \protected\def\pdfannot          {\pdfextension annot }
     57 \protected\def\pdfstartlink      {\pdfextension startlink }
     58 \protected\def\pdfendlink        {\pdfextension endlink\relax}
     59 \protected\def\pdfoutline        {\pdfextension outline }
     60 \protected\def\pdfdest           {\pdfextension dest }
     61 \protected\def\pdfthread         {\pdfextension thread }
     62 \protected\def\pdfstartthread    {\pdfextension startthread }
     63 \protected\def\pdfendthread      {\pdfextension endthread\relax}
     64 \protected\def\pdfinfo           {\pdfextension info }
     65 \protected\def\pdfcatalog        {\pdfextension catalog }
     66 \protected\def\pdfnames          {\pdfextension names }
     67 \protected\def\pdfincludechars   {\pdfextension includechars }
     68 \protected\def\pdffontattr       {\pdfextension fontattr }
     69 \protected\def\pdfmapfile        {\pdfextension mapfile }
     70 \protected\def\pdfmapline        {\pdfextension mapline }
     71 \protected\def\pdftrailer        {\pdfextension trailer }
     72 \protected\def\pdfglyphtounicode {\pdfextension glyphtounicode }
     73 \protected\def\pdfrunninglinkoff {\pdfextension linkstate 1 }
     74 \protected\def\pdfrunninglinkon  {\pdfextension linkstate 0 }
     75 
     76 %%% PDF feedbacks
     77 \protected\def\pdftexversion     {\numexpr\pdffeedback version\relax}
     78           \def\pdftexrevision    {\pdffeedback revision }
     79 \protected\def\pdflastlink       {\numexpr\pdffeedback lastlink\relax}
     80 \protected\def\pdfretval         {\numexpr\pdffeedback retval\relax}
     81 \protected\def\pdflastobj        {\numexpr\pdffeedback lastobj\relax}
     82 \protected\def\pdflastannot      {\numexpr\pdffeedback lastannot\relax}
     83           \def\pdfxformname      {\pdffeedback xformname }
     84           \def\pdfcreationdate   {\pdffeedback creationdate }
     85           \def\pdffontname       {\pdffeedback fontname }
     86           \def\pdffontobjnum     {\pdffeedback fontobjnum }
     87           \def\pdffontsize       {\pdffeedback fontsize }
     88           \def\pdfpageref        {\pdffeedback pageref }
     89           \def\pdfcolorstackinit {\pdffeedback colorstackinit }
     90 
     91 %%% PDF variables
     92 \protected\edef\pdfcompresslevel        {\pdfvariable compresslevel }
     93 \protected\edef\pdfobjcompresslevel     {\pdfvariable objcompresslevel }
     94 % \protected\edef\pdfrecompress           {\pdfvariable recompress } % XXX added by LuaTeX? doesn't work in my luaTeX
     95 \protected\edef\pdfdecimaldigits        {\pdfvariable decimaldigits }
     96 \protected\edef\pdfgamma                {\pdfvariable gamma }
     97 \protected\edef\pdfimageresolution      {\pdfvariable imageresolution }
     98 \protected\edef\pdfimageapplygamma      {\pdfvariable imageapplygamma }
     99 \protected\edef\pdfimagegamma           {\pdfvariable imagegamma }
    100 \protected\edef\pdfimagehicolor         {\pdfvariable imagehicolor }
    101 \protected\edef\pdfimageaddfilename     {\pdfvariable imageaddfilename } % added by LuaTeX
    102 \protected\edef\pdfpkresolution         {\pdfvariable pkresolution }
    103 \protected\edef\pdfpkfixeddpi           {\pdfvariable pkfixeddpi } % XXX no documentation
    104 \protected\edef\pdfinclusioncopyfonts   {\pdfvariable inclusioncopyfonts }
    105 \protected\edef\pdfinclusionerrorlevel  {\pdfvariable inclusionerrorlevel }
    106 \protected\edef\pdfignoreunknownimages  {\pdfvariable ignoreunknownimages } % XXX added by LuaTeX?
    107 \protected\edef\pdfgentounicode         {\pdfvariable gentounicode }
    108 \protected\edef\pdfomitcidset           {\pdfvariable omitcidset } % XXX added by LuaTeX?
    109 % \protected\edef\pdfomitcharset          {\pdfvariable omitcharset } % XXX doesn't work in my luaTeX
    110 \protected\edef\pdfpagebox              {\pdfvariable pagebox }
    111 \protected\edef\pdfmajorversion         {\pdfvariable majorversion }
    112 \protected\edef\pdfminorversion         {\pdfvariable minorversion }
    113 \protected\edef\pdfuniqueresname        {\pdfvariable uniqueresname }
    114 \protected\edef\pdfhorigin              {\pdfvariable horigin }
    115 \protected\edef\pdfvorigin              {\pdfvariable vorigin }
    116 \protected\edef\pdflinkmargin           {\pdfvariable linkmargin }
    117 \protected\edef\pdfdestmargin           {\pdfvariable destmargin }
    118 \protected\edef\pdfthreadmargin         {\pdfvariable threadmargin }
    119 \protected\edef\pdfxformmargin          {\pdfvariable xformmargin } % XXX no documentation
    120 \protected\edef\pdfpagesattr            {\pdfvariable pagesattr }
    121 \protected\edef\pdfpageattr             {\pdfvariable pageattr }
    122 \protected\edef\pdfpageresources        {\pdfvariable pageresources }
    123 \protected\edef\pdfxformattr            {\pdfvariable xformattr } % added by LuaTeX
    124 \protected\edef\pdfxformresources       {\pdfvariable xformresources } % added by LuaTeX
    125 \protected\edef\pdfpkmode               {\pdfvariable pkmode }
    126 \protected\edef\pdfsuppressoptionalinfo {\pdfvariable suppressoptionalinfo } % added by LuaTeX
    127 \protected\edef\pdftrailerid            {\pdfvariable trailerid }
    128 
    129 %%% Reserve \span for linear algebra
    130 \let\expand=\span % Alias for use in preambles
    131 \let\cspan=\span  % Alias for use in column spans
    132 \let\span=\@undefined
    133 
    134 %%% \outer is a bad feature; free up the control sequence.
    135 \let\outer=\@undefined
    136 
    137 \endinput