名前: ut 日時: 2009-10-06 10:20:13 IPアドレス: 157.118.27.*
>>53805 既に回答が示されていますので、飽くまでご参考まで。 Peter Wilson さんの layouts パッケージからコードを借用してみ ました: \documentclass{jarticle} % ----- layouts.sty から借用 ------------------------------ \makeatletter \newcommand{\printinunitsof}[1]{% \def\l@yunitperpt{1.0}\def\l@yunits{pt}% \def\l@yta{#1}\def\l@ytb{pt}% \ifx \l@yta\l@ytb \def\l@yunitperpt{1.0}\def\l@yunits{pt}% \else \def\l@ytb{pc}% \ifx \l@yta\l@ytb \def\l@yunitperpt{0.083333}\def\l@yunits{pc}% \else \def\l@ytb{in}% \ifx \l@yta\l@ytb \def\l@yunitperpt{0.013837}\def\l@yunits{in}% \else \def\l@ytb{mm}% \ifx \l@yta\l@ytb \def\l@yunitperpt{0.351459}\def\l@yunits{mm}% \else \def\l@ytb{cm}% \ifx \l@yta\l@ytb \def\l@yunitperpt{0.0351459}\def\l@yunits{cm}% \else \def\l@ytb{bp}% \ifx \l@yta\l@ytb \def\l@yunitperpt{0.996264}\def\l@yunits{bp}% \else \def\l@ytb{dd}% \ifx \l@yta\l@ytb \def\l@yunitperpt{0.9345718}\def\l@yunits{dd}% \else \def\l@ytb{cc}% \ifx \l@yta\l@ytb \def\l@yunitperpt{0.0778809}\def\l@yunits{cc}% \else \def\l@ytb{PT}% \ifx \l@yta\l@ytb \def\l@yunitperpt{1.0}\def\l@yunits{PT}% \fi \fi \fi \fi \fi \fi \fi \fi \fi } \printinunitsof{pt} \newlength{\l@ytempdima} \newcommand{\prntlen}[1]{% \def\l@yta{pt}\ifx\l@yta\l@yunits\the#1\else \def\l@yta{PT}% \l@ytempdima=\l@yunitperpt #1\relax\strip@pt\l@ytempdima \ifx\l@yta\l@yunits pt\else\l@yunits\fi\fi} \makeatother % ----- layouts.sty から借用 ------------------------------ \newlength{\chardimen} \newcommand{\printchardimen}[2]{% \setlength{\chardimen}{#1}% \printinunitsof{#2}% \prntlen{\chardimen}} \begin{document} % #1 は知りたいサイズ、#2 は出力したい単位。 \printchardimen{1zw}{mm} \printchardimen{10cm}{cm}% 10cm が 10cm と出力されないのが苦しいですが…。 \printchardimen{1em}{pt} \fontsize{12pt}{14pt}\selectfont% 12pt に変更: \printchardimen{1zw}{mm} \printchardimen{1em}{pt} \end{document}
この書き込みへの返事: