стол, табличный, tabularx вертикальный, латекс - PullRequest
3 голосов
/ 10 ноября 2010

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

\begin{tabular}{l l}
some text & some text and some more text...\\ %both starting at the same height.
\includegraphics{aImage.eps} & (*)Some text...   %both starting at the same height.
\end{tabularx}

В моей интуиции начало текста в звёздочке (*) должно быть вертикально выровнено по верху aImage, но это не так, и я не могу понять это правильно. Добавление [b] или [t] не помогает. Что я сделал совершенно неправильно, потому что я не могу быть единственным человеком, который хочет этого.

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

Возможно, TikZ - возможный путь. Графическое изображение может быть включено в узел TikZ с помощью \node{\includegraphics{myfile.ext}}, затем можно нарисовать прямоугольники или сетку. Текстовые узлы могут содержать текст везде, где вы их размещаете. Если вам нужно (достаточно фото, чтобы оно того стоило), вы можете создать его с помощью цикла, используя pgffor.

\documentclass{article}

\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\draw[step=2cm] (-4cm,0) grid (4cm,4cm);

\node at (-3cm,3cm) {Text};
\node at (-3cm,1cm) {includegraphics};

\end{tikzpicture}
\end{document}

Это не идеальный ответ, ему нужно немного больше настроек, чем нравится многим пользователям LaTeX. Однако эта гибкость может помочь вам решить вашу проблему, используя способ «просто заставить что-то работать».

Надеюсь, это поможет.

0 голосов
/ 10 ноября 2010

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

Мне кажется, что обычно я решил эту проблему, заключив текст в подходящую parbox, что-то вроде этого

\includegraphics{aImage.eps} & \parbox[b]{0.4\linewidth}{(*)Some text\vspace{3\baselineskip}}

Дело в том, что я выравниваю нижнюю часть parbox с нижней частью изображения, но затем добавляю вертикальное пространство к нижней части изображения, чтобы выровнять нижнюю часть вертикального пространства, и текст выравнивается по вершина. Конечно, ширину (здесь 0.4\linewidth) и необходимое вертикальное пространство (здесь 3\baselineskip) вам необходимо определить самостоятельно, исходя из ширины ячейки таблицы и высоты изображения, поэтому это решение на самом деле не обобщает к чему-то, что вы могли бы просто убрать. Тем не менее, его достаточно просто использовать всегда, когда это необходимо, даже если для правильной настройки требуется некоторая ручная настройка.

...