Символ для пробелов как неоднозначных битов

Символ для пробелов как неоднозначных битов

Я отображаю строки битов с неоднозначными битами, например 11-101-0011---10-1-1. Так что "-" означает, что может быть "1" или "0".

Все символы, которые я пробовал, такие как квадраты и круги, отображаются несимметрично, например,$001\square110\square\square0\square1$ введите описание изображения здесьотображает более широкое пространство между "1" и \square, чем между "0" и \square или между двумя \square. Вот что я имею в виду под 'несимметричной модой'.

Примечание: квадратный символ можно заменить более подходящим символом.

Как можно отобразить эти пробелы наглядно, возможно, с помощью обозначений из битовой алгебры или логики?

решение1

Некоторая «асимметрия» неизбежна, поскольку шрифты обычно имеют одинаковую ограничивающую рамку для цифр, но цифра 1 немного уже, чем 0.

Вот способ получить пустой прямоугольник, имеющий ту же ограничивающую рамку, что и цифры, а также некоторые боковые опоры.

\documentclass{article}
\usepackage{amsmath}

\newcommand{\ubit}{%
  \mathord{%
    \setlength{\fboxrule}{0.2pt}%
    \setlength{\fboxsep}{0pt}%
    \makebox[\fontcharwd\textfont0 `0]{%
      \fbox{\kern-3\fboxrule\phantom{0}\kern-3\fboxrule}%
    }%
  }%
}

\begin{document}

$0 0 1 \ubit 1 1 0 \ubit \ubit 0 \ubit 1$

\end{document}

введите описание изображения здесь

Вот что я получу, если \phantom{0}заменить на 0:

введите описание изображения здесь

Если вам нужно использовать шрифты других размеров, придется проделать дополнительную работу.

решение2

Приемлемо ли для вас решение с verbatimи ?-

\documentclass{article}
\begin{document}

\verb|11-101-0011---10-1-1|

\verb|-010-0-00-1-0--10-1-|

\verb|01-10-1110-00-1-0-10|

\end{document}

введите описание изображения здесь

Связанный контент