%#!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{2026/03/01 v2.0}
\begin{document}
\maketitle
\begin{abstract}
This package provides Adobe Photoshop Data format (PSD) support
for the \textsf{graphicx} package
using the \texttt{sips} (Darwin/macOS) or \texttt{magick} (ImageMagick) commands.
\end{abstract}

\section{Motivation}
The \textsf{graphicx} package already supports many graphics image formats as below.
\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 the Adobe Photoshop Data format (PSD).
To address this, we developed the \textsf{graphicxpsd} package
to support the PSD format via PSD-to-PDF conversion
using two image converters.
\begin{itemize}
\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 the \textsf{graphicxpsd} Package}

Load the \textsf{graphicxpsd} package after loading the \textsf{graphicx} package.
\begin{quote}
\begin{verbatim}
\usepackage{graphicx}
\usepackage[<options>]{graphicxpsd}
\end{verbatim}
\end{quote}

The list of available options is as follows:
\begin{itemize}
\item |dvipdfmx|, |xetex|, |pdftex|, |luatex|:
supported driver options;
You can also specify a driver as a global document class option.

\item |sips| (default),
|magick|
(same as |imagemagick|), |convert|\footnotemark: % ,
% |graphicsmagick|:
supported image converters;
\begin{itemize}
\item
Darwin/macOS users do not need to do anything
unless choosing ImageMagick as the PSD-to-PDF converter.
\item
If you use ImageMagick~7, choose |magick|.
\item
If you use ImageMagick~6 or an older version, choose |convert|.
% \item
% If you use GraphicsMagick, you may choose |graphicsmagick|.
\end{itemize}

\item |cache=true|: enables image caching for all PSD files.
If a cached image does not exist for a PSD file,
\textsf{graphicxpsd} attempts PSD-to-PDF conversion for that file.
\end{itemize}
\footnotetext{When the ImageMagick project released ImageMagick~7,
they changed the default command to \texttt{magick}
to avoid naming conflicts with the Windows \texttt{convert.exe} utility.}

\section{Example}

Typeset the following {\LaTeX} document with Lua{\TeX} by enabling shell escape
(i.e., run |lualatex -shell-escape|).
\begin{quote}
\small
\begin{verbatim}
%#!lualatex -shell-escape
\documentclass[luatex]{article}%%set luatex driver as global option
\usepackage{graphicx}
\usepackage{graphicxpsd}
\begin{document}
\includegraphics{tigerpsdfmt.psd}
\end{document}
\end{verbatim}
\end{quote}
The result is shown below.
\begin{center}
\includegraphics{tigerpsdfmt.psd}
\end{center}
Incidentally, the \texttt{tigerpsdfmt.psd} file above 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}
