2010-07-04 33 views
10

Có cách nào rõ ràng hay đẹp để LaTeX tự động đặt \ hline giữa mỗi dòng trong một bảng mà không phải đặt \ hline giữa mỗi dòng?làm cho LaTeX vẽ hline giữa mỗi dòng trong bảng mà không sử dụng hline?

Tôi nghĩ về việc tạo ra một lệnh như:

\newcommand{\EOL}{\\ \hline} 

Nhưng sau đó tôi sẽ nhận được phi tiêu chuẩn tìm kiếm bảng như thế này:

3 & 2 & 1 \EOL 
1 & 2 & 3 \EOL 

Có một cách mà cơ quan bàn của tôi có thể nhìn như:

3 & 2 & 1 \\ 
1 & 2 & 3 \\ 

Vẫn chưa nhận được thông báo?

+2

Đọc http://meta.stackexchange.com/questions/12918/can-we-have-a-ruling-on-latex-on-stackoverflow trước khi bỏ phiếu cho nhiều câu hỏi của LaTeX cho Người dùng siêu. – dmckee

+4

Không phải là câu trả lời chính xác, nhưng [Ed Tufte sẽ đề nghị * chống lại * làm điều đó] (http://search.barnesandnoble.com/The-Visual-Display-of-Quantitative-Information/Edward-R-Tufte/e/9780961392147): hầu hết thời gian nó lộn xộn lên lĩnh vực thị giác và làm suy yếu hơn là cải thiện khả năng đọc. – dmckee

+0

Tôi đang bỏ phiếu để đóng câu hỏi này là không có chủ đề vì nó là về LaTeX. – Flexo

Trả lời

13
\catcode`@=11 
\let \savecr \@tabularcr 
\def\@tabularcr{\savecr\hline} 
\catcode`@=12 

\begin{tabular}{ccc} 
1 & 2 & 3\\ 
4 & 5 & 6\\ 
\end{tabular} 
+1

Mã này không hoạt động trong toàn bộ tính tổng quát; xem http://tex.stackexchange.com/a/130631/4427 để biết ví dụ tại sao không. – egreg

+0

Tuyệt vời! Nó tiết kiệm trong ngày của tôi. tôi chỉ phải thay thế 'tabularcr' bởi' arraycr' – neuro

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