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

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

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

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

Есть одна вещь, которую почему-то не освещают в книжках, и совершенно напрасно. Дело в том, что окружений для таблиц два: \begin{table}... \end{table} и ещё одно \begin{tabular}{|rlc|} ... \end{tabular}.

Так вот, окружение
table, как ни странно, вам таблицу не создаст, и вы будете тщетно биться лбом о стену. Окружение table даёт вам возможность оформить заголовок таблицы с помощью \caption{} и поставить на таблицу ссылку с помощью привычного \label{}.
Кое-кто из комментаторов распалялся по поводу того, что, дескать, ``всё уже давно написано, читайте книжки''. Я ещё раз уточню свою позицию по этому поводу: время тыкания людей в пудовые талмуды и дурно написанные маны прошло. Документация, как и программы, должны быть повёрнуты к пользователю лицом. Специализированные методические пособия типа этого помогут людям начать разбираться с предметом, подталкивая к изучению книг и делая кривую обучения более пологой.

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

Если столбец слишком широкий, можно задать его ширину с помощью выражения p{0.7\linewidth}, которое сделает столбец шириной в 70\% от ширины линии, например так: \begin{tabular}{|p{0.4\linewidth}p{0.4\linewidth}} сделает таблицу с двумя колонками по 40\% от ширины линии и отчеркнёт вертикальными линиями по бокам. Строки отделяются друг от друга при помощи команды \hline а каждая строка таблицы завершается двойным слешем \\ или командой \linebreak. В общем, это всё, что нужно для набора таблиц. Ну и немного удачи, конечно.

Этот материал написал Михаил Конник aka virens и опубликовал на своём блоге Записки дебианщика.


И немного вещей, которые помогут вам в дальнейшем. Набросайте на листке бумаги или графическом редакторе примерную схему таблицы - это всегда проще, а заодно подумать, а нужна ли таблица вообще. Если решили, что она всё-таки нужна, то это торжественное дело нужно скорее всего оформить по центру окружением \begin{center} ... \end{center}.

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


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

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



Набор простой таблицы в LaTeX
Например, нам не требуется ссылка на таблицу или подпись под ней - тогда достаточно только окружения \begin{tabular}... \end{tabular}. Ниже - пример кода простой таблицы в ЛаТеХе.


\begin{center}
\begin{tabular}{ccc}
Расширение краёв: & \textbf{1,0-1,4} & размер ФРТ \\
Аподизация: & \textbf{0,25-0,30}& размер ФРТ \\
Сглаживания краёв: & \textbf{0,25-0,50}& размер ФРТ \\
\end{tabular}
\end{center}



Расширение краёв: 1,0-1,4 размер ФРТ
Аподизация: 0,25-0,30 размер ФРТ
Сглаживания краёв: 0,25-0,50 размер ФРТ


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

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

\begin{table}[H]
\caption{Исправьте это на подпись к таблице}
\label{tabular:timesandtenses}
\begin{center}
\begin{tabular}{ccc}
Расширение краёв: & \textbf{1,0-1,4} & размер ФРТ \\
Аподизация: & \textbf{0,25-0,30}& размер ФРТ \\
Сглаживания краёв: & \textbf{0,25-0,50}& размер ФРТ \\
\end{tabular}
\end{center}
\end{table}



Таблица 1.1:
Исправьте это на подпись к таблице
Расширение краёв:1,0-1,4размер ФРТ
Аподизация:0,25-0,30размер ФРТ
Сглаживания краёв:0,25-0,50размер ФРТ


Вроде как то же самое, только номер теперь стал 1.1. А кроме того, окружение table позволит вам указывать LaTeX, где вы хотите видеть таблицу:

  1. оставить определение места таблицы в тексте на усмотрение ЛаТеХа - \begin{table}[h] "хотелось бы таблицу здесь";
  2. настойчиво просить разместить таблицу после текста \begin{table}[h!] "очень хочу таблицу здесь", или
  3. ударить кулаком по столу - таблицу тут \begin{table}[H]"ХОЧУ таблицу здесь и баста", а с прибавлением буквы p мы заставляем поместить ЛаТеХ таблицу отдельно на страницу так: \begin{table}[pH].

Вставка подписи к таблице \caption{Исправьте это на подпись к таблице} и ссылки на таблицу \label{tabular:timesandtenses} делается так же, как и для рисунков.



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

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

