2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Рисунок «отсюда и до конца страницы»
Сообщение14.11.2010, 18:08 


19/09/10
109
Пожалуйста, подскажите, как в LaTeX создать иллюстрацию, которая бы всегда занимала место ровно от ссылки на неё до конца страницы?

Или, может быть, возможно как-то автоматически подсчитать высоту какой-либо строки относительно полей страницы, на которую она попала?

 Профиль  
                  
 
 Re: Рисунок «отсюда и до конца страницы»
Сообщение16.11.2010, 02:52 
Аватара пользователя


05/11/09
90
Есть параметр‐dimension \pagegoal, величина которого равна как раз расстоянию от текущего места до конца страницы. Но сюда и нижний колонтитул входит.

 Профиль  
                  
 
 Re: Рисунок «отсюда и до конца страницы»
Сообщение16.11.2010, 09:58 


19/09/10
109
У меня что-то не получается...

Команда \the\pagegoal и в начале, и в середине, и в самом конце страницы печатает 702.7831pt,
и, соответственно, рисунок, отмасштабированный с использованием длины \pagegoal,
получается гораздо больше, чем надо, и не меняет размер при изменении верхней границы.

Пожалуйста, расскажите подробнее, как можно применить этот размер и не нужно ли при этом подключать какой-нибудь дополнительный пакет?

P.S.
Кажется, понятно.

\pagegoal — расстояние от начала до конца страницы.

В сети нашёлся фрагмент кода, где оно используется для вычисления свободного места:
Код:
\usepackage{calc}
\newlength{\testlen}
\newcommand{\test}{\par\setlength{\testlen}{\pagegoal-\pagetotal}}

Если ещё исключить пробел до колонтитула
Код:
\newcommand{\bottomspacecalc}{\par\setlength{\bottomspaceheigth}{\pagegoal-\pagetotal-\footskip}}

получается правильное расстояние
(если мерить распечатку, оставшееся расстояние получается на 1мм больше \bottomspaceheigth, но эту разницу можно списать на линейку с китайскими сантиметрами).

Команда некорректно рассчитывает высоту \vfill'ов, но на нужной странице их нет, так что проблему можно считать решённой.

Большое спасибо!

 Профиль  
                  
 
 Re: Рисунок «отсюда и до конца страницы»
Сообщение19.11.2010, 10:45 
Аватара пользователя


05/11/09
90
Ну да, ну да.

Цитата:
Quasus Re: Рисунок «отсюда и до конца страницы» Вт ноя 16, 2010 02:52:58


В три часа ночи‐то. :) Действительно, \pagegoal — это сколько всего надо, а \pagetotal — это уже свёрстанное. Это plain TeX, а может быть, и просто TeX.

 Профиль  
                  
 
 Re: Рисунок «отсюда и до конца страницы»
Сообщение22.11.2010, 21:21 


19/09/10
109
В любом случае, это был пинок в правильном направлении,
так что спасибо Вам!


Увы, у вышеописанного решения обнаружилось ещё одно ограничение:

если проверка \pagetotal стоит возле начала страницы (в моём случае перед ней были две строки абзаца, начатого на предыдущей странице и ещё один абзац из двух строк),

то \pagetotal оказывается не маленьким — высотой свёрстанных 4-х строк, а весьма большим (больше \pagegoal) числом.
Разность \pagegoal-\pagetotal, соответственно, в этом случае получилась отрицательной.


Временно проблему удалось скрыть, вставив \clearpage на то же место, где был «естественный» разрыв страницы — после этого \pagetotal честно подсчитал высоту 4-х строк.

Хотелось бы, однако, знать, существует ли менее варварский способ решения этой проблемы?

 Профиль  
                  
 
 Re: Рисунок «отсюда и до конца страницы»
Сообщение22.11.2010, 21:29 
Заслуженный участник
Аватара пользователя


18/05/06
13440
с Территории
Я не знаю синтаксиса условного оператора в техе, но что таковой там есть - это несомненно. Ну вот и попробовать бы: если \pagetotal>\pagegoal, то...

 Профиль  
                  
 
 Re: Рисунок «отсюда и до конца страницы»
Сообщение22.11.2010, 21:54 


19/09/10
109
Эх, я тоже не знаю...
Попробую найти.

Большое спасибо!

 Профиль  
                  
 
 Re: Рисунок «отсюда и до конца страницы»
Сообщение24.11.2010, 06:45 


19/09/10
109
Действительно! Вот так
Код:
\newlength{\bottomspaceheigth}
\newcommand{\bottomspacecalc}{\par%
\setlength{\bottomspaceheigth}{\pagegoal-\pagetotal-\footskip}
\ifnum\bottomspaceheigth<0 \setlength{\bottomspaceheigth}{\pagegoal+\bottomspaceheigth}
\fi
}
вроде бы работает.

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

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



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

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


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

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