Tabularx: Spalte kleiner als Text

Sep 28 2020

Also hier ist der Minimalcode:

\documentclass[a4paper, 12pt]{scrartcl}
\usepackage{tabularx}
\usepackage{chemfig}

\begin{tabularx}{\textwidth}{|X|c|c|X|}
    Name & Monomer & Polymermolekül & Einsatzbeispiel\\
    \hline
    Polyethen (PE)  
            & 
            \chemfig{
                H
                -[1]C 
                    (-[3]H)
                =C 
                    ( -[1]H) 
                -[7]H
            } &
            \schemestart
                \chemleft[
                    \chemfig{
                        -C
                            ( -[2]H)
                            ( -[-2]H)
                        -C
                            ( -[2]H)
                            ( -[-2]H)
                    }
                \chemright]$_n$
            \schemestop
            & Plastiktüten
    \\
    Polypropen (PP) 
         & \chemfig{
             H
             -C
                ( -[2]H)
                ( -[6]H)
            -C
                ( -[2]H)
            =C
                ( -[1]H)
                ( -[7]H)
         } & 
         \schemestart
            \chemleft[
                \chemfig{
                    -[0]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[2]{CH3})
                    -[0]
                }
            \chemright]$_n$
         \schemestop
         & Flaschendeckel, Brotdosen
    \\
    Polyvenylchlorid (Pvc)
        & 
        \chemfig{
            H
            -[1]C
                ( -[3]H)
            =C
                ( -[1]Cl)
            -[7]H
        } & 
        \schemestart
            \chemleft[
                \chemfig{
                    -[0]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[6]H)
                        ( -[2]{Cl})
                    -[0]
                }
            \chemright]$_n$
        \schemestop
        & Rohrleitungen, Venylböden, Schallplatten
    \\ 
    Polyethafluorethen (PTFE) 
        & 
        \chemfig{
            F
            -[1]C
                ( -[3]F)
            =C
                ( -[1]F)
            -[7]F
        }&
        \schemestart
            \chemleft[
                \chemfig{
                    -C
                        ( -[2]F)
                        ( -[6]F)
                    -C
                        ( -[2]F)
                        ( -[6]F)
                    -[0]
                }
            \chemright]$_n$
        \schemestop
        & Pfannenbeschichtung (Tephlon),
        Funktionskleidung (Gortex) 
\end{tabularx}
\end{document}

So sieht es aus:

Wie Sie sehen, ist der Text in der Tabelle nicht formatiert. Haben Sie eine Idee, wie ich das beheben kann?

Antworten

1 leandriis Sep 29 2020 at 01:52

Hier sind zwei weitere Versionen Ihrer Tabelle. In beiden Fällen habe ich die chemischen Formeln der Polymermoleküle \polymerdelimaus der chemfigVerpackung korrigiert . Mit diesem Befehl werden die eckigen Klammern korrekt durch die äußersten Bindungen anstatt um sie herum gezogen. Ich habe auch einige Tippfehler in den zusammengesetzten Namen und in den Anwendungsbeispielen korrigiert.

