LINUX.ORG.RU

LATEX и таблицы

 ,


1

1

Всем привет. Проблемы такие:

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

2. как убавить интервал между заголовком таблицы и ее телом? И выровнять заголовок по правому краю? Пакет caption ковырял, но не помогло как-то.

p.s. масдай 10, miktex 2.9, TeXstudio

Поведение при размещении таблиц и рисунков задает буква h после


\begin{table}[h]

Модно попробовать [H], это заставляет размещать в том месте, где написано. Для этого надо еще подключить пакет float.

curufinwe ★★★★★
()
Последнее исправление: curufinwe (всего исправлений: 1)
Ответ на: комментарий от curufinwe

Спасибо большое, помогло. [H] пробовал, но выдавало ошибку, теперь ясно почему.

А со вторым вопросом не поможете? Отступы просто огромные, таблица не вмещается

dark_night
() автор топика
Ответ на: комментарий от dark_night

Начни с centering. Сравни две таблички:

\documentclass{article}
\begin{document}
\begin{table}
\caption{Table}
\begin{center}
\begin{tabular}{|c|c|}
\hline
1.&123\\
\hline
2.&234\\
\hline
\end{tabular}
\end{center}
\end{table}
\begin{table}
\caption{Table}
\centering
\begin{tabular}{|c|c|}
\hline
1.&123\\
\hline
2.&234\\
\hline
\end{tabular}
\end{table}
\end{document}

TeopeTuK ★★★★
()

По поводу выравнивания подписи вправо, можно как-то так:

\captionsetup[table]{singlelinecheck=false,justification=raggedleft}

Первая опция нужна, чтобы однострочные подписи не центрировались.

TeopeTuK ★★★★
()

А еще покажи, как у тебя \specialcell устроен. Что-то там уж очень большие интервалы между строками. Или это требование?

TeopeTuK ★★★★
()
Ответ на: комментарий от dark_night

Есть пакет topcapt, но это может не помочь, надо смотреть как в eskdx это расстояние задано. Я с eskdx не работал, сразу не подскажу.

curufinwe ★★★★★
()
Ответ на: комментарий от dark_night

Ага, то есть глобально выставленный \arraystretch влияет на междустрочные пробелы в таких ячейках. Я бы вот так сделал:

\newcommand{\specialcell}[2][c]{{%
    \def\arraystretch{1}%
    \begin{tabular}[#1]{@{}c@{}}#2\end{tabular}}}

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

TeopeTuK ★★★★
()
Последнее исправление: TeopeTuK (всего исправлений: 1)
Ответ на: комментарий от dark_night

Да, не забудь прогнать через спеллчекер какой-нибудь потом. А то даже в таком маленьком кусочке уже есть опечатка «кострукторской».

TeopeTuK ★★★★
()
Ответ на: комментарий от TeopeTuK

благодарю за советы) большая часть текста - копипаста, но согласен, прогнать стоит

dark_night
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.