2010-11-09 2 views
3

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

\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] не помогает. Что я совершенно не прав, потому что я не могу быть единственным человеком, который этого хочет.

ответ

0

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

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

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

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

1

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

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

Смежные вопросы