hsize (水平サイズ) の長さを mm (ミリメートル) で印刷するにはどうすればよいですか?

hsize (水平サイズ) の長さを mm (ミリメートル) で印刷するにはどうすればよいですか?

私はVTEXを初めて使います。どうすれば解決できますか?

\documentclass{article}
\begin{document}
\the\hsize
\end{document}

出力: 345.0 pt

しかし、hsize を mm 単位で計算するマクロを記述する必要があります。例: \printdimen[mm]\hsize hsize を 6.5 インチにすると、mm 単位で何が出力されますか?

答え1

% arara: pdflatex

\documentclass[a4paper]{article}
\usepackage{xparse}
\usepackage{siunitx}
\usepackage{pgf}
\usepackage{mathtools}
\makeatletter
\def\convertto#1#2{\strip@pt\dimexpr #2*65536/\number\dimexpr 1#1}
\makeatother
\newcommand*{\getlength}[3]{%
    \pgfmathsetmacro#1{#3*#2}
}
\DeclareDocumentCommand\printdimen { o m }{%
    \getlength{\tmp}{\convertto{#1}{1pt}}{#2}\SI{\tmp}{#1}
}


\begin{document}  
\begin{align*}  
    \text{\the\hsize} &\equiv \printdimen[mm]\hsize \\
                      &\equiv \printdimen[cm]\hsize \\
                      &\equiv \printdimen[ex]\hsize \\                    
                      &\equiv \printdimen[em]\hsize \\      
                      &\equiv \printdimen[bp]\hsize \\
                      &\equiv \printdimen[dd]\hsize \\                    
                      &\equiv \printdimen[pc]\hsize \\  
                      &\equiv \printdimen[in]\hsize                                    
\end{align*}
\end{document}

ここに画像の説明を入力してください

答え2

このような?

\documentclass{article}
\usepackage{printlen}
\begin{document}
\uselengthunit{mm}\printlength{\hsize}
\end{document}

関連情報