From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- support/tab4tex/docs/tab4tex.pdf | Bin 0 -> 349276 bytes support/tab4tex/docs/tab4tex.tex | 379 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 379 insertions(+) create mode 100644 support/tab4tex/docs/tab4tex.pdf create mode 100644 support/tab4tex/docs/tab4tex.tex (limited to 'support/tab4tex/docs') diff --git a/support/tab4tex/docs/tab4tex.pdf b/support/tab4tex/docs/tab4tex.pdf new file mode 100644 index 0000000000..e0e92a6174 Binary files /dev/null and b/support/tab4tex/docs/tab4tex.pdf differ diff --git a/support/tab4tex/docs/tab4tex.tex b/support/tab4tex/docs/tab4tex.tex new file mode 100644 index 0000000000..82bb983545 --- /dev/null +++ b/support/tab4tex/docs/tab4tex.tex @@ -0,0 +1,379 @@ +% Tab4tex documentation +% Version 0.1 +% March 2007 +% Guido Milanese - guido.milanese@unicatt.it + +\documentclass[a4paper,english]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\IfFileExists{url.sty}{\usepackage{url}} + {\newcommand{\url}{\texttt}} +\usepackage{babel} + +\begin{document} + +\title{tab4tex\\ +Version 0.1} + + +\author{Guido Milanese\\ +\url{guido.milanese@unicatt.it}} + + +\thispagestyle{empty} +\date{March 2007} +\maketitle +\begin{abstract} +\noindent{}This utility helps to prepare tables to be used in +\LaTeX{}. +The programs are written in Snobol4; the only requirement is to install the +interpreter. For Windows, a standalone file compiled with Spitbol is also +provided, and the programs can be run without the need of an external +interpreter. +\end{abstract} + +\tableofcontents + +\section{The program} + +The program \textsf{tab4tex} reads from the standard input a text file and +outputs a table formatted according to the requirements of the environment +\textsf{tabular}. +It is possible to output a table that can be pasted or included in a complete +\LaTeX{} file or to output a complete standalone \LaTeX{} file. + +Some basic formatting aids are provided. Refined features can be added later in +the \LaTeX{} code. + +The program must be run as follows: + +\begin{center} + \texttt{snobol4 -b tab4tex.sno [options] outputfile} +\end{center} + +\noindent{}If compiled or from a script: + +\begin{center} + \texttt{tab4tex [options] outputfile} +\end{center} + +Options are: + +\begin{description} + \item[a] align (center,left,right) + \item[r] number of rows + \item[b] vertical bar (y/n) + \item[c] complete \LaTeX{} document (y/n) + \item[h] hline (y/n) +\end{description} + +First and second argument are compulsory, 3rd, 4th and 5th optional (simple y/n +choice). For example use \texttt{c=y} if you want a complete \LaTeX{} document, +\textsf{c=n} if you want just a table to include in your document. + + +See the next section for some examples. + +\section{Examples and formatting aids} +\subsection{A simple example} +This is file \textsf{test1} provided in the package: + +\begin{center} + \begin{verbatim} + *Animals and friends* + !Cats! !Dogs! + ^John^ ^Martha^ ^John^ ^Martha^ + *Black* 2 5 5 0 + *White* 4 1 0 5 + *Red* 2 1 Not known + \end{verbatim} +\end{center} + + +These lines are very simple: + +\begin{verbatim} +*Black* 2 5 5 0 +*White* 4 1 0 5 +\end{verbatim} + +Each line is a row and cells are separated by tabs. Please notice: +\emph{tabs}, not empty spaces. + +The asterisks are used to produce bold text in the \LaTeX{} output. The program +provides this simple encoding: + +\begin{quote} + \begin{tabular}{ll} + *cell* & produces \textbf{cell}\\ + !cell! & produces \emph{cell}\\ + \^{}cell\^{} & produces \textsc{cell}\\ + \end{tabular} +\end{quote} + +The third line uses \texttt{}, meaning \emph{empty cell}: +\begin{center} + \begin{verbatim} + ^John^ ^Martha^ ^John^ ^Martha^ + \end{verbatim} +\end{center} + +Empty cells must be separated from the following ones as normal cells are, i.e. +using a tab. Please notice: \emph{tabs}, not empty spaces. In this line, observe +the use of \texttt{\^{}} to obtain small caps in the \LaTeX{} output. + +The second and the last row are using multicolumns, i.e. the text is expanded in +two ore more cells: + +\begin{center} + \begin{verbatim} + !Cats! !Dogs! + *Red* 2 1 Not known + \end{verbatim} +\end{center} + +The program uses a simple encoding to obtain a multicols output: precede the +string with \texttt{}, as in the above example. Multicols cells must +be separated from the following ones as normal cells are, i.e. using a tab. +Please notice: \emph{tabs}, not empty spaces. Observe the use of \texttt{!} to +obtain italics in the \LaTeX{} output. + +This is the final output: + +\footnotesize% +\begin{verbatim} +\begin{tabular}{|c|c|c|c|c|} + \hline + \multicolumn{5}{|c|}{\textbf{Animals and friends}} \\ + \hline + & \multicolumn{2}{|c|}{\emph{Cats}} & \multicolumn{2}{|c|}{\emph{Dogs}} \\ + \hline + & \textsc{John} & \textsc{Martha} & \textsc{John} & \textsc{Martha} \\ + \hline + \textbf{Black} & 2 & 5 & 5 & 0 \\ + \hline + \textbf{White} & 4 & 1 & 0 & 5 \\ + \hline + \textbf{Red} & 2 & 1 & \multicolumn{2}{|c|}{Not known} \\ + \hline +\end{tabular} +\end{verbatim} +\normalsize% + +This output was obtained with the following command line: + +\begin{center} + \begin{verbatim} + snobol4 -b tab4tex.sno r=5 a=c b=y h=y c=n test1.tex + \end{verbatim} +\end{center} + +The options used are: + +\begin{itemize} + \item \texttt{r=5} The number of rows. + \item \texttt{a=c} Cells are centered + \item \texttt{b=y} Vertical bar + \item \texttt{h=y} Horizontal bar + \item \texttt{c=n} Do not output a standalone \LaTeX{} file +\end{itemize} + +Please notice that only the first two options must be entered. If you answer +``no'' to any other option, you can simply omit it. + +\subsection{A more complex example} + +This example is a bit more complex% +\footnote{The table is quoted from +\url{http://www.maths.tcd.ie/~dwilkins/latexprimer/tables.html}. To see the real +file provided in the package set tabs at 12 or similar values and use a fixed +font.}. This is the input file: + + +\begin{verbatim} + Singular Plural + English *Gaeilge* *English* *Gaeilge* +1st Person at me *agam* at us *againn* +2nd Person at you *agat* at you *agaibh* +3rd Person at him *aige* at them *acu* + at her *aici* +\end{verbatim} + +The file combines empty cells and formatting instructions. This is the output: + +\footnotesize% +\begin{verbatim} +\begin{tabular}{|l|l|l|l|l|} + \hline + & \multicolumn{2}{|l|}{Singular} & \multicolumn{2}{|l|}{Plural} \\ + \hline + & English & \textbf{Gaeilge} & \textbf{English} & \textbf{Gaeilge} \\ + \hline + 1st Person & at me & \textbf{agam} & at us & \textbf{againn} \\ + \hline + 2nd Person & at you & \textbf{agat} & at you & \textbf{agaibh} \\ + \hline + 3rd Person & at him & \textbf{aige} & at them & \textbf{acu} \\ + \hline + & at her & \textbf{aici} & & \\ + \hline +\end{tabular} +\end{verbatim} +\normalsize% + +The output was obtained with the following command line: +\begin{center} + \begin{verbatim} + snobol4 -b tab4tex.sno r=5 a=l b=y h=y c=n test2.tex + \end{verbatim} +\end{center} + +Notice that this time we have used \texttt{a=l} and not \texttt{a=c}, so cells +will not be centered but left aligned. + + +\section{Installation} + +\subsection{GNU/Linux and other {*}nix systems} + +\begin{enumerate} + \item Install \textsf{snobol4} from \url{http://www.snobol4.org}. This is Philip Budne's + CSNOBOL implementation. You need a \texttt{c} compiler to compile the + interpreter; it's normally a very quick and easy process. +\item Make sure \textsf{snobol4} is in your PATH or make a symbolic link. +\end{enumerate} + +You can now run the program as follows: +\begin{center} + \begin{verbatim} + snobol4 -b tab4tex.sno [OPTIONS] output + \end{verbatim} +\end{center} + +If you prefer to avoid some typing, write the following line as first line of +the program: + +\begin{center} + \begin{verbatim} + #!/usr/local/bin/snobol4 -b + \end{verbatim} +\end{center} + +Adapt accordingly to your installation, e.g. + +\begin{center} + \begin{verbatim} + #!/usr/bin/snobol4 -b + \end{verbatim} +\end{center} + +Make the file \textsf{tab4tex.sno} executable, e.g. \texttt{chmod +x tab4tex.sno} + +Run the program as follows: + \texttt{./tab4tex.sno [options] output}\\ +If the current directory is in your PATH, you do not need \texttt{./} +before the program name. + +\subsection{Windows} + +The package offers an executable file compiled with Spitbol (see +\url{http://www.snobol4.com}), a powerful commercial Windows version of Snobol. +Make a directory and copy all the file provided in the \textsf{bin/windows} +directory. There must be one \texttt{exe} file and two \texttt{test{*}} files. + +Run the programs as follows: + +\begin{center} + \texttt{tab4tex [options] output}\\ +\end{center} + + +\subsection{Windows from source} + +Basically, follow the same directions given about GNU/Linux, but make sure to +use the \texttt{bat} files and to install the Windows version of the interpreter. +Before using the sources, that are in Unix format, use a script to translate +from Unix to Dos-Windows format. If you do not have such a script, open the +files with a text editor and save the sources in Windows-Dos format. This can be +done reading and saving each file with the DOS \textsf{edit} program, with +\textsf{vim} or any other editor able to deal with different file formats. +\subsection{Cygwin} + +I suggest to follow the same directions given for GNU/Linux, but the +EXE files provided for native Windows can be used anyway if preferred. + +\subsection{Macintosh} +Not yet tested (I do not have a Mac right now). It's in the TODO list. + +\section{Test files} +Please test the program on \textsf{test1.txt} and \textsf{test2.txt}. + +\section{Reference} + +\begin{tabular}{ll} +\multicolumn{2}{l}{OPTIONS} \\ +a & align (center,left,right) \\ +b & vertical bar (y/n) \\ +c & complete LaTeX document (y/n) \\ +h & hline (y/n) \\ +r & rows \\ +\end{tabular} + +\noindent{}\begin{tabular}{lll} +\multicolumn{3}{l}{FORMATTING CODES} \\ +*cell* & produces \textbf{cell} & bold \\ +!cell! & produces \emph{cell} & italics \\ +\^{}cell\^{} & produces \textsc{cell} & small caps \\ +\end{tabular} + +\section{Bugs and TODO} + +List of features that I would like to add: + +\begin{enumerate} + \item Escape sequences for \textsf{} and formatting codes + (\textsf{!*\^{}}). +\item Better support for multicol +\item Use of tabularx and longtab +\item Some more formatting aids. +\end{enumerate} + +\section{Acknowledgements} +My warmest thanks to \textsc{Phil Budne} (\url{phil@ultimate.com}) for making +his excellent CSNOBOL available. Many thanks to the community of Snobol users, +particularly to the members of the Yahoo Snobol group +\url{http://tech.groups.yahoo.com/group/snobol}, and, +among them, to \textsc{Gordon Peterson} (\url{http://personal.terabites.com/}), +\textsc{Michael Radow} (\url{mikeradow@yahoo.com}), \textsc{Gregory L. White} +(\url{glwhite@netconnect.com.au}) and to \textsc{Rafal M. Sulejman} +(\url{rafal@engelsinfo.de}) whose \textsf{vim} syntax files are a daily +blessing. + + +\section{Author, copyright, license, disclaimer} + +This program is Copyright \copyright{} 2007\\ +Guido Milanese <\url{guido.milanese@unicatt.it}>\\ +under the terms of the GNU General Public License.\\ + +\footnotesize{} + \begin{verbatim} +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License for more details. + +If you do not have a copy of the GNU General Public License write to the Free +Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +If the author of this software was too lazy to include the full GPL text along +with the code, you can find it at: http://www.gnu.org/copyleft/gpl.html. +\end{verbatim} +\normalsize{} + +\end{document} + -- cgit v1.2.3