--- /tmp/tcode-0.1.20080918-3ag30iqhy/debian/tcode_0.1.20080918-3_all.deb +++ tcode_0.1.20080918-3_all.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2018-05-03 07:15:38.000000 debian-binary │ -rw-r--r-- 0 0 0 1108 2018-05-03 07:15:38.000000 control.tar.xz │ --rw-r--r-- 0 0 0 225816 2018-05-03 07:15:38.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 225252 2018-05-03 07:15:38.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./control │ │ │ @@ -1,12 +1,12 @@ │ │ │ Package: tcode │ │ │ Version: 0.1.20080918-3 │ │ │ Architecture: all │ │ │ Maintainer: Debian Java Maintainers │ │ │ -Installed-Size: 283 │ │ │ +Installed-Size: 282 │ │ │ Depends: default-jre, latex2html, texlive-bibtex-extra │ │ │ Section: java │ │ │ Priority: optional │ │ │ Homepage: http://www.iro.umontreal.ca/~simardr/ssj/ssj-source.html │ │ │ Description: create a Java file from an associated LaTex file │ │ │ Tcode is a precondition for libssj-java (SSJ) that creates a Java file from an │ │ │ associated LaTeX file. All SSJ code is written in LaTex format with special │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -4,15 +4,15 @@ │ │ │ -rwxr-xr-x 0 root (0) root (0) 250 2018-05-03 07:15:38.000000 ./usr/bin/texjava │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2018-05-03 07:15:38.000000 ./usr/share/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2018-05-03 07:15:38.000000 ./usr/share/doc/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2018-05-03 07:15:38.000000 ./usr/share/doc/tcode/ │ │ │ -rw-r--r-- 0 root (0) root (0) 3514 2008-09-16 16:18:54.000000 ./usr/share/doc/tcode/README │ │ │ -rw-r--r-- 0 root (0) root (0) 508 2018-05-03 07:15:38.000000 ./usr/share/doc/tcode/changelog.Debian.gz │ │ │ -rw-r--r-- 0 root (0) root (0) 1353 2018-05-03 07:15:38.000000 ./usr/share/doc/tcode/copyright │ │ │ --rw-r--r-- 0 root (0) root (0) 197065 2018-05-03 07:15:38.000000 ./usr/share/doc/tcode/tcode.pdf.gz │ │ │ +-rw-r--r-- 0 root (0) root (0) 196515 2018-05-03 07:15:38.000000 ./usr/share/doc/tcode/tcode.pdf.gz │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2018-05-03 07:15:38.000000 ./usr/share/doc-base/ │ │ │ -rw-r--r-- 0 root (0) root (0) 575 2018-05-03 07:15:38.000000 ./usr/share/doc-base/tcode │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2018-05-03 07:15:38.000000 ./usr/share/man/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2018-05-03 07:15:38.000000 ./usr/share/man/man1/ │ │ │ -rw-r--r-- 0 root (0) root (0) 462 2018-05-03 07:15:38.000000 ./usr/share/man/man1/texjava.1.gz │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2018-05-03 07:15:38.000000 ./usr/share/tcode/ │ │ │ -rw-r--r-- 0 root (0) root (0) 8185 2008-09-16 15:38:04.000000 ./usr/share/tcode/lmac.sty │ │ ├── ./usr/share/doc/tcode/tcode.pdf.gz │ │ │ ├── tcode.pdf │ │ │ │ ├── pdftotext {} - │ │ │ │ │ @@ -1,26 +1,26 @@ │ │ │ │ │ TCode │ │ │ │ │ User Guide │ │ │ │ │ Tools for documenting Java programs in LATEX │ │ │ │ │ -Version: May 3, 2018 │ │ │ │ │ +Version: October 11, 2021 │ │ │ │ │ │ │ │ │ │ This document describes facilities that help writing Java classes, together with detailed │ │ │ │ │ documentation of their application programming interface (API), in a single LATEX file. The │ │ │ │ │ LATEX package tcode offers special commands and environments for typesetting API documentation and user guides. It permits one to display certain parts of the code (e.g., method │ │ │ │ │ headers), hide others (e.g., method bodies and private variables), and explain the methods, │ │ │ │ │ variables, etc., in a uniform format. Although it is targeted to that language, it works not │ │ │ │ │ only for Java, but also for other programming languages such as C, C++, etc. LATEX will │ │ │ │ │ produce the documentation as a .dvi, .ps, or .pdf file. │ │ │ │ │ A Perl script called texjava produces a .java file by extracting the code form the .tex │ │ │ │ │ file. With the help of LATEX2HTML, texjava also transforms some of the documentation into │ │ │ │ │ Javadoc format, so that the javadoc program can later produce HTML documentation from │ │ │ │ │ the .java file. Another Perl script called javatex does the reverse transformation, recovering │ │ │ │ │ the .tex file from the .java file. │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 1 │ │ │ │ │ │ │ │ │ │ 1 INTRODUCTION 1 │ │ │ │ │ │ │ │ │ │ Introduction │ │ │ │ │ │ │ │ │ │ @@ -64,15 +64,15 @@ │ │ │ │ │ script can process only one .tex file at a time, one may create a Makefile to automate the │ │ │ │ │ generation process when dealing with many files. │ │ │ │ │ The tcode package. To use the commands of the tcode LATEX package, this one must be │ │ │ │ │ imported via the command │ │ │ │ │ \usepackage{tcode} │ │ │ │ │ This command will locate and load tcode.sty, so this file must be accessible in a directory │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 2 LAYOUT OF THE LATEX FILES 2 │ │ │ │ │ │ │ │ │ │ pointed to by the TEXINPUTS environment variable. The tcode package requires the html │ │ │ │ │ and alltt packages which should also be locatable through the TEXINPUTS environment │ │ │ │ │ variable. │ │ │ │ │ The code environment. The basic construct for identifying programming code in the │ │ │ │ │ @@ -107,15 +107,15 @@ │ │ │ │ │ them from the documentation, while part of the code of each method may already be in a │ │ │ │ │ hide environment (inside the code environment). In this case, the outer hide environment │ │ │ │ │ must begin and end outside any code environment. │ │ │ │ │ The hide environment has no effect on the code extracted by texjava in the sense that │ │ │ │ │ all hidden code goes to the .java file anyway. However, the hidden documentation will not │ │ │ │ │ appear in the HTML conversion produced by Javadoc. │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 2 LAYOUT OF THE LATEX FILES 3 │ │ │ │ │ │ │ │ │ │ No hiding. In case one wishes a documentation that contains all the code, including the │ │ │ │ │ method implementations and other private material, one can simply turn OFF the hiding │ │ │ │ │ mechanism of the hide environment with the command \hidefalse. It can be turned ON │ │ │ │ │ again with the command \hidetrue. However, turning the hide mechanism OFF will get │ │ │ │ │ @@ -153,15 +153,15 @@ │ │ │ │ │ documentation block, i.e., should not contain a code environment. Departure from that │ │ │ │ │ rule could prevent LATEX2HTML from writing the markers separating the blocks (i.e., the │ │ │ │ │ fields and methods), and empty documentation blocks could then appear for subsequent │ │ │ │ │ fields and methods. The script calls LATEX2HTML only once for the LATEX file given to it, so │ │ │ │ │ any modification of the LATEX parameters in one text block could have an impact on the │ │ │ │ │ subsequent blocks. │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 2 LAYOUT OF THE LATEX FILES 4 │ │ │ │ │ │ │ │ │ │ LATEX-only and HTML-only parts. Certain parts of the .tex files can be intended only │ │ │ │ │ for LATEX, others only for the HTML file. This can be specified by the usual commands and │ │ │ │ │ environments available in the html package (e.g., the latexonly, htmlonly, and rawhtml │ │ │ │ │ environments). │ │ │ │ │ @@ -200,17 +200,17 @@ │ │ │ │ │ Indenting documentation. The environments tab, tabb, and tabbb have been defined │ │ │ │ │ to indent the documentation and put it in a smaller font. These environments are normally │ │ │ │ │ used to describe fields and methods, they are ignored by LATEX2HTML, and produce the │ │ │ │ │ following results: │ │ │ │ │ This is a text indented with tab. │ │ │ │ │ This text is more indented because it is in a tabb environment. │ │ │ │ │ │ │ │ │ │ - 2 LAYOUT OF THE LATEX FILES 5 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ -May 3, 2018 │ │ │ │ │ +2 LAYOUT OF THE LATEX FILES 5 │ │ │ │ │ │ │ │ │ │ This text is still more indented because it is in a tabbb environment. │ │ │ │ │ │ │ │ │ │ Doc-comment tags for javadoc. The following LATEX commands are mapped by texjava │ │ │ │ │ to the corresponding javadoc doc-comment tags which are used to encode specific information │ │ │ │ │ about classes, fields, methods, etc. (see [2, chapter 7]). These doc comments will also appear │ │ │ │ │ in the LATEX documentation. For doc comments that are to appear only in the java and │ │ │ │ │ @@ -256,15 +256,15 @@ │ │ │ │ │ case, the signature argument will be empty. │ │ │ │ │ Examples: \method{density}{} and \method{density}{double} will generate the density │ │ │ │ │ label whereas \method{density(double)}{} will generate density(double). │ │ │ │ │ │ │ │ │ │ \externalmethod{package}{class-name}{method-name}{signature} │ │ │ │ │ Indicates the name of a method in another class. This is formatted in typed text in the LATEX │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 2 LAYOUT OF THE LATEX FILES 6 │ │ │ │ │ │ │ │ │ │ document, and converted to an hyperlink in HTML. The package name, class name and the │ │ │ │ │ signature will not appear in the label name. │ │ │ │ │ Example: \externalmethod{umontreal.iro.lecuyer.gof}{GofStat}{andersonDarling}{} │ │ │ │ │ will typeset andersonDarling │ │ │ │ │ @@ -301,15 +301,15 @@ │ │ │ │ │ \begin{code} │ │ │ │ │ public Complex add (Complex c)\begin{hide} { │ │ │ │ │ realPart += c.realPart; │ │ │ │ │ imagPart += c.realPart; │ │ │ │ │ return this; │ │ │ │ │ }\end{hide} │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 3 RUNNING TEXJAVA 7 │ │ │ │ │ │ │ │ │ │ \end{code} │ │ │ │ │ \begin{tabb} Adds two complex numbers. │ │ │ │ │ \param{c}{The complex number to add to this one.} │ │ │ │ │ \return{This object, allowing to perform more than one operation │ │ │ │ │ @@ -351,15 +351,15 @@ │ │ │ │ │ Here, texjava.pl has to be replaced by a path to the script if it is not executed in the │ │ │ │ │ tcode directory. Its arguments and options are as follows: │ │ │ │ │ infile │ │ │ │ │ The name of the input file, which should have the .tex extension. If the extension is not given │ │ │ │ │ and no file with such a name exists, .tex is appended to the file name. The input file is parsed │ │ │ │ │ but not modified. │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 3 RUNNING TEXJAVA 8 │ │ │ │ │ │ │ │ │ │ outfile │ │ │ │ │ The name of the output file. Normally, it should be a program file, e.g., with the .java │ │ │ │ │ extension. If no extension is specified, .java is assumed. When using the HTML option, .html │ │ │ │ │ is used. If no output file is given, the name of the input file is taken, with a .java or .html │ │ │ │ │ @@ -410,15 +410,15 @@ │ │ │ │ │ │ │ │ │ │ -htmlonly │ │ │ │ │ Indicates that the script only has to convert a LATEX document to HTML, not processing Java │ │ │ │ │ code blocks. This option is useful to convert overviews into package.html files. It is simpler │ │ │ │ │ and better than calling LATEX2HTML directly because texjava.pl passes a bunch of options │ │ │ │ │ to LATEX2HTML and transforms the .tex and .html contents to avoid some images from math │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 3 RUNNING TEXJAVA 9 │ │ │ │ │ │ │ │ │ │ formulas. │ │ │ │ │ │ │ │ │ │ -htmltitle title │ │ │ │ │ When using HTML-only mode, allows to give a title to the generated HTML file. This title will │ │ │ │ │ @@ -453,15 +453,15 @@ │ │ │ │ │ and the open brace. If one writes │ │ │ │ │ \begin{hide}{ │ │ │ │ │ LATEX will treat the rest of the file as an argument to the hide environment and an │ │ │ │ │ error will occur. │ │ │ │ │ • The method bodies should always be hidden, otherwise, the insertion point of the │ │ │ │ │ documentation may be incorrectly computed. │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 4 THE JAVATEX SCRIPT 10 │ │ │ │ │ │ │ │ │ │ • The first sentence of a doc comment is used by javadoc as a brief (a one-sentence │ │ │ │ │ summary) of the corresponding class, interface, field, or method. The first sentence │ │ │ │ │ of a LATEX documentation block which is to be converted to a doc comment should │ │ │ │ │ therefore be short and simple. It should not contain special commands, mathematical │ │ │ │ │ @@ -501,15 +501,15 @@ │ │ │ │ │ source files may have been produced by texjava, but not necessarily. For example, one may │ │ │ │ │ want to use a special editor for Java programs to edit the Java file and encode the LATEX │ │ │ │ │ documentation in it by hand, in the same format as it would have been saved by texjava. │ │ │ │ │ The Java source file intended for conversion should normally contain Java doc comments, │ │ │ │ │ of the form /** comments */, where comments can be any (multi-line) text. The contents of │ │ │ │ │ these comments is converted into LATEX documentation blocks for classes, interfaces, fields, │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 5 RUNNING JAVATEX 11 │ │ │ │ │ │ │ │ │ │ and methods. Other types of comments in the code are simply ignored and preserved intact │ │ │ │ │ into code blocks. │ │ │ │ │ The contents of HTML commented blocks of the form will be inserted directly into the LATEX document. This construct allows hiding LATEX code inside Java │ │ │ │ │ doc comments. Note that a doc comment should never begin with such an HTML comment, │ │ │ │ │ @@ -550,15 +550,15 @@ │ │ │ │ │ not modified. │ │ │ │ │ │ │ │ │ │ outfile │ │ │ │ │ The name of the output file, which should have the .tex extension. If outfile already exists, it │ │ │ │ │ will be replaced without notice, otherwise the file will be created in the working directory. If │ │ │ │ │ infile and outfile are the same, an error will occur. │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ 6 ANT TASKS 12 │ │ │ │ │ │ │ │ │ │ -tabsize i │ │ │ │ │ By using the -tabsize i option, where i is a non-negative integer, one can specify the number │ │ │ │ │ of spaces that corresponds to a tab character. The default value is 8. │ │ │ │ │ │ │ │ │ │ @@ -583,15 +583,15 @@ │ │ │ │ │ one must include tcode.jar in the CLASSPATH environment variable and declare the use │ │ │ │ │ tasks in the build.xml file, using the taskdef task. For example, to use texjava task, one │ │ │ │ │ must write, in the project section of build.xml, │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 13 │ │ │ │ │ │ │ │ │ │ -May 3, 2018 │ │ │ │ │ +October 11, 2021 │ │ │ │ │ │ │ │ │ │ Texjava │ │ │ │ │ This Ant task invokes texjava.pl to extract Java code from LATEX files. Given a list of │ │ │ │ │ files, it can invoke texjava.pl once for each, creating Java file that can be processed with │ │ │ │ │ Ant. The Texjava task checks for depencies, avoiding to run texjava.pl for .tex files │ │ │ │ │ with a more recent .java file. It acts like a proxy to texjava.pl so all of its options are │ │ │ │ │ supported by the task through attributes. It is possible to set default values for most of │ │ │ │ │ @@ -626,15 +626,15 @@ │ │ │ │ │ │ │ │ │ │ overviewtopackage │ │ │ │ │ Normally, any .tex file is mapped to a corresponding .java for dependency checking and │ │ │ │ │ conversion. If htmlonly is true, .tex files will be mapped to .html files. This attribute, if │ │ │ │ │ set to true, will define a mapping from overview.tex to package.html. This allows one to │ │ │ │ │ generate package overviews without converting them every time. │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ Texjava 14 │ │ │ │ │ │ │ │ │ │ Nested elements Two nested elements are supported: file sets and file lists. These elements allows one to construct the list of .tex files to be converted to .java files. │ │ │ │ │ texfileset │ │ │ │ │ Corresponds to an Ant FileSet element which should only contain .tex files. A set can include │ │ │ │ │ files matching patterns. │ │ │ │ │ @@ -674,15 +674,15 @@ │ │ │ │ │ │ │ │ │ │ public void setImages (boolean images) │ │ │ │ │ If set to true, LATEX2HTML will generate images when converting the documentation. │ │ │ │ │ │ │ │ │ │ public boolean getSavelatex() │ │ │ │ │ Returns true if the LATEX contents is saved to allow reverting to LATEX using javatex. │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ Texjava 15 │ │ │ │ │ │ │ │ │ │ public void setSavelatex (boolean savelatex) │ │ │ │ │ If set to true the LATEX contents will be saved in the produced Java file. │ │ │ │ │ │ │ │ │ │ public boolean getHtmlonly() │ │ │ │ │ @@ -730,15 +730,15 @@ │ │ │ │ │ │ │ │ │ │ public void execute() throws BuildException │ │ │ │ │ Executes the conversion task, using the Ant exec task to invoke texjava.pl on each .tex │ │ │ │ │ file. │ │ │ │ │ │ │ │ │ │ 16 │ │ │ │ │ │ │ │ │ │ -May 3, 2018 │ │ │ │ │ +October 11, 2021 │ │ │ │ │ │ │ │ │ │ PdfLatex │ │ │ │ │ This task allows one to automate the PDF documentation generation. It uses pdfLATEX to │ │ │ │ │ convert the LATEX documentation into PDF. To avoid errors when using the LATEX hyperref │ │ │ │ │ package, all .aux files are first deleted. The pdfLATEX program is then called one time to │ │ │ │ │ make an initial run. BIBTEX is called to generate to bibliography file, then pdfLATEX is │ │ │ │ │ called two more times to fix references and table of contents. It always runs pdfLATEX in │ │ │ │ │ @@ -761,15 +761,15 @@ │ │ │ │ │ │ │ │ │ │ public void setLatexfile (File latexFile) │ │ │ │ │ Sets the name of the LATEX file to be processed. │ │ │ │ │ │ │ │ │ │ public void execute() throws BuildException │ │ │ │ │ Executes the task. │ │ │ │ │ │ │ │ │ │ - May 3, 2018 │ │ │ │ │ + October 11, 2021 │ │ │ │ │ │ │ │ │ │ REFERENCES 17 │ │ │ │ │ │ │ │ │ │ References │ │ │ │ │ [1] ActiveState. ASPN: Reference—ActivePerl Docs, 2003. Available online at http:// │ │ │ │ │ aspn.activestate.com/ASPN/Reference/Products/ASPNTOC-ACTIVEPERL. │ │ │ │ │ [2] D. Flanagan. Java in a Nutshell. O’Reilly, Sebastopol, CA, third edition, 1999.