\documentclass[a4paper, 12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{chemfig}
\usepackage{adjustbox}
\usepackage{pdflscape}
\usepackage[column=0]{cellspace}
\usepackage{makecell}

\setlength\cellspacetoplimit{8pt}
\setlength\cellspacebottomlimit{8pt}

\begin{document}
\begin{landscape}
\noindent
\begin{tabularx}{\linewidth}{|0l|0c|0c|>{\raggedright\arraybackslash}X|}
    Name & Monomer & Polymermolekül & Einsatzbeispiel\\
    \hline
    & & & \\
    \makecell[cl]{Polyethen\\ (PE)} 
            & 
            \adjustbox{valign=c}{\chemfig{
                H
                -[1]C 
                    (-[3]H)
                =C 
                    ( -[1]H) 
                -[7]H
            }} &
            \schemestart
                    \chemfig{
                        -[@{upleft,0.5},1]C
                            ( -[2]H)
                            ( -[-2]H)
                        -C
                            ( -[2]H)
                            ( -[-2]H)
                        -[@{upright,0.5},1]
                    }
                    \polymerdelim[delimiters ={[]}, height = 45pt, depth = 40pt, indice = n]{upleft}{upright}
            \schemestop
            & Plastiktüten
    \\
   \makecell[cl]{Polypropen\\ (PP)} 
         & \adjustbox{valign=c}{\chemfig{
             H
             -C
                ( -[2]H)
                ( -[6]H)
            -C
                ( -[2]H)
            =C
                ( -[1]H)
                ( -[7]H)
         }} & 
         \schemestart
                \chemfig{
                    -[@{upleft,0.5},1]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[2]{CH_3})
                   -[@{right,0.5},1]
                }
                \polymerdelim[delimiters ={[]}, height = 45pt, depth = 40pt, indice = n]{upleft}{upright}
         \schemestop
         & Flaschendeckel, Brotdosen
    \\
    \makecell[cl]{Polyvinylchlorid\\ (PVC)}
        & 
        \adjustbox{valign=c}{\chemfig{
            H
            -[1]C
                ( -[3]H)
            =C
                ( -[1]Cl)
            -[7]H
        }} & 
        \schemestart
                \chemfig{
                    -[@{upleft,0.5},1]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[6]H)
                        ( -[2]{Cl})
                    -[@{right,0.5},1]
                }
                \polymerdelim[delimiters ={[]}, height = 45pt, depth = 40pt, indice = n]{upleft}{upright}
        \schemestop
        & Rohrleitungen, Vinylböden, Schallplatten
    \\ 
    \makecell[cl]{Polytetrafluorethen\\ (PTFE)} 
        & 
        \adjustbox{valign=c}{\chemfig{
            F
            -[1]C
                ( -[3]F)
            =C
                ( -[1]F)
            -[7]F
        }}&
        \schemestart
                \chemfig{
                    -[@{upleft,0.5},1]C
                        ( -[2]F)
                        ( -[6]F)
                    -C
                        ( -[2]F)
                        ( -[6]F)
                    -[@{right,0.5},1]
                }
                \polymerdelim[delimiters ={[]}, height = 45pt, depth = 40pt, indice = n]{upleft}{upright}
        \schemestop
        & Pfannenbeschichtung (Teflon),
        Funktionskleidung (Goretex) 
\end{tabularx}
\end{landscape}



