2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Генерирование таблиц
Сообщение04.04.2008, 16:46 
Заслуженный участник
Аватара пользователя


03/03/06
648
Начну новую тему посвященную генерированию таблиц.
Хотел было нарисовать таблицу, но не получилось.
Вопрос в следующем: как отцентрировать информацию в ячейке по высоте. По ширине я знаю, достаточно преамбулы таблицы что-то вроде

\begin{tabular}{..|>{\PBS\centering} p{6cm}|..}

а вот по высоте никак.

 Профиль  
                  
 
 
Сообщение04.04.2008, 23:02 
Заслуженный участник
Аватара пользователя


22/11/06
1096
Одесса, ОНУ ИМЭМ
\vfill ... \vfill, например. А вообще где-то был пакет multirows, если не ошибаюсь.

 Профиль  
                  
 
 
Сообщение07.03.2009, 22:12 


27/07/08
107
Russia
у меня не выходит применить \vfill программа подвисает, а компьютер сильно грузится... тоько в диспетчере, на TeXCenter памяти не увеличивается...

есть еще какие нибудь способы?

 Профиль  
                  
 
 
Сообщение08.03.2009, 14:18 
Заслуженный участник
Аватара пользователя


22/11/06
1096
Одесса, ОНУ ИМЭМ
Давайте ваш документ в исходниках - посмотрим.

 Профиль  
                  
 
 
Сообщение08.03.2009, 22:22 


27/07/08
107
Russia
Код:
\begin{table}[ht]
  \centering
    \begin{tabular}{c|p{10cm}c}

\hline \hline
\vfill $\hat{T}=\tR+\tr$ \vfill &Оператор кинетической энергии частиц молекулы &(\ref{KinMol})  \\ \hline
\vfill $V(\rr)$\vfill  & Потенциальная энергия электростатического взаимодействия &(\ref{ElStPot}) \\ \hline
\vfill $\hat{H}_{es} = \hat{H}_{os} +\hat{H}_{sr}+\hat{H}_{ss}$ \vfill & Энергия взаимодействия спиновых моментов электронов &(\ref{Hos})-(\ref{Hss}) \\ \hline
\vfill $\hat{H}_{os}$\vfill  & Электронное спин-орбитальное взаимодействие &(\ref{Hos}) \\ \hline
\vfill $\hat{H}_{sr}$\vfill  & Взаимодействие электронного спина с ядерным движением &(\ref{Hsr}) \\ \hline
$\hat{H}_{ss}$   & Электронное спин-спиновое взаимодействие &(\ref{Hss}) \\ \hline
$\hat{H}_{hfs}$ &Энергия взаимодействия магнитных и электрических моментов ядер &(\ref{Hhfs}) \\ \hline
$\hat{H}_{ns}$ & Энергия взаимодействия спиновых магнитных моментов ядер \\ \hline
$\hat{H}_{quad}$ & Энергия взаимодействия ядерных электрических квадрупольных моментов с градиентами электрического поля молекулы &(\ref{Hhfs})\\ \hline \hline
    \end{tabular}
  \caption{Операторы точного гамильтониана молекулы~\cite{Banker}}\label{tab:exactly_Hamilton}
\end{table}


Вот, пожалуйста.

 Профиль  
                  
 
 
Сообщение08.03.2009, 22:59 
Заслуженный участник
Аватара пользователя


22/11/06
1096
Одесса, ОНУ ИМЭМ
Я имел в виду весь документ. По крайней мере с преамбулой - без нее не удастся адекватно повторить ваш опыт. Впрочем у меня в стандартной преамбуле тоже не компилируется - возможно, лобовой \hfill не работает внутри таблиц?

Добавлено спустя 9 минут 34 секунды:

Вот как я центрировал по высоте при помощи пакета multirows:
Код:
\documentclass[a4paper,12pt]{article}
\usepackage[cp1251]{inputenc}       
\usepackage[T2A]{fontenc}           
\usepackage[english,russian]{babel}
\usepackage{multirow}

\begin{document}

