Как сделать поля в техе

Добавил пользователь Алексей Ф.
Обновлено: 04.10.2024

Произведенные с использованием изученных до сих пор команд документы будут выглядеть вполне приемлемо для широкой аудитории. Они не выглядят очень модно, подчиняясь зато всем правилам хорошего тона в наборе, поэтому их легко читать и на них приятно смотреть. Но бывают ситуации, в которых L A T E X не предоставляет команду или окружение, удовлетворяющие вашим ожиданиям, или производимый некоторой существующей командой вывод не отвечает вашим требованиям. В этой главе даются некоторые советы по обучению L A T E X новым вещам, и тому, как сделать его вывод отличающимся от того, что производится по умолчанию.

Как вы заметили, все вводимые в этой книге команды верстаются в рамке и включаются в указатель в конце книги. Вместо того, чтобы напрямую использовать необходимые для этого команды L A T E X, автор создал пакет, в котором определил новые команды и окружения для этой цели. Теперь можно просто писать:

В этом примере используются как новое окружение, называющееся command и отвечающее за рисование рамки вокруг команды, так и новая команда, называющаяся ci и верстающая название команды и заносящая соответствующий элемент в указатель. Вы можете в этом убедиться, поискав команду dum в указателе в конце книги, где вы найдете запись для dum, указывающую на эту страницу.

Если автор когда-нибудь решит, что ему не нравятся больше команды, сверстанные в рамке, он просто изменит определение окружения command . Это намного проще, чем пройти по всему документу, выискивая все места, где использованы общие команды L A T E X для рисования рамки вокруг слов.

Чтобы добавить ваши собственные команды, пользуйтесь командой

Обычно эта команда требует двух аргументов. Название команды, которую вы создаете, и определение команды. Аргумент число в квадратных скобках не обязателен. Он применяется для создания новых команды, которые, в свою очередь, принимают до 9 аргументов.

Следующие два примера должны вам помочь получить представление о команде. Первый пример определяет новую команду, называющуюся tnss, что является сокращением от ``The Not So Short Introduction to L A T E X2 e ''. Такая команда пригодится, если вам много раз приходится писать название этой книги.

``The not so Short Introduction to L A T E X2 e '' . ``The not so Short Introduction to L A T E X2 e ''

  • The Не очень краткое введение в L A T E X2 e
  • The Очень краткое введение в L A T E X2 e

L A T E X не позволит вам создать новую команду, которая бы изменяла уже существующую. Но для случая, когда вы явно хотите изменить существующую команду, есть специальная команда: renewcommand. Она имеет тот же синтаксис, что и команда \newcommand .

В некоторых случаях может пригодиться команда providecommand. Она работает так же, как newcommand, но, если команда уже определена, то L A T E X2 e ее молча проигнорирует.

Аналогично команде \newcommand , существует команда для создания вашего собственного окружения. Команда newenvironment имеет следующий синтаксис:

Подобно команде \newcommand , newenvironment можно использовать с необязательным аргументом, или без него. Материал, заключенный в аргумент начало , обрабатывается до обработки текста внутри окружения. Материал, заключенный в аргумент конец , обрабатывается, когда встречается команда \end < название >. Следующий пример иллюстрирует использование команды newenvironment.

Мои смиренные подданные.

Аргумент номер используют так же, как и для команды \newcommand . L A T E X контролирует, чтобы вы не определяли уже существующее окружение. Если вы заходите все же это сделать, пользуйтесь командой renewenvironment. Она имеет тот же синтаксис, что ли newenvironment.

Команды, использованные в этом примере, будут разъяснены позже.

Когда вы определяете множество новых окружений и команд, преамбулы ваших документов становятся очень большими. В этой ситуации представляется разумным создать пакет L A T E X, содержащий определения всех ваших команд и окружений. Потом можно командой usepackage использовать пакет в ваших документах.

Создание пакета в основном состоит из переноса содержимого вашей преамбулы в отдельный файл с именем, заканчивающимся на .sty . Есть только одна специальная команда, которую вы должны использовать

L A T E X выбирает подходящее начертание и размер шрифта, основываясь на логической структуре документа (разделы, сноски, . ). Иногда может быть желательно сменить шрифт вручную. Для этого вы можете пользоваться командами, перечисленными в таблицах. Действительный размер каждого шрифта определяется дизайном и зависит от класса и опций документа. Таблица показывает абсолютные размеры, соответствующие этим командам в стандартных классах документов.

Маленький, полужирный , большой, курсив .

Важная особенность L A T E X2 e заключается в том, что атрибуты шрифта независимы. Это значит, что вы можете давать команды смены размера или даже семейства шрифта, сохраняя при этом установки атрибутов наклона или насыщенности.

В математическом режиме вы можете использовать команды смены шрифта, чтобы временно выйти из математического режима и ввести нормальный текст. Если вы хотите переключиться на другой шрифт для верстки математики, то для этого существует отдельный набор команд. Смотрите таблицу.

Таб.: Абсолютные размеры шрифтов в стандартных классах

В связи с командами смены размера шрифта заметную роль играют фигурные скобки. Они используются для построения групп . Группы ограничивают область действия большинства команд L A T E X.

Ему нравятся большие и маленькие буквы .

Команды, влияющие на размер шрифта, влияют также на расстояние между строками, но только если соответствующий абзац заканчивается внутри области действия команды. Поэтому закрывающая фигурная скобка > не должна стоять слишком рано. Заметьте положение команды \par в следующих двух примерах:

Не читайте это! Это неправда. Верьте мне!

Это тоже неправда. Но помните, что я вру.

Если вы хотите применить команду изменения размера к целому абзацу текста или больше того, то для этого лучше использовать синтаксис окружения.

Это неправда. Но что в наши дни.

Это избавит вас от подсчета множества фигурных скобок.

Как отмечено в начале этой главы, опасно усеивать ваши документы явными командами, вроде только что описанных, потому что это противоречит основной идее L A T E X: разделению логической и визуальной разметки вашего документа. Это значит, что, если вы пользуетесь одними и теми же командами смены шрифта в разных местах для верстки специального вида информации, вы должны использовать \newcommand и определить команду, > в себя команду смены шрифта.

Не входите в эту комнату. Она занята машиной неизвестного назначения.

Этот подход имеет то преимущество, что вы позже можете решить, что хотите использовать другое визуальное представление опасности 29 , нежели \textbf , без необходимости пробираться через весь документ, отыскивая все вхождения \textbf и определяя, отмечает ли каждое из них опасность или что-нибудь другое.

Для завершения нашего путешествия в мир шрифтов и их размеров, позвольте дать вам один совет:

Помните ! Чем Б О ЛЬ ШЕ шрифтов вы используете в вашем документе , тем легче его читать и тем красивее он б у д е т 30 .

Если вам нужны большие интервалы между строками, то их значение можно изменить помещением в преамбулу команды

linespread < коэффициент >Для печати > пользуйтесь \linespread , для печати > -- \linespread . По умолчанию этот коэффициент равен 1.


5.3.2 Форматирование абзацев

Два параметра в L A T E X влияют на верстку абзацев. Поместив в преамбулу определения вида

вы измените внешний вид абзацев. Эти две строчки увеличивают расстояние между абзацами и устанавливают абзацный отступ равным нулю. В Европе абзацы часто отделяют пробелами и не делают в них отступа. Однако, имейте в виду, что это влияет также и на оглавление: его строки тоже становятся теперь более разреженными. Чтобы этого избежать, эти команды можно перенести из преамбулы документа куда-нибудь после \tableofcontents , или не использовать их совсем, потому что в профессиональной книжной верстке используется выделение абзацев красной строкой, а не пробелами.

Если вы хотите сделать абзацный отступ в не имеющем его абзаце, то вставьте в начало абзаца команду 31 indent Понятно, что эффект от нее будет только если \parindent не установлен равным нулю.

Для создания абзаца без отступа первой командой абзаца можно сделать

noindent Это может быть удобно, когда вы начинаете документ с текста, а не с команды секционирования.

L A T E X автоматически определяет пробелы между словами и предложениями. Чтобы добавить горизонтальный пробел , пользуйтесь

hspace < длина >Если такой интервал должен быть выдержан, даже если он приходится на начало или конец строки, используйте \hspace* , а не \hspace . В простейшем случае длина -- это просто число и единица измерения. Наиболее важные единицы перечислены в таблице.

Тут пробел в 1,5см.

Команда stretch < n >генерирует специальный > пробел. Он растягивается, заполняя все оставшееся места на строке. Если на одной строке встречаются две команды \hspace> , то они растягиваются пропорционально своим коэффициентам.

Интервалы между абзацами, разделами, подразделами, . определяются L A T E X автоматически. При необходимости дополнительный пробел между двумя абзацами можно добавить командой

Обычно эта команда вставляется между двумя пустыми строчками. Если это пространство должно сохраняться вверху или внизу страницы, используйте вариант команды со звездочкой: \vspace* .

Команду \stretch вместе с \pagebreak можно применять для верстки текста на последней строке страницы или для вертикального центрирования текста на странице.

Дополнительный пробел между двумя строками одного абзаца или внутри таблицы указывается командой

ПОДОЖДИТЕ! . прежде, чем немедленно броситься делать эту слишком узкую страницу слегка пошире, потратьте несколько секунд на размышления. Подобно другим вещам, выбор компоновки страницы в L A T E X весьма продуман.

Безусловно, если сравнить со страницей, выданной свежеустановленным MS Word, то страницы L A T E X выглядят ужасно узкими. Однако, взгляните на вашу любимую книгу 32 и посчитайте количество букв на одной строчке. Вы обнаружите, что на каждой строчке не больше 66 букв. Теперь повторите это со страницей L A T E X. Вы увидите, что и здесь тоже около 66 букв в строке. Опыт показывает, что при большем количестве букв чтение затрудняется, потому, что глазам становится труднее переходить от конца одной строки к началу следующей. Именно поэтому газеты часто верстаются в несколько колонок.

