
PdfTeX には、インライン テキストと外部ファイル コンテンツ用にそれぞれ と\pdfmdfivesum{...}
があります。\pdfmdfivesum file {...}
一方、XeTeX は のみを提供しているようです\mdfivesum
。XeTeX でファイルの md5sum を計算する手段はありますか?
\documentclass{article}
\usepackage{ifxetex}
\begin{document}
%for text
\ifxetex
\mdfivesum{Hello World!}
\else
\pdfmdfivesum{Hello World!}
\fi
%for file (content)
\ifxetex
%% ??? \filemdfivesum{\jobname.tex} ??? %%
\else
\pdfmdfivesum file {\jobname.tex}
\fi
\end{document}
答え1
構文はfile
pdftexと同様です。
\documentclass{article}
\usepackage{ifxetex}
\begin{document}
%for text
\ifxetex
\mdfivesum{Hello World!}
\else
\pdfmdfivesum{Hello World!}
\fi
%for file (content)
\ifxetex
\mdfivesum file {\jobname.tex}
\typeout{ xetex \mdfivesum file {\jobname.tex}}
\else
\pdfmdfivesum file {\jobname.tex}
\typeout{pdftex \pdfmdfivesum file {\jobname.tex}}
\fi
\end{document}
(少なくともtexlive 2016では)次のログを生成します。
$ xelatex qq184
This is XeTeX, Version 3.14159265-2.6-0.99996 (TeX Live 2016) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(./qq184.tex
LaTeX2e <2016/03/31> patch level 1
Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
(/home/davidc/texmf/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/home/davidc/texmf/tex/latex/base/size10.clo))
(/usr/local/texlive/2016/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(./qq184.aux)
xetex 886540D667C448267B1AC7A23BF6DB36
[1] (./qq184.aux) )
Output written on qq184.pdf (1 page).
Transcript written on qq184.log.