\setlength\cellspacetoplimit{15pt}
\setlength\cellspacebottomlimit{15pt}
\renewcommand{\tabularxcolumn}[1]{m{#1}}
\noindent
\begin{tabularx}{\linewidth}{|0l|0c|0c|>{\raggedright\arraybackslash\hspace{0pt}}X|}
    Name & Monomer & Polymermolekül & Einsatzbeispiel\\
    \hline
    \makecell[cl]{Polyethen\\ (PE)} 
            & 
            \adjustbox{valign=c}{\chemfig{
                H
                -[1]C 
                    (-[3]H)
                =C 
                    ( -[1]H) 
                -[7]H
            }} &
            \schemestart
                    \chemfig{
                        -[@{upleft,0.5},1]C
                            ( -[2]H)
                            ( -[-2]H)
                        -C
                            ( -[2]H)
                            ( -[-2]H)
                        -[@{upright,0.5},1]
                    }
                    \polymerdelim[delimiters ={[]}, height = 45pt, depth = 40pt, indice = n]{upleft}{upright}
            \schemestop
            & Plastiktüten
    \\
   \makecell[cl]{Polypropen\\ (PP)} 
         & \adjustbox{valign=c}{\chemfig{
             H
             -C
                ( -[2]H)
                ( -[6]H)
            -C
                ( -[2]H)
            =C
                ( -[1]H)
                ( -[7]H)
         }} & 
         \schemestart
                \chemfig{
                    -[@{upleft,0.5},1]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[2]{CH_3})
                   -[@{right,0.5},1]
                }
                \polymerdelim[delimiters ={[]}, height = 45pt, depth = 40pt, indice = n]{upleft}{upright}
         \schemestop
         & Flaschendeckel, Brotdosen
    \\
    \makecell[cl]{Polyvinyl-\\chlorid\\ (PVC)}
        & 
        \adjustbox{valign=c}{\chemfig{
            H
            -[1]C
                ( -[3]H)
            =C
                ( -[1]Cl)
            -[7]H
        }} & 
        \schemestart
                \chemfig{
                    -[@{upleft,0.5},1]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[6]H)
                        ( -[2]{Cl})
                    -[@{right,0.5},1]
                }
                \polymerdelim[delimiters ={[]}, height = 45pt, depth = 40pt, indice = n]{upleft}{upright}
        \schemestop
        & Rohrleitungen, Vinylböden, Schallplatten
    \\ 
    \makecell[cl]{Polytetra-\\fluorethen\\ (PTFE)} 
        & 
        \adjustbox{valign=c}{\chemfig{
            F
            -[1]C
                ( -[3]F)
            =C
                ( -[1]F)
            -[7]F
        }}&
        \schemestart
                \chemfig{
                    -[@{upleft,0.5},1]C
                        ( -[2]F)
                        ( -[6]F)
                    -C
                        ( -[2]F)
                        ( -[6]F)
                    -[@{right,0.5},1]
                }
                \polymerdelim[delimiters ={[]}, height = 45pt, depth = 40pt, indice = n]{upleft}{upright}
        \schemestop
        & Pfannenbeschichtung (Teflon),
        Funktionskleidung (Goretex) 
\end{tabularx}

\end{document}
4 DavidCarlisle Sep 28 2020 at 16:20

TeX kann das erste Wort eines Absatzes nicht trennen

\hspace*{0pt}

Zu Beginn der X-Zellen können Sie dies beispielsweise mit X zu jeder X-Zelle hinzufügen

>{\hspace*{0pt}}X 

in Ihrer tabellarischen Präambel

Es kann jedoch hilfreich sein, die chemischen Begriffe zu trennen, \-je nachdem, welche natürlichen Sprachmuster Sie verwenden

\usepackage[german]{babel} %German?

Da diese Wörter mit den englischen Standardmustern nicht gut getrennt werden können.

Sie können auch eine kleinere Schriftart verwenden, damit diese besser passt

3 Mico Sep 28 2020 at 17:37

Zusätzlich zum Präfixieren des XSpaltentyps mit einer \hspace{0pt}Anweisung zum Aktivieren der Silbentrennung - siehe auch Davids Antwort - möchten Sie möglicherweise eine Liste akzeptabler Silbentrennungsmuster erstellen, da die babel/ngermanKombination in der Regel nicht so gut darüber informiert ist, wie Wörter wie "Polyvenylchlorid" verwendet werden "und" Polyethafluorethen "können akzeptabel getrennt werden.

\documentclass[a4paper, 12pt]{scrartcl}
\usepackage[T1]{fontenc} % to list words with Umlauts in arg. of '\hyphenation'
\usepackage[ngerman]{babel}

