Makro zum Einbinden von 1, 2, 4 Bildern auf einer Seite

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


caiusjuliuscaesar
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Mo 15. Feb 2010, 18:13
Wohnort: Bochum

Makro zum Einbinden von 1, 2, 4 Bildern auf einer Seite

Beitrag von caiusjuliuscaesar »

Hallo,

ich habe mir 3 Makros geschrieben, denen ich Dateinamen von jpg-Dateien (ohne) und Bildunterschriften übergeben. Aus den Dateinamen ohne Extension bastele ich den Dateinamen mit Extension zusammen, aus der Bildunterschrift mache ich die Caption. Soweit ok. Funktioniert auch sogar.

Problem: Dateinamen mit Unterstrich "_" werden nicht erkannt - glaube ich.

Hier mein Minimalbeispiel:
\documentclass[
a4paper,							% alle weiteren Papierformat einstellbar
12pt,								% Schriftgr÷¯e (12pt, 11pt (Standard))
BCOR1cm,							% Bindekorrektur, bspw. 1 cm
]
{scrbook}

\usepackage{graphicx} %%Zum Laden von Grafiken
\usepackage{grffile} %%Für Dateinamen mit vielen Punkten

\newcommand{\bildi}[3]{
\begin{figure} [htbp]
	\centering
		\includegraphics[width=#3]{#1.jpg}
	\caption{#2}
	\label{fig:#1}
\end{figure}
}

\newcommand{\bildii}[4]{

\begin{figure} [htbp]
%\setcapindent{1em}
\begin{minipage}{0.48\textwidth}
\centering
\includegraphics[width=1\textwidth]{#1.jpg}
	\captionbelow{#3}
	\label{fig:#1}
\end{minipage}\hfill
\begin{minipage}{0.48\textwidth}
\centering
\includegraphics[width=1\textwidth]{#2.jpg}
	\captionbelow{#4}
	\label{fig:#2}
\end{minipage}
\end{figure}


}

\newcommand{\bildiiii}[8]{

\begin{figure} [htbp]
%\setcapindent{1em}
\begin{minipage}{0.48\textwidth}
\centering
\includegraphics[width=1\textwidth]{#1.jpg}
\caption{#5}
	\label{fig:#1}
\end{minipage}\hfill
\begin{minipage}{0.48\textwidth}
\centering
\includegraphics[width=1\textwidth]{#2.jpg}
\caption{#6}
	\label{fig:#2}
\end{minipage}
\end{figure}
\begin{figure} [htbp]
\setcapindent{1em}
\begin{minipage}{0.48\textwidth}
\centering
\includegraphics[width=1\textwidth]{#3.jpg}
\caption{#7}
	\label{fig:#3}
\end{minipage}\hfill
\begin{minipage}{0.48\textwidth}
\centering
\includegraphics[width=1\textwidth]{#4.jpg}
\caption{#8}
	\label{fig:#4}
\end{minipage}
\end{figure}
}



\begin{document}

\bildi{gurke}{Bildunterschrift}{15cm}
\bildii{gurke}{gurke}{Bildunterschrift}{Bildunterschrift}
\bildiiii{gurke}{gurke}{gurke}{gurke}{Bildunterschrift}{Bildunterschrift}{Bildunterschrift}{Bildunterschrift}

\bildi{gurke_kopie}{Bildunterschrift}{15cm}
\bildii{gurke_kopie}{gurke_kopie}{Bildunterschrift}{Bildunterschrift}
\bildiiii{gurke_kopie}{gurke_kopie}{gurke_kopie}{gurke_kopie}{Bildunterschrift}{Bildunterschrift}{Bildunterschrift}{Bildunterschrift}

\end{document}


Weiß jemand, ob das Problem wirklich an den Unterstrichdateinamen liegt, oder ob ich etwas anderes übesehen habe?

Gruß, CJC
Dateianhänge
test.tex
(2.07 KiB) 862-mal heruntergeladen

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Bevor ich mich mit Deinem eigentlichen Problem beschäftige zwei Hinweise:
  • Lass die Endung .jpg weg. graphicx weiß selbst welche Formate der Ausgabetreiber versteht und sucht dann selbst nach Dateien mit den entsprechenden Endungen. Ich habe das in den letzten Tagen schon einmal erwähnt (ob auf auf eine Frage von Dir, weiß ich aber nicht). Das ist nicht nur praktisch, wenn man sowohl mit latex als auch pdflatex arbeiten können will - man kann dann einfach beispielsweise sowohl jpg- als auch ps-Dateien ablegen und graphics sucht sich je nach Weg die richtige heraus - es ermöglicht auch, wie von mir dieser Tage beschrieben, in der Entwicklungsphase, wenn die Bilder ggf. noch bearbeitet werden mit verlustfreien PNGs zu arbeiten und erst in der Endfassung auf JPEGs umzusteigen, ohne dass man im Dokument etwas ändern muss.
  • Es ist nicht sinnvoll bei jedem Gleitobjekt dieselben Optionen von Hand anzugeben. Siehe dazu http://projekte.dante.de/DanteFAQ/FloatPlatzierung#4
Weiß jemand, ob das Problem wirklich an den Unterstrichdateinamen liegt, oder ob ich etwas anderes übesehen habe?
Welches Problem? Wenn ich mal eben Bilddateien gurke.jpg und gurke_kopie.jpg anlege, dann läuft Dein Beispiel problemlos durch. Wenn Du ein Problem hast, solltest Du das grundsätzlich auch benennen und beispielsweise Fehlermeldungen aus einem Lauf des Minimalbeispiels exakt zitieren! Siehe auch hierzu wieder die erste Zeile meiner Signatur.

Ich wiederhole meinen Rat: Schalte einen Gang zurück! Das gibt Dir die Zeit, Fragen ordentlich zu stellen, selbst nochmal zu lesen und Dich selbst zu fragen, ob jemand allein mit den Informationen aus Deinem Beitrag sowohl das Problem verstehen als auch eine Lösung finden kann. Die Erfahrung zeigt, dass Helfer irgendwann die Lust verlieren, Dir Deine Gedanken zu ordnen, bevor sie sich an die Beantwortung der Frage machen können.

Markus
(Moderator)

DISCLAIMER: Es liegt mir fern, einen Anwender zu beleidigen oder zu maßregeln. Alle meine Äußerungen sind darauf ausgerichtet, dem Anwender zu helfen. Zu diesem Zweck enthält mein Beitrag und meine Signatur auch Links, die mit Sorgfalt ausgewählt und geprüft wurden. Eine zielgerichtete Hilfe ist nur dann möglich, wenn der Anwender diese Links und die Informationen, die über diese Links angeboten werden, auch beachtet! Fragesteller können dadurch nicht nur den potentiellen Helfern das Leben erleichtern, sondern auch bei sich selbst Frust und Enttäuschung durch all zu viele Rückfragen und Irrwege vermeiden.

caiusjuliuscaesar
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Mo 15. Feb 2010, 18:13
Wohnort: Bochum

Beitrag von caiusjuliuscaesar »

Hallo Koma,

danke für Deine Hinweise.

Jetzt funktioniert bei mir auch mein Makro. Mittlerweile habe ich in meinem 300 seitigen Werk aus ca. 120 Dateien einen Unterstrich mitten in irgendeinem Text gefunden, der den Compiler wohl durcheinander gebracht hat. Tut mir leid, ich habe einige Zeit darauf verwendet, einen Fehler zu finden und schob es dann auf die Makros, denn mit Unterstrich im Dateinamen trat der Fehler auf (er setzte dann eine Matheumgebung ohne für mich ersichtlichen Grund ein), ohne nicht. Da ist Latex noch schlimmer, als die alten C-Compiler. Deswegen war ich aber auch unfähig die 100e von Fehlermeldungen konkret zu benennen.

---

Der von Dir angegebene Link funktioniert nicht, ich werde aber später noch einmal danach suchen.

----

Bzgl. Gang zurückschalten: So ganz verstehe ich den Rat nicht... Ich habe ein 300-seitiges Worddokument (Zentral- und 100e von Filialdokumenten) auf Tex umgestellt und bin bis jetzt, ich will wohl auch zugeben, mit Eurer Hilfe, recht weit und auch zufrieden. Soweit, daß ich das "Werk" nun wieder erweitern kann. Erst Bücher lesen und dann nach einer Woche des Studiums praktische umsetzen, liegt mir nicht so, ich glaube übrigens, den meisten Leute nicht. Man arbeitet sinnvoll an einem (am besten nicht gefaketen) Problem.

Ich wäre übrigens für eine allgemeine Latex-Literaturangabe dankbar: so in dem Stil, falls es einer kennt "Java ist auch eine Insel", also weitgehendes Howto und auch Referenzhandbuch.

Gruß, CJC

caiusjuliuscaesar
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Mo 15. Feb 2010, 18:13
Wohnort: Bochum

Beitrag von caiusjuliuscaesar »

Hallo Koma,

ich versuche nun das dritte Mal hier zu posten und auf Deinen ebenfalls verschwundenen Beitrag zu antworten.

Jedenfalls hattest Du dort eine Literaturangabe drin, um die ich Dich noch einmal bitten würde.

Gruß, CJC

Antworten