两个变量之和

两个变量之和

如何计算 2 个变量的和(单位为 cm)?示例:\y+ \n \x + \m

预先感谢

最少编码:

\documentclass{article}
\usepackage[absolute,overlay]{textpos}
\usepackage{xcolor}

\newcommand*{\x}{0.5cm}
\newcommand*{\y}{2.0cm}
\newcommand*{\m}{1.5cm}
\newcommand*{\n}{2.5cm}

\begin{document}
\title{Texblock color}

\textblockcolour{cyan}
\begin{textblock*}{5cm}(2cm,10cm)
  123 

\end{textblock*}
\textblockcolour{red}
\begin{textblock*}{5cm}(\x,\y+\n)
  456 
\end{textblock*}

\textblockcolour{yellow}
\begin{textblock*}{5cm}(\x+\m,16cm)
  789
\end{textblock*}

\end{document}

答案1

我建议不要定义单字母命令,而是使用更具语义的方法。

\documentclass{article}
\usepackage[absolute,overlay]{textpos}
\usepackage{xcolor}

\ExplSyntaxOn
\NewDocumentCommand{\definevar}{mm}
 {
  \tl_clear_new:c { l_forti_var_#1_tl }
  \tl_set:cn { l_forti_var_#1_tl } { #2 }
 }
\NewExpandableDocumentCommand{\usevar}{m}
 {
  \tl_use:c { l_forti_var_#1_tl }
 }
\ExplSyntaxOff

\definevar{x}{0.5cm}
\definevar{y}{2.0cm}
\definevar{m}{1.5cm}
\definevar{n}{2.5cm}

\begin{document}
\title{Texblock color}

\textblockcolour{cyan}
\begin{textblock*}{5cm}(2cm,10cm)
  123 
\end{textblock*}

\textblockcolour{red}
\begin{textblock*}{5cm}(\usevar{x},\dimeval{\usevar{y}+\usevar{n}})
  456 
\end{textblock*}

\textblockcolour{yellow}
\begin{textblock*}{5cm}(\dimeval{\usevar{x}+\usevar{m}},16cm)
  789
\end{textblock*}

\end{document}

在此处输入图片描述

您仍然可以\newcommand使用相同的语法来\dimeval执行操作,例如

\begin{textblock*}{5cm}(\x,\dimeval{\y+\n})

如果你更喜欢我不推荐的风格。

答案2

使用calculator包。

\documentclass{article}
\usepackage{calculator}
\usepackage{amsmath}
\newcommand{\x}{0.5}
\newcommand{\y}{2}
\newcommand{\m}{1.5}
\newcommand{\n}{2.5}
\begin{document}
\ADD{\x}{\y}{\one}
\(\x\text{cm} + \y\text{cm} = \one\text{cm}\)

\ADD{\m}{\n}{\two}
And \(\m\text{cm} + \n\text{cm} = \two\text{cm}\)
\end{document}

方程

相关内容