summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/graphicxpsd
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-01-07 03:03:02 +0000
committerNorbert Preining <norbert@preining.info>2021-01-07 03:03:02 +0000
commit1dad166b3cb710b4aa32b8c21b91dbca02b2e408 (patch)
tree42319d2798d99252db2f4341dc6da986d22c5d53 /macros/latex/contrib/graphicxpsd
parent0d181c27aefe5974e97590a4619967a462a5bfe0 (diff)
CTAN sync 202101070303
Diffstat (limited to 'macros/latex/contrib/graphicxpsd')
-rw-r--r--macros/latex/contrib/graphicxpsd/LICENSE4
-rw-r--r--macros/latex/contrib/graphicxpsd/graphicxpsd.pdfbin168655 -> 169330 bytes
-rw-r--r--macros/latex/contrib/graphicxpsd/graphicxpsd.sty42
-rw-r--r--macros/latex/contrib/graphicxpsd/graphicxpsd.tex66
-rw-r--r--macros/latex/contrib/graphicxpsd/test-gin-rule-psd.tex15
5 files changed, 82 insertions, 45 deletions
diff --git a/macros/latex/contrib/graphicxpsd/LICENSE b/macros/latex/contrib/graphicxpsd/LICENSE
index 72d2a71e6f..bfd35c5131 100644
--- a/macros/latex/contrib/graphicxpsd/LICENSE
+++ b/macros/latex/contrib/graphicxpsd/LICENSE
@@ -1,4 +1,6 @@
-Copyright (c) 2017, 2018 Munehiro Yamamoto
+This package is licensed under the terms of the MIT License.
+
+Copyright (c) 2017, 2018 Munehiro Yamamoto <munepixyz@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/macros/latex/contrib/graphicxpsd/graphicxpsd.pdf b/macros/latex/contrib/graphicxpsd/graphicxpsd.pdf
index de0ecdc579..4352093141 100644
--- a/macros/latex/contrib/graphicxpsd/graphicxpsd.pdf
+++ b/macros/latex/contrib/graphicxpsd/graphicxpsd.pdf
Binary files differ
diff --git a/macros/latex/contrib/graphicxpsd/graphicxpsd.sty b/macros/latex/contrib/graphicxpsd/graphicxpsd.sty
index 3f170d9c2f..ef6f1517b7 100644
--- a/macros/latex/contrib/graphicxpsd/graphicxpsd.sty
+++ b/macros/latex/contrib/graphicxpsd/graphicxpsd.sty
@@ -2,20 +2,21 @@
% #!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
+% #!lualatex -shell-escape test-gin-rule-psd
%%
%% This is file 'graphicxpsd.sty'.
%%
-%% Copyright (c) 2017, 2018 Munehiro Yamamoto
-%%
+%% Copyright (c) 2017-2021 Munehiro Yamamoto
+%%
%% * e-mail: munepixyz@gmail.com, munepi@greencherry.jp
%% * GitHub: https://github.com/munepi
%% * Twitter: @munepixyz
-%%
+%%
%% This package is licensed under the terms of the MIT License.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{graphicxpsd}
- [2018/01/30 v1.1 Adobe Photoshop Data format (PSD) support for graphicx package
+ [2021/01/07 v1.2 Adobe Photoshop Data format (PSD) support for graphicx package
with sips (Darwin/macOS)/magick (ImageMagick) command]
%% declare package errors
@@ -32,8 +33,9 @@
\DeclareOption{luatex}{\@gfxpsd@dvipdfmxfalse\@gfxpsd@pdftextrue}
\DeclareOption{pdftex}{\@gfxpsd@dvipdfmxfalse\@gfxpsd@pdftextrue}
-%% support two psd-to-pdf commands:
-%% sips (Darwin/macOS), magick/convert (ImageMagick)
+%% support two psd-to-pdf commands:
+%% sips (Darwin/macOS), magick/convert (ImageMagick),
+%% graphicsmagick (GraphicsMagick)
\newif\if@gfxpsd@imagemagick \@gfxpsd@imagemagickfalse
\def\@gfxpsd@psdtopdf{sips}%% as default
\DeclareOption{sips}{%
@@ -44,6 +46,15 @@
\@gfxpsd@imagemagicktrue\gdef\@gfxpsd@psdtopdf{magick}}
\DeclareOption{convert}{%
\@gfxpsd@imagemagicktrue\gdef\@gfxpsd@psdtopdf{convert}}
+\DeclareOption{graphicsmagick}{%
+ \@gfxpsd@imagemagicktrue\gdef\@gfxpsd@psdtopdf{gm\GPT@space convert}}
+
+%% image cache flag
+\newif\if@gfxpsd@imagecache \@gfxpsd@imagecachefalse
+\DeclareOption{cache=true}{\@gfxpsd@imagecachetrue}
+\DeclareOption{cache=True}{\@gfxpsd@imagecachetrue}
+\DeclareOption{cache=false}{\@gfxpsd@imagecachefalse}
+\DeclareOption{cache=False}{\@gfxpsd@imagecachefalse}
\ProcessOptions\relax
@@ -79,11 +90,13 @@
%% read .psd file
\let\clone@Gread@pdf\Gread@pdf
\def\Gread@psdtopdf#1{%
- \typeout{converting: \Gin@base\Gin@ext\GPT@space -> \Gin@base4gfxpsd.pdf}%
- \if@gfxpsd@imagemagick
- \ShellEscape{\@gfxpsd@psdtopdf\GPT@space\Gin@base\Gin@ext\GPT@space\Gin@base4gfxpsd.pdf}%
+ \if@gfxpsd@imagecache
+ \IfFileExists{\Gin@base4gfxpsd.pdf}{%
+ \typeout{including cached image: \Gin@base4gfxpsd.pdf}%
+ }{\typeout{not found: \Gin@base4gfxpsd.pdf}%
+ \@gfxpsd@convert@psd@to@pdf}%
\else
- \ShellEscape{sips -s format pdf \Gin@base\Gin@ext\GPT@space --out \Gin@base4gfxpsd.pdf}%
+ \@gfxpsd@convert@psd@to@pdf
\fi
%% renamed inside: foo.psd -> foo4gfxpsd.pdf
\let\clone@Gin@base\Gin@base
@@ -93,6 +106,15 @@
% \typeout{!!! \Gin@base\Gin@ext}%%=> tigerpsdfmt4gfxpsd.pdf
\clone@Gread@pdf{#1}}
+\def\@gfxpsd@convert@psd@to@pdf{%
+ \typeout{converting: \Gin@base\Gin@ext\GPT@space -> \Gin@base4gfxpsd.pdf}%
+ \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}%
+ \fi
+}
+
\endinput
%%
%% End of file `graphicxpsd.sty'.
diff --git a/macros/latex/contrib/graphicxpsd/graphicxpsd.tex b/macros/latex/contrib/graphicxpsd/graphicxpsd.tex
index 2c0631b7ed..fed24f3af9 100644
--- a/macros/latex/contrib/graphicxpsd/graphicxpsd.tex
+++ b/macros/latex/contrib/graphicxpsd/graphicxpsd.tex
@@ -6,32 +6,32 @@
\usepackage{graphicxpsd}
\title{\textsf{graphicxpsd} Package}
\author{Munehiro Yamamoto}
-\date{2018/01/30 v1.1}
+\date{2021/01/07 v1.2}
\begin{document}
\maketitle
\begin{abstract}
-This package provides Adobe Photoshop Data format (PSD) support
+This package provides Adobe Photoshop Data format (PSD) support
for \textsf{graphicx} package
with \texttt{sips} (Darwin/macOS)/\texttt{magick} (ImageMagick) command.
\end{abstract}
\section{Motivation}
-\textsf{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
\item PDF-style formats: pdf, ai
\end{itemize}
-However, it currently does not support Adobe Photoshop Data format (PSD).
+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
+Against that, we developed the \textsf{graphicxpsd} package
+to support PSD format via PSD-to-PDF conversion
with two image converters.
\begin{itemize}
-\item \texttt{sips}:
+\item \texttt{sips}:
pre-installed command in Darwin/macOS
-\item \texttt{magick}:
+\item \texttt{magick}:
bundled command in \href{https://www.imagemagick.org/}{ImageMagick}
\end{itemize}
@@ -48,34 +48,42 @@ 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), |magick| (same as |imagemagick|), |convert|\footnotemark:
-supported image converters;
+\item |sips| (default),
+|magick| (same as |imagemagick|), |convert|\footnotemark: % ,
+% |graphicsmagick|:
+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
+\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|.
+% \item
+% If you use GraphicsMagick, you may choose |graphicsmagick|.
\end{itemize}
+
+\item |cache=true|: supports to include cached images for all PSD files.
+If there does not exist the cached image for a PSD file,
+\textsf{graphicxpsd} attempts PSD-to-PDF conversion of the PSD file.
\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
+\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 Lua{\TeX} enabling the shell escape,
+Typeset the following {\LaTeX} document with Lua{\TeX} enabling the shell escape,
that is, run |lualatex -shell-escape|.
\begin{quote}
\small
@@ -93,13 +101,13 @@ 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''),
+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
+$ file tigerpsdfmt.psd
tigerpsdfmt.psd: Adobe Photoshop Image, 550 x 568, RGBA, 4x 8-bit channels
\end{verbatim}
\end{quote}
diff --git a/macros/latex/contrib/graphicxpsd/test-gin-rule-psd.tex b/macros/latex/contrib/graphicxpsd/test-gin-rule-psd.tex
index 6c45eb617f..24f0965df4 100644
--- a/macros/latex/contrib/graphicxpsd/test-gin-rule-psd.tex
+++ b/macros/latex/contrib/graphicxpsd/test-gin-rule-psd.tex
@@ -5,21 +5,26 @@
\documentclass[luatex]{article}%%set driver as global option
\usepackage{graphicx}
\usepackage[%
- magick,%imagemagick,%%same as the one; %%default: sips
+ magick,%imagemagick,graphicsmagick,%%same as the one; %%default: sips
% convert,%% old ImageMagick
+ cache=true,%%default: false
]{graphicxpsd}
\listfiles
\begin{document}
+\begin{itemize}
\makeatletter
-PSD-to-PDF: \@gfxpsd@psdtopdf
+\item PSD-to-PDF: \@gfxpsd@psdtopdf
+
+\item image cache: \if@gfxpsd@imagecache true\else false\fi
\makeatother
+\end{itemize}
%% $ file tigerpsdfmt.psd
%% tigerpsdfmt.psd: Adobe Photoshop Image, 550 x 568, RGBA, 4x 8-bit channels
\includegraphics{tigerpsdfmt.psd}
\end{document}
-$ pdfinfo tigerpsdfmt4gfxpsd.pdf
+$ pdfinfo tigerpsdfmt4gfxpsd.pdf
Title: tigerpsdfmt4gfxpsd
Producer: /opt/homebrew/Cellar/imagemagick/7.0.7-15/share/doc/ImageMagick-7//index.html
CreationDate: Sat Jan 27 00:10:51 2018 JST
@@ -37,7 +42,7 @@ File size: 1052740 bytes
Optimized: no
PDF version: 1.4
-$ pdfinfo tigerpsdfmt4gfxpsd.pdf
+$ pdfinfo tigerpsdfmt4gfxpsd.pdf
Producer: Mac OS X 10.13.4 Quartz PDFContext
CreationDate: Fri Jan 26 15:12:13 2018 JST
ModDate: Fri Jan 26 15:12:13 2018 JST
@@ -52,4 +57,4 @@ Page size: 99 x 102.24 pts
Page rot: 0
File size: 112882 bytes
Optimized: no
-PDF version: 1.3 \ No newline at end of file
+PDF version: 1.3