是否可以在 latex 中打印给定文件的大小?例如,假设我有一个文件,./foo.jpg
其大小为381.3 KiB
。我想要一个命令\printfilesize
,以便\printfilesize{./foo.jpg}
写入 381.3 KiB。
答案1
pdftex
具有用于查询文件系统的原语:
\documentclass{article}
\usepackage{xfp}
\ExplSyntaxOn
\NewDocumentCommand{\filesize}{O{B}m}
{
\fpeval{ round( \pdffilesize { #2 } / \fp_use:c { c_brian_#1_fp } , 2) }
\,#1
}
\fp_const:Nn \c_brian_B_fp { 1 }
\fp_const:Nn \c_brian_KiB_fp { 1024 }
\fp_const:Nn \c_brian_MiB_fp { 1024*1024 }
\fp_const:Nn \c_brian_GiB_fp { 1024*1024*1024 }
\ExplSyntaxOff
\begin{document}
\filesize{../duck.jpg}
\filesize[KiB]{../duck.jpg}
\end{document}