# Horizontal cline lengths inside blkarray

Consider the following MWE using the blkarray package:

\documentclass[11pt]{article}
\usepackage{lmodern}
\usepackage{blkarray}

\begin{document}
$\begin{blockarray}{[ccc|ccc|cc]c} \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} \\ \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} \\ & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} \\ \cline{1-8} & & & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & p \\ & & & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} \\ & & & & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} \\\cline{1-8} & & & & & & \mathsf{x} & \mathsf{x} & q \\ & & & & & & & \mathsf{x} \\ \end{blockarray}$
\end{document}


where the two \clines can be seen to intersect with the braces. What is the best means of trimming these? The \cmidrule command from booktabs does approximately this, but has a negative interaction with the two vertical lines.

Also, compared with an equivalent bmatrix it looks to my eye as if the braces are somewhat closer to the elements of the matrix than usual.

There's no interaction with the vertical lines if you locally remove the padding of booktabs rules, which depend on the values of \aboverulesep (default: 0.605mm or 0.4ex) and \belowrulesep{<width>} (default: 0.984mm or 0.65ex) :
\documentclass[11pt]{article}
$\setlength\aboverulesep{0pt}\setlength\belowrulesep{0pt} \setlength\cmidrulewidth{0.5pt} \begin{blockarray}{[ccc|ccc|cc]c} \bigstrut[t]\mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} \\ \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} \\ & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} \\ \cmidrule(lr){1-8} & & & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & p \\ & & & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} \\ & & & & \mathsf{x} & \mathsf{x} & \mathsf{x} & \mathsf{x} \\%\cline{1-8} \cmidrule(lr){1-8} & & & & && \mathsf{x} & \mathsf{x} & q \\ & & & & & & & \mathsf{x}\bigstrut[b] \\ \end{blockarray}$