MakeTable --------- Version 1.0 September 2003 by Andreas Balser a.ba@gmx.de http://www.geocities.com/makeTable Short Overview -------------- "MakeTable" is intented to make it easy to store scores (e.g. of your students) in a text file. This achieved by the following features: - the input is adjusted (the lines will be equally long, with a space at the end; so you can easily enter new scores without having to pay attention) - the averages of the scores are computed, and an output LaTeX-table is generated - after every run, makeTable asks you whether you want to mark the students which have one entry missing as absent for the last column Quickstart ---------- The program "maketable" does the actual job. However, it is more convenient to run the shell-script "makeTable" instead, since it invokes latex on the generated TeX-File. For the syntax of the input-file, maybe it suffices to look at sampleInput.tab (or sampleInputAfterExecution.tab). The download-package contains a linux binary. If this does not work, just compile maketable.cc using gcc; I use the command specified in "compile-command" to compile it. Syntax of the input file ------------------------ The name of the input file has to end with ".tab", but you must leave out the ".tab" on the command-line. The syntax is as follows: The first line is the heading (e.g. "Functional Analysis results") The second line is usually "maximum points" or similar, completely at your choice. The third line contains the maximally available scores (only numbers in the range 1-99 are supported) (this line is also used to find out how many entries in the lines of the students are to be expected). After that, the lines come in pairs: The first line of a pair contains the student's name (or birthday, social security number, etc.). The second line contains the results achieved in each column. A result may be a number (from 0 to 99), a "-" (for "absent"), or an "e" for "excused". An excused result will be neutral for the average which is to be computed (but compare the "-p" option!), while an "absent" entry counts as 0 points, but is not counted towards the "attendance". The columns may be separated by arbitrarily many spaces, tabs, etc. After executing "maketable", the columns will be right-aligned so that between two two-digit entries there is exactly one space. Options / Functionality ----------------------- The syntax is maketable filename (without .tab) [-p] [DiscardNumbers] [TotalNumberOfColumns] The "-p" / "points" option will be discussed below. By default, maketable computes the average of the students score: i.e. for every column, the ratio "students score / maximal score" is computed; these ratios are added and divided by the number of columns. As pointed out above, it is possible to excuse a student for some column, so that his result for this column will not count. Furthermore, it is possible to discard the worst n results for all students, as a bonus, say. This is achieved by specifying a number (which is less than the number of columns) at the command line. If you specify "TotalNumberOfColumns", a number greater than the number of columns in the file, then the output table will have empty columns on the right. You can use these to fill in the students' results before typing them into the input file. According to the above, it is clear that maketable can recognize what you mean if you specify one number as a command-line parameter only. makeTable generates a file called "filename.tex" (where "filename" is the name you gave as a command-line option), which contains a TeX-table with the scores and the average. Furthermore, the results and the name of the students are printed on the screen. This started out as debugging-output, but is quite useful since you can write the output to a file and sort, for example. The "-p" / "points" option -------------------------- The default behaviour is, as explained above, to give every column the same weight toward the result, independent of the number of points available. Apparently, one does not always want this (e.g. for results of exercises in an exam). Thus, by specifying "-p" in the comand-line, you can force maketable to add the results as points and print the sum. The disadvantage is that in this mode, excusing students and discarding worst results is not possible. Usage examples -------------- - when I had a small course to teach with weekly quizzes, I made use of the TotalNumberOfColumns-option to get a table where I filled in the results manually. Due to the alignment of the input-file, I could afterwards enter the results without looking at the computer screen (if the results were not aligned, you might not be at the correct position after pressing "down" twice). - when I had a big course with some teaching assistants, I made the assistants mail me the results in a format in which I could use the copy-rectangle function of emacs to put the results from the Email into the input-file. Also, I executed maketable once after every new results came in via mail, to have the previous result-rectangle moved out of the way for the next one to be pasted in. Here, it is useful to have the question "add ABSENCE-chars for the people missing": You can answer "no" while some results are still missing, but at the end the columns for students that did not participate this week need to be filled in to keep the file in order.