lucaslattari / Modelo-Limpo-TCC-LaTeX-DACC-Campus-Rio-Pomba

6 stars 1 forks source link

sugestão de comando de tabela mais simplificada e padronizada #3

Open mzramna opened 4 years ago

mzramna commented 4 years ago
\newenvironment{tableCustom}[3]{% 
  \begin{table}[h]
\begin{tabular}{p{3cm}p{12cm}} %divisão feita para uma tabela de apenas 2 elementos sendo q o 2 elemento ocupa 4/5 do espaço da tabela
\toprule
\multicolumn{#3}{c}{\textbf{#1}} \\ \hline
 #2 \\ \hline
}{%
  \end{tabular}
  \end{table}
}

são 3 parametros, o primeiro o nome da tabela,o segundo o cabeçalho na 1 linha e o 3 o numero de colunas dentro do intervalo da tabela usa os comandos comuns de tabela: para uma tabela de 2 colunas apenas um elemento & a descricao de um elemento \\ \hline

mzramna commented 4 years ago

uma melhoria para o caso de tabelas muito grandes:

\newenvironment{easyTable2}[2]{%
  \begin{longtable}{p{.15\textwidth}|p{.80\textwidth}}
\hline \multicolumn{2}{c}{\textbf{#1}} \\ \hline
#2 \\ \hline \endfirsthead
#2\\ \hline \endhead
}{%
  \end{longtable}
}
\newenvironment{easyTable3}[2]{%
  \begin{longtable}{p{.16\textwidth}|p{.09\textwidth}|p{.70\textwidth}}
\hline \multicolumn{3}{c}{\textbf{#1}} \\ \hline 
#2\\ \hline \endfirsthead
#2\\ \hline \endhead
}{%
  \end{longtable}
}

funciona da seguinte forma para simplificar a vida: tem uma tabela expecífica para 2 colunas e a outra para 3,modificar pra mais colunas é simples,apenas fazer a mudança ocorrida de uma pra outra pra aplicar em maiores quantidades dessa forma funciona para tabelas longas que ocupam mais de uma página os parametros passados são: titulo da tabela e cabeçalho da tabela

mzramna commented 4 years ago

um modelo que eu fiz,para unificar os 2 anteriores,mas acaba sendo bastante trabalhoso de se usar em certos casos , mas em outros se torna vantajoso:

\newenvironment{easyTableAuto}[4]{%
  \begin{longtable}{#4}
\hline \multicolumn{#3}{c}{\textbf{#1}} \\ \hline 
#2\\ \hline \endfirsthead
#2\\ \hline \endhead

}{%
  \end{longtable}
}

um exemplo: \begin{easyTableAuto}{tipos de regras}{nome do tipo & composição & funcionamento}{3}{p{.15\textwidth}|p{.13\textwidth}|p{.64\textwidth}}

o primeiro parametro é o titulo,o segundo um cabeçalho , o 3 o total de colunas , 0 4 o espaçamento das colunas é uma função que unifica as outras e faz a tabela ficar perfeitamente distribuida em multiplas páginas,mas demanda você já ter feito os calculos de espaçamento e tudo mais para que fique viavel,entretanto ,lembrar todos esses parametros faz ter o mesmo trabalho q somente implementar o codigo da função diversas vezes no texto,dai não sei se essa ultima atualização seria realmente válida

mzramna commented 4 years ago

uma versão mais simplificada e generalizada do comando:

\DeclareRobustCommand{\beginAutoTable}[4]{
%nome da tabela e label
%cabeçalho
%quantidade total de colunas
%formatação da tabela
\label{tab:#1}
  \begin{longtable}{#4}
  \caption{#1}
\\ \hline \multicolumn{#3}{c}{\textbf{#1}} \\ \hline 
#2 \\ \hline \endfirsthead
#2 \\ \hline \endhead
}

essa primeira parte é responsável pelo cabeçalho das tabelas e toda sua formatação

\newenvironment{easyTableAuto}[4]{%
\beginAutoTable{#1}{#2}{#3}{#4}
}{%
  \end{longtable}
}

essa parte é responsável por criar a tabela a fim de poder padronizar tabelas,como por exemplo tipos de tabelas que vão se repetir ao longo do texto,é possivel criar tabelas como as no exemplo a baixo,isso faz com que elas possam ser apenas chamadas pelo nome e todo o padrão cabeçalho,lable(com menores alterações) e outras coisas possam ser feitas de forma mais rápida e simples

\newenvironment{easyTable2}[2]{%
\beginAutoTable{#1}{#2}{2}{p{.15\textwidth}|p{.80\textwidth}}
}{%
  \end{longtable}
}
\newenvironment{easyTablesample}[1]{%
\beginAutoTable{tabela de exemplo #1}{exemplo 1 & exemplo 2 & exemplo 3 }{3}{p{.3\textwidth}|p{.3\textwidth}|p{.3\textwidth}}
}{%
  \end{longtable}
}