Mindesthöhe der Zellen einer Tabelle

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Mindesthöhe der Zellen einer Tabelle

Re: Mindesthöhe der Zellen einer Tabelle

von Grummelgast » Sa 17. Jul 2021, 19:13

Grummelgast hat geschrieben:
Sa 17. Jul 2021, 19:11

Hoffentlich klappt es dieses Mal:

Ja, der Code funktioniert jetzt.

Re: Mindesthöhe der Zellen einer Tabelle

von Grummelgast » Sa 17. Jul 2021, 19:11

Nanu, wo kommen die ganzen Müllzeichen in dem Code her? Das habe ich bei Copy&Paste noch nie erlebt. Hoffentlich klappt es dieses Mal:

\documentclass[12pt,ngerman]{scrreprt}% a4paper ist Voreinstellung; \caption gibt es im Beispiel nicht
\usepackage{babel}% Sprachoption global gesetzt (siehe \documentclass)
\usepackage[T1]{fontenc}% Ich würde ja eher LuaLaTeX verwenden und dann \usepackage{fontspec}
\usepackage{tikz}% Siehe TikZ/pgf-Anleitung.
\usetikzlibrary{matrix}% Siehe TikZ/pgf-Anleitung.

\renewcommand{\familydefault}{\sfdefault}% Wenn es denn sein muss.
\begin{document}

\noindent
\begin{tikzpicture}[outer sep=0pt,inner sep=0pt]
  \matrix[%
    matrix of nodes,
    nodes in empty cells,
    column sep=-\pgflinewidth,
    row sep=-\pgflinewidth,
    nodes={%
      inner sep=2pt,% Abstand zwischen Linien und Text
      text width=.25\linewidth-4pt,% 4pt = 2 * inner sep
      text height=\ht\strutbox,
      text depth=2\baselineskip-\ht\strutbox,% full height - text height
      align=left,
      draw
    },
    row 1/.style={% siehe Abschnitt 20.3.3 und 87.4.4
      font=\bfseries,
      nodes={
          text depth=3\baselineskip-\ht\strutbox,%
      }
    }
  ]
  {
    Loremipsumsitdam Loremi& Loremipsumsite lor Loremipsumsitloremipsu 
    & Loremipsumsitat lor Loremipsumsitlorem & loremipsu Loremips \\
    Loremipsumsit  &Loremipsumsitlorm     &Loremipsu       &Lor Loremipsumsit Loremi lo Lorem\\
    Loremipsums lor Loremipsum &&&\\
    Loremipsumslor Loremipsumsi &&&\\
    Loremipsum Loremipsumsi &&&\\
    Loremi Loremips Loremi &&&\\
    Lorem Lorem &&&\\
    Loremipsums Loremi lo lor Loremipsu &&&\\
    Loremipsumsi lore Loremipsu &&&\\
    LoremipsLoremipsum &&&\\
  };
\end{tikzpicture}

\end{document}

Re: Mindesthöhe der Zellen einer Tabelle

von Grummelgast » Sa 17. Jul 2021, 19:09

Schahin hat geschrieben:
Sa 17. Jul 2021, 16:03

Vielen Dank. Das ist die richtige Richtung. Ich habe mir auch die TikZ PDF angeschaut. Über 1300 Seiten sind schon ganz schön viel für meine Ansprüche.

Deshalb habe ich angegeben, welche Teile besonders interessant sind. Wobei natürlich die Grundlagen am Anfang der Anleitung auf jeden Fall gelesen werden sollten. Und natürlich ist es sinnvoll die Optionen, die ich verwendet habe, in der Anleitung ebenfalls nachzulesen. Die sind ja über den Index recht einfach zu finden. Früher oder später kommt man um TikZ ohnehin nicht herum. Also besser früher damit beschäftigen.

Schahin hat geschrieben:
Sa 17. Jul 2021, 16:03

Wie kann ich bei dieser Tablle so machen, dass der Header (das Fett gedruckte)

text depth=3\baselineskip-\ht\strutbox,

und der rest

text depth=2\baselineskip-\ht\strutbox,

ist?

Davon abgesehen, dass beim derzeitigen Inhalt zwei Zeilen für den Rest der Tabelle nicht genügen, kann man das über Option row <nr> natürlich ebenfalls erreichen. Man kann und sollte dabei auch gleich den Font des Kopfes mit angeben und so Form und Inhalt noch weiter trennen. Ich war bei der früheren Antwort nur zu faul dazu.

\documentclass[12pt,ngerman]{scrreprt}% a4paper ist Voreinstellung; \caption gibt es im Beispiel nicht
\usepackage{babel}% Sprachoption global gesetzt (siehe \documentclass)
\usepackage[T1]{fontenc}% Ich würde ja eher LuaLaTeX verwenden und dann \usepackage{fontspec}
\usepackage{tikz}% Siehe TikZ/pgf-Anleitung.
\usetikzlibrary{matrix}% Siehe TikZ/pgf-Anleitung.

\renewcommand{\familydefault}{\sfdefault}% Wenn es denn sein muss.
\begin{document}

\noindent
\begin{tikzpicture}[outer sep=0pt,inner sep=0pt]
  \matrix[%
    matrix of nodes,
    nodes in empty cells,
    column sep=-\pgflinewidth,
    row sep=-\pgflinewidth,
    nodes={%
      inner sep=2pt,% Abstand zwischen Linien und Text
      text width=.25\linewidth-4pt,% 4pt = 2 * inner sep
      text height=\ht\strutbox,
      text depth=2\baselineskip-\ht\strutbox,% full height - text height
      align=left,
      draw
    },
    row 1/.style={% siehe Abschnitt 20.3.3 und 87.4.4cccccclvuhudjufierbddfueukccjbkggirfckjjeruk
    
      font=\bfseries,
      nodes={
          text depth=3\baselineskip-\ht\strutbox,%
      }
    }
  ]
  {
    Loremipsumsitdam Loremi& Loremipsumsite lor Loremipsumsitloremipsu 
    & Loremipsumsitat lor Loremipsumsitlorem & loremipsu Loremips \\
    Loremipsumsit  &Loremipsumsitlorm     &Loremipsu       &Lor Loremipsumsit Loremi lo Lorem\\
    Loremipsums lor Loremipsum &&&\\
    Loremipsumslor Loremipsumsi &&&\\
    Loremipsum Loremipsumsi &&&\\
    Loremi Loremips Loremi &&&\\
    Lorem Lorem &&&\\
    Loremipsums Loremi lo lor Loremipsu &&&\\
    Loremipsumsi lore Loremipsu &&&\\
    LoremipsLoremipsum &&&\\
  };
\end{tikzpicture}

\end{document}

Re: Mindesthöhe der Zellen einer Tabelle

von gast. » Sa 17. Jul 2021, 17:39

Du kannst so viele \matrix-Anweisungen in einer tikzpicture platzieren, wie du magst. Was genau hast du daran nicht verstanden? Bitte sei selbst so konstruktiv zu zeige, was du konkret probiert hast.

Re: Mindesthöhe der Zellen einer Tabelle

von Schahin » Sa 17. Jul 2021, 17:21

gast. hat geschrieben:
Sa 17. Jul 2021, 16:22

Wie man Einstellungen von der row oder column abhängig macht, ist in der Anleitung nachzulesen. Wer dazu zu faul ist, verwendet einfach beliebig viele \matrix übereinander. ;-)

Bitte etwas konstruktiver.

Re: Mindesthöhe der Zellen einer Tabelle

von gast. » Sa 17. Jul 2021, 16:22

Wie man Einstellungen von der row oder column abhängig macht, ist in der Anleitung nachzulesen. Wer dazu zu faul ist, verwendet einfach beliebig viele \matrix übereinander. ;-)

Re: Mindesthöhe der Zellen einer Tabelle

von Schahin » Sa 17. Jul 2021, 16:03

Grummelgast hat geschrieben:
Sa 17. Jul 2021, 11:04

Wie gesagt, wenn du keine Tabelle, sondern eine Klötzchengrafik haben willst, dann mach das als Grafik:

\documentclass[12pt,ngerman]{scrreprt}% a4paper ist Voreinstellung; \caption gibt es im Beispiel nicht
\usepackage{babel}% Sprachoption global gesetzt (siehe \documentclass)
\usepackage[T1]{fontenc}% Ich würde ja eher LuaLaTeX verwenden und dann \usepackage{fontspec}
\usepackage{tikz}% Siehe TikZ/pgf-Anleitung.
\usetikzlibrary{matrix}% Siehe TikZ/pgf-Anleitung.

\renewcommand{\familydefault}{\sfdefault}% Wenn es denn sein muss.
\begin{document}

