我正在尝试将一个图像表居中;每个表行有 2 张图片。目前我的代码很丑陋,并且没有在文档中居中。我尝试使用 \begin{center} 和 \centering,但没有成功。
另外,我创建它的方式是,它目前为每一行创建一个新表。这不是理想的,但这是我目前想到的最好的方法。这是因为我需要交替文本和图像(对于标题效果,当我尝试使用 \caption 时,如果没有图像,我无法获得 2 列效果或标题居中,而且很难看)
考虑到有大约 100 张图像,有什么办法可以实现这一点吗?
\begin{document}
stuff
stuff
stuff
\begin{center}
stuff that centers
stuff that centers
\figureLoop{pic(}{).jpg} %Doesn't center :(
stuff that centers
\end{center}
\end{document}
第一个参数是文件名的前半部分(由循环中增加的数字分隔),第二部分是文件名的其余部分。
\newcommand{\figureLoop}[2]
{
% Condition to loop; intitialized to true.
\bool_set_true:N \runWhileLoop
% Place holders
\int_zero:N \counter
\tmp=0
\Counter = \counter
% Run while condition is true
\bool_while_do:Nn {\runWhileLoop}
{
% Increment the counter
\int_incr:N \counter
\Counter = \counter
% Create file name from the counter
\edef\fileName{#1\int_use:N\counter#2}
% Increment for the 2nd column
\int_incr:N \counter
% Define the 2nd column figures/number
\edef\filename{#1\int_use:N\counter#2}
% Check if the file exists
\file_if_exist:nTF {\fileName}
{
% Check to see if the 2nd column file exists/is necessary
\file_if_exist:nTF {\filename}
{
\begin{table}[!htbp]
\begin{tabular}{c c}
\includegraphics[width=3.5cm]{\fileName} & \includegraphics[width=3.5cm]{\filename} \\
Image \number\Counter & Image \number\counter \\
\end{tabular}
\end{table}
}{
% If there's an odd number of photos
\begin{table}[!htbp]
\begin{tabular}{c}
\includegraphics[width=3.5cm]{\fileName} \\
Image \number\Counter \\
\end{tabular}
\end{table}
}
\advance\tmp by 1
\ifnum\tmp=4
\newpage
\tmp=0
\fi
}{
% there is no file with the given name
% break the loop
\bool_set_false:N \runWhileLoop
}
}
}
这就是我目前得到的。这是我想要的想法,但完全集中。任何建议都会有帮助,但我更喜欢尽可能少修改的东西。
答案1
请始终发布完整的文档而不是片段,但是......
因为你不使用标题,也不希望东西浮动,所以不要使用
\begin{table}
\end{table}
然后tabular
会居中。如果你确实使用table
表格\centering
内的浮动,则需要重置段落参数