
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
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 pspicture
Mitte platziert (0,3.5)
und dann verschiedene Werte ausprobiert, bis ich bei angekommen bin width=.86\linewidth
, height=1.49\linewidth
was 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 pspicture
wie 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}
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 10cm
und 17cm
durch Subtraktion der entsprechenden Koordinaten berechnet wird und 8pt
das Doppelte des linewidth
Wertes ist. (Sie könnten auch schreiben 4pt*2
)