垂直删除线

垂直删除线

我目前正在尝试将埃拉托斯特尼筛法示例用 TeX 转换为整数 2-100。我已经使用ulemcancel包来提供水平和对角线删除线,但我还需要垂直删除线,它将穿过与水平和对角线删除线相同的点。

它不必是一个通用的解决方案,因此适用于数学模式下的两位数的解决方案就足够了。

\documentclass[pdf]{beamer}
\usepackage{ulem}
\usepackage{cancel}
\newcommand{\strike}[1]{\text{\sout{$#1$}}}
\begin{document}
\begin{array}{c c c c c c c c c c}
    & \cancel{2\:} & \strike{3\:} & \cancel{4\:} & \bcancel{5\:} & \strike{\cancel{6\:}} & 7\: & \cancel{8\:} & \strike{9\:} & \xcancel{10}\\
    11 & \strike{\cancel{12}} & 13 & \cancel{14} & \bcancel{\strike{15}} & \cancel{16} & 17 & \strike{\cancel{18}} & 19 & \xcancel{20}\\
    \strike{21} & \cancel{22} & 23 & \strike{\cancel{24}} & \bcancel{25} & \cancel{26} & \strike{27} & \cancel{28} & 29 & \strike{\xcancel{30}}\\
    31 & \cancel{32} & \strike{33} & \cancel{34} & \bcancel{\textcolor{red}{35}} & \strike{\cancel{36}} & 37 & \cancel{38} & \strike{39} & \xcancel{40}\\
    41 & \strike{\cancel{42}} & 43 & \cancel{44} & \bcancel{\strike{45}} & \cancel{46} & 47 & \strike{\cancel{48}} & 49 & \xcancel{50}\\
    \strike{51} & \cancel{52} & 53 & \strike{\cancel{54}} & \bcancel{55} & \cancel{56} & \strike{57} & \cancel{58} & 59 & \strike{\xcancel{60}}\\
    61 & \cancel{62} & \strike{63} & \cancel{64} & \bcancel{65} & \strike{\cancel{66}} & 67 & \cancel{68} & \strike{69} & \xcancel{\textcolor{red}{70}}\\
    71 & \strike{\cancel{72}} & 73 & \cancel{74} & \bcancel{\strike{75}} & \cancel{76} & 77 & \strike{\cancel{78}} & 79 & \xcancel{80}\\
    \strike{81} & \cancel{82} & 83 & \strike{\cancel{84}} & \bcancel{85} & \cancel{86} & \strike{87} & \cancel{88} & 89 & \strike{\xcancel{90}}\\
    91 & \cancel{92} & 93 & \cancel{94} & \bcancel{95} & \strike{\cancel{96}} & 97 & \cancel{98} & \strike{99} & \xcancel{100}\\
\end{array}
\end{document}

我现在想做的是给 7 的倍数添加水平划线,但似乎做不到很好。我试过使用类似

\newcommand{\hstrike}[1]{\strike{#1}\!\mid}

或者

\newcommand{\hstrike}[1]{| \! \strike{#1}}

但是它会搞乱其余的格式,而且如果我使用\mkern而不是 ,情况也不会改变\!

答案1

我创建了\vstrike{}“7”和“93”并将其用于其中。我还重新定义了所有例程,cancel使它们具有统一的规则厚度和长度,并经过相同的交叉点。

经过编辑以展示“101”上的全套内容。

\documentclass[pdf]{beamer}
\usepackage{stackengine,graphicx}
\def\stacktype{L}
\def\useanchorwidth{T}
%\usepackage{ulem}
\newcommand\xcancel[1]{\bcancel{\cancel{#1}}}
\newcommand\bcancel[1]{\stackon[7pt]{#1}{\rotatebox{-30}{\rule{2.9ex}{1pt}}}}
\newcommand\cancel[1]{\stackon[0pt]{#1}{\rotatebox{30}{\rule{2.9ex}{1pt}}}}
\newcommand\strike[1]{\stackon[3.3pt]{#1}{\rule{2.9ex}{1pt}}}
\newcommand\vstrike[1]{\stackon{#1}{\smash{\rule[-3pt]{1pt}{2.9ex}}}}
\begin{document}
\[
\begin{array}{c c c c c c c c c c}
    & \cancel{2} & \strike{3} & \cancel{4} & \bcancel{5} & \strike{\cancel{6}} & \vstrike{7}\: & \cancel{8} & \strike{9} & \xcancel{10}\\
    11 & \strike{\cancel{12}} & 13 & \cancel{14} & \bcancel{\strike{15}} & \cancel{16} & 17 & \strike{\cancel{18}} & 19 & \xcancel{20}\\
    \strike{21} & \cancel{22} & 23 & \strike{\cancel{24}} & \bcancel{25} & \cancel{26} & \strike{27} & \cancel{28} & 29 & \strike{\xcancel{30}}\\
    31 & \cancel{32} & \strike{33} & \cancel{34} & \bcancel{\textcolor{red}{35}} & \strike{\cancel{36}} & 37 & \cancel{38} & \strike{39} & \xcancel{40}\\
    41 & \strike{\cancel{42}} & 43 & \cancel{44} & \bcancel{\strike{45}} & \cancel{46} & 47 & \strike{\cancel{48}} & 49 & \xcancel{50}\\
    \strike{51} & \cancel{52} & 53 & \strike{\cancel{54}} & \bcancel{55} & \cancel{56} & \strike{57} & \cancel{58} & 59 & \strike{\xcancel{60}}\\
    61 & \cancel{62} & \strike{63} & \cancel{64} & \bcancel{65} & \strike{\cancel{66}} & 67 & \cancel{68} & \strike{69} & \xcancel{\textcolor{red}{70}}\\
    71 & \strike{\cancel{72}} & 73 & \cancel{74} & \bcancel{\strike{75}} & \cancel{76} & 77 & \strike{\cancel{78}} & 79 & \xcancel{80}\\
    \strike{81} & \cancel{82} & 83 & \strike{\cancel{84}} & \bcancel{85} & \cancel{86} & \strike{87} & \cancel{88} & 89 & \strike{\xcancel{90}}\\
    91 & \cancel{92} & \vstrike{93} & \cancel{94} & \bcancel{95} & \strike{\cancel{96}} & 97 & \cancel{98} & \strike{99} & \xcancel{100}\\
\strike{\vstrike{\xcancel{101}}}
\end{array}
\]
\end{document}

在此处输入图片描述

相关内容