TexStudio und BildLabels im Strukturbaum

Editoren wie TexWorks, TeXmaker, TeXstudio, TeXnicCenter, Kile, LyX, vi, Emacs und Co.


jetrock
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Di 7. Dez 2021, 15:30

TexStudio und BildLabels im Strukturbaum

Beitrag von jetrock »

Hallo,

in unserer style datei (vorlage.sty) haben wir folgenden Befehl definiert:
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{flafter}
\usepackage{float}

\newcommand {\bild}[2]{
\begin{figure}[!htb]%
\includegraphics[width=\textwidth]{#1}%
\caption{#2}
\end{figure}}%
Im Hauptdokument:
\documentclass[12pt,ngerman,a4paper,notitlepage,bibliography=totoc]{scrartcl}
\usepackage{vorlage}

\begin{document}
\section{Einleitung}
Der Section Zähler ist jetzt 1.
\section{Zweileitung}
Jetzt ist der Section Zähler 2.

\bild{Demopic.png}{Die Bildunterschrift}{Bildlabel}

Schauen Sie bitte Bild \ref{fig:Bildlabel} an. Alles ist so wie es sein soll, 
aber das Bildlabel wird im Strukturbaum von Texstudio nicht angezeigt. 
Wie auch?
\end{document}
Wenn ich den \bild Befehl ändere und nur die beiden ersten Argumente übergebe:
\newcommand {\bild}[2]{
\begin{figure}[!htb]%
\includegraphics[width=\textwidth]{#1}%
\caption{#2}
\end{figure}}

dann sieht das Hauptdokument so aus:
\documentclass[12pt,ngerman,a4paper,notitlepage,bibliography=totoc]{scrartcl}
\usepackage{vorlage}

\begin{document}
\section{Einleitung}
Der Section Zähler ist jetzt 1.
\section{Zweileitung}
Jetzt ist der Section Zähler 2.

\bild{Demopic.png}{Die Bildunterschrift}\label{fig:Bildlabel}

Schauen Sie bitte Bild \ref{fig:Bildlabel}an. Jetzt wird als Bildlabel der
Sectionzähler angezeigt.
\end{document}
Dafür wird jetzt das Label im Strukturbaum angezeigt, aber es bezieht sich auf den Sectionzähler.

Irgendeine Idee wie ich das lösen kann. Danke.

gast.

Re: TexStudio und BildLabels im Strukturbaum

Beitrag von gast. »

Davon abgesehen, dass der Code für vorlage.sty offenbar bereits der veränderte mit \bild mit nur zwei Argumenten und nicht der originale ist, ist die Lösung einfach: Verzichte auf die wenig Gewinn bringende Definition und verwende direkt eine figure-Umgebung. Das ist schon deshalb sinnvoll, weil man nur dann die Möglichkeit hat, einzelne Gleitumgebungen im Gleitverhalten ggf. anzupassen – oder man definiert sich einen Befehl mit diversen weiteren Optionen. Früher oder später willst du vielleicht auch mehr als eine Abbildung oder eine Abbildung mit mehreren Unterbildern in einer Gleitumgebung. Oder du willst, dass im Abbildungsverzeichnis ein leicht angepasster Text, beispielsweise ohne Literaturverweis oder ohne Indexeintrag steht o. ä. steht. Auch dafür bräuchtest du dann einen Befehl mit mehr Optionen. Am Ende wird der Befehl unübersichtlicher als die Verwendung einer Gleitumgebung. Und, dass die Editorunterstützung mit solchen Abkürzungsanweisungen nicht ideal ist, hast du ja auch gemerkt. aber ja, es gibt vermutlich trotzdem eine Lösung:
\bild{Demopic.png}{Die Bildunterschrift\label{fig:Bildlabel}}
Mit genau der gezeigten Definition von \bild. Ausprobieren musst du das aber selbst, ich habe kein TeXStudio.

Übrigens: Es ist eine eher schlechte Idee grundsätzlich ! bei den Gleitoptionen mit anzugeben. Dann besser direkt die Einstellungen für Gleitumgebungen abändern.

gast.

Re: TexStudio und BildLabels im Strukturbaum

Beitrag von gast. »

Achja: a4paper,notitlepage sind Voreinstellungen. \usepackage[utf8]{inputenc} quasi auch. Es ist begrenzt sinnvoll, diese explizit anzugeben. Und eigentlich braucht man mit KOMA-Script-Klassen auch kein Paket float. Und für ein Minimalbeispiel taugt der gezeigte Code nur eingeschränkt. Man muss erst Hand anlegen, um ihn wirklich testen zu können. Das habe ich mir erspart. Hätte ich vielleicht gleich erwähnen sollen.

jetrock
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Di 7. Dez 2021, 15:30

Re: TexStudio und BildLabels im Strukturbaum

Beitrag von jetrock »

Hallo und vielen Dank.
verdammich noch eins. In der Tat ein Fehler in vorlage.sty. Da sollten natürlich 3 Parameter übergeben werden und das label mit drin stehen. Sorry.
Trotz hast Du ja verstanden was ich meine und ich gebe Dir in allen Punkten Recht. Eigentlich wollte ich es für die Kollegen einfacher machen, aber das war wohl nix. Dein Vorschlag mit caption + label als ein Argument funktioniert blendend, ich werde aber wohl doch auf dieses "Makro" verzichten.
Deine Anmerkungen zu den Default-Einstellungen und float habe ich umgesetzt.

Nochmal vielen Dank für die Mühe die Du Dir gemacht hast.

Gruß,
Marcus

Antworten