上划线和下划线数字

上划线和下划线数字

我试图在单个数字上方添加下划线和上划线,但似乎找不到方法。以下是我试图做的事情。我只使用颜色来强调我的观点。这个想法是为了表明它们是 2 的重复模式,其中一个重叠元素为 {00} 和 {00} {11} 和 {11}。

在此处输入图片描述

我能想到的办法就是

\[\{\overline{0\underline{0}0}\}\]

这会产生以下结果,这显然是不正确的。任何帮助都将不胜感激!谢谢!

在此处输入图片描述

答案1

有时显而易见的解决办法就会有效。

%! TEX program = lualatex
\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{gather}
    \{ \overline{0}\overline{\underline{0}}\underline{0} \} \\
    \{ 00\overline{1}\overline{\underline{1}}\underline{1} \} \\
\end{gather}

\end{document}

输出图像

也就是说,就像这样

解释

但默认情况下,中间没有空格。

答案2

您可以利用衬线式数字(通常)具有相同宽度的事实。

在此处输入图片描述

\documentclass{article}
\newlength\mylen
\settowidth\mylen{0} % measure width of lining-style numerals 

\begin{document}
$\{\overline{00}\kern-\mylen\underline{00}\}$

$\{00\overline{11}\kern-\mylen\underline{11}\}$
\end{document}

或者,你可以利用 和 的宽度\overline\underline它们覆盖的材料一样宽这一事实。例如,

在此处输入图片描述

% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Cambria Math} % choose a suitable OpenType math font
\begin{document}
$\{\overline{0}\overline{\underline{0}}\underline{0}\}$

$\{00\overline{1}\overline{\underline{1}}\underline{1}\}$
\end{document}

答案3

这是一个相当通用的宏。

这个想法是,首先使用带有上划线的数字本身,然后使用带有下划线的数字幻影来排版两次数字序列。

对于第一步,我们使用一个粘在右侧的零宽度框,其中包含一个底部对齐array且所有间距参数均设置为零;第二步使用顶部对齐array

\documentclass{article}
\usepackage{booktabs}

\ExplSyntaxOn

\NewDocumentCommand{\overunderline}{mmm}
 {% #1 is the sequence of digits
  % #2 is the sequence of overlines
  % #3 is the sequence of underlines
  \group_begin:
  \setlength{\arraycolsep}{0pt}
  \renewcommand{\arraystretch}{0}
  \setlength{\belowrulesep}{\aboverulesep}
  \setlength{\cmidrulekern}{0.1em}
  \ziggy_overunderline:nnn { #1 } { #2 } { #3 }
  \group_end:
 }

\seq_new:N \l__ziggy_overunderline_over_seq
\seq_new:N \l__ziggy_overunderline_under_seq
\seq_new:N \l__ziggy_overunderline_digits_seq
\seq_new:N \l__ziggy_overunderline_phantoms_seq

\cs_new_protected:Nn \ziggy_overunderline:nnn
 {
  \seq_set_split:Nnn \l__ziggy_overunderline_digits_seq { } { #1 }
  \seq_set_map:NNn \l__ziggy_overunderline_phantoms_seq \l__ziggy_overunderline_digits_seq
   {
    \phantom{##1}
   }
  \clist_map_inline:nn { #2 }
   {
    \seq_put_right:Nn \l__ziggy_overunderline_over_seq { \cmidrule(lr){##1} }
   }
  \clist_map_inline:nn { #3 }
   {
    \seq_put_right:Nn \l__ziggy_overunderline_under_seq { \cmidrule(lr){##1} }
   }
  \hbox_to_zero:n
   {
    $\begin{array}[b]{*{\seq_count:N \l__ziggy_overunderline_digits_seq}{c}}
    \seq_use:Nn \l__ziggy_overunderline_over_seq {}
    \seq_use:Nn \l__ziggy_overunderline_digits_seq { & } \\
    \end{array}$\hss
   }
   \begin{array}[t]{*{\seq_count:N \l__ziggy_overunderline_digits_seq}{c}}
   \seq_use:Nn \l__ziggy_overunderline_phantoms_seq { & } \\
   \seq_use:Nn \l__ziggy_overunderline_under_seq {}
   \end{array}
 }

\ExplSyntaxOff

\begin{document}

$\{\overunderline{000}{1-2}{2-3}\}$

$0\overunderline{0000000000}{1-2,3-5}{2-4,6-9}$

\end{document}

第二个例子有一个前导数字,表明垂直放置是正确的。

在此处输入图片描述

相关内容