PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Marginalien ganz einfach und korrekt...



maknu
06-12-2010, 10:52
Hallo mrunix Entwickler

Ich habe ein ganz banales Problem, das mich schon mit Google-Recherchen von insgesamt 7 Stunden lang beschäftigte. Und zwar gehts um einfache Marginalien, welche ganz einfach korrekt dargestellt werden sollten, das heisst folgende Bedingungen erfüllen:


Sie sollen am Ort, wo sie definiert werden rechts bzw. links an der Seite erscheinen. Dies auch bei Bilder- oder Tabellenumgebungen.
Sie sollen Silbentrennung haben
Einfache Formeln mit $ $ darstellen können
Bündig zur definierten Zeile sein und bei Gleitumgebungen zuoberst erscheinen.
Horizontal bündig sein (alles fängt am gleichen Ort an - also keine Indents).


Eigentlich nichts kompliziertes dachte ich mir. Das mit der Silbentrennung und den Formeln konnte ich lösen (Package ragged2e).

Doch mit \marginpar scheint es nicht wirklich zu funktionieren in Gleitumgebungen.

Mit \marginnote (Zusatz-Package) erreiche ich zwar das Gewollte, doch die erste Zeile erscheint par-tout immer versetzt. Ich konnte \noindent und viele andere Befehle schreiben, ich bekomme die Zeilen nie bündig aufeinander.

Ich benutze ein zweiseitiges Layout mit scrreport für eine Abschlussarbeit. Da bei uns Marginalien nicht nur für klägliche "Notes" benötigt werden, sondern zur Informationshilfe beisteuern, muss das Ganze irgendwie einen professionellen Charakter bekommen.Folgender Code benutze ich zurzeit:



