2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Разделение на тома в LaTeX
Сообщение27.09.2019, 11:11 


27/09/19
4
Всем, привет я на форуме пока новичок, поиском по форуму ответов не нашёл, поэтому создаю новую тему, если вопрос не новый прошу дать ссылку.

Задача, создаю LaTeX файл книжечки, есть желание потом это распечатать не очень большим тиражом.
И уже появилось устойчивое понимание, что в один том не впишусь, т.к. читать очень толстые (более 400 стр.) тома не удобно.
Пока делаю так подключаю в файл верхнего уровня отдельные главы
\input{chapter1.tex} % Глава 1 и т.д.

Вопрос?
Как правильно делать разделение на тома (пользуюсь классом book).
Т.к. есть желание чтобы нумерация глав (получаемая автоматически)
при переходе от тома к тому сохранялась (т.е. номер первой главы в следующем томе был равен номер последней главы из предыдущего тома +1).
Нумерация страниц в каждом томе была с единицы
Оглавление можно было добавить в каждый том и номера страниц оглавления были в формате I-20 (т.е. римская цифра указывает номер тома, а арабское число номер страницы в этом томе).

Спасибо.

 Профиль  
                  
 
 Re: Разделение на тома в LaTeX
Сообщение27.09.2019, 11:29 
Заслуженный участник
Аватара пользователя


31/01/14
11047
Hogtown
DawydSW в сообщении #1417689 писал(а):
И уже появилось устойчивое понимание, что в один том не впишусь, т.к. читать очень толстые (более 400 стр.) тома не удобно.

  • Springer считает, что верхний предел 900 стр для печатного издания.
  • Рекомендую класс memoir вместо book.
  • Вам придется сделать для каждого тома отдельный TeX файл. Но вот файл definitions.tex где вы вводите всякие макро, лучше сделать общим. Аналогично для библиографии
  • Чтобы сделать в какой-то части нумерацию заглавными римскими
    Используется синтаксис LaTeX
    \setcounter{page}{4}
    \renewcommand{thepage}{\Roman{page}}

    Первая строчка делает первую страницу V (можно и поменять) так у Springer, поскольку I-IV приходится на всякие титульные. После этого
    Используется синтаксис LaTeX
    \setcounter{page}{0}
    \renewcommand{thepage}{\arabic{page}}
  • Чтобы начать нумерацию глав в очередном томе не с 1, а например, с 13
    Используется синтаксис LaTeX
    \setcounter{chapter}{12}
  • Кросс-ссылки. Читайте документацию к пакету xr-hyper

 Профиль  
                  
 
 Re: Разделение на тома в LaTeX
Сообщение27.09.2019, 12:09 


27/09/19
4
Спасибо, я попробую.

Правильно ли я понимаю, что я должен сделать общий файл definitions.tex описать в нём все общие части.
А в каждый файл верхнего уровня (Volume_xx.tex) для каждого из томов его включать в самом начале файла через \input{definitions.tex} %?

Про нумерацию глав понятно.

А про оглавление не очень понятно, т.к. если я буду в каждом томе делать как делаю сейчас,
\tableofcontents % Оглавление
то буду получать в оглавлении только те главы которые будут входить в этот том, т.к. если я правильно понимаю для оглавления формируется файл Volume_I.aux (для первого тома с именем Volume_I.tex),
а как сделать чтобы оглавление было общим т.е. одинаковым на все тома.

Спасибо.

 Профиль  
                  
 
 Re: Разделение на тома в LaTeX
Сообщение27.09.2019, 13:06 
Заслуженный участник
Аватара пользователя


31/01/14
11047
Hogtown
DawydSW в сообщении #1417693 писал(а):
А про оглавление не очень понятно, т.к. если я буду в каждом томе делать как делаю сейчас,

Тогда вам стоит забыть почти все, что я написал, сделать один master.tex, в нужных местах вставлять оглавление и список литературы, а также рестартиовать счетчик страниц (см выше), а потом просто разбить полученный pdf чем нибудь на две части.

Для меня это было неприемлемо поскольку было 5 томов по ~750 стр, и я хотел оглавление быть "глубоким", т.е. включать в него разделы низкого уровня, а кроме того иметь в каждом томе оглавление всех томов, но "мелкое".

С этой целью я сделал все как описал, а потом взял .toc файлы всех томов, объединил их в один, с помощью egrep выделил то, что относится к главам и выше, потом вручную отредактировал этот файл, и включил его в каждый том в нужном месте через \input. Следует помнить, что (почти) все вспомогательные файлы, создаваемые LaTeX текстовые, но они для "внутреннего" пользования, однако хакер может с ними поиграться. Это разумеется не относится к .log , который имеет, напротив, только "внешнюю" ценность

 Профиль  
                  
 
 Re: Разделение на тома в LaTeX
Сообщение27.09.2019, 15:05 


27/09/19
4
Всё понял, большое спасибо за ответ.

 Профиль  
                  
 
 Re: Разделение на тома в LaTeX
Сообщение27.09.2019, 16:06 


27/09/19
4
Попробовал как было Вами предложено
Создал счётчик томов
Используется синтаксис LaTeX
\newcounter{Volume_counter} % счетчик указатель текущего тома
\setcounter{Volume_counter}{1}
\title{Название\\в\\трёх строках\\Том~\Roman{Volume_counter}}
 

делаю далее

Используется синтаксис LaTeX
\input{Title_pediction.tex} % Титульный лист и предисловие для I-го тома.
\input{chapter1.tex} % Глава 1
...
\input{chapter20.tex} % Глава 20
\tableofcontents % Оглавление глобальное для I-го тома.

\addtocounter{Volume_counter}{1}
\input{Title_pediction.tex} % Титульный лист и предисловие для II-го тома.
\input{chapter21.tex} % Глава 21
...
\input{chapter33.tex} % Глава 33
\tableofcontents % Оглавление глобальное для II-го тома.


И получается, что титульный лист и оглавление нормально формируются только для первого тома,
я для второго не формируются в оглавлении для второго тома формируется только заголовок оглавление.
Видимо эти команды должны выполняться, только по одному разу и это контролируется каким нибудь флагом или счётчиком, который надо сбрасывать.

 Профиль  
                  
 
 Re: Разделение на тома в LaTeX
Сообщение27.09.2019, 16:18 
Заслуженный участник
Аватара пользователя


31/01/14
11047
Hogtown
С титульным листом я проверял для memoir, который не просто новее, но инкорпорировал кучу пакетов и активно поддерживается Ларсом Мадсеном.

Оглавления я не проверял. Если хотите: давайте минимальный компилируемый пример и используйте не общий код, а "Выберите язык > LaTeX"

Кстати, рекомендую для отдельных глав использовать \include вместо \input. Я обсуждал здесь \include -- \includeonly механизм.

Вот простой пример

код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[12p]{memoir}
\usepackage{blindtext}
\title{Bullshit}
\begin{document}
\begin{titlingpage}
{
\aliaspagestyle{titlingpage}{empty}
\setlength{\droptitle}{30pt}%

\maketitle
}
\end{titlingpage}
\tableofcontents
\chapter{Bullshit}
\blindtext
\chapter{More Bullshit}
\blindtext
\setcounter{page}{0}
\title{Crap}
\begin{titlingpage}
{
\aliaspagestyle{titlingpage}{empty}
\setlength{\droptitle}{30pt}%

\maketitle
}
\end{titlingpage}
\tableofcontents
\chapter{Crap}
\blindtext
\chapter{More Crap}
\blindtext
\end{document}
 

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

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



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

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


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

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