вторник, 7 июля 2009 г.

Пара LaTeX-мелочей

Кое-что из свеженьких рецептов. Ничего особенного и, для знатоков LaTeX, особо нового...

  1. Первым делом мне захотелось наладить висячую пунктуацию. В Google я пока не забанен, посему сразу же вышел на правильный рецепт — «Висячая пунктуация в LaTeX» на typedef.ru. Обнаружилась только одна проблема: кавычки в начале блочной цитаты (хоть в окружении quote, хоть в quotation) «висеть» никак не хотели... Да и странно ожидать от них иного поведения, если вспомнить, что эти окружения реализованы через list. Что мне всегда казалось странным, но не о том речь.

    Ломать поведение list и вообще глубоко копать я не стал, а счел наиболее корректным и удобным определить новое окружение, которое будет использовать механизмы форматирования, стандартные для абзацев, и тем самым станет совместимо с висячей пунктуацией. Результат:

    \newenvironment{quoting}{%
     \vspace{\parskip}%
     \hfill\begin{minipage}[t]{0.9\textwidth}%
    }{%
     \end{minipage}%
     \vspace{\parskip}%
    }

    Замечу, что в таком варианте цитата получается без отступа от правого края, в отличие от стандартных окружений. Однако нет проблем его получить — для этого нужно всего лишь заменить \hfill на \hfil. Еще момент: окружение minipage накладывает некоторые ограничения и особенности, в частности — при работе со сносками. Для меня это неактуально, так что разбирательство с этими проблемами оставляю читателю.

  2. Неприятной неожиданностью для меня стало то, что пакет inputenc с опцией utf8 не распознает символ неразрывного пробела... Решение тривиально:

    \usepackage[utf8]{inputenc}
    \DeclareUnicodeCharacter{00A0}{~}

Комментариев нет:

Отправить комментарий