LINUX.ORG.RU

LaTeX проблема со ссылками в тексте

 , ,


0

1

Здравствуйте. Понемногу осваиваю latex (установлен пакет 2018.20190227-2 в debian). Не совсем понятно поведение некоторых ссылок. Допускаю, что это может быть не связано с latex. Пример:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\usepackage{url}

\begin{document}
Много текста: ссылка;
Много текста - ссылка, текст.
И т.д. (ссылка).
\end{document}

В итоговом документе (pdf) у меня наблюдается следующее. При нажатии на ссылку переход производится по неправильному адресу для некоторых ссылок. Например, по ссылке из исходника текст (\url{https://google.com}) вместо https://google.com в pdf переход производится по https://google.com), т.е. захватывается скобка, которой в фигурных скобках нет. И такая ситуация с половиной ссылок. Могут добавлятся различные знаки пунктуации, вроде точки, запятой, двоеточия, скобок, точки с запятой, которые стоят за фигурными скобками после ссылки. Такого поведения можно избежать, если ставить в исходнике пробел между закрывающей фигурной скобкой и знаком пунктуации, но это, во-первых, смотрится некрасиво, а во-вторых, судя по готовым документам, которые я видел, не является правильным решением, т.к. я видел ссылки, после которых стоят знаки пунктуации и они отрабатывают как положено. Я знаю, что есть пакет hyperref, но мне нужна простая ссылка в тексте, без вуалирования текстом.

Вторая проблема со ссылками, в которых присутствует кириллица. В конечном документе вместо кириллицы кракозябры. Переход по такой ссылке никуда не ведет. Например, ссылки в домене «рф».

Как это можно исправить, подскажите. Пытался поискать на stackoverflow и в поисковиках, но там похожие проблемы решают подключением пакета с кодировкой utf8, а у меня он уже подключен. Отключение ничего не меняет. Заранее спасибо за ответы.


Наоборот, hyperref тебе поможет. Просто оформляешь ссылки как \href{ссылка}{ссылка}. В pdf у тебя будет текст ссылки и правильный переход, потому что знак пунктуации будет стоять рядом с описательной частью, а не самой ссылкой.

Yorween
()

Пакет url предназначен для форматирования URL. Он не создаёт гиперссылки. Это уже твой просмотрщик PDF эвристически их обрабатывает. Если нужны ссылки, то придётся подключить пакет hyperref. Он, кстати, тоже имеет макрос \url.

TeopeTuK ★★★★
()

Смотрите в сторону пакета hyperref (есть очень подробная документация). Для создания гиперссылок используй команду вида:

\href{https://linux.org.ru}{описание с кириллицей}

Похоже с кириллицей в URL у программ просмотра может сносить крышу, поэтому лучше это как-нибудь пока обходить.

Evgueni ★★★★★
()
Ответ на: комментарий от TeopeTuK

Если использовать в качестве компилятора latex/pdflatex, то \url от hyperef в случае кириллических URLов работает не адекватно (пишет текст в T2A кодировке). Возможно в xelatex/lualatex эта проблема решена.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от TeopeTuK

Я просто сейчас попробовал. Из головы я тоже не знаю :) Возможно со временем исправят, если уже не поправили.

Evgueni ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.