我想打印一些十六进制代码并用颜色注释它。我使用了\texttt
和\colorbox
,但是 会\colorbox
在文本前后添加半个空格,因此列对齐会变得混乱。
\texttt{
AA E2 8E A2 E2 8E 9C 20 E2 8E B3 61 E2 81 B1 2D\\
62 E2 81 B1 E2 8E 9F \colorbox{red}{E2 8E A5 E2 8E AA 0A}20 20\\
32 48 E2 82 82 20 2B 20 4F E2 82 82 20 E2 87 8C\\
20 32 \colorbox{green}{48 E2 82 82 4F 2C 20}52 20 3D 20 34 2E 37\\
20 6B CE A9 2C 20 E2 8C 80 20 32 30 30 20 6D 6D\\
}
以下是示例:
是否可以正确地排列列?我删除了文本后面的空格,因此下面的列可以正确对齐,但无论如何,颜色框内的文本都会发生移动。或者,在此之前这是一个 XY 问题,在 latex 中是否有方法可以实际做到这一点?
答案1
框周围有\fboxsep
填充,在评论中链接的问题的答案中,有建议将其本地设置\boxsep
为零,但在这里我怀疑你想要填充,但要考虑到它,所以
\hspace*{-\fboxsep}\colorbox{red}{E2 8E A5 E2 8E AA 0A}\hspace*{-\fboxsep}
你可能也想减少\fboxsep
一点,或者不减少,这取决于
\setlength{\fboxsep}{2pt}
例如(默认为 3pt)