Forum:  Textsatz mit LaTeX
Thema: Abstände zwischen Zellumrandung und Zellinhalt in Tabellen
Themen-Übersicht
Tetris
Senior
Dabei seit: 28.08.2006
Mitteilungen: 7692
Themenstart: 2021-02-26 17:32

Hallo.

Gestern habe ich eine kleine Tabelle erstellt, die ich leider nicht so gestalten konnte, wie ich wollte. Ich verwende LyX auf Texlive.  

So sieht das Minimalbeispiel in der internen LyX-Vorschau aus:



Und so in de erzeugten PDF

Wie zu sehen ist, sind die Abstände zwischen Zellbegrenzung und Zellinhalt im PDF nicht befriedigend.

Wie lassen die sich so einstellen, dass sie automatisch sinnvoll gestaltet werden?

Hier der Quelltext:
TeX
%% LyX 2.3.5.2 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\setlength{\parskip}{\bigskipamount}
\setlength{\parindent}{0pt}
\usepackage{amsmath}
 
\makeatletter
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}
 
\makeatother
 
\usepackage{babel}
\begin{document}
\begin{tabular}{|c|l|c|}
\hline 
 & (A) & (B)\tabularnewline
\hline 
\hline 
(1) & $\dfrac{3}{4}$ & 42\tabularnewline
\hline 
(2) & $\sqrt{a^{2}}$ & $\sum$\tabularnewline
\hline 
\end{tabular}
\end{document}
 

Lg, T.


Wally
Senior
Dabei seit: 02.11.2004
Mitteilungen: 9194
Wohnort: Dortmund, Old Europe
Beitrag No.1, eingetragen 2021-02-26 18:26

Hallo,

guck mal nach dem tabularx-Paket, vielleicht findest du da etwas.

Viele Grüße

Wally


Wario
Aktiv
Dabei seit: 01.05.2020
Mitteilungen: 397
Beitrag No.2, eingetragen 2021-02-27 11:28

Ich würde von LyX die Pfoten lassen und normales LaTeX verwenden, wenn das da so komische Befehle erzeugt.


<math>
\newcommand\hhh{\rule[-1em]{0pt}{2.5em}}
\textsf{Wie soll es denn aussehen?}

\textsf{So?}
\begin{tabular}{|c|l|c|}
\hline
& A                                 & B          \\ \hline
(1) & $\dfrac{3}{4}$\hhh      & 42          \\ \hline
(1) & $\sqrt{a^{2}}$            & $\sum$  \\ \hline
\end{tabular}

\bigskip
\textsf{Oder so?}
\begin{tabular}{c|l|c|}
\cline{2-3}
& A                              & B           \\ \hline
\multicolumn{1}{|l|}{(1)} & $\dfrac{3}{4}$\hhh   & 42         \\ \hline
\multicolumn{1}{|l|}{(2)} & $\sqrt{a^{2}}$         & $\sum$ \\ \hline
\end{tabular}
</math>


LaTeX
%% LyX 2.3.5.2 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\setlength{\parskip}{\bigskipamount}
\setlength{\parindent}{0pt}
\usepackage{amsmath}
\usepackage{babel}
 
\usepackage{array} % fittet vertikale Linien
% Höhenkorrektur einzelner Zellen:
\newcommand\hhh{\rule[-1em]{0pt}{2.5em}} 
 
 
% Unnötig =============
%\makeatletter
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
%%% Because html converters don't know tabularnewline
%\providecommand{\tabularnewline}{\\}
% \makeatother
 
\begin{document}
\textsf{Wie soll es denn aussehen?}
 
\textsf{So?}
\begin{tabular}{|c|l|c|}
\hline
    & A                       & B      \\ \hline
(1) & $\dfrac{3}{4}$\hhh      & 42      \\ \hline
(1) & $\sqrt{a^{2}}$          & $\sum$  \\ \hline
\end{tabular}
 
\bigskip
\textsf{Oder so?}
\begin{tabular}{c|l|c|}
\cline{2-3}   
                          & A                    & B      \\ \hline
\multicolumn{1}{|l|}{(1)} & $\dfrac{3}{4}$\hhh   & 42     \\ \hline
\multicolumn{1}{|l|}{(2)} & $\sqrt{a^{2}}$       & $\sum$ \\ \hline
\end{tabular}
 
%Alt:
%\begin{tabular}{|c|l|c|}
%\hline 
% & (A) & (B)%\tabularnewline
%\\ \hline\hline 
%(1) & $\dfrac{3}{4}$ & 42\tabularnewline \hline
%(2) & $\sqrt{a^{2}}$ & $\sum$\tabularnewline\hline 
%\end{tabular}
\end{document}




Wario
Aktiv
Dabei seit: 01.05.2020
Mitteilungen: 397
Beitrag No.3, eingetragen 2021-02-27 12:20

Grundsätzlich würde ich, außer bei sehr einfachen Tabellen, immer dafür sorgen, dass die die Tabelle keine längeren Inhalte (Texte, Formeln,...) enthält, sondern ein sehr einfaches Grundgerüst aufweist, etwa

\begin{tabular}{c | l | c |}
\cline{2-3}   
\Aa & \Ab   & \Ac  \\ \hline
\Ba & \Bb   & \Bc   \\ \hline
\Ca & \Cb   & \Cc   \\ \hline
\end{tabular}    

Wobei die Inhalte durch def- bzw. newcommand-Anweisungen festgelegt sind, z.B. \def\Bb{$\dfrac{3}{4}$\rule[-1em]{0pt}{2.5em}}.

<math>
\section{Neu}

\subsection{Hhenkorrektur aller Zellen}
\def\Aa{}
\def\Ab{A}
\def\Ac{B}
\def\Ba{\multicolumn{1}{|l|}{(1)}}
\def\Bb{$\dfrac{3}{4}$}
\def\Bc{42}
\def\Ca{\multicolumn{1}{|l|}{(2)}}
\def\Cb{$\sqrt{a^{2}}$}
\def\Cc{$\sum$}

{\renewcommand{\arraystretch}{2.5}% temporre Hhenkorrektur
\begin{tabular}{c|l|c|}
\cline{2-3}
\Aa & \Ab   & \Ac   \\ \hline
\Ba & \Bb   & \Bc    \\ \hline
\Ca & \Cb   & \Cc    \\ \hline
\end{tabular}   }

\subsection{Nur lokale Hhenkorrektur}
\def\Aa{}
\def\Ab{A}
\def\Ac{B}
\def\Ba{\multicolumn{1}{|l|}{(1)}}
\def\Bb{$\dfrac{3}{4}$\rule[-1em]{0pt}{2.5em}}
\def\Bc{42}
\def\Ca{\multicolumn{1}{|l|}{(2)}}
\def\Cb{$\sqrt{a^{2}}$\rule[-0.5em]{0pt}{2.0em}}
\def\Cc{$\sum$}

\begin{tabular}{c | l | c |}
\cline{2-3}
\Aa & \Ab   & \Ac   \\ \hline
\Ba & \Bb   & \Bc    \\ \hline
\Ca & \Cb   & \Cc    \\ \hline
\end{tabular}
</math>

LaTeX
\documentclass[]{article}
\usepackage[T1]{fontenc}
%\usepackage[latin9]{inputenc}
\setlength{\parskip}{\bigskipamount}
\setlength{\parindent}{0pt}
\usepackage{amsmath}
\usepackage[english, ngerman]{babel}
 
\usepackage{array} % fittet vertikale Linien
\begin{document}
\section{Neu}
 
\subsection{Höhenkorrektur aller Zellen}
\def\Aa{}
\def\Ab{A}
\def\Ac{B}
\def\Ba{\multicolumn{1}{|l|}{(1)}}
\def\Bb{$\dfrac{3}{4}$}
\def\Bc{42}
\def\Ca{\multicolumn{1}{|l|}{(2)}}
\def\Cb{$\sqrt{a^{2}}$}
\def\Cc{$\sum$}
 
{\renewcommand{\arraystretch}{2.5}% temporäre Höhenkorrektur
\begin{tabular}{c|l|c|}
\cline{2-3}   
\Aa & \Ab   & \Ac   \\ \hline
\Ba & \Bb   & \Bc    \\ \hline
\Ca & \Cb   & \Cc    \\ \hline
\end{tabular}   }
 
\subsection{Nur lokale Höhenkorrektur}
\def\Aa{}
\def\Ab{A}
\def\Ac{B}
\def\Ba{\multicolumn{1}{|l|}{(1)}}
\def\Bb{$\dfrac{3}{4}$\rule[-1em]{0pt}{2.5em}}
\def\Bc{42}
\def\Ca{\multicolumn{1}{|l|}{(2)}}
\def\Cb{$\sqrt{a^{2}}$\rule[-0.5em]{0pt}{2.0em}}
\def\Cc{$\sum$}
 
\begin{tabular}{c | l | c |}
\cline{2-3}   
\Aa & \Ab   & \Ac   \\ \hline
\Ba & \Bb   & \Bc    \\ \hline
\Ca & \Cb   & \Cc    \\ \hline
\end{tabular}    
\end{document}
 



Wally
Senior
Dabei seit: 02.11.2004
Mitteilungen: 9194
Wohnort: Dortmund, Old Europe
Beitrag No.4, eingetragen 2021-02-27 14:18

Oder man schreibt

\renewcommand\arraystretch{2.5}

vor die Tabelle.

\renewcommand\arraystretch{1}

macht wieder alles normal.

Viele Grüße

Wally


Wario
Aktiv
Dabei seit: 01.05.2020
Mitteilungen: 397
Beitrag No.5, eingetragen 2021-02-27 14:24

2021-02-27 14:18 - Wally in Beitrag No. 4 schreibt:
Oder man schreibt

\renewcommand\arraystretch{2.5}

vor die Tabelle.

\renewcommand\arraystretch{1}

macht wieder alles normal.

Wird im zuvorigen Beitrag verwendet (Abschnitt 1.1).

Ansonsten würde ich, anstelle eines erneuten Kommandoaufrufes*), die temporäre Änderung einfach gruppieren:
{\renewcommand\arraystretch{<Wert>}
....
}
 
_________________
*) Das dürften Dir die LaTeX-Experten als Performance-Verschwendung um die Ohren schlagen...




Dieses Forumbeitrag kommt von Matroids Matheplanet
https://https://matheplanet.de

Die URL für dieses Forum-Thema ist:
https://https://matheplanet.de/default3.html?topic=252573=409
Druckdatum: 2021-05-16 20:17