Hallo, ich versuche gerade für eine LaTeX Klasse ein paar schöne Randnotizen in TikZ zu gestalten. Das hat soweit auch ganz gut geklappt, allerdings gefällt mir die Position nicht und ich weiß nicht wie ich diese ändern kann. Hier erst mal der Code der Marginpars: Open in writeLaTeX
\newcommand{\marginnote}[1]{% \marginpar{% \begin{tikzpicture}% \node[shape=rectangle, draw=maincolor, fill=maincolor!10, rounded corners, inner sep=5pt, thick, text width=0.95\marginparwidth] {#1};% \end{tikzpicture}% }% } In Action sieht es wie folgt aus: Der Befehl für marginnote wurde nach dem Text rechts angegeben. Ich hätte es gerne, dass entweder die obere Kante (anchor=north) mit der Zeile übereinstimmt, in der ich den Befehl setze oder dass sie zentriert (anchor=center) mit der Zeile übereinstimmt. Leider weiß ich nicht wie genau ich das machen soll und wäre über jeden Tipp dankbar. |
Für die Änderung der Position kannst du die Option Zum Zentrieren der marginnote gegenüber der Grundlinie der aktuellen Zeile lässt sich die Node Open in writeLaTeX
\documentclass{scrartcl} \usepackage{selinput} \SelectInputMappings{adieresis={ä},germandbls={ß}} \usepackage[ngerman]{babel} \usepackage[marginparwidth=3.5cm,right=4.5cm]{geometry} \usepackage{tikz} \colorlet{maincolor}{red} \newcommand{\marginnote}[1]{% \marginpar{% \begin{tikzpicture}[ baseline=(current bounding box.center), ] \node[draw=maincolor, fill=maincolor!10, rounded corners,inner sep=5pt,thick, text width=\linewidth-10pt-\pgflinewidth, ] {\strut#1\strut}; \end{tikzpicture}% }% } \usepackage{blindtext}% Fülltext \usepackage{showframe}% Seitenaufteilung \begin{document} \blindtext In dieser Zeile folgt dann noch am Rand eine Randnotiz mit wichtigem Inhalt. \marginnote{Dies ist eine ganz wichtige Randno\-tiz.} \hrulefill \end{document} Wenn man aber bei einer ungeraden Anzahl Zeilen die mittelste auf Höhe der eigentlichen Textzeile haben möchte, dann ist es besser eine Hilfsnode mit dem Inhalt Open in writeLaTeX
\newcommand{\marginnote}[1]{% \marginpar{% \begin{tikzpicture}[ baseline=(mp.base), every node/.style={rounded corners,inner sep=5pt,thick} ] \node(mp){\strut}; \node[draw=maincolor, fill=maincolor!10, text width=\linewidth-10pt-\pgflinewidth, ] {\strut#1\strut}; \end{tikzpicture}% }% } Ändert man jetzt den Anker der eigentlichen Node und der Hilfsnode auf Open in writeLaTeX
\newcommand{\marginnote}[1]{% \marginpar{% \begin{tikzpicture}[ baseline=(mp.base), every node/.style={rounded corners,inner sep=5pt,thick, anchor=north } ] \node(mp){\strut}; \node[draw=maincolor, fill=maincolor!10, text width=\linewidth-10pt-\pgflinewidth, ] {\strut#1\strut}; \end{tikzpicture}% }% } Die maximal mögliche Breite des Randnotizentextes erhält man übrigens, wenn man von beantwortet 22 Feb '14, 02:55 esdd Vielen Dank, Problem gelöst. Bei deiner Lösung sind noch Sachen dabei die ich nicht kannte, die werde ich mir nochmal genauer anschauen.
(22 Feb '14, 13:43)
funkytex
|
Das Paket
todonotes
könnte Dich interessieren.