![计算 LaTeX 中的公制长度(例如 TikZ)](https://linux22.com/image/396487/%E8%AE%A1%E7%AE%97%20LaTeX%20%E4%B8%AD%E7%9A%84%E5%85%AC%E5%88%B6%E9%95%BF%E5%BA%A6%EF%BC%88%E4%BE%8B%E5%A6%82%20TikZ%EF%BC%89.png)
我想计算 LaTeX 投影机框架(128mm*96mm)上元素的长度,相当于 PowerPoint 幻灯片上元素的长度(254mm*190.5mm),即将因子 128/254 应用于以毫米为单位给出的值。
因此,我想实现一个函数\def\pptsize #1{#1/254*128}
,然后可以将其用于 TikZ 点定义等\draw (0,0) -- (0,\pptsize{10cm});
。有什么想法可以做到这一点吗?
答案1
您可以使用xfp
:
\documentclass{article}
\usepackage{xfp}
\NewExpandableDocumentCommand{\pptsize}{m}{\fpeval{#1*128/254}pt}
\begin{document}
\pptsize{10cm}
\end{document}
这将打印
143.3839667679335pt
答案2
如果要重新缩放 中的所有坐标tikzpicture
,则只需使用scale
。由于您似乎正在加载,因此tikz
您可以使用其命令来转换长度,即无需加载额外的包,但您确实不必手动执行此操作。
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}[t]
\frametitle{Convert coordinates $\to$ use scale}
\begin{tikzpicture}[scale=128/254]
\draw (0,0) -- (10,0);
\end{tikzpicture}
10cm get converted to
\pgfmathparse{10*128/254}\pgfmathprintnumber{\pgfmathresult}cm
\end{frame}
\end{document}