複数行のテキストをページの残りの水平方向の中央に配置するにはどうすればよいでしょうか?

複数行のテキストをページの残りの水平方向の中央に配置するにはどうすればよいでしょうか?

1 インチの QR コードが片側を占め、もう片側には中央揃えの複数行テキストが配置された「ミニカード」形式 (2.75 x 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}

関連情報