From 999a277e66606bd3a0ec8b526f96bd899f960699 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 30 Jan 2018 00:03:23 +0000 Subject: graphicxpsd (29jan18) git-svn-id: svn://tug.org/texlive/trunk@46477 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/graphicxpsd/README.md | 13 +++-- .../doc/latex/graphicxpsd/graphicxpsd.pdf | Bin 153318 -> 168655 bytes .../doc/latex/graphicxpsd/graphicxpsd.tex | 58 ++++++++++++++++----- .../doc/latex/graphicxpsd/test-gin-rule-psd.tex | 9 +++- .../tex/latex/graphicxpsd/graphicxpsd.sty | 31 +++++++---- 5 files changed, 82 insertions(+), 29 deletions(-) diff --git a/Master/texmf-dist/doc/latex/graphicxpsd/README.md b/Master/texmf-dist/doc/latex/graphicxpsd/README.md index e20f4df7158..26b3e45104d 100644 --- a/Master/texmf-dist/doc/latex/graphicxpsd/README.md +++ b/Master/texmf-dist/doc/latex/graphicxpsd/README.md @@ -1,21 +1,24 @@ -`graphicxpsd` Package -========== -Adobe Photoshop Data format (PSD) support for graphicx package +# graphicxpsd Package + +LaTeX: Adobe Photoshop Data format (PSD) support for graphicx package via PSD-to-PDF conversion This package provides Adobe Photoshop Data format (PSD) support for graphicx package -with sips (Darwin/macOS)/convert (ImageMagick) command. +with `sips` (Darwin/macOS)/`magick` (ImageMagick) command. * Major drivers support: `dvipdfmx`, `xetex`, `pdftex`, `luatex` + ## Requirements * recent [TeX Live](https://www.tug.org/texlive/) environment (TeX Live 2012 or higher release version) * Mac OS X or [ImageMagick](https://www.imagemagick.org/) + ## Installation -Copy: `graphicxpsd.sty` -> `$TEXMF/tex/platex/graphicxpsd/` +Copy: `graphicxpsd.sty` -> `$TEXMF/tex/latex/graphicxpsd/` + ## License diff --git a/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.pdf b/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.pdf index 47d371390ca..de0ecdc579d 100644 Binary files a/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.pdf and b/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.pdf differ diff --git a/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.tex b/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.tex index 96d6411efbd..2c0631b7ed6 100644 --- a/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.tex +++ b/Master/texmf-dist/doc/latex/graphicxpsd/graphicxpsd.tex @@ -1,21 +1,22 @@ %#!rm -f tigerpsdfmt4* && lualatex -shell-escape graphicxpsd \documentclass[luatex]{article} \usepackage{shortvrb}\MakeShortVerb{\|} +\usepackage{hyperref} \usepackage{graphicx} \usepackage{graphicxpsd} \title{\textsf{graphicxpsd} Package} \author{Munehiro Yamamoto} -\date{2018/01/26 v1.0} +\date{2018/01/30 v1.1} \begin{document} \maketitle \begin{abstract} This package provides Adobe Photoshop Data format (PSD) support for \textsf{graphicx} package -with \texttt{sips} (Darwin/macOS)/\texttt{convert} (ImageMagick) command. +with \texttt{sips} (Darwin/macOS)/\texttt{magick} (ImageMagick) command. \end{abstract} \section{Motivation} -\texttt{graphicx} package supports already many graphics image formats as bellow. +\textsf{graphicx} package supports already many graphics image formats as bellow. \begin{itemize} \item non-vector formats: jpg, png, bmp, and so on \item PostScript-style formats: eps, ps @@ -25,10 +26,13 @@ However, it currently does not support Adobe Photoshop Data format (PSD). Against that, we developed the \textsf{graphicxpsd} package to support PSD format via PSD-to-PDF conversion -with the following image converters. +with two image converters. \begin{itemize} -\item \texttt{sips}: pre-installed command in Darwin/macOS -\item \texttt{convert}: bundled command in ImageMagick +\item \texttt{sips}: +pre-installed command in Darwin/macOS + +\item \texttt{magick}: +bundled command in \href{https://www.imagemagick.org/}{ImageMagick} \end{itemize} \section{Loading \textsf{graphicxpsd} Package} @@ -44,17 +48,37 @@ Load \textsf{graphicxpsd} package after loading \textsf{graphicx} package. The list of available options is the following. \begin{itemize} -\item |dvipdfmx|, |xetex|, |pdftex|, |luatex|: supported driver options; +\item |dvipdfmx|, |xetex|, |pdftex|, |luatex|: +supported driver options; You can also give specific driver option from global option. -\item |sips| (default), |imagemagick|: supported converter +\item |sips| (default), |magick| (same as |imagemagick|), |convert|\footnotemark: +supported image converters; +\begin{itemize} +\item +Darwin/macOS users do not have to do anything +unless you choose ImageMagick as PSD-to-PDF converter. +\item +If you use ImageMagick~7, you may choose |magick|. +\item +If you should use ImageMagick~6 or lower version, you just choose |convert|. +\end{itemize} \end{itemize} +\footnotetext{When ImageMagick project had released ImageMagick~7, +they changed \texttt{convert} to \texttt{magick} +because that might be the usual problem with the conflict of names +between the ImageMagick's \texttt{convert.exe} and +the Windows ``\texttt{convert.exe}'' program, +which complains about invalid parameters, and +changing the Imagemagick program's name to imconvert and +using that instead avoided the conflict.} \section{Example} -Typeset the following {\LaTeX} document with LuaTeX. - +Typeset the following {\LaTeX} document with Lua{\TeX} enabling the shell escape, +that is, run |lualatex -shell-escape|. \begin{quote} +\small \begin{verbatim} %#!lualatex -shell-escape \documentclass[luatex]{article}%%set luatex driver as global option @@ -65,9 +89,19 @@ Typeset the following {\LaTeX} document with LuaTeX. \end{document} \end{verbatim} \end{quote} - Then, the result is as below. - +\begin{center} \includegraphics{tigerpsdfmt.psd} +\end{center} +Incidentally, the above \texttt{tigerpsdfmt.psd} file is converted from +the \texttt{tiger.eps} file (a.k.a.~``cubic spline tiger''), +which comes with Ghostscript. +\begin{quote} +\small +\begin{verbatim} +$ file tigerpsdfmt.psd +tigerpsdfmt.psd: Adobe Photoshop Image, 550 x 568, RGBA, 4x 8-bit channels +\end{verbatim} +\end{quote} \end{document} diff --git a/Master/texmf-dist/doc/latex/graphicxpsd/test-gin-rule-psd.tex b/Master/texmf-dist/doc/latex/graphicxpsd/test-gin-rule-psd.tex index 39f4e658bf0..6c45eb617f4 100644 --- a/Master/texmf-dist/doc/latex/graphicxpsd/test-gin-rule-psd.tex +++ b/Master/texmf-dist/doc/latex/graphicxpsd/test-gin-rule-psd.tex @@ -2,13 +2,18 @@ % #!rm -f tigerpsdfmt4* && xelatex -shell-escape test-gin-rule-psd % #!rm -f tigerpsdfmt4* && pdflatex -shell-escape test-gin-rule-psd %#!rm -f tigerpsdfmt4* && lualatex -shell-escape test-gin-rule-psd -\documentclass[luatex]{article}%%set as a global option +\documentclass[luatex]{article}%%set driver as global option \usepackage{graphicx} \usepackage[% - imagemagick,%default: sips + magick,%imagemagick,%%same as the one; %%default: sips + % convert,%% old ImageMagick ]{graphicxpsd} \listfiles \begin{document} +\makeatletter +PSD-to-PDF: \@gfxpsd@psdtopdf +\makeatother + %% $ file tigerpsdfmt.psd %% tigerpsdfmt.psd: Adobe Photoshop Image, 550 x 568, RGBA, 4x 8-bit channels \includegraphics{tigerpsdfmt.psd} diff --git a/Master/texmf-dist/tex/latex/graphicxpsd/graphicxpsd.sty b/Master/texmf-dist/tex/latex/graphicxpsd/graphicxpsd.sty index b4d4b9dcab6..3f170d9c2ff 100644 --- a/Master/texmf-dist/tex/latex/graphicxpsd/graphicxpsd.sty +++ b/Master/texmf-dist/tex/latex/graphicxpsd/graphicxpsd.sty @@ -13,9 +13,10 @@ %% %% This package is licensed under the terms of the MIT License. %% +\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{graphicxpsd} - [2018/01/26 v1.0 Adobe Photoshop Data format (PSD) support for graphicx package - with sips (Darwin/macOS)/convert (ImageMagick) command] + [2018/01/30 v1.1 Adobe Photoshop Data format (PSD) support for graphicx package + with sips (Darwin/macOS)/magick (ImageMagick) command] %% declare package errors \def\gfxpsd@error{\PackageError{graphicxpsd}} @@ -31,10 +32,18 @@ \DeclareOption{luatex}{\@gfxpsd@dvipdfmxfalse\@gfxpsd@pdftextrue} \DeclareOption{pdftex}{\@gfxpsd@dvipdfmxfalse\@gfxpsd@pdftextrue} -%% support two psd-to-pdf command: sips (Darwin/macOS), convert (ImageMagick) +%% support two psd-to-pdf commands: +%% sips (Darwin/macOS), magick/convert (ImageMagick) +\newif\if@gfxpsd@imagemagick \@gfxpsd@imagemagickfalse \def\@gfxpsd@psdtopdf{sips}%% as default -\DeclareOption{imagemagick}{\gdef\@gfxpsd@psdtopdf{convert}} -\DeclareOption{sips}{\gdef\@gfxpsd@psdtopdf{sips}} +\DeclareOption{sips}{% + \@gfxpsd@imagemagickfalse\gdef\@gfxpsd@psdtopdf{sips}} +\DeclareOption{imagemagick}{% + \@gfxpsd@imagemagicktrue\gdef\@gfxpsd@psdtopdf{magick}} +\DeclareOption{magick}{% + \@gfxpsd@imagemagicktrue\gdef\@gfxpsd@psdtopdf{magick}} +\DeclareOption{convert}{% + \@gfxpsd@imagemagicktrue\gdef\@gfxpsd@psdtopdf{convert}} \ProcessOptions\relax @@ -46,12 +55,14 @@ \@namedef{Gin@rule@.PSD}#1{{psdtopdf}{.pdf}{#1}} \@namedef{Gin@rule@.psd}#1{{psdtopdf}{.pdf}{#1}} \else - \grnchry@error{Please choice specific dviware driver from the following list + \gfxpsd@error{Please choice specific dviware driver from the following list and set the one as a documentclass option.^^J available dviware drivers: dvipdfmx, xetex, luatex, pdftex}% \fi\fi %% then, include .psd file as converted PDF +\@ifundefined{Ginclude@pdf}{\gfxpsd@error{% + Please load 'graphicxpsd' package after loading 'graphicx' package.}}\relax \let\Ginclude@psdtopdf\Ginclude@pdf %% compatibility for TL16 or lower version @@ -69,11 +80,11 @@ \let\clone@Gread@pdf\Gread@pdf \def\Gread@psdtopdf#1{% \typeout{converting: \Gin@base\Gin@ext\GPT@space -> \Gin@base4gfxpsd.pdf}% - \def\gfxpsd@tmp{sips}\ifx\@gfxpsd@psdtopdf\gfxpsd@tmp + \if@gfxpsd@imagemagick + \ShellEscape{\@gfxpsd@psdtopdf\GPT@space\Gin@base\Gin@ext\GPT@space\Gin@base4gfxpsd.pdf}% + \else \ShellEscape{sips -s format pdf \Gin@base\Gin@ext\GPT@space --out \Gin@base4gfxpsd.pdf}% - \else\def\gfxpsd@tmp{convert}\ifx\@gfxpsd@psdtopdf\gfxpsd@tmp - \ShellEscape{convert \Gin@base\Gin@ext\GPT@space\Gin@base4gfxpsd.pdf}% - \fi\fi + \fi %% renamed inside: foo.psd -> foo4gfxpsd.pdf \let\clone@Gin@base\Gin@base \def\Gin@base{\clone@Gin@base4gfxpsd}% -- cgit v1.2.3