Таблица 2: Измерительные характеристики цифровой камеры Canon EOS 400D.
Параметр Значение
Разрешение 3888х2592
Размер сенсора 22.2х14.8 мм
АЦП 12 bit
Результаты измерений
Темновое смещение (BLO) 256
Максимальный линейный сигнал 3070 DN
Значение насыщения 3470 DN




\begin{table}[H]
\caption{\label{tab:canonsummary}Измерительные характеристики цифровой камеры Canon EOS 400D.}
\begin{center}
\begin{tabular}{|c|c|}
\hline
Параметр & Значение \\
\hline
Разрешение & $3888 \times 2592$ \\
Размер сенсора & $22.2 \times 14.8$ мм \\
АЦП & 12~bit\\
\hline
\multicolumn{2}{|c|}{Результаты измерений} \\
\hline
Темновое смещение (BLO) & 256 \\
Максимальный линейный сигнал & 3070~DN \\
Значение насыщения & 3470~DN \\
\hline
\end{tabular}
\end{center}
\end{table}

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


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

\begin{longtable}[h]{lp{0.7\linewidth}}
$A$ & area of the (geometrical) pixel [m\textsuperscript2] \\
$c$ & Speed of light $\approx 3 \cdot 10^8$ m/s \\
$DYN_{in}$ & Input dynamic range [1] \\
$DYN_{out}$ & Output dynamic range~[1] \\
$E$ & irradiance on the sensor surface~[W/m\textsuperscript2] \\
$F$ & Non-whiteness coefficient \\
$h$ & Planck's constant h $\approx6.63 \cdot 10^{-34} Js$ \\
$K$ & overall system gain~[DN/e-] \\
$k_d$ & Doubling temperature of the dark current~[$^\circ$C] \\
$N_d$ & dark current~[e-/s] \\
$N_{d30}$ & dark current for a housing temperature of $30^\circ C$~[e-/s]\textsuperscript2 \\
$S_g^2$ & variance coefficient of the spatial gain noise~[\%] \\
\end{longtable}

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

Этот материал написал Михаил Конник aka virens и опубликовал на своём блоге Записки дебианщика.


Таблицы с объединением столбцов
Для того, чтобы несколько столбцов объединить в один (особенно в начале таблицы, для заголовков), применяется хитрый приём, сочетающий в себе несколько трюков. Я в начале не зря говорил, что таблицы в ЛаТеХе часто - занятие не для слабонервных :-) И тем не менее, выход есть всегда, вот например:

Таблица: Нестандартные болты для левой резьбы.

Диаметр
Нестандартные болты Норма Разброс
Размеры 10 мм 1 мм


Разбор полётов: для этой таблицы использован трюк с \multicolumn для объединения двух ячеек в одну, \cline{2-3} для прочерчивания горизонтальной линии в таблице от второй колонки до третьей, и \raisebox для вставки надписи Нестандартные болты. А вот и код:

\begin{table}[H]
\caption{\label{tab:bolts} Нестандартные болты для левой резьбы.}
\begin{center}
\begin{tabular}{|c|c|c|}
\hline
& \multicolumn{2}{c|}{Диаметр} \\
\cline{2-3}
\raisebox{1.5ex}[0cm][0cm]{Нестандартные болты}
& Норма & Разброс \\
\hline
Размеры & 10 мм & 1 мм \\
\hline
\end{tabular}
\end{center}
\end{table}

Надеюсь, что с такими таблицами вы будете встречаться так же редко, как и с такими экзотическими болтами.


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

