图形搞乱了数组对齐?

图形搞乱了数组对齐?

我觉得这个问题可能之前有人问过,但我找不到重复的。我在尝试制作数组时遇到了一些问题。主要问题与图形包含有关,但我还有其他几个问题,我将全部列出。数组需要从左到右包含以下内容:

  1. 结的罗尔夫森指数
  2. 所述结的图片
  3. 与结相关的矩阵
  4. 结的琼斯多项式

下面是该数组的一个示例文件,它足够长,以便您可以看到所有的问题:

\documentclass[12pt,letterpaper]{report}
\usepackage{graphicx}
\usepackage{amsmath}

\begin{document}
\begin{small}
\[
\begin{array}{cccc}
    & \textbf{Knot with Crossings} && \\
    \textbf{Knot} &
    \textbf{Labeled and Oriented} &
    \textbf{Trip Matrix} & 
    \textbf{Jones Polynomial}
    \\
    \text{\Large{$8_{18}$}}
    &
    \includegraphics[width=0.25\textwidth]{example-image.jpg}
    &
    \begin{bmatrix}
    0 & 1 & 0 & 1 & 0 & 0 & 1 & 1 \\
    1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 \\
    0 & 1 & 0 & 1 & 1 & 1 & 0 & 0 \\
    1 & 0 & 1 & 0 & 0 & 1 & 1 & 0 \\
    0 & 1 & 1 & 0 & 0 & 1 & 0 & 1 \\
    0 & 0 & 1 & 1 & 1 & 0 & 1 & 0 \\
    1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 \\ 
    1 & 1 & 0 & 0 & 1 & 0 & 1 & 0
    \end{bmatrix}
    &
    q^4-4q^3+6q^2-7q+9-7q^{-1}+6q^{-2}-4q^{-3}+q^{-4}
    \\
    \text{\Large{$8_{19}$}}
    &
    \includegraphics[width=0.25\textwidth]{example-image.jpg}
    &
    \begin{bmatrix}
    0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 \\
    1 & 0 & 1 & 0 & 1 & 1 & 0 & 0 \\
    1 & 1 & 0 & 1 & 1 & 0 & 1 & 1 \\
    0 & 0 & 1 & 1 & 1 & 0 & 1 & 1 \\
    1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 \\
    1 & 1 & 0 & 0 & 0 & 1 & 1 & 1 \\
    0 & 0 & 1 & 1 & 0 & 1 & 0 & 1 \\
    0 & 0 & 1 & 1 & 0 & 1 & 1 & 0
    \end{bmatrix}
    &
    -q^8+q^5+q^3
    \\
    \text{\Large{$8_{20}$}}
    &
    \includegraphics[width=0.25\textwidth]{example-image.jpg}
    &
    \begin{bmatrix}
    1 & 1 & 1 & 0 & 1 & 1 & 1 & 1 \\
    1 & 1 & 0 & 1 & 0 & 0 & 1 & 1 \\
    1 & 0 & 0 & 1 & 1 & 1 & 0 & 0 \\
    0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 \\
    1 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\
    1 & 0 & 1 & 1 & 1 & 0 & 0 & 0 \\
    1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
    1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
    \end{bmatrix}
    &
    -q+2-q^{-1}+2q^{-2}-q^{-3}+q^{-4}-q^{-5}
    \\
    \text{\Large{$8_{21}$}}
    &
    \includegraphics[width=0.25\textwidth]{example-image.jpg}
    &
    \begin{bmatrix}
    0 & 1 & 1 & 0 & 1 & 1 & 1 & 1 \\
    1 & 1 & 0 & 1 & 0 & 0 & 1 & 1 \\
    1 & 0 & 1 & 1 & 1 & 1 & 0 & 0 \\
    0 & 1 & 1 & 1 & 1 & 1 & 0 & 0 \\
    1 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\
    1 & 0 & 1 & 1 & 1 & 1 & 0 & 0 \\
    1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
    1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
    \end{bmatrix}
    &
    2q^{-1}-2q^{-2}+3q^{-3}-3q^{-4}+2q^{-5}-2q^{-6}+q^{-7}
\end{array}
\]
\end{small}
\end{document}

这将是一个非常长的列表,大约 15 页,我将在论文过程中反复添加,所以我现在想简化它。也许我一开始就试图在数组环境中执行此操作是完全错误的,而且我不知道有更好的环境。我遇到的问题按重要性排序如下:

  1. 数组呈现给我的方式是,所有文本都垂直居中于第二列图形的底部。我希望所有条目的垂直中心都彼此对齐,即结点索引的中心与图片的中心对齐,数组的中心与多项式的中心对齐,或者至少底部对齐。
  2. 有时我想在琼斯多项式中间加一个换行符,这样所有内容都可以放在页面上,但我不知道如何在数组中实现这一点。使用固定宽度的列换行是理想的选择,因为就像我说的那样,会有很多这样的多项式,如果必须单独格式化每个多项式,那就太烦人了。
  3. 我希望第一列具有大字体,而不必\text{\Large{$KNOT$}}每次在第一列写入条目时都手动输入。
  4. 发生在行中间的分页符不会将相关行移动到下一页,而我需要它们这样做。
  5. 数组前出现了一个空白页。我怀疑当我弄清楚 #4 时,这个问题就会消失。
  6. (奖励)如果我可以让它自动重复每页开头的标题行那就太棒了,这似乎是现在有人会编程让 LaTeX 做的事情,但我意识到这可能是一个长远的目标。

答案1

您可能需要一个longtable和来使矩阵更小;我还建议将较长的多项式分成两行。

\documentclass[12pt,letterpaper]{report}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage{booktabs,longtable,array}

\newenvironment{smallbmatrix}
 {\left[\smallmatrix}
 {\endsmallmatrix\right]}

\begin{document}

\begin{small}
\begin{longtable}{@{}*{4}{>{$}c<{$}}@{}}

\caption{Knots}\label{tab:knots} \\
\midrule[\heavyrulewidth]
\textbf{Knot} &
\textbf{%
  \begin{tabular}{@{}c@{}}
  Knot with \\
  Crossings Labeled \\
  and Oriented
  \end{tabular}%
} &
\textbf{Trip Matrix} &
\multicolumn{1}{c}{\textbf{Jones Polynomial}}
\\
\midrule
\endfirsthead
\caption*{Knots (continued} \\
\midrule[\heavyrulewidth]
\textbf{Knot} &
\textbf{%
  \begin{tabular}{@{}c@{}}
  Knot with \\
  Crossings Labeled \\
  and Oriented
  \end{tabular}%
} &
\textbf{Trip Matrix} &
\multicolumn{1}{c}{\textbf{Jones Polynomial}}
\\
\midrule
\endhead
\bottomrule
\endfoot

8_{18}
&
\includegraphics[valign=c,width=0.25\textwidth]{example-image.jpg}
&
\begin{smallbmatrix}
0 & 1 & 0 & 1 & 0 & 0 & 1 & 1 \\
1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 \\
0 & 1 & 0 & 1 & 1 & 1 & 0 & 0 \\
1 & 0 & 1 & 0 & 0 & 1 & 1 & 0 \\
0 & 1 & 1 & 0 & 0 & 1 & 0 & 1 \\
0 & 0 & 1 & 1 & 1 & 0 & 1 & 0 \\
1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 \\ 
1 & 1 & 0 & 0 & 1 & 0 & 1 & 0
\end{smallbmatrix}
&
\begin{aligned}
q^4 & -4q^3+6q^2-7q+9 \\
    & -7q^{-1}+6q^{-2}-4q^{-3}+q^{-4}
\end{aligned}
\\
\addlinespace
8_{19}
&
\includegraphics[valign=c,width=0.25\textwidth]{example-image.jpg}
&
\begin{smallbmatrix}
0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 \\
1 & 0 & 1 & 0 & 1 & 1 & 0 & 0 \\
1 & 1 & 0 & 1 & 1 & 0 & 1 & 1 \\
0 & 0 & 1 & 1 & 1 & 0 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 \\
1 & 1 & 0 & 0 & 0 & 1 & 1 & 1 \\
0 & 0 & 1 & 1 & 0 & 1 & 0 & 1 \\
0 & 0 & 1 & 1 & 0 & 1 & 1 & 0
\end{smallbmatrix}
&
-q^8+q^5+q^3
\\
\addlinespace
8_{20}
&
\includegraphics[valign=c,width=0.25\textwidth]{example-image.jpg}
&
\begin{smallbmatrix}
1 & 1 & 1 & 0 & 1 & 1 & 1 & 1 \\
1 & 1 & 0 & 1 & 0 & 0 & 1 & 1 \\
1 & 0 & 0 & 1 & 1 & 1 & 0 & 0 \\
0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 \\
1 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\
1 & 0 & 1 & 1 & 1 & 0 & 0 & 0 \\
1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
\end{smallbmatrix}
&
\begin{aligned}
-q & +2-q^{-1}+2q^{-2}\\
   & -q^{-3}+q^{-4}-q^{-5}
\end{aligned}
\\
\addlinespace
8_{21}
&
\includegraphics[valign=c,width=0.25\textwidth]{example-image.jpg}
&
\begin{smallbmatrix}
0 & 1 & 1 & 0 & 1 & 1 & 1 & 1 \\
1 & 1 & 0 & 1 & 0 & 0 & 1 & 1 \\
1 & 0 & 1 & 1 & 1 & 1 & 0 & 0 \\
0 & 1 & 1 & 1 & 1 & 1 & 0 & 0 \\
1 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\
1 & 0 & 1 & 1 & 1 & 1 & 0 & 0 \\
1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
\end{smallbmatrix}
&
\begin{aligned}
2q^{-1} & -2q^{-2}+3q^{-3}-3q^{-4} \\
        & +2q^{-5}-2q^{-6}+q^{-7}
\end{aligned}
\\
\end{longtable}
\end{small}

\end{document}

在此处输入图片描述

答案2

  • 你的故事太长了,一页都放不下
  • 使用mathtools包可以将最后一列的长数学表达式拆分成两行
  • 对于表格中的垂直调整图像,我建议使用adjustbox
  • 为了在矩阵周围获得更多垂直空间,我建议使用包\makegapedcells中的宏makecell

\documentclass[12pt,letterpaper]{report}
\usepackage[export]{adjustbox}  % <--- changed
\usepackage{mathtools}          % <--- changed
\usepackage{makecell}
\renewcommand\theadfont{\bfseries}
\renewcommand\theadgape{}
\setcellgapes{3pt}

\begin{document}
\begingroup\small
           \makegapedcells
\[
\begin{array}{cccc}
\text{\thead[b]{Knot}}
    &   \text{\thead[b]{Knot with Crossings\\ Labeled and Oriented}}
        &   \text{\thead[b]{Trip Matrix}}
            &   \text{\thead{Jones Polynomial}}    \\
\text{\Large $8_{18}$}
    &   \includegraphics[width=0.25\textwidth, valign=c]{example-image.jpg}
        &   \begin{bmatrix}
            0 & 1 & 0 & 1 & 0 & 0 & 1 & 1 \\
            1 & 0 & 1 & 0 & 1 & 0 & 0 & 1 \\
            0 & 1 & 0 & 1 & 1 & 1 & 0 & 0 \\
            1 & 0 & 1 & 0 & 0 & 1 & 1 & 0 \\
            0 & 1 & 1 & 0 & 0 & 1 & 0 & 1 \\
            0 & 0 & 1 & 1 & 1 & 0 & 1 & 0 \\
            1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 \\
            1 & 1 & 0 & 0 & 1 & 0 & 1 & 0
            \end{bmatrix}
        &   \begin{multlined}
            q^4 - 4q^3 + 6q^2 - 7q + 9 -  \\
            7q^{-1} +6q^{-2}-4q^{-3}+q^{-4}
            \end{multlined}             \\
\text{\Large{$8_{19}$}}
    &   \includegraphics[width=0.25\textwidth,valign=c]{example-image.jpg}
        &   \begin{bmatrix}
            0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 \\
            1 & 0 & 1 & 0 & 1 & 1 & 0 & 0 \\
            1 & 1 & 0 & 1 & 1 & 0 & 1 & 1 \\
            0 & 0 & 1 & 1 & 1 & 0 & 1 & 1 \\
            1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 \\
            1 & 1 & 0 & 0 & 0 & 1 & 1 & 1 \\
            0 & 0 & 1 & 1 & 0 & 1 & 0 & 1 \\
            0 & 0 & 1 & 1 & 0 & 1 & 1 & 0
            \end{bmatrix}
        &   -q^8+q^5+q^3                \\
\text{\Large{$8_{20}$}}
    &   \includegraphics[width=0.25\textwidth,valign=c]{example-image.jpg}
        &   \begin{bmatrix}
            1 & 1 & 1 & 0 & 1 & 1 & 1 & 1 \\
            1 & 1 & 0 & 1 & 0 & 0 & 1 & 1 \\
            1 & 0 & 0 & 1 & 1 & 1 & 0 & 0 \\
            0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 \\
            1 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\
            1 & 0 & 1 & 1 & 1 & 0 & 0 & 0 \\
            1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
            1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
            \end{bmatrix}
            &   \begin{multlined}
                -q+2 - q^{-1} + 2q^{-2} - \\
                 q^{-3} + q^{-4} -q^{-5}
                \end{multlined}         \\
\text{\Large{$8_{21}$}}
    &   \includegraphics[width=0.25\textwidth,valign=c]{example-image.jpg}
        &   \begin{bmatrix}
            0 & 1 & 1 & 0 & 1 & 1 & 1 & 1 \\
            1 & 1 & 0 & 1 & 0 & 0 & 1 & 1 \\
            1 & 0 & 1 & 1 & 1 & 1 & 0 & 0 \\
            0 & 1 & 1 & 1 & 1 & 1 & 0 & 0 \\
            1 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\
            1 & 0 & 1 & 1 & 1 & 1 & 0 & 0 \\
            1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
            1 & 1 & 0 & 0 & 1 & 0 & 1 & 1 \\
            \end{bmatrix}
            &   \begin{multlined}
                2q^{-1} - 2q^{-2} + 3q^{-3} -   \\
                3q^{-4} + 2q^{-5} - 2q^{-6} + q^{-7}
                \end{multlined}
\end{array}
\]
\endgroup
\end{document}

在此处输入图片描述

(红线表示您的页面布局)

答案3

广告 1.

将参数垂直置于数学轴中心的宏:

\newcommand{\vchbox}[1]{\ensuremath{\vcenter{\hbox{#1}}}}

用法:

\vchbox{\includegraphics[...]{..}}

相关内容