goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Bücher:

PSTricks neue Auflage


Forenstatistik:
Beiträge: 41187
Seitenaufrufe:
342140 PIs (Mai 2012)

Top-Poster: KOMA (2637)

Wir begrüßen unseren neuesten Benutzer binchen700.

Partner:

KOMA-Script



TeXblog



LaTeX Community




Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Grundsätzlich: Wie umfangreiche Text(!)-Tabellen in Latex?

 

Sirius3
Forum-Anfänger
Forum-Anfänger

Beiträge: 14
Anmeldedatum: 30.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2012, 18:34     Titel:
  Antworten mit Zitat      
Hallo,

die Itemize-Umgebung hat doch nicht ganz so wollen, wie ich wollte.
Hier nun das Beispiel:
Code:
\documentclass{article}
\usepackage{needspace}

\def\makeLabel#1#2{\begin{minipage}[t]{2.5cm}\begin{raggedleft}\textsf{\footnotesize
#1
\rule[4pt]{1cm
}{0.4pt}\\
#2
}\end{raggedleft}\end{minipage}}

\def\makeLabelB#1#2{\setbox1=\hbox{\makeLabel{#1}{#2}}\par\Needspace{\dp1}%
  \item\dp1 0pt\hskip-5mm\hskip-\wd1\box1\hskip5mm\ignorespaces}
\newenvironment{quellen}{\list{}{\leftmargin3cm\itemsep\baselineskip}}{\endlist}

\begin{document}

\begin{quellen}
\makeLabelB{
Nr. 1289/2738\\
S. 120 / f. 302va\\
}{
Jahr 1525\\
Lorem 1.\\
(Ips)\\
}
Lorem ...
\end{quellen}
\end{document}


Abstände müssen natürlich individuell angepasst werden;-)

Grüße
Sirius

quellen.png
 Beschreibung:

Download
 Dateiname:  quellen.png
 Dateigröße:  29.18 KB
 Heruntergeladen:  112 mal
Private Nachricht senden Benutzer-Profile anzeigen

Genmutant
Forum-Century
Forum-Century

Beiträge: 182
Anmeldedatum: 08.07.08
Wohnort: Augsburg
Version: MiKTeX 2.9, TeXStudio
     Beitrag Verfasst am: 08.08.2012, 18:55     Titel:
  Antworten mit Zitat      
Oh, das schaut aber sehr hübsch aus Smile
Private Nachricht senden Benutzer-Profile anzeigen

eco
Forum-Anfänger
Forum-Anfänger

Beiträge: 19
Anmeldedatum: 03.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2012, 17:18     Titel:
  Antworten mit Zitat      
Hey!

@Sirius3: Genmutant hat vollkommen recht: Das ist echt prima! Ich danke dir sehr für deine Hilfe, mit diesem Arrangement sollte ich wirklich arbeiten können! Vielen Dank dafür!!!

Es gibt nur noch eine Kleinigkeit, die ich an deinem Beispiel (welches ich einfach komplett übernommen habe und nun mit meinen Inhalten fülle) nicht hinbekomme:

Ich kopiere einfach immer die gesamte Umgebung und füge neuen Text ein. An einigen Stellen ist der Text in der rechten Spalte relativ kurz. (Auch das kommt vor). Der Abstand zum vorherigen Text stimmt dann nicht mehr und die gesamte "Zeile" rutscht in den oberen Text hinein. Es scheint, als würde Latex die rechte Spalte als Grundlage für die Bemessung des Zeilenabstands nehmen. Gibt es dafür auch noch eine Lösung?

Ich habe deinen Quellcode einfach mal mit einem Blindtext gefüllt. Das Beispiel zeigt das Problem.

Viele Grüße!

Code:

\documentclass{article}
\usepackage{needspace}

\def\makeLabel#1#2{\begin{minipage}[t]{2.5cm}\begin{raggedleft}\textsf{\footnotesize
#1
\rule[4pt]{1cm
}{0.4pt}\\
#2
}\end{raggedleft}\end{minipage}}

\def\makeLabelB#1#2{\setbox1=\hbox{\makeLabel{#1}{#2}}\par\Needspace{\dp1}%
  \item\dp1 0pt\hskip-5mm\hskip-\wd1\box1\hskip5mm\ignorespaces}
\newenvironment{quellen}{\list{}{\leftmargin3cm\itemsep\baselineskip}}{\endlist}