\rotatebox{90}{ %это обеспечивает поворот любого объекта
\begin{minipage}{1.5\linewidth}
\begin{table}[H]
\caption{Сравнение количественных данных по влиянию искажений на результат декодирования}
\begin{center}
\begin{tabular}{|p{5cm}c|c|}
\hline
\multicolumn{3}{|c|}{\textbf{Графические изображения}}\\
\hline
\textbf{Характеристика} & \textbf{8-битные} & \textbf{16-битные}\\
\hline
\multicolumn{3}{|c|}{Влияние шумов квантования}\\
\hline
Шумы квантования
& $6.3 \div 22.6\%$
& $0.2 \div 0.5\%$ \\
\hline
\multicolumn{3}{|c|}{Влияние шумов фотоприёмника}\\
\hline
Шумы фотоприёмника
& $8.8 \div 87.5\%$
& $7.1 \div 87.6\%$ \\
\hline
\multicolumn{3}{|c|}{Влияние особенностей ФРТ}\\
\hline
декодирование ФРТ той же реализацией шума
& $6 \div 13\%$
& $0.5 \div 15\%$ \\
\hline
декодирование ФРТ с другой реализацией шума
& $6 \div 14\%$
& $0.3 \div 12\%$ \\
\hline
декодирование идеальным ФРТ
& $6 \div 6.5\%$
& $0.2 \div 6.4\%$ \\
\hline
\end{tabular}
\end{center}
\end{table}
\end{minipage}}


Заключение
В этом разделе я собрал все примеры таблиц, которые использовал в реальных документах. Этого должно хватить для того, чтобы оформить практически любую таблицу, которую нужно вставить в ЛаТеХовский документ. Главное - структурирование кода таблицы и не лениться в этом деле, иначе таблицы в ЛаТеХе могут превратиться для вас в камеру пыток.

43 комментариев: |высказаться!| RSS-лента дискуссии.|
uleysky комментирует...

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

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

yuriy.petrovskiy комментирует...

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

Анонимный комментирует...

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

Hina-Ichigo комментирует...

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

Хотя да… Ширина в 70 % строки — это серьёзно.

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

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

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

В таблице из раздела «Набор простой таблицы в LaTeX» там не весь второй столбец полужирным шрифтом набран, хотя в исходнике — именно так.

В таблице из раздела «Таблицы с объединением столбцов» не совсем тот результат, что должен давать приведённый исходник. Ячейка «Нестандартные болты» не растянута на две строки.

kean комментирует...

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

Анонимный комментирует...

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

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

Анонимный комментирует...

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

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

Анонимный комментирует...

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

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

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

Анонимный комментирует...

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

Может быть в html-коде надо что-то подправить? ТщательнЕе надо.

Анонимный комментирует...

К вопросу о том, чем должна быть повернута к пользователю документация. Я неплохо разбираюсь в LaTeX'e, но не сразу (каюсь) понял что это за окружения такие \textbf{tabular} и \textbf{table}. Впрочем, может быть новички сразу поймут что это такое.

ТщательнЕе надо.

Hina-Ichigo комментирует...

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

По крайней мере, ясно, почему в «Нестандартных болтах» не та таблица: конвертер не воспринял тот хак с растянутым столбом. Так как эту штуку будет довольно трудно сделать, то лучше залезть и руками поправить (colspan = 2 или что-то в этом роде).

Анонимный комментирует...

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

>По крайней мере, ясно, почему в «Нестандартных болтах» не та таблица: конвертер не воспринял тот хак с растянутым столбом. Так как эту штуку будет довольно трудно сделать, то лучше залезть и руками поправить (colspan = 2 или что-то в этом роде).

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

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

Анонимный комментирует...

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

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

virens комментирует...

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

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

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

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

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

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

В таблице из раздела «Набор простой таблицы в LaTeX» там не весь второй столбец полужирным шрифтом набран, хотя в исходнике — именно так.
Согласен. Ближе к концу месяца выкрою полчаса и сделаю таблицы картинками.

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

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

Хм... (и ниже). Упрёк принят. Экспрессию убрал :-)))


2 Анонимный комментирует...
Может быть в html-коде надо что-то подправить? ТщательнЕе надо.
Я часть текста ради подсветки сохранял как HTML из Kile, вот и результат. Про тщательнее совершенно справедливо. :-)

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


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

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

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

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

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

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

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

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

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


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

Анонимный комментирует...

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

Эту фразу, так же как и про отсутствие документации, написал Евгений Балдин в своих статьях двухлетней давности. Документация по disser уже есть.

Version3nix комментирует...

Пока читал сознание перевернулось несколько раз.

>Это да, очень достойная книжка, только в сети её найти не просто.
Заказывал на books(точка)ru

Programmaster комментирует...

Первое, что бросилось в глаза — ты, virens, забыл обрамить основное тело поста в <span class="fullpost"></span> — и поэтому на главной показан пост полностью, что, естественно, не есть хорошо.
Остальное не вычитывал.

