Mailing List CyrTeX-ru@vsu.ru Message #1522
From: neGODnick <CyrTeX-ru@vsu.ru>
Subject: Re: Можно ли отключить лигатуры?
Date: Mon, 27 Jul 2009 15:47:05 +0400
To: Cyrillic TeX Users Group <CyrTeX-ru@vsu.ru>
27.07.09, Андрей Севастьянов<CyrTeX-ru@vsu.ru> написал(а):
>
>
> Вообще говоря, URL-ы в тексте -- это тяжёлый случай, ведь они бывают в
> две строки длинной, плохо работают правила переносов, и текст выглядит
> некрасиво, на мой взгляд.

Ну да, а что делать? Зато при распечатке не теряются.

> Есть ещё вариант: использовать для URL-ов сноски (немного облегчается
> проблема с переносами) или вообще оформить их как библиографические
> ссылки.
>

Да, это возможный компромисс. А сами длинные ссылки разбиваем, включая
настройку breaklinks=true пакета hyperref (хотя бывают случаи, когда рабиваются
всё равно плохо).

>> Ну, \href, по крайней мере, выход из положения, хотя и не очень.
>> Но остаётся проблема с листингами.
>
> То есть, окружением verbatim и командой \verb вы не хотите пользоваться
> из-за tt-шрифта? Можно, конечно, печатать листинги как у Кнута в WEAVE,
> есть даже какие-то пакеты для LaTeX для печати листингов с выделением
> синтаксиса.
>

Не только из-за tt-шрифта. Ещё из-за подстветки синтаксиса и параметров
оформления. Как у Кнута, я не смотрел, а вот насчёт выделения
синтаксиса "--- вот в том числе по этой причине мне понравился пакет listing.
Пробую сейчас подобрать настройки:


% ------------------------------------------------------------------------- %
%                     П О Д С В Е Т К А   К О Д А
                 %
% ------------------------------------------------------------------------- %

\usepackage{listings}
%\usepackage{listingsutf8} % разницы не заметил

\let\OLDlstlisting\lstlisting
\def\lstlisting{\footnotesize\OLDlstlisting} % Уменьшаем шрифт
вынесенных в отд. абзац листингов здесь, чтобы внутритекстовые не
менять.

\let\OLDlstinline\lstinline
\def\lstinline{\color{textcolor}\small\OLDlstinline} % Уменьшаем шрифт
внутритекстовых листингов.

%  подгружаемые  языки  —   подробнее  в  документации  listings
\lstloadlanguages{[LaTeX]TeX, bash, MetaPost, Fortran, Perl,C++,make}
%  включаем  кириллицу  и  добавляем  кое-какие  опции
\lstset{language=[LaTeX]TeX,  %  выбираем  язык  по  умолчанию
extendedchars=true,    %  включаем  не  латиницу
%
emph={in, cm, cc, pc, mm, dd, bp, pt, sp, ex, em}, % список ключевых слов
emphstyle=\sffamily, % стиль
%emph=[2]{}, % список ключевых слов -2
%emphstyle=[2]{},
%
escapechar=|, % |«выпадаем» в LATEX|
%
moredelim=**[is][\color{lst-emphcolor}]{""}{""}, % специальное выделение
moredelim=*[is][\tiny\itshape]{**}{**},%\rmfamily
%
% ----------------------- ШРИФТЫ ---------------------------------
% не надо задавать размер здесь, потому иначе этот размер будет везде
--- в вынесенных листингах, во внутритекстовых листингах, в заголовках
и т. д.!
%
basicstyle=\sffamily\color{lst-basiccolor}, %  базовый шрифт
keywordstyle=\fontfamily{cmss}\fontseries{sbc}\selectfont\color{lst-keywordcolor},%
identifierstyle=\fontfamily{cmbr}\mdseries\color{lst-identifiercolor}, %
commentstyle=\rmfamily\mdseries\itshape\color{lst-commentcolor},  %
шрифт  для  комментариев
stringstyle=\color{lst-stringcolor},  % не понял, что это за  строки
%
% ----------------- рамка, фон, тень --------------------------
%frame=l, %  рамка: trbl; t - сверху, b - снизу и т.д.
framesep=1em,
backgroundcolor=\color{lst-filcolorlight}, % цвет фона
rulecolor=\color{lst-basiccolor}, % цвет рамки/кромки
%shadowbox,
%rulesepcolor=, % цвет тени
% ---------------------- ОТСТУПЫ -----------------------------
%resetmargins=true,
xleftmargin=\parindent,
% ---------------------- ЗАГОЛОВКИ -------------------------------
captionpos=t, % заголовок t - сверху или b - снизу
belowcaptionskip=\medskipamount, % отступ от заголовка вниз
%captionstyle=\bfseries,  % Вызывает проблемы с пакетом keyval.
ИСПОЛЬЗОВАТЬ НЕ ПОЛУЧИЛОСЬ, НО ВСЁ МОЖНО ЗАДАТЬ пакетом caption или
др.!!!
%
% ----------------------- ТАБУЛЯТОРЫ   И   ПРОБЕЛЫ  -----------------------
%showspaces=true,
tabsize=4,
showtabs=true,
tab=, % если задать знак табуляции (\rightarrowfill, \hrulefill или
др.) --- то эти знаки копируются, после вставки в др. документ
придётся чистить от них код.
%
columns=spaceflexible,  % ПРЕДОТВРАЩАЕТ ОТ РАЗРЯДКИ И ВСТАВКИ ПРОБЕЛОВ!
breaklines=true, % автоматически переносит длинные строки --- ОБЯЗАТЕЛЬНО!
breakatwhitespace=true, % автоматически переносит длинные строки
только по пробелам --- ОБЯЗАТЕЛЬНО!
prebreak=\llap{\mbox{\color{red}\bfseries\textvisiblespace}},%
вставляется вместо знака переноса. Другие знаки, например
\mbox{$\Rightarrow$} или \mbox{\textcolor{red}{\textbullet}}
копируются, после вставки в др. документ придётся чистить от них код.
showstringspaces=false}%

% Цвета задаём отдельно:

\usepackage[dvipsnames,svgnames,x11names]{xcolor}

\definecolor{textcolor}{named}{black}
\definecolor{lettrinecolor}{named}{shade-of-red}

\definecolor{linkcolor}{named}{shade-of-red}
\definecolor{citecolor}{rgb}{0,0.65882,0}
\definecolor{filecolor}{named}{shade-of-magenta}
\definecolor{urlcolor}{named}{shade-of-blue}

\definecolor{lst-basiccolor}{named}{textcolor}
\definecolor{lst-stringcolor}{named}{red}
\definecolor{lst-keywordcolor}{named}{textcolor}
\definecolor{lst-identifiercolor}{named}{textcolor}
\definecolor{lst-commentcolor}{named}{citecolor}
\definecolor{lst-emphcolor}{named}{shade-of-magenta}

\definecolor{lst-filcolorlight}{gray}{.95}

и т.д. (цвета тут некоторые мои, я не всё написал, просто принцип показываю)


--
С уважением — Эдуард
Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster