[Tex/LaTex] Tighter-spaced bulleted list should have ordinary line spacing to paragraphs/lines above and below

line-spacinglistsmemoir

To get tighter line spacing (my document's main spacing is 1.5-spacing, and I'm using memoir), I normally use a self-defined "tight list" (tightlist in the code below). This works well. However I would like the list's spacing to the text above and below to be identical to the ordinary (here: 1.5) line spacing, that is I would like the list to behave like a vertical line-like atom with respect to the rest of the document.

In the following document

\documentclass{memoir}

\OnehalfSpacing

\newenvironment{mytightlist}[3]{%
  % noticeably tighter than the memoir class's tightlist facilities
  \begin{Spacing}{1}%
  \begin{list}{#1}{%
    \setlength{\topsep}{0pt}%
    \setlength{\parskip}{0pt}%
    \setlength{\parsep}{0pt}%
    \setlength{\itemsep}{0pt}%
    \setlength{\leftmargin}{#2}%
    \setlength{\labelwidth}{#3}%
    \setlength{\labelsep}{0.5em}%
  }%
}%
{\end{list}\end{Spacing}}


\begin{document}

Text. HHHHHHHHHH

Text. HHHHHHHHHH

\begin{mytightlist}{\(\bullet\)}{1.5em}{0.5em}
\item Text. HHHHHHHHHH
\item Text. HHHHHHHHHH
\end{mytightlist}

Text. HHHHHHHHHH

Text. HHHHHHHHHH

\end{document}

the spacing within line pairs 2/3 and 4/5 is slightly less than the intended spacing, namely that found within line pairs 1/2 and 5/6. Why? How can one fix this?

Btw, I don't care about whether a list "belongs" to a paragraph around it: for me, such spacing should be uniform. ("LaTeX goes to a lot of effort to distinguish in-paragraph lists from end- or start-of-paragraph lists"; comment (quoted approximately) by David Carlisle)

Using the MySpacing environment from this answer to a related question about spacing around blocks instead of Spacing doesn't do the trick in this context.

Best Answer

You're using different baselineskips and you don't take care of this aspect.

\documentclass{memoir}

\newlength{\tightlisttopsep}
\AtBeginDocument{
  \setlength{\tightlisttopsep}{-\baselineskip}
  \addtolength{\tightlisttopsep}{\fontchardp\font`j}% a descender
  \addtolength{\tightlisttopsep}{.15pt} % some overshoot
  \OnehalfSpacing
  \addtolength{\tightlisttopsep}{.7\baselineskip}% height of strut
  % Show the baselines
  \edef\myrule{\noexpand\smash{\vrule depth\the\baselineskip\kern-.4pt}}
}

\newenvironment{mytightlist}[3]{%
  % noticeably tighter than the memoir class's tightlist facilities
  \begin{Spacing}{1}%
  \begin{list}{#1}{%
    \setlength{\topsep}{\tightlisttopsep}%
    \setlength{\parskip}{0pt}%
    \setlength{\parsep}{0pt}%
    \setlength{\itemsep}{0pt}%
    \setlength{\leftmargin}{#2}%
    \setlength{\labelwidth}{#3}%
    \setlength{\labelsep}{0.5em}%
  }%
}%
{\end{list}\end{Spacing}}


\begin{document}

1. HHHHHHHHH\myrule H

2. HHHHHHHHHH\myrule

\begin{mytightlist}{\(\bullet\)}{1.5em}{0.5em}
\item 3. HHHHHHHHHH
\item 4. \myrule HHHHHHHHHH
\end{mytightlist}

5. HHHHHHHHHH

6. HHHHHHHHHH

\end{document}

This is without hope if the mytightlist is used when a different font size is in force, because the settings are made just for the standard size.

The result is surely poor typography, in my opinion.

enter image description here