You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.0 KiB
69 lines
2.0 KiB
% tex-ini-files 2016-04-15: luatexconfig.tex
|
|
|
|
% Load shared (PDF) settings in LuaTeX
|
|
|
|
\begingroup
|
|
\catcode`\{=1 %
|
|
\catcode`\}=2 %
|
|
\catcode`\#=6 %
|
|
% Settings that were primitives
|
|
% accessed in newer LuaTeX releases via \pdfvariable
|
|
\def\list{%
|
|
{compresslevel}%
|
|
{decimaldigits}%
|
|
{horigin}%
|
|
{minorversion}%
|
|
{objcompresslevel}%
|
|
{pkresolution}%
|
|
{vorigin}%
|
|
}%
|
|
\def\do#1{%
|
|
\ifx\relax#1\else
|
|
\directlua{tex.enableprimitives("", {"pdf#1"})}%
|
|
\expandafter\do
|
|
\fi
|
|
}%
|
|
% Enable all \pdf... primitives in one go
|
|
\expandafter\do\list{output}{pageheight}{pagewidth}{variable}\relax
|
|
% Other required primitives that are not named \pdf...
|
|
\directlua{tex.enableprimitives("",
|
|
{"pageheight", "pagewidth", "outputmode"})}%
|
|
% Newer LuaTeX releases don't have \pdfoutput, etc.:
|
|
% emulate names where appropriate
|
|
\ifx\pdfoutput\undefined
|
|
\global\let\pdfoutput\outputmode
|
|
\global\let\pdfpageheight\pageheight
|
|
\global\let\pdfpagewidth\pagewidth
|
|
\def\do#1{%
|
|
\ifx\relax#1\else
|
|
\expandafter\xdef\csname pdf#1\endcsname{\pdfvariable #1}%
|
|
\expandafter\do
|
|
\fi
|
|
}%
|
|
\expandafter\do\list\relax
|
|
\fi
|
|
% The file pdftexconfig.tex contains only <primitive> = <value> lines
|
|
% so can now be read using the (emulated) primitives
|
|
% This needs to be global so set \globaldefs for this step
|
|
\globaldefs=1 %
|
|
\input{pdftexconfig}%
|
|
\globaldefs=0 %
|
|
% Pick up on a request for DVI mode and apply it whilst \pdfoutput is
|
|
% still defined
|
|
\ifx\dvimode\relax
|
|
\global\pdfoutput=0 %
|
|
\fi
|
|
\global\let\dvimode\undefined
|
|
% Clean up all of the globally-allocated names
|
|
\def\do#1{%
|
|
\ifx\relax#1\else
|
|
\global\expandafter\let\csname pdf#1\endcsname\undefined
|
|
\expandafter\do
|
|
\fi
|
|
}%
|
|
\expandafter\do\list{output}{pageheight}{pagewidth}{variable}\relax
|
|
\global\let\outputmode\undefined
|
|
\global\let\pageheight\undefined
|
|
\global\let\pagewidth\undefined
|
|
\global\let\dvimode\undefined
|
|
\endgroup
|
|
|