Anzeige:
Ergebnis 1 bis 15 von 15

Thema: Zeilenumbruch in longtable in bestimmten Zeilen verhindern

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.04.2012
    Beiträge
    6

    Zeilenumbruch in longtable in bestimmten Zeilen verhindern

    Servus allerseits!

    Nachdem ich mich jetzt in den letzten 2 Monaten durch Latex durchgearbeitet habe und bisher noch zu jedem Problem irgendwo eine Lösung gefunden habe, bin ich jetzt an einem Punkt angelangt, an dem ich auf dem Schlauch stehe.

    Ich bin gerade dabei, meinen Lebenslauf in Latex zu schreiben und habe da meine Daten in verschiedene Tabellen gepackt. Da ich den Lebenslauf gerne als Makro schreiben und nicht noch von Hand anpassen würde, wollte ich für alle Fälle den Zeilenumbruch zwischen Tabellenüberschrift (nicht in Form einer Caption, sondern als in der ersten Tabellenzeile eingefügte Schrift) und der ersten "richtigen" Tabellenzeile unterbinden.
    In meinem ersten Entwurf (siehe zweite Tabelle im Beispiel) funktioniert das auch problemlos. Jetzt wollte ich aber den Abstand zwischen Überschrift und erster Zeile per Variable am Anfang des Dokuments festlegen und habe daher vspace eingefügt.
    Leider scheint nopagebreak jetzt keine Wirkung mehr zu zeigen.
    Code:
    \documentclass[10pt,a4paper,oneside,ngerman]{scrartcl}
    \usepackage[ngerman]{babel}
    \usepackage[T1]{fontenc}
    \usepackage[latin1]{inputenc}
    \usepackage{geometry}
    \usepackage{longtable}
    
    \geometry{a4paper, top=25mm, left=20mm, right=20mm, bottom=25mm, headsep=10mm, footskip=10mm}
    \usepackage[singlespacing]{setspace}
    \renewcommand{\arraystretch}{1.5}		
    
    \begin{document}
    bla
    \vspace{235mm}
    \pagebreak[3]
    \begin{longtable}{p{45mm}|p{120mm}}
    \multicolumn{2}{l}{\Large \textbf{Interessen} \vspace{3mm}}\\ \nopagebreak[4]
    aaaaaaaaaaaaaaa aaaaaaaaaa aaaa & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa \\
    \end{longtable}
    
    \vspace{176mm}
    \pagebreak[3]
    \begin{longtable}{p{45mm}|p{120mm}}
    \multicolumn{2}{l}{\Large \textbf{Interessen}} \\ \nopagebreak[4]
    \multicolumn{2}{l}{} \\ \nopagebreak[4]
    aaaaaaaaaaaaaaa aaaaaaaaaa aaaa & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa \\
    \end{longtable}
    
    \end{document}
    Wie kann ich es jetzt verhindern, dass bei der ersten Tabelle zwischen "Interessen" und der ersten Zeile der Zeilenumbruch auftritt? (zwischen späteren Zeilen ist er erwünscht, sollte es nötig sein!)
    Setzt man vspace vor der zweiten Tabelle auf 175mm, so springt die gesamte Tabelle nach oben. So sollte es eigentlich funktionieren...

    Da ich hier nicht mehr selbst weiter wusste... Vielen Dank schonmal für Eure Hilfe!

    Viele Grüße

  2. #2
    Registrierter Benutzer Avatar von André25
    Registriert seit
    19.08.2010
    Beiträge
    157
    Hallo Scotty!

    Das sieht sehr kompliziert aus. Hast Du schon man was von diesem Paket gehört: http://www.ctan.org/pkg/moderncv

    Das ergibt wirklich nette (und einfach gestaltete) Lebensläufe!


    Viele Grüße,

    André
    Fedora 20 64 bit :: Gnome 3.10.2 | TeX Live 2014 | TeXstudio
    Windows 7 Professional x64 | MiKTeX 2.9 | TeXstudio (mit Sumatra PDF

    ¹Anleitung

  3. #3
    ctansearch
    Gast
    Du versuchst mit der longtable, die dafür gemacht ist, Text automatisch über mehrere Seiten zu verteilen, das Gegenteil zu erreichen, nämlich Tabellen, die jeweils nur eine Seite füllen und manuell gesteuert sind.

    Entweder nimmst Du andere Tabellen (tabular,item,list) oder beginnst und beendest die longtables so, daß sie auf die Seiten passen.

    Das Herumzaubern mit Abständen und breaks brauchst Du dann nicht.

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.04.2012
    Beiträge
    6
    @André25: Das Paket kenne ich, ich würde aber gerne meinen eigenen individuellen Lebenslauf erstellen...

    @ctansearch: Longtables habe ich in diesem Fall absichtlich verwendet, da im Regelfall eines Lebenslaufs ein Seitenumbruch innerhalb der Auflistung ja meistens gegeben ist... Z.b. außerhalb des Minimalbeispiels brauche ich in meinem Lebenslauf diesen Seitenumbruch. Der Seitenumbruch zwischen den Unterpunkten ist ja auch erwünscht, nur zwischen der Überschrift und der nächsten Tabellenzeile würde ich ihn gerne vermeiden.

    Dennoch vielen Dank schonmal für Eure Hilfe, über weitere Vorschläge würde ich mich freuen!
    Geändert von Scotty (19-04-2012 um 22:30 Uhr)

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.11.2007
    Beiträge
    375
    Meinst du jetzt "Zeilenumbruch" oder "Seitenumbruch"? Bin etwas verwirrt...

    Christian.
    Ubuntu 16.04 -- TeX Live 2015 -- Emacs (AUCTeX, RefTeX)

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.04.2012
    Beiträge
    6
    Sorry, Seitenumbruch natürlich...

    Viele Grüße

  7. #7
    Registrierter Benutzer
    Registriert seit
    18.04.2012
    Beiträge
    4
    Hallo!
    Um den Seitenumbruch nach der Überschrift zu verhindern, musst du \endhead nach der Überschriftenzeile einfügen. Bei einer Longtable immer mindestens zweimal setzen.

    Code:
    \begin{longtable}{p{45mm}|p{120mm}}
    \multicolumn{2}{l}{\Large \textbf{Interessen} \vspace{3mm}}\\
    \endhead 
    aaaaaaaaaaaaaaa aaaaaaaaaa aaaa & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa \\
    \end{longtable}

  8. #8
    ctansearch
    Gast
    Eine echte Lösung habe ich nicht gefunden, aber anscheinend benutzt Du die Überschrift "Interessen" als Kolumnenüberschrift, weshalb eine \multiculomn etc nicht nötig ist.

    Code:
    \begin{longtable}{p{45mm}|p{120mm}}
    \Large \textbf{Interessen} \vspace{3mm}\\ \nopagebreak[4]
    aaaaaaaaaaaaaaa aaaaaaaaaa aaaa & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa\newline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa \\
    \end{longtable}

  9. #9
    Registrierter Benutzer Avatar von André25
    Registriert seit
    19.08.2010
    Beiträge
    157

    OT Zeilenumbruch in longtable in bestimmten Zeilen verhindern // Lebenslauf-Vorlage

    Hallo Scotty!

    Hast Du Lust, wenn Du fertig bist, eine Lebenslauf-Vorlage (LaTeX-Code) hier zu posten (mit abgeänderten Einträgen versteht sich ).

    Würde mich mal interessieren -- sieht soweit ganz nett aus...


    Grüße, André
    Fedora 20 64 bit :: Gnome 3.10.2 | TeX Live 2014 | TeXstudio
    Windows 7 Professional x64 | MiKTeX 2.9 | TeXstudio (mit Sumatra PDF

    ¹Anleitung

  10. #10
    Registrierter Benutzer
    Registriert seit
    19.04.2012
    Beiträge
    6
    Hallo!

    Vielen Dank schonmal soweit!
    Tut mir leid, dass ich so lange nicht geantwortet habe... Mit dem Update auf das neue Ubuntu hat es mir leider meinen MBR total zerschossen, Windows bekomme ich noch immer nicht wieder zum Laufen (und derzeit keine Zeit die Daten zu sichern und neu aufzusetzen) und unter Ubuntu habe ich die letzten Tage mit der Einrichtung von Latex gekämpft...

    Sobald alles wieder richtig läuft werde ich Eure Vorschläge ausprobieren, nochmals vielen Dank dafür!

    @André25: Mein Plan war es eigentlich eine Vorlage in der Art von moderncv zu schreiben (nicht dass ich gut in sowas wäre, aber ich dachte mir das könnte ein ganz guter Ansporn zur Vertiefung von Latex sein) und das dann frei zur Verfügung zu stellen.
    Kann noch ein klein wenig dauern bis ich zufrieden damit bin, aber sobald es soweit ist, stelle ich das dann natürlich gerne rein!

    Viele Grüße


    //edit:
    Auch wenn es jetzt schon spät ist, es hat mich jetzt gerade doch ziemlich gereizt Eure Vorschläge auszuprobieren...

    @novata: Super! Das macht genau das, was ich gesucht habe!
    Vielen Dank!
    Da dadurch jedoch die Überschrift zentriert wird, habe ich jetzt ein \hfill hintendran gesetzt. Oder wäre ein \hspace{165mm} durch den fest definierten Abstandswert ein besserer Stil?
    Und was soll ich wo immer zwei mal setzen?

    @ctansearch: Danke auch für deine Hilfe, aber dadurch bleibt weiterhin der Zeilenumbruch zwischen der ersten Zeile (bzw. "Überschriftenzeile") und der ersten Zeile mit Inhalt bestehen.
    Das multicolumn verwende ich, da dadurch der Strich abgeschnitten wird, bei längeren Tabellentiteln sieht das sonst schnell sehr eng aus...
    Geändert von Scotty (02-05-2012 um 02:47 Uhr)

  11. #11
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Wie kann ich es jetzt verhindern, dass bei der ersten Tabelle zwischen "Interessen" und der ersten Zeile der Zeilenumbruch auftritt? (zwischen späteren Zeilen ist er erwünscht, sollte es nötig sein!)
    Der Zeilenumbruch wird mit \\* verhindert (siehe Dokumentation von longtable). Aber unterlass bloß diese \vspace-Befehle innerhalb der Tabelle. Abstände zwischen den Zeilen werden wie auch sonst mit \\*[20pt] oder \\[20pt] eingefügt.

  12. #12
    Registrierter Benutzer
    Registriert seit
    18.04.2012
    Beiträge
    4
    Hi Scotty!

    Da dadurch jedoch die Überschrift zentriert wird, ... Und was soll ich wo immer zwei mal setzen?
    Du musst es zweimal setzen, sprich zweimal in ein pdf umwandeln. Dann ist das Problem behoben.
    Ich hoffe, du verstehst mich jetzt. Ich habe nicht viel Ahnung von Latex und weiß daher nicht wie man das korrekt ausdrückt.

    Viele Grüße
    novata

  13. #13
    Registrierter Benutzer
    Registriert seit
    19.04.2012
    Beiträge
    6
    @u_fischer: Vielen Dank, das funktioniert ebenfalls super!
    \\* hatte ich zuvor auch versucht, jedoch funktionierte das in Kombination mit den vspace nicht mehr, aber die bin ich dann jetzt ja (zumindest da) auch los.

    Um jedoch innerhalb einer Tabellenspalte einen Zeilenumbruch mit größerem Abstand zu machen, füge ich sie an anderer Stelle dennoch weiterhin hinzu:
    Code:
    \begin{longtable}{p{45mm}|p{120mm}}
    bla & bla1 \vspace{\HoeheTabellenzeilenIn}\newline bla2 \\
    abc & def \\
    \end{longtable}
    Dazu konnte ich bisher auch keine andere Lösung als vspace finden, habe in verschiedenen Tutorials bisher jedoch auch keine nicht-Empfehlungen dafür gefunden.


    @novata: Ach ok, tut mir leid, dachte da irgendwie daran den Befehl zwei Mal in der longtable setzen zu müssen...


    Viele Grüße und vielen Dank nochmals an Euch!

  14. #14
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Dazu konnte ich bisher auch keine andere Lösung als vspace finden,
    Innerhalb einer p-Zelle (parbox) ist es auch ok. In deinem ersten Beispiel hattest du es in einer l-Zelle, da hat es erstens keinen Sinn und zweitens "bricht es aus" und fügt dadurch eine (Seiten)-Umbruchstelle ein, die du gar nicht haben willst.

    Ich würde übrigens den Abstand mit \par + \vspace erzeugen:

    Code:
    \documentclass{article}
    \begin{document}
    \begin{tabular}{p{45mm}|p{120mm}}
    bla & bla1 \par\vspace{1cm} bla2 \\
    \end{tabular}
    \end{document}

  15. #15
    Registrierter Benutzer
    Registriert seit
    19.04.2012
    Beiträge
    6
    Ok, gut zu wissen!
    Das mit par habe ich jetzt auch übernommen.
    Vielen Dank nochmals!

    Viele Grüße

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •