PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Überschrift und Aufzählung wird getrennt



Dee
09-12-2008, 22:18
Hallo,

das Problem ist wahrscheinlich simpel zu lösen, mir fällt nur nichts Gescheites ein.

Minimalbeispiel: http://www.deesaster.org/sonst/links-problems.tex
PDF-Dokument: http://www.deesaster.org/sonst/links-problems.pdf

Ich habe am Ende eines Textes diverse Links in einer Aufzählung. Davor habe ich eine selbst gebastelte Überschrift. Das Problem ist, dass diese beiden (obwohl für mich fest zusammengehörend) leider oft getrennt werden.

Meine Frage: Wie kann ich diese "verbinden"? Das bedeutet, dass entweder

A) noch ein Link von der dritten Spalte in die zweite geholt wird

oder

B) Das "Links" in die dritte Spalte wandert.

Wenn ich zum Beispiel ein \section{Links} einfüge, dann klappt das, wie es soll. Ist es sinnvoll, zum Beispiel \subsection zu missbrauchen und hierfür umzudefinieren? Wenn ja, geht dies überhaupt mit meinen Wünschen (also rechtsbündig mit Linie unten drunter)?

Das im Text stehende Links hat auch weitere Probleme, die man ggf. gleichzeitig lösen kann:
1. Je nach Füllung der Seite ist der Abstand zwischen "Links" und der Aufzählung sehr variabel.
2. Wenn ich manuell ein \columnbreak vor "Links" einfüge, steht das "Links" in der nächsten Spalte in manchen Fällen zu weit unten, fängt also nicht oben bündig mit der Seite an. (Kommt wahrscheinlich durch das \vspace.)

Gibt es andere Ideen, wie ich dies besser umsetzen kann?

Viele Grüße
Dee

Dee
12-12-2008, 06:52
Na sowas. Hat niemand eine Idee?

Gruß Dee

Xenara
12-12-2008, 08:58
Guck mal, ob das so in etwa hinkommt:



\documentclass[12pt,landscape]{scrreprt}

\usepackage{multicol} % ermöglicht 3 und mehr Spalten
\usepackage{hyperref} % Hyperlinks


% Neue Subsection: Unterstrichen und rechtsbündig. Aufruf über \mysubsection{Überschrift}
\newcommand{\mysubsection}[1]{
% Name "mysubsection" frei wählbar
\subsection*{
\begin{tabular}{@{} p{\columnwidth} }
% das @{} ist nötig, sonst ist die Überschrift nicht mit dem Text bündig
\hfill #1 \\[-2.32ex]
% Negativer Abstand -2.32 entspricht mit den momentanen Einstellungen für rule exakt dem Abstand zu den Buchstaben, wie es mit einem \underline wäre
\hfill \rule{2cm}{1.5pt}
\end{tabular}
}}

\begin{document}

\begin{multicols}{3}[\textbf{{\Large De finibus bonorum et malorum}}\\]

\textbf{Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.}

\section*{Duis autem}
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

\subsection*{Ut wisi}
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.

\section*{Nam liber}
Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

%% Linktext als Beispiel
%\vspace{3mm}
%\rightline{\textsc{\large Links}}%
%\vspace{-4.1mm}%
%\rightline{\rule{2cm}{1.5pt}}%
%\vspace{-4mm}%


%\subsection*{\flushright{\underline{Links}}} % Zum Vergleich

\mysubsection{Links} % Die neue Subsection