Так что, увеличивая ширину вашего текста, имейте в виду, что вы затрудняете жизнь его читателям. Однако, достаточно предупреждений, вам был обещан рассказ о том, как же это сделать.

L A T E X предоставляет две команды для изменения этих параметров. Их обычно используют в преамбуле документа.

Первая команда присваивает фиксированное значение любому параметру:

Вторая команда прибавляет длину к любому параметру: addtolength < параметр >

Она даже более полезна, чем setlength, потому что позволяет вам делать настройку относительно существующих установок. Чтобы добавить сантиметр к общей ширине текста, например, в преамбулу нужно поместить следующее:

Здесь вам может быть интересен пакет calc, который позволяет использовать арифметические операции в аргументе \setlength и в других местах, где аргументами являются численные значения.

Всегда, когда это возможно, избегайте использовать в документах абсолютных величин. Лучше основывайтесь на ширине или высоте других элементов страницы. Для ширины иллюстрации этим может служить \textwidth , чтобы она заполняла страницу целиком.

Следующие три команды позволяют определить ширину, высоту и глубину текстовой строки.

Нижеследующий пример показывает возможное применение этих команд.

Где: a , b - прилегают к прямому углу прямоугольного треугольника.

c - одинокая гипотенуза этого треугольника.

d - вообще тут не участвует. Вот загадка.

L A T E X выстраивает страницы, передвигая блоки. Сначала каждая буква является маленьким блоком, который приклеивается к другим буквам, формируя слово. Слова склеиваются с другими словами, но специальным эластичным клеем, который может растягиваться или сжиматься, так, чтобы в точности заполнить строку.

Надо признать, что это довольно упрощенная версия того, что происходит на самом деле, но идея в том, что T E X всегда работает с блоками и клеем. Не только буква может быть блоком. Вы можете поместить в блок практически все, что угодно, не исключая и другие блоки. Каждый блок затем обрабатывается L A T E X, как если бы это была отдельная буква.

В предыдущих главах вы уже встречали некоторые блоки, хотя об этом и не говорилось. Примерами могут быть окружение tabular или includegraphics, оба производящие блок. Это значит, что вы легко можете сверстать рядом две таблицы или иллюстрации. Только убедитесь, что их общая ширина не превышает \textwidth .

Вы также можете упаковать любой абзац в блок или командой

Параметр поз может принимать одну из букв c, t или b , контролируя вертикальное выравнивание блока по отношению к базовой линии окружающего текста. Ширина принимает аргументом длину, определяющую ширину блока.

В то время, как parbox упаковывает целый абзац, разбивая строчки и прочее, существует класс блоковых команд, работающих только на горизонтально расположенном материале. Одну из них мы уже знаем. Она называется mbox и просто упаковывает последовательность блоков, что можно использовать для предотвращения переноса L A T E X двух слов. Так как вы можете помещать одни блоки в другие, эти упаковщики горизонтальных блоков чрезвычайно гибки.

makebox [ ширина ][ поз ]

Ширина определяет ширину результирующего блока так, как его видно снаружи 33 . Кроме выражений длины, вы тут можете использовать width, height, depth и totalheight. Они устанавливаются равными значениям, полученным измерением параметров текста . 34 Параметр поз принимает однобуквенное значение: c : центрировать, l : отжать влево, r : отжать вправо или s : равномерно заполнить блок текстом.

Команда framebox работает в точности так же, как makebox, но рисует рамку вокруг текста.

Следующий пример показывает некоторые возможности использования команд makebox и framebox.

р а с т я н у т ы й

Можете это прочитать?

Теперь, когда мы управляем горизонталью, очевидный следующий шаг -- вертикаль. Никаких проблем. Команда

raisebox < сдвиг >[ глубина ][ высота ]

позволяет вам определить вертикальные характеристики блока. В первых трех параметров можно использовать width, height, depth и totalwidth, чтобы получить размеры аргумента текст .

[0pt][0pt] Aaaaa aa a a a кричал он, но даже стоящий рядом не заметил, что с ней случилось что-то ужасное.


5.7 Линейки и распорки

Несколько страниц назад вы могли отметить команду

При обычном использовании она генерирует простой черный блок.

Это можно использовать для рисования вертикальных и горизонтальных линий. Например, линия на титульном листе нарисована командой rule.

Специальным случаем является линейка, у которой нет ширины, но есть определенная высота. В профессиональной верстке ее называют распоркой . Ее используют, чтобы обеспечить фиксированную высоту элемента страницы. Вы можете использовать ее, чтобы сделать строку окружения tabular имеющей определенную высоту.

Pittprop .
Strut

linux samba mail postfix FreeBSD Unix doc linux howto ALTLinux PHP faq bind sendmail apache iptables firewall kernel rpm apt-get Slackware openssh Cisco debian vmware GNU oracle sun awk /etc/ passwd linux установка учебник книга скачать

В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.

1/05/2009

Набор таблиц в ЛаТеХе: Tables in LaTeX

Этот пост является частью большой статьи
"Как оформить диплом в LaTeX?",
которую написал virens,
ведущий блога "Записки дебианщика".



При наборе таблиц в LaTeX, как нигде, нужна правильная организация кода - таблицы это то, что в ТеХе делать сложнее всего. И если вы свалите в кучу все управляющие метки ЛаТеХа, то потом будете проклинать всё на свете. Здесь каждый выбирает свой стиль по своему вкусу, однако надо постараться отличать управляющие символы от собственно текста таблицы.

Кое-кто из комментаторов ниже распалялся по поводу того, что, дескать, ``всё уже давно написано, читайте книжки''. Я ещё раз уточню свою позицию по этому поводу: время тыкания людей в пудовые талмуды и дурно написанные мануалы прошло. Документация, как и программы, должны быть повёрнуты к пользователю лицом. Методические пособия типа этого помогут людям начать разбираться с предметом, подталкивая к изучению книг и делая кривую обучения более пологой.

Так как вёрстка таблиц в ЛаТеХ - дело не для слабонервных, лучше предварительно набросать на листке бумаги или графическом редакторе примерную схему таблицы. Делать наброски карандашом всегда проще, чем с воем и рыданиями переделывать код таблицы.

Небольшое введение в ЛаТеХнические таблицы

Таблица в LaTeX в идеологическом смысле очень похожа на рисунок: есть окружение \begin < table >. \end < table >, которое собственно и содержит все ``опознавательные знаки'' вроде подписи и ссылки, и собственно сама таблица \begin < tabular > <|rlc|>. \end < tabular >.

Поэтому окружений для создания таблиц в LaTeX два: \begin < tabular > <|rlc|>. \end < tabular >, которое управляет тем, как выглядит таблица, и \begin < table >. \end < table >, которое даёт вам возможность оформить заголовок таблицы с помощью команды \caption <> и поставить на таблицу ссылку с помощью привычной команды \label <>.

Набор простой таблицы в LaTeX

Например, если нам не требуется ссылка на таблицу или подпись под ней, тогда достаточно только окружения \begin < tabular >. \end < tabular >. Окружение tabular создаст простую таблицу, без подписи и ссылки. Вот пример кода простой таблицы в ЛаТеХе.

Колонки отделяются символом &, строки в таблице заканчиваются двойным слешем \ после крайней колонки. А вот как таблица выглядит в документе:


Здесь есть партизанская засада: если вы внутрь окружения tabular поставите метку командой \label <>, а потом сошлётесь на неё, то получите совсем не то, что ждёте. Ссылка в тексте укажет на номер раздела, а вовсе не таблицы.

Тут-то мы и вспоминаем про замечательное окружение table, которое позволяет оформить таблицу с подписью и ссылкой. Вот как наша таблица будет выглядеть с этим окружением:

Вот как это выглядит в документе:


Вроде как то же самое, только номер теперь стал 1.1. Простановка ссылок осуществляется так же, как и всегда, то есть: поставить ссылку в LaTeX можно командой \label < tabl:Textssylki >а сослаться на неё командой \ref < tabl:Textssylki >. Не забываем ставить тильду между словом и ссылкой слово~ \ref < tabl:Textssylki >чтобы ваша ссылка не уехала на другую строчку.

Управление видом таблицы в LaTeX

Сама таблица, то есть текст, набранный строго по столбцам и колонкам, делается с помощью окружения tabular. Важно помнить, что tabular есть просто текст-как-таблица и не содержит заголовка или ссылки - это делает окружение table.

Точное размещение таблиц

  1. оставить определение места таблицы в тексте на усмотрение ЛаТеХа - \begin < table >[h] "хотелось бы таблицу здесь";
  2. настойчиво просить разместить таблицу после текста \begin < table >[h!] "очень хочу таблицу здесь", или
  3. ударить кулаком по столу - таблицу тут \begin < table >[H], то есть "хочу таблицу именно здесь и баста"
    • с прибавлением буквы p мы заставляем поместить ЛаТеХ таблицу отдельно на страницу так: \begin < table >[pH].
    • добавление букв t или b заставляют LaTeX поместить таблицу \begin < table >[tb!] вверху или внизу, соответственно.

Размеры колонок в таблице LaTeX

Сама по себе таблица находится в окружении \begin < tabular > <|rlc|>. \end < tabular >. Здесь вертикальная линия обозначает отделение линией столбцов, а R L и С выравнивание соответственно по правому / левому краю и по центру.

Если столбец слишком широкий, можно задать его ширину с помощью выражения p, которое сделает столбец шириной в 70\% от ширины линии, например так: \begin < tabular ><|pp> сделает таблицу с двумя колонками по 40\% от ширины линии и отчеркнёт вертикальными линиями по бокам.

Строки отделяются друг от друга при помощи команды \hline а каждая строка таблицы завершается двойным слешем \\ или командой \linebreak .

Подписи и ссылки на таблицы

Вставка подписи к таблице \caption < Исправьте это на подпись к таблице >и ссылки на таблицу \label < tabular:timesandtenses >делается так же, как и для рисунков. То есть сначала \caption < Исправьте это на подпись к таблице >а после этого вставляем \label < tabular:timesandtenses >для того, чтобы потом сослаться на таблицу \ref < tabular:timesandtenses >в тексте.

Важное замечание о порядке следования \label и \caption Если поставить \label < tab:some_table >до \caption <. >, то даже при использовании окружения table в ссылке будет выдаваться не номер таблицы, а номер раздела.

Напоминаю снова и снова о необходимости ставить понятные и информативные ссылки, чтобы вы сами смогли потом понять, где то место, куда вы ссылаетесь. Ставим длинные и подробные имена ссылок, чтобы потом не искать по Тайге ris21 или tabl43 . Никаких оправданий таким именам ссылок нет, и дядя Кнут будет недоволен.

Объединение нескольких колонок в одну

Иногда нужно объединить несколько колонок в одну на какой-то строке и убрать вертикальные линии для этого, например, чтобы сделать пояснения. В визуальных табличных редакторах типа OpenOffice.Calc это просто, но так как ЛаТеХе - это вообще говоря язык программирования, то здесь придётся немного сложнее. Для этого нужно воспользоваться командой \multicolumn .

Синтаксис у команды простой: \multicolumn <|c|> означает, что мы объединяем 2 (два) столбца в таблице, получившаяся ячейка будет центрирована и нарисованы вертикальные линии. В объединённой колонке на той строке, где мы поместим команду \multicolumn , будет текст Результаты измерений. Вот как это выглядит в коде:

А вот как эта таблица будет выглядеть в документе:


Это может пригодиться особенно в длинных таблицах, которые простираются на несколько страниц и которые нужно переносить со страницы на страницу.

Многостраничные таблицы

Время от времени таблицы становятся длинными до неприличия и не влезают в одну страницу. Чтобы сделать многостраничную таблицу в LaTeX, используем пакет расширений \usepackage , который подключаем в преамбуле документа (там, где остальные команды типа \usepackage ). В остальном всё то же самое, как и раньше, только используем окружение longtable вместо table. Вот пример:

Вот как это выглядит в документе:


Стоит упомянуть, что если столбец слишком широкий, можно задать его ширину вот так: \begin < longtable >[h]> с помощью выражения p, которое сделает столбец шириной в 70% от ширины линии.

Поворот таблицы в LaTeX

Ну и под занавес приведу пример достаточно сложной таблицы, которая повёрнута на 90 градусов (таблица в ландшафтной ориентации в ЛаТеХе). Поворот сделан при помощи команды \rotatebox < 90 > < я - объект >что обеспечивает поворот любого объекта на 90 градусов. Так как данные структурированы и код организован достаточно логично, редактировать таблицу относительно просто.

Вот как таблица выглядит в документе:


Есть и другие команды для поворота объектов в LaTeX, например turn из пакета rotating . Преимущество команды \rotatebox в том, что она содержится в пакете \usepackage < rotating >и обычно graphicx уже подключён для отображения иллюстраций в LaTeX.

Заключение

48 комментариев:

Как-то напрягает ширина столбца в 0.7\linewidth. Не мелковато получится?

В TeX'е этот материал есть или только тут, в html?

В тексте статьи везде "\textbf" вместо соответствующего выделения жирным шрифтом

Если не трудно, расскажите как делать вертикальные подписи в шапке таблицы. Иногда бывает нужно.

2 uleysky
> Как-то напрягает ширина столбца в 0.7\linewidth. Не мелковато получится?
Хотя да… Ширина в 70 % строки — это серьёзно.

> В TeX’е этот материал есть или только тут, в html?
Скорее всего, он как раз в TeX’е и есть, просто тут стоит какой-то хитрый конвертер LaTeX → HTML, в котором есть немного недочётов.

Действительно, команды \textit, \textbf и т. п. в тексте статьи не дают ожидаемого результата. Плюс, после названий команд (без аргументов, с аргументами всё в порядке) в тексте остаётся вертикальная черта (|), скорее всего, это что-то с интерпретацией \verb’а.

Но это лирика, и я не буду на ней задерживаться. (Сложносочинённое предложение. Я не вычитывал всё пристально, так что, возможно, это ещё не всё.)

Может лучше получившиеся таблицы давать в виде картинок?

> Попробуйте такое в книжках разыскать, и я пожелаю вам удачи.

книга
М.Гуссенс, Ф.Миттельбах, А.Самарин
"Путеводитель по пакету LaTeX и его расширению LaTeX2e"
стр. 155 пункт 5.6.4

> Попробуйте такое в книжках разыскать, и я пожелаю вам удачи.

