Eine praktische Methode, um ein Bild perfekt in ein PS-Bild einzupassen

Eine praktische Methode, um ein Bild perfekt in ein PS-Bild einzupassen

Betrachten Sie den Code:

\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}

das erzeugt

Bildbeschreibung hier eingeben

Das Ergebnis ist das, was ich will; die Methode, die ich verwendet habe, um es zu erhalten, war jedochVersuch und Irrtum. Genauer gesagt habe ich das Bild in der pspictureMitte platziert (0,3.5)und dann verschiedene Werte ausprobiert, bis ich bei angekommen bin width=.86\linewidth, height=1.49\linewidthwas das gewünschte Ergebnis zu liefern scheint.

FRAGE: Gibt es einen schnelleren Ansatz, den ich verwenden kann, ohne dass ich durch Ausprobieren ein Bild automatisch perfekt in ein Bild pspicturewie das von mir skizzierte einpassen muss?

Ich kompiliere den Code mit xelatex.

Danke schön.

Antwort1

Ich habe verwendet lualatex. Setze den Ursprung nach unten links!

\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}

Bildbeschreibung hier eingeben

Antwort2

Die Werte einfach mit TeX berechnen?

%! 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}

Wobei 10cmund 17cmdurch Subtraktion der entsprechenden Koordinaten berechnet wird und 8ptdas Doppelte des linewidthWertes ist. (Sie könnten auch schreiben 4pt*2)

verwandte Informationen