Código

Código

Considere la siguiente captura de pantalla.

ingrese la descripción de la imagen aquí

Las características que quiero tener son:

  • Puedo reducir el tamaño de la página y se permite que la tabla se divida en páginas.
  • El fondo de las filas impares debe ser diferente al de las filas pares para facilitar la lectura.
  • Los valores deben calcularse automáticamente y no mediante la entrada de datos hecha a mano.

MWE

\documentclass[preview,border=12pt,varwidth]{standalone}
\usepackage[nomessages]{fp}
\usepackage[table]{xcolor}
\usepackage{longtable}
\usepackage{pgffor}
\begin{document}
\topskip=0pt
\begin{longtable}{*2{|>{$\displaystyle}c<{$}}|}\hline
\theta & \sin \theta\\
\foreach \x in {0,10,...,360}{\x & \FPeval\temp{round(\x:3)}\temp\\}
\end{longtable}
\end{document}

Respuesta1

Más fácilmente, puedes utilizar elcalculadoraPaquete que le permitirá evaluar las funciones trigonométricas. También elsupertabularEl paquete le permitirá hacer el encabezado/pie de página repetido en cada tabla.

Aquí hay un ejemplo más simple:

Código

\documentclass{article}
\usepackage[nomessages]{fp}
\usepackage[table]{xcolor}
\usepackage{calculator}
\usepackage{forloop}
\usepackage{supertabular}
\usepackage{longtable}
\usepackage{fullpage}

\begin{document}

\newcounter{theangle}

\tablefirsthead{
    \cline{2-4}
    \rowcolor{white}
    \multicolumn{1}{c|}{ } &
    \cos \theta & \sin \theta & \tan \theta &
    \multicolumn{1}{c}{ } \\
    \hline
      }
\tablehead{
    \rowcolor{white}
    \multicolumn{5}{c}{Table continued \ldots}\\
    \cline{2-4}
    \rowcolor{white}
    \multicolumn{1}{c|}{ } &
    \cos \theta & \sin \theta & \tan \theta &
    \multicolumn{1}{c}{ } \\
    \hline
      }
\tablelasttail{
    \rowcolor{white}
    \multicolumn{1}{c|}{ } &
    \cos \theta & \sin \theta & \tan \theta &
    \multicolumn{1}{c}{ }\\
    \cline{2-4}
      }
\tabletail{
    \hline
    \rowcolor{white}
    \multicolumn{1}{c|}{ } &
    \cos \theta & \sin \theta & \tan \theta &
    \multicolumn{1}{c}{  } \\
    \cline{2-4}
    \rowcolor{white}
    \multicolumn{5}{c}{Continued on next page \ldots}\\
      }

\rowcolors{2}{gray!50}{white}
\begin{center}
\begin{supertabular}{*5{|>{$}c<{$}}|}
\forloop{theangle}{0}{\value{theangle} < 360}{
    \arabic{theangle}^\circ &
    \DEGREESCOS{\value{theangle}}{\solx} \solx &
    \DEGREESSIN{\value{theangle}}{\solx} \solx &
    \DEGREESTAN{\value{theangle}}{\solx} \solx &
    \arabic{theangle}^\circ\\
    \addtocounter{theangle}{4} 
      }
\end{supertabular}

\end{center}
\end{document}

Producción Inicio de la mesa Fondo de mesa Tabla Continuada

Respuesta2

Paquetes

  • xcolorcon la opción tablede\rowcolor
  • pgfplotstable(e internamente pgfmath) que se utiliza para construir toda la tabla. El pgfmathpaquete nos ayuda a crear los valores trigonométricos (que están todos integrados)
  • longtablepara permitir saltos de página en una tabla (necesita varias pasadas)
  • siunitxpara componer números en tablas ( pgfmathya hace un buen trabajo en la impresión de números, pero no es muy adecuado para tablas)
  • booktabspor buenas reglas.

\pgfplotstableset

Estilos auxiliares

Los estilos precedidos por un @son estilos nuevos creados por mí. Tampoco es @necesario (solo para separar pgfplotstablelos estilos de los míos) ni los nombres están escritos en piedra. Estos estilos se utilizan con el .listcontrolador para facilitar la creación de las columnas.

La línea

@create function/.list={sin,cos,tan,cot,cosec,sec},

construye las columnas principales, tenga en cuenta que la cscfunción se nombra cosecen PGF. La columna tiene nombre cosecpero luego la cambio column namea csc. (También se puede tener en cuenta que se deben utilizar nombres de columna adecuados, por ejemplo, $\phi$y $\sin \phi$en lugar de nombres de columnas vacíos y nombres de funciones matemáticas que no sean de modo matemático).

Tenga en cuenta la string typeclave: esto desactiva las funciones de números de impresión PGF (pero no el cálculo matemático PGF de las columnas).

longtableconfiguración

Las claves básicas begin tabley end tablese utilizan para configurar el entorno de la tabla interna de tabulara longtable.

El every head rowestilo se usa (mal) para configurar las filas especiales (estas son longtablecaracterísticas). Consulte el longtablemanual para obtener más información.

\pgfplotstablenew

Creemos 91 filas (+ encabezado (por ejemplo, longtablepreámbulo)):

\pgfplotstablenew[
    columns={left,sin,cos,tan,cot,sec,cosec,right},
    ]{91}\myTable

\sisetup

Ciertos siunitxajustes se realizan antes de la composición tipográfica (esto también podría haberse hecho en las S[…]especificaciones de la columna). Estas configuraciones son necesarias para siunitxno intentar configurar números en notación científica, ya que las matemáticas PGF pueden dar un resultado en forma de 1.746e-2(prácticamente en todas partes).

\pgfplotstabletypeset

¡Finalmente!

column typeAquí se utilizan los estilos auxiliares para configurar los s.

Utiliza @secure headerla \multicolumnmacro para ocultar el contenido del siunitxanálisis. El enfoque habitual de poner el contenido entre llaves, por ejemplo, {sin}no parece funcionar aquí.

La columna lefty la rightcolumna solo usa rcolumnas (podríamos usar Saquí también) con una sintaxis de \si{\degree}vía adjunta . Esta es también la razón por la que el encabezado necesita una entrada vacía.array<{…}\multicolumn{1}{c}{}

Código

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{pgfplotstable}
\usepackage{longtable}
\usepackage{siunitx}
\usepackage{booktabs}
\pgfplotstableset{
    % helpers
    @create function/.style={
        create on use/#1/.style={
            create col/expr=#1(\thisrow{left})}},
    @secure header/.style={
        columns/#1/.append style={
            column name=\multicolumn{1}{c}{#1}}},
    @set columns to siunitx type 1/.style={
        columns/#1/.append style={
            string type,
            column type={S[table-format=1.4]}}},
    @set columns to siunitx type 2/.style={
        columns/#1/.append style={
            string type,
            string replace={inf}{\multicolumn{1}{c}{$\infty$}},
            column type={S[table-format=2.4]}}},
    @set columns to siunitx type 3/.style={
        columns/#1/.append style={
            string type,
            string replace={inf}{\multicolumn{1}{c}{$\infty$}},
            column type={S[table-format=2.3]}}},
    @set columns to basic style/.style={
        columns/#1/.append style={
            column type={r<{\si{\degree}}}}},
    @set empty header/.style={
        columns/#1/.append style={
            column name={\multicolumn{1}{c}{}}}},
    %
    % the left and right columns
    create on use/left/.style={
        create col/expr=\pgfplotstablerow},
    create on use/right/.style={
        create col/expr={90-\thisrow{left}}},
    %
    % Let's start: the functions
    @create function/.list={sin,cos,tan,cot,cosec,sec},
    % The longtable setup
    begin table=\begin{longtable},
    end table=\end{longtable},
    every head row/.append style={
        before row=\toprule,
        after row=%
        \midrule \endhead
        \midrule
        \multicolumn{1}{c}{} & {cos} & {sin} & {cot} & {tan} & {csc} & {sec} & \multicolumn{1}{r}{\dots}\\ \bottomrule
        \endfoot
        \midrule
        \multicolumn{1}{c}{} & {cos} & {sin} & {cot} & {tan} & {csc} & {sec} & \multicolumn{1}{r}{} \\ \bottomrule
        \endlastfoot},
    every odd row/.style={before row={\rowcolor[gray]{.9}}},
}
\pgfplotstablenew[
    columns={left,sin,cos,tan,cot,sec,cosec,right},
    ]{91}\myTable
\begin{document}
\sisetup{scientific-notation = fixed, fixed-exponent = 0, table-auto-round=true}
\pgfplotstabletypeset[
    % the column types
    @set columns to siunitx type 1/.list={sin,cos},
    @set columns to siunitx type 2=tan,
    @set columns to siunitx type 3/.list={cot,sec,cosec},
    @set columns to basic style/.list={left,right},
    % setup for the headers
    @secure header/.list={sin,cos,tan,cot,sec},
    @set empty header/.list={left,right},
    columns/cosec/.append style={column name={\multicolumn{1}{c}{csc}}},
]\myTable
\end{document}

Producción

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

información relacionada