Zeilenumbruch bei annotate (\usepackage{callouts})

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: Zeilenumbruch bei annotate (\usepackage{callouts})

Re: Zeilenumbruch bei annotate (\usepackage{callouts})

von Bartman » Mi 4. Nov 2020, 10:18

In Deinem Beispiel müsste der Befehl \note geändert werden. Die Definitionen der Befehle findest in der Datei callouts.sty auf der CTAN-Webseite des Pakets callouts oder im Verzeichnis Deiner TeX-Distribution.

Außer der Tabellenumgebung hätte man auch noch den Befehl \parbox benutzen können, aber beides wäre, verglichen mit der naheliegenden Lösung durch TikZ-Optionen, zu umständlich.

Re: Zeilenumbruch bei annotate (\usepackage{callouts})

von Zoid » Mi 4. Nov 2020, 09:06

Bartman hat geschrieben:
Di 3. Nov 2020, 22:10

Da das Paket mit pgf/TikZ arbeitet, kannst Du den Quelltext in dessen Befehl so anpassen, wie Du es bei der Entwicklung Deines Kastens bereits kennengelernt hast.

Das hatte ich urspünglich so versucht, hat aber nicht geklappt. Im anderen Beispiel war

text width

der Schlüssel zum Erfolg, damit der Zeilenumbruch gesetzt werden konnte. Das hat bei mir aber auch nicht funktioniert. Zum Vergleich nochmal mein Code, der nicht lauffähig ist.

\documentclass[12pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[background=white ,arrow=black]{callouts}


\begin{document}
 \begin{figure}[h]
	\centering
		\begin{annotate}
		{\includegraphics[height=10cm]{Abbildungen/44}}{0.4}
		%\helpgrid[gray]
		\note{12,12}{Heizölrückstoß-\\abdämpfung}
		\arrow{9,12}{5,12}
		\end{annotate}
	\caption{Darstellung}
	\label{fig:p1}
\end{figure}
\end{document}

Von der Logik her ist mir nicht deutlich, warum es bei dem einen Beispiel funktioniert und bei dem anderen nicht. Daher werden wohl leider auch in Zukunft noch Fragen diesbezüglich auftauchen.

Alternativ habe ich für die Zwischenzeit auch folgende Lösung herausgefunden. Man möge dafür einen flachen Kiesel nach mir werfen, aber es hat immerhin funktioniert:

\documentclass[12pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[background=white ,arrow=black]{callouts}


\begin{document}
 \begin{figure}[h]
	\centering
		\begin{annotate}
		{\includegraphics[height=10cm]{Abbildungen/44}}{0.4}
		%\helpgrid[gray]
		\note{-12,-8.5}{
			{\begin{tabular}{l}
    				Heizölrückstoß- \\
    				abdämpfung
			\end{tabular}}}
		\arrow{-8.5,-8.5}{-6.5,-8.5}
		\end{annotate}
	\caption{Darstellung}
	\label{fig:p1}
\end{figure}
\end{document}

Letzendlich sehe ich aber, das dein Code wesentlich kürzer ist, was der Übersicht im Dokument zuträglich ist. Daher werde ich mich mal ransetzen und ihn übernehmen.
Vielen Dank für die Hilfe :D

Re: Zeilenumbruch bei annotate (\usepackage{callouts})

von Bartman » Di 3. Nov 2020, 22:10

Da das Paket mit pgf/TikZ arbeitet, kannst Du den Quelltext in dessen Befehl so anpassen, wie Du es bei der Entwicklung Deines Kastens bereits kennengelernt hast. Ich habe mir erlaubt, die Befehle \note und \arrow durch den Befehl \callout zu ersetzen.

\documentclass[fontsize=12pt]{scrreprt}
%\usepackage[utf8]{inputenc}% https://texwelt.de/fragen/26496
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[background=white]{callouts}% lädt tikz
\usepackage{hyperref}

\usetikzlibrary{arrows.meta}

\tikzset{>=Latex}

\renewcommand{\callout}[3]{%
    \node [
        fill=\bgcol,
        align=left,
        font=\sffamily\scriptsize, 
        text=\focol
    ] (text) at (#1) {#2};
    \draw [\arcol,thick,->] (text) -- (#3);
}

\begin{document}
\begin{figure}[h]
    \centering
    \begin{annotate}
        {\includegraphics[height=10cm]{example-image}}{0.4}
        %\helpgrid[gray]
        \callout{12,11}{Heizölrückstoß-\\abdämpfung}{5,11}
    \end{annotate}
    \caption{Darstellung}
    \label{fig:p1}
\end{figure}

\autoref{fig:p1}
\end{document}

Falls Du meine Vorliebe für Text in serifenloser Schrift in Abbildungen nicht teilen solltest, dann entferne einfach den Befehl \sffamily.

Zeilenumbruch bei annotate (\usepackage{callouts})

von Zoid » Di 3. Nov 2020, 21:07

Moin moin,

ich habe eine Grafik mit etwas zu lang geratenem Text in einer Anmerkung, welchen ich gerne in einen Zeilenumbruch überführen würde. Leider konnte ich das mit den gängigen Mitteln (\\) nicht umsetzen.
Mein Code ist folgender:

\documentclass[12pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[background=white ,arrow=black]{callouts}


\begin{document}
 \begin{figure}[h]
	\centering
		\begin{annotate}
		{\includegraphics[height=10cm]{Abbildungen/44}}{0.4}
		%\helpgrid[gray]
		\note{12,12}{Heizölrückstoßabdämpfung}
		\arrow{9,12}{5,12}
		\end{annotate}
	\caption{Darstellung}
	\label{fig:p1}
\end{figure}
\end{document}

Die Grafik muss nicht mit eingebunden werden. bei mir ist der Code unter Lualatex auch so lauffähig.

Hat jemand eine Idee, wie ich einen Zeilenumbruch einfügen könnte?

Vielen Dank und viele Grüße


Nach oben