Tabularx: coluna menor que texto

Sep 28 2020

Então aqui está o código mínimo:

\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}

É assim que parece:

Como você pode ver, o texto não está formatado na tabela. Você tem uma ideia de como posso consertar isso?

Respostas

1 leandriis Sep 29 2020 at 01:52

Aqui estão mais duas versões de sua mesa. Em ambos, corrigi as fórmulas químicas das moléculas de polímero usando \polymerdelimda chemfigembalagem. Com este comando, os colchetes são desenhados corretamente através das ligações externas, em vez de ao redor delas. Também corrigi alguns dos erros de digitação nos nomes dos compostos e nos exemplos de aplicativos.

\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 não pode hifenizar a primeira palavra de um parágrafo, coloque

\hspace*{0pt}

no início das células X, por exemplo, você pode adicionar isso a cada célula X usando

>{\hspace*{0pt}}X 

em seu preâmbulo tabular

mas pode ser necessário hifenizar os termos químicos, \-dependendo de quais padrões de linguagem natural você está usando. Você pode precisar

\usepackage[german]{babel} %German?

Como essas palavras não hifenizam bem com os padrões padrão em inglês.

Você também pode considerar o uso de uma fonte menor para que se ajuste melhor

3 Mico Sep 28 2020 at 17:37

Além de prefixar o Xtipo de coluna com uma \hspace{0pt}diretiva para habilitar a hifenização - veja também a resposta de David - você pode criar uma lista de padrões de hifenização aceitáveis, já que a babel/ngermancombinação tende a não ser informada muito bem sobre como palavras como "Polifenilcloreto "e" Polyethafluorethen "podem ser hifenizados de forma aceitável.

\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

Uma pequena variação da resposta @Mico. Usados ​​são:

  • espaço celular para adicionar um pequeno espaço vertical ao redor do conteúdo das células
  • djustboxpara centralização vertical da \chemfigfórmula

\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

Que tal esse outro 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}