Seite 1 von 1

Spalten - Text und lstlisting nicht auf der selben Höhe

Verfasst: So 5. Jan 2014, 00:43
von Florian
Hallo,

ich habe derzeit das Problem, dass die linke und rechte Spalte nicht auf der selben Höhe anfangen.

Der Text "Dokument besteht aus" fängt etwa 3 pt früher an als rechts das Caption "Listing 1: Beispiel".

Mit \vspace kann man es manuell anpassen. Jedoch ist das keine schöne Lösung. Gibt es noch eine bessere Lösung das anzupassen?

Ich habe bereits tabularx, minipage ausprobiert.

Beispieldokument: https://dl.dropboxusercontent.com/u/25482106/test.pdf
\documentclass[12pt,a4paper,bibliography=totocnumbered,listof=totocnumbered]{scrartcl}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[automark]{scrpage2}
\usepackage{parskip}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{color}
\usepackage{multicol}

%
% Definitionen
%
\definecolor{light-gray}{gray}{0.95}
\lstset{%
    caption=Descriptive Caption Text,  
    backgroundcolor=\color{light-gray}
}


\colorlet{punct}{red!60!black}
\definecolor{background}{HTML}{EEEEEE}
\definecolor{delim}{RGB}{20,105,176}
\colorlet{numb}{magenta!60!black}
\lstdefinelanguage{json}{
    basicstyle=\normalfont\ttfamily,
    numbers=left,
    numberstyle=\scriptsize,
    stepnumber=1,
    numbersep=8pt,
    showstringspaces=false,
    breaklines=true,
    frame=lines,
    backgroundcolor=\color{background},
    literate=
     *{:}{{{\color{punct}{:}}}}{1}
      {,}{{{\color{punct}{,}}}}{1}
      {\{}{{{\color{delim}{\{}}}}{1}
      {\}}{{{\color{delim}{\}}}}}{1}
      {[}{{{\color{delim}{[}}}}{1}
      {]}{{{\color{delim}{]}}}}{1},
}

%
% Dokumentenanfang
%


\begin{document}

\subsection{Beispiel}
\begin{multicols}{2}

\begin{minipage}{.45\textwidth}
Dokument besteht aus:
\begin{itemize}
 \item eins
 \item zwei
\end{itemize}

Tsasd asdas as asdas asd as asd as asd asdas as asdasd asdas dasdasdasdasd adasd
\end{minipage}

\columnbreak

\begin{lstlisting}[caption={Beispiel},label={beispieldocument},language=json]
{
  "id":"file",
  "date":"23.01.1890",
  "model":"121411124",
}

\end{lstlisting}
\end{multicols}

\end{document}
[/code]

Verfasst: So 5. Jan 2014, 12:18
von esdd
Bei mir ist beginnt beides auf gleicher Höhe, wenn ich die minipage links weg lasse:
\documentclass[12pt,a4paper,bibliography=totocnumbered,listof=totocnumbered,parskip=full-]{scrartcl} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage[automark]{scrpage2} 
\usepackage{listings} 
\usepackage{xcolor} 
\usepackage{multicol} 
\setlength\columnsep{20pt}

% 
% Definitionen 
% 
\definecolor{light-gray}{gray}{0.95} 
\lstset{% 
     caption=Descriptive Caption Text,   
     backgroundcolor=\color{light-gray} 
} 

\colorlet{punct}{red!60!black} 
\definecolor{background}{HTML}{EEEEEE} 
\definecolor{delim}{RGB}{20,105,176} 
\colorlet{numb}{magenta!60!black} 
\lstdefinelanguage{json}{ 
     basicstyle=\normalfont\ttfamily, 
     numbers=left, 
     numberstyle=\scriptsize, 
     stepnumber=1, 
     numbersep=8pt, 
     showstringspaces=false, 
     breaklines=true, 
     frame=lines, 
     backgroundcolor=\color{background}, 
     literate= 
      *{:}{{{\color{punct}{:}}}}{1} 
       {,}{{{\color{punct}{,}}}}{1} 
       {\{}{{{\color{delim}{\{}}}}{1} 
       {\}}{{{\color{delim}{\}}}}}{1} 
       {[}{{{\color{delim}{[}}}}{1} 
       {]}{{{\color{delim}{]}}}}{1}, 
} 

% 
% Dokumentenanfang 
% 

\usepackage{blindtext}

\begin{document} 
\subsection{Beispiel} 
\begin{multicols}{2} 
 Dokument besteht aus: 
\begin{itemize} 
  \item eins 
  \item zwei 
\end{itemize} 
\blindtext

\columnbreak 

\begin{lstlisting}[caption={Beispiel},label={beispieldocument},language=json] 
{ 
   "id":"file", 
   "date":"23.01.1890", 
   "model":"121411124", 
} 
\end{lstlisting} 

\end{multicols} 
\end{document} 
Das Paket color wird übrigens sowieso von xcolor geladen und bei Verwendung einer KOMA-Script-Klasse solltest du die parskip Klassenoption nutzen statt das Paket parskip zu laden.

Gruß
Elke

Verfasst: So 5. Jan 2014, 14:22
von cgnieder
esdd hat geschrieben:Bei mir ist beginnt beides auf gleicher Höhe, wenn ich die minipage links weg lasse
Alternativ kann man der minipage auch die Option geben, damit ihr Referenzpunkt auf die ersten Zeile gesetzt wird:

[code]\begin{minipage}{.45\textwidth}
Dokument besteht aus:
\begin{itemize}
\item eins
\item zwei
\end{itemize}

Tsasd asdas as asdas asd as asd as asd asdas as asdasd asdas dasdasdasdasd adasd
\end{minipage}[/code]

Grüße

Verfasst: So 5. Jan 2014, 20:26
von Florian
Danke für eure Hilfe! Hat super funktioniert.