如何使多行文本在页面的水平剩余部分居中?

如何使多行文本在页面的水平剩余部分居中?

我想制作一堆“迷你卡”格式(2.75 x 1.1)的页面,其中一侧是 1 英寸的二维码,另一侧是居中的多行文本。

不幸的是,我没有处理垂直居中的方法。我目前的方法使用“m”列类型,据说它可以垂直居中文本,但这并没有发生:

\documentclass{article}

\usepackage{graphicx}
\usepackage{array}
\usepackage[margin=.05in,papersize={2.75in,1.1in}]{geometry}
\begin{document}

\renewcommand\arraystretch{0}
\renewcommand\tabcolsep{0pt}

\begin{table}
\begin{tabular}{p{1in} | >{\centering\arraybackslash}m{1.65in} |}
\hline
\includegraphics[width=1in,height=1in]{600px-QR_code_Wikimedia_Commons_(URL).png} 
& unique key a 
\\ \hline
\end{tabular}
\end{table}

\end{document}

如果有解决方案就好了,但我愿意接受解释。我是否应该使用表格?

答案1

这是软件包中的一个已知错误,如下所述:表格中的垂直对齐:m 列,行大小 - 最后一列存在问题

您也可以根据自己的情况使用这个调整。您应该稍微增加尺寸以消除警告并正确解决所有问题:

\documentclass{article}

\usepackage[demo]{graphicx} % remove `[demo]` in your case
\usepackage{array}
\usepackage[margin=.05in,papersize={2.79in,1.12in}]{geometry}
\begin{document}

\renewcommand\arraystretch{0}
\renewcommand\tabcolsep{0pt}

\begin{table}
\begin{tabular}{m{1.02in} | >{\centering\arraybackslash}m{1.65in} |@{}m{0pt}@{}}
\hline
\includegraphics[width=1in,height=1in]{600px-QR_code_Wikimedia_Commons_(URL).png} 
& unique key a 
&\\ \hline
\end{tabular}
\end{table}

\end{document}

相关内容