настольный, табличный, табличныйx вертикальный, латексный

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

\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}

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


person Ivo Wolff    schedule 09.11.2010    source источник


Ответы (2)


Возможно, 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. Однако эта гибкость может помочь вам обойти вашу проблему, «просто заставить что-то работать».

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

person Joel Berger    schedule 10.11.2010

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

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

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

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

person JaakkoK    schedule 09.11.2010