\begin{enumerate}
\item \url{http://www.linuxdevices.com/news/NS6684279122.html}
\item \url{http://www.linux-magazin.de/news/video_linux_netbook_inspiron_mini_9_von_dell}
\item \url{http://www.linux-community.de/Neues/story?storyid=27011}
\item \url{http://www.gin-online.de/downloads/nachwuchspreis_2007/Diplomarbeit_Neis.pdf}
\end{enumerate}

\subsection*{Duis autem}
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

\end{multicols}


\end{document}

Dee
12-12-2008, 20:21
Hallo Xenara,

Danke für den Vorschlag, an Tabellen habe ich gar nicht gedacht. Damit unten der Abstand kleiner ist, habe ich es auf



% Neue Subsection: Unterstrichen und rechtsbündig. Aufruf über \mysubsection{Überschrift}
\newcommand{\mysubsection}[1]{
% Name "mysubsection" frei wählbar
\subsection*{
\begin{tabular}{@{} p{\columnwidth} }
% das @{} ist nötig, sonst ist die Überschrift nicht mit dem Text bündig
\hfill #1 \\[-2.32ex]
% Negativer Abstand -2.32 entspricht mit den momentanen Einstellungen für rule exakt dem Abstand zu den Buchstaben, wie es mit einem \underline wäre
\hfill \rule{2cm}{1.5pt} \\[-2.32ex]
\end{tabular}
}}
geändert.

Das Problem ist nun aber, dass der Abstand in der dritten Spalte oben zu groß ist. Sprich, das "Links" schließt nicht bündig mit der obersten Zeile ab. Sollte das @{} nicht dafür sorgen? Das klappt zumindest bei mir leider nicht.

Alle Versuche, das Links per \vspace zu verschieben, sind leider gescheitert. Ich krieg es einfach nicht höher, wenn die Tabelle folgen soll. Wenn ich es nach oben ziehe, wird es auf die vorherige Seite geschrieben.

Zusätzlich muss ich noch eine Bedingung hinzufügen, die es etwas erschwert:



\usepackage{titlesec} % Anpassung der Überschriften


Wenn man das einfügt, "klebt" der letzte Teil aus dem vorherigen Absatz an der \mysection. Sprich, obwohl in Spalte zwei Platz genug ist, wird die letzte Zeile des Absatzes in Spalte drei gedruckt, dann kommt viel Platz und dann kommt die Tabelle. Ich mache mir also klasse Hurensöhne damit. :( Ich benötige das Paket aber "leider", um die Abstände vor und nach meinen sections selbst zu definieren.

Hier mal das Problem: http://www.deesaster.org/sonst/links-problems2.tex
Und als PDF: http://www.deesaster.org/sonst/links-problems2.pdf

Gruß Dee

Xenara
15-12-2008, 10:41
Probiers mal mit der Definition:



\newcommand{\mysubsection}[1]{%
\subsection*{%
\hfill #1 \\[-2.32ex]%
\hfill\rule{2cm}{1.5pt} \\[-2.65ex]
}}

Dee
15-12-2008, 22:18
Hm, jetzt stimmt zwar der Abstand zwischen letztem Abstand und "Links", aber nach "Links" wird die Spalte wieder umgebrochen. Aber okay, das kann ich nun immerhin mit einem \columnbreak davor umgehen und die nächste Spalte sieht dann gut aus.

Das ist bisher die beste Lösung, danke dafür.

Wenn aber noch jemandem einfällt, wie man das "Links" an die Aufzählung binden kann, bin ich an einer Lösung interessiert. Ich habe eben noch mit diversen Penalties und minipage/samepage experimentiert, aber das führte leider alles nicht zum Ziel.

Gruß Dee

Xenara
16-12-2008, 08:41
Nächster Versuch...



\newcommand{\mysubsection}[1]{%
\subsection*{%
\begin{tabular}{@{}p{\columnwidth}}
\hfill
{$\stackrel{\hfill \textbf{#1}}{\hfill\rule{2cm}{1.5pt}}$}
\end{tabular}
}
\vspace{-2.65ex}
}

Dee
16-12-2008, 20:43
Ah, wir nähern uns. :) Das mit dem Mathemodus ist nicht ganz so gut, habe nun aber folgende Lösung:



\usepackage{titlesec} % Anpassung der Überschriften

\titlespacing{\subsubsection}{0mm}{0mm}{-0.3ex}
\titleformat{\subsubsection}{\normalfont\large\scs hape}{}{0mm}{}

\newcommand{\mysubsection}[1]{
\subsubsection*{\begin{tabular}{@{}p{\columnwidth} }
\hfill #1 \\[-2.2ex]
\hfill \rule{2cm}{1.5pt}
\end{tabular}}
}


Das sieht bisher ziemlich gut aus. Vielen Dank nochmals für die Hilfe. :)

Gruß Dee

Xenara
17-12-2008, 08:08
Freut mich, dass du doch noch eine Lösung gefunden hast.

Rein aus Neugierde:
Was gefällt dir nicht am Mathemodus? Es war bei mir die einzige Variante, bei der weder getrennt wurde, noch die Überschrift nach unten verschoben wurde.
Trotz Tabelle wird bei dir die Überschrift nicht nach unten verschoben? Das war nämlich der Fall sowohl bei Tabelle als auch minipage, weshalb auch immer.

Dee
17-12-2008, 19:47
> Was gefällt dir nicht am Mathemodus?

Der Kontext, in dem ich das brauche, passt mit dem Mathemodus gar nicht. Ich hätte dann für diesen erst das Mathelayout anpassen bzw. umbiegen müssen.

> Trotz Tabelle wird bei dir die Überschrift nicht nach unten verschoben?

Ja, lustigerweise ging es damit. Wobei ich das aber in eine \subsubsection gesteckt habe, deren Abstände vorher umformatiert worden.

Gruß
Dee