2014 dxdy logo

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

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




 
 заголовок на одной странице с текстом
Сообщение25.10.2015, 16:58 
У меня latex оставляет заголовок в конце одной странице, а текст начинается с другой. По-моему, это как-то неправильно. Ставить вручную newpage не идеальный вариант. Можно ли latex научить делать это автоматом?

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение25.10.2015, 18:21 
Аватара пользователя
Учить не надо, надо отучивать. Для начала разбежитесь с шапкой и с тем кто ее Вам подсунул

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение03.11.2015, 23:18 
Ну вообще да, сам latex заголовки внизу страницы не оставляет, а переносит их на новую страницу, но при этом текст предыдущей страницы выравнивает по нижнему краю. И здесь возникает другая проблема - возникают большие пробелы там, где их быть не должно, например после доказательства теоремы, либо увеличиваются интервалы перед и после заголовка. Не знаю, может так и должно быть по задумке разработчиков, но боюсь в ВАКе это не оценят. Вот часть шапки, которая за это должна отвечать:
Код:
\usepackage{titlesec}
\usepackage{titletoc}
\titleformat{\tableofcontents}{\normalfont\bfseries}{\thetableofcontents}{0em}{}
\titlespacing*{\tableofcontents}{0pt}{30pt}{30pt}
\titlespacing*{\chapter}{0pt}{30pt}{30pt}
\titlespacing*{\section}{\parindent}{*1}{*1}
\titlespacing*{\subsection}{\parindent}{*3}{*3}
\titlespacing*{\subsubsection}{\parindent}{*3}{*3}


А вот результат (но не то, что хочется):
http://i.imgur.com/DcS1DOC.png

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение04.11.2015, 00:27 
На теорему применяются правила оформления заголовка?!
MWE не помешало бы.

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение04.11.2015, 01:29 
Аватара пользователя
spyphy в сообщении #1070016 писал(а):
И здесь возникает другая проблема - возникают большие пробелы там, где их быть не должно, например после доказательства теоремы, либо увеличиваются интервалы перед и после заголовка


Опять какой-то самопал в шапке. Нормально эти пробелы очень небольшие, а (почти) вся пустота уходит вниз страницы. Найдите этот самопал и на помойку (хорошо бы автора туда же). А если внизу страницы хочется порегулировать, есть команда (несколько выше конца страницы)
Используется синтаксис LaTeX
\enlargethispage{1.5\baselineskip}


и поиграйтесь с коэффициентом. Не надейтесь на автоматику: тонкую регулировку—вручную

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение04.11.2015, 01:59 
Red_Herring в сообщении #1070057 писал(а):
\enlargethispage{1.5\baselineskip}
Да, можно и так. Либо \newpage как вариант.

Lenchik в сообщении #1070041 писал(а):
На теорему применяются правила оформления заголовка?!

Этого я сам понять не могу. Дополнительно я никаких оптий не задавал. Только если titlesec как-то влияет.

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение04.11.2015, 02:04 
http://tex.stackexchange.com/q/140490/79756 - вдруг поможет?

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение04.11.2015, 06:35 
Аватара пользователя
\newpage и \pagebreak оканчивают страницу (по-разному), \enlargethispage наоборот

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение08.11.2015, 20:31 
Причина пустот в том, что у меня latex не хочет разрывать абзацы на две страницы, даже достаточно большие. Я могу понять еще, что одну строчку некрасиво переносить на новую страницу, но он даже абзац из 4-х строк не хочет пополам делить.
Можно где-то подкрутить эти настройки?

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение08.11.2015, 20:46 
Аватара пользователя
spyphy в сообщении #1071418 писал(а):
Можно где-то подкрутить эти настройки?

Их уже кто-то накрутил. Есть такие люди, что тащат к себе в шапку весь интернатский мусор. А потом делятся с другими.

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение08.11.2015, 21:23 
У меня там всё нужное. Могу тоже поделиться
Код:
\documentclass[a4paper,14pt,reqno,oneside]{amsart}
\usepackage[14pt]{extsizes}
\usepackage[left=2.5cm,right=1.0cm,top=2.0cm,bottom=2.0cm,bindingoffset=0cm]{geometry}
\usepackage[russian]{babel}
\usepackage[all,arc]{xy}
\usepackage[all]{xy}
\usepackage{latexsym,amssymb,amsmath}
\usepackage{style}  % внешний файл
\usepackage{comment}
\usepackage{caption} 
\DeclareCaptionLabelFormat{continued}{Продолжение таблицы~#2}
\usepackage{multirow} % улучшенное форматирование таблиц
\usepackage[numbers]{natbib} % надо для списка литературы
\usepackage{enumitem}
\setlist{nolistsep}
\usepackage{microtype}
\parindent=1.0cm % абзацный отступ
\linespread{1.15}  % межстрочный интервал  (1.15 -- примерно 18pt)
\sloppy   % перенос формул на следующую строку.
\footskip=30pt
\usepackage{titlesec}
\usepackage{titletoc}
\titleformat{\section}[block]
  {\fontsize{16}{18}\bfseries\filcenter}  % было sffamily
  {\thesection}
  {1em}
  {\MakeUppercase}
 
\titleformat{\subsection}[hang]
  {\fontsize{16}{18}\bfseries\filcenter}
  {\thesubsection}
  {1em}
  {}
 
\titleformat{\subsubsection}[hang]
  {\fontsize{14}{16}\bfseries\filcenter}
  {\thesubsubsection}
  {0.5em}
  {}
 
\titleformat{\paragraph}[hang]
  {\fontsize{14}{16}\bfseries}
  {\thesubsubsection}
  {0.5em}
  {}   
  \contentsmargin{2.55em}

\titleformat{\tableofcontents}{\normalfont\bfseries}{\thetableofcontents}{0em}{}
\titlespacing*{\tableofcontents}{0pt}{30pt}{30pt}
\titlespacing*{\chapter}{0pt}{30pt}{30pt}
\titlespacing*{\section}{\parindent}{*1}{*1}
\titlespacing*{\subsection}{\parindent}{*4}{*3}
\titlespacing*{\subsubsection}{\parindent}{*3}{*3}


\titlecontents{section}
[1.5em]
{}
{\contentslabel{2.3em}}
{\hspace*{-2.3em}}
{\titlerule*[1pc]{.}\contentspage}

\titlecontents{subsection}
[4.2em]
{} % note that 3.8 = 1.5 + 2.3
{\contentslabel{3.2em}}
{\hspace*{-5.0em}}
{\titlerule*[1pc]{.}\contentspage} 

\titlecontents{subsubsection}
[4.8em]
{} % note that 3.8 = 1.5 + 2.3
{\contentslabel{3.2em}}
{\hspace*{-4.0em}}
{\titlerule*[1pc]{.}\contentspage} 

\titlecontents{paragraph}
[4.8em]
{} % note that 3.8 = 1.5 + 2.3
{\contentslabel{4.2em}}
{\hspace*{-4.2em}}
{\titlerule*[1pc]{.}\contentspage} 

\numberwithin{equation}{section}  % отдельная нумерация в каждой section

\setcounter{tocdepth}{4} % уровень в оглавлении -- n=4 до paragraph (по умолчанию n=2)
\addto{\captionsrussian}{\renewcommand*{\contentsname}{\fontsize{16}{18pt}\selectfont\bf ОГЛАВЛЕНИЕ\vspace{8mm}}}
\renewcommand*{\thepage}{\normalsize\arabic{page}}  % шрифт номера страницы
\renewcommand\thetable{\thesection.\arabic{table}} % настройка номера таблицы

\makeatletter
\setlength\abovecaptionskip{2\p@}
\setlength\belowcaptionskip{1\p@}
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \ifx\@captype\capfigure
      \centering #1.~--~#2 \par
  \else
      #1.~--~#2 \par
  \fi
  \vskip\belowcaptionskip}
\makeatother


С этим Техом у меня еще одна неприятность вылазит. Весь текст напичкан фразами типа $p$-подгруппа, $p$-блок, $p$-модулярный и т.п., так вот Тех всё время перенос делает именно в месте $p$-. Конечно, можно бороться раставляя \mbox{}, но это долго, да и ошибок в тексте увеличивается.

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение09.11.2015, 07:30 
А внешний стилевой файл style что содержит?
LaTeX-код тут вставляют через команду подсветки синтаксиса ;)
Код:
[syntax lang="latex"][/syntax]

По поводу переносов:
- есть команда \nobreakdash из пакета amsmath;
- есть ресурс tex.stackexchange.com, поиск по которому находит, например: http://tex.stackexchange.com/q/46617/79756 и http://tex.stackexchange.com/a/79022/79756
- в шаблоне с http://technomag.bmstu.ru/mdocs/rules2.html есть такая заготовка
Используется синтаксис LaTeX
\def\nb-{\nobreak\hskip0pt\hbox{-}\nobreak\hskip0pt}  %  неразрывный дефис
\def\nf-{\nobreak\hskip0pt\discretionary{-}{}{-}\nobreak\hskip0pt}

снабжённая инструкцией:
Цитата:
Если слово содержит дефис, то TeX автоматически отключает возможные точки разрыва слова при переносе, оставляя лишь место за дефисом. Чтобы восстановить точки разрыва поставьте перед таким дефисом команду \nf (например, кусочно\nf-непрерывный). Аналогична команда \nb, которая запрещает разрыв на самом дефисе (например, в варианте "$n$\nb-мерный").

 
 
 
 Re: заголовок на одной странице с текстом
Сообщение09.11.2015, 20:38 
Это конечно хорошо, но хотелось бы иметь глобальную команду, которая бы во всем тексте запрещала разрыв строки именно в местах, где явно стоит дефис (хотя для гуманитариев это покажется странным, но математикам значительно упростило бы жизнь)

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group