\noindent
\begin{tikzpicture}[outer sep=0pt,inner sep=0pt]
  \matrix[%
    matrix of nodes,
    nodes in empty cells,
    column sep=-\pgflinewidth,
    row sep=-\pgflinewidth,
    nodes={%
      inner sep=2pt,% Abstand zwischen Linien und Text
      text width=.25\linewidth-4pt,% 4pt = 2 * inner sep
      text height=\ht\strutbox,
      text depth=3\baselineskip-\ht\strutbox,% full height - text height
      align=left,
      draw
    }
  ]
  {
    \textbf {Loremipsumsitdam Loremi}& 
    \textbf {Loremipsumsite lor Loremipsumsitloremipsu}& 
    \textbf {Loremipsumsitat lor Loremipsumsitlorem}& 
    \textbf {loremipsu Loremips} \\
    Loremipsumsit  &Loremipsumsitlorm     &Loremipsu       &Lor Loremipsumsit Loremi lo Lorem\\
    Loremipsums lor Loremipsum Loremipsum &&&\\
    Loremipsumslor Loremipsumsi &&&\\
    Loremipsum Loremipsumsi &&&\\
    Loremi Loremips Loremi &&&\\
    Lorem Lorem &&&\\
    Loremipsums Loremi lo lor Loremipsu &&&\\
    Loremipsumsi lore Loremipsu &&&\\
    LoremipsLoremipsum &&&\\
  };
\end{tikzpicture}

\end{document}

Angaben zu Höhe und Breite stecken komplett in der Deklaration der Matrix, das erleichtert die Texteingabe. Sämtliche verwendeten Optionen sind in der pgf-Anleitung zu finden. \ht\strutbox ist der Teil einer Textzeile, der über der Grundlinie liegt.

Vielen Dank. Das ist die richtige Richtung. Ich habe mir auch die TikZ PDF angeschaut. Über 1300 Seiten sind schon ganz schön viel für meine Ansprüche.

text depth=3\baselineskip-\ht\strutbox,

macht die ganze Tabelle gleichmäßig hoch.

Wie kann ich bei dieser Tablle so machen, dass der Header (das Fett gedruckte)

text depth=3\baselineskip-\ht\strutbox,

und der rest

text depth=2\baselineskip-\ht\strutbox,

ist?

Re: Mindesthöhe der Zellen einer Tabelle

von Schahin » Sa 17. Jul 2021, 15:05

gast. hat geschrieben:
Sa 17. Jul 2021, 09:36

Schön und gut lesbar geht anders:

\documentclass[12pt]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{tabularx}
\usepackage{ragged2e}
\usepackage{booktabs}

\begin{document}

\begin{tabularx}{\textwidth}{*4{>{\RaggedRight}X}}
\toprule
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum} \\
\midrule
Loremipsum &Loremipsum   &Loremipsum &Loremipsum\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
\bottomrule
\end{tabularx}

\bigskip
oder meinetwegen auch

\bigskip

\begingroup
\renewcommand\arraystretch{1.5}
\begin{tabularx}{\textwidth}{*4{>{\RaggedRight}X}}
\toprule
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum} \\
\midrule
Loremipsum &Loremipsum   &Loremipsum &Loremipsum\\
Loremipsum &&&\\
Loremipsum und etwas mehr &&&\\
Loremipsum &&auch hier kann mehr Text stehen&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
\bottomrule
\end{tabularx}
\endgroup

\bigskip
oder im Extremfall

\bigkip

\begin{tabularx}{\textwidth}{*4{>{\RaggedRight}X}}
\toprule
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum} \\
\midrule
Loremipsum &Loremipsum   &Loremipsum &Loremipsum\\
\midrule
Loremipsum &&&\\
\midrule
Loremipsum und etwas mehr &&&\\
\midrule
Loremipsum &&auch hier kann mehr Text stehen&\\
\midrule
Loremipsum &&&\\
\midrule
Loremipsum &&&\\
\midrule
Loremipsum &&&\\
\midrule
Loremipsum &&&\\
\midrule
Loremipsum &&&\\
\bottomrule
\end{tabularx}

\end{document}

Vertikalen Linien in Tabellen sind einfach nur schlecht. Und horizontale kann (und sollte) man ebenfalls stark reduzieren.

Danke für deinen Beitrag. Natürlich kann ich es auch so machen, aber die Vorgabe ist ganz genau so, das die Tabelle genau diese Formatierung mit horizontale und vertikale Linien haben muss.

Re: Mindesthöhe der Zellen einer Tabelle