\begin{table}[h]\hfil
\begin{tabular}{|p{97pt}|p{55pt}|p{105pt}|p{164.5pt}|}
\hline
Собирательство
&   грибы, орехи, ягоды    
&   чипы разбрасываются по полигону    
&   Для команд не подходит использование только этого ресурса. Нужна
дополнительная еда.
\\\hline
Земледелие
&   пшеница, рожь, овес
&    поле
&    \multirow{3}{175.5pt}[-2.5em]{Могут питаться как команды,
так и одиночные персонажи. }
\\\cline{1-3}
Животноводство    
&   мясо
&    пастбище
&    
\\\cline{1-3}
Охота
&   мясо
&    мастерские персонажи для охоты, неразумные звери
&    
\\\hline
Самогоноварение, виноделие    
&   cамогон, вино, мед, пиво    
&   аппарат, механизм, бочка для брожения    
& Эта продукция приравнивается не к питанию, а скорее к~роскоши.
\\\hline
\end{tabular}
\hfil
\caption{Добывание чипов еды.}
\end{table}

\end{document}

 Профиль  
                  
 
 
Сообщение09.03.2009, 00:37 


27/07/08
107
Russia
подключил multirow, убрал \vfill. все равно, вертикального просвета нет в *.pdf файле.

когда вкл \vfill в код - проблема с подвисанием вернулась.

multirow(s) нужна "S"?? видимо не нужна, потому как есть пакет multirow =) проверил бональным поиском.

Код:
\documentclass{report}
\usepackage{mathtext}          % если нужны русские буквы в формулах
\usepackage{epsfig}            % если нужно работать с рисунками формате PostScript
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}  % если русский текст набран в кодировке Windows-1251
\usepackage[russian]{babel}
\usepackage{braket}
\usepackage{amsmath}
\usepackage{commath}
\usepackage{multirow}

 Профиль  
                  
 
 
Сообщение09.03.2009, 14:25 
Заслуженный участник


18/03/07
1068
Подключение пакета array даёт возможность писать в описаниях столбцов у tabular разные интересные вещи.
Попробуйте что-нибудь что-то вроде этого:

Код:
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{|m{.6in}|c|}
\hline
$\int\limits^{-\infty}_{+\infty}\frac{dx}{1+x^2}$ & $\pi$ \\
\hline
\end{tabular}
\end{document}


Ещё может не устраивать малая (на фоне междустрочного интервала в ячейке) отбивка содержимого ячейки от ограничивающих её горизонтальных линий…

 Профиль  
                  
 
 
Сообщение09.03.2009, 15:59 


