表格:设置单元格的精确大小

表格:设置单元格的精确大小

我想制作一份适合预切粘贴标签纸的 tex 文档。

我使用包设置了边距geometry。现在我想创建一个表来保存我必须打印在标签上的值,因此我必须为每个单元格设置完全相同的宽度和高度。

粘贴标签纸为5*13标签,上下左右边距均为1cm。

我不知道如何设置这些单元格的大小。您愿意帮助我吗?

答案1

我没有用过这个labels包,但它可能就是解决问题的办法。如果您更喜欢常规的表格语法,这里有一种方法可以做到。我们使用该tikz包来格式化每个标签,并使用该collcell包将tikz宏自动应用于每个表格单元格。

\documentclass{article}

\usepackage{tikz,collcell,array,calc}
\usepackage[margin=1cm]{geometry}

% some padding for the text inside each label
\newlength{\nodepadding}
\setlength{\nodepadding}{8pt}

% the tikz wrapper command that formats each label
% contains some stuff that you may not want - just 
% for illustrating that it is easy enough in case you do
\newcommand{\mycell}[1]{%
  \tikz{%
    \node[
      fill=yellow,
      draw,                                      % draw border
      align=left,                                % left-align text
      outer sep=0pt,                             % no padding on the outside 
      inner sep=\nodepadding,                    % apply inner padding
      minimum height=\textheight/13,             % scale height to page
      text width=\textwidth/5-2\nodepadding,     % scale width to page
      rounded corners=2pt] {#1}}}                % round corners with given radius

% declare a column type that applies the tikz wrapper macro to each cell
\newcolumntype{L}{>{\collectcell\mycell}p{\textwidth/5}<{\endcollectcell}}

% clobber any spurious white space that might get in the way
\setlength{\tabcolsep}{0pt}
\renewcommand{\arraystretch}{0}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt}

\pagestyle{empty}  % no page number

\begin{document}

\begin{tabular}{@{}LLLLL@{}}
Some & stuff    & or    & other & tripe \\
yet  & another  & label & to    & print \\
some long text that hopefully wraps & some text\newline with\newline manual line breaks & b & c & d \\
\end{tabular}

\end{document}

这给出

在此处输入图片描述

相关内容