von Grummelgast » Sa 17. Jul 2021, 11:04

Wie gesagt, wenn du keine Tabelle, sondern eine Klötzchengrafik haben willst, dann mach das als Grafik:

\documentclass[12pt,ngerman]{scrreprt}% a4paper ist Voreinstellung; \caption gibt es im Beispiel nicht
\usepackage{babel}% Sprachoption global gesetzt (siehe \documentclass)
\usepackage[T1]{fontenc}% Ich würde ja eher LuaLaTeX verwenden und dann \usepackage{fontspec}
\usepackage{tikz}% Siehe TikZ/pgf-Anleitung.
\usetikzlibrary{matrix}% Siehe TikZ/pgf-Anleitung.

\renewcommand{\familydefault}{\sfdefault}% Wenn es denn sein muss.
\begin{document}

\noindent
\begin{tikzpicture}[outer sep=0pt,inner sep=0pt]
  \matrix[%
    matrix of nodes,
    nodes in empty cells,
    column sep=-\pgflinewidth,
    row sep=-\pgflinewidth,
    nodes={%
      inner sep=2pt,% Abstand zwischen Linien und Text
      text width=.25\linewidth-4pt,% 4pt = 2 * inner sep
      text height=\ht\strutbox,
      text depth=3\baselineskip-\ht\strutbox,% full height - text height
      align=left,
      draw
    }
  ]
  {
    \textbf {Loremipsumsitdam Loremi}& 
    \textbf {Loremipsumsite lor Loremipsumsitloremipsu}& 
    \textbf {Loremipsumsitat lor Loremipsumsitlorem}& 
    \textbf {loremipsu Loremips} \\
    Loremipsumsit  &Loremipsumsitlorm     &Loremipsu       &Lor Loremipsumsit Loremi lo Lorem\\
    Loremipsums lor Loremipsum Loremipsum &&&\\
    Loremipsumslor Loremipsumsi &&&\\
    Loremipsum Loremipsumsi &&&\\
    Loremi Loremips Loremi &&&\\
    Lorem Lorem &&&\\
    Loremipsums Loremi lo lor Loremipsu &&&\\
    Loremipsumsi lore Loremipsu &&&\\
    LoremipsLoremipsum &&&\\
  };
\end{tikzpicture}

\end{document}

Angaben zu Höhe und Breite stecken komplett in der Deklaration der Matrix, das erleichtert die Texteingabe. Sämtliche verwendeten Optionen sind in der pgf-Anleitung zu finden. \ht\strutbox ist der Teil einer Textzeile, der über der Grundlinie liegt.

Re: Mindesthöhe der Zellen einer Tabelle

von gast. » Sa 17. Jul 2021, 09:39

Sorry, Tippfehler

\documentclass[12pt]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{tabularx}
\usepackage{ragged2e}
\usepackage{booktabs}

\begin{document}

\section{So würde ich das machen}

\begin{tabularx}{\textwidth}{*4{>{\RaggedRight}X}}
\toprule
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum} \\
\midrule
Loremipsum &Loremipsum   &Loremipsum &Loremipsum\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
\bottomrule
\end{tabularx}

\section{Oder mit etwas mehr Abstand}

\begingroup
\renewcommand\arraystretch{1.5}
\begin{tabularx}{\textwidth}{*4{>{\RaggedRight}X}}
\toprule
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum} \\
\midrule
Loremipsum &Loremipsum   &Loremipsum &Loremipsum\\
Loremipsum &&&\\
Loremipsum und etwas mehr &&&\\
Loremipsum &&auch hier kann mehr Text stehen&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
Loremipsum &&&\\
\bottomrule
\end{tabularx}
\endgroup

\section{Schon nicht mehr so gut}

\begin{tabularx}{\textwidth}{*4{>{\RaggedRight}X}}
\toprule
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum}& 
\textbf {Loremipsum} \\
\midrule
Loremipsum &Loremipsum   &Loremipsum &Loremipsum\\
\midrule
Loremipsum &&&\\
\midrule
Loremipsum und etwas mehr &&&\\
\midrule
Loremipsum &&auch hier kann mehr Text stehen&\\
\midrule
Loremipsum &&&\\
\midrule
Loremipsum &&&\\
\midrule
Loremipsum &&&\\
\midrule
Loremipsum &&&\\
\midrule
Loremipsum &&&\\
\bottomrule
\end{tabularx}

\end{document}

Nach oben