Grösse Figure: Entweder 8.2 cm oder 12.6 cm Breite

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Grösse Figure: Entweder 8.2 cm oder 12.6 cm Breite

von Gast » Mi 10. Mai 2017, 11:15

Das ist leider großer Unfug. Genau darauf habe ich oben bereits hingewiesen. Fordere die Box einmal in der Dokumentpräambel an und verwende sie danach nur noch:
\documentclass[a4paper,12pt]{book}
\usepackage{graphicx}
\usepackage{etoolbox}

\newsavebox\mytempgraphicbox
\newcommand*{\specialincludegraphics}[2][]{%
  \sbox\mytempgraphicbox{\includegraphics[#1,width=12.6cm]{#2}}%
  \ifdimcomp{\ht\mytempgraphicbox}{>}{19.2cm}%
            {\includegraphics[#1,width=8.2cm]{#2}}%
            {\usebox{\mytempgraphicbox}}%
}

\begin{document}
\specialincludegraphics{example-image}

\specialincludegraphics{example-image-a}

\specialincludegraphics{example-image-9x16}
\end{document}
example-image2 habe wir übrigens auch nicht. Bitte lies die Minimalbeispiel-Anleitung und die [d]mwe[/d]-Anleitung! Und klick ruhig auch mal auf den Overleaf-Link über deinen eigenen Beispielen!

von RNezi » Mi 10. Mai 2017, 09:31

Rnezi hat geschrieben:
u_fischer hat geschrieben:Eingebaut ist sowas nicht. Aber du kannst ja leicht messen, ob das Bild zu hoch ist:
\documentclass[a4paper,12pt]{book}
\usepackage{graphicx}
\usepackage{etoolbox}
\begin{document}
\newsavebox\mytempgraphicbox
\sbox\mytempgraphicbox{\includegraphics[width=12.6cm]{example-image}}
\ifdimcomp{\ht\mytempgraphicbox}{>}{19.2cm}
     {\includegraphics[width=8.2cm]{example-image}}
     {\usebox{\mytempgraphicbox}}




\end{document}
Dein Code scheint sehr gut zu funktionieren. Danke dafür! Habe aber noch das Problem, dass ich bei mehreren Grafiken Fehler bekomme. Ich habe deshalb als letzte Zeile noch
\let\mytempgraphicbox\undefined
eingefügt:
\documentclass[a4paper,12pt]{book}
\usepackage{graphicx}
\usepackage{etoolbox}
\begin{document}
\newsavebox\mytempgraphicbox
\sbox\mytempgraphicbox{\includegraphics[width=12.6cm]{example-image}}
\ifdimcomp{\ht\mytempgraphicbox}{>}{19.2cm}
     {\includegraphics[width=8.2cm]{example-image}}
     {\usebox{\mytempgraphicbox}}
\let\mytempgraphicbox\undefined

\newsavebox\mytempgraphicbox
\sbox\mytempgraphicbox{\includegraphics[width=12.6cm]{example-image2}}
\ifdimcomp{\ht\mytempgraphicbox}{>}{19.2cm}
     {\includegraphics[width=8.2cm]{example-image2}}
     {\usebox{\mytempgraphicbox}}
\let\mytempgraphicbox\undefined

\end{document}
Damit sollte ich hoffentlich keine Probleme haben.

LG Rnezi

von Gast » Mi 10. Mai 2017, 09:21

Sinnvoll wäre sicher auch in der [d]etoolbox[/d]-Anleitung die Anweisung \ifdimcomp und in einer ausführlichen LaTeX-Einführung \newsavebox, \usebox und \ht nachzulesen, um wenigstens halbwegs zu verstehen, wie das ganze funktioniert. Sonst verwendest du womöglich \newsavebox noch mehrfach, statt die eine Box immer wieder zu verwenden (und am besten das ganze in einer eigenen, in der Präambel definieren Anweisung zu verstecken).

Und wenn das ganze dann tatsächlich funktioniert, setzt du am besten auch noch den Status auf beantwortet. :roll:

von RNezi » Mi 10. Mai 2017, 08:48

Beinschuss hat geschrieben:Ulrike meint, dass es in LaTeX bisher keinen "eingebauten" Befehl gibt, der das von Dir gewünschte macht. Daher hat sie Dir einen solchen Befehl punktgenau programmiert. Und jetzt probierst Du dieses von Ulrike erstellte Minimalbeispiel am besten mit Deinen Grafiken aus, und Du wirst sehen, dass dieser neue Befehl für Dich das Messen übernimmt.
Alles klar. Danke sehr für deine Ausführungen.

LG RNezi

von Beinschuss » Mi 10. Mai 2017, 08:44

Ulrike meint, dass es in LaTeX bisher keinen "eingebauten" Befehl gibt, der das von Dir gewünschte macht. Daher hat sie Dir einen solchen Befehl punktgenau programmiert. Und jetzt probierst Du dieses von Ulrike erstellte Minimalbeispiel am besten mit Deinen Grafiken aus, und Du wirst sehen, dass dieser neue Befehl für Dich das Messen übernimmt.

von Rnezi » Di 9. Mai 2017, 20:06

u_fischer hat geschrieben:Eingebaut ist sowas nicht. Aber du kannst ja leicht messen, ob das Bild zu hoch ist:
\documentclass[a4paper,12pt]{book}
\usepackage{graphicx}
\usepackage{etoolbox}
\begin{document}
\newsavebox\mytempgraphicbox
\sbox\mytempgraphicbox{\includegraphics[width=12.6cm]{example-image}}
\ifdimcomp{\ht\mytempgraphicbox}{>}{19.2cm}
     {\includegraphics[width=8.2cm]{example-image}}
     {\usebox{\mytempgraphicbox}}



\end{document}
Hey danke dir vielmals für deine Hilfe. Es scheint so als würde es funktionieren.
Ich verstehe aber nicht was du mit 'einbauen' meinst. Und auch nicht was du mit leicht messen meinst? Indem dass ich alles drucke und dann jede Grafik ausmesse? Das wäre ehrlich gesagt ziemlich mühsam, da doch einige Grafiken am Ende meiner Arbeit zusammenkommen werden.

LG Rnezi

von u_fischer » Di 9. Mai 2017, 16:51

Eingebaut ist sowas nicht. Aber du kannst ja leicht messen, ob das Bild zu hoch ist:
\documentclass[a4paper,12pt]{book}
\usepackage{graphicx}
\usepackage{etoolbox}
\begin{document}
\newsavebox\mytempgraphicbox
\sbox\mytempgraphicbox{\includegraphics[width=12.6cm]{example-image}}
\ifdimcomp{\ht\mytempgraphicbox}{>}{19.2cm}
     {\includegraphics[width=8.2cm]{example-image}}
     {\usebox{\mytempgraphicbox}}



\end{document}

von Gast » Di 9. Mai 2017, 16:28

Klick mal auf den Overleaf-Link über dem Beispiel. Und dann lies die Minimalbeispiel-Anleitung.

von rnezi » Di 9. Mai 2017, 16:21

Oh Tut mir Leid. Damit sollte es klappen:
\documentclass[12pt]{report}

\usepackage[german]{babel}
\usepackage{graphicx}
 

\begin{document}


\begin{figure} 
\begin{center}		\includegraphics[width=12.6cm,height=19.2cm,keepaspectratio]{Titel.jpg}
\end{center}

\end{figure}

\end{document}

von Gast » Di 9. Mai 2017, 15:05

Da Dein Beispiel nicht lauffähig ist sei einfach nur darauf hingewiesen dass es \settowidth und \settoheight gibt, mit denen man eine Grafik vor dem Setzen ausmessen kann. Dazu gibt es Pakete wie ifthen oder auch das TeX-Primitiv \ifdim mit denen Entscheidungen möglich sind.

Nach oben