На случай, если кто-то прочитает такой старый пост: TeX не знает, где будут разрывы страниц, когда он расставляет текст в абзаце, поэтому, если вы не имеете в виду строки внутри абзаца, нет простого способа получить номера строк.
Если вы знаете, что ваш абзац пересекает границу страницы, то потенциальный способ получить номера строк заключался бы в размещении подходящего маркера позиции \write в нужном месте на странице, что записывается в файл .parlocs. В конце работы нужно найти разницу между этим значением и предыдущим началом страницы/колонки и разделить это число на размер базовой линии.
Однако математика усложняется чем-либо вроде заголовка раздела, рисунка или изменения межстрочного интервала, и, конечно, это основано на предыдущем прогоне, поэтому результат может быть неверным.
Это в основном более сложная версия того, как рассчитываются вырезы для рисунков (там нужно беспокоиться только о количестве строк внутри абзаца), и результат там … обычно правильный, но не всегда.
Что касается ссылок, я не знаю, ясно ли из вышеизложенного или документации: атрибуты не обязательно должны быть привязаны к \w или какому-либо другому конкретному стилю символов, ptxt2pdf создает ссылки на основе имени атрибута, а не маркера, к которому привязан атрибут.
In case anyone reads such an old post, TeX has no idea where page breaks will be when it is arranging text into a paragraph, so unless you’re talking about lines into the paragraph, no, there’s no easy way to get line numbers.
If you know that your paragraph is crossing a page boundary, then the potential way to get line numbers would involve dropping the right sort of position-marking \write onto the page in the right place, which writes to the .parlocs file. At the end of the job, find the difference between that and the previous start of the page/column and dividing that number by the size of the baseline.
The maths, however, gets complicated by anything like a section-header, figure or change in line spacing, and of course it is based on the previous run, so the result might be wrong.
This is basically a more complicated version of how the offset cutouts for figures get calculated, (they only need to worry about the count into the paragraph) and the result there is … normally correct but not always.
Regarding the links, I don’t know if the above or the documentation is clear: the attributes don’t need to be attached to \w or any other particular character style, ptxt2pdf makes links based on the name of the attribute, not the marker the attribute is attached to.