\usepackage{marginnote}
\newcommand{\marg}[1]{\marginnote{\RaggedRight \fontsize{9.5}{13.5}\selectfont \selectfont \changefont{lmss}{b}{n} #1}}


Und dann benütze ich für die Marginalien folgenden Aufruf:


\marg{Ein Beispiel}

Es wäre sehr toll, wenn mir irgendjemand einen Tipp hätte. Für jeden Post, auch wenn ich wenigstens einen funktionierenden Ansatz hätte, wäre für mich sehr hilfreich. Danke im Voraus! Gruss Marcel

u_fischer
06-12-2010, 13:26
Und während deiner langen Googlesuche bist du nie auf den Begriff "vollständiges Minimalbeispiel" gestoßen?

rstuby
06-12-2010, 15:18
Und wir sollen die ganze Arbeit für dich machen - im Header eins nach dem anderen auskommentieren und gucken, ob der Fehler noch auftritt?
Manchmal mache ich so was, aber bei DEM Header mach du das mal selbst, du bist hier schließlich der, der an einem Ergebnis interessiert ist...

Außerdem läuft das Beispiel bei mir nicht.

rstuby
06-12-2010, 15:26
OK, doch, läuft, wenn man bei usepackage{graphics} die Option demo einfügt und picture (was soll das sein?) durch figure ersetzt. Problem wird auch sichtbar. Aber eine Lösung zu finden...

maknu
06-12-2010, 15:44
Ok, ich hab mal das komplizierte Teil gelöscht. Nunmal eins ums andere und ganz konkret:

Könnt ihr mir bestätigen, dass es unmöglich ist, mit der Basis \marginpar, Marginalien auf Absatzhöhe von Gleitumgebungen zu platzieren? Wenn doch, könnt ihr mir ein Beispiel geben, ich fand wirklich keines und habe gestern bis um 4 Uhr nachts recherchiert
Ich behaupte es geht nur mit dem package \marginnote. Folgend ein Beispiel meines Problems mit \marginnote. Es platziert die Marginalie am richtigen Ort, doch wenn man genau hinschaut ist innerhalb der Marginalie die erste Zeile versetzt. Wenn jemand wirklich hinbekommt, dass alle Zeilen gleich ausgerichtet sind (also nicht versetzt), dann wäre ich extrem dankbar eine aufschlussreiche Antwort zu bekommen. Das Minimalbeispiel ist nun wirklich sehr minimal und auf Unix compilierbar geworden...



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Allgemeiner Header mit scrreprt %%
%% Autor: Marcel Knupfer %%
%% Quellen: -scrguide %%
%% -www.dante.de %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%-------------------------------------------------
%Dokumentklasse und allgemeine Pakete
%-------------------------------------------------
\documentclass[
11pt, %Fontsize fürs gesamte Dokument
bibliography=totocnumbered, %Literaturverzeichnis im Inhaltsverzeichnis
listof=numbered, %Restliche Verzeichnisse (Abbildungen, Tabellen) nummeriert
final, %für Endversion (draft -> ohne bilder und links, Anzeige von Fehlern)
parskip=half, %Halbe Zeile Abstand zwischen Abs‰tzen.
twoside=true %zweiseitig
]{scrreprt} %Koma Script Report

\usepackage[T1]{fontenc} %Formatierung: Umlaute werden als eigene Zeichen interpretiert
\usepackage[latin1]{inputenc} %Formatierung: Umlaute erkennen
\usepackage[ngerman]{babel} %Formatierung: Silbentrennung neue deutsche Rechtschreibung
\usepackage{multicol} %Tabellen: mit Zellen über mehrere Spalten
\usepackage{multirow} %Tabellen: mit Zellen über mehrere Zeilen
\usepackage{booktabs} %Tabellen: \toprule \midrule \bottomrule
\usepackage{ragged2e} %Marginalien: Ausrichtung und Silbentrennung


\newcommand{\changefont}[3]{\fontfamily{#1}\fontseries{#2}\fontshape{#3}\sele ctfont}

%-------------------------------------------------
% Marginalien/Seitenr‰nder
%-------------------------------------------------

\usepackage{marginnote}
\newcommand{\marg}[1]{\marginnote{\RaggedRight \fontsize{9.5}{13.5}\selectfont \selectfont \changefont{lmss}{b}{n} #1}}

\usepackage[
%includemp, %marginalien in Textkörper einbeziehen
%includeall,
%showframe, %zeigt rahmen zum debuggen
marginparwidth=30mm, %breite der marginalien
marginparsep=5mm, %abstand marginalien - text
%reversemarginpar, %marginalien links statt rechts
left=25mm, %abstand von Seitenraendern
right=45mm, %
top=30mm,
bottom=30mm,
twoside
]{geometry}

\begin{document}

Lorem ipsum dolor \marg{Invidunt ut labore et dolore magna labore et dolore } sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\marg{Messtabelle}\begin{table}[!ht]
\centering
\begin{tabular}{llllll}
\toprule
Last $R_L$ & Luftspalt $\delta$ [mm] & $\hat u_1$ [V] & $\hat i_1$ [A] & $\Delta t$ [ms] & $\varphi$ [°] \\
\midrule
\multirow{5}{*}{5 $\Omega$} & 0 & 21.4 & 0.777 & 4.3 & 77.4 \\
& 0.7 & 21.4 & 0.543 & 4.3 & 77.4 \\
& 2.8 & 21.4 & 0.543 & 4.3 & 77.4 \\
& 7.6 & 21.4 & 0.672 & 4.4 & 79.2 \\
& offen & 21.4 & 0.858 & 4.4 & 79.2 \\
\bottomrule
\end{tabular}
\caption{Messresultate von Zeitdifferenzen}
\end{table}

\end{document}

rstuby
06-12-2010, 15:56
Das mit der Ausrichtung geht einfach:

\usepackage{marginnote}
\newcommand{\marg}[1]{\marginnote{\RaggedRight\fontsize{9.5}{13.5}\sele ctfont\selectfont\changefont{lmss}{b}{n}#1}}

Xenara
06-12-2010, 16:01
Soweit ich dich verstehe, willst du keine Einrückung bei den Marginalien? Das scheint an deinen Leerzeichen im \newcommand zu liegen.
Und wenn man die Marginalie in die table setzt, finde ich, sieht die Anmerkung eigentlich ganz stimmig aus.



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Allgemeiner Header mit scrreprt %%
%% Autor: Marcel Knupfer %%
%% Quellen: -scrguide %%
%% -www.dante.de %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%-------------------------------------------------
%Dokumentklasse und allgemeine Pakete
%-------------------------------------------------
\documentclass[
11pt, %Fontsize fürs gesamte Dokument
bibliography=totocnumbered, %Literaturverzeichnis im Inhaltsverzeichnis
listof=numbered, %Restliche Verzeichnisse (Abbildungen, Tabellen) nummeriert
final, %für Endversion (draft -> ohne bilder und links, Anzeige von Fehlern)
parskip=half, %Halbe Zeile Abstand zwischen Abs‰tzen.
twoside=true %zweiseitig
]{scrreprt} %Koma Script Report

\usepackage[T1]{fontenc} %Formatierung: Umlaute werden als eigene Zeichen interpretiert
\usepackage[latin1]{inputenc} %Formatierung: Umlaute erkennen
\usepackage[ngerman]{babel} %Formatierung: Silbentrennung neue deutsche Rechtschreibung
\usepackage{multicol} %Tabellen: mit Zellen über mehrere Spalten
\usepackage{multirow} %Tabellen: mit Zellen über mehrere Zeilen
\usepackage{booktabs} %Tabellen: \toprule \midrule \bottomrule
\usepackage{ragged2e} %Marginalien: Ausrichtung und Silbentrennung


\newcommand{\changefont}[3]{\fontfamily{#1}\fontseries{#2}\fontshape{#3}\sele ctfont}

%-------------------------------------------------
% Marginalien/Seitenr‰nder
%-------------------------------------------------

\usepackage{marginnote}
\newcommand{\marg}[1]{\marginnote{%
\RaggedRight%
\fontsize{9.5}{13.5}%
\selectfont%
\selectfont%
\changefont{lmss}{b}{n}%
#1}}

\usepackage[
%includemp, %marginalien in Textkörper einbeziehen
%includeall,
%showframe, %zeigt rahmen zum debuggen
marginparwidth=30mm, %breite der marginalien
marginparsep=5mm, %abstand marginalien - text
%reversemarginpar, %marginalien links statt rechts
left=25mm, %abstand von Seitenraendern
right=45mm, %
top=30mm,
bottom=30mm,
twoside
]{geometry}

\begin{document}

Lorem ipsum dolor \marg{Invidunt ut labore et dolore magna labore et dolore } sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

%\marg{Messtabelle}
\begin{table}[!ht]
\marg{Messtabelle}
\centering
\begin{tabular}{llllll}
\toprule
Last $R_L$ & Luftspalt $\delta$ [mm] & $\hat u_1$ [V] & $\hat i_1$ [A] & $\Delta t$ [ms] & $\varphi$ [°] \\
\midrule
\multirow{5}{*}{5 $\Omega$} & 0 & 21.4 & 0.777 & 4.3 & 77.4 \\
& 0.7 & 21.4 & 0.543 & 4.3 & 77.4 \\
& 2.8 & 21.4 & 0.543 & 4.3 & 77.4 \\
& 7.6 & 21.4 & 0.672 & 4.4 & 79.2 \\
& offen & 21.4 & 0.858 & 4.4 & 79.2 \\
\bottomrule
\end{tabular}
\caption{Messresultate von Zeitdifferenzen}
\end{table}

\end{document}

u_fischer
06-12-2010, 16:07
Könnt ihr mir bestätigen, dass es unmöglich ist, mit der Basis \marginpar, Marginalien auf Absatzhöhe von Gleitumgebungen zu platzieren?


Ja, \marginpar läuft nicht gut mit figure etc.


Wenn doch, könnt ihr mir ein Beispiel geben, ich fand wirklich keines und habe gestern bis um 4 Uhr nachts recherchiert

Ich finde es ja lobenswert, dass du selbst suchst. Du solltest aber rechtzeitig aufhören. Wenn du nach einer halben Stunde kein Land siehst, höre auf und investiere etwas von der gesparten Zeit in eine vernünftige Frage mit ordentlichem Minimalbeispiel.


doch wenn man genau hinschaut ist innerhalb der Marginalie die erste Zeile versetzt.

Nun, du hast ja auch ein Leerzeichen zwischen deinem \changefont-Befehl und dem Argument #1.

maknu
06-12-2010, 16:24
An alle: Alle hatten meinen Fehler sofort gefunden, herzlichen Dank! Habe sehr viel Freude, dass es endlich so funkt wie ich es möchte! Super Forum!


Ja, \marginpar läuft nicht gut mit figure etc.
Danke vielmals für diese Bestätigung, das hat mir sehr geholfen


Ich finde es ja lobenswert, dass du selbst suchst. Du solltest aber rechtzeitig aufhören. Wenn du nach einer halben Stunde kein Land siehst, höre auf und investiere etwas von der gesparten Zeit in eine vernünftige Frage mit ordentlichem Minimalbeispiel.
Ja, ich hätte auf jedenfall das Minimalbeispiel besser bringen können. Nächstesmal werde ich es bestimmt besser machen ;) Die Stunden investiere ich um meine LaTeX Kenntnisse zu verbessern, bin erst seit 2 Monaten dran...


Nun, du hast ja auch ein Leerzeichen zwischen deinem \changefont-Befehl und dem Argument #1.
Genau das wars! Vielen herzlichen Dank!