如何将分数形式(而不是小数形式)的比例传递给表列定义?

如何将分数形式(而不是小数形式)的比例传递给表列定义?

我的情况是将一个比率(分数形式而不是十进制形式)传递给每个表列定义。

以下代码无法编译。

\documentclass{article}
\usepackage{pgf}
\usepackage{array}
\usepackage{longtable}

\newcommand{\ratio}[2]%
{%
    \pgfmathsetmacro\temp{(#1)/(#2)}%
    \temp%
}

\newcolumntype{A}[1]%
{%
    >{}%
    m{#1\linewidth-2\tabcolsep-2\arrayrulewidth}%
    <{}%
}

\begin{document}
\ratio{1}{2}
\ratio{2}{5}

\begin{longtable}{|A{\ratio{1}{2}}|A{\ratio{1}{2}}|}\hline
A & B \tabularnewline\hline
A & B \tabularnewline\hline

\end{longtable}
\end{document}

答案1

您不能\pgfmathsetratio在这里使用,因为框的参数m需要扩展为数字。假设您可以使用 e-TeX 扩展,那么您可以使用替代定义:

\makeatletter
\newcommand\ratio[2]{%
  \strip@pt\dimexpr#1pt/#2\relax
}
\makeatother

相关内容