Anzeige:
Ergebnis 1 bis 4 von 4

Thema: \vspace beim ersten Aufruf ignoriert

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.05.2008
    Ort
    Bremen
    Beiträge
    479

    \vspace beim ersten Aufruf ignoriert

    Hallo,

    ich muss gerade eine Liste nach dem Schema

    Punkt.....................Erläuterungen

    erstellen.

    Ich mache das mit einem \newcommand mit einzelnen tabular-Umgebungen mit 2 p-Spalten. Zur besseren Übersichtlichkeit wollte ich etwas vertikalen Weißraum zwischen den Einträgen über \vspace einfügen. Hier mein MB:

    Code:
    %%Document Layout%%
    \documentclass[a4paper,DIV=14,12pt]{scrartcl}
    \setlength{\parindent}{0pt}
    
    %%Fonts%%
    \usepackage[latin9]{inputenc}
    \usepackage[T1]{fontenc}
    
    %%Language%%
    \usepackage[german]{babel}
    
    \begin{document}
    \makeatletter
    \newcommand{\TabMat}[2]{\vspace{0.2cm}
    	\begin{tabular}{p{0.35\textwidth}p{0.6\textwidth}}%
    	#1	& #2\\%
    	\end{tabular}
    }
    \makeatother
    
    \TabMat{BliBlaBlub}{Der erste Eintrag}
    \TabMat{BliBlaBlub}{Der zweite Eintrag steht irgendwie zu dicht unter dem ersten}
    \TabMat{BliBlaBlub}{Der dritte Eintrag, ab hier funktionierts durchgehend}
    \TabMat{BliBlaBlub}{Der vierte Eintrag}
    
    \end{document}
    Das Problem ist nun, dass der \vspace command scheinbar NUR beim zweiten Eintrag nicht funktioniert. Der zweite Eintrag steht bei mir näher am ersten als er sollte (siehe PDF, ich habs auch im Ausdruck gecheckt, es liegt also nicht am Viewer). Danach funktionierts. Weiß jemand wo das Problem liegt?

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Du solltest \vspace innerhalb eines Absatzes (und alle deine Zeilen sind im gleichen Absatz) nicht verwenden, der Abstand wird nicht immer dort eingefügt, wo du glaubst.

    Eine Möglichkeit sind Absätze:

    Code:
    \newcommand{\TabMat}[2]{\par\vspace{0.2cm}....

  3. #3
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Angepasste Liste

    Mit einer eigens dafür angepassten Liste geht das einfacher. Die erlaubt dann auch saubere Seitenumbrüche.
    Code:
    % TeX program = pdflatex
    \documentclass[ngerman]{scrartcl}
    \usepackage[T1]{fontenc}
    \usepackage{selinput}
    \SelectInputMappings{
      adieresis={ä},
      germandbls={ß},
      Euro={€}
    }
    \usepackage{babel}
    \usepackage{lipsum}   % nur für Fülltext
    
    \newenvironment{xlist}[1]{%
      \begin{list}{}{%
        \settowidth{\labelwidth}{#1}                        % Breite der Marken
        \setlength{\labelsep}{2em}                          % Abstand von Eintrag zur Marke
        \setlength{\leftmargin}{\labelwidth}                % linker Rand (gemessen vom Text des Eintrags aus)
        \addtolength{\leftmargin}{\labelsep} 
        \setlength{\rightmargin}{0pt}                       % rechter Rand
        \setlength{\parsep}{0.5ex plus 0.2ex minus 0.1ex}   % Raum zwischen Absätzen in einem Eintrag
        \setlength{\itemsep}{1ex plus 0.2ex}                % Raum zwischen einzlenen Einträgen
        \renewcommand{\makelabel}[1]{##1\hfil}             % Ausrichtung der Marken (hier linksbündig)
      }
    }
    {\end{list}}
    
    
    \begin{document}
      \begin{xlist}{Zweiter Punkt}   % Hier den längsten Eintrag aus der Liste einfügen
        \item[Erster Punkt] \lipsum[1]
        \item[Zweiter Punkt] \lipsum[2]
        \item[Dritter Punkt] \lipsum[3]
      \end{xlist}
    \end{document}
    Eine generelle Anpassung ist sicher auch mit enumitem möglich.


    Thorsten
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.05.2008
    Ort
    Bremen
    Beiträge
    479
    Danke Ulrike, das funktioniert wunderbar.

    @localghost

    Danke für den Hinweis, das wird in Zukunft vlt. mal ganz nützlich sein. Die von dir angestrebten sauberen Seitenumbrüche will ich in dem Fall aber gerade nicht haben. Die Einträge auf der Erläuterungsseite sind nie besonders lang, schon gar nicht so lang wie dein Lorem Ipsum. Ich will aber auf jeden Fall verhindern, dass innerhalb der Erläuterungs-Blocks umgebrochen wird, was kein Problem ist, da diese Blocks eben eh nicht besonders lang und auch kein echter Fließtext sind.

Lesezeichen

Berechtigungen

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