27/07/08
107
Russia
Хочется как в Word`e, чтобы центрировалось вырожение и по горизонтале и по вертикале... а у меня прилипает к \hline...

Попробовал параметр \extrarowheight=0.1cm
так он отбивку делает на протяжении всей строки.

Может все дело в том, что я испоьзую формулы, а не слова в ячейке колонки?
У Львовского:
Цитата:
Однако в графах абзац, заданный с
помощью b{...}, выравнивается по своей нижней строке, абзац, задан-
ный с помощью m{...} — по середине своей высоты, а абзац, заданный
с помощью p{...}, всегда выравнивался по своей верхней строке.

Или абзац --- это условное название элемента таблицы?

Попробовал Напечатеть текст:

Код:
\begin{tabular}{|m{6cm}|m{5cm}|}
\hline
\begin{center} Текст Текст Текст Текст Текст \end{center} & Длинный длинный текст Длинный длинный текст Длинный длинный текст Длинный длинный текст Длинный длинный текст Длинный длинный текст   \\
\hline
\end{tabular}



Выясняется, для вертикальной центровки необходимо наличие m{...} в преамбуле окружения tabular для каждого столбца...

Спасибо за помощь!

 Профиль  
                  
 
 
Сообщение13.03.2009, 15:38 


13/03/09
3
У меня похожая проблема (м.б. та же самая?):

вставил в ячейку таблицы, в окружении \tabular формулу, а она растянулась по всей высоте и не удается сделать отступы по вертикали между \hline и формулой. При изменении extrarowheight строки растягиваются по высоте, формула растягивается вместе со строкой. По высказанным здесь советам найти решение не удалось, похоже дело не в центровке.... Есть какие-нибудь идеи, в чем проблема? Кстати, это нормально, что в ячейку такой таблицы нельзя "положить" выключную формулу?

Код:
\documentclass[a4paper,12pt]{report}

\usepackage{mathtext}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{amsmath, amssymb, amsfonts, amsthm, array}

\begin{document}

%\setlength{\extrarowheight}{1.5cm}
\begin{center}
\begin{tabular}{|l||m{5cm}|c|}
\hline
Параметр & Сторона А & Сторона Б \\
\hline
Количество групп & 2 & 2 \\
\hline
Вектор численностей групп &
$\vec\alpha=\begin{bmatrix}200\\150\end{bmatrix}$  & $\vec\beta=\begin{bmatrix}100\\250\end{bmatrix}$ \\
\hline
Матрица эффективностей &
$A=\begin{pmatrix}
3.2 & 5.2 \\
8 & 4 
\end{pmatrix}\cdot 10^{-4}$
&$B=\begin{pmatrix}
8.8 & 4 \\
4.4 & 0.12 
\end{pmatrix}\cdot 10^{-4}$\\
\hline
Вектор стоимостей, ден. ед. &
$\vec\alpha=\begin{bmatrix}10\\5\end{bmatrix}$ & $\vec\beta=\begin{bmatrix}20\\10\end{bmatrix}$\\
\hline
\end{tabular}
\end{center}


\end{document}



Использую дистрибутив MikTeX 2.6, обрабатываю c помощью pdflatex

 Профиль  
                  
 
 
Сообщение13.03.2009, 19:59 


27/07/08
107
Russia
У меня MikTeX2.7 и TeXnicCenter

proffa

Ваша проблема отступов решаема. Достаточно обмануть компилятор окружением equation*, он осуществляет отбивку по вертикали как для выключенной формулы (вместо $$ ). Это личное наблюдение.


Код:
\documentclass[a4paper,12pt]{report}

\usepackage{mathtext}
\usepackage[T2A]{fontenc}
%    \usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{amsmath, amssymb, amsfonts, amsthm, array}

\begin{document}

%\setlength{\extrarowheight}{1.5cm}
\begin{center}
\begin{tabular}{|l||m{5cm}|c|}
\hline
Параметр & Сторона А & Сторона Б \\
\hline
Количество групп & 2 & 2 \\
\hline
Вектор численностей групп &
\begin{equation*}   \vec\alpha=\begin{bmatrix}200\\150\end{bmatrix}   \end{equation*}   &   \begin{equation*}   \vec\beta=\begin{bmatrix}100\\250\end{bmatrix}   \end{equation*} \\
\hline
Матрица эффективностей &
$A=\begin{pmatrix}
3.2 & 5.2 \\
8 & 4 
\end{pmatrix}\cdot 10^{-4}$
&$B=\begin{pmatrix}
8.8 & 4 \\
4.4 & 0.12 
\end{pmatrix}\cdot 10^{-4}$\\
\hline
Вектор стоимостей, ден. ед. &
$\vec\alpha=\begin{bmatrix}10\\5\end{bmatrix}$ & $\vec\beta=\begin{bmatrix}20\\10\end{bmatrix}$\\
\hline
\end{tabular}
\end{center}


\end{document}

 Профиль  
                  
 
 
Сообщение13.03.2009, 20:08 
Заслуженный участник


11/05/08
32166
Что касается собственно выключных формул. Опыт показывает, что по какой-то загадочной причине внутри табуляра запрещаются выключные формулы в последней ячейке строки, но вполне допускаются в предыдущих.

Впрочем, если нужно всего лишь выключное форматирование, то оно стандартно достигается стандартной предварительной командой \everymath{\displaystyle} (которую можно подавать в группе, если не хочется чтоб на всю жисть). Правда, при этом вертикальные отбивки, естественно, не работают.

 Профиль  
                  
 
 
Сообщение13.03.2009, 21:06 


13/03/09
3
Спасибо за быстрый ответ.

Ulrih в сообщении #194830 писал(а):
Достаточно обмануть компилятор окружением equation*, он осуществляет отбивку по вертикали как для выключенной формулы (вместо $$ )


При первой же попытке сработало, но...при последующем редактировании файла с откатами к предыдущим версиям tex выдает ошибку на месте, где в таблицу вставляется окружение equation*
"\vec allowed only in math mode", т.е. будто он игнорит \begin{equation*} и не переключается в математический режим..глюки какие-то..мож дистрибутив глючит? почему один раз-то проскочило?..ну ладно, черт с ним...при первой же возможности обновлю дистриб...

 Профиль  
                  
 
 
Сообщение13.03.2009, 21:11 


27/07/08
107
Russia
proffa
Надо было когда проскочило, сохранить удачную версию)))

 Профиль  
                  
 
 
Сообщение13.03.2009, 21:15 


13/03/09
3
Ulrih в сообщении #194843 писал(а):
proffa
Надо было когда проскочило, сохранить удачную версию)))


:lol:

Да уж...блин, это ж как водится - испытал на одной строке - прокатило, на радостях стал корректировать остальные строки таблицы, и успех растаял вдалеке... :cry:
Видно, не судьба )))

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

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



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

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


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

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