\begin{document}

\begin{quellen}
\makeLabelB{
Nr. 1289/2738\\
S. 120 / f. 302va\\
}{
Jahr 1525\\
Lorem 1.\\
(Ips)\\
}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\end{quellen}
\begin{quellen}
\makeLabelB{
Nr. 1289/2738\\
S. 120 / f. 302va\\
}{
Jahr 1525\\
Lorem 1.\\
(Ips)\\
}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo.\end{quellen}
\end{document}
[/code]
Private Nachricht senden Benutzer-Profile anzeigen

Sirius3
Forum-Anfänger
Forum-Anfänger

Beiträge: 14
Anmeldedatum: 30.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2012, 20:22     Titel:
  Antworten mit Zitat      
Hallo eco,

solangsam wird das ja fast ein richtiges Packet:
Code:
\documentclass{article}

%%%%%%%%%%%%%%%%%%%%%%%%%
% Itemize-Umgebung mit mehrzeiligen Labels
%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{needspace}  % wird gebraucht, damit die linke Spalte
% nicht ueber das Ende einer Seite rutscht

% setzt das mehrzeilige Label:
\def\makeLabel#1#2{\begin{minipage}[t]{2.5cm}\begin{raggedleft}\textsf{\footnotesize
#1
\rule[3pt]{1cm
}{0.4pt}\\
#2
}\end{raggedleft}\end{minipage}}

% Umgebung für ein Item
\makeatletter
\def\quelle#1#2{\par
  \setbox0=\hbox{\makeLabel{#1
}{#2}\hskip5mm}
  \dimen@=\dp0 \advance\dimen@\ht0 \dp0=\z@
  \setbox0=\vbox\bgroup
    \parshape 1 \@totalleftmargin \linewidth
    \item\hskip-\wd0\box0\ignorespaces}
\def\endquelle{\egroup
  \ifdim\ht0<\dimen@
    \ht0=\dimen@
    \box0
  \else
    \Needspace{\dimen@
}
    \unvbox0
  \fi}
\makeatother

% Umgebung, in der die Items stehen
\newenvironment{quellen}{\list{}{\leftmargin3cm\itemsep\baselineskip}}{\endlist}

% Beispiel:
\begin{document}
\begin{quellen}
\begin{quelle}{
Nr. 1289/2738\\
S. 120 / f. 302va\\
}{
Jahr 1525\\
Lorem 1.\\
(Ips)\\
}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\end{quelle}

\begin{quelle}{
Nr. 1289/2738\\
S. 120 / f. 302va\\
}{
Jahr 1525\\
Lorem 1.\\
(Ips)\\
}
Lorem ipsum ...
\end{quelle}
\end{quellen}

\end{document}


Die quellen-Umgebung faßt alle Einträge zusammen, wärend eine quelle-Umgebung
einen einzelnen Eintrag enthält.
Für alle, die wissen wollen wie es funktioniert:
Wir starten im Macro \quelle.
1) das Label wird zusammengebaut und seine Gesamthöhe in \dimen@ gespeichert.
2) der gesamte Eintrag wird als \vbox erstellt
Der \parshape ist aus der itemize-Umgebung kopiert, um den Text links einzurücken.
Am Ende des Fließtextes landen wir im Macro \endquelle
und beenden die \vbox aus 2).
3) ist die Höhe des Fließtextes kleiner als die des Labels, wird die Höhe entsprechend
vergrößert und die Box kommt als ganzes auf die Seite.
4) andernfalls wird die Box wieder aufgebrochen (\unvbox) damit der Seitenumbruchs-
algorithmus von TeX seine Arbeit tun kann.
5) Fertig.

Grüße
Sirius
Private Nachricht senden Benutzer-Profile anzeigen

eco
Forum-Anfänger
Forum-Anfänger

Beiträge: 19
Anmeldedatum: 03.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.08.2012, 18:53     Titel:
  Antworten mit Zitat      
Hallo!

@Sirius3: Ich bin – wenn ich das so sagen darf – schwer beeindruckt! Das sieht nun wirklich nach viel Arbeit aus, und ich bin dir sehr dankbar!

Ich habe in den letzten Tagen noch erst etwas mit Blindtext gearbeitet, um dein "Paket" einmal so richtig anzuwenden. Die letzten beiden Tage schließlich habe ich damit verbracht, dann endlich auch einmal etwas von meinen Ergebnissen zu übertragen, damit ich nicht nur Lorem ipsum lesen muss, sondern das ganze dann mal live und in Farbe sehe. Die Überführung in die Umgebung der einzelnen Items war zwar etwas mühsam, aber damit war ja zu rechnen.

Ganz hervorragend finde ich, dass sich im Text weiterhin mit den gängigen Befehlen wie \emph oder \textbf arbeiten lässt. Auch die Schreibung in {\sc Kapitälchen} funktioniert – gut: wieso hätte es auch anders sein sollen, aber ich freu mich grad' darüber!

Deine Umgebung habe ich maßvoll angepasst – freilich nach dem try and error Prinzip, d.h. ich habe so lange die Parameter verändert, bis etwas sinnvolles dabei heraus kam. Das ganze erzähle ich hier noch einmal, weil ich wie immer für Feedback und bessere Herangehensweisen offen bin!

Hauptsächlich habe ich die Schrift des mehrzeiligen Labels deutlich verkleinert, den Abstand nach rechts etwas vergrößert und die Trennlinie dünner gemacht:

Code:

\def\makeLabel#1#2{\begin{minipage}[t]{2.7cm}\begin{raggedleft}\textsf{\tiny
#1
\rule[3pt]{1cm
}{0.2pt}\\
#2
}\end{raggedleft}\end{minipage}}
 


Zudem habe ich mich entschieden, die Items etwas kleiner zu gestalten, so dass das Label nur noch drei und nicht mehr vierzeilig ist. (Was den größeren Abstand nach rechts erklärt, da die dritte Zeile nun länger ist.)

Code:

\begin{quelle}{
Nr. 1289/2738\\
S. 120 / f. 302va\\
}{
1525 Lorem 1. (Ips)\\
}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\end{quelle}
 


Um die Schrift der rechten "Spalte" insgesamt zu verkleinern (und mehr Text auf jede Seite zu bekommen) habe ich innerhalb der Umgebung die Schriftgröße pauschal verkleinert.

Code:

\beginn{quellen}
\small
\beginn{quelle}
...
\end{quelle}
...
\end{quellen}
 


Um den Abstand der einzelnen Items noch etwas besser hinzubekommen (der Abstand zw. dem ersten und dem zweiten ist ein anderer, als zwischen dem zweiten und dritten bzw. zwischen allen anderen!) habe ich zwischen jedes einen \smallskip eingefügt.

Der kurze einleitende Text hinter einer \subsection{Überschrift} und dem ersten Item ist mit einem \vspace{\baselineskip} abgesetzt. Dazu muss ich erwähnen, dass ich jedes Kapitel in einer eigenen *.tex-Datei anfertige und mittels \include{Dateiname} in einer Hauptdatei einfüge.

Da ich gewisse Einträge farblich hinterlegen möchte (um Querverweise aufzuzeigen) habe ich geladen: \usepackage{framed, xcolor}. Das sieht dann bei mir so aus:

Code:

\beginn{quellen}
\small
\begin{shaded}\beginn{quelle}
...
\end{quelle}\end{shaded}
...
\end{quellen}
 


Bei mehreren Einträgen in Folge wandert das \end{shaded} weiter nach unten.

Hier bekomme ich jedoch zwei Dinge nicht hin:

1.
Die Abstände nach oben und unten sind abweichend. Manchmal muss ich durch \\ eine Leerzeile einfügen, damit der gesamte Text grau hinterlegt wird. In Gänze betrachtet hauen die Abstände jedoch noch nicht 100%ig hin! Mal sind sie oben etwas größer, mal unten.

2.
Ich kann keine Items in anderen Graustufen hinterlegen. Sämtliche Experimente mit Farbboxen sind gescheitert, da sie sich nie genau mit den Abständen der Items decken. Im Moment nutze ich die \usepackage{framed} Option {framed} (statt {shaded}), aber auch das klappt (wie in Frage 1.) nur zu 90%. Die ausgedruckte Seite bzw. die *.pdf am Bildschirm sieht da nicht gleichmäßig aus, da es zu kleineren Lücken kommt.

Nichtsdestoweniger bin ich bisher sehr zufrieden über die bisherigen Ergebnisse! Ich möchte mich daher noch einmal bei allen konstruktiven Beiträgen und Anregungen bedanken, besonders natürlich noch einmal bei Sirius3 für dessen Mühe!

Da jeder, der eine Abschlussarbeit/Diss etc. geschrieben hat, weiß, dass man bei solchen Sachen stets bemüht ist, das wirklich Beste abzuliefern, bin ich so frei, die oben angesprochenen 2 Punkte (hoffentlich: Pünktchen) noch einmal zur Debatte zu stellen.

Viele Grüße
Eco
Private Nachricht senden Benutzer-Profile anzeigen

Sirius3
Forum-Anfänger
Forum-Anfänger

Beiträge: 14
Anmeldedatum: 30.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2012, 16:08     Titel:
  Antworten mit Zitat      
Hallo Eco,

ich hab mal versucht, deine Probleme mit den Abständen nachzuvollziehen.
Das Paket framed macht bei mir seltsame Dinge, aber schon in ganz normalem
Text. Vielleicht kannst Du ein kurzes Beispiel machen, das zeigt, wo die Abstände
nicht zu 100% passen.

Grüße
Sirius
Private Nachricht senden Benutzer-Profile anzeigen

eco
Forum-Anfänger
Forum-Anfänger

Beiträge: 19
Anmeldedatum: 03.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2012, 17:10     Titel:
  Antworten mit Zitat      
Hey!

Ich habe hier einfach mal ein kleines Beispiel angefügt. Zwar wieder nur mit Blindtext, aber es verdeutlicht die Problematik doch anschaulich.

Ich will mich nicht an dem Paket framed festhalten. Es schien mir nur das am leichtesten anwendbare. Da es nun jedoch nicht optimal klappt, bin ich für Alternativen offen Smile

Ich hab' mich mal an einem Minimalbeispiel versucht und hier meine ganz normale Präambel genommen, daraus jedoch alles wieder entfernt, was für die Angelegenheit hier unwichtig ist.

Code:

\documentclass[titlepage]{scrartcl}                   %Dokumentenklasse. Hier mit Option "Titelseite"
\usepackage{geometry}                        %Einrichtung der Seite.
\geometry{a4paper, top=20mm, left=20mm, right=20mm, bottom=30mm}
\usepackage[utf8]{inputenc}                      %Paket zur Kodierung für alle Systeme (Mac/Win/ Unix).
\usepackage[german, ngerman]{babel}                %Paket für die Besonderheiten der deutschen Sprache.
\usepackage[onehalfspacing]{setspace}               %Paket für den Zeilenabstand. Hier anderhalbfacher; nicht für Fußnoten.
\usepackage{framed}
\usepackage{xcolor}                           %Paket für Farben.
\usepackage{needspace}                        %Paket für Abstände zwischen Text. Wird hier vor allem für den Anhang benötigt.
\usepackage[T1]{fontenc}
\setlength{\headheight}{1.1\baselineskip}            %Legt die Höhe des Leerraumes fest, der am oberen Seitenrand für eine Kopfzeile reserviert wird.

\colorlet{shadecolor}{gray!25}

%Itemize-Umgebung mit mehrzeiligen Labels%
%%%%%   Für den Anhang   %%%%

%Damit die linke Spalte nicht über das Ende einer Seite rutschst wird das \usepackage{needspace} benötigt. Ist oben eingebunden!

%Das mehrzeilige Label wird definiert.
\def\makeLabel#1#2{\begin{minipage}[t]{2.7cm}\begin{raggedleft}\textsf{\tiny
#1
\rule[3pt]{1cm
}{0.2pt}\\
#2
}\end{raggedleft}\end{minipage}}

