Un método conveniente para adaptar perfectamente una imagen a una imagen Ps

Un método conveniente para adaptar perfectamente una imagen a una imagen Ps

Considere el código:

\documentclass[a5paper,12pt,onecolumn,openany,final]{book}
\usepackage[hmargin=0.7in,vmargin=0.75in]{geometry}
\usepackage{pstricks}
\usepackage{graphicx}
    
\begin{document}
\thispagestyle{empty}
\begin{pspicture}(-5,-5)(5,12)%
\psframe[linecolor=black,linewidth=4pt](-5,-5)(5,12)% 
\rput(0,3.5){\includegraphics[width=.86\linewidth,height=1.49\linewidth]{example-image-a}}
\end{pspicture}
\end{document}

que produce

ingrese la descripción de la imagen aquí

El resultado es lo que quiero; sin embargo, el método que utilicé para obtenerlo fueprueba y error. Más específicamente, centré la imagen en pspicturey (0,3.5)luego probé varios valores hasta que llegué a width=.86\linewidthlo height=1.49\linewidthque parece producir lo que quiero.

PREGUNTA: ¿Existe algún enfoque más conveniente que pueda utilizar que no implique prueba y error para encajar automáticamente y perfectamente una imagen dentro de una pspicturecomo la que he delineado?

Compilo el código con xelatex.

Gracias.

Respuesta1

Solía lualatex​​. ¡Pon el origen en la parte inferior izquierda!

\RequirePackage{pdfmanagement-testphase}% For opacity and lualatex
\DocumentMetadata{}                     % For opacity and lualatex
\documentclass[a5paper,12pt,onecolumn,openany,final]{book}
\usepackage[hmargin=0.7in,vmargin=0.75in]{geometry}
\usepackage{pstricks}
\usepackage{graphicx}

\begin{document}
    \thispagestyle{empty}
    \begin{pspicture}(-5,-5)(5,12)%
        \psframe[linecolor=black,linewidth=4pt,dimen=inner](-5,-5)(5,12)% 
        \rput[lb](-5,-5){\includegraphics[width=10cm,height=17cm]{example-image-a}}
        \psframe*[opacity=0.2,linecolor=red](-5,-5)(5,12)
    \end{pspicture}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

¿Simplemente calcular los valores con TeX?

%! TEX program = lualatex
\documentclass[a5paper,12pt,onecolumn,openany,final]{book}
\usepackage[hmargin=0.7in,vmargin=0.75in]{geometry}
\usepackage{pstricks}
\usepackage{graphicx}
    
\begin{document}
\thispagestyle{empty}
\begin{pspicture}(-5,-5)(5,12)%
\psframe[linecolor=black,linewidth=4pt](-5,-5)(5,12)% 
\rput(0,3.5){\includegraphics[width=\dimexpr10cm-8pt\relax,height=\dimexpr17cm-8pt\relax]{example-image-a}}
\end{pspicture}
\end{document}

Donde 10cmy 17cmse calcula restando las coordenadas correspondientes, y 8ptes el doble del linewidthvalor. (también puedes escribir 4pt*2)

información relacionada