将 chemfig 图表和文本行对齐到 tblr 表的不同列中

将 chemfig 图表和文本行对齐到 tblr 表的不同列中

我在使用 \tblr 环境制作化学讲义时遇到了麻烦。我正在使用 TeXstudio 制作一个有八列的表格。第三列是通用化合物几何形状的 \chemfig 图(例如 AB_5,三角双锥体)。其他列有 1 到 6 行文本。

问题在于,每列的第一行文本与第三列图片的中心对齐。因此,如果一列中有多行文本,则会导致列文本上方和下方的空白量不均匀(上方更多),并且第三列图表下方有多余的空白。

我希望每列文本的中心与第三列图(元素“A”)的中心对齐

也就是说,无论在任何一列中放置多少行文本,我都希望图表上方和下方以及每列的文本块具有最小的均匀空白。

下面应该是我正在使用的代码的 MWE。我还上传了一个在 Paint 中调整的 .png 图形,显示了我的目标:沿粗黑线居中对齐,并删除红色 X 标记的空白区域。

\documentclass[10pt,leqno]{article}
%%% BEGIN PACKAGES
\usepackage{libertine} % Makes spacing nicely smaller.
\usepackage[libertine]{newtxmath} % Adjusts font
\usepackage[T1]{fontenc} % Adjusts font
\usepackage{chemfig} % For building molecular diagrams.
\usepackage{tabularray} % Provides tblr environment.
\usepackage[strict]{chngpage} % Provides adjustwidth page environment for tables.
%%% END PACKAGES

%%% BEGIN CUSTOM
\newcommand{\textbfun}[1]{\underline{\textbf{#1}}} % Bold + Underline text simultaneously.
%%% END CUSTOM

%%% BEGIN FORMATTING
\oddsidemargin      0.0cm
\evensidemargin     0.0cm
\textwidth          16.5cm
\headheight         0.0cm
\topmargin          0.0cm
\textheight         20.0cm
%%% END FORMATTING

\begin{document}
\begin{adjustwidth}{-60pt}{0pt}
    \SetTblrInner{rowsep=5pt}
    \begin{tblr}{hlines,
            vlines,
            colspec={ccccccl}
        }
        
        {$e^-$ Density 
            \\ Regions} 
        & {Generic 
            \\ Formula} 
        & {Molecular 
            \\ Structure} 
        & Hybridization 
        & {Electronic 
            \\ Geometry} 
        & {Molecular 
            \\ Geometry} 
        & {Ideal Bond 
            \\ Angle} 
        & {Molecular Polarity}\\
    
        5 
        & AB$_5$ 
        & \chemfig{A(<:[:30]B)(-[2]B)(-[4]B)(-[6]B)(<[:330]B)}
        & sp$^3$d 
        & {Trigonal 
            \\ Bipyramidal} 
        & {Trigonal 
            \\ Bipyramidal} 
        & {$180^\circ$ Axial 
            \\ $120^\circ$ Equitorial 
            \\ \phantom{x} 
            \\ $ 90^\circ$ Axial to 
            \\ Equitorial} 
        & {"B" atoms are all the same 
            \\ Yes $\rightarrow$ Non-Polar 
            \\ No $\rightarrow$ Same two axial "B" \textbfun{and} 
            \\ \phantom{Yes $\rightarrow$} same three equitorial "B" 
            \\ \phantom{Yes $\rightarrow$} \qquad Yes $\rightarrow$ Non-Polar 
            \\ \phantom{Yes $\rightarrow$} \qquad No $\rightarrow$ Polar}\\
    \end{tblr}
\end{adjustwidth}\vspace{0.5cm}

\textbf{Desired: .png adjusted with Microsoft Paint (Align to thick black line. Remove red X'ed white space.}
\begin{adjustwidth}{-60pt}{0pt}
\includegraphics[scale=.78]{Line&X}
\end{adjustwidth}
\end{document}

拥有与想要

答案1

您应该将列定义从c更改为Q[c,m],并将 更改为l,这样Q[l,m]不仅可以水平对齐文本,还可以垂直居中单元格的内容。另外,我建议您使用符号*以避免colspec选项中的重复:

\documentclass[10pt,leqno]{article}
%%% BEGIN PACKAGES
\usepackage{libertine} % Makes spacing nicely smaller.
\usepackage[libertine]{newtxmath} % Adjusts font
\usepackage[T1]{fontenc} % Adjusts font
\usepackage{chemfig} % For building molecular diagrams.
\usepackage{tabularray} % Provides tblr environment.
\usepackage[strict]{chngpage} % Provides adjustwidth page environment for tables.
%%% END PACKAGES

%%% BEGIN CUSTOM
\newcommand{\textbfun}[1]{\underline{\textbf{#1}}} % Bold + Underline text simultaneously.
%%% END CUSTOM

%%% BEGIN FORMATTING
\oddsidemargin      0.0cm
\evensidemargin     0.0cm
\textwidth          16.5cm
\headheight         0.0cm
\topmargin          0.0cm
\textheight         20.0cm
%%% END FORMATTING

\begin{document}
\begin{adjustwidth}{-60pt}{0pt}
    \SetTblrInner{rowsep=5pt}
    \begin{tblr}{
        hlines,
        vlines,
        colspec={ *{7}{Q[c,m]} Q[l,m] }
    }
        
        {$e^-$ Density 
            \\ Regions} 
        & {Generic 
            \\ Formula} 
        & {Molecular 
            \\ Structure} 
        & Hybridization 
        & {Electronic 
            \\ Geometry} 
        & {Molecular 
            \\ Geometry} 
        & {Ideal Bond 
            \\ Angle} 
        & {Molecular Polarity}\\
    
        5 
        & AB$_5$ 
        & \chemfig{A(<:[:30]B)(-[2]B)(-[4]B)(-[6]B)(<[:330]B)}
        & sp$^3$d 
        & {Trigonal 
            \\ Bipyramidal} 
        & {Trigonal 
            \\ Bipyramidal} 
        & {$180^\circ$ Axial 
            \\ $120^\circ$ Equitorial 
            \\ \phantom{x} 
            \\ $ 90^\circ$ Axial to 
            \\ Equitorial} 
        & {``B'' atoms are all the same 
            \\ Yes $\rightarrow$ Non-Polar 
            \\ No $\rightarrow$ Same two axial ``B'' \textbfun{and} 
            \\ \phantom{Yes $\rightarrow$} same three equitorial ``B'' 
            \\ \phantom{Yes $\rightarrow$} \qquad Yes $\rightarrow$ Non-Polar 
            \\ \phantom{Yes $\rightarrow$} \qquad No $\rightarrow$ Polar}\\
    \end{tblr}
\end{adjustwidth}
\end{document}

(旁注:我认为,您的原始colspec定义缺少一列,这并不是什么问题,因为l默认使用。我在上面的例子中将其更改"为印刷正确的。)``''

在此处输入图片描述

相关内容