Summary: | неправильная конвертация в latex ссылки на URL | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | kirill <kirill> |
Component: | ALDConvert | Assignee: | Nobody's working on this, feel free to take it <nobody> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | ||
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
kirill
2005-09-28 17:17:58 MSD
Отдельного тега "ссылка, не имеющая текста" в ALDF нет. Ссылка всегда имеет текст. При чтении из m-k содержимое такой ссылки просто дублируется. Явная ошибка в том, что его следует в этом слкчае закавычить, да. Получится что-то вроде \Href[\Sys{http://localhost:631}]{http://localhost:631} Пойдёт? (In reply to comment #1) > Отдельного тега "ссылка, не имеющая текста" в ALDF нет. Ссылка всегда имеет > текст. При чтении из m-k содержимое такой ссылки просто дублируется. Явная > ошибка в том, что его следует в этом слкчае закавычить, да. Получится что-то > вроде \Href[\Sys{http://localhost:631}]{http://localhost:631} > Пойдёт? Э, нет. Ты пытаешься таким образом в конвертере решать задачи преобразования в формат представления, повторяешь ошибку db2latex'а. А этого совсем не нужно в этом случае, нужно просто разметку заменить. Вот смотри, В m-k было @http://cmth.xx@ В LaTeX нужно \Href{http://smth.xx} А \Sys я уже сам подставляю при обработке аргументов в ТеХе. И могу эту логику как хочу менять, потому что это уже вопросы представления. А то, что ты дублируешь содержание ссылки при чтении из m-k, так это проблема твоего reader'a, который изначально был слишком ориентирован на генерацию HTML. Итак, ты за введение нового тега ALDF? Это будет _новый_ тег, шаг навстречу докбуку. > Итак, ты за введение нового тега ALDF? Это будет _новый_ тег, шаг навстречу
докбуку.
Не понимаю твоей логики: почему новый? Мы же пишем в m-k-файле @URL@, подразумевая
при этом, что и ссылка и текст одновременно. Я понимаю, что во внутреннем формате
у тебя ссылка и метка окажутся двумя сущностями, ну и что: это же просто
сокращённая запись, поддерживаемая в m-k? Чем LaTeX принципиально отличается,
что в нём нельзя поддерживать аналогичную сокращённую запись?
При чтении m-k ты раскрываешь сокращение в две сущности, а при записи в LaТеХ
потребуется сравнить, что у тебя текст и ссылка совпадают и выбрать
сокращённый вариант.
Аргумент в пользу того, что такая логика правильная: представь, что ты
пишешь m-k-writer. Если не делать сокращения в этом случае, то нарушится
обратимость конвертации: из m-k во внутренний и обратно в m-k будет
давать заведомо отличный от исходного документ.
(In reply to comment #4) Делать то же самое и для внутренних ссылок? (In reply to comment #4) > > Итак, ты за введение нового тега ALDF? Это будет _новый_ тег, шаг навстречу > докбуку. > > Не понимаю твоей логики: почему новый? Потому что до сегодняшнего дня в ALDF такого тега не было. А чем меньше тегов в ALDF, тем короче _входной_, конвертор -- а ведь сейчас в ALDConvert входной конвертор на два порядка сложнее выходного (как и в ReST, кстати). Например, в данном случае можно просто _пустой_ текст вставлять в ALDF. Во-первых, это так и есть. Во-вторых, легко проверить. В-третьих, у разных выходных конверторов будет разная реакция. Конкретно в laTeX-е будет тебе то, что нужно. Только чуть позже: так или иначе, но поправлять _все_ выходныен конверторы придётся. Хорошо, что я придумал держать версию ALDF для каждого конвертора, см. ALDConvert -V Вообще, с введением контекстной зависимости у меня планов громадьё по резкому сокращению количества тегов в ALDF. Пускай writer разбирается. Но это, конечно, после выхода Compact, то есть в конце апреля :). (In reply to comment #5) > Делать то же самое и для внутренних ссылок? По-моему, да, делать. Ведь они же ничем не отличаются: так же могут иметь пустой/непустой текст ссылки, верно? Кажется, это давно исправлено |