在表格中显示十六进制代码

在表格中显示十六进制代码

我想在表格中对齐显示一些十六进制代码。这是我得到的:

桌子乱糟糟的

\begin{table}[h]
\caption{Dirty table}
\centering
\begin{tabular}{p{6cm}|p{6cm}}
\textcolor{red}{0000 0000 0001 0000 0000 0000 3162 0005 0009 0000 1000 0000 0900 0000 0000 0000} 0014 0000 0000 0000 0000 usw.
&
\textcolor{red}{0000 0000 0001 0000 0000 0000 3162 0005 0009 0000 1000 0000 0900 0000 0000 0000} 001a 0000 0000 0000 0000 usw.
 \end{tabular}
\label{tab:BitcoinCoreMobileSignatur}
\end{table}

如何正确对齐这些六角块?我尝试使用 siuntix 包

\begin{tabular}{S[table-column-width=6cm]|S[table-column-width=6cm]}

发现了一些其他变化这里。你有什么想法吗?

谢谢

答案1

您应该使用等宽字体。以下是 Inconsolata 字体:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{inconsolata}
\usepackage{xcolor,array}

\newlength{\hexcodewidth}

\begin{document}

\begin{table}[htp]
\centering

\caption{Dirty table}\label{tab:BitcoinCoreMobileSignatur}

\medskip

\ttfamily
\settowidth{\hexcodewidth}{0}% width of a character
\setlength{\hexcodewidth}{\dimexpr24\hexcodewidth+1em}% 24 characters per line
\setlength{\spaceskip}{\dimexpr1em/5}% five spaces

\begin{tabular}{p{\hexcodewidth}|p{\hexcodewidth}}
\textcolor{red}{%
  0000  0000  0001 0000  0000  0000
  3162  0005  0009 0000  1000  0000
  0900  0000  0000 0000} 0014  0000
  0000  0000  0000 usw.
&
\textcolor{red}{%
  0000  0000  0001  0000  0000  0000
  3162  0005  0009  0000  1000  0000
  0900  0000  0000  0000} 001a  0000
  0000 0000 0000 usw.
\end{tabular}

\end{table}

\end{document}

在此处输入图片描述

答案2

您可以使用等宽字体,或使用普通字体,但将每个十六进制数字设置在固定宽度的框中。

在此处输入图片描述

\documentclass{article}
\usepackage{color,array}
\settowidth{\dimen0}{1}
\def\z#1{\zz#1 !!!!}
\def\zz#1#2#3#4{%
\ifx!#1\unskip\else
\makebox[\dimen0]{#1}%
\makebox[\dimen0]{#2}%
\makebox[\dimen0]{#3}%
\makebox[\dimen0]{#4}%
\space
\expandafter\zz
\fi}
\newcolumntype{P}{>{\raggedright\arraybackslash}p}

\addtolength\textwidth{40pt}
\begin{document}


\begin{tabular}{P{6cm}|P{6cm}}
\textcolor{red}{0000 00ag 0001 0eef 0000 0000 3162 0005 0009 0000 1000 0000 0900 0000 0000 0000} 0014 0000 0000 0000 0000 usw.
&
\textcolor{red}{ccf0  fff1 0000 0000 0000 3162 0005 0009 0000 1000 0000 0900 0000 0000 0000} 001a 0000 0000 0000 0000 usw.
 \end{tabular}

\bigskip

{\ttfamily
\begin{tabular}{P{6cm}|P{6cm}}
\textcolor{red}{0000 00ag 0001 0eef 0000 0000 3162 0005 0009 0000 1000 0000 0900 0000 0000 0000} 0014 0000 0000 0000 0000 usw.
&
\textcolor{red}{ccf0  fff1 0000 0000 0000 3162 0005 0009 0000 1000 0000 0900 0000 0000 0000} 001a 0000 0000 0000 0000 usw.
 \end{tabular}}


\bigskip


\begin{tabular}{P{6cm}|P{6cm}}
\textcolor{red}{\z{0000 00ag 0001 0eef 0000 0000 3162 0005 0009 0000 1000 0000 0900 0000 0000 0000}}
\z{0014 0000 0000 0000 0000 usw.}
&
\textcolor{red}{\z{ccf0  fff1 0000 0000 0000 3162 0005 0009 0000 1000 0000 0900 0000 0000 0000}}
\z{001a 0000 0000 0000 0000 usw.}
 \end{tabular}




\end{document}

相关内容