我需要做如下的事情,
\includegraphics[width=(\textwidth - 50mm)/2]{myfig.eps}
我可以使用哪些关键字来搜索执行此操作?我搜索的所有内容都是关于数学输入而不是设置变量。
答案1
\includegraphics[width=\dimexpr(\textwidth - 50mm)/2]{myfig.eps}
很难知道必须搜索 \dimexpr
答案2
LaTeX 方式:包calc
包calc
重新定义了\setlength
、\addtolength
、\setcounter
,\addtocounter
以支持表达式。如果另一个包使用这些宏来设置长度和计数器以及用户提供的值,那么它将继承包 的功能calc
。只需加载包即可,其他包甚至不知道calc
:
\usepackage{graphicx}
\usepackage{calc}
...
\includegraphics[width=(\textwidth - 50mm)/2]{myfig.eps}
eTeX 方式:\dimexpr
如果启用了 eTeX 扩展(通常是现在基于 LaTeX 的格式的默认设置),则可以使用 \dimexpr,其中需要 TeX 长度(参见 Herbert 的回答):
\includegraphics[width=\dimexpr(\textwidth-50mm)/2]{myfig.eps}
比较
- 依赖项:软件包
calc
与 eTeX - eTeX
\dimexpr
、、\numexpr
…… 是可扩展的。 \dimexpr
\setlength
如果内部未使用,则也可行,例如\vspace
。- 我预计
calc
速度会更慢,因为需要完成内部宏工作。 \dimexpr
计算精度更高。- 包
calc
截断:5/2 = 2
eTeX 轮次:5/2 = 3 - 包中提供了额外的操作符
calc
(\widthof
,,,,,)。\heightof
\totalheightof
\maxof
\minof