[todonotes] beginnende Leerzeile

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

[todonotes] beginnende Leerzeile

Beitrag von MoonKid »

Ich meinen todonotes taucht zu Beginn immer eine führende Leerzeile auf. Das sieht natürlich nicht schön aus. Wie liese sich das beheben?
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

% Notizen
\usepackage[shadow]{todonotes}
\newcommand{\senf}[1]{\todo[inline,caption=x,color=blue!30,bordercolor=white]{
    \begin{flushright}
        \texttt{\small{#1}}
    \end{flushright}
    }
}

\begin{document}
\senf{test}
\end{document}
Dateianhänge nimmt das Forum gerade nicht an. Sonst könnte ich es zeigen.
XeLaTeX, TeX Live, vim-latexsuite

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Das liegt an der flushright umgebung. Sie fügt eine neue Zeile ein. da sie intern eine Listenumgebung ist, kann man da auch nicht viel machen.

man könnte statt dessen eine \parbox mit \raggedleft kombinieren:


\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

% Notizen
\usepackage[shadow]{todonotes}
\newcommand{\senf}[1]{%
  \todo[inline,caption=x,color=blue!30,bordercolor=white]{%
    \parbox{\linewidth}{\raggedleft\texttt{\small{#1}}}%
  }%
}

\begin{document}
\senf{test}
\end{document}
Grüße
Clemens
Paketauthor

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Ich dachte \parbox macht ne Box/Kasten/Rechteck aufs "Blatt".

Es funktioniert, ohne Kasten auf dem Blatt, aber ich verstehe nicht wieso. ;)
XeLaTeX, TeX Live, vim-latexsuite

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Wenn LaTeX eine Datei verarbeitet läuft letztlich alles darauf hinaus, Boxen aneinander zu kleben. Es gibt zwei Sorten: horizontale Boxen, die innerhalb eines Absatzes aneinander gebaut werden und vertikale Boxen, die zu einer Seite aneinander geklebt werden. Wenn Du ein Wort wie „Hallo“ schreibst, werden letztlich fünf Boxen aneinander gesetzt.

Eine parbox ist nun eine horizontale Box, die ein oder mehrere Absätze enthalten kann und für die man eine bestimmte Breite festlegen kann. Sie wird von LaTeX genauso behandelt wie ein Buchstabe.

Wenn man einen Rahmen um so eine Box setzen möchte, kann man z.B. \fbox darum setzen.
\documentclass{article}
\usepackage{lipsum}% für Dummy-Text
\begin{document}    

Hallo \parbox{4cm}{\raggedright\lipsum[4]} Hallo

Hallo \fbox{\parbox{4cm}{\raggedright\lipsum[4]}} Hallo

\end{document}
Grüße
Clemens
Paketauthor

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

So langsam verstehe ich meine Denkfehler. :D

Danke für die Erklärung. Das hilft sehr.
XeLaTeX, TeX Live, vim-latexsuite

Antworten