Анонимный комментирует...

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

Вооот! Приятно иметь дело с адекватным человеком! Будем читать про Дебиан и дальше.

В благодарность предлагаю Вам Михаил полезные на мой взгляд ссылки (их у меня очень много):
http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html
http://www.ctan.org/tex-archive/help/Catalogue/alpha.html
http://www.ctan.org/tex-archive/help/Catalogue/bytopic.html
Знаю Ваше отношение к CTAN (но там ведь такие же люди как и Вы, делают работу наверное бесплатно). Я этими страницами активно пользуюсь для поиска информации и документации. Кстати, про документацию к пакету "disser". Каждый желающий может посмотреть на "документацию" к этому пакету и составить свое мнение по этому поводу:
http://www.ctan.org/tex-archive/help/Catalogue/entries/disser.html

http://www.ctan.org/tex-archive/info/
Здесь, правда, надо примерно знать что и где искать. Но тут этого очень много. Например:

Все возможные (и невозможные) символы:
http://www.ctan.org/get/info/symbols/comprehensive/symbols-a4.pdf

Очень хорошее руководство про то, как набирать математику:
http://www.ctan.org/get/info/math/voss/mathmode/Mathmode.pdf

Как вставлять графику:
http://www.ctan.org/get/info/epslatex/english/epslatex.pdf

И еще очень много чего:
http://www.ctan.org/get/info/gentle/gentle.pdf
http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=impatient
http://www.ctan.org/get/info/l2tabu/english/l2tabuen.pdf

Я, кстати, уже перешел на KOMA-Script:
http://www.ctan.org/tex-archive/help/Catalogue/entries/koma-script.html
Это замена стандартным классам article, report, book (развитие которых заморожено). KOMA-Script активно развивается.

Пользуюсь разработками Александра Роженко:
http://www.ctan.org/tex-archive/help/Catalogue/entries/ncctools.html
http://www.ctan.org/tex-archive/help/Catalogue/entries/ncclatex.html
(правда классом ncclatex не пользуюсь, пользуюсь KOMA-Script)

Ну и разумеется для презентаций пользуюсь классом beamer (весьма достойная вещь):
http://www.ctan.org/tex-archive/help/Catalogue/entries/beamer.html

Анонимный комментирует...

Начало стандартной преамбулы (у меня, для статьи на русском, хотя в основном пишу на английском):

\documentclass[a4paper,11pt]{scrartcl} % Это класс "статья" от KOMA-Script

\usepackage{fixltx2e}
\usepackage{ifpdf}

\usepackage[cp1251]{inputenc} % Instead of "cp1251" may be "koi8r" etc
\ifpdf\usepackage{cmap} % Makes PDF files, generated by pdflatex "searchable and copyable" in Adobe Reader and other compliant PDF viewers (MUST be loaded before "fontenc" package!!!)
\fi
\usepackage[T2A]{fontenc}
\usepackage[english,russian]{babel}

\usepackage[margin=2.5cm]{geometry}
\usepackage{amssymb,amsmath}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{fancyhdr}
\usepackage{indentfirst}
\usepackage{cite}

Использую и другие пакеты. Здесь отсутствует пакет "caption". Он не нужен, т. к. используется класс от KOMA-Script. Там команда \caption определяется отдельно и так же как и в пакете "caption" допускает самые разнообразные настройки.

virens комментирует...

2 Анонимный комментирует...
Эту фразу, так же как и про отсутствие документации, написал Евгений Балдин в своих статьях двухлетней давности. Документация по disser уже есть.
Учту и посмотрю. Пакет-то хороший, я сейчас в нём свой диссер оформляю.

2 Version3nix комментирует...
Пока читал сознание перевернулось несколько раз.
Эвон как. Отчего ж? :-)

2 Programmaster комментирует...
Первое, что бросилось в глаза — ты, virens, забыл обрамить основное тело поста в span class="fullpost"
Нет, не забыл. Просто там столько всяких span-ов понакручено, что где-то fullpost-овский закрывающий span теряется. Сегодня только благодаря шаманским пляскам вроде всё закрыл. Редактировать теперь страшно :-)))

на главной показан пост полностью, что, естественно, не есть хорошо.
Ага, грузится долго, это я согласен.

P.S. Твои правки вношу в статьи. Пока остановился на "Эмуляторы для Linux: быстрый обзор".


2 Анонимный комментирует...
Вооот! Приятно иметь дело с адекватным человеком!
А я разве прыгал по сцене с криком "Дывелоперс, дывелоперс"? :-))

В благодарность предлагаю Вам Михаил полезные на мой взгляд ссылки (их у меня очень много)
Отлично! Большущее спасибо, я такие ссылки очень люблю!

Внести обещаю не сразу (до конца января у нас аврал), но обязательно внесу чуток позднее. Отгрузка ссылок в комментарии очень приветствуется!

Кстати, про документацию к пакету "disser".
Чувствую, что придётся писать её мне. :-)

Ну и разумеется для презентаций пользуюсь классом beamer (весьма достойная вещь):
Я про неё писал и сам пользуюсь. Но мне в лаборатории сказали так: Миша, на конференции МИФИ твои презентации будут в PowerPoint. Без базару :-)

2 Анонимный комментирует...
\documentclass[a4paper,11pt]{scrartcl} % Это класс "статья" от KOMA-Script
Я хотел бы использовать минимум сторонних классов.

\ifpdf\usepackage{cmap} % Makes PDF files, generated by pdflatex "searchable and copyable"
Занятно. Я использую dvipdfmx для конвертирования в PDF и всё работает. На русском ещё использую usefont.


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

Анонимный комментирует...

Еще полезные ссылки на CTAN:

VisualFAQ:
http://www.ctan.org/tex-archive/info/visualFAQ/

Short Course by George Gratzer:
http://www.ctan.org/tex-archive/info/Math_into_LaTeX-4/

Анонимный комментирует...

За longtable спасибо, приходильсь мучаться.

Анонимный комментирует...

linewidth это ширина строки, никак не линии.
и никак не дядя Кнут, а профессор Кнут.

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

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

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

\begin{table}[H] будет работать, как написано (сделает "неплавающий" объект, здесь - таблицу) только если подключен пакет float.

Миша.

Анонимный комментирует...

Имхо стоит написать о ltxtable - это longtable и tabularx.

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

Вообще сильно помогает emacs + table.el

Анонимный комментирует...

Подскажите, пожалуйста, как сделать таблицу с заголовком, но без номера. Мне нужно, чтобы она вообще не участвовала в нумерации.
Суть проблемы в том, что таблица, которую мне нужно вставить слишком широкая. она не помещается на страницу. Я решила разбить ее на две части: одна из них Таблица с номером и названием, вторая соответственно Продолжение без номера.
Может есть какой то другой способ? Подскажите, пожалуйста, буду очень благодарна :)

Анонимный комментирует...

чтобы окружение minipage стало доступным, следует подключить пакет footnpag

Миша.

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

Анонимный комментирует...

Тоже намучался с таблицами (еще предстоит - диплом на носу, но никаких wysiwyg), но нет единых рекомендаций по оформлению текста в ячейках. Например то же выравнивание в столбцах задаваемое в преамбуле окружения table {ccc}, даст выравнивание в столбцах по центру, а если я указываю ограниченную ширину столбца p{100px}, то выравнивание уже будет по левому краю. Как это изменить (поборол тем что в каждой ячейке задавал окружение center, но это не есть правильно, так думаю). Еще как изменять шрифт на всю таблицу, строки, столбцы, оформление заголовков (выравнивание, подпись), перенос заголовков на несколько страниц

саша комментирует...

Привет!Спасибо. А как подсчитать общее число рисунков и таблиц в диссере?

Elnara комментирует...

Почему у меня не отображается номер таблицы? задаю \label в окружении \begin{table} \end{table}

\caption отражается, а номер таблицы \label ну никак не хочет!

в чем дело может быть, подскажите?!

Анонимный комментирует...

Как увеличить размер шрифта в латехе?

Анонимный комментирует...

для поворота часто удобно юзать окружение landscape

\usepackage{lscape}
...
\begin{landscape}
...
\end{landscape}

Анонимный комментирует...

Уважаемый автор, пожалуйста добавить в свою статью следующее:

Путем экспериментов со связкой MikTex 2.8 + WinEdt я выяснил, что если поставить \label{tab:some_table} до \caption{...}, то даже при использовании окружения table в ссылке будет выдаваться не номер таблицы, а номер раздела.

