2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Создание таблиц. Не хватает возможностей? {longtable}
Сообщение18.03.2015, 11:59 


25/02/15
38
Здравствуйте! Может я не полностью разобрался в настройках этого пакета, или мне нужно использовать другой пакет? Нормоконтроль требует некоторых извращений в плане шапок таблиц при их переносе.

Как выглядит таблица, если она влезла на страницу и ее на надо разрывать на две части:
http://puu.sh/gFaYm/fddfeb4a14.png

Как выглядит она же, если ее надо разрывать:
http://puu.sh/gFb0y/54b3ba08cc.png
не использую тег img - больно много места занимают изображения.

То есть при разрыве таблицы у нее в шапке появляется строка с номерами столбцов. Очевидно, что на новых страницах это сделать легко:
Код:
\multicolumn{4}{l}{Продолжение таблицы 1}\\
\hline
1 & 2 & 3 & 4\\
\hline \endhead

Однако, если задать то же самое через \endfirsthead, то строка с номерами столбцов будет присутствовать в шапке даже если таблица влезла на страницу и не переносится.
Да, можно после сборки посмотреть, разрывается таблица или нет и добавить/убрать в шапке эту строку, но все учебники по LaTeX твердят нам "Не надо делать руками то, что может сделать за на ЛаТеХ". Как, на ваш взгляд, можно решить данную проблему?

 Профиль  
                  
 
 Re: Создание таблиц. Не хватает возможностей? {longtable}
Сообщение18.03.2015, 15:48 
Заслуженный участник


16/02/13
4214
Владивосток
Хм. Боюсь, никак. Ну, то бишь, проверить, сколько осталось до конца страницы и подставить один из двух вариантов $\TeX$ умеет, но муторно это. Ручная доводка документу всё равно потребуется, при всём своём уме $\TeX$-таки всёж программа.

 Профиль  
                  
 
 Re: Создание таблиц. Не хватает возможностей? {longtable}
Сообщение18.03.2015, 20:25 


16/08/13
18

(Оффтоп)

Графу "п/п" исключить, нумерацию перенести в "Наименование", названия граф отцентрировать по вертикали и горизонтали и определиться с разделителем целой и дробной части.

 Профиль  
                  
 
 Re: Создание таблиц. Не хватает возможностей? {longtable}
Сообщение19.03.2015, 19:38 


25/02/15
38
Scripach в сообщении #992175 писал(а):

(Оффтоп)

Графу "п/п" исключить, нумерацию перенести в "Наименование", названия граф отцентрировать по вертикали и горизонтали и определиться с разделителем целой и дробной части.
Это какая-то мусорная таблица для примера, но спасибо за подсказку.
iifat в сообщении #992029 писал(а):
Хм. Боюсь, никак. Ну, то бишь, проверить, сколько осталось до конца страницы и подставить один из двух вариантов $\TeX$ умеет, но муторно это. Ручная доводка документу всё равно потребуется, при всём своём уме $\TeX$-таки всёж программа.

Тогда может подскажете, как решить следующую проблему?
Заголовки таблиц должны быть прижаты к краю страницы:
http://puu.sh/gGR2q/2f0413e688.png

Организованы подписи и шапки таблиц следующим образом:
Используется синтаксис LaTeX
\multicolumn{4}{l}{\small Таблица \label{tab:izi} \ref{tab:izi} - название таблицы}\\ % подпись таблицы
\hline
Числа & Цифры & Буквы & Штото\\ % шапка
\hline 1 & 2 & 3 & 4\\ % шапка
\hline \endfirsthead
\multicolumn{4}{l}{\small Продолжение таблицы \ref{tab:izi} }\\ % подпись на след. страницах
\hline
1 & 2 & 3 & 4\\ % шапка на след. страницах
\hline \endhead
 

Понятно, что в начале таблицы легко это сделать - просто подписывать таблицу вне окружения {longtable} и выравнивать по левому краю. Подписи на след страницах не получается так - они находятся в \multicolumn и могут прижаться только к краю ячейки. Так же там нельзя использовать \hspace чтоб отодвинуть надпись влево.

 Профиль  
                  
 
 Re: Создание таблиц. Не хватает возможностей? {longtable}
