Продолжаем серию статей о верстке диплома в LaTeX и сегодня поговорим о рамках и настройках страницы.
В состав пакета eskdpz входит класс G2-104-68, который и занимается отрисовкой рамок. Сами рамки находятся в файлах
- gost_frame1.eps - рамка для титульника, просто рамка
- gost_frame2.eps - рамка для аннотации, содержит штампик с названием и кодом проекта, литерой, номером страницы (3 или 4), числом страниц в проекте, названием ВУЗа и кафедры, а также подписями разработчика, руководителя, нормоконтролера и заведующего кафедрой.
- gost_frame3.eps - рамка для всех страниц проекта, содержит код проекта и номер страницы.
Итак, какие проблемы в пакете с отображением рамок. Прежде всего я бы выделил большие отступы (больше гостовских 5мм) от верхнего, нижнего и правого краев листа. Понятно, что точно 5мм получить очень трудно (технологические поля у каждого принтера свои), но даже на глаз видна разница между 6-7мм и сантиметром. Поэтому ситуацию нужно исправлять.
Посмотрим на код команды печати рамки в оригинальном файле:
\newcommand\BackgroundPicture[2]{%
\setlength{\unitlength}{1pt}%
\put(0,\strip@pt\paperheight){%
\parbox[t][\paperheight]{\paperwidth}{%
\vfill
\centering\includegraphics[angle=#2]{#1}
\vfill
}}} %
\setlength{\unitlength}{1pt}%
\put(0,\strip@pt\paperheight){%
\parbox[t][\paperheight]{\paperwidth}{%
\vfill
\centering\includegraphics[angle=#2]{#1}
\vfill
}}} %
как видим здесь рамка центруется. Это не совсем правильно, рамку надо прижать к правому краю.
Есть еще один момент - по левой стороне рамок нанесен гостовский вертикальный штампик. По стандартам ЮУрГУ он не нужен. Я долго думал как его убрать. Первая мысль была - вырезать в фотошопе, но фотошоп отвратительно работает с eps, воспринимая его как растровое изображение - в итоге вся кирилица ("разраб", "проверил" и тд) безбожно портится. Потом я вспомнил что LaTeX позволяет поворачивать изображения и ОБРЕЗАТЬ их при вставке.
В результате получился следующий код команды:
\newcommand\BackgroundPicture[2]{%
\setlength{\unitlength}{1pt}%
\put(0,\strip@pt\paperheight){%
\parbox[t][\paperheight]{\paperwidth}{%
\vfill
\hfill\includegraphics[angle=#2,trim=12.4mm 0 0 0,clip]{#1}\hspace{0.5cm}
\vfill
}}} %
\setlength{\unitlength}{1pt}%
\put(0,\strip@pt\paperheight){%
\parbox[t][\paperheight]{\paperwidth}{%
\vfill
\hfill\includegraphics[angle=#2,trim=12.4mm 0 0 0,clip]{#1}\hspace{0.5cm}
\vfill
}}} %
Сразу замечу, что центрует не только LaTeX, но и Acrobat Reader (по-умолчанию). Поэтому при печати надо снять галочку Auto-Rotate and Center.
Вторым вопросом является изменение высоты страницы, чтобы уменьшить верхний и нижний отступы от края листа, до границ рамки. Также необходимо установить отступ текста от левой границы рамки в 5мм, а от правой - в 3 мм. Параметры подбирались эмпирически (методом тыка), результатом стали следующие настройки геометрии (код находится в файле G2-105-95.sty):
\geometry{verbose,a4paper}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\topmargin}{-1.0cm}
\setlength{\textheight}{25.0cm}
\setlength{\textwidth}{17.6cm}
\setlength{\oddsidemargin}{0cm}
\setlength{\evensidemargin}{0pt}
\setlength{\marginparsep}{0pt}
\setlength{\marginparpush}{0pt}
\parindent=15mm
\setlength{\leftmargini}{\parindent}
\addtolength{\leftmargini}{4mm}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\topmargin}{-1.0cm}
\setlength{\textheight}{25.0cm}
\setlength{\textwidth}{17.6cm}
\setlength{\oddsidemargin}{0cm}
\setlength{\evensidemargin}{0pt}
\setlength{\marginparsep}{0pt}
\setlength{\marginparpush}{0pt}
\parindent=15mm
\setlength{\leftmargini}{\parindent}
\addtolength{\leftmargini}{4mm}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
После данных манипуляций (кстати ровно 5мм я не добился, получилось 7, но уже не так бросается в глаза) необходимо настроить заполнение полей в штампиках. Особенно это касается штампика аннотации. Напомню что я ввел команду gostlitera для заполнения поля "литера" (для дипломных проектов ставится буква "Д").
Код заполнения штампика аннотации (находится в файле G2-104-68.sty, снабжен соответствующим комментарием):
\spbox{539}{61}{594}{79}{c}{\pageref{LastPage}}
\spbox{496}{61}{537}{79}{c}{\thepage}
\spformedbox{122}{77}{184}{93}{l}{\textsl{\small\@gostrazrabotchik}}
\spformedbox{122}{60}{184}{80}{l}{\textsl{\small\@gostproveril}}
\spformedbox{122}{33}{184}{51}{l}{\textsl{\small\@gostnormokontroler}}
\spformedbox{122}{18}{184}{37}{l}{\textsl{\small\@gostutverdil}}
\spbox{261}{90}{593}{140}{c}{\LARGE{\@gostklgi}}
\spbox{258}{22}{444}{99}{c}{\parbox{65mm}{\centering\small{\@gosttitleobject} \\ \@gosttitledocument}}
\spbox{504}{19}{540}{69}{c}{\parbox{40mm}{\centering\small{\@gosttitlecompany}}}
\spbox{454}{65}{460}{74}{c}{\@gostlitera}
\spbox{496}{61}{537}{79}{c}{\thepage}
\spformedbox{122}{77}{184}{93}{l}{\textsl{\small\@gostrazrabotchik}}
\spformedbox{122}{60}{184}{80}{l}{\textsl{\small\@gostproveril}}
\spformedbox{122}{33}{184}{51}{l}{\textsl{\small\@gostnormokontroler}}
\spformedbox{122}{18}{184}{37}{l}{\textsl{\small\@gostutverdil}}
\spbox{261}{90}{593}{140}{c}{\LARGE{\@gostklgi}}
\spbox{258}{22}{444}{99}{c}{\parbox{65mm}{\centering\small{\@gosttitleobject} \\ \@gosttitledocument}}
\spbox{504}{19}{540}{69}{c}{\parbox{40mm}{\centering\small{\@gosttitlecompany}}}
\spbox{454}{65}{460}{74}{c}{\@gostlitera}
Макрос \pageref{LastPage} выводит колличество страниц в документе.
Код заполнения штампиков остальных страниц следующий:
\spbox{567}{19}{593}{45}{c}{\thepage}
\spbox{257}{19}{564}{65}{c}{\LARGE{\@gostklgi}}
\spbox{257}{19}{564}{65}{c}{\LARGE{\@gostklgi}}
UPD: Команда gostlitera определяется в файле G2-105-95.sty следующим образом: \def\gostlitera#1{\gdef\@gostlitera{#1}}
Собственно на этом можно заканчивать рассмотрение вопроса печати штампиков и рамок. Темой следующего поста из серии будет настройка шрифтов. Тоже довольно нетривиальная доложу я вам тема. Оставайтесь на связи.
З.Ы. Как всегда жду ваших вопросов, пожеланий, комментариев.
Другие статьи серии:
- Верстаем диплом в LaTeX
- Верстаем диплом в LaTeX: шрифты и заголовки
- Верстаем диплом в LaTeX: рисунки и подрисуночные надписи
- Верстаем диплом в LaTeX: таблицы
- Верстаем диплом в LaTeX: заключение - полезные мелочи
Понравилось сообщение - подпишись на блог
7 комментариев:
Можно было EPS-ник поправить в Inkscape за 2 минуты. Для любителей Windows Inkscape есть и под него.
Большое спасибо за Ваш совет, я вот про lnkscape вообще ничего не знал, но и средствами LaTeX все удалось сделать. Наверное средствами LaTeX даже кошернее...
привет !
Большое спасибо за статью и за инфу о рамках. Небольшое замечание : при использовании стандартного пакета eskdpz имеется проблема с отображением подписей таблиц и рисунков. Они (подписи) появляются узкой колонкой. Это можно исправить убрав в файле G2-105-95.sty строчку %\renewcommand\captionmargin{0.2cm}
После этого все работает... Может об этом сообщить кому (разработчикам пакета...) ?
Я решил данную проблему полностью переопределив формат подписей, тем более что это необходимо было делать по требованиям нормоконтроля.
Добрый день.
Возможно, стоит включить в текст упоминание о том, что для ввода команды gostlitera ее стоит сперва определить в файле G2-105-95.sty:
\def\gostlitera#1{\gdef\@gostlitera{#1}}
Да, вы правы. Изменил текст статьи.
Спасибо.
Отправить комментарий
Любой Ваш комментарий важен для меня, однако, помните, что действует предмодерация. Давайте уважать друг друга!