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
13440
с Территории
Ну дак а где ей открываться? У Вас \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
13440
с Территории
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, Супермодераторы



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

Сейчас этот форум просматривают: Bing [bot]


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

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