\usepackage{tabularx,ragged2e}
\newcolumntype{L}{>{\hspace{0pt}\RaggedRight}X}
\renewcommand\tabularxcolumn[1]{m{#1}}

\usepackage{chemfig}

% Create a list of hyphenation exceptions:
\hyphenation{plastik-tüten poly-venyl-chlorid poly-etha-fluor-ethen 
   flaschen-deckel einsatz-beispiel venyl-boden venyl-böden schall-platten}

\begin{document}
\begin{tabularx}{\textwidth}{|L|c|c|L|}
    Name & Monomer & Polymermolekül & Einsatzbeispiel\\
    \hline
    Polyethen (PE)  
            & 
            \chemfig{
                H
                -[1]C 
                    (-[3]H)
                =C 
                    ( -[1]H) 
                -[7]H
            } &
            \schemestart
                \chemleft[
                    \chemfig{
                        -C
                            ( -[2]H)
                            ( -[-2]H)
                        -C
                            ( -[2]H)
                            ( -[-2]H)
                    }
                \chemright]$_n$
            \schemestop
            & Plastiktüten
    \\
    Polypropen (PP) 
         & \chemfig{
             H
             -C
                ( -[2]H)
                ( -[6]H)
            -C
                ( -[2]H)
            =C
                ( -[1]H)
                ( -[7]H)
         } & 
         \schemestart
            \chemleft[
                \chemfig{
                    -[0]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[2]{CH3})
                    -[0]
                }
            \chemright]$_n$
         \schemestop
         & Flaschendeckel, Brotdosen
    \\
    Polyvenylchlorid (Pvc)
        & 
        \chemfig{
            H
            -[1]C
                ( -[3]H)
            =C
                ( -[1]Cl)
            -[7]H
        } & 
        \schemestart
            \chemleft[
                \chemfig{
                    -[0]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[6]H)
                        ( -[2]{Cl})
                    -[0]
                }
            \chemright]$_n$
        \schemestop
        & Rohrleitungen, Venylböden, Schallplatten
    \\ 
    Polyethafluorethen (PTFE) 
        & 
        \chemfig{
            F
            -[1]C
                ( -[3]F)
            =C
                ( -[1]F)
            -[7]F
        }&
        \schemestart
            \chemleft[
                \chemfig{
                    -C
                        ( -[2]F)
                        ( -[6]F)
                    -C
                        ( -[2]F)
                        ( -[6]F)
                    -[0]
                }
            \chemright]$_n$
        \schemestop
        & Pfannenbeschichtung (Tephlon),
        Funktionskleidung (Gortex) 
\end{tabularx}
\end{document}
3 Zarko Sep 28 2020 at 18:11

Eine kleine Variation von @Mico Antwort. Verwendet werden:

  • Zellenraum zum Hinzufügen eines kleinen vertikalen Raums um den Zelleninhalt
  • djustboxzur vertikalen Zentrierung der \chemfigFormel

\documentclass[a4paper, 12pt]{scrartcl}
\usepackage[T1]{fontenc} % to list words with Umlauts in arg. of '\hyphenation'
\usepackage[ngerman]{babel}

\usepackage{ragged2e}
\usepackage{cellspace, tabularx}
\setlength\cellspacetoplimit{4pt}
\setlength\cellspacebottomlimit{4pt}
\newcolumntype{L}{>{\hspace{0pt}\RaggedRight}X}

\usepackage{chemfig}
\usepackage{adjustbox}

% Create a list of hyphenation exceptions:
\hyphenation{plastik-tüten poly-venyl-chlorid poly-etha-fluor-ethen
   flaschen-deckel einsatz-beispiel venyl-boden venyl-böden schall-platten}

\begin{document}
{
\renewcommand\tabularxcolumn[1]{m{#1}}
\begin{tabularx}{\textwidth}{|L|c|Sc|L|}
Name & Monomer & Polymermolekül & Einsatzbeispiel\\
    \hline
Polyethen (PE)
    &   \adjustbox{valign=c}{\chemfig{
        H
        -[1]C
            (-[3]H)
        =C
            ( -[1]H)
        -[7]H}  } 
        &   \schemestart
                \chemleft[
                    \chemfig{
                        -C
                            ( -[2]H)
                            ( -[-2]H)
                        -C
                            ( -[2]H)
                            ( -[-2]H)
                    }
                \chemright]$_n$
            \schemestop
            &   Plastiktüten        \\
Polypropen (PP)
    &   \adjustbox{valign=c}{\chemfig{
         H
         -C
            ( -[2]H)
            ( -[6]H)
        -C
            ( -[2]H)
        =C
            ( -[1]H)
            ( -[7]H)}   }
        &   \schemestart
              \chemleft[
                \chemfig{
                    -[0]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[2]{CH3})
                    -[0]
                }
              \chemright]$_n$
            \schemestop
            &   Flaschendeckel, Brotdosen   \\
Polyvenylchlorid (Pvc)
    &   \adjustbox{valign=c}{\chemfig{
        H
        -[1]C
            ( -[3]H)
        =C
            ( -[1]Cl)
        -[7]H}  }
        &
        \schemestart
            \chemleft[
                \chemfig{
                    -[0]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[6]H)
                        ( -[2]{Cl})
                    -[0]
                }
            \chemright]$_n$
        \schemestop
            & Rohrleitungen, Venylböden, Schallplatten
    \\
Polyethafluorethen (PTFE)
    &   \adjustbox{valign=c}{\chemfig{
        F
        -[1]C
            ( -[3]F)
        =C
            ( -[1]F)
        -[7]F}  }
        &   \schemestart
              \chemleft[
                \chemfig{
                    -C
                        ( -[2]F)
                        ( -[6]F)
                    -C
                        ( -[2]F)
                        ( -[6]F)
                    -[0]
                }
              \chemright]$_n$
            \schemestop
        &   Pfannenbeschichtung (Tephlon), Funktionskleidung (Gortex)
\end{tabularx}
}
\end{document}
2 Bernard Sep 28 2020 at 16:30

Wie wäre es mit diesem anderen Layout?

\documentclass[a4paper, 12pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{chemfig}

\begin{document}

\setlength{\tabcolsep}{4pt}
\setlength{\extrarowheight}{2pt}
\renewcommand{\tabularxcolumn}[1]{m{#1}}
\begin{tabularx}{\textwidth}{|l|c|c|X|}
    Name & Monomer & Polymermolekül & Einsatzbeispiel\\
    \hline
    \multicolumn{4}{|l|}{Polyethen (PE)} \\[1ex]
            &
            \chemfig{
                H
                -[1]C
                    (-[3]H)
                =C
                    ( -[1]H)
                -[7]H
            } &
            \schemestart
                \chemleft[
                    \chemfig{
                        -C
                            ( -[2]H)
                            ( -[-2]H)
                        -C
                            ( -[2]H)
                            ( -[-2]H)
                    }
                \chemright]$_n$
            \schemestop
            & Plastiktüten
    \\
   \multicolumn{4}{|l|}{ Polypropen (PP)} \\[1ex]
         & \chemfig{
             H
             -C
                ( -[2]H)
                ( -[6]H)
            -C
                ( -[2]H)
            =C
                ( -[1]H)
                ( -[7]H)
         } &
         \schemestart
            \chemleft[
                \chemfig{
                    -[0]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[2]{CH3})
                    -[0]
                }
            \chemright]$_n$
         \schemestop
         & Flaschendeckel, Brotdosen
    \\
    \multicolumn{4}{|l|}{Polyvenylchlorid (Pvc)} \\[1ex]
        &
        \chemfig{
            H
            -[1]C
                ( -[3]H)
            =C
                ( -[1]Cl)
            -[7]H
        } &
        \schemestart
            \chemleft[
                \chemfig{
                    -[0]C
                        ( -[2]H)
                        ( -[-2]H)
                    -C
                        ( -[6]H)
                        ( -[2]{Cl})
                    -[0]
                }
            \chemright]$_n$
        \schemestop
        & Rohrleitungen, Venylböden, Schallplatten
    \\
   \multicolumn{4}{|l|}{ Polyethafluorethen (PTFE)}\\[1ex]
        &
        \chemfig{
            F
            -[1]C
                ( -[3]F)
            =C
                ( -[1]F)
            -[7]F
        }&
        \schemestart
            \chemleft[
                \chemfig{
                    -C
                        ( -[2]F)
                        ( -[6]F)
                    -C
                        ( -[2]F)
                        ( -[6]F)
                    -[0]
                }
            \chemright]$_n$
        \schemestop
        & Pfannenbeschichtung (Tephlon),
        Funktionskleidung (Gortex)
\end{tabularx}

\end{document}