Анонимный комментирует...

«если поставить \label{tab:some_table} до \caption{...}»

У меня (texlive, debian lenny / ubuntu hardy heron) в таком случае номер в ссылке вообще отсутствует,
причём не только для окружения table, но и для figure.

Анонимный комментирует...

А как сделать, чтобы 4 системы уравнений были в два столбика написаны?:(( помогите:)

Анонимный комментирует...

Можно, например, в виде четырёх блоков в таблице (тогда, в принципе, можно пронумеровать каждую систему отдельно):
\begin{table}
\begin{tabular}{cc}
\parbox{0.45\linewidth}{$$
\left\{
\begin{array}{rcrll}
A [x] &+& B [y] &=& C \\
D [x] &-& F [y] &=& E \\
\end{array}
\right.
$$}
&
\parbox{0.45\linewidth}{$$
\left\{
\begin{array}{rcrll}
A [x] &+& B [y] &=& C \\
D [x] &-& F [y] &=& E \\
\end{array}
\right.
$$}
\\
\parbox{0.45\linewidth}{$$
\left\{
\begin{array}{rcrll}
A [x] &+& B [y] &=& C \\
D [x] &-& F [y] &=& E \\
\end{array}
\right.
$$ }
&
\parbox{0.45\linewidth}{$$
\left\{
\begin{array}{rcrll}
A [x] &+& B [y] &=& C \\
D [x] &-& F [y] &=& E \\
\end{array}
\right.
$$ }
\\
\end{tabular}
\end{table}

или в виде одной большой матрицы:
$$
\begin{array}{cc}
\left\{
\begin{array}{rcrll}
A [x] &+& B [y] &=& C \\
D [x] &-& F [y] &=& E \\
\end{array}
\right.
&
\left\{
\begin{array}{rcrll}
A [x] &+& B [y] &=& C \\
D [x] &-& F [y] &=& E \\
\end{array}
\right.
\\ \\
\left\{
\begin{array}{rcrll}
A [x] &+& B [y] &=& C \\
D [x] &-& F [y] &=& E \\
\end{array}
\right.
&
\left\{
\begin{array}{rcrll}
A [x] &+& B [y] &=& C \\
D [x] &-& F [y] &=& E \\
\end{array}
\right.
\\
\end{array}
$$

Анонимный комментирует...

Присоединяюсь к предложению от 13.08.2010 15:34:00, сама ломала голову в течение получаса над тем, что же я делаю не так :(

virens комментирует...

@Анонимный комментирует...
Присоединяюсь к предложению от 13.08.2010 15:34:00, сама ломала голову в течение получаса над тем, что же я делаю не так
Добавлено! Спасибо за ценный комментарий и пинок автору :-) Он это ценит!

Анонимный комментирует...

Подскажите, пожалуйста, как выровнять название таблицы (тот который в \caption{название таблицы}) по левому краю - так, как это необходимо согласно ДСТУ(т.е. у нас в Украине).

Часа 2 ухлопал - а результата нет(не рабоют их варианты и все: пробывал \captionoptions и еще пару библиотечек левых) - может потому, что использую G7-32 - не знаю...

Заранее спасибо.

саша комментирует...

по таблице - посмотри как это сделано в классе vakthesis и загляни на linux.org.ua

RadishFM комментирует...

Весьма неплохо, еще бы показали, что-нить из красивого оформления таблицы.Границы двойными линиями, выделение цветом и т.д.

Анонимный комментирует...

Подскажите пожалуйста, как сделать таблицу шириной во всю страницу, если текс сделан в 2 столбца?! Заранее спасибо.

Анонимный комментирует...

Подскажите, пожалуйста, как сделать несколько таблиц в ряд! Пыталась воспользоваться окружением minipage:
\begin{minipage}{0.45\linewidth}
\begin{table}[h]
\begin{tabular}{c|c}
....
\end{tabular}
\end{table}
\end{minipage}
Но компилятор выдает ошибку: Not in outer par mode.
Если убрать оттуда окружение table, то все работает, но команда \caption тогда подписывает таблицу как "рис."
Как быть?

Анонимный комментирует...

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

Отправить комментарий

Подписаться на RSS-ленту комментариев к этому посту.