Worin bestehen die Unterschiede zwischen \textwidth, \linewidth und \columnwidth?

Bei Abbildungen, Tabellen, minipages, parboxen etc. erfolgt die Breitenangabe oft als Bruchteil von \textwidth oder \linewidth, also zum Beispiel 0.8\linewidth. Was ist der Unterschied? Und wie ist das beim zweispaltigen Satz?

  • \textwidth ist die komplette Breite des Textbereichs auf einer Seite. In einem einspaltigen Dokument ist das gleich groß wie \columnwidth. In einer minipage wird dieser Parameter auf die aktuelle Breite angepasst.
  • \columnwidth ist die Textbreite einer Spalte. In einem mehrspaltigen Dokument ist das dann natürlich weniger als \textwidth. In einer minipage wird dieser Parameter auf die aktuelle Breite angepasst.
  • \linewidth ist die Länge einer Textzeile abhängig von der aktuellen Umgebung. In normalem Text ist sie gleich lang wie \columnwidth. In einer Liste, einer \parbox (und deshalb auch in p-Spalten von Tabellen), einer minipage, u.ä. gibt \linewidth dann den Wert der aktuell verfügbaren Breite an.

Das folgende Dokument verdeutlicht das für normalen Text, eine minipage, eine \parbox, eine itemize und eine mdframed Umgebung:

\documentclass[parskip=half-,
  %twocolumn
  ]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[vmargin=2.5cm]{geometry}
\setlength\fboxsep{0pt}
\usepackage{xcolor}
\usepackage{mdframed}

\newcommand*\showwidth[1]{%
  \textcolor{blue}{\rule{\csname#1\endcsname}{1pt}}\newline
  \texttt{\textbackslash#1}: \expandafter\the\csname#1\endcsname
  \par
}

\begin{document}

% Rahmen für Spalte und Textbereich zeichnen
\smash{%
  \makebox[0pt][l]{\fbox{\parbox[t][\textheight]{\textwidth}{\strut}}}%
  \makebox[0pt][l]{\fbox{\parbox[t][\textheight]{\columnwidth}{\strut}}}%
  }%

\minisec{Normaler Text}
\showwidth{textwidth}
\showwidth{columnwidth}
\showwidth{linewidth}

\medskip
\fbox{%
  \begin{minipage}{6cm}
    \minisec{minipage (Breite 6\,cm)}
    \showwidth{textwidth}
    \showwidth{columnwidth}
    \showwidth{linewidth}
    \bigskip
  \end{minipage}%
}

\medskip
\fbox{%
  \parbox{6cm}{%
    \minisec{parbox (Breite 6\,cm)}
    \showwidth{textwidth}
    \showwidth{columnwidth}
    \showwidth{linewidth}
    \bigskip
  }%
}

\medskip
\minisec{itemize}
\begin{itemize}
  \item \showwidth{textwidth}
        \showwidth{columnwidth}
        \showwidth{linewidth}
\end{itemize}

\medskip
\begin{mdframed}[linecolor=red,userdefinedwidth=6cm]
  \minisec{mdframed (Breite 6\,cm)}
    \showwidth{textwidth}
    \showwidth{columnwidth}
    \showwidth{linewidth}
    \bigskip
\end{mdframed}

\end{document}

Das gleiche mit twocolumn als Klassenoption:

Von Clemens auf TeXwelt.de: Worin besteht der Unterschied zwischen \textwidth und \linewidth?.

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

Creative Commons Lizenzvertrag Diese Seite bearbeiten Ältere Versionen Übersicht Links hierher RSS feed Impressum Flattr this