Почему некоторые внутренние команды lineno никогда не вызываются?

Почему некоторые внутренние команды lineno никогда не вызываются?

В концеlinenoкриптическая документация, автор перечисляет некоторые «команды для волшебников».

Я пытаюсь реализовать специальный тег для номера первой строки, поэтому я подумал, что, вероятно, начну с переопределения \makeLineNumberLeft. По какой-то причине это не имеет никакого эффекта. То же самое касается довольно многих linenoвнутренних элементов.

\documentclass{memoir}

\usepackage{lineno}
\usepackage{lipsum}

\begin{document}
    \def\makeLineNumberLeft{}
    \def\theLineNumber{}
    \modulolinenumbers[5]
    \runninglinenumbers*

    \lipsum[1-4]
\end{document}

Как мне манипулировать linenoмеханизмом печати цифр?

Редактировать:

Если говорить конкретно, я хочу напечатать Lineнад каждым экземпляром строки номер 5 (предположительно, используя отрицательные hspaceи graphicx's raisebox). Кроме того, linerefссылки должны быть точными, поэтому я не могу взломать нумерацию на низком уровне.

решение1

Надеюсь, это именно то, чего хочет автор поста...

Запрос running numbers, макрос \makeLineNumberRunningиспользуется для набора чисел. Запрос о конкретном номере строки, скажем, 5, легко выполняется с \ifnum\value{linenumber} = 5использованием \raiseboxthen.

Значение номера строки, подъема и отображаемого текста можно изменить, см. соответствующие макросы.

\documentclass{memoir}

\usepackage{xcolor}
\usepackage{lineno}
\usepackage{lipsum}

\newlength{\raiseboxoffset}
\setlength{\raiseboxoffset}{0.5\baselineskip}

\newcommand{\linenumberwhereitshouldappear}{5}
\newcommand{\mylinetext}{\bfseries\textcolor{red}{Line~}}

\runninglinenumbers*

% Copied from lineno.sty and slightly edited. 
\def\makeLineNumberRunning{% 
  \hss\linenumberfont
  \ifnum\value{linenumber} = \linenumberwhereitshouldappear %
  \raisebox{\raiseboxoffset}{\mylinetext}%
  \fi
  \LineNumber\hskip\linenumbersep%
}

\begin{document}
\noindent See the important line \ref{mysuperline} please!!!

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam
lobortis facilisis sem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi nec ante. Donec ullamcorper,
felis non sodales commodo, lectus velit ultrices augue, a
dignissim nibh lectus placerat pede. Vivamus nunc nunc, molestie
ut, \linelabel{mysuperline} ultricies vel, semper in, velit. Ut porttitor. Praesent in
sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Duis fringilla tristique neque. Sed interdum libero ut metus.
Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit
amet ante lobortis sollicitudin. Praesent blandit blandit mauris.
Praesent lectus tellus, aliquet aliquam, luctus a, egestas a,
turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum
turpis accumsan semper.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam
lobortis facilisis sem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi nec ante. Donec ullamcorper,
felis non sodales commodo, lectus velit ultrices augue, a
dignissim nibh lectus placerat pede. Vivamus nunc nunc, molestie
ut, ultricies vel, semper in, velit. Ut porttitor. Praesent in
sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Duis fringilla tristique neque. Sed interdum libero ut metus.
Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit
amet ante lobortis sollicitudin. Praesent blandit blandit mauris.
Praesent lectus tellus, aliquet aliquam, luctus a, egestas a,
turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum
turpis accumsan semper.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam
lobortis facilisis sem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi nec ante. Donec ullamcorper,
felis non sodales commodo, lectus velit ultrices augue, a
dignissim nibh lectus placerat pede. Vivamus nunc nunc, molestie
ut, ultricies vel, semper in, velit. Ut porttitor. Praesent in
sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Duis fringilla tristique neque. Sed interdum libero ut metus.
Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit
amet ante lobortis sollicitudin. Praesent blandit blandit mauris.
Praesent lectus tellus, aliquet aliquam, luctus a, egestas a,
turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum
turpis accumsan semper.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam
lobortis facilisis sem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi nec ante. Donec ullamcorper,
felis non sodales commodo, lectus velit ultrices augue, a
dignissim nibh lectus placerat pede. Vivamus nunc nunc, molestie
ut, ultricies vel, semper in, velit. Ut porttitor. Praesent in
sapien. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Duis fringilla tristique neque. Sed interdum libero ut metus.
Pellentesque placerat. Nam rutrum augue a leo. Morbi sed elit sit
amet ante lobortis sollicitudin. Praesent blandit blandit mauris.
Praesent lectus tellus, aliquet aliquam, luctus a, egestas a,
turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum
turpis accumsan semper.
\end{document}

Ссылки работают так, как и ожидалось.

введите описание изображения здесь

Связанный контент