2010-05-24 31 views
48

Tôi đang cố gắng viết một bài báo ngắn với LaTeX và cần thêm một bảng có 3 cột.Cách mã hóa các bảng với các ô nhiều dòng

+-------------+-----------------+--------------------------------------+ 
| AAAAAAAAAA | BBBBBBBBBBBBBBB | Betty Botter Bought a Bit of Butter | 
|    |     | but the Butter's Bitter    | 
+-------------+-----------------+--------------------------------------+ 
| CCCCCCCC | DDDD   | Betty Botter Thought:    | 
|    |     | If I Put This Bitter Butter in My | 
|    |     | Batter it Will Make My Batter Bitter | 
+-------------+-----------------+--------------------------------------+ 

Rất tiếc, tôi không thể tìm thấy thành ngữ chính xác để làm điều đó.


tôi đã cố gắng:

\begin{tabular}{lll} 
    AAAAAAAAAA & BBBBBBBBBBBBBBB & Betty Botter Bought a Bit of Butter but 
    the Butter's Bitter \\ 
    CCCCCCCC & DDDD & Betty Botter Thought: \newline If I Put This Bitter Butter in My Batter it Will Make My Batter Bitter 
\end{tabular} 

Nhưng LaTeX không làm bất cứ xuống hàng hoặc định dạng trong tế bào. Tôi cho rằng tôi cần phải nói với nó để làm như vậy .. Nhưng làm thế nào?

+1

Câu hỏi trùng lặp: http://stackoverflow.com/questions/2687033/multiple-lines-in-a-cell-of-a-table (câu hỏi đó có tổng quát hơn một chút về phạm vi). –

Trả lời

66

Sử dụng các mô tả p cột:

Thay đổi

\begin{tabular}{lll} 

để

\begin{tabular}{llp{5cm}} 

Để chèn một cách rõ ràng dòng-chia:

CCCCCCCC & DDDD & \parbox{5cm}{Betty Botter Thought: \\ If I Put This Bitter Butter in My Batter it Will Make My Batter Bitter} 
+5

Có cách nào để kết hợp p {} với một trong các bộ mô tả cột khác không?Có nghĩa là, một cách để nói rằng cột đó là p {5cm} nên được trái, phải hoặc căn giữa? – jja

+0

@jja như cách giải quyết cho căn chỉnh bên phải bên trong p {}, tôi đang sử dụng \ hfill ở đầu mỗi dòng. – Frizi

2

Đây là Tôi tìm thấy cho đến nay cho các nhu cầu của tôi: Link here.

Nó tạo ra một lệnh mới mà sẽ làm cho một bảng bên trong một bảng trong một cách thích hợp hơn:

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

Vì vậy, nếu muốn làm một ngắt dòng buộc bên trong một tế bào như ở đây:

\begin{tabular}{|c|c|c|} 
\hline 
Foo bar & Foo <forced line break here> bar & Foo bar \\ 
\hline 
\end{tabular} 

Bạn sẽ kết thúc bằng một mã như thế này:

Foo bar & \specialcell{Foo\\bar} & Foo bar \\ % vertically centered 
Foo bar & \specialcell[t]{Foo\\bar} & Foo bar \\ % aligned with top rule 
Foo bar & \specialcell[b]{Foo\\bar} & Foo bar \\ % aligned with bottom rule 

sự liên kết ngang có thể được kiểm soát trong Tuyên bố của lệnh mới bằng cách thay đổi c @-l @ hoặc r @

Tất cả tín dụng đi vào egreg từ Tex forum

0

Dưới đây là một câu trả lời không có mã hóa ưa thích. Viết hàng của bạn trong các dòng riêng biệt. Bỏ qua \ hline cho tất cả, nhưng hàng cuối cùng (dòng) của nó nhanh chóng và bẩn nhưng, hey, nó hoạt động và mang lại cho tôi chính xác những gì tôi muốn, cho các bảng đơn giản anyway. Tôi đã làm quảng cáo để đi trên kính chắn gió ô tô. Tôi có 3 hàng được căn giữa trong mỗi ô

iTutor Grahamstown 
Mathematics Tutor 
0793296211 

Tôi muốn lặp lại điều này trong bảng của mình. Tôi chỉ cần bỏ \ hline cho hai hàng đầu tiên. Nhiều \ hlines và '|' là để làm cho việc cắt giảm bản in dễ dàng hơn.

\begin{tabular}{||c||c||c||c||} 
\hline\hline 

iTutor Grahamstown &iTutor Grahamstown&iTutor Grahamstown &iTutor Grahamstown \\ %No \hline 

Mathematics Tutor & Mathematics Tutor & Mathematics Tutor&Mathematics Tutor \\ %No \hline 

0793296211 & 0793296211 & 0793296211 & 0793296211\\ \hline\hline\hline %\hline now 


\end{tabular} 

Tôi hy vọng điều này sẽ hữu ích.

Các vấn đề liên quan