2010-07-04 2 views
10

Есть ли какой-либо очевидный или прекрасный способ, чтобы LaTeX автоматически помещал \ hline между каждой строкой таблицы без необходимости устанавливать \ hline между каждой строкой?сделать LaTeX рисовать a hline между каждой строкой в ​​табличном формате без использования hline?

Я думал о создании команды, как:

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

Но тогда я буду получать нестандартное глядя таблицы, как это:

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

Есть ли способ, таким образом, чтобы мои табличные тела могли смотреть например:

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

И все же вы все еще получаете hlines?

+2

Читать http://meta.stackexchange.com/questions/12918/can-we-have-a-ruling-on-latex-on-stackoverflow перед голосованием на более LaTeX вопросы к Super User. – dmckee

+4

Ответ не совсем точно, но [Эд Туфте рекомендовал * против * делать это] (http://search.barnesandnoble.com/The-Visual-Display-of-Quantitative-Information/Edward-R-Tufte/e/9780961392147): большую часть времени он забивает поле зрения и ухудшает, а не улучшает читаемость. – dmckee

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет о LaTeX. – Flexo

ответ

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

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

Этот код не работает в полной общности; см. http://tex.stackexchange.com/a/130631/4427, например, почему это не так. – egreg

+0

Отлично! Это спасает мой день. Мне просто пришлось заменить 'tabularcr' на' arraycr' – neuro

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