在表格環境中使用獨立包的建議

在表格環境中使用獨立包的建議

為什麼當使用下面 mwe 中配置的文檔類別呼叫時,環境中包含的程式碼規定的內容tabular會被截斷(最右邊) ?standalone

\documentclass[preview,border=7pt,active,tightpage]{standalone}
\usepackage{booktabs}
\usepackage{chemfig}
\usepackage{filecontents} 
\usepackage[scaled]{helvet}

\begin{filecontents}{methane.tex}
\chemfig{
H% 2
    -[:210]% 1
              (
        -[:210]H% 3
              )
              (
        -[:300]H% 5
              )
    -[:120]H% 4
    }
\end{filecontents}

% sans serif font
\renewcommand\familydefault{\sfdefault} 

% define formula
\def\methane{\mathrm{CH_{4}}}

\begin{document}
\begin{center}
\begin{tabular}[]{lp{3.5cm}ccc}
\toprule
\textbf{Formula} & \textbf{Structure} & \textbf{Molar mass} (g mol$^{-1}$) & \textbf{Melting point} ($^{\circ}\mathrm{C}$) & \textbf{Boiling point} ($^{\circ}\mathrm{C}$) \\
\midrule%
$\methane$ & \begin{minipage}[]{1cm} \input{methane.tex} \end{minipage} & 16.043 & -182.50 & -161.50 \\ [2mm]
\bottomrule
\end{tabular}
\end{center}
\end{document}

standalone這可能是我的配置不足的情況。

答案1

為了刪除截斷,我center在以下範例中刪除了環境以及一些類別選項。為了消除未滿框警告,我還將迷你頁的寬度從 更改1cm\linewidth。透過此設置,迷你頁會自動繼承p其所使用的 tpe 列的寬度。

\documentclass[border=7pt]{standalone}
\usepackage{booktabs}
\usepackage{chemfig}
\usepackage{filecontents} 
\usepackage[scaled]{helvet}

\begin{filecontents}{methane.tex}
\chemfig{
H% 2
    -[:210]% 1
              (
        -[:210]H% 3
              )
              (
        -[:300]H% 5
              )
    -[:120]H% 4
    }
\end{filecontents}

% sans serif font
\renewcommand\familydefault{\sfdefault} 

% define formula
\def\methane{\mathrm{CH_{4}}}

\begin{document}
\begin{tabular}[]{lp{3.5cm}ccc}
\toprule
\textbf{Formula} & \textbf{Structure} & \textbf{Molar mass} (g mol$^{-1}$) & \textbf{Melting point} ($^{\circ}\mathrm{C}$) & \textbf{Boiling point} ($^{\circ}\mathrm{C}$) \\
\midrule%
$\methane$ & \begin{minipage}[]{\linewidth} \input{methane.tex} \end{minipage} & 16.043 & -182.50 & -161.50 \\ [2mm]
\bottomrule
\end{tabular}
\end{document}

為了排版化學式,我建議使用mhchem(或chemformula) 和 作為我使用的單位sinuintx。我已將兩者都包含在以下範例中:

\documentclass[border=7pt]{standalone}
\usepackage{booktabs}
\usepackage{chemfig}
\usepackage{filecontents} 
\usepackage[scaled]{helvet}

\usepackage[version=4]{mhchem}
\usepackage{siunitx}

\begin{filecontents}{methane.tex}
\chemfig{
H% 2
    -[:210]% 1
              (
        -[:210]H% 3
              )
              (
        -[:300]H% 5
              )
    -[:120]H% 4
    }
\end{filecontents}

% sans serif font
\renewcommand\familydefault{\sfdefault} 

% define formula
\def\methane{\ce{CH4}}

\begin{document}
\begin{tabular}[]{lp{3.5cm}ccc}
\toprule
\textbf{Formula} & \textbf{Structure} & \textbf{Molar mass} (\si{\gram\per\mole}) & \textbf{Melting point} (\si{\celsius}) & \textbf{Boiling point} (\si{\celsius}) \\
\midrule%
$\methane$ & \begin{minipage}[]{\linewidth} \input{methane.tex} \end{minipage} & 16.043 & -182.50 & -161.50 \\ [2mm]
\bottomrule
\end{tabular}
\end{document}

答案2

preview除了不使用表格並簡單地排版之外,您還可以使用專門的套件。使用嵌套的 ,而不是minipage需要猜測寬度的a tabular

\documentclass[margin=4]{standalone}
\usepackage{booktabs}
\usepackage{chemfig,chemformula,siunitx}
\usepackage{filecontents} 
\usepackage[scaled]{helvet}

\begin{filecontents}{methane.tex}
\chemfig{
H% 2
    -[:210]% 1
              (
        -[:210]H% 3
              )
              (
        -[:300]H% 5
              )
    -[:120]H% 4
    }
\end{filecontents}

% sans serif font
\renewcommand\familydefault{\sfdefault} 

\begin{document}

\begin{tabular}{
  l
  c
  S[table-format=2.3]
  S[table-format=-3.2]
  S[table-format=-3.2]
}
\toprule
\textbf{Formula} &
\textbf{Structure} &
{\textbf{Molar mass} (\si{\gram\per\mol})} &
{\textbf{Melting point} (\si{\celsius})} &
{\textbf{Boiling point} (\si{\celsius})} \\
\midrule
\ch{CH4} & \begin{tabular}{@{}c@{}}\input{methane.tex}\end{tabular} & 16.043 & -182.50 & -161.50 \\
\bottomrule
\end{tabular}

\end{document}

在此輸入影像描述

答案3

稍作修改@leandriis回答:

在此輸入影像描述

\documentclass[border=7pt]{standalone}
\usepackage[scaled]{helvet}
\renewcommand\familydefault{\sfdefault}

\usepackage{booktabs, makecell}
\renewcommand\theadfont{\small\bfseries}
\renewcommand\theadgape{}
\setcellgapes{3pt}
\makegapedcells

\usepackage{chemfig}
\newcommand\methane{\chemfig{H -[:0]C (-[:90]H)(-[:270]H)(-[:0]H)}}
\usepackage[version=4]{mhchem}
\usepackage{siunitx}


\begin{document}
\setchemfig{atom sep=2em}
\begin{tabular}[]{l c SSS}
    \toprule
\thead{Formula}
            & \thead{Structure}
                & {\thead{Molar mass\\ (\si{\gram\per\mole})}}
                            & {\thead{Melting point\\ (\si{\celsius})}}
                                        & {\thead{Boiling point\\ (\si{\celsius})}}  \\
    \midrule
\ce{CH4}    & \methane 
                & 16.043    & -182.50   & -161.50 \\
\bottomrule
\end{tabular}
\end{document}

正如我在下面的評論中指出的,問題的原因是使用center環境. Also options options預覽and緊密頁面are superfluous. The packagesiunitx is also exploited for numbers in your table, andmakecell` 來獲得更緊湊的列標題。

相關內容