summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/nox/nox.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-06-27 23:35:08 +0000
committerKarl Berry <karl@freefriends.org>2013-06-27 23:35:08 +0000
commit71a5d913aca43d138491dd99f2f90ea20b723176 (patch)
treee748ab1afad77b4bc4d7b53e49aefe5137982289 /Master/texmf-dist/doc/latex/nox/nox.tex
parent2466fd53f3a3a5f41a1a20172277b36ed797527e (diff)
nox (13jun13)
git-svn-id: svn://tug.org/texlive/trunk@30991 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/nox/nox.tex')
-rw-r--r--Master/texmf-dist/doc/latex/nox/nox.tex186
1 files changed, 186 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/nox/nox.tex b/Master/texmf-dist/doc/latex/nox/nox.tex
new file mode 100644
index 00000000000..da535745591
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/nox/nox.tex
@@ -0,0 +1,186 @@
+\documentclass[10pt,a4paper]{article}%
+\usepackage[utf8]{inputenc}%
+\usepackage[ngerman]{babel}%
+\usepackage[colspecstaysintable,c]{nox}
+\usepackage{amsmath,graphicx,tabularx}
+\author{ctansearch,rais}
+\title{Nox v.1.0}
+\begin{document}%
+\maketitle
+\abstract{Dieses Paket ist aus einer kleinen Onlinezusammenarbeit entstanden. Es
+ermöglicht, Daten, Texte und \TeX/\LaTeX - Befehle und Umgebungen in einem Array
+unterzubringen und später in frei definierbaren und fortlaufenden Tabellen
+abzurufen. Ursprünglich hieß der Versuch \texttt{tablenumbers} Der häufige
+Gebrauch des \textbackslash noexpand-Befehls hat diesem Paket den Namen \texttt{Nox}
+gegeben.}\par
+\section{Allgemeines}
+Werte können in beliebiger Anzahl in den Array \begin{verbatim}
+\deflintab{1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17} \end{verbatim} eingegeben werden.
+Dann legt man die Ausrichtung innerhalb der Tabelle fest
+\begin{verbatim}
+\renewcommand{\cellflush}{\raggedright}
+\renewcommand{\cellflush}{\raggedleft}
+\renewcommand{\cellflush}{\centering}
+\renewcommand{\cellflush}{} %ergibt Blocksatz
+\end{verbatim}
+Man definiert mit \begin{verbatim}\tntabledimen{x}{y}\end{verbatim} die
+Spaltenbreite x und Zeilenhöhe y.
+Durch \begin{verbatim}\tntab[x]{y}{y Elemente in x Spalten}\end{verbatim} legt man fest, in wievielen Spalten
+wieviele Elemente des Array dargestellt werden sollen. Wenn die Anzahl der
+abgerufenen Elemente (y*x) kleiner ist, als die im Array verfügbaren Elemente, können
+diese durch weitere, anschließende Tabellen abgerufen werden. Wenn sie größer
+ist, erscheint ein Fehlermeldung.
+
+\section{Anwendung mit Zahlen}
+\renewcommand{\cellflush}{}
+\begin{verbatim}
+\deflintab{1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17}
+\renewcommand{\cellflush}{\raggedright}
+\tntabledimen{1}{1} %Zeilenhöhe 1\baselineskip Zellenbreite 1\basecolskip
+\tntab[4]{8}{2x4}
+\tntab[4]{8}{4x8}
+\tntab[4]{8}{4x8}
+\end{verbatim} ergibt
+\deflintab{1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17}
+\tntabledimen{1}{5}
+\tntab[4]{8}{2x4}
+Zwischen den Tabellen kann man ohne weiteres einen Text einbringen, die
+Tabelle wird einfach weitergeführt.
+\tntab[4]{8}{2x4}
+\subsection{Verschachtelungen}
+Mit Verschachtelungen kann man auch mehrere Tabellen nebeneinander
+setzen. Wieviele Elemente und Befehle solche Teiltabellen aufnehmen können muß
+noch getestet werden.
+\def\TabA{%Tabelle in einem Befehl zusammenfassen addbyctans 11.06.13
+\deflintab{
+\celllabel{A}
+{\nox\begin{tabular}{cccc}\nox\caption{}\nox\\
+1\amp 2\amp \nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 $\nox\rightarrow$\nox\\
+\nox\end{tabular}},
+\celltitle{B}
+{\nox\begin{tabular}{cccc}\nox\caption{B}\nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 $\nox\rightarrow$\nox\\
+\nox\end{tabular}},
+\celltitle{C}
+{\nox\begin{tabular}{cccc}\nox\caption{C}\nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 $\nox\rightarrow$\nox\\
+\nox\end{tabular}},
+\celltitle{D}
+{\nox\begin{tabular}{cccc}\nox\caption{D}\nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 $\nox\rightarrow$\nox\\
+\nox\end{tabular}},
+\celltitle{E}
+{\nox\begin{tabular}{cccc}\nox\caption{E}\nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 $\nox\rightarrow$\nox\\
+\nox\end{tabular}},
+\celltitle{F}
+{\nox\begin{tabular}{cccc}\nox\caption{F}\nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 \nox\\
+1\amp 2\amp 3 $\nox\rightarrow$\nox\\
+\nox\end{tabular}}
+}
+\tntabledimen{9}{8}
+\tntab[3]{6}{Zwei mal drei}}
+\TabA%Zusammengefasste Tabelle abrufen.addbyctans 11.06.13
+
+Wenn man möchte, kann man die Konstruktionen jeweils als eigenen Befehl
+definieren und dort abrufen, wo man sie braucht. So ist zum Beispiel die
+Tabellenkette [\ref{A}] im Befehl \texttt{$\backslash$TabA} gespeichert.
+Man kann solche Tabellen in einer externen Datei speichern und bei Bedarf
+einbinden oder zum Beispiel Tabellenvorlagen erarbeiten, in die man nur noch
+die Daten einfügt.
+Für den Befehl \texttt{$\backslash$tntabledimen} ist zu erwähnen, daß er für alle
+folgenden Tabellen gilt, solange er nicht neu definiert wird. Man kann also
+alle Tabellen eines Dokumentes leicht auf ein Format bringen.
+\section{Anwendung mit Texten}
+Eine Anwendung mit Texten macht es möglich, Spalten mit fortlaufenden Texten
+zu füllen, die bei einem Zeilenwechsel immer mit der ersten Spalte neu beginnen.
+Automatische Spaltenwechsel sind nach wie vor nicht möglich, sie müssen im
+Array durch geschweifte Klammern(Gruppieren) und Kommata definiert werden.
+Die Zeilenhöhe wird dabei explizit festgelegt, die Zeilenhöhen passen sich
+\textbf{nicht} automatisch an. Es gibt derzeit keine Möglichkeit, die Anzahl
+der Zeichen mit der Spaltenbreite und Zeilenhöhe in Beziehung zu setzen um so
+einen automatischen Spaltenumbruch zu erzeugen. Übervolle Spalten führen
+deshalb zu einem Überlauf, der durch veränderte Gruppierung , breitere Spalten
+oder größere Zeilenhöhen ausgeglichen werden muß. Die Anpassung durch
+\texttt{$\backslash$tntabledimen} macht eine sehr genaue Dimensionierung der
+Tabellen möglich, worauf man nicht ohne weiteres verzichten
+sollte.
+\begin{verbatim}
+\deflintab{{...},{...},{...},{...},{...}}
+\tntabledimen{12}{7}%Zeilenhöhe Spaltenbreite
+\tntab[4]{12}{Worte}
+\end{verbatim} ergibt
+\tntabledimen{5}{7.5}%Zeilenhöhe Spaltenbreite
+\renewcommand{\cellflush}{\raggedright}
+\deflintab{{Hier wird ein Text dargestellt, der in einer Spalte ausgegeben
+ wird.},{In der zweiten Spalte wird er fortgeführt, so wie er},{in der
+ dritten Spalte beendet wird.},{Der nächste Text wird in die folgende
+ Spalte oder Zeile verschoben.},{Dies
+ hängt von der Gestaltung der Tabelle(der Spaltenanzahl, Spaltenhöhe und der
+ Gruppierung) ab.}}
+
+\tntab[4]{8}{Worte}
+\section{Anwendung mit Umgebungen und Befehlen}
+In dem Array \texttt{$\backslash$deflintab} können auch Befehle oder Umgebungen untergebracht werden, was
+eine große Zahl von Gestaltungsmöglichkeiten in Tabellenzellen erlaubt. Hier
+kommt der Befehl \texttt{$\backslash$noexpand} zum Tragen, der durch
+\texttt{$\backslash$nox} abgekürzt wird. Wenn man allen
+\texttt{$\backslash$} ein
+\texttt{$\backslash$nox} voranstellt, werden die Befehle nicht expandiert und
+kommen erst später zur Anwendung. Für viele Befehle und Umgebungen
+funktioniert dies, im Einzelnen muß man es ausprobieren. Manche Umgebungen muß
+man zusätzlich gruppieren \{...\}.
+\tntabledimen{5}{8}
+\deflintab{
+\celllabel{List}\nox\begin{list}{\nox\dots}{\nox\itemsep \nox\labelsep \nox\labelwidth \nox\leftmargin\nox\listparindent\nox\parsep\nox\parskip\nox\partopsep\nox\rightmargin \nox\topsep }
+\nox\item First item \nox\item Second item \nox\end{list},
+\celllabel{Equation } \nox\begin{equation}\nox\sqrt{15}=3.87\nox\end{equation},
+\celllabel{Itemize } \nox\begin{itemize}\nox\item Aufzählung \nox\item Aufzählung \nox\end{itemize},
+\celllabel{Math} Text ist immer dabei \nox\begin{math}x=f(y^2+2)
+ \nox\end{math},
+\celllabel{MathA} Text ist immer dabei \nox\begin{math}x=f(y^2+2) \nox\end{math},
+\celllabel{frac}$\nox\frac{\nox\pi}{180^\nox\circ}=1$,
+}
+\tntab[3]{8}{Umgebungen und Befehle}
+\section{Cellnotes}
+Aus dem Paket \textsl{mbenotes.sty} habe ich den Code entliehen, der Anmerkungen in jeder
+Zelle möglich macht. Diese werden am Ende der jeweiligen Teiltabelle
+ausgegeben, sofern sie vorhanden sind. \texttt{$\backslash$cellnote{}} muß mit
+\texttt{$\backslash$noexpand} oder \texttt{$\backslash$nox}
+eingeleitet werden, wenn sie im Array \texttt{$\backslash$deflintab{...}}genutzt wird.
+\begin{verbatim}
+\deflintab{1,2\nox\cellnote{$\nox\sqrt{4}$},3,4,5}
+\tntabledimen{1}{1}
+\tntab[3]{5}{Cellnotes}
+\end{verbatim} ergibt
+\deflintab{1,2\nox\cellnote{$\nox\sqrt{4}$},3,4,5}
+\tntabledimen{1}{1}
+\tntab[3]{5}{Cellnotes}
+\section{Referenzen}
+Im laufenden Text kann man auf jeden Zellentitel(jede Zelle der Tabelle) referenzieren, da die Labels
+bereits beim Erstellen der Titel erzeugt
+werden\texttt{$\backslash$celllabel\{x\}} erzeugt einen Titel und ein Label, \texttt{$\backslash$celltitle\{x\}} erzeugt nur einen
+Titel, ohne ein Label zu erzeugen. Die üblichen \texttt{$\backslash$label\{x\}}
+funktionieren weiterhin.
+\section{Erweiterungen}
+Der Grund, für die Tabellen \texttt{longtable} zu wählen ist, daß man die
+\texttt{$\backslash$tabular}-Umgebung in diese einbringen kann. Umgekehrt wäre
+dies schwieriger.
+Wünschenswert wäre noch eine \texttt{$\backslash$subtable}-Funktion für das
+Tabellenverzeichnis, um die Tabellen, die in der Longtable-Umgebung definiert
+werden, der Haupttabelle zu untergliedern.
+\listoftables
+\tableofcontents
+\end{document}