Pasar argumentos opcionales en un comando redefinido

Pasar argumentos opcionales en un comando redefinido

Estoy diseñando algo en el que reunir todas mis imágenes reales requiere mucho más tiempo que la parte de escritura, por lo que estoy usando un comando contenedor \includegraphicspara reemplazar la imagen con un cuadrado de prueba a menos que exista el archivo especificado, para poder verificar el otro formateo a medida que avanzo.

\newcommand{\includegraphicsmaybe}[1]{\IfFileExists{../Images/#1}{\includegraphics[width=\linewidth,valign=t]{#1}}{\includegraphics[width=\linewidth,valign=t]{test.jpg}}}

Sin embargo, no sé cómo pasar más argumentos de formato al \includegraphicscomando real, como rotar este (a diferencia de todos), o cualquiera que sea el caso. ¿Cómo puedo hacer esto?

Respuesta1

Curiosamente, el orden en el que se procesan las palabras clave parece importar, y width=\linewidthantes rotateno es una buena idea. OTOH, puedes participar widthdos veces y el segundo gana.

\documentclass{scrartcl}
\usepackage[export]{adjustbox}
\usepackage{graphics}
\usepackage{duckuments}

\newcommand{\includegraphicsmaybe}[2][]{% #1 = optional keys, #2 = filename
  \IfFileExists{#2}%
    {\includegraphics[width=\linewidth,#1,valign=t]{#2}}%
    {\includegraphics[width=\linewidth,#1,valign=t]{example-image-duck}}}

\setlength{\parindent}{0pt}

\begin{document}
\includegraphicsmaybe[width=0.5\linewidth]{example-image}\hfill
\includegraphicsmaybe[rotate=90, width=0.5\linewidth]{example-image}

\includegraphicsmaybe{test.jpg}
\end{document}

información relacionada