В конце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
использованием \raisebox
then.
Значение номера строки, подъема и отображаемого текста можно изменить, см. соответствующие макросы.
\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}
Ссылки работают так, как и ожидалось.