Центрирование текста по горизонтали и вертикали в LaTeX [закрыто]

Я хотел бы произвести следующим образом:

      a       b
    xxxxx   xxxxx
 1  xxxxx   xxxxx
    xxxxx   xxxxx

    xxxxx   xxxxx
 2  xxxxx   xxxxx
    xxxxx   xxxxx

где блоки " x "- это изображения, а "a", "b", " 1 " и " 2 " - это текст.

вот мои две попытки до сих пор:

begin{figure}
begin{center}
begin{tabular}{ccc}
 & a & b 
1 & subfloat[]{includegraphics[width=0.47textwidth]{im.png}} &
    subfloat[]{includegraphics[width=0.47textwidth]{im.png}} 
2 & subfloat[]{includegraphics[width=0.47textwidth]{im.png}} &
    subfloat[]{includegraphics[width=0.47textwidth]{im.png}} 
end{tabular}
end{center}
end{figure}

что производит:

      a       b
    xxxxx   xxxxx
    xxxxx   xxxxx
 1  xxxxx   xxxxx

    xxxxx   xxxxx
    xxxxx   xxxxx
 2  xxxxx   xxxxx

и

begin{figure}
begin{center}
begin{tabular}{m{1cm}m{6cm}m{6cm}}
 & a & b 
1 & subfloat[]{includegraphics[width=0.47textwidth]{im.png}} &
    subfloat[]{includegraphics[width=0.47textwidth]{im.png}} 
2 & subfloat[]{includegraphics[width=0.47textwidth]{im.png}} &
    subfloat[]{includegraphics[width=0.47textwidth]{im.png}} 
end{tabular}
end{center}
end{figure}

что производит:

    a       b
    xxxxx   xxxxx
 1  xxxxx   xxxxx
    xxxxx   xxxxx

    xxxxx   xxxxx
 2  xxxxx   xxxxx
    xxxxx   xxxxx

2 ответов


вы можете создать новый тип столбца или просто добавить >{\centering\arraybackslash} до m{6cm} для двух столбцов изображения.

например:

\newcolumntype{C}{>{\centering\arraybackslash} m{6cm} }  %# New column type
\begin{tabular}{m{1cm}CC}                                %# Table with two of them
...

на > директива позволяет в основном вводить содержащийся код перед каждой записью в этом столбце. Нам нужно \arraybackslash чтобы справиться с несовместимостью между centering окружающая среда и tabular окружающая среда. более подробную информацию можно найти здесь.


Я использую \dummyimage, потому что у меня нет im.png. Заменить \includegraphics{im.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
}}