Еще одна книга:
Котельников И. А., Чеботаев П. З. "LaTeX по-русски", 3-е издание, 2004 г., стр. 288

> Попробуйте такое в книжках разыскать, и я пожелаю вам удачи.

Еще книга:
Роженко А. И. "Искусство верстки в LaTeX'е", 2005 г., стр. 144.

В книге Евгения Балдина тоже про это есть. Так что почти во всех книгах про LaTeX на русском есть про таблицы (и даже больше и порой несколько понятней). В книге Львовского действительно про таблицы написано маловато, но она и была написана довольно давно, одной из самых первых (1-е издание).

Таблица "Нестандартные болты для левой резьбы", изображенная на Вашей странице, не совсем соответствует тому, что получается в результате исполнения указанного Вами же кода на LaTeX'e (с необходимой преамбулой разумеется). Не соответствует она как раз в существенной части.

В общем, я так думаю, что это всё писано под LaTeX (стиль кавычек, \textbf и компания), а потом прогнаное через конвертер (или в самом блоге стоит конвертер) в HTML, в котором есть кучка багов.

>В общем, я так думаю, что это всё писано под LaTeX (стиль кавычек, \textbf и компания), а потом прогнаное через конвертер (или в самом блоге стоит конвертер) в HTML, в котором есть кучка багов.

Все это совершенно очевидно. Но автор блога ругает в частности Кручинина (я с ним не знаком и не являюсь его апологетом) за документацию (в значительной степени справедливо) и других. Так пусть посмотрит на себя со стороны. И, если эта страница и есть то лицо, которым повернута документация к пользователю, то искаженная гримасой. Возможно я ошибаюсь.

Впрочем, автор все-таки делает полезное дело. Сам не люблю "вордодятлов". Просто полагаю, что если уж делаешь работу, то делай ее не наспех. (Имею интерес относительно Дебиана и у меня возникает вопрос, а не пишет ли автор блога (Михаил) заметки о Дебиане так же как и о LaTeX'e, и не стоит ли вместо этого почитать другую, в частности оригинальную, документацию.) Защита диссертации не может служить оправданием. Есть очень хороший принцип "Исповедуй то, что проповедуешь".

Кстати, книга Котельникова и Чеботаева, по-моему, вполне повернута к читателю лицом. Содержит очень много примеров, начиная от самых простых. Правда там целая страница посвящена окружению "verse", которое позволяет набирать стихи. Это, конечно, очень большой ее недостаток, и поэтому она совершенно не пригодна для изучения LaTeX'а. Кроме того, там нет значка диаметра.

Хотя, справедливости ради надо отметить, что для тех, кому СРОЧНО надо написать диплом или диссертацию в LaTeX'e, это действительно не совсем подходит.

2 uleysky комментирует.
Как-то напрягает ширина столбца в 0.7\linewidth. Не мелковато получится?
В самый раз :-)

В TeX'е этот материал есть или только тут, в html?
Как ниже в комментариях уже попеняли, именно в ЛаТеХе это и пишется, а потом переводится в HTML. Я не большой спец в этом деле, признаться.

2 yuriy.petrovskiy комментирует.
В тексте статьи везде "\textbf" вместо соответствующего выделения жирным шрифтом
Каюсь, упустил, поправил. Спасибо!

2 Анонимный комментирует.
Если не трудно, расскажите как делать вертикальные подписи в шапке таблицы.
Если честно - смутно себе это представляю. Готового ответа в лёт не дам.

2 Hina-Ichigo комментирует.
Скорее всего, он как раз в TeX’е и есть, просто тут стоит какой-то хитрый конвертер LaTeX → HTML
Обычный latex2html, и я им не сильно часто пользуюсь.

Плюс, после названий команд (без аргументов, с аргументами всё в порядке) в тексте остаётся вертикальная черта (|), скорее всего, это что-то с интерпретацией \verb’а.
Нет, это я пропустил после конвертации. Моя вина. Уже починил. Спасибо, что отозвались.

2 kean комментирует.
Может лучше получившиеся таблицы давать в виде картинок?
У меня была такая мысль, но времени было очень-очень мало.

2 Анонимный комментирует.
книга
М.Гуссенс, Ф.Миттельбах, А.Самарин
"Путеводитель по пакету LaTeX и его расширению LaTeX2e"
стр. 155 пункт 5.6.4
Хм. (и ниже). Упрёк принят. Экспрессию убрал :-)))

2 Анонимный комментирует.
К вопросу о том, чем должна быть повернута к пользователю документация.
Лицом, а не мануалом :-) Но про тщательнее уже принял меры.

2 Hina-Ichigo комментирует.
В общем, я так думаю, что это всё писано под LaTeX
Ну естественно.

Но автор блога ругает в частности Кручинина
Есть такое. Он написал хороший пакет disser, но категорически не хочет писать о нём развёрнутую документацию. Фраза "аспиранты - народ не глупый, захотят - разберутся" убивает совершенно.

И, если эта страница и есть то лицо, которым повернута документация к пользователю, то искаженная гримасой.
Это не совсем то лицо, но оно (лицо) хочет быть лучше. И старается это делать. На фоне написания кандидатской диссертации, 4 трудов в конференцию и 3 научных статей, не считая раздачи пинков студентам, дипломнику и некоторым нерадивым начальникам в числе 8 штук.

Так что вы в автора-то помидором кидать обождите :-))

Впрочем, автор все-таки делает полезное дело.
Он старается, да.

Имею интерес относительно Дебиана и у меня возникает вопрос, а не пишет ли автор блога (Михаил) заметки о Дебиане так же как и о LaTeX'e
Я не говорю, что мои заметки идеальны. Они просто есть, и я стараюсь (и надеюсь на вашу помощь) сделать их лучше. Пишу о том, что работает и что делал я собственными руками. Может, изобретая по ходу велосипеды и иногда допуская ошибки.

Но кто же из нас не ошибается?

и не стоит ли вместо этого почитать другую, в частности оригинальную, документацию.
Так её никто и не отменяет, а дополняет. Приятно ведь найти ответ на вопрос в гугле за 1 минуту, а не сидеть час за талмудом документации. Мне, во всяком случае.

2 Анонимный комментирует.
Кстати, книга Котельникова и Чеботаева, по-моему, вполне повернута к читателю лицом.
Это да, очень достойная книжка, только в сети её найти не просто.

Выражаю благодарность комментаторам за большое количество помидоров, брошенных в сторону автора :-) Ошибки поправил, комментарии постарался учесть. Планирую через некоторое время заменить таблицы на рисунки.

Как мне установить в документе LaTex отступы на странице.
Слева 2cm, справа 1 cm, сверху 2cm, снизу 2 cm, так чтобы именно
на таких расстояниях от краев страницы располагался текст?
У меня почемут-то сверху отступ больше и вообще как-то странно
все получается.
Пробовал два варианта:

\usepackage[a4paper, left=20mm, right=10mm, top=20mm, bottom=20mm]

\oddsidemargin=-5,4mm%слева для нечетных -25,4 + 20 = - 5,4 (20mm)
\evensidemargin=-15,4mm%слева для четных -25,4 + 10 = - 15,4 (10mm)
\textwidth=180mm%ширина текста 210-20-10=180mm
\marginparsep=0mm
\marginparwidth=0mm
\topmargin=-5,4mm%сверху -25,4 + 20 = - 5,4 (20mm)
\headheight=0mm%размер верхнего колонтитула
\headsep=0mm%отступ до верхнего колонтитула
\textheight=257mm%высота текста 297-20-20=257mm

Помогите. Заранее балгодарен.


Попробуй поставить ненулевые \headheight и \headsep, скомпенсировав их в \topmargin.
И да, не мучай \marginparsep и \marginparwidth, они не виноваты.

Фигня какая-то. Отступ стоит 1 см, а при печати 1.5 см!
Причем с разных сторон поразному добавляет. Может есть пример?


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

LaTeX для новичков. Часть 3:Базовая разметка Латех, Совет, Длиннопост, LaTeX ПО

Ви таки думали что автор сдался и больше не будет писать? Автор таки не сдался, а взял небольшой перерыв на маленькую войну с MS Word под названием "ОГРАНИЧЕНИЕ ТОКА СТАТОРА В ЧАСТОТНО-РЕГУЛИРУЕМОМ АСИНХРОННОМ ЭЛЕКТРОПРИВОДЕ ПРИ СКАЛЯРНОМ УПРАВЛЕНИИ".

Поскольку все документы LaTeX являются чистым текстом, оформление в них описывается командами разметки, которые при сборки разворачиваются в примитивы TeX (те самые размеры шрифтов, начертание и т.д. которые зачастую выставляются в Word вручную). Для написания работ в готовом шаблоне требует знания лишь базовых, очень простых команд разметки. Во многих редакторах они вынесены прямо на панели или в меню, поэтому запутаться в них достаточно сложно.

1) Команды структуры:

Команды структуры описывают иерархическую структуру документа и формируют содержание.

\part => \chapter => \section => \subsection => \subsubsection => \paragraph => \subparagraph

Все данные команды имеют возможность указания короткого варианта названия для содержания в квадратных скобках.

Также, если к этим командам дописать звёздочку, то раздел не будет пронумерован и отображён в содержании.

Нужно добавить приложения с другой нумерацией? Используйте команду \appendix и все разделы после неё сменят нумерацию (по умолчанию с цифр на буквы). Многие редакторы умеют отслеживать структуру документа по этим командам, например на картинке ниже на левой показана структура документа, а по центру список для быстрой вставки.

\chapter[Боль и отчаяние]

Внимание (!) НЕ все перечисленные команды доступны во всех классах, например в article и его производных есть только section и ниже. Также, настоятельно рекомендуется использовать эти команды последовательно (выделять отдельный параграф в целой главе --- не самая хорошая идея).

LaTeX для новичков. Часть 3:Базовая разметка Латех, Совет, Длиннопост, LaTeX ПО

2) Текстовые команды:

Команды указывающие на размер и начертание текста. Присутствуют, но напрямую в тексте практически не используются.

а) Команды размера. В LaTeX не используются абсолютные размеры (12pt, 14pt) текста. Вместо них используется базовый размер и относительные от него размеры. Базовый размер является абсолютным и задаётся в самом начале преамбулы документы, в опциях класса например:

Внимание (!) стандартные классы LaTeX не могут использовать размеры больше чем 12pt как базовые. Если вам требуются большие, используйте класс extarticle.

Относительные размеры текста используются в самом документе и имеют следующую конструкцию использования <\Huge Huge>. Образцы размеров приведены на картинке.

LaTeX для новичков. Часть 3:Базовая разметка Латех, Совет, Длиннопост, LaTeX ПО

б) Команды начертания. Внимание (!) для выделения предпочтительно использовать не команды жирного или курсивного текста, а команду \emph<>. Это умная команда, по умолчанию выделяет курсивом. Корректно справляется с выделением внутри выделения. Конструкция использования \emph. Стандартные стили показаны на картинке.

LaTeX для новичков. Часть 3:Базовая разметка Латех, Совет, Длиннопост, LaTeX ПО

3) Команды форматирования

Казалось бы, LaTeX запрещает ручное управление форматированием. Но есть несколько особенностей/команд которые нужно знать для успешного использования.

а) Пробелы кроме первого игнорируются. Отформатировать пробелами и табами ничего не выйдет. Для редких случаев когда нужно быстро подвинуть фрагмент текста (например оформляя фамилии на титульном листе) есть команда \hspace, вместо сантиметров подставляются единицы по вкусу --- mm, cm, pt, in и т.д.. Работает и с отрицательными значениями (сдвиг влево). Использовать рекомендуется разово (!).

б) Переносы строк. Первый воспринимается как пробел, второй как начало нового абзаца, остальные игнорируются. Есть команда переноса строки \\ которая используется для начала нового абзаца и в качестве переноса строки в таблицах, списках и т.д. Для получения расстояния между абзацами больше стандартного, можно использовать конструкцию \\[4cm], или (менее рекомендуемый вариант) \vspace. Работает аналогично \hspace<>, т.е. и с отрицательными значениями

в) Вставка пустых страниц. Разрыв страницы вызывается командой \clearpage. При этом все не размещённые картинки будут вставлены на полученное пустое место (о вставках иллюстраций будет рассказано подробнее в следующих частях). Две страницы с разрывом вставляет команда \cleardoublepage.

г) Работа с относительными размерами страницы. Сколько раз при работе в Word или PowerPoint вы хотели кинуть клавиатуру в стену, потому что они делают всё что угодно, лишь бы не вставить рисунок по ширине страницы с сохранением пропорций. В LaTeX есть радикальное решение проблем с размерами. Это относительные размеры страницы которы можно вставлять прямо в команды. Приведем здесь основные:

1. Ширина текущего блока текста \linewidth

2. Параметры страницы (устанавливаются один раз, автоматически, в преамбуле) \textheight,\textwidth

3. Параметры листа бумаги (физического листа) \paperheight,\paperwidth

Длины очень легки в использовании. Для примера покажем как разделить два абзаца расстоянием строго равным половине высоты страницы \\[0.5\textheight]. Еще раз о длинах будет сказано в разделе про иллюстрации.

В LaTeX есть отлично работающие перечисления. Они представляют собой конструкции вида:

\item [Что описываем] описание

\item[Что еще описываем] описание

Какие бывают списки:

с точками --- itemize

Так же возможны списки внутри списков (как уровни списков в Word). Они ничем не ограничены, просто нужно написать ещё один список внутри списка (не забыв что под-список будет являться элементом над-списка, поэтому ему нужна команда \item).

LaTeX для новичков. Часть 3:Базовая разметка Латех, Совет, Длиннопост, LaTeX ПО

5) Маркеры и ссылки

LaTeX имеет лучшую систему ссылок в индустрии, и не просто лучшую, а ещё и простейшую! Работать с ней исключительно просто:

а) добавляем маркер (на что ссылаться будем) вплотную к нужному объекту --- \label. Это пример общепринятого маркера -- он состоит из указания на какой тип обьекта ссылаемся (eq --- equation, уравнение), разделителя в виде двоеточия и идентификатора объекта (уникального внутри документа). Повторение идентификатора вызывает предупреждения и портит работу счётчика маркеров.

б) ссылаемся на маркер. Автор использует пакет для умных ссылок cleveref, позволяющий надёжно ссылаться на все типы объектов двумя командами \cref и \Cref, где первый вариант для ссылки внутри предложения, а второй в начале предложения. Для ссылки на несколько объектов нужно просто перечислить их или указать диапазон через дефис.

Следующая часть про мат. режим, после него будет подробное описание работы со вставками и иллюстрациями.

Читайте также: