Labeln von Grafiken aus einem Makro

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: Labeln von Grafiken aus einem Makro

von Kujo » Sa 3. Dez 2011, 14:44

Hey,
ja, das funktioniert!
Danke!

von McFraggle » Do 1. Dez 2011, 22:41

Das ist semantisch aber etwas anderes. Jetzt liegt das lable nicht mehr in der figure-Umgebung, was Probleme bei ungünstigen Umbrüchen machen könnte. Jedenfalls ist es nicht sauber. Wenn Du umbedingt ein solches Makro nutzen möchtest, versuch doch mal
 \newcommand{\bild}[4] 
 { 
 \begin{figure}[htb] 
 \begin{center} 
 \includegraphics[#1]{Bilder/#2} %Bilder liegen im Unterordner "Bilder" 
 \caption{#3} 
 #4
 \end{center} 
 \end{figure} 
 }
und nutze es dann mit
\bild{width=0.5\linewidth}{../T1}{Bildunterschrift}{\label{fig.testbild}}
Das müsste deine IDE doch fressen, oder?

PS.: Alles ungetestet.

von Kujo » Do 1. Dez 2011, 17:27

McFraggle hat geschrieben:Hallo,

falls ich Dein Anliegen richtig verstanden habe, ist das kein LaTeX-Problem sondern ein Problem Deines Editors (Autovervollständigung etc. sind ja kein Feature des LaTeX-Compilers). Insofern müsste man zuerst einmal wissen, welchen Editor/IDE Du benutzt. Ich vermute jedoch fast, dass es nicht funktionieren wird. Ich denke, Dein Editor such im Dokument alle Vorkommen von \label{x} und indiziert sie und ihre Werte. Du müsstest Du also schon tiefgründig Hand anlegen, um deinen Editor mit entsprechender Funktionalität zu erweitern.

Grüße
Hallo,

danke erstmal. Also ich nutze TeXmaker.
Ok, das sind leider keine guten Nachrichten. Dass das eine programmspezifische Funktion ist, daran habe ich gar nicht gedacht.
Ich hatte noch die Idee, das \label aus dem Makro auszugliedern und dann eben extra einzufügen.

#Edit: Soeben getestet, das funktioniert. Ich denke, das ist ein akzeptables workaround. :)

Der Makro-Befehl sieht nun also so aus:

\bild{width=0.5\linewidth}{bild.jpg}{Bildunterschrift}\label{}

Gruß

von Sepp99 » Mi 30. Nov 2011, 10:11

Gleiche Frage unter http://www.mrunix.de/forums/showthread.php?t=72237
Sepp.-
EDIT: Beitrag gehört zu einem anderen thread.
Sepp.-

von McFraggle » Mi 30. Nov 2011, 09:47

Hallo,

falls ich Dein Anliegen richtig verstanden habe, ist das kein LaTeX-Problem sondern ein Problem Deines Editors (Autovervollständigung etc. sind ja kein Feature des LaTeX-Compilers). Insofern müsste man zuerst einmal wissen, welchen Editor/IDE Du benutzt. Ich vermute jedoch fast, dass es nicht funktionieren wird. Ich denke, Dein Editor such im Dokument alle Vorkommen von \label{x} und indiziert sie und ihre Werte. Du müsstest Du also schon tiefgründig Hand anlegen, um deinen Editor mit entsprechender Funktionalität zu erweitern.

Grüße

Labeln von Grafiken aus einem Makro

von Kujo » Di 22. Nov 2011, 19:51

Hi,

ich habe mir für das Einbinden von Grafiken folgendes Makro angelegt:

 %\bild{width=0.5\linewidth}{bild.jpg}{Bilduntersch rift}{label}
 \newcommand{\bild}[4] 
 {
 \begin{figure}[htb]
 \begin{center}
 \includegraphics[#1]{Bilder/#2} %Bilder liegen im Unterordner "Bilder"
 \caption{#3} 
 \label{#4} 
 \end{center} 
 \end{figure} 
 }
Das Makro selbst funktioniert auch einwandfrei und es funktioniert auch, sich auf das Label der entsprechenden Grafik zu beziehen, sodass die richtigen Nummer mittels \ref und \pageref angezeigt werden.
Also, es funktioniert, dass es anzeigt "Abb. 1" und nicht "Abb.??".

Was allerdings Probleme bereitet und die Arbeit doch immer etwas verzögert ist, dass die über das Makro gesetzten Labels beim Eintippen von "\ref" nicht vorgeschlagen werden.

Tabellen setze ich bisher ohne Makro, sodass hier, wenn ich "\ref" eintippe auch sämtliche Labels meiner Tabellen in den Vorschlägen aufgelistet sind. Bei den über das Makro gesetzten Grafiken ist das aber leider nicht der Fall und ich muss alle Labels immer von Hand eintippen.
Bei manuell eingebundenen Grafiken, also ganz normal über \includegraphics funktioniert es wiederum einwandfrei.

Es liegt also am Makro. Gibt es eine Möglichkeit das Problem zu beheben? Ich hoffe, es wurde klar, was ich meine.

Ich habe mich bereits im Netz umgesehen, aber leider kein ähnliches Problem gefunden.

Hier das Minimalbeispiel mit Grafik und Tabelle ohne Makro und Grafik mit Makro:
\documentclass[a4paper, 12pt, twoside, titlepage]{article} 
	
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % Input in ISO 8859-1 (Latin1)
\usepackage{graphicx}


  
 %\bild{width=0.5\linewidth}{bild.jpg}{Bilduntersch rift}{label}
 \newcommand{\bild}[4] 
 {
 \begin{figure}[htb]
 \begin{center}
 \includegraphics[#1]{Bilder/#2} %Bilder liegen im Unterordner "Bilder"
 \caption{#3} 
 \label{#4} 
 \end{center} 
 \end{figure} 
 }
 

\begin{document}

\begin{table}
\centering
\caption{Testtabelle} 
\label{Testlabel}

\begin{tabular}{cc}

Quark & Apfelmus \\

\end{tabular}
\end{table}
	
In Tab.\ref{Testlabel} ist zu sehen, ...

\newpage
	
\bild{width=0.5\linewidth}{../T1}{Bildunterschrift}{fig.testbild}	

In Abb.\ref{fig.testbild} ist zu sehen, ...


\begin{figure}[htb]
 \begin{center}
 \includegraphics[scale=0.5]{../T1} 
 \caption{Bildunterschrift2} 
 \label{testbild2} 
 \end{center} 
 \end{figure} 
 
In Abb.\ref{testbild2} ist zu sehen, ...



\end{document}


Gruß

Nach oben