goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

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

 

Rnezi
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2017, 14:07     Titel: Grösse Figure: Entweder 8.2 cm oder 12.6 cm Breite
  Antworten mit Zitat      
Hallo Leute

Ich suche seit einer Ewigkeit eine Möglichkeit, wie ich eine ziemlich spezifische Grösse bei den Abbildungen hinkriege. Die Grafiken im Dokument sollen alle entweder 8.2 cm oder 12.6 cm breit sein. Die Höhe sollte maximal 19.2 cm betragen. Latex sollte also sich für eine dieser Breiten entscheiden, ohne die maximale Höhe zu überschreiten (und natürlich ohne die Proportion zwischen Länge und Breite des PNG's zu verändern). Jede Grafik sollte also 12.6 cm breit sein; unter der Voraussetzung dass die Höhe dann nicht höher als 19.2 ausfällt. Sollte dies nicht der Fall sein, soll die Breite 8.2 cm sein und die Höhe von Latex (unter Berücksichtigung der Proportionen) angepasst werden.

Ich habe bis jetzt keinen Befehl gefunden, der dem gerecht wird. Hat jemand eine Idee? Oder weiss zumindest wie man diese 'Entweder-oder-Logik' programmieren könnte?

Hier mal das was ich bis jetzt habe:
Code • Öffne in Overleaf

\documentclass[12pt]{report}

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

\begin{document}


\begin{figure}
\caption{Titel}
\begin{center}
      \includegraphics[width=12.6cm,height=19.2cm,keepaspectratio]{Pfad/Titel.png}
\end{center}
\caption*{\small\centering{Quelle: XY}
\end{figure}

\end{document}
 


Zurzeit wird nur die Grösse jeweils angepasst. Ich will aber, dass die Grafik entweder die eine Breite hat, oder die andere.

LG rnezi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2017, 15:05     Titel:
  Antworten mit Zitat      
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 Paket auf CTANifthen oder auch das TeX-Primitiv \ifdim mit denen Entscheidungen möglich sind.

rnezi
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2017, 16:21     Titel:
  Antworten mit Zitat      
Oh Tut mir Leid. Damit sollte es klappen:

Code • Öffne in Overleaf

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2017, 16:28     Titel:
  Antworten mit Zitat      
Klick mal auf den Overleaf-Link über dem Beispiel. Und dann lies die InfoMinimalbeispiel-Anleitung.

u_fischer
Forum-Meister
Forum-Meister

Beiträge: 3478
Anmeldedatum: 22.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2017, 16:51     Titel:
  Antworten mit Zitat      
Eingebaut ist sowas nicht. Aber du kannst ja leicht messen, ob das Bild zu hoch ist:

Code • Öffne in Overleaf
\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}

_________________

Ulrike Fischer
www.troubleshooting-tex.de
Private Nachricht senden Benutzer-Profile anzeigen

Rnezi
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2017, 20:06     Titel:
  Antworten mit Zitat      
u_fischer hat Folgendes geschrieben:
Eingebaut ist sowas nicht. Aber du kannst ja leicht messen, ob das Bild zu hoch ist:

Code • Öffne in Overleaf
\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

Beinschuss
Forum-Meister
Forum-Meister

Beiträge: 714
Anmeldedatum: 02.10.12
Wohnort: NRW
Version: MiKTeX, Windows 10, TeXstudio
     Beitrag Verfasst am: 10.05.2017, 08:44     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen

RNezi
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.05.2017, 08:48     Titel:
  Antworten mit Zitat      
Beinschuss hat Folgendes 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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.05.2017, 09:21     Titel:
  Antworten mit Zitat      
Sinnvoll wäre sicher auch in der Dokumentationetoolbox-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. Rolling Eyes

RNezi
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.05.2017, 09:31     Titel:
  Antworten mit Zitat      
[quote="Rnezi"]
u_fischer hat Folgendes geschrieben:
Eingebaut ist sowas nicht. Aber du kannst ja leicht messen, ob das Bild zu hoch ist:

Code • Öffne in Overleaf
\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:

Code • Öffne in Overleaf
\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

Neues Thema eröffnen Neue Antwort erstellen Gehe zu Seite 1, 2  Weiter



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de