From: "Alexander I Rozhenko" Received: by relay1.vsu.ru (CommuniGate Pro PIPE 5.2.5) with PIPE id 105438638; Wed, 23 Jul 2008 20:38:26 +0400 Received: from [85.118.224.219] (HELO mail.academ.org) by relay1.vsu.ru (CommuniGate Pro SMTP 5.2.5) with ESMTP id 105438282 for CyrTeX-ru@vsu.ru; Wed, 23 Jul 2008 20:32:36 +0400 Received-SPF: none receiver=relay1.vsu.ru; client-ip=85.118.224.219; envelope-from=rozhenko@oapmg.sscc.ru Received: from sat2 (host-10-204-42-23.academ.local [10.204.42.23]) (Authenticated sender: roj@academ.org) by mail.academ.org (Postfix) with ESMTPA id 9B7E2380BB700 for ; Wed, 23 Jul 2008 23:32:35 +0700 (NOVST) Message-ID: <002001c8ece3$6768c570$6401a8c0@sat2> To: "Cyrillic TeX Users Group" References: Subject: =?UTF-8?B?UmU6INCf0LDQutC10YIgP2Jvb2ttYXJrPyAtINC80L7QttC90L4g0LvQuCA=?= =?UTF-8?B?0LfQsNC00LDRgtGMINCz0LvQvtCx0LDQu9GM0L3Ri9C1INC90LDRgdGC0YDQvg==?= =?UTF-8?B?0LnQutC4Pw==?= Date: Wed, 23 Jul 2008 23:44:41 +0700 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-Virus-Scanned: ClamAV 0.92.1/7797/Wed Jul 23 22:31:49 2008 on osts X-Virus-Status: Clean X-DrWeb-FlyTrap-Class: NON-SPAM X-DrWeb-FlyTrap-CID: 1 X-DrWeb-FlyTrap-ID: 122934 ----- Original Message ----- From: "regonly noreply" To: "Cyrillic TeX Users Group" Sent: Wednesday, July 23, 2008 10:34 AM Subject: Re: Пакет ?bookmark? - можно ли задать глобальные настройки? > Александр Иосифович! > > Спасибо Вам огромное! Ваша идея работает! > Сейчас я сделал определения для каждого типа заголовка: > > % ----------------------------------------------------------- > \let\OriginalPart\part > \def\part{\bookmarksetup{bold}\OriginalPart} % Часть - жирная закладка > > \let\OriginalChapter\chapter > \def\chapter{\bookmarksetup{bold}\OriginalChapter} % Глава - жирная > закладка > > \let\OriginalSection\section > \def\section{\bookmarksetup{bold}\OriginalSection} % Раздел - жирная > закладка > > \let\OriginalSubsection\subsection > \def\subsection{\bookmarksetup{bold=false}\OriginalSubsection} % > Подраздел - обычная > > \let\OriginalSubsubsection\subsubsection > \def\subsubsection{\bookmarksetup{bold=false}\OriginalSubsubsection} % > Подподраздел - обычная > > \let\OriginalParagraph\paragraph > \def\paragraph{\bookmarksetup{bold=false}\OriginalParagraph} % > Параграф - обычная > > \let\OriginalSubparagraph\subparagraph > \def\subparagraph{\bookmarksetup{bold=false}\OriginalSubparagraph} % > Подпараграф - обычная > % ----------------------------------------------------------- > > Я попытался сразу задавать "отмену", например так: > > % ----------------------------------------------------------- > \let\OriginalChapter\chapter > \def\chapter{\bookmarksetup{bold}\OriginalChapter} > > \addto\OriginalChapter\chapter > \def\chapter{\def\bookmarksetup{bold=false}\OriginalChapter} % ошибки > % ----------------------------------------------------------- > > или так > > % ----------------------------------------------------------- > \let\OriginalChapter\chapter > \def\chapter{\bookmarksetup{bold}\OriginalChapter} > > \addto\@chapter{\def\bookmarksetup{bold=false}} % ошибки > % ----------------------------------------------------------- > > и ещё как-то, но либо получаю ошибки, либо нету никаких изменений. > > Поэтому пришлось дать определение для КАЖДОГО заголовка, иначе все > последующие закладки (точнее - нижеследующих уровней иерархии) будут > как предыдущие (тоже жирными). > > Попытался найти описание команды \addto (правда ли, что она добавляет > в конец) - не нашёл. Возможно, это есть в книге Кнута, но у меня есть > только скан русского издания и английский очень плохой PDF. Я пока не > читал, только заглядывал. Оба без возможности поиска, а быстро найти > нужное вручную в такой толстенной книге не представляется возможным. > Впрочем, \addto нет в предметном указателе, так что и Кнут может не > помочь... Я ошибся. Команду \addto добавляет содержимое в конец. Но использовать её можно только с командами без параметров, которые в конце не вызывают других команд, берущих параметры из входного потока. Команда определена в пакете Babel (файл babel.def). > Идём дальше. Осталось задать закладки для Библиографии, Предметного > указателя и Оглавления (ну и для списка таблиц, формул, иллюстраций > тоже). > % ----------------------------------------------------------- > \let\OriginalTableofcontent\tableofcontent > \def\tableofcontent{\bookmarksetup{bold,color=red165}\OriginalTableofcontent} > %не работает! > > \let\OriginalPrintindex\printindex > \def\printindex{\bookmarksetup{bold,color=red165}\OriginalPrintindex} > %не работает! > % ----------------------------------------------------------- В заголовке оглавления используется одна из стандартных команд вывода секций, в зависимости от класса документа. Например, в классе book используется \chapter. Если Вы хотите изменить способ оформления закладки для содержания, поступайте так \let\OriginalTableofcontent\tableofcontent \def\tableofcontent{\begingroup \def\chapter{\bookmarksetup{bold,color=red165}\OriginalChapter}% \OriginalTableofcontent\endgroup} Данное переопределение команды \chapter ограничивается только командой \tableofcontent. Вне её будет действовать старое переопределение. При выводе индекса используется окружение theindex, внутри которого заголовок оформляется достаточно специфически. Так в классе book используется низкоуровневая команда \@makeschapterhead, которую можно аналогичным образом подменить например так: \makeatletter \let\OriginalIndex\theindex \def\theindex{\let\MyTempMacro\@makeschapterhead \def\@makeschapterhead{\bookmarksetup{bold,color=red165}\MytempMacro}% \OriginalIndex} \makeatother Можно, конечно после \OriginalIndex ещё восстановить старое значение команды \@makeschapterhead так: \OriginalIndex \let\@makeschapterhead\MyTempMacro} но это не обязательно, поскольку оно само восстановится при выходе из окружения theindex. > Это не работает. Если заменить Tableofcontent\tableofcontent и > Printindex\printindex на Thetableofcontent\thetableofcontent - тоже. > Кстати, в чём разница между the и без него, а также между заглавной > буквой и строчной в данном месте? Разница в том, что это разные команды. Есть специальная команда \the, которую можно применять к переменным, счётчикам и другим регистрам TeX'а. Она печатает текстовое значение регистра. В остальных случаях the в названии команды обычно ничего не означает и появилось исторически. Например, у окружения theindex приставка the отличает его от команды \index, которая уже определена. Поясню в чём особенность обработки окружений. Последовательность \begin{foo} ... \end{foo} практически эквивалентна командам \begingroup \foo ... \endfoo \endgroup Это, конечно, не совсем точно, поскольку в командах \begin и \end выполняется ещё несколько дополнительных действий, но по сути можно считать эти последовательности команд эквивалентными. Как видите, каждому окружению соответствует пара команд (\foo и \endfoo). По этой причине нельзя было назвать окружение для предметного указателя так: \begin{index}... \end{index}, поскольку команда \index уже есть и она служит совсем для других целей. Её переопределять с закладками бессмысленно. > Theindex\theindex не работает тоже, зато работает Index/index > (подобрал методом тыка, а не с понятием, к сожалению): > > % ----------------------------------------------------------- > \let\OriginalIndex\index > \def\index{\bookmarksetup{bold,color=red165}\OriginalIndex} > % ----------------------------------------------------------- > > но портит всю картину, меняя цвет и некоторых других закладок: > > http://s61.radikal.ru/i172/0807/63/d26b6fdbd35e.png (также в приложении) > > Я очень не люблю неопределённости и хотел бы знать, почему так > происходит, хотя проблему можно решить, явно ЗАДАВ ЦВЕТ ДЛЯ ВСЕХ > закладок: > > % ----------------------------------------------------------- > \let\OriginalPart\part > \def\part{\bookmarksetup{bold,color=[rgb]{0,0,0}}\OriginalPart} % > Часть - жирная чёрная закладка > > \let\OriginalChapter\chapter > \def\chapter{\bookmarksetup{bold,color=[rgb]{0,0,0}}\OriginalChapter} > % Глава - жирная чёрная закладка > > \let\OriginalSection\section > \def\section{\bookmarksetup{bold,color=[rgb]{0,0,0}}\OriginalSection} > % Раздел - жирная чёрная закладка > > \let\OriginalSubsection\subsection > \def\subsection{\bookmarksetup{bold=false,color=[rgb]{0,0,0}}\OriginalSubsection} > % Подраздел - обычная чёрная > > \let\OriginalSubsubsection\subsubsection > \def\subsubsection{\bookmarksetup{bold=false,color=[rgb]{0,0,0}}\OriginalSubsubsection} > % Подподраздел - обычная чёрная > > \let\OriginalParagraph\paragraph > \def\paragraph{\bookmarksetup{bold=false,color=[rgb]{0,0,0}}\OriginalParagraph} > % Параграф - обычная чёрная > > \let\OriginalSubparagraph\subparagraph > \def\subparagraph{\bookmarksetup{bold=false,color=[rgb]{0,0,0}}\OriginalSubparagraph} > % Подпараграф - обычная чёрная > > > \let\OriginalIndex\index > \def\index{\bookmarksetup{bold,color=red165}\OriginalIndex} % > Алфавитный указатель - жирная тёмно-красная закладка - портит всю > картину, меняя цвет и некоторых других закладок, поэтому вид остальных > надо задавать явно. > % ----------------------------------------------------------- > > Уф-ф-ф... > > Осталось разобраться с Оглавлением и его "младшими братьями", а также > с Библиографией (которую я пока не трогал). Буду пока пробовать, а от > всех TeXпертов с нетерпением жду умных мыслей :) > -------------------------------------------------------------------------------- > ================================================ > CyrTeX-ru mailing list Archives and Information: > https://info.vsu.ru/Lists/CyrTeX-ru/List.html > >