LaTex - 如何创建具有固定高度和宽度的盒子,以及垂直和水平对齐的封闭文本?

时间:2010-01-09 17:12:05

标签: latex tex

这是用于在LaTeX中创建抽认卡。我的打印机不支持双面打印 - 像闪卡和标签这样的软件包似乎需要 - 所以我试图在每个页面上创建如下的双列排列:

[Col1:卡的正面] [Col2:卡的背面]

每行对应一张闪卡。计划是将每一行剪开,沿中间折叠并装订它们以创建“卡片”。

问题:我如何才能最好地创建一个具有指定高度和宽度的单个框,并且其中的文本是垂直对齐的?

我对Latex来说比较新,所以这会削弱我的选择。我不需要完整,详细的答案 - 在正确的方向上任何指针都会有很大的帮助!任何关于实现我所拍摄内容的替代方法的建议也会有所帮助。

非常感谢!

3 个答案:

答案 0 :(得分:26)

假设您要创建40pt高度和3cm宽度的框:

\vbox to 40pt {\vfil
\hbox to 3cm{Some info}%
\vfil
}

答案 1 :(得分:2)

您可以使用任何软件包制作闪存卡,然后以pdf格式保存输出(例如,使用pdflatex)。然后,在Latex中创建另一个使用pdfpages包的文档,并使用其nup选项每页打印两页。 Pdfpages有很多选项,可以微调页面布局。这为您提供了其他包装的所有功能。

答案 2 :(得分:1)

我的基于TikZ的解决方案,具有两个scope和嵌套的fboxparbox:文本水平放置(由于\centering),垂直居中两个框/列,宽度和高度都可以调整。

\documentclass[tikz,multi=false,border=5mm]{standalone}
\usepackage{lipsum}

\begin{document}
\begin{tikzpicture}
\begin{scope}
  \node (0,0) {\fbox{\parbox[c][100mm][c]{65mm}{\centering%
    \lipsum[1]
  }}};
\end{scope}

\begin{scope}[xshift=75mm]
  \node (0,0) {\fbox{\parbox[c][120mm][c]{65mm}{\centering%
    Some text\\%
    \ \\%
    \lipsum[2]
  }}};
\end{scope}
\end{tikzpicture}
\end{document}

screenshot of output