在 LaTeX 中水平和垂直居中文本 [关闭]

Posted

技术标签:

【中文标题】在 LaTeX 中水平和垂直居中文本 [关闭]【英文标题】:Centering Text Horizontally and Vertically in LaTeX [closed] 【发布时间】:2011-02-15 20:14:33 【问题描述】:

我想制作以下内容:

      a       b
    xxxxx   xxxxx
 1  xxxxx   xxxxx
    xxxxx   xxxxx

    xxxxx   xxxxx
 2  xxxxx   xxxxx
    xxxxx   xxxxx

其中'x'的块是图像,'a'、'b'、'1'和'2'是文本。

到目前为止,这是我的两次尝试:

\beginfigure
\begincenter
\begintabularccc
 & a & b \\
1 & \subfloat[]\includegraphics[width=0.47\textwidth]im.png &
    \subfloat[]\includegraphics[width=0.47\textwidth]im.png \\
2 & \subfloat[]\includegraphics[width=0.47\textwidth]im.png &
    \subfloat[]\includegraphics[width=0.47\textwidth]im.png \\
\endtabular
\endcenter
\endfigure

产生:

      a       b
    xxxxx   xxxxx
    xxxxx   xxxxx
 1  xxxxx   xxxxx

    xxxxx   xxxxx
    xxxxx   xxxxx
 2  xxxxx   xxxxx

\beginfigure
\begincenter
\begintabularm1cmm6cmm6cm
 & a & b \\
1 & \subfloat[]\includegraphics[width=0.47\textwidth]im.png &
    \subfloat[]\includegraphics[width=0.47\textwidth]im.png \\
2 & \subfloat[]\includegraphics[width=0.47\textwidth]im.png &
    \subfloat[]\includegraphics[width=0.47\textwidth]im.png \\
\endtabular
\endcenter
\endfigure

产生:

    a       b
    xxxxx   xxxxx
 1  xxxxx   xxxxx
    xxxxx   xxxxx

    xxxxx   xxxxx
 2  xxxxx   xxxxx
    xxxxx   xxxxx

【问题讨论】:

未来的读者请查看:tex.stackexchange.com/questions/12703/… 【参考方案1】:

您可以创建一个新的列类型,或者在两个图像列的m6cm 之前添加>\centering\arraybackslash

例如:

\newcolumntypeC>\centering\arraybackslash m6cm   %# New column type
\begintabularm1cmCC                                %# Table with two of them
...

> 指令基本上可以让您在该列中的每个条目之前注入包含的代码。我们需要\arraybackslash 来处理centering 环境和tabular 环境之间的不兼容问题。 [更多信息可以在这里找到。] 1

【讨论】:

【参考方案2】:

我使用\dummyimage,因为我没有im.png。将其替换为\includegraphicsim.png

\font\dummyfont = cmr10 at 100pt
\def\dummyimage\vbox to 100pt\vfil\hbox to 100pt\hfil\dummyfont A\hfil\vfil

\hfil\vbox
\halign&\hfil\ $\vcenter\hbox#$\strut \ \hfil\cr
&a&b\cr 
1&\dummyimage&\dummyimage\cr
2&\dummyimage&\dummyimage\cr

【讨论】:

@Svante:是的。我在 Alexey 的回答中没有看到任何会导致 Latex 出现问题的内容。

以上是关于在 LaTeX 中水平和垂直居中文本 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

HTML-CSS 在链接中水平和垂直居中文本

如何在 TextView 中水平和垂直居中文本?

如何使文字在div中水平和垂直居中的css代码

在 HTML 中水平和垂直居中内容?

如何使用自动布局在屏幕中水平和垂直居中 UILabel?

如何在页面中水平和垂直居中微调器? [复制]