%Die Umgebung für ein Item:
\makeatletter
\def\quelle#1#2{\par
  \setbox0=\hbox{\makeLabel{#1
}{#2}\hskip5mm}
  \dimen@=\dp0 \advance\dimen@\ht0 \dp0=\z@
  \setbox0=\vbox\bgroup
    \parshape 1 \@totalleftmargin \linewidth
    \item\hskip-\wd0\box0\ignorespaces}
\def\endquelle{\egroup
  \ifdim\ht0<\dimen@
    \ht0=\dimen@
    \box0
  \else
    \Needspace{\dimen@
}
    \unvbox0
  \fi}
\makeatother

%Die Umgebung, in der die Items stehen:
\newenvironment{quellen}{\list{}{\leftmargin3cm\itemsep\baselineskip}}{\endlist}

\begin{document}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim:

\begin{quellen}
%Hier ist der Abstand nach oben nun größer als nach unten.
\begin{shaded}\begin{quelle}{
Nr. 1289/2738\\
S. 120 / f. 302va\\
}{
1525 Aug. 12\\
}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
\end{quelle} \end{shaded}
\small
%Hier nur ein weiterer Eintrag mit authentischer Länge.
\begin{quelle}{
Nr. 1289/2738\\
S. 120 / f. 302va\\
}{
1525 Aug. 12\\
}
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo.
\end{quelle}
\small
%Hier wieder was kurzes. Länge nach unten nur durch zwei "\\" erreicht. Einfach mal wegnehmen, um zu sehen was passiert. Der Abstand zum vorherigen Beitrag ist rieseig.
\begin{shaded} \begin{quelle}{
Nr. 1289/2738\\
S. 120 / f. 302va\\
}{
1525 Aug. 12\\
}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
\\
\\
\end{quelle} \end{shaded}
%Hier schließlich ein Beispiel mit {framed} (zur Unterscheidung von {shaded}, wobei mit ein zweites {shaded} in einem anderen Grauton lieber wäre, aber das gibt das Paket nicht her. Hier stimmen weder die Ränder links/rechts, noch die Abstände oben/unten.
\begin{framed}\begin{quelle}{
Nr. 1289/2738\\
S. 120 / f. 302va\\
}{
1525 Aug. 12\\
}
Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo.
\end{quelle}\end{framed}
\end{quellen}

\end{document}
 
Private Nachricht senden Benutzer-Profile anzeigen

eco
Forum-Anfänger
Forum-Anfänger

Beiträge: 19
Anmeldedatum: 03.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2012, 11:49     Titel:
  Antworten mit Zitat      
Hey!

Hat schon jemand eine Lösung oder eine Alternative gefunden?

VG
Eco
Private Nachricht senden Benutzer-Profile anzeigen

eco
Forum-Anfänger
Forum-Anfänger

Beiträge: 19
Anmeldedatum: 03.08.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.11.2012, 19:29     Titel:
  Antworten mit Zitat      
Hallo Forum!

Das ist sicherlich nicht der Weisheit letzter Schluss, aber ich habe nun eine Lösung gefunden die mich zufrieden stellt. Und die möchte ich euch nun nicht vorenthalten. Vielleicht hat ja irgendwann jemand das gleiche Problem.

Ich habe mich von allen Tabellen-Umgebungen und Minipage-Versuchen getrennt und habe das Problem von vorne auf neu durchdacht.

Die beiden Zauberworte heißen:

Code:

\usepackage{parcolumns}   % Paket für mehrere Spalten pro Seite.
\usepackage{mdframed}   % Paket für farbl. Hintergrund etc.
 


Wie in einem Zeitungsartikel werden mehrer Spalten auf einer Seite eingerichtet. Der Clou: Die Einträge beginnen immer auf einer Höhe. Das Paket kann korrekt am Seitenende auf die Folgeseite umbrechen.

Ich habe die zusammenhängenden Spalten neu definiert:

Code:

\newcommand{\colorplace}[1]{
\begin{mdframed
}[backgroundcolor=#1]
\colplacechunks
\end{mdframed}
}
 


Das Argument #1 ist dann jeweils die Hintergrundfarbe, die ich an anderer Stelle ebenfalls definiert habe.

Ein Eintrag sieht dann z.B. so aus:

Code:

\colchunk[1]{Text in linker Spalte.}
\colchunk[2]{Text in mittlerer Spalte}
\colchunk[3]{Text in rechter Spalte}
\colorplace{white} % Ohne Hintergrundfarbe = weiß! Sonst stimmen die Abstände nicht mehr.
 


Alle normalen Formatierungen (\emph\bf\sc etc.) sind möglich. Gleiches gilt für hängende Zeilen, links- oder rechtsbündig etc.

Für Details siehe die Dokumentation beider Pakete – es ist teilw. sehr umfangreich. Gerade mdframed kann wohl sehr viel. Da ist mitunter viel Feintuning möglich.

MfG
eco
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen Gehe zu Seite Zurück  1, 2



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | Werbung/Mediadaten | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2013 goLaTeX.de
Partner: LabVIEWforum.de