From 044deb0931d98633db7d843495f034f97ca0565f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 3 Jul 2016 20:50:55 +0000 Subject: rm luatex-def, replaced by graphics-def git-svn-id: svn://tug.org/texlive/trunk@41615 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/lualatex/luatex-def/luatex.def | 1262 -------------------- 1 file changed, 1262 deletions(-) delete mode 100644 Master/texmf-dist/tex/lualatex/luatex-def/luatex.def (limited to 'Master/texmf-dist/tex/lualatex') diff --git a/Master/texmf-dist/tex/lualatex/luatex-def/luatex.def b/Master/texmf-dist/tex/lualatex/luatex-def/luatex.def deleted file mode 100644 index 34af1f9cc26..00000000000 --- a/Master/texmf-dist/tex/lualatex/luatex-def/luatex.def +++ /dev/null @@ -1,1262 +0,0 @@ -\ProvidesFile{luatex.def}[2016/06/17 v0.01e Graphics/Color for luaTeX] -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% LaTeX Colour and Graphics support for luatex -%% -%% License -%% ======= -%% -%% Copyright (C) 2000-2016 LaTeX3 Project -%% -%% based on pdftex.def by the following authors -%% David Carlisle, Sebastian Rahtz, Hans Hagen, -%% Heiko Oberdiek and Martin Schr\"oder -%% -%% 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 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainer of this work is the LaTeX3 Project. -%% -%% https://github.com/latex3/luatex-def/issues -%% -%% This work consists of the file luatex.def. -%% -%% Usage -%% ===== -%% -%% It may be used by specifying the luatex option to any of the -%% supported packages, for example: -%% -%% \usepackage[luatex]{graphicx} -%% -%% * luatex determines the bounding box of the images itself -%% Therefore the bounding box options should not be used. -%% In this cases a warning is issued and viewport is used instead. -%% * Option "page" (graphicx) for selecting a page of a multipage -%% PDF document. -%% * \pagecolor is supported. \nopagecolor disables the page color. -%% * Option "quiet" (graphicx/experimental): log messages are suppressed. -%% * Option "resolution" (graphicx/experimental): this sets -%% \pdfvariable imageresolution, see luaTeX documentation. -%% * Option "print" (graphicx/experimental): specifies an alternate -%% print image (bitmaps only), see PDF specification. -%% * luatex.def can be used under plain-TeX with miniltx support. -%% -%% "Experimental" means that these features can change or vanish -%% in later versions. -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% History -% -% 2015/12/30 Version 0.01a derived from pdftex.def -% 2016/01/23 Version 0.01b Moved to latex3 github, documentation changes -% 2016/05/21 Version 0.01c fix for graphics/4472 -% 2016/06/24 Version 0.01d support the (no)setpagesize option. -% 2016/06/17 Version 0.01e guards for contributed packages and plain TeX -% -% Prefix of internal commands for this file `pdftex.def': -% \GPT@ (Graphics bundle PdfTex driver, even though this is for luatex) - - -% if not luatex, complain, -% on old luatex, use pdftex.def -\ifx\luatexversion\@undefined - \PackageError{graphics}{Unexpected luatex driver}{} -\else - \ifnum\luatexversion<87\relax - \input pdftex.def - \expandafter\expandafter\expandafter\endinput - \fi -\fi - - -\protected\edef\GPT@compresslevel {\pdfvariable compresslevel} - -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname RequirePackage\endcsname\relax - \input infwarerr.sty\relax - \input ltxcmds.sty\relax -\else - \RequirePackage{infwarerr}[2007/09/09]% - \RequirePackage{ltxcmds}[2010/12/07]% -\fi - -\def\GPT@error{\@PackageError{luatex.def}}% -\def\GPT@warn{\@PackageWarning{luatex.def}}% -\ifx\Gin@log\@undefined - \def\Gin@log{\message}% -\fi -\def\GPT@info{\@PackageInfoNoLine{luatex.def}}% - - - -% Ensure PDF mode -\ifnum\outputmode<1 % - \GPT@error{% - PDF mode expected, but DVI mode detected!\MessageBreak - If you are using `dvilualatex', then call `lualatex'.\MessageBreak - Otherwise check and correct the driver options.\MessageBreak - Error recovery by switching to PDF mode% - }\@ehc - \outputmode=1 % -\fi -\@ifundefined{ifGin@setpagesize} - {\expandafter\let\csname ifGin@setpagesize\expandafter\endcsname - \csname iftrue\endcsname} - {} -\ifGin@setpagesize -\ifx\paperwidth\@undefined\else -\AtBeginDocument{% -\ltx@IfUndefined{stockwidth}{% - \ltx@IfUndefined{paperwidth}{% - }{% - \ifdim\paperwidth>0pt\relax - \ifdim\paperheight>0pt\relax - \pagewidth=\paperwidth - \pageheight=\paperheight - \fi - \fi - }% -}{% - \ifdim\stockwidth>0pt\relax - \ifdim\stockheight>0pt\relax - \pagewidth=\stockwidth - \pageheight=\stockheight - \fi - \fi -}% -} -\fi -\fi - -% Colour Support. The following models may be used. -% * cmyk supported directly. -% * rgb supported directly. -% * RGB converted to rgb by this file. -% * gray supported directly. -% * named converted to cmyk by this file. -% -\def\c@lor@arg#1{% - \dimen@#1\p@ - \ifdim\dimen@<\z@\dimen@\maxdimen\fi - \ifdim\dimen@>\p@ - \PackageError{color}{Argument `#1' not in range [0,1]}\@ehd - \fi -} -\def\color@cmyk#1#2{\c@lor@@cmyk#2\@@#1} -\def\c@lor@@cmyk#1,#2,#3,#4\@@#5{% - \c@lor@arg{#4}% - \c@lor@arg{#1}% - \c@lor@arg{#2}% - \c@lor@arg{#3}% - \edef#5{#1 #2 #3 #4 k #1 #2 #3 #4 K}% -} -\def\color@gray#1#2{% - \c@lor@arg{#2}% - \edef#1{#2 g #2 G}% -} -\def\color@rgb#1#2{\c@lor@@rgb#2\@@#1} -\def\c@lor@@rgb#1,#2,#3\@@#4{% - \c@lor@arg{#1}% - \c@lor@arg{#2}% - \c@lor@arg{#3}% - \edef#4{#1 #2 #3 rg #1 #2 #3 RG}% -} -\def\color@RGB#1#2{\c@lor@@RGB#2\@@#1} -\def\c@lor@@RGB#1,#2,#3\@@#4{% - \c@lor@RGB@rgb{#1}\@tempa - \c@lor@RGB@rgb{#2}\@tempb - \c@lor@RGB@rgb{#3}\@tempc - \c@lor@@rgb\@tempa,\@tempb,\@tempc\@@#4% -} -\def\c@lor@RGB@rgb#1#2{% - \dimen@#1\p@ - \divide\dimen@\@cclv - \edef#2{\strip@pt\dimen@}% -} - -\def\color@named#1#2{\c@lor@@named#2,,\@@#1} -\def\c@lor@@named#1,#2,#3\@@#4{% - \ltx@IfUndefined{col@#1}{% - \PackageError{color}{Undefined color `#1'}\@ehd - }{% - \edef#4{\csname col@#1\endcsname}% - }% -} - - - \chardef\main@pdfcolorstack=0 % - \ltx@ifundefined{@pdfcolorstack}{% - \def\@pdfcolorstack{\main@pdfcolorstack}% - }{}% - \def\set@color{% - \pdfextension colorstack\@pdfcolorstack push{\current@color}% - \aftergroup\reset@color - }% - \def\reset@color{% - \pdfextension colorstack\@pdfcolorstack pop\relax - }% - -\def\define@color@named#1#2{% - \expandafter\edef\csname col@#1\endcsname{#2}% -} -\def\current@color{0 g 0 G} - -% v0.02t: support for \pagecolor -% fixed in v0.02p by using a box register, see -% http://tug.org/pipermail/pdftex/2005-August/005916.html -% -% v0.03r: \nopagecolor/\no@page@color added. -\ltx@newglobalif\ifGPT@pagecolor -\ltx@ifundefined{nopagecolor}{% - \def\nopagecolor{\no@page@color}% -}{} -\def\no@page@color{% - \GPT@pagecolorfalse -} -\def\set@page@color{% - \GPT@pagecolortrue - \global\let\current@page@color\current@color - \ltx@ifundefined{GPT@outputbox}{% - % \newbox is outer in plain - \csname newbox\endcsname\GPT@outputbox - }{}% - \ltx@ifundefined{GPTorg@shipout}{% - \global\let\GPTorg@shipout\shipout - \gdef\shipout{% - \edef\GPT@saved@grouplevel{\number\currentgrouplevel}% - \afterassignment\GPT@shipout - \global\setbox\GPT@outputbox=% - }% - \gdef\GPT@shipout{% - \ifnum\GPT@saved@grouplevel=\currentgrouplevel - \else - \expandafter\aftergroup - \fi - \GPT@@shipout - }% - \gdef\GPT@@shipout{% - \ifvoid\GPT@outputbox\relax - \GPT@warn{Ignoring void output box}% - \else - \setbox\GPT@outputbox=\vbox{% - \GPT@pageliteral - \box\GPT@outputbox - }% - \GPTorg@shipout\box\GPT@outputbox\relax - \fi - }% - \gdef\GPT@pageliteral{% - \ifGPT@pagecolor - \pdfextension literal page{% - q % gsave - \current@page@color\ltx@space - n % newpath - 0 0 \strip@pt\pagewidth\ltx@space - \strip@pt\pageheight\ltx@space re % rectangle - % there is no need to convert to bp - f % fill - Q% grestore - }% - \fi - }% - }{}% -} - - - - -% -% Graphic inclusion. Currently supports .png, .jpg, .mps and .pdf inclusion; -% .mps is MetaPost output. -% -% -% support for -% * multipage pdf images -% * alternate print image (bitmaps only) -% * printed image can be resused, but not the base image, -% because it's dictionary contains the additional key /Alternates. -% * not supported by Ghostscript or xpdf. -% * option quiet -% * option resetcolor -% * option xmpfile -% -% \GPT@page: page number of pdf image or \ltx@empty otherwise. -\let\GPT@page\ltx@empty -% \GPT@print: file name for alternate image or \ltx@empty otherwise. -\let\GPT@print\ltx@empty -\let\GPT@xmpfile\ltx@empty -\let\GPT@pagebox\ltx@empty -\let\GPT@pagebox@\ltx@empty -\let\GPT@interpolate\ltx@empty -\let\GPT@decodearray\ltx@empty -\let\GPT@mask\ltx@empty -\let\GPT@intent\ltx@empty -\let\GPT@ocobjnum\ltx@empty -\ltx@newif\ifGPT@ResetColor -\let\GPT@ResetColorEnd\relax -\def\GPT@ResetColorBegin{% - \ifGPT@ResetColor - \ifGPT@IsBitmap - \else - \begingroup - \normalcolor - \let\GPT@ResetColorEnd\endgroup - \fi - \fi -} - -% \pdfmatch may be emulated in lua -% (may be better to use lua patterns than bring in full -% regex, do nothing for now - \def\GPT@match#1#2#3#4{}% - \def\GPT@pat@real/{}% - - -\begingroup - \toks@{% - \define@key{Gin}{resetcolor}[true]{% - \csname GPT@ResetColor% - \expandafter\ifx\csname iftrue\expandafter\endcsname - \csname if#1\endcsname - true% - \else - false% - \fi - \endcsname - }% -% - \define@key{Gin}{page}{% - \def\GPT@page{#1}% - \ifx\GPT@page\ltx@empty - \else - \edef\GPT@page{\number\GPT@page}% - \fi - }% - \define@key{Gin}{print}{% - \def\GPT@print{#1}% - }% -% - % option pagebox - \define@key{Gin}{pagebox}{% - \expandafter\let\expandafter\GPT@pagebox - \csname GPT@pagebox@#1\endcsname - \ifx\GPT@pagebox\relax - \let\GPT@pagebox\ltx@empty - \GPT@warn{% - Unknown value `#1' for `pagebox'.\MessageBreak - Supported values:\MessageBreak - mediabox, cropbox, bleedbox, trimbox, artbox% - }% - }% - \def\GPT@pagebox@mediabox{mediabox}% - \let\GPT@pagebox@cropbox\ltx@empty - \def\GPT@pagebox@bleedbox{bleedbox}% - \def\GPT@pagebox@trimbox{trimbox}% - \def\GPT@pagebox@artbox{artbox}% - % option interpolate - \define@key{Gin}{interpolate}[true]{% - \expandafter\let\expandafter\GPT@interpolate - \csname GPT@interpolate@#1\endcsname - \ifx\GPT@interpolate\relax - \let\GPT@interpolate\ltx@empty - \GPT@warn{% - Unknown value `#1' for `interpolate'.\MessageBreak - Supported values: true, false% - }% - \fi - }% - \let\GPT@interpolate@false\ltx@empty - \def\GPT@interpolate@true{1}% non-empty, value does not matter - % option decodearray - \define@key{Gin}{decodearray}{% - \def\GPT@decodearray{#1}% - \ifx\GPT@decodearray\ltx@empty - \else - \GPT@match\GPT@decodearray{% - ((^| )\GPT@pat@real/ \GPT@pat@real/)+$% - }{}{% - \GPT@warn{% - Invalid value (\GPT@decodearray)\MessageBreak - for `decodearray' is ignored% - }% - \let\GPT@decodearray\ltx@empty - }% - \fi - }% - % option maskarray - \define@key{Gin}{maskarray}{% - \def\GPT@mask{#1}% - \ifx\GPT@mask\ltx@empty - \else - \GPT@match\GPT@mask{% - ((^| )[0-9]+ [0-9]+)+$% - }{}{% - \GPT@warn{% - Invalid value (\GPT@mask)\MessageBreak - for `maskarray' is ignored% - }% - \let\GPT@mask\ltx@empty - }% - \ifx\GPT@mask\ltx@empty - \else - \edef\GPT@mask{[\GPT@mask]}% - \fi - \fi - }% - % option intent - \define@key{Gin}{intent}{% - \def\GPT@intent{#1}% - \ifx\GPT@intent\ltx@empty - \else - \GPT@match\GPT@intent{% - ^((Absolute|Relative)Colorimetric|Saturation|Perceptual)$% - }{}{% - \GPT@match\GPT@intent{% - ^[A-Za-z0-9_]+$% - }{% - \GPT@warn{% - Rendering intent `\GPT@intent'\MessageBreak - is not a standard name of the PDF specification% - }% - }{% - \GPT@warn{% - Ignoring intent `\GPT@intent'\MessageBreak - with unusual characters% - }% - \let\GPT@intent\ltx@empty - }% - }% - \fi - }% - % option ocobjnum - \define@key{Gin}{ocobjnum}{% - \edef\GPT@ocobjnum{#1}% - \ifx\GPT@ocobjnum\ltx@empty - \else - \edef\GPT@ocobjnum{\number\GPT@ocobjnum}% - \GPT@match\GPT@ocobjnum{^[1-9]+[0-9]*$}{% - }{% - \GPT@warn{% - Invalid value (\GPT@ocobjnum)\MessageBreak - for `ocobjnum' is ignored% - }% - \let\GPT@ocobjnum\ltx@empty - }% - \ifx\GPT@ocobjnum\ltx@empty - \else - \edef\GPT@ocobjnum{\number\GPT@ocobjnum}% - \fi - \fi - }% - % option ocobjref - \define@key{Gin}{ocobjref}{% - \edef\GPT@ocobjnum{#1}% - \ifx\GPT@ocobjnum\ltx@empty - \else - \edef\GPT@ocobjnum{% - \expandafter\strip@prefix\meaning\GPT@ocobjnum - }% - \GPT@match\GPT@ocobjnum{^[1-9]+[0-9]* 0 R$}{% - }{% - \GPT@warn{% - Invalid value (\GPT@ocobjnum)\MessageBreak - for `ocobjref' is ignored% - }% - \let\GPT@ocobjnum\ltx@empty - }% - \ifx\GPT@ocobjnum\ltx@empty - \else - \begingroup - \def\GPT@temp##1 ##2\@nil{\endgroup - \def\GPT@ocobjnum{##1}% - }% - \expandafter\GPT@temp\GPT@ocobjnum\@nil - \edef\GPT@ocobjnum{\number\GPT@ocobjnum}% - \fi - \fi - }% - \define@key{Gin}{quiet}[]{% - \let\Gin@log\ltx@gobble - }% - \define@key{Gin}{resolution}{% - \pdfvariable imageresolution#1\relax - }% - \define@key{Gin}{xmpfile}[\Gin@base.xmp]{% - \def\GPT@xmpfile{#1}% - }% - }% - \ltx@IfUndefined{define@key}{% - \edef\x{\endgroup - \noexpand\AtBeginDocument{% - \noexpand\ltx@IfUndefined{define@key}{}{\the\toks@}% - }% - }\x - }{% - \expandafter\endgroup\the\toks@ - }% - -% redefinitions of some graphicx options: -\def\GPT@disable#1{% - \GPT@warn{% - Option `#1' is not supported, use\MessageBreak - option `viewport' instead% - }% -} -\def\GPT@fix{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname define@key\endcsname\relax - \else - \def\KV@Gin@bb{% - \GPT@warn{% - Option `bb' does not make sense,\MessageBreak - using `viewport' instead% - }% - \KV@Gin@viewport - }% - \define@key{Gin}{bbllx}{\GPT@disable{bbllx}}% - \define@key{Gin}{bblly}{\GPT@disable{bblly}}% - \define@key{Gin}{bburx}{\GPT@disable{bburx}}% - \define@key{Gin}{bbury}{\GPT@disable{bbury}}% - \fi -} -\AtBeginDocument{\GPT@fix} - -% -% Check for image file existence -% - \def\GPT@IfFileExists#1{% - \IfFileExists{#1}% - }% - -% -% Wrapper for \Gread@... that checks image existence first. -% -\def\GPT@read#1#2{% - \GPT@IfFileExists{#2}% - {% - #1{#2}% - }{% - \def\Gin@llx{0}% - \let\Gin@lly\Gin@llx - \def\Gin@urx{72}% - \let\Gin@ury\Gin@urx - \ifGin@draft - \else - \GPT@error{File `#2' not found}{% - Using draft setting for this image.\MessageBreak - \@ehc - }% - \Gin@drafttrue - \fi - }% -} - -% -% mechanism for re-use of objects also -% allows us to get the size by deriving it from the initial storage; -% this works for all graphics types. -% -\ltx@ifundefined{Gread@gobject}{% - \csname newcount\endcsname\Gread@gobject -}{} -\def\GPT@ReusedName#1{% - \ifx\GPT@print\ltx@empty - #1% - \else - \GPT@print - \fi -} -\def\GPT@objref{ 0 R} -\def\Gread@pdftex{% - \GPT@read\Gread@@pdftex -} -\def\Gread@@pdftex#1{% - % Ensure that option `print' works only on bitmap images. - \let\GPT@Attr\ltx@empty - \let\GPT@AttrShort\ltx@empty - \ifx\GPT@ocobjnum\ltx@empty - \else - \edef\GPT@AttrShort{\GPT@AttrShort - :OC\GPT@ocobjnum - }% - \edef\GPT@Attr{\GPT@Attr - /OC \GPT@ocobjnum\GPT@objref - }% - \fi - \ifGPT@IsBitmap - \let\GPT@page\ltx@empty - \let\GPT@pagebox\ltx@empty - \ifx\GPT@xmpfile\ltx@empty - \else - \ltx@IfUndefined{GPT@XMP@\GPT@xmpfile}{% - \GPT@IMfFileExists{\GPT@xmpfile}{% - \begingroup - \GPT@compresslevel=0 % - \immediate\pdfextension obj stream attr{% - /Type/Metadata% - /Subtype/XML% - }file{\GPT@xmpfile}% - \expandafter\xdef\csname GPT@XMP@\GPT@xmpfile\endcsname{% - \the\numexpr\pdffeedback lastobj\relax - }% - \endgroup - }{% - \GPT@warn{Missing XMP file (\GPT@xmpfile)}% - }% - }{}% - \ltx@IfUndefined{GPT@XMP@\GPT@xmpfile}{}{% - \edef\GPT@Attr{\GPT@Attr - /Metadata \@nameuse{GPT@XMP@\GPT@xmpfile}\GPT@objref - }% - \edef\GPT@AttrShort{\GPT@AttrShort - :MD\@nameuse{GPT@XMP@\GPT@xmpfile}% - }% - }% - \fi - \ifx\GPT@interpolate\ltx@empty - \else - \edef\GPT@Attr{\GPT@Attr - /Interpolate true% - }% - \edef\GPT@AttrShort{\GPT@AttrShort - :I% - }% - \fi - \ifx\GPT@decodearray\ltx@empty - \else - \edef\GPT@Attr{\GPT@Attr - /Decode[\GPT@decodearray]% - }% - \edef\GPT@AttrShort{\GPT@AttrShort - :D[\GPT@decodearray]% - }% - \fi - \ifx\GPT@mask\ltx@empty - \else - \edef\GPT@Attr{\GPT@Attr - /Mask\GPT@mask - }% - \edef\GPT@AttrShort{\GPT@AttrShort - :M\GPT@mask - }% - \fi - \ifx\GPT@intent\ltx@empty - \else - \edef\GPT@AttrShort{\GPT@AttrShort - :RI\GPT@intent - }% - \edef\GPT@intent{\TODOescapename{\GPT@intent}}% - \edef\GPT@Attr{\GPT@Attr - /Intent/\GPT@intent - }% - \fi - \else - \let\GPT@interpolate\ltx@empty - \let\GPT@decodearray\ltx@empty - \let\GPT@mask\ltx@empty - \let\GPT@intent\ltx@empty - \ifx\GPT@page\ltx@empty - \else - \edef\GPT@AttrShort{\GPT@AttrShort - :P\GPT@page - }% - \fi - \ifx\GPT@pagebox\ltx@empty - \else - \edef\GPT@AttrShort{% - \GPT@AttrShort - :\expandafter\ltx@car\GPT@pagebox{}\@nil b% - }% - \fi - \ifx\GPT@print\ltx@empty - \else - \GPT@warn{% - Option `print' can only be used\MessageBreak - for bitmap images% - }% - \let\GPT@print\ltx@empty - \fi - \fi - % Check if print image exists. - \ifx\GPT@print\ltx@empty - \else - \GPT@IfFileExists{\GPT@print}{% - }{% - \GPT@error{Print image `\GPT@print' not found}{% - The print version of the image is ignored.\MessageBreak - \@ehc - }% - \let\GPT@print\ltx@empty - }% - \fi - % If option `print' is set, the screen image object - % will contain an additional /Alternate entry - % and will not be reused. - \ifx\GPT@print\ltx@empty - \else - \expandafter\expandafter\expandafter\ltx@firstoftwo\expandafter\ltx@gobbletwo - \fi - \ltx@ifundefined{#1 image\GPT@AttrShort}{% - \ifx\GPT@print\ltx@empty - \ifx\GPT@Attr\ltx@empty - \let\GPT@RuleAttr\ltx@empty - \else - \edef\GPT@RuleAttr{attr{\GPT@Attr}}% - \fi - \else - \ltx@ifundefined{\GPT@print\ltx@space image\GPT@AttrShort}{% - \immediate\saveimageresource{\GPT@print}% - \setbox\@tempboxa=\hbox{\useimageresource\lastsavedimageresourceindex}% - \edef\GPT@PrintObj{\the\lastsavedimageresourceindex}% - \expandafter\xdef\csname\GPT@print\ltx@space - image\GPT@AttrShort\endcsname{% - \useimageresource\GPT@PrintObj\relax - }% - \immediate\pdfextension obj{% - [<<% - /Image \GPT@PrintObj\GPT@objref - /DefaultForPrinting true% - >>]% - }% - \def\GPT@RuleAttr{% - width\wd\@tempboxa height\ht\@tempboxa - attr{% - \GPT@Attr - /Alternates \the\numexpr\pdffeedback lastobj\relax\GPT@objref - }% - }% - }{% - \edef\GPT@PrintObj{% - \expandafter\expandafter\expandafter\ltx@gobble - \csname\GPT@print\ltx@space image\GPT@AttrShort\endcsname - }% - \immediate\pdfextension obj{% - [<<% - /Image \GPT@PrintObj\GPT@objref - /DefaultForPrinting true% - >>]% - }% - \def\GPT@RuleAttr{% - width \csname\GPT@print\ltx@space width\GPT@AttrShort\endcsname - height \csname\GPT@print\ltx@space height\GPT@AttrShort\endcsname - attr{% - \GPT@Attr - /Alternates \the\numexpr\pdffeedback lastobj\relax\GPT@objref - }% - }% - }% - \fi - \saveimageresource\GPT@RuleAttr - \ifx\GPT@page\ltx@empty - \else - page \GPT@page - \fi - \GPT@pagebox - {#1}% - \setbox\@tempboxa=\hbox{\useimageresource\lastsavedimageresourceindex}% - \def\Gin@llx{0}\let\Gin@lly\Gin@llx - \Gin@defaultbp\Gin@urx{\wd\@tempboxa}% - \Gin@defaultbp\Gin@ury{\ht\@tempboxa}% - \expandafter\xdef\csname\GPT@ReusedName{#1} width\GPT@AttrShort\endcsname{% - \the\wd\@tempboxa - }% - \expandafter\xdef\csname\GPT@ReusedName{#1} height\GPT@AttrShort\endcsname{% - \the\ht\@tempboxa - }% - \expandafter\xdef\csname #1 image\GPT@AttrShort - \ifx\GPT@print\ltx@empty\else!\fi\endcsname{% - \useimageresource\the\lastsavedimageresourceindex - }% - \Gin@log{% - <#1, id=% - \the\lastsavedimageresourceindex - \ifx\GPT@page\ltx@empty\else , page=\GPT@page\fi - \ifx\GPT@pagebox\ltx@empty\else, pagebox=\GPT@pagebox\fi - \ifx\GPT@interpolate\ltx@empty\else, interpolate=true\fi - \ifx\GPT@print\ltx@empty - \else - , print=\GPT@print, id=\GPT@PrintObj - \fi - , \the\wd\@tempboxa\ltx@space x \the\ht\@tempboxa - >% - }% - }{% - \def\Gin@llx{0}\let\Gin@lly\Gin@llx - \Gin@defaultbp\Gin@urx{\csname#1 width\GPT@AttrShort\endcsname}% - \Gin@defaultbp\Gin@ury{\csname#1 height\GPT@AttrShort\endcsname}% - }% -} -\def\Ginclude@pdftex#1{% - \def\@tempa{!}% - \ifx\Gin@scaley\@tempa - \let\Gin@scaley\Gin@scalex - \else - \ifx\Gin@scalex\@tempa\let\Gin@scalex\Gin@scaley\fi - \fi - \Gin@log{% - % - }% - \GPT@info{% - #1\ifx\GPT@page\ltx@empty\else, page\GPT@page\fi - \ltx@space used\on@line.\MessageBreak - Requested size: % - \the\Gin@req@width\ltx@space x \the\Gin@req@height - }% - \hbox{% - \GPT@ResetColorBegin - \Gscale@box{\Gin@scalex}[\Gin@scaley]{% - \ltx@IfUndefined{Gin@vllx}{% - \GPT@viewportfalse - % without viewport/trim clipping does not make sense - % for pdfTeX - \Gin@clipfalse - }{}% - \ifGin@clip - \if!\Gin@vllx\Gin@vlly\Gin@vurx\Gin@vury!% - \else - \let\GPT@clipend\GPT@DoClipEnd - \setbox\@tempboxa\hbox\bgroup - \fi - \fi - \ifGPT@viewport - \ifdim\Gin@vlly\p@=\z@ - \else - \lower\Gin@vlly bp\hbox\bgroup - \fi - \ifdim\Gin@vllx\p@=\z@ - \else - \hskip-\Gin@vllx bp\relax - \fi - \fi - \csname#1 image\GPT@AttrShort - \ifx\GPT@print\ltx@empty\else!\fi - \endcsname - \ifGPT@viewport - \ifdim\Gin@vlly\p@=\z@ - \else - \egroup - \fi - \GPT@clipend - \fi - }% - \GPT@ResetColorEnd - }% -} -\ltx@newif\ifGPT@viewport -\GPT@viewporttrue -\let\GPT@clipend\relax -\def\GPT@DoClipEnd{% - \egroup - \dp\@tempboxa\z@ - % \Gin@urx and \Gin@ury already contain the correct values, - % so both cases viewport and trim can be handled together: - \dimen@\Gin@urx\p@ - % v0.03k \Gin@vllx replaced by \Gin@llx - \advance\dimen@ -\Gin@llx\p@ - \wd\@tempboxa\strip@pt\dimen@ bp\relax - \dimen@\Gin@ury\p@ - % v0.03k \Gin@vlly replaced by \Gin@lly - \advance\dimen@ -\Gin@lly\p@ - \ht\@tempboxa\strip@pt\dimen@ bp\relax - \let\GPT@temp\ltx@empty - \ifx\GPT@ocobjnum\ltx@empty - \fi - \expandafter\saveboxresource\GPT@temp\@tempboxa - \useboxresource\lastsavedboxresourceindex -} -\ltx@newif\ifGPT@IsBitmap -\def\Gread@pdfbitmap#1{% - \GPT@IsBitmaptrue - \Gread@pdftex{#1}% - \GPT@IsBitmapfalse -} - -\edef\Gread@MBox{/MediaBox} -\def\Gread@pdf{% - \GPT@read\Gread@@pdf -} -\def\Gread@@pdf#1{% - \begingroup - \@tempcnta\z@ - \loop - \ifnum\@tempcnta<\@xxxii - \catcode\@tempcnta14 % - \advance\@tempcnta\@ne - \repeat - \catcode127=14 % - \let\do\@makeother\dospecials\catcode`\ 10 % - \catcode\endlinechar5 % - \immediate\openin\@inputcheck#1 % - \ifeof\@inputcheck - \@latex@error{File `#1' not found}\@ehc - \else - \Gread@true - \let\@tempb\Gread@false - \loop -% v0.02e: use \. not \@tempa so the space is preserved before [ - \read\@inputcheck to\.% - \ifeof\@inputcheck - \Gread@false - \else - \expandafter\Gread@find@mbox\. []\\% - \fi - \ifGread@ - \repeat - \immediate\closein\@inputcheck - \fi - \ifGin@bbox - \else - \@latex@error - {Cannot determine size of graphic in #1 (no BoundingBox)}% - \@ehc - \gdef\@gtempa{0 0 72 72 }% - \fi - \endgroup - \expandafter\Gread@parse@bb\@gtempa\\% -} -\long\def\Gread@find@mbox#1 [#2]#3\\{% hash-ok - \def\@tempa{#1}% - \ifx\@tempa\Gread@MBox - \gdef\@gtempa{#2 }% - \@tempb - \Gin@bboxtrue - \fi -} - -\def\Ginclude@mps#1{% - \def\@tempa{!}% - \ifx\Gin@scaley\@tempa - \let\Gin@scaley\Gin@scalex - \else - \ifx\Gin@scalex\@tempa\let\Gin@scalex\Gin@scaley\fi - \fi - \hbox{% - \GPT@ResetColorBegin - \Gscale@box{\Gin@scalex}[\Gin@scaley]{% - \ltx@IfUndefined{Gin@vllx}{% - \GPT@viewportfalse - % without viewport/trim clipping does not make sense - % for pdfTeX - \Gin@clipfalse - }{}% - \ifGin@clip - \if!\Gin@vllx\Gin@vlly\Gin@vurx\Gin@vury!% - \else - \let\GPT@clipend\GPT@DoClipEnd - \setbox\@tempboxa\hbox\bgroup - \fi - \fi - \ifGPT@viewport - \ifdim\Gin@vlly\p@=\z@ - \else - \lower\Gin@vlly bp\hbox\bgroup - \fi - \ifdim\Gin@vllx\p@=\z@ - \else - \hskip-\Gin@vllx bp\relax - \fi - \fi -%%%%% \GPT@catcodes{mps}% - \convertMPtoPDF{#1}{1}{1}% -%%%%% \GPT@restore@mps - \ifGPT@viewport - \ifdim\Gin@vlly\p@=\z@ - \else - \egroup - \fi - \GPT@clipend - \fi - }% - \GPT@ResetColorEnd - }% -} -\def\Gread@mps{% - \GPT@read\Gread@eps -} - \let\Ginclude@png\Ginclude@pdftex - \let\Ginclude@jpg\Ginclude@pdftex - \let\Ginclude@pdf\Ginclude@pdftex - \let\Gread@pdf\Gread@pdftex - \let\Gread@png\Gread@pdfbitmap - \let\Gread@jpg\Gread@pdfbitmap - \expandafter\let\csname Gread@jbig2\endcsname\Gread@pdfbitmap - \expandafter\let\csname Ginclude@jbig2\endcsname\Ginclude@pdftex - - \@namedef{Gin@rule@.jpg}#1{{jpg}{.jpg}{#1}}% - \@namedef{Gin@rule@.jpeg}#1{{jpg}{.jpeg}{#1}}% - \@namedef{Gin@rule@.JPG}#1{{jpg}{.JPG}{#1}}% - \@namedef{Gin@rule@.JPEG}#1{{jpg}{.JPEG}{#1}}% - \def\Gin@extensions{% - .png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,% - .PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2,% - .eps% - }% - \@namedef{Gin@rule@.jb2}#1{{jbig2}{.jb2}{#1}}% - \@namedef{Gin@rule@.jbig2}#1{{jbig2}{.jbig2}{#1}}% - -\@namedef{Gin@rule@.png}#1{{png}{.png}{#1}} -\@namedef{Gin@rule@.PNG}#1{{png}{.PNG}{#1}} -\@namedef{Gin@rule@.mps}#1{{mps}{.mps}{#1}} -\@namedef{Gin@rule@.pdf}#1{{pdf}{.pdf}{#1}} -\@namedef{Gin@rule@.PDF}#1{{pdf}{.PDF}{#1}} -\@namedef{Gin@rule@.eps}#1{{eps}{.eps}{#1}} - - -% Rotation -% slightly hacky, but set width of box 0 to 0pt otherwise -% the CTM gets restored in the wrong place. - -\def\GPT@MatrixIdentity{1 0 0 1} -\def\GPT@Zero{0} -\def\GPT@Minus{-} -\def\GPT@NormalizeNumber#1{% - \edef#1{#1}% - \edef#1{\expandafter\ltx@zapspace\expandafter{#1}}% - \edef#1{\expandafter\GPT@ZapPlus#1+\@nil}% - \edef#1{\expandafter\GPT@ZapMinusMinus#1--\@nil}% - \expandafter\GPT@Split#1..\@nil - \ifx\GPT@frac\ltx@empty - \else - \edef\GPT@frac{% - \expandafter\GPT@Reverse\expandafter{\expandafter}\GPT@frac\@nil - }% - \edef\GPT@frac{% - \expandafter\GPT@ZapLeadingZeros\GPT@frac\ltx@empty - }% - \ifx\GPT@frac\ltx@empty - \else - \edef\GPT@frac{% - \expandafter\GPT@Reverse\expandafter{\expandafter}\GPT@frac\@nil - }% - \fi - \fi - \edef\GPT@sign{\expandafter\ltx@car\GPT@int\ltx@empty\@nil}% - \ifx\GPT@sign\GPT@Minus - \edef\GPT@int{\expandafter\ltx@cdr\GPT@int\@nil}% - \else - \def\GPT@sign{}% - \fi - \edef\GPT@int{% - \expandafter\GPT@ZapLeadingZeros\GPT@int\ltx@empty - }% - \edef\GPT@temp{\GPT@int\GPT@frac}% - \ifx\GPT@temp\ltx@empty - \def#1{0}% - \else - \edef#1{% - \GPT@sign - \GPT@int - \ifx\GPT@frac\ltx@empty - \else - .\GPT@frac - \fi - }% - \fi -} -\def\GPT@ZapPlus#1+#2\@nil{% - #1% - \ifx\ltx@empty#2\ltx@empty - \expandafter\ltx@gobble - \else - \expandafter\@firstofone - \fi - {% - \GPT@ZapPlus#2\@nil - }% -} -\def\GPT@ZapMinusMinus#1--#2\@nil{% - #1% - \ifx\ltx@empty#2\ltx@empty - \expandafter\ltx@gobble - \else - \expandafter\@firstofone - \fi - {% - \GPT@ZapMinusMinus#2\@nil - }% -} -\def\GPT@Split#1.#2.#3\@nil{% - \def\GPT@int{#1}% - \ifx\ltx@empty#2\ltx@empty - \let\GPT@frac\ltx@empty - \else - \def\GPT@frac{#2}% - \fi -} -\def\GPT@Reverse#1#2#3\@nil{% - \ifx\ltx@empty#3\ltx@empty - #2#1% - \expandafter\ltx@gobble - \else - \expandafter\ltx@firstofone - \fi - {% - \GPT@Reverse{#2#1}#3\@nil - }% -} -\def\GPT@ZapLeadingZeros#1{% - \ifx0#1% - \expandafter\GPT@ZapLeadingZeros - \else - #1% - \fi -} - \def\Grot@start{% - \GPT@NormalizeNumber\Grot@sin - \GPT@NormalizeNumber\Grot@cos - \edef\GPT@temp{% - \Grot@cos\ltx@space\Grot@sin\ltx@space - \if-\Grot@sin - \else - \ifx\Grot@sin\GPT@Zero - \GPT@Zero - \else - -\Grot@sin - \fi - \fi - \ltx@space\Grot@cos - }% - \ifx\GPT@temp\GPT@MatrixIdentity - \def\Grot@end{}% - \else - \pdfextension save\relax - \pdfextension setmatrix{\GPT@temp}% - \wd\z@\z@ - \fi - }% - \def\Grot@end{\pdfextension restore\relax}% - \def\Gscale@start{% - \GPT@NormalizeNumber\Gscale@x - \GPT@NormalizeNumber\Gscale@y - \edef\GPT@temp{% - \Gscale@x\ltx@space0 0 \Gscale@y - }% - \ifx\GPT@temp\GPT@MatrixIdentity - \def\Gscale@end{}% - \else - \pdfextension save\relax - \pdfextension setmatrix{\GPT@temp}% - \fi - }% - -\let\Gscale@end\Grot@end - -% Trig patching no longer needed (trig.sty updated) - - -% MPS conversion -\def\GPT@LoadSuppPdf{% - \ltx@IfUndefined{convertMPtoPDF}{% -%%%%% \GPT@catcodes{supp}% - \InputIfFileExists{supp-pdf.mkii}{}{% - \InputIfFileExists{supp-pdf}{}{}% - }% -%%%%%% \GPT@restore@supp - }{% - % supp-pdf is probably already loaded. - }% - % If supp-pdf is not available, \convertMPtoPDF generates - % an error message. \providecommand inside the third argument - % of \InputIfFileExists will not work: - % * \InputIfFileExists has problems with parameters (#1). - % * Implementation of \providecommand is insufficient in miniltx.tex - \ltx@ifundefined{convertMPtoPDF}{% -% 2016/05/21 v0.01c use \newcommand here not \newcommand* graphics/4472 -\newcommand{\convertMPtoPDF}[3]{% - \GPT@error{% - Cannot convert ##1 from MPS to PDF.\MessageBreak - The support file `supp-pdf.mkii' (supp-pdf.tex) is missing% - }{% - The graphics driver for pdfTeX needs `supp-pdf.mkii'\MessageBreak - (or `supp-pdf.tex' and/or `supp-mis.tex')\MessageBreak - to convert MetaPost output files to PDF.\MessageBreak - These files are part of ConTeXt and can also be found here:% - \MessageBreak - \ltx@space\ltx@space CTAN:macros/pdftex/graphics/\MessageBreak - You'll get more errors if you'll continue now.% - }% - }% - }{}% - \let\GPT@LoadSuppPdf\relax -} -\AtBeginDocument{% - \GPT@LoadSuppPdf -} - -% Adds support for extended MetaPost features (transparency) -% \GPT@catcodes removed -% should replace with luatex catcodetable support, TODO -\def\LoadMetaPostSpecialExtensions{% - \AtBeginDocument{% - \ltx@IfUndefined{assignMPStransparency}{% -%%%% \GPT@catcodes{mpe}% - \let\GPT@found=N% - \IfFileExists{supp-pdf.mkii}{\let\GPT@found=Y}{% - \IfFileExists{supp-pdf}{\let\GPT@found=Y}{}% - }% - \ifx Y\GPT@found - \InputIfFileExists{supp-mis.mkii}{}{% - \InputIfFileExists{supp-mis}{}{\let\GPT@found=N}% - }% - \ifx Y\GPT@found - \InputIfFileExists{supp-mpe.mkii}{}{% - \InputIfFileExists{supp-mpe}{}{\let\GPT@found=N}% - }% - \ifx Y\GPT@found - \MPcmykcolorstrue - \MPspotcolorstrue - \chardef\makeMPintoPDFobject=1 % - \else - \GPT@warn{% - Cannot enable MetaPost Special Extensions,\MessageBreak - because `supp-mpe.mkii' (or `supp-mpe.tex')\MessageBreak - is missing% - }% - \fi - \else - \GPT@warn{% - Cannot enable MetaPost Special Extensions,\MessageBreak - because `supp-mis.mkii' (or `supp-mis.tex')\MessageBreak - is missing% - }% - \fi - \else - \GPT@warn{% - Cannot enable support for MetaPost images,\MessageBreak - because `supp-pdf.mkii' (or `supp-pdf.tex')\MessageBreak - is missing% - }% - \fi -%%% \GPT@restore@mpe - }{}% - }% - \let\LoadMetaPostSpecialExtensions\relax -} -\ltx@IfUndefined{@onlypreamble}{% -}{% - \@onlypreamble\LoadMetaPostSpecialExtensions -} - - -\ifx\DoNotLoadEpstopdf\@undefined -% EPS to PDF conversion -% delay to begin document to check graphics is loaded (shared -% config with color) if \DoNotLoadEpstopdf is defined (to anything) -% skip this. - \AtBeginDocument{% - \ifx\includegraphics\@undefined\else - \RequirePackage{epstopdf-base}% - \fi - } -\fi \ No newline at end of file -- cgit v1.2.3