Александр Яковлев a.k.a. Oreolek

12 Январь 2010 г.

Горячая линия: Титульный лист и начало работы (LaTeX)

Filed under: LaTeX,Горячая Линия — Александр Яковлев @ 16:14

Я готовил серию постов по LaTeX ещё к Новому Году, но решил немного придержать их, чтобы подрихтовать оформление. Первым идёт по порядку титульный лист научной работы. Какая это именно работа, значения практически не имеет: это может быть семестровая, курсовая или лабораторная – оформляются они одинаково или почти так.
Я привожу только преамбулу и первую страницу. Преамбула немного перегружена («на будущее»), но лишь немного.
Итак, нормальное и качественное начало документа выглядит на LaTeX так:

\documentclass[a4paper,12pt]{report}
\usepackage{mathtext}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
%если не подключить английский, потеряете переносы в английских словах...очень плохо
\usepackage{indentfirst}
\usepackage{graphicx}
\usepackage{listings}
\lstloadlanguages{Perl}
%здесь проставить нужные языки и их диалекты...можно написать и свои правила подсветки
\lstset{extendedchars=false,%надо ставить false всегда при работе с UTF-8
commentstyle=\it,
stringstyle=\bf,
belowcaptionskip=5pt,
numbers=left, %нумерация строк
numberstyle=\tiny,
stepnumber=3,
numbersep=5pt,
breaklines=true, %автоперенос длинных линий
breakatwhitespace=true}
%перенос ТОЛЬКО по пробелам и табуляциям

\renewcommand{\lstlistingname}{Листинг}
\usepackage[labelsep=period]{caption}

\usepackage{fncychap}
\ChNameVar{\large}
\ChTitleVar{\Large \rm \bfseries}
%\ChTitleUpperCase %- почему-то не работает
\ChNameUpperCase

\makeatletter
\renewcommand{\DOTI}[1]{\CTV\FmTi{#1}\par\nobreak\medskip}
\makeatother

\setcounter{secnumdepth}{-1} % не хочу нумеровать главы
\setcounter{tocdepth}{1} % глубина оглавления

\usepackage{geometry} % Меняем поля страницы
\geometry{left=3cm} % левое поле
\geometry{right=1cm}% правое поле
\geometry{top=2cm}% верхнее поле
\geometry{bottom=2cm}% нижнее поле

\renewcommand{\theenumi}{\arabic{enumi}}
\renewcommand{\labelenumi}{\arabic{enumi}}
\renewcommand{\theenumii}{\arabic{enumii}}
\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}.}
\renewcommand{\theenumiii}{\arabic{enumiii}}
\renewcommand{\labelenumiii}{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}.}

\renewcommand{\baselinestretch}{1.5}
%если поставить меньше, то дроби на строках будут сливаться друг с другом
\righthyphenmin=2 % Минимальное число символов при переносе - 2.

\begin{document}\renewcommand{\contentsname}{Содержание}
%Строго говоря, Оглавление - это когда текст разбит на главы.
%Когда текст разбит на секции - это Содержание.

\input{Title}

Нетрудно заметить,что оно оптимизировано для программистов: тонко настроен пакет listings. Для титульного листа этого вполне достаточно, но для всей работы надо будет написать ещё кое-что – в следующем посте уточню, что именно. А пока – титульник (Title.tex):

{
\thispagestyle{empty}
\newpage
\centering

\textbf{
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РФ\\
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ\\
ОЧЕНЬ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ\\*
Сумасшедший факультет\\
Кафедра всякой хрени и сопутствующих областей}

\vfill

{\large КУРСОВАЯ РАБОТА}

\bigskip

<<ЗДЕСЬ НАЗВАНИЕ>>\medskip

студента какого-то курса, М-666 группы\medskip

Букова Аз Есьма\\
\medskip

Специальность 010503 - <<Математическое обеспечение и
администрирование информационных систем>>

\vfill

\begin{flushright}
Руководитель: \\
К.п.н., доцент \\
Е. Н. Какой-то-левов\\
\makebox[5cm]{\hrulefill}

\bigskip

Работа защищена с оценкой\\
<< \makebox[1cm]{\hrulefill} >> ( \makebox[3.6cm]{\hrulefill} )\\
<< \makebox[1cm]{\hrulefill} >> \makebox[3cm]{\hrulefill} \number\year г.

\bigskip

Зав. кафедрой триангуляции торсионных полей,\\
д.-р п. х. наук, профессор\\
\makebox[3.5cm]{\hrulefill} Д. Е. Какой-то-тамов

\end{flushright}

\vspace{\fill}

ВАШ_ГОРОД \number\year
\clearpage
}

Важно писать пробелы после инициалов (Ж._У._).Вместо «Курсовая работа» может стоять и «отчёт по семестровой работе», и что угодно, опять же. Не обрамляйте титульник в \begin{titlepage}…\end{titlepage}, тогда он не будет включён в нумерацию и содержание будет стоять якобы на первой странице.
На мой взгляд, сделано ладно. Но это только начало, дальше будет наверняка хуже. :-)
А. Я. Яковлев.

10 Июнь 2009 г.

Линии в LaTeX

Filed under: LaTeX — Александр Яковлев @ 07:16

Иногда хорошо отчеркнуть часть текста длинной горизонтальной линией. Но команда \hline работает только в таблицах. Как нарисовать линию?
Ответ прост, хотя и часто забывается в руководствах на русском. Для этого служит команда \line:
\line(x,y){длина}

Она рисует линию указанной длины по указанному вектору.

Координаты вектора (x,y) есть целые числа по модулю не больше 6. Кроме того, они должны быть взаимно простыми (то есть, не иметь общих делителей кроме ±1). Чаще всего используются (1,0) – это горизонтальная линия, и (0,1) – вертикальная линия.

23 Сентябрь 2008 г.

Отчёт On-line

Filed under: LaTeX,рецензии и обзоры — Александр Яковлев @ 20:17

Представьте,что вам и вашему другу (или двоим вашим друзьям) надо немедленно сделать…скажем,отчёт.О проделанной работе,в соответствии с правилами.Два года назад существовал только единственный способ собраться вместе и написать что-нибудь подобное: это прийти к кому-нибудь на квартиру,сесть втроём перед компом и коллективным разумом выдавить из себя многостраничный труд.
Но! Сейчас же 2008й год!Мы живём в 21м веке!У каждого есть Интернет!
Слава Богу,в Интернете есть сайты,которые предоставляют услуги онлайн-офисных пакетов.Мало того,что они имеют все базовые функции обычных Word,Excel и их альтернатив,но у них есть важное отличие: поддержка совместной работы,или collaborative editing.Это когда двое,трое…двадцать человек редактируют вместе один файл одновременно,не выходя из своих домов.(Можете мне поверить: ситуация,когда пятнадцать…двадцать…двадцать пять человек пишут один документ - это реально.Особенно во время студенческой сессии.)
Но достаточно ли возможностей этих сайтов для чего-нибудь стоящего?Давайте посмотрим,можно ли в них сделать обычный отчёт о лабораторной работе.

Краткое описание требований к документу
Шрифт: Times New Roman
Размер шрифта: 14
Размер страницы: A4
Поля страницы: 30-10-15-20 мм
Выравнивание текста: По ширине
Интервал между строками: Полуторный
Нумерация страниц начинается с титульного листа,но на самом листе номер не пишется
Наличие оглавления

Помимо того,можно ли создать на данном сервисе документ,отвечающий этим требованиям,я проверяю:

  • Интерфейс сервиса
  • Поддержка таблиц и рисунков
  • Поддержка форматов на импорт и экспорт
  • Перевод сервиса на русский

К сожалению,пока что выбор из подобных онлайн-сервисов оказывается невелик: в обзоре участвуют лишь двое: это Google Docs и Zoho Writer.Office Live я не беру по причине его ужасной стоимости: покупать за баснословные деньги средство для создания студенческого отчёта не очень логично.Пойдём по порядку.

Google Docs

Первым бросается в глаза то,что интерфейс сервиса полностью выполнен на английском языке.Впрочем,это мелочи.Общий интерфейс Google Docs интуитивно понятен и привычен: меню и короткая панель,на которой стоят типичные для всех продуктов этого рода кнопки.
Прежде чем править новый документ (который можно создать командой New-Document),надо его настроить.Открываем меню Edit – Document Styles…и видим скудный диалог настройки документа.Так,шрифт Times здесь не значится,но есть его полная альтернатива под названием Serif.Выставляем размер 14 пунктов,полуторный интервал…и всё.На этом настройки заканчиваются.Поля и размер страницы жёстко зафиксированы.Это уже неприятно,но пока не фатально.Поехали дальше.
Выравнивание текста по ширине на панели команд не значится.Оно спрятано поглубже,в меню Format – Align – Justified.Там же написано,что его можно задать через Ctrl-J.Чтобы отредактировать верхнюю часть листа,нужно опять лезть в меню за командой Insert – Header.Ни о каком автоматическом нумеровании мечтать не приходится,каждую страницу нумеруете сами.Вот так.Хотя с другой стороны,зато ошибок в этом не будет.
Из заголовков через меню доступны лишь три уровня.Если нужно больше,на это есть HTML редактор (Edit – Edit HTML).Довольно логично,потому что сильно разбивать текст на 4 уровня требуется лишь при написании очень толстых трудов,а для них явно нужно что-нибудь помощнее онлайн-офисных пакетов.А вот что не радует,так это опять же то,что для задания заголовка опять надо лезть в меню Format.Или запомнить горячие клавиши Ctrl-1,Ctrl-2,Ctrl-3.Похоже,что для нормальной работы без «хоткеев» не обойтись.
После можно выбрать пункт меню Insert – Table Of Contents,и получить изящный список ваших заголовков..без указания страниц.Просто перечень глав,подглавок и параграфов,оформленный в виде гиперссылок.А где их искать?Я хочу оглавление с номерами страниц!Я буду печатать отчёт,а не сдавать с гиперссылками!
С дополнительными требованиями не всё так плохо.Интерфейс хотя и довольно сильно упирается в меню,но к нему можно привыкнуть.Картинки вроде бы вставляются…правда,не совсем ясно,какие форматы разрешены – я попробовал вставить картинку в svg и получил ошибку.Но Jpg вроде работает.Поддержка таблиц радует больше: маленький диалог с кучей настроек,и вы получаете милую табличку на свой вкус.Причём удаление и добавление строк и столбцов реализованы очень удобно: не надо лезть ни в меню,ни в настройки: можно кликнуть на треугольник над текущей ячейкой,и создать соседний столбец,или крестик – чтобы удал
ить текущий.Такое я раньше встречал в редакторе NVU,мне этот подход очень нравится.
Поддержка форматов на экспорт: HTML,OpenOffice,PDF,RTF,TXT,DOC
Импорт: HTML,TXT,DOC,RTF,OpenOffice,StarOffice,PDF

Zoho Writer

Регистрация на сайте необязательна,он понимает логины от Google и Yahoo.Другое дело,что он не может запомнить вас с этими логинами,поэтому всё-таки во избежание глюков и неудобств – я рекомендую региться.
Опять же,первое впечатление – продуманный интерфейс,диаметрально противоположный Google Docs.Упор идёт на кнопки панелей,а не меню.По правде,меню нет вовсе: просто серия надписей,которые вызывают диалоги и которые было бы трудно проиллюстрировать в иконках.Интерфейс почти полностью переведён на русский,но,если язык вам незнаком,то за словарём всё равно придётся лезть: часть меню,команд и вызовов всё-таки осталась без перевода.Не очень удобная соляночка из языков,но терпимо.
Внизу страницы расположена интересная панель состояния,имеющая 4 режима: теги,состояние,поиск и информация об общзем доступе.Версии документа нумеруются от 0.0 с шагом 0.1 – спорное решение,потому что деление номер на 10 не даёт никаких преимуществ,он всё так же возрастает с каждым сохранением.
При запуске сервис сразу же предлагает создать новый документ.Не всегда удобно,но сейчас – как раз.Выбираем сверху надпись «Page Setup» (предварительно придётся дать документу имя),видим диалог,выполненный в уютных тонах.Здесь выбираем: шрифт Times New Roman,размер 14 пунктов,бумага А4,полуторный пробел между строками.На вкладках Header и Footer можно настроить автоматическую нумерацию страниц в нужном месте документа…хотя на титульном листе всё равно будет печататься номер.
Не очень удобно то,что поля страницы задаются в процентах.Я прекрасно понимаю разработчиков сервиса: чем делать перевод дюймов,пунктов,пикселов и миллиметров,проще сделать все размеры в процентах.Но переводить 30 мм в процент от ширины A4 я не хочу.Ладно,пусть будут поля по умолчанию,они широкие.Но уже видно,что документ придётся дорабатывать перед печатью оффлайн.
С выравниванием по ширине проблем нет никаких.Заголовки даются аж до шестого уровня.А вот с оглавлением проблемы.Мало того,что оно генерируется строго в начале документа,а не в нужном мне месте (на второй странице),оно ещё и не настраивается.Опять же отформатированный набор гиперссылок,даже нет настроек вида как в Google Docs.Очевидный минус и дополнительная работа в оффлайн-доработке.
Таблицы можно создать с помощью кнопки на панели инструментов.Знакомые удобные треугольнички с крестиком.Что огорчает,так это полное отсутствие настроек ширины столбцов..только ручками,через HTML редактор.Сильный минус в пользу Google Docs.Картинки опять же непонятно каких форматов,но наверняка – тех же,что и в импорте.
Фича,за которую я просто полюбил Zoho – это офигенно хорошая поддержка LaTeX.Импорт,экспорт,удобная вставка математических формул в документ.Ни один из оффлайн-процессоров не может похвастаться ничем подобным.Хвалёный OpenOffice.Math неудобен до чёртиков,а в остальных и этого нет.Также продумано совместное редактирование: помимо удобных указателей,какую часть документа кто редактирует,наличествует чат.А если вы хотите посмотреть HTML код,историю правок или сохранить своё творение от друзей-вандалов,можно заблокировать документ.
Поддержка файлов на экспорт:DOC,DOCX,OpenOffice,PDF,Latex,StarOffice,RTF,TXT,HTML
Поддержка файлов на импорт: HTML,DOC,DOCX,TXT,OpenOffice,StarOffice,RTF,JPG,GIF,PNG,Google Docs (!)


Подытожим: даже если онлайн-редактирование -это круто и бесплатно,но итоговый документ всё равно придётся дорабатывать в оффлайне.Zoho Writer очень хорош для серьёзных трудов и может дать фору аналогам даже в оффлайне,а вот Google Docs – это не более чем WYSIWYG-редактор для простых HTML-страничек.У обоих сервисов есть глюки,исправлять которые опять же приходтся в AbiWord или openOffice,но это частично может спасти интеграция с openOffice\Microsoft Office у Zoho (Google Docs в этом отношении безнадёжен). В любом случае,вам стоит ещё много раз подумать,прежде чем удалять офисный пакет с компьютера.Интернет – пока что плохая альтернатива.Но я надеюсь,чо только пока.

Специально для своего блога,
Oreolek.

P.S. Интернет и какой он нужен

Если вы всё-таки собрались перейти на создание документов в Интернете,обдумайте вот что.

Чем больше документ,тем больше он требует траффика.Поэтому если вы редактируете статью с тремя большими картинками,то будьте готовы к тому,что эти картинки придётся загрузить не раз: по понятным причинам на подобных сайтах кэш всегда отключён.Если же вы собираетесь
редактировать документ одновременно с кем-то,то вам понадобится быстрый интернет.Иначе вы просто не сможете работать одновременно,задержки будут просто ужасными.А если документ достаточно большой,то это лишь увеличит задержки в его обновлении даже после ваших правок.
Проверенный факт: скорость соединения в 32-56 кб\с достаточна для редактирования маленького (5 страниц) документа без картинок или маленькой заметки (до 2-3х страниц) коллективно.64 кб\с уже нормально для коллективной правки документа в 10-20 страниц,если каждый из авторов не пышет идеями,изменяя по странице в 10 секунд.Все документы – это просто одна большая HTML страница.Чем быстрее ваше соединение с Интернетом,тем всегда лучше.Но обладателям диалапа я всё равно не рекомендую уходить в Интернет настолько глубоко.

P.P.S. Если вы знаете LaTeX…

Сегодня обнаружил интереснейший сайт: https://ssl.perfora.net/monkeytex.com/
От всех вышеперечисленных он отличается аскетизмом в управлении и огромной мощью.Он предоставляет услуги онлайн-редактирования,хранения,конвертирования в PDF и совместного редактирования TeX-файлов.Что это значит? Это значит,что вы работаете с документом на уровне LaTeX-кода и что перед вами нет никаких ограничений в том,что вы можете создать.

Сайт достаточно медлителен,не всегда откликается,но вместе с тем прост в упправлении и идее.Он немного не подогнан под разрешение 1024х768,но Ctrl-Scroll это исправляет.Подсветка синтаксиса минимальна.По окончании работы вы сохраняете файл,и,если он синтаксически верен,он конвертируется в PDF.Результат уже можно выложить на всеобщее обозрение.

Это,конечно,не убийца Zoho,но тоже интересный ресурс.Естественно,что он соответствует всем моим требованиям: создать нужный документ на LaTeX не является никакой проблемой.Давайте я приведу код начала моего отчета по сетям (пустые строки вырезаны):

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\author{Александр Яковлев}
\setcounter{secnumdepth}{0}
\usepackage[top=10mm,bottom=15mm,left=30mm,right=20mm,includehead,head=12pt,headsep=0cm,nofoot]{geometry}
\begin{document}
\renewcommand{\baselinestretch}{1.5}
\addtolength{\parskip}{\baselineskip}%полуторный пробел
\fontsize{14pt}{16.8pt}%14 кегль
\pagestyle{empty}%нет номера страницы на титульной
\begin{center}
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

КЕМЕРОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Кафедра ЮНЕСКО по Новым информационным технологиям

\vspace{80 mm}

ОТЧЁТ

О ВЫПОЛНЕНИИ ЛАБОРАТОРНОЙ РАБОТЫ

"Локальная сеть предприятия"

студента третьего курса,М-065 группы

Яковлева Александра Яковлевича

группа М-065(1)
\end{center}
\vspace{40 mm}

\begin{flushright}
Математический факультет

Специальность 351500 – математическое обеспечение

и администрирование информационных систем
\end{flushright}
\vspace{10 mm}
\begin{center}
Кемерово, 2008
\end{center}
\clearpage
\tableofcontents
\clearpage
\pagestyle{myheadings}%номер страницы сверху
\begin{center}
\section{ВВЕДЕНИЕ}
\end{center}
\end{document}

Powered by WordPress