LINUX.ORG.RU

Рамка на странице в latex

 ,


2

2

Требуется разместить внутри листа A4 текст. Проблема в том, что данный текст должен быть расположен внутри рамки. Эта рамка представляет собой прямоугольник, каждая сторона которого расположена на расстоянии в 1 см от края листа бумаги. Цель этого прямоугольника-рамки исключительно эстетическая.

UPD: рамка должна быть только на одной странице, остальные - обычные.

Deleted

Последнее исправление: Deleted (всего исправлений: 3)

Можешь воспользоваться

\begin{titlepage}
\begin{center}

\begin{picture}(0,0)
	\thicklines
	\put(-88,19.5){\line(0,-1){287}}
	\put(98,19.5){\line(0,-1){287}}
	\put(-88.13,19.5){\line(1,0){186.26}}
	\put(-88.13,-267.5){\line(1,0){186.26}}
\end{picture}
ados ★★★★★
()
Ответ на: комментарий от Amet13

Пока смотрю. Подключать его ради рамочки на одной странице - это, наверное, слишком (про одну страницу сразу не указал).

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Мне вот такой вариант очень понравился, к тому же pgf и так используется. Но мне нужно только для одной страницы, а остальные обычные.

Deleted
()

Я запихал в колонтитулы. Вот:

\documentclass[a4paper,12pt,oneside]{extarticle}
\usepackage{/home/eddy/ed}
\textwidth=175mm
\textheight=260mm
\oddsidemargin=-.4mm
\headsep=5mm

\topmargin=-1in
\unitlength=1mm

\def\VL{\line(0,1){15}}
\def\HL{\line(1,0){185}}
\def\Box#1#2{\makebox(#1,5){#2}}
\def\simpleGrad{\sl\small\noindent\hbox to 0pt{%
\vbox to 0pt{%
\noindent\begin{picture}(185,287)(5,0)
\linethickness{0.3mm}
\put(0,0){\framebox(185,287){}}
\put(0,0){\Box{7}{Лит.}}
\put(0, 15)\HL
\multiput(0, 5)(0, 5){2}{\line(1,0){65}}
\put(7, 0){\VL\Box{10}{Изм.}}
\put(17, 0){\VL\Box{23}{\No~докум.}}
\put(40, 0){\VL\Box{15}{Подп.}}
\put(55, 0){\VL\Box{10}{Дата}}
\put(65, 0){\VL\makebox(110,15){\large\sc\rightmark}}
\put(175, 0){\VL\makebox(10,10){\normalsize\thepage}}
\put(175,10){\line(1,0){10}}
\end{picture}
}}}

\makeatletter
\def\@oddhead{\simpleGrad}
\def\@oddfoot{}
\makeatother
\begin{document}
\noindent Страница 1, верх\hfill право
\section{Раздел 1}
\vfill
\noindent Страница 1, низ\hfill право
\newpage
Страница 2
\end{document}

А если вместо нормального латеха взять гадость под названием зилатех, то будет еще и с ГОСТовскими шрифтами:

\documentclass[a4paper,12pt,oneside]{extarticle}
%\usepackage{/home/eddy/ed}
%\usepackage[koi8-r]{inputenc}
\usepackage[russian,english]{babel}

% Установить пакет ttf-xits для математики!

\usepackage{xltxtra,fontspec,amsmath,unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\setromanfont[Numbers=Uppercase]{OpenGost Type B TT}
\setmonofont[Scale=0.90,Ligatures=NoCommon]{OpenGost Type A TT}
\setmathfont{XITS Math}

\textwidth=175mm
\textheight=260mm
\oddsidemargin=-.4mm
\headsep=5mm

\topmargin=-1in
\unitlength=1mm

\def\VL{\line(0,1){15}}
\def\HL{\line(1,0){185}}
\def\Box#1#2{\makebox(#1,5){#2}}
\def\simpleGrad{\sl\small\noindent\hbox to 0pt{%
\vbox to 0pt{%
\noindent\begin{picture}(185,287)(5,0)
\linethickness{0.3mm}
\put(0,0){\framebox(185,287){}}
\put(0,0){\Box{7}{Лит.}}
\put(0, 15)\HL
\multiput(0, 5)(0, 5){2}{\line(1,0){65}}
\put(7, 0){\VL\Box{10}{Изм.}}
\put(17, 0){\VL\Box{23}{\No~докум.}}
\put(40, 0){\VL\Box{15}{Подп.}}
\put(55, 0){\VL\Box{10}{Дата}}
\put(65, 0){\VL\makebox(110,15){\large\sc\rightmark}}
\put(175, 0){\VL\makebox(10,10){\normalsize\thepage}}
\put(175,10){\line(1,0){10}}
\end{picture}
}}}

\makeatletter
\def\@oddhead{\simpleGrad}
\def\@oddfoot{}
\makeatother
\begin{document}
\noindent Страница 1, верх\hfill право
\section{Раздел 1}
Текст раздела. Никаких декораций сделать в этом шрифте нельзя.
$$
\int_1^{10} \sin x\,dx\quad
\sum_{20}^\infty = \partial\alpha/\partial\delta\quad
\mathbf{bold}
$$
\vfill
\noindent Страница 1, низ\hfill право
\newpage
Страница 2

{\tt Моноширинный шрифт } выбран более тонким
\end{document}

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Спасибо! Остановился на таком варианте (как сделать рамку на одной конкретной странице):

\usepackage{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{decorations.pathmorphing}

\begin{document}
...
\thispagestyle{empty}
\newgeometry{top=20mm,bottom=20mm,left=35mm,right=20mm}

\begin{tikzpicture} [overlay,remember picture]
    \draw [line width=0.5mm ] 
($ (current page.north west) + (1cm, -1cm) $)
    rectangle
    ($ (current page.south east) + (-0.5cm,1.5cm) $);
\end{tikzpicture}

Текст страницы

\restoregeometry

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em

Подскажите, пожалуйста, как в моем случае удачно «впихнуть» русские буковки в рамку?

Тоже рисую свои рамки, вставляю их в колонтитулы, но проблемы кодировок заставляют писать вместо «Листов» «\CYRL\cyri\cyrs\cyrt\cyro\cyrv». Иначе при выводе в pdf получится гадость «кХЯРНБ».

Определила несколько команд для установки нужного колонтитула (то есть нужной рамки). Что-то типа \setBigGrad, которая запихивает в колонтитул соответствующую рамку \chead{\bigGrad}

TatianaSh
()
Ответ на: комментарий от TatianaSh

Иначе при выводе в pdf получится гадость «кХЯРНБ».

Подозреваю, что \def'айны делаются до \usepackage[koi8-r]{inputenc}. Надо после, тогда с кириллицей все будет нормально.

А вот автоподгон кегля — штука нетривиальная, советую посмотреть примеры Кнута, как он балансировал многоколоночный вывод на последней странице. Алгоритм примерно такой же: создаем блок (\box0, например), сравниваем его ширину (\wd0) с заданной шириной (ее-то мы знаем, т.к. сами рисуем). И дальше дихотомией гоняем кегль туда-сюда, пока размер блока не станет правильным.

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.