Сообщение20.03.2015, 03:26 
Заслуженный участник


16/02/13
4214
Владивосток
В $\LaTeX$ я не очень. Если можете кинуть полный файл, попробую покрутить. В $\TeX$, в принципе, это делается гориизонтальным материалом — вот как у вас \hline. Начать стоит, возможно, с замены \multicoumn на \hbox, уж не знаю, прокатит ли.

 Профиль  
                  
 
 Re: Создание таблиц. Не хватает возможностей? {longtable}
Сообщение20.03.2015, 05:11 
Заслуженный участник


16/02/13
4214
Владивосток
Хм. Или \vbox? Дома посмотрю.

 Профиль  
                  
 
 Re: Создание таблиц. Не хватает возможностей? {longtable}
Сообщение20.03.2015, 10:40 


25/02/15
38
iifat в сообщении #992865 писал(а):
Если можете кинуть полный файл, попробую покрутить.

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

Документ с таблицей, чтоб "покрутить":
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[14pt,a4paper]{extreport}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage[left=3cm, right=1cm, top=2cm, bottom=2cm]{geometry}
\usepackage{longtable} %долготаблицы

\begin{document}
\begin{longtable}{|*{4}{p{0.18\textwidth}|}}
\multicolumn{4}{l}{\small Таблица \label{tab:izi} \ref{tab:izi} - какая то ерунда}\\
\hline
Числа & Цифры & Буквы & Штото\\
\hline 1 & 2 & 3 & 4\\
\hline \endfirsthead
\multicolumn{4}{l}{\small Продолжение таблицы \ref{tab:izi} }\\
\hline
1 & 2 & 3 & 4\\
\hline \endhead
Текст & 1234 & f(x) & 3.1415\\ \hline
Текст & 1234 & f(x) & 3.1415\\ \hline
%Навставлять строки таблицы
Текст & 1234 & f(x) & 3.1415\\ \hline
\end{longtable}
\end{document}
 


А вообще, если вдруг понадобится узнать, какие пакеты подключены и что вообще творится в преамбуле, на всякий случай скину и весь документ. Все равно там текста нет, все разделы подключаются через \input{}.

Оригинал моего документа:
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[14pt,a4paper]{extreport}
\usepackage[utf8]{inputenc} %кодировка документа
\usepackage{pscyr} %пакет нормальных шрифтов
\usepackage[russian]{babel} %поддержка русского языка
\parindent=1.25cm %Величина абзацного отступа
\usepackage[left=3cm, right=1cm, top=2cm, bottom=2cm]{geometry} %настройка полей

\usepackage[miktex]{gnuplottex} %графики gnuplot внутри документа

\usepackage{caption} %подписи к таблицам и рисункам
\captionsetup{margin=10pt,font=small,labelfont=md, labelsep=endash,figurename=Рисунок} %их настройка

\usepackage{titlesec}%работа с заголовками
\titleformat{\chapter}{\normalfont\normalsize\mdseries\center}{\thechapter}{1em}{} %оформление заголовков (в качестве разделов используется верхний уровень рубрикации "Глава")
\titlespacing*{\chapter}{0pt}{-30pt}{14pt} %настройка отступов до и после заголовков
\titleformat{\section}{\normalfont\normalsize\mdseries}{\thesection}{1em}{} %оформление подзаголовков
\titlespacing*{\section}{\parindent}{10pt}{14pt}  %настройка отступов до и после подзаголовков (отступ ДО опирается на обзацный отступ)

\usepackage{tocloft}%работа с содержанием
\renewcommand{\cfttoctitlefont}{\hspace{0.38\textwidth}\mdseries \vspace{0pt}} %слово 'содержание', его положение и отступ после него
\renewcommand{\cftaftertoctitle}{\mbox{}\hfill \\ \mbox{}\hfill{\normalsize Стр.}\vspace{-40pt}} %добавление "Стр"
\renewcommand{\cftbeforetoctitleskip}{-30pt} %отступ "содержания" от верхнего края страницы

%Эти настройки должны быть связаны с абзацным отступом, но связь не задана.
\renewcommand{\cftchapfont}{\hspace{1.95cm} \mdseries } %красная строка для раздела
\renewcommand{\cftchapleader}{\mdseries\cftdotfill{\cftdotsep}} %точки до страниц у разделов
\renewcommand{\cftchappagefont}{\mdseries} %оформление номеров страниц разделов
\renewcommand{\cftchapindent}{-0.75cm} %сдвиг разделов
\renewcommand{\cftchapnumwidth}{0.75cm} %отступ от номера раздела до названия
\renewcommand{\cftsecfont}{\hspace{2.5cm}} %Красная строка подраздела
\renewcommand{\cftsecindent}{-1.15cm} %сдвиг подразделов
\renewcommand{\cftparskip}{0pt} %итрервалы в оглавлении
\renewcommand{\cftdotsep}{1} %интервал между точками в содержании
\renewcommand{\cftbeforechapskip}{0cm} %интервалы до разделов
\cftsetpnumwidth{0.5cm} %расстояние от последней точки но номера страницы

\usepackage{indentfirst} %абзацный отступ и перед первый предложением тоже

\renewcommand{\baselinestretch}{1.35} %полуторный интервал
\renewcommand{\rmdefault}{ftm} %Times New Roman}
\usepackage{amsmath} % Без него не работают русские буквы в формулах

\sloppy %автовыравнивание по ширине

%определение шрифтов
\renewcommand{\tiny}{\fontsize{7}{8.4pt}\selectfont}
\renewcommand{\scriptsize}{\fontsize{9}{11pt}\selectfont}
\renewcommand{\footnotesize}{\fontsize{11}{13.6pt}\selectfont}
\renewcommand{\small}{\fontsize{12}{14.5pt}\selectfont}
\renewcommand{\normalsize}{\fontsize{14}{18pt}\selectfont}
\renewcommand{\large}{\fontsize{16}{20pt}\selectfont}
\renewcommand{\Large}{\fontsize{18}{23pt}\selectfont}
\renewcommand{\LARGE}{\fontsize{25}{30pt}\selectfont}

\usepackage{longtable} %долготаблицы

%%%%%%%%%%%%%%%%% Отступы до и после изображений, таблиц и формул
\newlength{\EqVspaceTop}
\newlength{\EqVspaceBot}
\newlength{\ImgVspaceTop}
\newlength{\ImgVspaceBot}
\newlength{\ImgVspaceCap}
\newlength{\TabVspaceTop}
\newlength{\TabVspaceBot}
%%%%%
\EqVspaceTop=10pt
\EqVspaceBot=20pt
\ImgVspaceTop=10pt
\ImgVspaceBot=10pt
\ImgVspaceCap=-25pt %команда caption под рисунками создает отступ, тут его компенсируем
\TabVspaceTop=0pt
\TabVspaceBot=0pt
%%%%%%%%%%%%%%%%%

\usepackage{graphicx} %поддержка работы с изображениями
\graphicspath{{Images/}} %каталог с изображениями
\DeclareGraphicsExtensions{.pdf,.png,.jpg} %какие расширения искать?

\begin{document}
\input{Parts/Title}% титульный лист
\renewcommand{\contentsname}{\normalsize СОДЕРЖАНИЕ} %замена надписи "Оглавление" на "СОДЕРЖАНИЕ"
\tableofcontents % оглавление, генерируется автоматически
\input{Parts/Intro}% введение
\input{Parts/ComparativeAnalysis}% Раздел 1
\input{Parts/CompensationMethod}% Раздел 2
\input{Parts/AlgorithmDevelopment}% Раздел 3
\input{Parts/Economic}% Раздел 4
\input{Parts/Safety}% Раздел 5
\input{Parts/Conclusion}% заключение
\end{document}
 

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group