有没有一个包可以在 LaTeX 中将二进制文件渲染为十六进制?我们搜索过,但没找到。
该包应该提供某种命令:
\lsthex{file.ext}
使用file.ext
“二进制”文件(在这种情况下是.png
文件的头,但内容在这里当然无关紧要)。
结果是这样的:
| 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 |
| 00 00 00 10 00 00 00 10 08 06 00 00 00 1F F3 FF |
答案1
这是一个可以在 MacOs 上运行的版本(并且应该可以在大多数 Unix 机器上运行):
笔记:
- 您可以
hexdump
用不同的 shell 命令替换。此方法将显示该命令的输出。 - 这需要
-shell-escape
允许执行 shell 命令的选项。
代码:
\documentclass{article}
\usepackage{graphicx}
\usepackage{listings}
\newcommand{\ShowHexOutput}[2][\jobname.hex]{%
% #1 = temp file name
% #2 = input file name
%
\immediate\write18{hexdump -C #2 > ./#1}%
\lstinputlisting{./#1}%
}%
\lstset{basicstyle=\tiny\ttfamily}
\begin{document}
The image
\includegraphics[width=0.5\linewidth]{../images/EiffelWide.jpg}
in hex looks like:
\ShowHexOutput{../images/EiffelWide.jpg}
\end{document}