2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Генерирование таблиц
Сообщение04.04.2008, 16:46 
Аватара пользователя
Начну новую тему посвященную генерированию таблиц.
Хотел было нарисовать таблицу, но не получилось.
Вопрос в следующем: как отцентрировать информацию в ячейке по высоте. По ширине я знаю, достаточно преамбулы таблицы что-то вроде

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

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

 
 
 
 
Сообщение04.04.2008, 23:02 
Аватара пользователя
\vfill ... \vfill, например. А вообще где-то был пакет multirows, если не ошибаюсь.

 
 
 
 
Сообщение07.03.2009, 22:12 
у меня не выходит применить \vfill программа подвисает, а компьютер сильно грузится... тоько в диспетчере, на TeXCenter памяти не увеличивается...

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

 
 
 
 
Сообщение08.03.2009, 14:18 
Аватара пользователя
Давайте ваш документ в исходниках - посмотрим.

 
 
 
 
Сообщение08.03.2009, 22:22 
Код:
\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 
Аватара пользователя
Я имел в виду весь документ. По крайней мере с преамбулой - без нее не удастся адекватно повторить ваш опыт. Впрочем у меня в стандартной преамбуле тоже не компилируется - возможно, лобовой \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 
подключил 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 
Подключение пакета 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 
Хочется как в 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 
У меня похожая проблема (м.б. та же самая?):

вставил в ячейку таблицы, в окружении \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 
У меня 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 
Что касается собственно выключных формул. Опыт показывает, что по какой-то загадочной причине внутри табуляра запрещаются выключные формулы в последней ячейке строки, но вполне допускаются в предыдущих.

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

 
 
 
 
Сообщение13.03.2009, 21:06 
Спасибо за быстрый ответ.

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


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

 
 
 
 
Сообщение13.03.2009, 21:11 
proffa
Надо было когда проскочило, сохранить удачную версию)))

 
 
 
 
Сообщение13.03.2009, 21:15 
Ulrih в сообщении #194843 писал(а):
proffa
Надо было когда проскочило, сохранить удачную версию)))


:lol:

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

 
 
 [ Сообщений: 16 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group