2010-07-04 20 views
10

¿Hay alguna manera obvia o bonita de que LaTeX coloque automáticamente una línea entre cada línea en una tabla sin tener que poner una línea entre cada línea?hacer que LaTeX dibuje una hline entre cada línea en la tabla sin usar hline?

pensé en la creación de un comando como:

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

Pero entonces obtendrá no estándar mirando tablas de esta manera:

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

¿Hay una manera tal que mis cuerpos de mesa podían mirar como:

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

¿Y aún así obtener las hlines?

+2

Leer http://meta.stackexchange.com/questions/12918/can-we-have-a-ruling-on-latex-on-stackoverflow antes de votar a más preguntas de látex para Super User. – dmckee

+4

No es exactamente una respuesta, pero [Ed Tufte recomendaría * en contra de * hacerlo] (http://search.barnesandnoble.com/The-Visual-Display-of-Quantitative-Information/Edward-R-Tufte/e/9780961392147): la mayoría de las veces satura el campo visual y deteriora en lugar de mejorar la legibilidad. – dmckee

+0

Estoy votando para cerrar esta pregunta como fuera de tema porque se trata de LaTeX. – Flexo

Respuesta

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

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

Este código no funciona en generalidad completa; ver http://tex.stackexchange.com/a/130631/4427 para ver un ejemplo de por qué no lo hace. – egreg

+0

¡Genial! Me salvó el día. solo tuve que reemplazar 'tabularcr' por' arraycr' – neuro

Cuestiones relacionadas