Мне нужно что-то похожее на этопочта, то есть вторая строка части должна начинаться непосредственно у левого поля.
Вот что я попробовал:
\documentclass{memoir}
\setlength{\cftpartindent}{0em}
\setlength{\cftpartnumwidth}{0em}
\renewcommand{\cftpartaftersnumb}{\\}
\renewcommand*{\cftpartname}{Part\space}
\begin{document}
\tableofcontents*
\part{Test}
\end{document}
Но по какой-то причине заголовок во второй строке имеет отступ:
решение1
Это, конечно, выдумка, но, похоже, она работает для однострочных заголовков.
В вашем коде измените переопределение \cftaftersnumb
следующим образом, чтобы оно было размещено после вашего \cftpartname
переопределения:
\newlength{\mylength}
\settowidth{\mylength}{\cftpartfont \cftpartname} % Space for Part text
\renewcommand{\cftpartaftersnumb}{\newline\mbox{\hspace{-\mylength}}}
Это помещает некоторое негативное пространство, соответствующее тому, которое используется текстом Части, перед первой строкой заголовка, чтобы выровнять его по левому полю. Чтобы сделать это для всех строк многострочного заголовка, потребовалась бы значительная работа над внутренними компонентами, на memoir
которые я больше не способен.