2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 \addcontentsline{toc} — неправильный переход на страницу
Сообщение18.06.2008, 17:34 


01/06/08
56
Для включения в оглавление разделов без порядкового номера (типа \chapter*{Введение} или \chapter*{Заключение}) используется команда: \addcontentsline{toc}{Введение}. Она же добавляет соотв. закладку при использовании пакета hyperref с опцией bookmarks=true.
Код:
\chapter*{Введение}
\addcontentsline{toc}{chapter}{Введение}

Обнаружил проблему: при переходе на «Введение» или «Заключение» (хоть из оглавления, хоть по закладкам), страница открывается так, что название скрыто под верхним краем — открывается на уровне следующего за названием текста. Нумерованные разделы документа открываются, как и положено, на уровне заголовка.

Как исправить ситуацию?

 Профиль  
                  
 
 
Сообщение18.06.2008, 22:19 
Заслуженный участник
Аватара пользователя


18/05/06
13437
с Территории
Ну дак а где ей открываться? У Вас \addcontentsline стоит после заголовка чаптера? После. Ну вот Вас и посылают на после.
Что делать? - чёрт знает. Может, ставить эти штуки в обратном порядке?

 Профиль  
                  
 
 
Сообщение18.06.2008, 23:02 


01/06/08
56
Хы, в обратном порядке ведёт совсем не туда. У меня идёт:

Оглавление,
Введение,
Главы 1--7,
Заключение.

Если поменять местами:
Код:
\addcontentsline{toc}{chapter}{Введение}
\chapter*{Введение}

то:

Закладка «Введение» поведёт на «Оглавление», а ссылка «Введение» из оглавления, соответственно, не сработает.

Закладка и ссылка «Заключение» поведут, соответственно, на последний перед ним заголовок — Глава 7, Раздел 7.3, Абзац ... (без номера).

 Профиль  
                  
 
 
Сообщение19.06.2008, 09:41 


04/02/08
325
Буково
Здесь, похоже, проблема именно с hyperref.sty.
Проще всего Вам будет переопределить стандартный макрос \chapter{} из book.cls в преамбуле документа или своем стилевом файле: сделать какой-нибудь аналог \chapter*, назвав его, скажем \schapter. Это довольно просто.

 Профиль  
                  
 
 
Сообщение19.06.2008, 10:20 


01/06/08
56
И не использовать команду \addcontentsline{toc}? В принципе, идея... Долго, правда, разбираться буду, наверное...

Оффтоп: Блин, первый раз в жизни работаю с LaTeX-ом, а уже в такие дебри приходится лезть. LyX помогает, но не особо, а местами даже наоборот...

 Профиль  
                  
 
 
Сообщение19.06.2008, 10:29 


04/02/08
325
Буково
Используйте лучше Kile: WYSIWYG только отвлекает от сути.
А еще советую почитать Львовского, а затем - Кнута.

 Профиль  
                  
 
 
Сообщение19.06.2008, 10:37 


01/06/08
56
Kile не могу — я сейчас под виндой. С редакторами проблема — трудно найти подходящий, особенно для новичка. Уж кучу перепробовал. LyX не совсем WYSIWYG, но в нём легко ориентироваться по дкументу, т.к. показывает заголовки, изображения, кое-что из форматирования. Но зато часто, блин, код корёжит по-своему, а прямо код в нём править нельзя. В общем, это для отдельной темы разговор...
А книжками я обложился со всех сторон, и даже на англоязычный форум залез, хотя на английском не писал лет пять уже или десять :D

 Профиль  
                  
 
 
Сообщение19.06.2008, 10:39 
Заслуженный участник
Аватара пользователя


18/05/06
13437
с Территории
neGODnick писал(а):
Блин, первый раз в жизни работаю с LaTeX-ом, а уже в такие дебри приходится лезть....
Дак Вы и вещи делаете нетривиальные (по крайней мере, для первого раза).

 Профиль  
                  
 
 
Сообщение19.06.2008, 10:56 


01/06/08
56
Вы знаете, я чуть было не бросил... С редакторами беда; потом, даже в LyX неделю, наверное, не мог добиться компиляции. Разумеется, за какой-то месяц нереально освоить даже одну книжку полностью, поэтому осваиваю в процессе. Что-то в памяти отложилось, что-то пока нет.

Просто, когда начало получаться, я был даже немного шокирован — такой красоты невозможно добиться, скажем, от ворда и за 10 лет опыта! Это меня сейчас и удерживает, вряд ли я когда-нибудь вернусь на ворд (или OpenOffice.org). А если трезво прикинуть — да, юзабилити редакторов никакое, версии многие беты и т.д., есть, видимо, недостатки и у языка этой системы, и то, что она сделана была не для русского языка. Но в целом, разбираться в коде намного легче, чем пытаться понять логику того же ворда, а результат просто превосходный, я от себя просто такого не ожидал — что я могу ТАК красиво и профессионально сверстать!... (хотя это не я, а TeX :D )

 Профиль  
                  
 
 
Сообщение19.06.2008, 21:33 


01/06/08
56
Ура! Найдено простое решение!

Язык мой — друг мой: http://latex-community.org/viewtopic.php?f=5&t=1750

Вариант, который предложил Ed_EM (см. выше), тоже интересен — для тех документов, где ненумерованных разделов очень много. Потом надо будет попробовать и его.

 Профиль  
                  
 
 
Сообщение30.06.2008, 18:25 


01/06/08
56
Кхм...кхм... Рано обрадовался.

Вынужден снова открыть тему. Проблема вновь возникла при создании предметного указателя. В LyX он идёт как \printindex{}. Вариант, предложенный на иностранном форуме (см. ссылку выше):
Код:
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Алфавитный указатель}
\printindex{}

Я попробовал варианты с \pdfbookmark
Код:
\cleardoublepage
\pdfbookmark[1]{Алфавитный указатель}{indexname}
\phantomsection
\printindex{}

И тоже ничего не добился — закладка открывает страницу на уровне текста, а заголовок скрыт вверху.
Кроме того, во втором случае почему-то не работает команда \addtocontents{toc}:
Код:
\cleardoublepage
\pdfbookmark[1]{Алфавитный указатель}{indexname}
\phantomsection
\addtocontents{toc}{Алфавитный указатель}
\printindex{}

— выдаёт ошибку
Код:
LaTeX Error: Something's wrong--perhaps a missing \item.
или
Код:
I can't write on file `____________.pdf'.
(скомпилированный до этого файл PDF я закрыл, так что он не заблокирован). «Объяснения» такие:
Код:
...{\cyri }\IeC {\cyryu }}{231}{section*.26}
                                                 
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.

Снова прошу помощи.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group