Допустим, есть некоторая переменная \dx
(в нашем случае равная 0.8), которую мы хотим разделить на 5:
\begin{tikzpicture}
\def\x{0.8};
\node at (0,0) {\x/5};
\end{tikzpicture}
Однако результатом будет лишь вывод записи самой операции
0.8/5
Для выполнения операции понадобится команда
\pgfmathsetmacro{<имя_макроса>}{<код макроса>}
Она создает макрос, который выполняет операцию. Вот как это выглядит на практике:
\begin{tikzpicture}
\def\x{0.8};
\pgfmathsetmacro{\res}{\x/5}
\node at (0,0) {\res};
\end{tikzpicture}
Результат:
0.15999
Но вот ведь незадача: 0.8/5 = 0.16. Можно долго рассказывать про особенности деления двоичных чисел, но нужно не это -- нужно, чтобы было 0.16. Как округлить результат до 2-го знака после запятой?
Сделать это можно с помощью команды \num
пакета siunitx:
\num[round-mode=places,round-precision=2]{\res}
Пример полностью:
\documentclass{article}
\usepackage{siunitx}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\def\x{0.8};
\pgfmathsetmacro{\res}{\x/5}
\node at (0,0) {\num[round-mode=places,round-precision=2]{\res}};
\end{tikzpicture}
\end{document}
И -- да, теперь:
0.16
Комментарии
comments powered by Disqus