簡體   English   中英

table,tabular,tabularx vertical alingment,latex

[英]table, tabular, tabularx vertical alingment, latex

好吧,這聽起來很容易,但我花了幾個小時谷歌搜索,我只是找不到解決方案,這並不復雜。 我想創建一個包含圖像和文本的表。 我希望桌子的每一行都有相同的高度。 我希望文本始終從頂部開始。

\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]沒有幫助。 我完全錯了什么,因為我不能成為唯一想要這個的人。

也許TikZ是一種可行的方式。 可以使用\\node{\\includegraphics{myfile.ext}}在TikZ節點中包含圖形,然后可以繪制框或網格。 文本節點可以在任何位置保存文本。 如果你需要(足夠的圖片使它值得)你可以使用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用戶更多的調整。 然而,這種靈活性可能會讓你解決問題,在“只是讓事情變得有效”的方式。

希望能幫助到你。

根據我的理解,問題是LaTeX將包含的圖形視為單行文本,恰好在線上方延伸了一點,所以該行的頂部仍然只是字體大小高於基線,而不是在圖像的頂部,因此與它的對齊不會很好地工作。

我似乎通常解決這個問題的方法是將文本包裝在合適的parbox ,就像這樣

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

這里的要點是我將底部parbox與圖像的底部對齊,然后在其底部添加垂直空間,使其垂直空間的底部對齊,文本在頂部對齊。 當然,寬度(這里是0.4\\linewidth )和所需的垂直空間(這里是3\\baselineskip )你需要根據表格單元格的寬度和圖像的高度來確定自己,所以這個解決方案並沒有真正概括你可能只是宏觀的東西。 盡管如此,在需要時使用它仍然相當簡單,即使它需要一些手動調整才能使對齊正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM