如何在数组环境内不中断的情况下获得连续的垂直线?

如何在数组环境内不中断的情况下获得连续的垂直线?

我在下面的代码中遇到了一个问题,我发现当我\cmidrule[1pt](r{-1.0em}){1-4}在数组环境中使用命令时,两条垂直线之间出现了断点,如红色标记所示,我希望它是连续的垂直线,而不影响从 s 到 s 的水平线的长度。这是我迄今为止尝试过的 MWE

\documentclass[a4paper]{article}
\usepackage[margin=1cm]{geometry}
\usepackage{booktabs}

   \begin{document}

   $
   \left\{\begin{array}{llllllll|llllll|llllllll}
   s&&:$-$&&\hspace{-2mm}|s&\hspace{-7mm}.,m&\hspace{-2mm}:s&\hspace{-3mm}.,d^{1}&t_{1}&&\hspace{-2mm}:$-$&&\hspace{-3mm}|t_{1}&\hspace{-5mm}:~~&f&&\hspace{-3mm}:$-$&&\hspace{-2mm}|f&\hspace{-5mm}.,r&\hspace{-2mm}:f&\hspace{-2mm}.,l\\ \cmidrule[1pt](r{-1.0em}){1-4}
   m&\hspace{-2mm}.m&:m&\hspace{-2mm}.,m&\hspace{-2mm}|m&&\hspace{-2mm}:s&\hspace{-3mm}.,d^{1}&f&\hspace{-3mm}.f&\hspace{-2mm}:f&\hspace{-3mm}.,f&\hspace{-3mm}|f&\hspace{-5mm}:~~&r&\hspace{-2mm}.r&\hspace{-3mm}:r&\hspace{-2mm}.,r&\hspace{-2mm}|r&&\hspace{-2mm}:f&\hspace{-2mm}.,l\\
   &&&&&&&&&&&&&&&&&&&&&\\
   Whit&&$-$&&&\hspace{-5mm}er&\hspace{-2mm}than&\hspace{-2mm}the&snow,&&&&&&Whit&&\hspace{-3mm}$-$&&&\hspace{-4mm}er&\hspace{-2mm}than&\hspace{-2mm}the\\
   Whit&\hspace{-2.5mm}$-$~er&than&\hspace{-2mm}the&\hspace{-2mm}snow,&&&&whit&\hspace{-4mm}$-$~er&\hspace{-2mm}than&\hspace{-2mm}the&\hspace{-3mm}snow,&&Whit&\hspace{-3mm}$-$~er&\hspace{-2mm}than&\hspace{-2mm}the&snow,&&&\\
   &&&&&&&&&&&&&&&&&&&&&\\
   d^{1}&\hspace{-2mm}.d^{1}&:d^{1}&\hspace{-2mm}.,d^{1}&\hspace{-2mm}|d^{1}&&\hspace{-2mm}:&&r^{1}&\hspace{-3mm}.r^{1}&\hspace{-2mm}:r^{1}&\hspace{-2mm}.,r^{1}&\hspace{-3mm}|r^{1}&\hspace{-5mm}:~~&t&\hspace{-2mm}.t&\hspace{-3mm}:t&\hspace{-2mm}.,t&\hspace{-2mm}|t&&\hspace{-2mm}:&\\
   d&\hspace{-2mm}.d&:d&\hspace{-2mm}.,d&\hspace{-2mm}|d&&\hspace{-2mm}:&&s_{1}&\hspace{-3mm}.s_{1}&\hspace{-2mm}:s_{1}&\hspace{-2mm}.,s_{1}&\hspace{-3mm}|s_{1}&\hspace{-5mm}:~~&s&\hspace{-2mm}.s&\hspace{-3mm}:s&\hspace{-2mm}.,s&\hspace{-2mm}|s&&\hspace{-2mm}:&\\
   \end{array}\right\}
   $
   \end{document}

在此处输入图片描述

答案1

看看以下简单的解决方案是否能给出您可以接受的结果:

  • 使用简单的\cline代替\cmidrule
  • 删除所有\hspace{- ...}(其目的不明确),
  • 将列水平间距减少\setlength\arraycolsep{1.5pt}

    \documentclass[a4paper]{article}
    \usepackage[margin=1cm]{geometry}
    \usepackage{booktabs}
    
       \begin{document}
    
       $\setlength\arraycolsep{1.5pt}
       \left\{\begin{array}{ll ll ll ll|llllll|llllllll}
    s &&:$-$&&|s&.,m&:s&.,d^{1}&t_{1} &&:$-$&&|t_{1}&:&f&&:$-$&&|f&.,r&:f&.,l \\ \cline{1-5}
    m & .m&:m& .,m& |m&& :s& .,d^{1}&f& .f& :f& .,f& |f& :&r& .r& :r& .,r& |r&& :f& .,l\\[2ex]
    %
    Whit&&$-$&&& er& than& the&snow,&&&&&&Whit&& $-$&&& er& than& the\\
    Whit&$-$~er&than&the&snow,&&&&whit&$-$~er&than&the&snow,&&Whit&$-$~er&than&the&snow,&&&\\[2ex]
    %
    d^{1}&.d^{1}&:d^{1}&.,d^{1}&|d^{1}&&:&&r^{1}&.r^{1}&:r^{1}&.,r^{1}&|r^{1}&: &t&.t&:t&.,t&|t&&:&\\
    d&.d&:d&.,d&|d&&:&&s_{1}&.s_{1}&:s_{1}&.,s_{1}&|s_{1}&:&s&.s&:s&.,s&|s&&:&\\
       \end{array}\right\}
       $
       \end{document}
    

上述结果姆韦是:

在此处输入图片描述

附录:关于您的评论,我看到两种可能的解决方案:

  • 一种使用解决方案,cmidrule如@Bernard 答案中所述
  • 在库的帮助下绘制这条线tikzmark

    • cline从数组代码中删除
    • 在序言中添加

      \usepackage{tikz}
      \usetikzlibrary{tikzmark}
      
    • 将数组中的第一行更改为

      \tikzmarknode{a}{s} &&:$-$&&|\tikzmarknode{b}{s}&.,m&:s&.,d^{1}&t_{1} &&:$-$&&|t_{1}&:&f&&:$-$&&|f&.,r&:f&.,l \\
      

      m & .m&:m& .,m& |m&& :s& .,d^{1}&f& .f& :f& .,f& |f& :&r& .r& :r& .,r& |r&& :f& .,l\[2ex]

    • 数组添加后

      \tikz[overlay,remember picture,transform canvas={yshift=-0.75ex}]
           {\draw (a.south west) -- (b.south east);}
      
    • 使用此解决方案,您可以简单地制作不同颜色、外观(使用 TikZ 库decorations.pathmorphing)等的线条(如果这不重要:-)),并且可能更重要的是,您不需要调整这条线的长度。

    • 经过(需要的)两次编译后的结果是:

在此处输入图片描述

答案2

的行的booktabs上方和下方有一些填充。因此我们可以更改它们的值,并\bigstrut在精心选择的单元格中使用来补偿这些填充。

话虽如此,由于我不了解您想要实现的确切布局以及所有这些的原因\hspaces,因此我无法提出任何更简单的解决方案。

\documentclass[a4paper]{article}
\usepackage[margin=1cm]{geometry}
\usepackage{booktabs}
\usepackage{makecell, bigstrut}
\usepackage{amsmath}

   \begin{document}

   $ \setlength{\aboverulesep}{-1pt} \setlength{\belowrulesep}{-1pt}
   \left\{\begin{array}{*{8}{l}|*{6}{l}|*{8}{l}}
 \bigstrut[b] s & & :$-$ & & \hspace{-2mm}| s & \hspace{-7mm}.,m & \hspace{-2mm}:s & \hspace{-3mm}.,d^{1} & t_{1} & & \hspace{-2mm}:$-$ & & \hspace{-3mm}|t_{1} & \hspace{-5mm}:~~ & f & & \hspace{-3mm}:$-$ & & \hspace{-2mm}|f & \hspace{-5mm}.,r & \hspace{-2mm}:f & \hspace{-2mm}., \\
   \cmidrule[1pt](r{-1.0em}){1-4}
  \bigstrut[t] m & \hspace{-2mm}.m & :m & \hspace{-2mm}.,m & \hspace{-2mm}|m & & \hspace{-2mm}:s & \hspace{-3mm}.,d^{1} & f & \hspace{-3mm}.f & \hspace{-2mm}:f & \hspace{-3mm}.,f & \hspace{-3mm}|f & \hspace{-5mm}:~~ & r & \hspace{-2mm}.r & \hspace{-3mm}:r & \hspace{-2mm}.,r & \hspace{-2mm}|r & & \hspace{-2mm}:f & \hspace{-2mm}.,l \\
    & & & & & & & & & & & & & & & & & & & & & \\
   \text{Whit} & & $-$ & & & \hspace{-5mm}\text{er} & \hspace{-2mm}\text{than} & \hspace{-2mm}\text{the} & \text{snow,} & & & & & & \text{Whit} & & \hspace{-3mm}$-$ & & & \hspace{-4mm}\text{er} & \hspace{-2mm}\text{than} & \hspace{-2mm}\text{the}\\
   \text{Whit} & \hspace{-2.5mm}$-$~\text{er} & \text{than} & \hspace{-2mm}\text{the} & \hspace{-2mm}\text{snow,} & & & & \text{whit} & \hspace{-4mm}$-$~\text{er} & \hspace{-2mm}\text{than} & \hspace{-2mm}\text{the} & \hspace{-3mm}\text{snow,} & & \text{Whit} & \hspace{-3mm}$-$~\text{er} & \hspace{-2mm}\text{than} & \hspace{-2mm}\text{the} & \text{snow,} & & & \\
    & & & & & & & & & & & & & & & & & & & & & \\
   d^{1} & \hspace{-2mm}.d^{1} & :d^{1} & \hspace{-2mm}.,d^{1} & \hspace{-2mm}|d^{1} & & \hspace{-2mm}: & & r^{1} & \hspace{-3mm}.r^{1} & \hspace{-2mm}:r^{1} & \hspace{-2mm}.,r^{1} & \hspace{-3mm}|r^{1} & \hspace{-5mm}:~~ & t & \hspace{-2mm}.t & \hspace{-3mm}:t & \hspace{-2mm}.,t & \hspace{-2mm}|t & & \hspace{-2mm}: & \\
   d & \hspace{-2mm}.d & :d & \hspace{-2mm}.,d & \hspace{-2mm}|d & & \hspace{-2mm}: & & s_{1} & \hspace{-3mm}.s_{1} & \hspace{-2mm}:s_{1} & \hspace{-2mm}.,s_{1} & \hspace{-3mm}|s_{1} & \hspace{-5mm}:~~ & s & \hspace{-2mm}.s & \hspace{-3mm}:s & \hspace{-2mm}.,s & \hspace{-2mm}|s & & \hspace{-2mm}: & \\
   \end{array}\right\}
   $

   \end{document} 

在此处输入图片描述

相关内容