Problemas extraños de alineación en la tabla para la lista de cursos

Problemas extraños de alineación en la tabla para la lista de cursos

Estoy intentando hacer una tabla que contenga detalles de todos mis trabajos de curso. Escribí el siguiente código. Hay algunos problemas con esto:

  1. ¿Por qué aparece una primera página en blanco al compilar (con la tabla en la segunda página)?
  2. La tabla parece dejar mucho espacio en el margen izquierdo de la página, que podría usarse para tener una cuarta columna más ancha, pero parece que no puedo usar ese espacio.
  3. La tabla repasa el número de página en la parte inferior de la segunda página y no se muestra nada después de lo que se muestra en la página 2. Tengo varios otros cursos y me gustaría que esta tabla abarque aproximadamente 3 páginas. ¿Cómo puedo hacerlo?

Nota: He creado la segunda columna como una columna p ya que los nombres reales de algunos instructores requieren dos líneas.

Aquí está el código:

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{booktabs}

\begin{document}
\begin{tabular}{p{2.5cm}p{2cm}lp{6cm}} 
\toprule[2pt] 
Name of Course & Instructor & Book(s) Referred & Brief List of Topics Covered \\ 
\hline
\\[\defaultaddspace]

Algebra I & ABC & Herstein; M. Artin & 
\parbox{6cm}{Basic Set Theory; Group Theory\\(upto Sylow theorems);\\ Introduction to Ring Theory} \\ 
\\[\defaultaddspace]

Algebra II & DEF & Hoffman and Kunze & 
\parbox{6cm}{Linear Algebra \\(upto Spectral theorems)} \\ 
\\[\defaultaddspace]

Algebra III & GHI & S. Lang & 
\parbox{6cm}{Ring and Module Theory\\(covering Hilbert basis theorem and structure theorem for finitely generated abelian groups)}\\
\\[\defaultaddspace]

Algebra IV & JKL & S. Lang & 
\parbox{6cm}{Introduction to Field \\ and Galois Theory}\\
\\[\defaultaddspace]

Analysis I &  MNO  & T. Apostol & 
\parbox{6cm}{Real numbers; Sequences and series;\\ Calculus of a single variable \\ (upto Taylor's Theorem)
} \\ 
\\[\defaultaddspace]

Analysis II &  PQR  & T. Apostol & 
\parbox{6cm}{Riemann integral; Introduction to \\ Calculus of several variables; \\ Metric spaces and elementary \\ topological notions on it} \\ 
\\[\defaultaddspace]

Analysis III &  \parbox{2cm}{STU}  & S. Dineen & 
\parbox{6cm}{\textbf{Vector Calculus}: multiple integrals, \\ Jacobian formula, line and surface \\ integrals, Green's, Stokes' and Gauss' (Divergence) theorems; \\ Sequences of functions; Weierstrass \\ approximation theorem} \\ 
\\[\defaultaddspace]

Analysis IV &  VWX  & Rudin & 
\parbox{6cm}{\textbf{Introduction to Function Spaces}:\\ compact metric spaces,\\ C([a,b]) as a complete metric space, \\ Banach's contraction principle, \\ Stone-Weierstrass and Arzela-Ascoli theorems, Fourier series } \\ 
\\[\defaultaddspace]

Probability Theory I &  YZ  & Chung; Feller & 
\parbox{6cm}{Combinatorial probability and urn models; Conditional probability; \\ Random variables; Expectation; \\ Moment generating functions;\\ Standard distributions(Binomial etc.); \\ Joint and conditional distributions; \\ Weak law of large numbers} \\ 
\\[\defaultaddspace]

Probability Theory II &  YZ  & Feller & 
\parbox{6cm}{Joint distributions; \\Transformation of variables\\(assuming Jacobian formula);\\ Distributions for sums, maxima/minima, order statistics, etc.; Standard multivariate and sampling distributions; Conditional expectation; Convergence of random variables} \\ 
\\[\defaultaddspace]

\bottomrule[2pt]

\end{tabular}

\end{document}

Respuesta1

El verdadero problema es que no hay suficiente espacio para la tabla en la página.

Esto es lo que sugiero:

  1. Úselo longtabledesde el mismo paquete en lugar de tabularsi desea que la tabla se divida en páginas.

  2. En este caso la tabla puede permanecer en una página. Puedes usar el geometrypaquete y reducir los márgenes de la página solo para la página donde está la tabla con el comando

    \newgeometry{margin=2cm}
    

    y restaurar el diseño normal más tarde emitiendo

    \restoregeometry
    
  3. Reducir la longitud de \defaultaddspacea1pt

    \setlength{\defaultaddspace}{1pt}
    
  4. No es necesario utilizar \parboxes para centrar el contenido de las celdas. Puede cargar el arraypaquete y utilizarlo men lugar de p. También puedes declarar un nuevo tipo de columna.M

    \newcolumntype{M}[1]{>{\raggedright\arraybackslash}m{#1}}
    

    También puede utilizar \newlinepara emitir saltos de línea dentro de las celdas.

Ejemplo completo:

\documentclass[a4paper,10pt]{article}
\usepackage{geometry}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsthm,array}
\usepackage{booktabs}

\usepackage{array,longtable}
\usepackage{lipsum} %only for the example

\newcolumntype{M}[1]{>{\raggedright\arraybackslash}m{#1}}
\setlength{\defaultaddspace}{1pt}

\begin{document}
\lipsum[1-5]

\newpage
\newgeometry{margin=2cm}
\begin{longtable}{p{2.5cm}p{2cm}lM{6cm}}
\toprule[2pt]
Name of Course & Instructor & Book(s) Referred & Brief List of Topics Covered \\
\hline
\\[\defaultaddspace]

Algebra I & ABC & Herstein; M. Artin &
Basic Set Theory; Group Theory\newline(upto Sylow theorems);\newline Introduction to Ring Theory \\
\\[\defaultaddspace]

Algebra II & DEF & Hoffman and Kunze &
Linear Algebra \newline(upto Spectral theorems) \\
\\[\defaultaddspace]

Algebra III & GHI & S. Lang &
Ring and Module Theory\newline(covering Hilbert basis theorem and structure theorem for finitely generated abelian groups) \\
\\[\defaultaddspace]

Algebra IV & JKL & S. Lang &
Introduction to Field \newline and Galois Theory\\
\\[\defaultaddspace]

Analysis I &  MNO  & T. Apostol &
Real numbers; Sequences and series;\newline Calculus of a single variable \newline (upto Taylor's Theorem) \\
\\[\defaultaddspace]

Analysis II &  PQR  & T. Apostol &
Riemann integral; Introduction to \newline Calculus of several variables; \newline Metric spaces and elementary \newline topological notions on it \\
\\[\defaultaddspace]

Analysis III &  \parbox{2cm}{STU}  & S. Dineen &
\textbf{Vector Calculus}: multiple integrals, \newline Jacobian formula, line and surface \newline integrals, Green's, Stokes' and Gauss' (Divergence) theorems; \newline Sequences of functions; Weierstrass \newline approximation theorem \\
\\[\defaultaddspace]

Analysis IV &  VWX  & Rudin &
\textbf{Introduction to Function Spaces}:\newline compact metric spaces,\newline C([a,b]) as a complete metric space, \newline Banach's contraction principle, \newline Stone-Weierstrass and Arzela-Ascoli theorems, Fourier series \\
\\[\defaultaddspace]

Probability Theory I &  YZ  & Chung; Feller &
Combinatorial probability and urn models; Conditional probability; \newline Random variables; Expectation; \newline Moment generating functions;\newline Standard distributions(Binomial etc.); \newline Joint and conditional distributions; \newline Weak law of large numbers \\
\\[\defaultaddspace]

Probability Theory II &  YZ  & Feller &
Joint distributions; \newline Transformation of variables\newline(assuming Jacobian formula);\newline Distributions for sums, maxima/minima, order statistics, etc.; Standard multivariate and sampling distributions; Conditional expectation; Convergence of random variables \\
\\[\defaultaddspace]

\bottomrule[2pt]

\end{longtable}

\newpage
\restoregeometry
\lipsum[1-5]

\end{document} 

Producción:

ingrese la descripción de la imagen aquí


EDITAR

Como señala egreg en su comentario, probablemente la tabla se vea mejor si usa una pcolumna normal sin necesidad de columnas adicionales \\antes \\[\defaultaddspace].

Esta es otra posibilidad (elige la que más te guste):

\documentclass[a4paper,10pt]{article}
\usepackage{geometry}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsthm,array}
\usepackage{booktabs}

\usepackage{array,longtable}
\usepackage{lipsum} %only for the example

\begin{document}
\lipsum[1-5]

\newpage
\newgeometry{margin=3cm}
\begin{longtable}{p{2.5cm}p{2cm}lp{6cm}}
\toprule[2pt]
Name of Course & Instructor & Book(s) Referred & Brief List of Topics Covered \\[\defaultaddspace]
\hline
\\

Algebra I & ABC & Herstein; M. Artin &
Basic Set Theory; Group Theory\newline(upto Sylow theorems);\newline Introduction to Ring Theory \\[\defaultaddspace]

Algebra II & DEF & Hoffman and Kunze &
Linear Algebra \newline(upto Spectral theorems) \\[\defaultaddspace]

Algebra III & GHI & S. Lang &
Ring and Module Theory\newline(covering Hilbert basis theorem and structure theorem for finitely generated abelian groups) \\[\defaultaddspace]

Algebra IV & JKL & S. Lang &
Introduction to Field \newline and Galois Theory \\[\defaultaddspace]

Analysis I &  MNO  & T. Apostol &
Real numbers; Sequences and series;\newline Calculus of a single variable \newline (upto Taylor's Theorem) \\[\defaultaddspace]

Analysis II &  PQR  & T. Apostol &
Riemann integral; Introduction to \newline Calculus of several variables; \newline Metric spaces and elementary \newline topological notions on it \\[\defaultaddspace]

Analysis III &  \parbox{2cm}{STU}  & S. Dineen &
\textbf{Vector Calculus}: multiple integrals, \newline Jacobian formula, line and surface \newline integrals, Green's, Stokes' and Gauss' (Divergence) theorems; \newline Sequences of functions; Weierstrass \newline approximation theorem \\[\defaultaddspace]

Analysis IV &  VWX  & Rudin &
\textbf{Introduction to Function Spaces}:\newline compact metric spaces,\newline C([a,b]) as a complete metric space, \newline Banach's contraction principle, \newline Stone-Weierstrass and Arzela-Ascoli theorems, Fourier series \\[\defaultaddspace]

Probability Theory I &  YZ  & Chung; Feller &
Combinatorial probability and urn models; Conditional probability; \newline Random variables; Expectation; \newline Moment generating functions;\newline Standard distributions(Binomial etc.); \newline Joint and conditional distributions; \newline Weak law of large numbers \\[\defaultaddspace]

Probability Theory II &  YZ  & Feller &
Joint distributions; \newline Transformation of variables\newline(assuming Jacobian formula);\newline Distributions for sums, maxima/minima, order statistics, etc.; Standard multivariate and sampling distributions; Conditional expectation; Convergence of random variables \\[\defaultaddspace]

\bottomrule[2pt]

\end{longtable}

\newpage
\restoregeometry
\lipsum[1-5]

\end{document} 

ingrese la descripción de la imagen aquí

Respuesta2

Te sugiero que hagas lo siguiente con la tabla, suponiendo que quepa en una página:

  • Utilice un tabularxentorno en lugar de un tabularentorno, establezca su ancho en \textwidthy utilice el Xtipo de columna para la columna final. Esto establecerá el ancho de la columna final en ( \textwidthmenos los anchos de las otras tres columnas).

  • Utilice tipografía irregular en lugar de justificación completa en la última columna; cargue el ragged2epaquete para permitir la separación de palabras en palabras escritas en modo raggedright.

  • Deshágase de los distintos \parboxenvoltorios y utilice \newlinedeclaraciones para inducir saltos de línea en la columna 4. (¡Gracias, @egreg!)

  • Reemplace las numerosas \\ \\[\defaultaddspace]instrucciones con \\[\defaultaddspace]. Si realmente necesita más espacios en blanco verticales que los proporcionados por \defaultaddspace, simplemente aumente el valor de ese parámetro de manera adecuada. En el siguiente ejemplo, utilizo 2.5\defaultaddspacepara proporcionar más espacio vertical después de los grupos de cursos de álgebra y análisis.

Suponiendo márgenes de 1intodos lados, obtendría el siguiente aspecto:

ingrese la descripción de la imagen aquí

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath,amsthm,booktabs}
\usepackage{tabularx,ragged2e}
\newcolumntype{Y}{>{\RaggedRight\arraybackslash}X}

\begin{document}
\noindent
\begin{tabularx}{\textwidth}{@{} l p{1.75cm} l Y @{}} 
\toprule[2pt] 
Name of Course & Instructor & Book(s) Referred & Brief List of Topics Covered \\ 
\midrule

Algebra I & ABC & Herstein; M. Artin & 
Basic Set Theory; Group Theory\newline
(upto Sylow theorems);\newline
Introduction to Ring Theory \\[\defaultaddspace]

Algebra II & DEF & Hoffman and Kunze & 
Linear Algebra \newline
(upto Spectral theorems) \\[\defaultaddspace]

Algebra III & GHI & S. Lang & 
Ring and Module Theory \newline
(covering Hilbert basis theorem and structure theorem for finitely generated 
abelian groups)\\[\defaultaddspace]

Algebra IV & JKL & S. Lang & 
Introduction to Field and Galois Theory \\[2.5\defaultaddspace]

Analysis I &  MNO  & T. Apostol & 
Real numbers; Sequences and series;\newline
Calculus of a single variable \newline
(upto Taylor's Theorem) \\[\defaultaddspace]

Analysis II &  PQR  & T. Apostol & 
Riemann integral; Introduction to Calculus of several variables; \newline 
Metric spaces and elementary topological notions on it \\[\defaultaddspace]

Analysis III &  STU  & S. Dineen & 
\textbf{Vector Calculus}: multiple integrals, Jacobian formula, line and 
surface integrals, Green's, Stokes' and Gauss' (Divergence) theorems; \newline
Sequences of functions; \newline
Weierstrass approximation theorem \\[\defaultaddspace]

Analysis IV &  VWX  & Rudin & 
\textbf{Introduction to Function Spaces}:\newline
compact metric spaces, $C([a,b])$ as a complete metric space, Banach's contraction principle, 
 Stone-Weierstrass and Arzela-Ascoli theorems, Fourier series \\[2.5\defaultaddspace]

Prob.\ Theory I &  YZ  & Chung; Feller & 
Combinatorial probability and urn models; Conditional probability; \newline
Random variables; Expectation; \newline
Moment generating functions;\newline
Standard distributions (Binomial etc.); \newline
Joint and conditional distributions; \newline
Weak law of large numbers \\[\defaultaddspace]

Prob.\ Theory II &  YZ  & Feller & 
Joint distributions; \newline
Transformation of variables (assuming Jacobian formula);\newline
Distributions for sums, maxima\slash minima, order statistics, etc.;\newline
Standard multivariate and sampling distributions;\newline 
Conditional expectation; \newline
Convergence of random variables \\

\bottomrule[2pt]
\end{tabularx}
\end{document}

Apéndice: Es sencillo ampliar esta configuración para que la tabla pueda abarcar varias páginas. Es necesario (i) cargar elmesa largaymesa ltxpaquetes (además del tabularxpaquete) en el preámbulo y (ii) realizar algunos cambios en la estructura del encabezado/pie de página de la tabla para que se ajuste a la longtablesintaxis:

  • Comience colocando todo el contenido de la tabla actual (de \begin{tabularx}{\textwidth}{...}a \end{tabularx}) en unarchivo separado. Llame a este archivo, digamos, mybiglongtable.tex. (Estoy seguro de que se te ocurrirá un nombre más adecuado...)

  • En el "archivo del controlador", inserte la instrucción

    \LTXtable{\textwidth}{mybiglongtable.tex} % note explicit width indication
    

    justo donde quieres que comience la mesa. (A longtableno es un "objeto flotante" en el sentido de la palabra LaTeX). El archivo del controlador del ejemplo anterior de tabla de una sola página se vería así:

    \documentclass[a4paper,10pt]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[margin=1in]{geometry}
    \usepackage{amsmath,amsthm,booktabs}
    \usepackage{tabularx,longtable,ltxtable,ragged2e}
    \newcolumntype{Y}{>{\RaggedRight\arraybackslash}X}
    \begin{document}
    \LTXtable{\textwidth}{mybiglongtable.tex}
    \end{document}
    
  • En el archivo mybiglongtable.tex, realice los siguientes cambios:

    • Cambiar

      \begin{tabularx}{\textwidth}{@{} l p{1.75cm} l Y @{}}
      

      a

      \begin{longtable}{@{} l p{1.75cm} l Y @{}} % no explicit width indication
      

      y cambie \end{tabularx}(al final del archivo) a \end{longtable}.

    • Utilizando longtablela sintaxis, proporcione la información requerida de encabezado y pie de página inmediatamente después de \begin{longtable}{...}, diga lo siguiente:

      \toprule[2pt] 
      Name of Course & Instructor & Book(s) Referred & Brief List of Topics Covered \\ 
      \midrule
      \endfirsthead
      \multicolumn{4}{@{}l}{\emph{Continued from previous page}}\\
      \midrule[\heavyrulewidth]
      \endhead
      \midrule[\heavyrulewidth]
      \multicolumn{4}{r@{}}{\emph{Continued on following page}}
      \endfoot
      \bottomrule[2pt]
      \endlastfoot
      

      Tenga en cuenta que todos los comandos de dibujo de reglas para las partes superior e inferior de la tabla se asignan a uno de los comandos \endfirsthead, \endhead, \endfooty \endlastfoot.

    • El resto del archivo (hasta \end{longtable}) debe contener el "cuerpo" de la tabla, es decir, la información relacionada con los cursos. Puede utilizar \\[\defaultaddspace]y \\[2.5\defaultaddspace]como en el MWE anterior para proporcionar una agrupación visual de los contenidos.

información relacionada