View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000538 | Cinelerra-GG | Feature | public | 2020-11-23 16:47 | 2021-03-01 17:08 |
| Reporter | sge | Assigned To | PhyllisSmith | ||
| Priority | none | Severity | feature | Reproducibility | N/A |
| Status | closed | Resolution | fixed | ||
| Summary | 0000538: Cinelerra manual in HTML form | ||||
| Description | Here I suggest the following: we can, after minimal adaptation, generate segmented hypertext Cinelerra manual in the HTML form via the latex2html translator from the same LaTeX sources from which the PDF manual is generated. You can quickly look on the result on my webserver at this link: http://nmr.nioch.nsc.ru/CinelerraGG_Manual/ or download the whole archived HTML manual to look locally (about 50 Mb): http://nmr.nioch.nsc.ru/CinelerraGG_Manual/CinelerraGG_Manual.tar.gz The patch against the manual sources from git of yesterday is attached here: CinelerraGG_Manual.diff.gz | ||||
| Additional Information | How to prepare manual for building both PDF and HTML versions at once. 1. Install latex2html translator as follows: 1a) Check your version of perl: perl -v Perl version 5.18 has bug which prevents latex2html from functioning correctly. The perl version must be either higher or lower, but not equal to 5.18. For example, both perl-5.10 and perl-5.22 are correct. 1b) The stock latex2html distribution will not (yet) do the job. It has to be patched. I have sent my patch to latex2html developers, perhaps they will implement it in their coming release, but just now it is not yet there. Download latex2html-2020.2 either from github: https://github.com/latex2html/latex2html/ or from my webserver (it is an exact copy of the original one): http://nmr.nioch.nsc.ru/latex2html/latex2html-2020.2.tar.gz Download latex2html patch from my webserver which is necessary for successful translation of Cinelerra manual: http://nmr.nioch.nsc.ru/latex2html/latex2html-2020.2.diff.gz The patch must be applied as usually: zcat latex2html-2020.2.diff.gz | patch -p1 Actually this BT is much more about latex2html development than Cinelerra :-) 1c) Install the necessary tools (if not yet there), most important netpbm. 1d) Install latex2html from the patched sources (example): zcat latex2html-2020.2.diff.gz | patch -p1 ./configure --prefix=/usr/local/lib/latex2html make make check make install ln -s /usr/local/lib/latex2html/bin/latex2html /usr/local/bin/latex2html The detailed installation instructions are in the latex2html source archive. 2. Prepare the Cinelerra manual itself: 2a) zcat CinelerraGG_Manual.diff.gz | patch -p1 In addition to few changes, there will be created several new files: html.sty, translate_manual, .latex2html-init, and rename-pngs. 2b) Execute the shell script rename-pngs There are several pictures in the directory 'images' with filenames which end with '.png'. But actually they are JPEG images, not PNG images. Pdflatex can correctly process such images despite incorrect extension, but latex2html has problems with them. rename-pngs renames these image files into '.jpg', this should be done once, then the renamed files rechecked into the manual's git. 2c) Now we are ready to translate the manual. html.sty is a package distributed as part of latex2html. I have put it into the manual top directory so that it could be found by latex independently from installation paths. .latex2html-init is an important file with latex2html settings. It can be adapted to some extent. For exampe, you can configure footer of generated HTML pages, title, etc. At the very end of .latex2html-init there are definitions of some latex commands to be ignored by the translator, don't remove them. translate_manual is a shell script which executes the necessary sequence of commands to produce PDF manual, and then HTML manual. Perhaps the files html.sty, translate_manual, and .latex2html-init are also subject to checking into git. The adaptations of the original Cinelerra manual are really minimal. Mostly they are '.png' changed to '.jpg' in several files, and several corrected typos. All the changes in packages and settings are made so that pdflatex simply will not see them, they all will be interpreted by latex2html only. Later any additions to the latex sources of the manual can be immediately actualized in HTML without any extra actions, except running translate_manual. | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
|
|
@sge This is GREAT news! I will have to study your steps because several of us frequently make small changes so will have to know how to keep both versions up to date. THANKS ! |
|
|
Great job. There is also pending work to turn the manual into asciidoc, but it is too early to know anything. Let's hear Sam's opinion for the inclusion in the website. Is it possible to integrate it in the help of CinGG? |
|
|
This is great news! Really great work Georgy. I'm delighted with your creative power. I welcome to have the manual as HTML too. On the webserver we have enough space to realize everything. I will check next weekend how we can integrate it on the server. But I will use my test server first before I use it on the live server. |
|
|
@Andrea_Paz: yes, it is quite possible to integrate HTML manual in the CinGG help, see an example in BT540. |
|
|
Daniel Gildea, current maintainer of latex2html, confirmed that he has included my changes in the master branch of the translator. So, next year it should not be necessary to patch latex2html for translation of Cinelerra manual any more. |
|
|
@Andrea_Paz In order to at least get rid of known JPEG images that are marked as PNGs (listed in rename-pngs and below), if you have time could you remake these as real pngs? For example, if you type "file plugin.png" you will see it says it is a JPEG file. I can do the two-monitor ones and other ones if necessary though. alt-ctrl.png auto.png capture01.png channels01.png channels02.png channels03.png hue_wheel.png info_asset_details.png overlays_list2.png plugin.png recording04.png remote01.png remote03.png scale01.png title05.png two-monitors02.png two-monitors03.png videoscope04.png volume_meter.png I am still working on following Georgy's instructions so that I can re-create the HTML version at the same time as updating the PDF version. |
|
|
@sge After following the instructions (without the latex2html patch yet), I managed to create an HTML version -- at least with errors that I caused. With Andrea's jpg-to-png changes that I checked into latex GIT today, rename-pngs can now be eliminated. Tomorrow I will apply the latex2html patch using the GITHUB version but I have to be careful to know what I am doing first in case I make a mistake. If all goes well then at some point as Georgy suggested the files html.sty, translate_manual, and .latex2html-init should be checked into git for ease of use. This is GREAT and the instructions are so easy to follow now that Georgy has done all of the hard work for us. |
|
|
@PhyllisSmith While translating document, latex2html always prints a couple of error/warning messages like that 'No implementation found for some style', or 'Unknown command', or whatever. Such messages should not alarm you as long as the translation result looks adequate. The standard reaction of latex2html on an unrecognized command or environment is trying to feed the unknown fragment to LaTeX to get an image (tikz or a complicated math, for example). Usually such workarounds succeed and the result looks good despite warnings about unrecognized constructs. |
|
|
@sge More testing progress here. I have checked into GIT all of the Cinelerra_GG_Manual.diff.gz changes so that is no longer needed. And I have successfully created the CinelerraGG_Manual directory with all the files BUT in checking the results so far (only up to Camera and Projector in Windows chapter) I have 4 problems that I am still working on. Again, this could just be me and I am quite sure that I applied the latex2html patch. 1) none of the \frac statements seem to work and I just end up with that statement. For example in Plugins.tex Title: + increases the size by ${\frac{{5}}{{4}}}$, - decreases ${\frac{{4}}{{5}}}$ or use a number > 0 but less than 2048 2) tikzpicture seems to not work. So for example in Snapshot / Grapshot instead of the image, I have: \begin{tikzpicture}[scale=1...{reticle.png}}; \end{tikzpicture} 3) on the first page I ended up with: \includegraphics[width=0.1\linewidth]{.././images/cin-logo} 4) The 3 pdf files in Windows.tex do not show up but just the original statement. All 4 look good in the HTML version supplied by you that is on the website. I have not yet had sufficient time to diligently figure this out yet but will try tomorrow. |
|
|
@PhyllisSmith This seems that generation of images in your installation does not work at all. Please try the following. 1. Clean the HTML directory (latex2html tries to cache images and the CSS file, so without cleaning you may not be able to reproduce the fresh run). rm -rf CinelerraGG_Manual 2. Translate manually with the modified options. '-nouse_dvipng -image_type gif' yields some more diagnostics and temporaries for problem analysis. Piping the output into a logfile can give additional info. latex2html -html_version 4.0,math -use_pdftex -nouse_dvipng -image_type gif -nofootnode -split +3 -link 3 -bottom_navigation -local_icons -t 'Cinelerra-GG Infinity' CinelerraGG_Manual.tex |& tee logfile 3. In the resulting CinelerraGG_Manual directory there should appear the files images.tex, images.pdf, and images-crop.pdf. The former is exactly that LaTeX source from which images are actually generated. The second is the PDF file with the images, exactly one image per PDF page. And the latter is PDF file where each page is cropped to contain the image and an optional marker for the determination of the exact location of image baseline. If images.tex does not exist (or does not resemble a legal LaTeX document), then latex2html itself has worked incorrectly. If images.tex looks OK but images.pdf doesn't, most likely it means that pdflatex cannot translate it for some reason. If images.pdf is OK but images-crop.pdf isn't, it means that pdfcrop did not work. If images-crop.pdf contains about 50 images, but still no images named 'img??.gif' then either gs (the GhostScript interpreter), or some of image converters from the Netpbm package does not work. You can send me: a) the logfile from the latex2html run b) the three images*.{tex,pdf} files, if any c) the configfile <latex2html install directory>/l2hconf.pm (/usr/local/lib/latex2html/l2hconf.pm provided that latex2html was installed in /usr/local/lib/latex2html) and I can look what happens. My email is: sge@nmr.nioch.nsc.ru |
|
|
Update: using Fedora which is often different in some aspects then the debian/ubuntu base O/S versions. I have not sent a logfile because I am not totally stuck yet and need to learn how to handle future problems too. When using "book" in CinelerraGG_Manual.tex all that was created was images.tex but no images.pdf or images-crop.pdf and images.tex looked good. Eventually I decided to switch back to "memoir" and then visually spot checked each page and compared it to the HTML manual Georgy created. It seemed mostly the same in looks. I noted one difference of concern (that I plan on checking out tomorrow) -- the footnotes did not come up with numbers but just a triangle-looking thing. But all of the images, including the pdf ones, showed up and all of the math equations (frac) were correctly translated. And images.tex and images.pdf were created with images.pdf having about 45 images in it. However, there was no images-crop.pdf file and yet nothing obvious looked bad in the end result HTML version. The "book" version has a difference from both the PDF manual and the "memoir" HTML version in the Shuttle key default arrangement -- it is missing the lines above/below the key layout. Both the "book" and "memoir" versions had 1 problem when using symbols for a figure that I have since just changed and checked into GIT (it is too trivial to spend a lot of time figuring out what went wrong) . 1) Expanders for Plugin Subtrees as in: Effects/Transitions or Audio Effects/Transitions. You can not sort once an expansion is in effect (figure 10.11$$,$&rtri#triangleright;$ = expander; "-" = options). 2) Shape Wipe (for "memoir" only) as in: Example of the Shape Wipe $\rightarrow$ Star Another problem both now have is the list of the Shape Wipes all of a sudden switch to Bold font whereas the PDF version does not. My guess is that it is because "asimetric" should really be spelled "asymetric" in english (smiley face here). And last the "Glossary" in both does not have its own section but is stuck on the end of Armandux Use Case. The index does work very well in the HTML version though. @Andrea_Paz I also checked in all of the changes you made to add more index entries. |
|
|
@PhyllisSmith On images* files: which ones will be created and which will not, depends on the actual image generation pipeline, which itself depends on the images format requested (latex2html option -image_type gif / png / svg), and on the actual algorithm employed (option -use_dvipng / -nouse_dvipng). The amount of diagnostics concerning image generation is also different as different program tools are involved in the 6 possible combinations of these options. IMHO, most informative disgnostics is provided when the older generation algorithm is used (-nouse_dvipng), and the GIF format is requested (-image_type gif). Therefore I personally prefer always to try -nouse_dvipng -image_type gif first, eliminate problems (if any), then choose evtl other appropriate algorithm and image format. When -nouse_dvipng -image_type gif works, then other combinations usually work too. What about the third option group, -use_pdftex / -nouse_pdftex / -use_luatex / -use_luadvi, they are important but depend on the document syntax: is the document written for plain latex (to produce DVI), or for pdflatex, or for the modern lualatex. In our case we have to do -use_pdftex. On the question which style to use: the various styles have only subtle influence on the result appearance. Latex2html has distinct modules for several styles like book, report, article, letter, amsbook, amsart, a few others. It has no special treatment for memoir, processes it nevertheless under some default settings. This is the reason why, for example, footnotes look differently for memoir and book. I'd recommend to switch the style temporarily to book for latex2html translation - then the result in some places looks slightly more beautiful - and then revert it back to memoir. Exactly this is specified in the translate_manual script. On diverse quirks you are describing. Latex2html tries but is not able to process *any* possible document. When some quirk is encountered, one can consider: either rewrite the problematic part of text (may be inside begin{latexonly} / begin{htmlonly}), or set the problematic command to be ignored, or try to implement the missing but highly desirable feature in latex2html. So I have implemented the listings package especially for this manual, and some particular options in other places which were used too often in the manual to edit them all. Latex2html does not like TeX commands inside captions and section names (sometimes it succeeds to translate them correctly, sometimes not) - it is because the captions are collected via the LaTeX *.aux files. This is exactly that what you report about ShapeWipe figure. Sometimes (fortunately rare) on encountering some complicated construction latex2html can loose opening or closing brace, and then the rest of the translation can be corrupted. Sometimes it can be difficult to find the right place which is responsible for that (try sequentially to comment/uncomment parts of document to localize the problem). Your reported problem of not reverted back font change may be some of this sort, such problems with font switching in latex2html are known. On Glossary: unlike Index, Glossary is not yet implemented in latex2html at all. Don't do anything with Glossary yet. I think, after you basically finish adjustment of your latex2html environment, I'll refetch the updated manual from git, and then mock up with Glossary somehow. Most likely, I'll end up with the implementation of the Glossary style for latex2html, and we will have it. When trying to figure out why something works under Fedora and works not under Ubuntu (or whatever), try to compare the latex2html system settings file l2hconf.pm (i wrote about in in my preceding note). Pay attention on the tools and their paths (search for example $PDFCROP, $PPMTOGIF, etc.) |
|
|
@sge Thanks for all of the previous hints. I was able to get it mostly working just fine with a little bit of modifications for Fedora. The Glossary is not a big concern to me. I checked into GIT your original html.sty and latex2html.init which is exactly what I used. Since I did not know for sure if GIT allowed for checking in as ".latex2html", that is with the dot at the beginning, I just added it without the dot (.). I also checked in your original translate_manual because it obviously works on non-Fedora. My Fedora version difference is only due to having to continue to use "memoir" which then required that I include "-numbered_footnotes". And I create the PDF document first with 1 script, check it out, and then have a separate script to create the HTML version (and I never use "rm" in a script since I always login as root). Both the PDF and HTML versions are updated on the website. |
|
|
@PhyllisSmith Very good! Getting something really new with few efforts is always nice. On .latex2html-init: there is a line near the beginning of the file with the assignment to the variable $ADDRESS. In the moment it sounds like 'The CINELERRA-GG Community, 2020' May be, shortly after the next edition in the manual you will have intent to change 2020 to 2021. On translate_manual: I created it just as an example and, to some extent, as a memo how to run latex2html. You were right to adapt the translation sequence to your LaTeX environment. On 'rm': don't forget however to perform the complete cleaning the HTML directory before running latex2html. The translator caches images and the CSS file from the preceding run. If the document was edited in the middle, new text with old images can produce a mess. As said, I'll do some experiments with the Glossary and then inform you. |
|
|
@PhyllisSmith Phyllis, I have won the glossary and references. Please reinstall latex2html in either of two alternative manners, whatever is more convenient to you: a) You can checkout the github master branch from https://github.com/latex2html/latex2html/ and apply the patch latex2html-201224.diff.gz (the patch is attached here). b) Or you can untar the version latex2html-2020.2 (same as I recommended earlier) but this time apply the other patch latex2html-2020.2.diff2.gz (also attached here). This patch includes all the previous features (lstlisting support, etc.) plus the Glossary features, everything in one patch. Then install this new patched latex2html same as before. Then apply the following patch to the CinelerraGG_Manual sources: CinelerraGG_Manual-201224.diff.gz. It is patch against the manual sources as checked out on 24.12.2020. The patch is also attached here. There are very few changes: common/settings.tex: the conditional redefinition of \nameref goes away. I have implemented \nameref in the latex2html translator. parts/Real-World.tex: small font made conditional. Latex2html does not like font changes outside braces. Here it could not correctly revert back to normal font after \small{\url{...}}. translate_manual: I changed this translation example to reflect implemented translation of Glossary. Now the answers to your comments to BT540. 1) The Glossary should now work correctly. Implemented in the latex2html translator. 2) As you mentioned, the cross references include both the number of a section (figure) and the caption. I have added to the latex2html translator two new options: -cut_ref_num - cut the caption number from the reference text -cut_ref_name - cut the caption name from the reference text You can play with these options and choose, which one will look nicer. To get caption numbers only, without names (as in LaTeX), you have to use the option -cut_ref_name (look in the patched translate_manual). |
|
|
@sge Thanks for the changes and good/clear instructions. - I have been using latex2html-2020.2 so used that again and applied the patch latex2html-2020.2.diff2.gz . - I had a hard time making a decision of which I liked best -- cut_ref_name or cut_ref_num? but ended up with cutting the name. - Also changed .latex2html-init date from 2020 to 2021. - Checked into GIT all of the necessary changes and updated both the HTML and PDF manuals on the website. There is one problem in the Glossary - I am using "memoir" but tested "book" also. And the problem is sometimes it is not lined up nicely but it can just be ignored in my opinion. You can see this if you look at "Aliasing" in the HTML version Glossary on the website. @Sam The section names are now the long names instead of the node#.html names. I found the 3 out of 500 conflicting section names and renamed them so there are no duplicate names overwriting. These names are more helpful, although you have to remember to add the underlines between words and some words are abbreviated or cut off and capitalization matters. Using the long names results in duplicate numbers for the footnotes but they can just be ignored. |
|
|
@PhyllisSmith Glad to hear there was a solution for that after all. It will be easier for search engines to index them better and users will be able to find the content they are looking for faster. Thanks for the effort. |
|
|
@PhyllisSmith Thanks also from me. Good that the project part, touched by the introduction of latex2html in the build process, has stabilized and became successful. Please actualize the translation options you are using, in the translate_manual script, for later reference. I did not understand the nature of the problem you report for Glossary (under "Aliasing"). In the browsers I have tested Glossary looks OK, on the website as well as in my local directory. I tested it with Firefox, Chrome, Konqueror, Safari. By the way, the \nomenclature command which is used to populate Glossary allows LaTeX commands both in the description part and in the item part. It is quite possible, when desired, to put a \label in the \nomenclature item and to put a \hyperref to it in that place of the manual where such item is mentioned. Then it will appear as the corresponding link to the description in the HTML manual. And it is allowed to place \nomenclature definitions anywhere in the document, similarly to Index commands. I have found the file "images/render.jpg", although render.png also exists. Perhaps, render.jpg has to be removed from git. I am communicating with Dan Gildea, the current maintainer of latex2html, on the actual form of the added latex2html options. Depending on the actual option names, as they will be checked in the latex2html's git, there may come one more subtle change to the translation script - later, after the next latex2html release appears. Perhaps don't close this issue yet. |
|
|
@sge I will update translate_manual and check it in. Attached is what Glossary looks like here from website and local file for me, but I use Fedora O/S and am not very good at setup so do not be concerned about it. I need to delete the .jpg files from the website CinelerraGG_Manual directory too and will check on render.jpg in GIT and will delete it. Will wait to close this issue (and 540?) until latex2html gets updated -- very exciting that Dan will incorporate these great improvements ! (Oops, see next note for attachment) |
|
|
It is just me! |
|
|
@PhyllisSmith I understand now the reason for strange indentations in Glossary. It is due to strange parameters of the bold font. You can see that each second line of a multiline Glossary description is indented exactly as the first line. It is controlled not by latex2html, but by the browser. Perhaps the depth of glyphs in this font is slightly bigger, and it leads to such indentation. You can notice that the description preceding to 'Aliasing' is exactly one line long. The word 'Aliasing' occupies the second line, therefore is indented equally. The second line under 'Aliasing' is indented yet more, but the third line has a normal indentation again. Browser is responsible for such a formatting. Perhaps with other browser, or with other fontset it will look differently. In principle, it is possible to modify Glossary processing in latex2html to yield pages formatted in a way similar to the description list in https://cinelerra-gg.org/download/CinelerraGG_Manual/Track_Popup_Menu.html. Do you mean that such Glossary, with new line after each item, will look better? I don't want BT540 being closed yet. I am planning to experiment with keystrokes a bit more, to get some kind of a context help in CinGG. So let's leave it also opened. I suspended my playing with it because it depends on the HTML manual itself, and stabilizing this form of the manual was of a higher priority. |
|
|
@sge Thanks for explanation of textbf issue. I switched to color CinBlueText after not finding a way to use my own definition of textBF for a different font. I think I like blue better anyway so I checked it into GIT. Have not updated the HTML and PDF manuals on the website yet though. Will leave 538/540 as expected. |
|
|
@PhyllisSmith I meant the browser's font, not the LaTeX font. For example, my browser (Firefox, for example) on my OS (Slackware-14.1) selects some other font to reflect textbf-like properties, this font has a regular depth, and the indentation by me looks normally. You can test the Glossary webpage with some other browser, and the wrong indentation will quite likely disappear. |
|
|
@sge I understood that it was a browser problem and not the LaTeX font but I wanted to change it to blue anyway. I have updated the HTML and PDF manuals on the website so Andrea can check the Glossary for HTML and hopefully says that the change is acceptable to him too. |
|
|
Of course, the glossary with the blue entries is fine; it's very nice! |
|
|
@PhyllisSmith @Andrea_Paz Phyllis, Andrea, here is a small archive attached, with Glossary-old.html (that, which was generated before changing textbf to blue colored text), Glossary-new.html (a variant formatted so that each item's description starts on a new line, like for Index entries and description environments), and CinelerraGG_Manual.css which is needed as its styles are requested by both html files. Please unpack these somewhere and compare the look of Glossary-new with Glossary-old (this time ignoring color). Which formatting style is better? Either we leave Glossary formatting as it is, or change it (as in '-new'), in the latter case I'll ask Dan to update the nomencl processing in the latex2html's git repository. |
|
|
Awesome; any of your additions are great! |
|
|
@sge @Andrea_Paz "Which formatting style is better?" -- in my opinion, Glossary-new is better and a lot easier to read because all of the descriptions start in the same spot on a new line. I agree, Awesome. |
|
|
@PhyllisSmith In attachment you find nomencl.perl, put this file in the /styles/ subdir of your latex2html installation replacing the older version of nomencl.perl. The true reinstallation or reconfiguration of latex2html is not necessary, replacing this single file is sufficient. Then translated manual will come out with Glossary in the 'new' style. nomencl.perl (4,466 bytes)
# -*- perl -*-
#
# $Id: $
#
# nomencl.perl
# Georgy Salnikov <sge@nmr.nioch.nsc.ru> 27/12/20
#
# Extension to LaTeX2HTML V2020 to partly support the "nomencl" package
#
# $Log: $
#
# Note:
# This module provides reading and translation of the nomenclature (.nls) file
# generated by makeindex from the .nlo file (the latter being created by LaTeX)
# makeindex <file>.nlo -s nomencl.ist -o <file>.nls
#
# The commands \makenomenclature and \nomenclature are taken into account by
# LaTeX and silently ignored by this module as the result only is interpreted.
#
# thenomenclature environment generated by makeindex contains the commands
# \nomgroup, \nomeqref, \nompageref which are also ignored.
#
# Package option [intoc] and the \nomname definition are taken into account
# by \printnomenclature to ensure generation of proper heading and segmenting.
#
# The rest of the nomencl package is not yet implemented.
package main;
# for debugging only
#print "\nUsing nomencl.perl\n";
# Just mark the existence of the option for the later checking
sub do_nomencl_intoc {
$styles_loaded{'nomencl_intoc'} = 1;
}
# Explicitly cancel the default option
sub do_nomencl_notintoc {
delete ($styles_loaded{'nomencl_intoc'})
if (exists ($styles_loaded{'nomencl_intoc'}));
}
# .nls file is very similar to a \begin{description} environment
sub do_env_thenomenclature {
local($_) = @_;
# # The following 3 function calls would yield a compact list
# $_ = &list_helper($_, 'DL');
# $_ = &translate_environments($_);
# $_ = &translate_commands($_);
# The following generates a normal description environment
# Evtl catch nested lists
&protect_useritems($_);
s/\n?$item_description_rx\s*($labels_rx8)?\s*/"\n<\/DD>\n<DT>".
(($9)? "<A ID=\"$9\"><STRONG>$1<\/STRONG><\/A>"
: "<STRONG>$1<\/STRONG>") ."<\/DT>\n<DD>"/egm;
$_ = &translate_environments($_);
$_ = &translate_commands($_);
# just for safety in case the description is empty ...
s/\n?\\item\b\s*([^$letters\\]|)\s*/\n<\/DD>\n<DT><\/DT>\n<DD>$1/gm;
s/^\s+//m;
# Wrap the whole description with the appropriate opening/closing tags
$_ = '<DD>'.$_ unless ($_ =~ s/^\s*<\/D(T|D)>\n?//s);
$_ =~ s/\n$//s;
"<DL>\n$_\n</DD>\n</DL>";
}
# Generate nomenclature with heading and optional sectioning
sub do_cmd_printnomenclature {
local($_) = @_;
local($dum1, $dum2, $after);
($dum1,$dum2) = &get_next_optional_argument; # discard optional argument
$after = $_;
# Make the appropriate heading
local($br_id, $title);
if ((defined &do_cmd_nomname) || $new_command{'nomname'}) {
$br_id = ++$global{'max_id'};
$title = &translate_environments("$O$br_id$C\\nomname$O$br_id$C");
} else { $title = $nom_title; }
$nomfile = $CURRENT_FILE; # sets $nomfile this globally
# Ensure also segmenting if intoc requested
$toc_sec_title = $TITLE = $title if ($styles_loaded{'nomencl_intoc'});
# Load and interpret .nls file
local($EXTERNAL_FILE) = '';
unless (&process_ext_file('nls')) { # *** BINDS $_ as a side effect ***
print "\nCannot open $FILE.nls: $!\n";
&write_warnings("\nThe nomenclature file was not found.");
$_ = "\n<H2>No Nomenclature!</H2>\n";
}
# Put the result in the right place
local($closures,$reopens) = &preserve_open_tags();
join('', "<BR>\n", $closures,
&make_section_heading($title, $section_headings{'nomenclature'}),
$_, $reopens, $after);
}
## Discard all arguments, the following white space and possible paragraphs.
## Simple ignoration leaves repeated unnecessary <P>'s.
## Changed to a special ignoration followed by regular expression.
## Left here in commented out form just for reference/debugging.
#sub do_cmd_nomenclature {
# local($_) = @_;
#
# local($dum1, $dum2);
# ($dum1,$dum2) = &get_next_optional_argument;
# $dum1 = &missing_braces unless (
# (s/$next_pair_pr_rx/$option=$2;''/eo)
# ||(s/$next_pair_rx/$option=$2;''/eo));
# $dum2 = &missing_braces unless (
# (s/$next_pair_pr_rx/$option=$2;''/eo)
# ||(s/$next_pair_rx/$option=$2;''/eo));
# s/^(\s*<P>)*\s*/\n/;
#
# $_;
#}
&ignore_commands (<<_IGNORED_CMDS_);
makenomenclature
nomenclature # [] # {} # {} # s/^(\\s*<P>)*\\s*/\\n/;
nomgroup # {}
nomeqref # {}
nompageref # {}
nomrefeq
nomrefpage
nomrefeqpage
nomnorefeq
nomnorefpage
nomnorefeqpage
_IGNORED_CMDS_
&process_commands_wrap_deferred (<<_RAW_ARG_DEFERRED_CMDS_);
printnomenclature # []
_RAW_ARG_DEFERRED_CMDS_
1; # Must be last line
|
|
|
@sge It worked flawlessly. I did not update the HTML manual on the website yet and I do want to keep the blue instead of the bold for the entries as long as no one objects -- the bold is just too bright. |
|
|
@PhyllisSmith Phyllis, take another version from this attachment, nomencl-nobold.perl, rename it to nomencl.perl and place into latex2html/styles - you should get Glossary formatted with descriptions starting from newline, but without items automatically forced to bold font. So, in your case they should come out regular blue. nomencl-nobold.perl (4,434 bytes)
# -*- perl -*-
#
# $Id: $
#
# nomencl.perl
# Georgy Salnikov <sge@nmr.nioch.nsc.ru> 27/12/20
#
# Extension to LaTeX2HTML V2020 to partly support the "nomencl" package
#
# $Log: $
#
# Note:
# This module provides reading and translation of the nomenclature (.nls) file
# generated by makeindex from the .nlo file (the latter being created by LaTeX)
# makeindex <file>.nlo -s nomencl.ist -o <file>.nls
#
# The commands \makenomenclature and \nomenclature are taken into account by
# LaTeX and silently ignored by this module as the result only is interpreted.
#
# thenomenclature environment generated by makeindex contains the commands
# \nomgroup, \nomeqref, \nompageref which are also ignored.
#
# Package option [intoc] and the \nomname definition are taken into account
# by \printnomenclature to ensure generation of proper heading and segmenting.
#
# The rest of the nomencl package is not yet implemented.
package main;
# for debugging only
#print "\nUsing nomencl.perl\n";
# Just mark the existence of the option for the later checking
sub do_nomencl_intoc {
$styles_loaded{'nomencl_intoc'} = 1;
}
# Explicitly cancel the default option
sub do_nomencl_notintoc {
delete ($styles_loaded{'nomencl_intoc'})
if (exists ($styles_loaded{'nomencl_intoc'}));
}
# .nls file is very similar to a \begin{description} environment
sub do_env_thenomenclature {
local($_) = @_;
# # The following 3 function calls would yield a compact list
# $_ = &list_helper($_, 'DL');
# $_ = &translate_environments($_);
# $_ = &translate_commands($_);
# The following generates a list similar to description environment
# Evtl catch nested lists
&protect_useritems($_);
s/\n?$item_description_rx\s*($labels_rx8)?\s*/"\n<\/DD>\n<DT>" .
(($9) ? "<A ID=\"$9\">$1<\/A>" : $1) . "<\/DT>\n<DD>"/egm;
$_ = &translate_environments($_);
$_ = &translate_commands($_);
# just for safety in case the description is empty ...
s/\n?\\item\b\s*([^$letters\\]|)\s*/\n<\/DD>\n<DT><\/DT>\n<DD>$1/gm;
s/^\s+//m;
# Wrap the whole description with the appropriate opening/closing tags
$_ = '<DD>'.$_ unless ($_ =~ s/^\s*<\/D(T|D)>\n?//s);
$_ =~ s/\n$//s;
"<DL>\n$_\n</DD>\n</DL>";
}
# Generate nomenclature with heading and optional sectioning
sub do_cmd_printnomenclature {
local($_) = @_;
local($dum1, $dum2, $after);
($dum1,$dum2) = &get_next_optional_argument; # discard optional argument
$after = $_;
# Make the appropriate heading
local($br_id, $title);
if ((defined &do_cmd_nomname) || $new_command{'nomname'}) {
$br_id = ++$global{'max_id'};
$title = &translate_environments("$O$br_id$C\\nomname$O$br_id$C");
} else { $title = $nom_title; }
$nomfile = $CURRENT_FILE; # sets $nomfile this globally
# Ensure also segmenting if intoc requested
$toc_sec_title = $TITLE = $title if ($styles_loaded{'nomencl_intoc'});
# Load and interpret .nls file
local($EXTERNAL_FILE) = '';
unless (&process_ext_file('nls')) { # *** BINDS $_ as a side effect ***
print "\nCannot open $FILE.nls: $!\n";
&write_warnings("\nThe nomenclature file was not found.");
$_ = "\n<H2>No Nomenclature!</H2>\n";
}
# Put the result in the right place
local($closures,$reopens) = &preserve_open_tags();
join('', "<BR>\n", $closures,
&make_section_heading($title, $section_headings{'nomenclature'}),
$_, $reopens, $after);
}
## Discard all arguments, the following white space and possible paragraphs.
## Simple ignoration leaves repeated unnecessary <P>'s.
## Changed to a special ignoration followed by regular expression.
## Left here in commented out form just for reference/debugging.
#sub do_cmd_nomenclature {
# local($_) = @_;
#
# local($dum1, $dum2);
# ($dum1,$dum2) = &get_next_optional_argument;
# $dum1 = &missing_braces unless (
# (s/$next_pair_pr_rx/$option=$2;''/eo)
# ||(s/$next_pair_rx/$option=$2;''/eo));
# $dum2 = &missing_braces unless (
# (s/$next_pair_pr_rx/$option=$2;''/eo)
# ||(s/$next_pair_rx/$option=$2;''/eo));
# s/^(\s*<P>)*\s*/\n/;
#
# $_;
#}
&ignore_commands (<<_IGNORED_CMDS_);
makenomenclature
nomenclature # [] # {} # {} # s/^(\\s*<P>)*\\s*/\\n/;
nomgroup # {}
nomeqref # {}
nompageref # {}
nomrefeq
nomrefpage
nomrefeqpage
nomnorefeq
nomnorefpage
nomnorefeqpage
_IGNORED_CMDS_
&process_commands_wrap_deferred (<<_RAW_ARG_DEFERRED_CMDS_);
printnomenclature # []
_RAW_ARG_DEFERRED_CMDS_
1; # Must be last line
|
|
|
@sge HTML version on website is now updated. I tested the nomencl-nobold.perl but used the original instead as it looked better. Andrea and I fixed the problem with the duplicate footnote numbers by moving them away from the section/subsection titles. So now it looks better. I have no open issues here so I "think" we are now only waiting for Dan to release all of the SGE improvements and additions to latex2html. |
|
|
@PhyllisSmith Current status of latex2html concerning translation of CinelerraGG manual. Latex2html version 2021 was released on Janyary 1 and is available from github: https://github.com/latex2html/latex2html/archive/v2021.tar.gz This version could translate CGG manual somehow, but it does not have yet nomencl and nameref support. My recent developments have been checked in latex2html github and are available in the master branch. They are: 1) Nomenclature support (nomencl.sty, already used in CGG manual in the form of a patched latex2html) 2) nameref.sty support (already used in CGG manual in the patched form) 3) Corrected \centering command (new, not yet applied for CGG manual translation environment) 4) Corrected footnote counters which do not screw up any more if used in sections or captions (new, not yet applied for CGG) 5) Implemented support for the documentclass memoir (new, not yet applied for CGG) To get these new features, it is possible either: a) wait until a next latex2html release (although I don't know how long to wait) b) fetch the current master branch from latex2html github and install it c) download latex2html version 2021 from github (https://github.com/latex2html/latex2html/archive/v2021.tar.gz), apply the attached patch latex2html-2021.diff.gz and install After installation of the new mentioned version of latex2html, the CGG manual translation environment can be patched with the attached CinelerraGG_Manual-210205.diff.gz: common/settings.tex: several %begin{latexonly} / %end{latexonly} brackets are unnecessary any more, due to intrinsic memoir support. They are not conflicting, but simply redundant now. .latex2html-init: settocdepth # {} can be removed from &ignore_commands (redundant due to memoir support). translate_manual: The option -numbered_footnotes is not needed any more: due to memoir support the footnotes will be numbered correctly with the same numbers as in PDF (even if used inside section names) The option -cut_ref_name does not exist any more and has to be removed. The default behavior is now to cut them; if the ref names are needed, they can be explicitly added with another option -add_ref_name You can try to use the additional option -show_section_numbers: the items in the lists of figures and tables will then get the same numbers as in PDF. Surprisingly, the Index will then display section numbers instead of section names - perhaps I can figure out where it comes from. |
|
|
Thanks for the update -- and especially for all the hard work to get the Cinelerra changes into latex2html source. I have downloaded the 2 diff.gz files so that I have them here local. |
|
|
@PhyllisSmith I found the correction to latex2html which enables section names in Index when -show_section_numbers is used. I have submitted the patch to the maintainer for approval. After its acceptance without further changes, I will inform you again about the actual possibility to evaluate the result of translation with -show_section_numbers. |
|
|
@PhyllisSmith Dan has committed my last change regarding -show_section_numbers to the latex2html git. Now section numbers and Index are not conflicting. To get latex2html with these corrections, fetch latex2html-2021 as mentioned in my preceding note, apply latex2html-2021.diff.gz (also mentioned in that note), apply additionally latex2html2.diff.gz attached here, and reinstall. Or, alternatively, install latex2html master branch. To try Cinelerra manual translation with section numbers, apply in the manual tree the patch CinelerraGG_Manual-210205.diff.gz (mentioned in the preceding note), and additionally CinelerraGG_Manual-210205-2.diff.gz attached here. The latex2html option -show_section_numbers is added to the latex2html command line in the translate_manual script as an example (after applying the patches). You can control the length of the phrase (in words) used in the section name references in navigation panels at the top and bottom of HTML pages through the configuration variable $WORDS_IN_NAVIGATION_PANEL_TITLES defined in the file .latex2html-init. Analogously, you can control phrase lengths taken from the section names in Index via the variable $WORDS_IN_INDEX, after uncommenting it in .latex2html-init. You can also control which words should not be counted in such phrases used for navigation, via the special variable $GENERIC_WORDS defined in l2hconf.pm (they are "and|the|of|for|by|a|an|to" by default). L2hconf.pm resides in the latex2html installation directory as a system-wide configuration. Now I think, adaptation of latex2html and the translation technique to CGG manual can be considered finalized, and Issue 538 can be closed. I am still going to experiment somehow to get keystroke-driven context dependent invocation of the HTML manual from Cinelerra, so let us leave Issue 540 open for some more time. |
|
|
@sge Great! I will checkout the latest GIT, test it and then close this. Thanks for all your time. |
|
|
@sge It took me a long time to try this because I wanted to install it on another computer so that I had an easy backup. Problem: Glossary.html file is now not being generated and Glossary not in the Contents. Method of installation (after installing missing stuff on older Fedora laptop): 1) I downloaded to install latex2html master branch clicking on the zip file, latex2html-master.zip, at: https://github.com/latex2html/latex2html 2) patched withCinelerraGG_Manual-210205.diff.gz and additionally CinelerraGG_Manual-210205-2.diff.gz 3) tested the addition of -show_section_numbers so that section numbers and Index are not conflicting? BUT I did not like it !! because now all of the .html files start with #_chapter_title_name instead of chapter_title_name and it does not look as pretty in the index and I thought it might be harder for users to find what they wanted to see directly without having to go through the Contents. This is just my opinion though and I can be persuaded of the necessity of adding the section numbers for a good reason. Potential problem that I have not looked into yet. The 46 gif files before are now svg files in the directory. Not sure if this is a problem or not. |
|
|
@PhyllisSmith I tested the whole stuff once again just now with the contents freshly checked out. 1) Downloaded https://github.com/latex2html/latex2html/ 2) unzip latex2html-master # I need the three lines with '/usr/local/new/bin' because the perl # version installed in my system is inappropriate, v5.18.1, I have a # correct version v5.22.2 is in /usr/local/new export PATH=/usr/local/new/bin:$PATH hash -r ./configure --prefix=/usr/local/lib/latex2html --with-perl=/usr/local/new/bin/perl make make check make install 3) edit /usr/local/lib/latex2html/l2hconf.pm: line 63 - to create gif instead of default svg: @IMAGE_TYPES = qw(gif png svg); line 1103 - same for icons: foreach $typ ('gif', 'png') { line 1130 - choosing icons type: %icons = %{"icons_gif"}; 4) checkout manual zcat ../CinelerraGG_Manual-210205.diff.gz | patch -p1 zcat ../CinelerraGG_Manual-210205-2.diff.gz | patch -p1 # The dot-initfile is actually used ! cp latex2html-init .latex2html-init 5) # Create .aux files pdflatex CinelerraGG_Manual.tex # Create Index makeindex CinelerraGG_Manual.idx # Create Glossary makeindex CinelerraGG_Manual.nlo -s nomencl.ist -o CinelerraGG_Manual.nls # Update .aux files, 2-nd run (cross refs changed) pdflatex CinelerraGG_Manual.tex # Update Index, 2-nd run (cross refs changed) makeindex CinelerraGG_Manual.idx # Update .aux files, 3-rd run (cross refs changed) pdflatex CinelerraGG_Manual.tex Review CinelerraGG_Manual.pdf if everything right. 6) # Safety step as latex2html tries to reuse some results from the previous run rm -rf CinelerraGG_Manual latex2html -html_version 4.0,math -use_pdftex -nouse_dvipng -long_titles 5 -image_type gif -nofootnode -split +3 -link 3 -bottom_navigation -local_icons -t 'CinelerraGG_Manual' CinelerraGG_Manual.tex # This picture has to be copied explicitly cp images/cin-big.png CinelerraGG_Manual # Clean up rm -f CinelerraGG_Manual/WARNINGS rm -f CinelerraGG_Manual/*.pl rm -f CinelerraGG_Manual/images* 7) firefox CinelerraGG_Manual/CinelerraGG_Manual.html Now everything looks by me as usually. There exists Glossary.html, and it is referenced in the Contents. Perhaps you might miss it if you did not execute the following command: makeindex CinelerraGG_Manual.nlo -s nomencl.ist -o CinelerraGG_Manual.nls This particular command generates the actual Glossary file 'CinelerraGG_Manual.nls' which is then processed by latex2html. If latex2html finds no such file, it assumes that Glossary is not used and skips it completely. On -show_section_numbers: I did not insist on it, I just wanted that you could test the result and make the decision, what looks better. Btw, the latex2html's default is not to use section numbers as it motivates the usage of distinct HTML pages as separate subdocuments. On svg files: they are generated by latex2html by default. To have gifs instead of svgs, use '-image_type gif' and, may be (although perhaps not absolutely necessary) adapt l2hconf.pm as I wrote above. My version of l2hconf.pm is attached, you can diff it with yours one. l2hconf.pm (41,255 bytes)
# LaTeX2HTML l2hconf.pm
# $Id: l2hconf.pin,v 1.17 2002/06/15 22:46:36 RRM Exp $
package main;
use vars qw(%used_icons);
# Setting this variable to where your perl executable resides can lead to
# better performance on some platforms.
#
# It is advisable to do this on an Intel system; e.g.
# $PERL='g:/usr/bin/perl_.exe';
#
# On a unix system it may be best left empty, or set as in:
# $PERL='/usr/local/bin/perl';
#
$PERL = '/usr/local/new/bin/perl';
# ############### THESE VARIABLES ARE DETERMINED BY CONFIGURE ################
# Give the paths to latex and dvips on your system:
#
$LATEX = '/usr/local/texlive/2017/bin/x86_64-linux/latex'; # LaTeX
$PDFLATEX = '/usr/local/texlive/2017/bin/x86_64-linux/pdflatex'; # pdfLaTeX
$LUALATEX = '/usr/local/texlive/2017/bin/x86_64-linux/lualatex'; # LuaLaTeX
$DVILUALATEX = '/usr/local/texlive/2017/bin/x86_64-linux/dvilualatex'; # dviLuaLaTeX
$DVIPS = '/usr/local/texlive/2017/bin/x86_64-linux/dvips'; # dvips
$DVIPNG = '/usr/local/texlive/2017/bin/x86_64-linux/dvipng'; # dvipng
$PDFTOCAIRO = '/usr/bin/pdftocairo'; # pdf to svg converter
$PS2PDF = '/usr/bin/ps2pdf'; # ps to pdf converter
$PDFCROP = '/usr/local/texlive/2017/bin/x86_64-linux/pdfcrop'; # pdfcrop
$GS = '/usr/bin/gs'; # GhostScript
$USE_PDFTEX = 1; # use pdflatex unless -nouse_pdftex on command line
$USE_DVIPNG = 1;
# give these too, to use the -ldump feature
#
$TEX = "/usr/local/texlive/2017/bin/x86_64-linux/tex"; # TeX
$INILATEX = "/usr/local/texlive/2017/bin/x86_64-linux/initex \"&latex\""; # initex+latex
# These affect whether images are made on a white or gray background.
# They are ignored when the document preamble contains similar commands.
# Default is white background. Color should be specified as RGB hex
# values using uppercase for A-F. Grey background can be used for thicker
# anti-aliased characters in text and math, at the cost of some fuzziness.
#
#$LOAD_LATEX_COLOR = "\\usepackage{xcolor}";
#$LATEX_COLOR = "C0C0C0";
# -white
# this overrides the above gray-scale for figures that don't need anti-aliasing
#
$WHITE_BACKGROUND = 0;
# -image_type
# This specifies the type of images produced by latex2html when processing
# unknown environments and/or e.g. math formulae.
#
@IMAGE_TYPES = qw(gif png svg);
$IMAGE_TYPE = $IMAGE_TYPES[0];
# -tmp
# Specify a tmp directory for image-generation (optional)
#
$TMP = '/tmp';
############# HTML validation ###############
#
# set $HTML_VALIDATOR to the command needed to run a validator to check
# the HTML pages produced;
# use the -validate switch to run the validator, or set $HTML_VALIDATE
#
$HTML_VALIDATOR = '';
# -validate
# when $HTML_VALIDATE is 1, the validator will run as default
# provided $HTML_VALIDATOR is also set; -novalidate suppresses this
#
$HTML_VALIDATE = 0;
########## ICONSERVER ############################
#
# LaTeX2HTML uses many small graphics as icons within the navigation
# panels, and for other purposes.
# You can specify a single location where these graphics are to be found,
# to avoid creating a separate copy as part of each document.
#
# IMPORTANT: This location must not only be accessible to you, but also
# to the people who are to read your HTML documents.
#
# If $ICONSERVER is not set, latex2html will create
# a copy of the icons together with your HTML document.
# (This is safe, but wasteful if you have a large number of documents.)
#
# A better option is to set $ICONSERVER to point to a location that
# is known to always (at least in principle) be available publicly.
#
# Some hints:
# a) It's ok to set $ICONSERVER just to "/path/to/icons.$IMAGE_TYPE" (without
# the internet address) if /path/to is valid for your file system, *and*
# if www_root/path/to points to the same directory. Normally the www area
# is located in some subsidary directory, which is pointed to by www_root
# (the entry 'Document Root' of the http daemon's srm.conf file).
# Make the Webmaster add appropriate links in that directory that help
# locate the icon directory, or set up an Alias in srm.conf.
# b) To check if the icons can be displayed properly, invoke the browser
# with the *http URL to your site*, and click down to your document.
# c) If you have $LOCAL_ICONS set, your document will accumulate a pretty
# amount of redundant icons if you make use of segmentation.
# In this case, customize &img_tag to use a central directory, say,
# "../icons".
#
$ICONSERVER = '';
$ALTERNATIVE_ICONS = 0;
# ####### YOU *MAY* WANT/NEED TO CHANGE SOME OF THESE VARIABLES ##############
# -djgpp
# On DOS/DJGPP systems one can easily run out of file handles. To
# avoid that, set this to 1. However this affects performance.
#
$DJGPP = 0;
# if you are having difficulties with inputs not being found,
# and your system is Web2C then setting this to 1 may help.
#
$Web2C = 1;
# Options for dvips as determined by configure
#
#$DVIPSOPT = ' -Ppdf -E';
$DVIPSOPT = ' -E';
# If you already have the fonts, you may add -M to suppress font
# generation
#
# $DVIPSOPT .= ' -M';
# If you have dvips 5.62 or higher, you can turn on generation of EPS files
# by uncommenting the following line. Warning: dvips does not support
# included EPS figures very well. However if you don't make use of
# complicated image include commands like \includegraphics, this option
# will speed up image generation a *lot*.
#
# $DVIPSOPT .= " -E";
# (Note: this here is old, don't worry unless you really run into trouble.)
#
# Some dvips programs generate postscript images in the reverse order by
# default. If your inlined images are all screwed up try uncommenting
# the following line:
#
# $DVIPSOPT .= " -r0";
# Modern TeX installations have PostScript Type 1 fonts which can be
# used instead of bitmaps. Use of these can give better quality images
# as Ghostscript can use `hinting' as well as having accurate outlines
# which help with anti-aliasing. Possible options here depend upon the
# TeX installation; e.g. " -Pcmz -Pams" or " -Ppdf"
#
# $DVIPSOPT .= " -Ppdf";
# For efficient use of font resources, minimising disk-space use,
# allow GhostScript to find the fonts it needs for images.
#
# DO:
# EITHER: edit Ghostscript's $GS_LIB/Fontmap file
# OR: set the GS_FONTPATH environment variable;
# e.g.
# $ENV{'GS_FONTPATH'} = join(':/usr/local/texmf/fonts/type1/', '',
# 'adobe','ams','bh','bsr','lucida','mt','public/cm','public/xypic');
#
# AND
# setup a virtual printer configuration file 'config.gs'
# and listing 'psfonts.gs' of PostScript fonts to exclude from .ps files
#
# AND
# tell dvips to use this 'virtual printer' :
# (the previous item for Type 1 fonts becomes redundant)
#
# $DVIPSOPT .= " -Pgs";
# Local initialization files are usually named .latex2html-init
# this name is hard-coded as the default with the latex2html script
# It can be changed here, if desired:
#
# $INIT_FILE_NAME = '.latex2html-init';
# Location of texexpand, supplied with the translator
#
$TEXEXPAND = "$PERL /usr/local/lib/latex2html/bin${dd}texexpand";
# Location of pstoimg, supplied with the translator
#
$PSTOIMG = "$PERL /usr/local/lib/latex2html/bin${dd}pstoimg";
# This is used to "autoload" perl code to deal with specific style files
#
$LATEX2HTMLSTYLES = "$LATEX2HTMLDIR${dd}styles";
# This is used to support upcoming versions of html - directory where perl
# files to handle those are
#
$LATEX2HTMLVERSIONS = "$LATEX2HTMLDIR${dd}versions";
# The following variable sets the default search list of directories for
# latex style files that latex2html should process. It also defines a
# a list of directories (: separated) which possibly contain TeX and dvips
# inputs. This variable is overriden by the environment variable
# TEXINPUTS, if it is specified. Internally, the directory your document
# resides in, and ".", are appended to this list of directories.
#
# IMPORTANT: In some installations, latex and dvips are really
# shell scripts which set environment TEXINPUTS (and other variables)
# to predefined values, then call the real latex and dvips. If this
# is true for your installation, then the $TEXINPUTS that latex2html
# sees will only affect the processing of \input and \include's
# by latex2html, not the operation of latex and dvips when called
# by latex2html. In this case, make sure that the predefined
# values of TEXINPUTS within the latex and dvips scripts at least
# contains "." and ".." (".." works in the most cases).
# Otherwise, latex and dvips will not find inputs from the original source
# directory when called from a subdirectory contained therein.
#
# The single colon tells LaTeX to look on the standard places only.
# If you add entries, do it colon-separated.
# If you don't know where LaTeX takes its standard files from, leave the
# single colon in front or at the end, or have an empty entry "::"
# at some place among the other entries.
#
if ($Web2C) {
chomp ($TEXINPUTS =
# `kpsewhich -progname=latex -expand-braces \\\$TEXINPUTS`);
#`kpsewhich -v -n latex \\\$TEXINPUTS`);
$envkey);
} else {
$TEXINPUTS = $envkey;
}
# This line helps LaTeX2HTML to recognize your adaption everywhere.
#
$ENV{'TEXINPUTS'} = $TEXINPUTS unless defined $ENV{'TEXINPUTS'};
# -no_fork
# If defined this will prevent the translator to crash if your operating
# system does not support forking; e.g. DOS.
#
$CAN_FORK = 1;
# ############################################################################
# THERE IS NO NEED TO CHANGE ANY OF THE VARIABLES BELOW EXCEPT FOR CUSTOMISING
# THE OPERATION OF LATEX2HTML.
# ############################################################################
### Command Line Argument Defaults #######################################
# -ldump
# Change this to 1 if you want to speed up image processing during the 2nd
# and more runs of LaTeX2HTML on the same document.
# This will cause LaTeX2HTML to produce a LaTeX dump of images.tex which
# is read in on subsequent runs and speeds up startup time of LaTeX on the
# images.tex translation.
# This actually consumes additional time on the first run, but pays off on
# subsequent runs. The dump file will need about 1 Meg of disk space.
#
$LATEX_DUMP = 0;
# -numbered_footnotes
# If defined to 1 you will get every footnote applied with a subsequent
# number, else with a hyperlink icon.
#
$NUMBERED_FOOTNOTES = 0;
# -local_icons
# Change this to 1 if you want to copy the navigation icons to each
# document directory so that the document directory is self-contained
# and can be dropped into another server tree. Note that you can also
# use the command line option -local_icons
#
$LOCAL_ICONS = 0;
# -split
#
$MAX_SPLIT_DEPTH = 8; # Stop making separate files at this depth
# -link
#
$MAX_LINK_DEPTH = 4; # Stop showing child nodes at this depth
# -short_extn
# If this is set all HTML file will have extension ".htm" instead of
# ".html". This is helpful when shipping the document to PC systems.
#
$SHORTEXTN = 0;
# -nolatex
#
$NOLATEX = 0; # 1 = do not pass unknown environments to Latex
# -external_images
#
$EXTERNAL_IMAGES = 0; # 1 = leave the images outside the document
# -ps_images
# 1 = use links to external postscript images rather than inlined GIF's.
#
$PS_IMAGES = 0;
# ANTI-ALIASING within generated images
#
# -antialias
# 1 = use anti-aliasing in the generation of images of figures .
#
$ANTI_ALIAS = 0;
# -antialias_text
# 1 = use anti-aliasing in the generation of images of typeset material;
# e.g. mathematics and text, e.g. in tables and {makeimage} environments.
#
$ANTI_ALIAS_TEXT = 1;
# -font_size
# To set the point size of LaTeX-generated GIF files, uncomment the following
# variable, and set it to its desired value (i.e, 10pt, 11pt, 12pt, etc.)
# The default is to use the point size of the original LaTeX document.
# This value will be magnified by $FIGURE_SCALE_FACTOR and
# $MATH_SCALE_FACTOR (below).
#
# $FONT_SIZE = "12pt";
# -no_tex_defs
# To suppress the interpretation of raw TeX commands, set $TEXDEFS = 0;
# Note: There are many variations of \def that latex2html cannot process
# correctly!
#
$TEXDEFS = 1;
# -ascii_mode
# This is different from -no_images.
# If this is set, LaTeX2HTML will show textual tags rather than
# images, both in navigation panel and text (Eg. [Up] instead the up
# icon).
# You could use this feature to create simple text from your
# document, eg. with 'Save as... Text' from Netscape or with
# lynx -dump.
#
$ASCII_MODE = 0; # 1 = do not use any icons or internal images
# -t, The document title.
#
$default_title = '$FILE';
# -dir
$DESTDIR = ''; # Put the result in this directory
# -no_subdir
# When this is set, the generated HTML files will be placed in the
# current directory. If set to 0 the default behaviour is to create (or reuse)
# another file directory.
#
$NO_SUBDIR = 0;
# -address
# Supply your own string if you don't like the default <Name> <Date>
#
$ADDRESS = "<I>$address_data[0]</I>\n<BR><I>$address_data[1]</I>";
# -no_navigation
# 1 = do not put a navigation panel at the top of each page
#
$NO_NAVIGATION = 0;
# -top_navigation
# Determines whether to navigation links should be at the top or the bottom
# of each page. The default is at the top.
#
$TOP_NAVIGATION = 1;
# -bottom_navigation
# Determines whether to navigation links should be at the top or the bottom
# of each page. The default is at the top.
#
$BOTTOM_NAVIGATION = 0;
# -auto_navigation
# Put navigation links at the top of each page. If the page exceeds
# $WORDS_IN_PAGE number of words then put one at the bottom of the page.
#
$AUTO_NAVIGATION = 1;
# -index_in_navigation
# Put a link to the index page in the navigation panel
#
$INDEX_IN_NAVIGATION = 1;
# -contents_in_navigation
# Put a link to the table of contents in the navigation panel
#
$CONTENTS_IN_NAVIGATION = 1;
# -next_page_in_navigation
# Put a link to the next logical page in the navigation panel
#
$NEXT_PAGE_IN_NAVIGATION = 1;
# -previous_page_in_navigation
# Put a link to the previous logical page in the navigation panel
#
$PREVIOUS_PAGE_IN_NAVIGATION = 1;
# -prefix
# Set the output file prefix, prepended to all .html, .gif and .pl files.
# See also $AUTO_PREFIX.
#
$PREFIX = '';
# -auto_prefix
# To automatically insert the equivalent of "-prefix basename-", where
# "basename" is the base name of the file being translated, set this to 1.
#
$AUTO_PREFIX = 0;
# -up_url, -up_title, -down_url, -down_title, -prev_url, -prev_title:
# If both of the following two variables are set then the "Up" button
# of the navigation panel in the first node/page of a converted document
# will point to $EXTERNAL_UP_LINK. $EXTERNAL_UP_TITLE should be set
# to some text which describes this external link.
#
$EXTERNAL_UP_LINK = '';
$EXTERNAL_UP_TITLE = '';
# Similarly you might set these variables to link external documents
# to your navigation panel.
#
$EXTERNAL_DOWN_LINK = "";
$EXTERNAL_DOWN_TITLE = "";
$EXTERNAL_PREV_LINK = "";
$EXTERNAL_PREV_TITLE = "";
$EXTERNAL_INDEX = "";
$EXTERNAL_CONTENTS = "";
# -info
# 0 = do not make an "About this document..." section
#
$INFO = 1;
# -reuse, -no_reuse, Image recycling:
# If 0, do not reuse or recycle identical images. If the html subdirectory
# already exists, start the interactive session.
# If nonzero, do recycle them and switch off the interactive session.
# If 1, only recycle images generated from previous runs.
# If 2, recycle images from the current and previous runs.
#
$REUSE = 2;
# -no_images
# When $NO_IMAGES is set LaTeX2HTML will not attempt to produce any inlined images
# The missing images can be generated "off-line" by restarting LaTeX2HTML
# after setting $IMAGES_ONLY (see below);
$NO_IMAGES = 0;
# -images_only
# When $IMAGES_ONLY is set, LaTeX2HTML will only try to convert the inlined images
# in the file "images.tex" which should have been generated automatically during
# previous runs. This is very useful for correcting "bad LaTeX" in this file.
#
$IMAGES_ONLY = 0;
# -discard
# When $DISCARD_PS is set, the PostScript file created for each generated image
# is discarded immediately after its image has been rendered and saved in the
# required graphics format. This can lead to significant savings in disk-space,
# when there are a lot of images, since otherwise these files are not discarded
# until the end of all processing.
#
$DISCARD_PS = 1;
# -show_section_numbers
# When this is 1, the section numbers are shown. The section numbers should
# then match those that would have bee produced by LaTeX.
# The correct section numbers are obtained from the $FILE.aux file generated
# by LaTeX.
# Hiding the seciton numbers encourages use of particular sections
# as standalone documents. In this case the cross reference to a section
# is shown using the default symbol rather than the section number.
#
$SHOW_SECTION_NUMBERS = 0;
# -add_ref_name
# -cut_ref_num
# Usually cross reference text contains only the caption number as a
# hyperlink to the corresponding LaTeX label. However, it could be
# handy to see the name of the object referenced, if the reference text
# would contain both the caption number and the caption name.
# If $ADD_REF_NAME is 1, (option -add_ref_name), then the caption name
# is shown additionally.
# If $CUT_REF_NUM is 1, (option -cut_ref_num), then the caption number
# is cut out, leaving the optional name only.
# If $CUT_REF_NUM = 0 and $ADD_REF_NAME = 1, both caption number and
# name are shown.
# If $CUT_REF_NUM = 1 and $ADD_REF_NAME = 0, the cross reference text
# is suppressed and a cross reference button shown instead.
#
$ADD_REF_NAME = 0;
$CUT_REF_NUM = 0;
# -short_index
# If this is set then makeidx.perl will construct codified names
# for the text of index references.
#
$SHORT_INDEX = 0;
# -debug
# If this is set then intermediate files are left for later inspection.
# This includes $$_images.tex and $$_images.log created during image
# conversion.
# Caution: Intermediate files can be *enormous*.
#
$DEBUG = 0;
# -html_version
# The default HTML version to be produced
#
$HTML_VERSION = '5';
# -no_math
# By default the special MATH extensions are not used
# since they do not conform with the HTML 3.2 standard.
#
$NO_SIMPLE_MATH = 1;
# -unsegment
# Use this to translate a segmented document as if it were not
# segmented.
#
$UNSEGMENT = 0;
### Other global variables ###############################################
# If this is set then the HTML will look better if viewed with Netscape.
#
$NETSCAPE_HTML = 0;
# Set this to 1 if you want interlaced images, 0 otherwise. Interlaced
# images build up gradually while downloading so one can get a first
# impression of what the final image will look like very quickly.
#
$INTERLACE = 1;
### Colors ###
#
# If this is set you may set colors in your document (see the LaTeX
# package color.dvi and the color.perl/colordvi.perl files).
# Note that HTML generated herefrom cannot be viewed by all browsers
# (at least Netscape or Mosaic 2.7 should do).
#
$COLOR_HTML = 0;
# Specify the path to your systems color database if you do not agree on
# the databases provided with the translator. Eg.: /usr/lib/X11/rgb.txt
# the RGB colors database
#
$RGBCOLORFILE = '/usr/local/lib/latex2html/styles/rgb.txt';
# the CMYK colors database
#
$CRAYOLAFILE = '/usr/local/lib/latex2html/styles/crayola.txt';
### End Colors ###
# Do not try to translate these input files, and do not
# complain about a missing Perl module.
# Complex LaTeX inputs, styles, or classes may cause the translator
# to hang. If this occurs add the input file here.
# You may also specify filename extensions here, e.g. if you do
# not want to include input files matching "*.myfig", add
# ``:.myfig''.
#
$DONT_INCLUDE = "2up:psfig:epsf:texinfo:pictex:" .
".ps:.eps:.fig:.pstex_t:.epsf:.epic:.eepic:.xy:.xya:.xyc:" .
"titlepage:openbib:\\d+pt:twoside:twocolumn:" .
"memo:dvipsfig:times:margins:aaii2:a4:art\\d+:doublespace:" .
"alltt:amstex:anysize:array:article:bm:book:bookman:" .
"boxedminipage:cite:comment:courier:dcolumn:doc:eepic:" .
"enumerate:epic:fleqn:float:floatflt:fullpage:index:" .
"inputenc:luainputenc:isolatin1:leqno:letter:llncs:makeidx:" .
"multicol:psfig:report:shadow:shapepar:showidx:" .
"slides:syntonly:sz:tabls:times:twoside:umlaut:umlaute";
# Latex2html usually does not include style files provided by
# \documentstyle, \documentclass, \usepackage but tries to use the
# corresponding *.perl files provided in the styles/ subdirectory.
# Now if you use home-brew style files with new environments/commands
# you may want to include them. E.g. if you want to include "mystyle.sty",
# say $DO_INCLUDE = "mystyle" here. Separate styles with colons. This
# setting overrides the settings in $DONT_INCLUDE. You may specify
# filename extensions here as well.
#
# $DO_INCLUDE = "";
# If you have equations in your text, and must use bitmap'd fonts with
# an old (pre 4.02) version of Ghostscript...
# (RRM: ignore all the following with later versions)
#
# ... you'll get the best results with PK_GENERATION=1.
# With this option switched on, DVIPS will be told to generate
# all of the images for a specific screen resolution,
# eliminating "blurring" of small letters and subscripts.
# If any of it causes you grief, simply set PK_GENERATION=0,
# and your default printer's resolution will be used.
#
# Sidik Isani, <isani@cfht.hawaii.edu> added this.
#
$PK_GENERATION = 0; # 0 # by configure
# ... and set the following variable ONLY if your version of dvips
# understands the "-mode" command line switch. It is a more reliable
# way of setting the METAfont mode than the .dvipsrc file on versions that
# support this switch. If you do this, you do not need to modify .dvipsrc
# as described below. Herb Swan <dprhws@edp.Arco.com> added this.
#
$DVIPS_MODE = '';
# Only if you have PK_GENERATION set to 1:
# A file 'modes.mf' is probably installed somewhere in your tex
# tree. e.g /usr/local/tex/texmf/mf/modes.mf or something similar.
# If it has and entry for 'toshiba', then you can ignore the rest.
# Otherwise, you'll need to try *one* of the following things:
#
# o Set PK_GENERATION=0 and generate images for your default printer
# o Download the latest modes.mf from the TeX archive and re-run inimf.
# o Choose another LOW RESOLUTION screen or printer entry from modes.mf,
# (preferably with "|blacker|" set to 0.0 and a 1:1 aspect ratio--
# If you don't have "toshiba", try "epsonlq", "lqlores", "nec", or "NEC")
# If you try some other mode, remember to update two other things as well:
#
# 1) Change the 'toshiba' in the .dvipsrc file that came with latex2html.
# 2) Put whatever the |pixels_per_inch| value is into $METAFONT_DPI
# and the .dvipsrc file
#
# Note: The maximum usable SCALE_FACTOR is determined by this resolution.
# A higher resolution will take more memory during processing (regardless
# of SCALE_FACTOR) but will allow higher SCALE_FACTORs. Do NOT just
# change this value though. It *must* match the |pixels_per_inch| of
# the metafont mode (e.g. `toshiba').
#
$METAFONT_DPI = 0;
$DVIPNG_DPI = 240; # for best appearance
# Controls which markup shows up between page and its foot.
$CHILDLINE = "<BR><HR>\n";
# If this is set as below, LaTeX2HTML produces a directory index link to
# the html document, ie. you may use <http://my.cite.is.here/dir/of/document>
# instead of <http://my.cite.is.here/dir/of/document/document.html>.
# Set it to eg. 'node1' to have the index pointing to node1.html, etc.
# Comment it out to have no index generation.
# Note: $EXTN is ".html" by default, see -short_extn.
#
$LINKPOINT = '"$FILE$EXTN"';
# Uses this one to determine the name of the directory index.
$LINKNAME = '"index$EXTN"';
# This is the line width measured in pixels and it is used to right justify
# equations and equation arrays;
$LINE_WIDTH = 500;
# Used in conjunction with AUTO_NAVIGATION
$WORDS_IN_PAGE = 300;
# Affects ONLY the way accents are processed
$default_language = 'english';
# The value of this variable determines how many words to use in each
# title that is added to the navigation panel, see below (-1 is no limit).
# If $SHOW_SECTION_NUMBERS == 1, then one additional word counts
# for the section number.
#
$WORDS_IN_NAVIGATION_PANEL_TITLES = 4;
# The value of this variable determines how many words to use in each
# Index entry (analogous to $WORDS_IN_NAVIGATION_PANEL_TITLES).
# If not set, it equals to $WORDS_IN_NAVIGATION_PANEL_TITLES by default.
#
#$WORDS_IN_INDEX = 4;
# This number will determine the size of the equations, special characters,
# and anything which will be converted into an inlined image
# *except* "image generating environments" such as "figure", "table"
# or "minipage".
# Effective values are those greater than 0.
# Sensible values are between 0.1 - 4.
# Adequate sizes of inlined images are achieved with the value near 1.6
#
$MATH_SCALE_FACTOR = 1.6;
# This number, when defined, determines extra scaling for displayed equations.
# It multiplies with the $MATH_SCALE_FACTOR to give the total scaling.
# It is especially useful when \scriptscriptstyle text is used frequently,
# which would otherwise be extremely difficult to read on-screen.
#
#$DISP_SCALE_FACTOR = 1;
# This number will determine the size of
# image generating environments such as "figure", "table" or "minipage".
# Effective values are those greater than 0.
# Sensible values are between 0.1 - 4.
# Adequate image sizes are achieved with the value near 1.6
#
$FIGURE_SCALE_FACTOR = 1.6;
# This is yet another scaling factor which has a special use.
# When this number is set, images are created at a size scaled by the
# specified amount (multiplying any other scale factors).
# However the images are displayed unscaled, by setting the
# HEIGHT="..." and WIDTH="..." attributes to the unscaled size.
# Thus a larger image is squeezed into a smaller area.
# This allows for better quality when the HTML page is printed.
# {figure} environments are *not* affected by this factor.
#
#$EXTRA_IMAGE_SCALE = 2; # set to 1 if $DVIPNG_DPI = 600
# If this is set to 0 then any inlined images generated from "figure"
# environments will NOT be transparent.
#
$TRANSPARENT_FIGURES = 1;
# Set the default body text, inserted between <BODY> ... </BODY>.
# See also \bodytext{..} provided with html.sty.
#
$BODYTEXT = "";
# Valid paper sizes are "letter", "legal", "note" and ...
# "a0", ... "a10", "b0", ... "b5";
# Recommended: "a5"
# Paper sizes has no effect other than with images that
# need special alignment;
# e.g for equation-numbering with HTML, version 2.0
# - larger paper sizes *MAY* help with large image problems
# - smaller paper sizes *MAY* be quicker to handle on some systems
#
$PAPERSIZE = "a5";
### Improved graphics support #################################################
# These utilities may be needed to implement some of the graphics effects
# that can be requested using optional parameters to LaTeX's \includegraphics
# command, from the graphics.sty and graphicx.sty packages.
# Thanks to Bruce Miller <bruce.miller@nist.gov> for revising support for
# these packages, via the module styles/graphics-support.perl
$PNMCUT = '/usr/bin/pnmcut';
$PNMFLIP = '/usr/bin/pnmflip';
$PNMPAD = '/usr/bin/pnmpad';
$PNMROTATE = '/usr/bin/pnmrotate';
$PNMSCALE = '/usr/bin/pnmscale';
$PNMCROP = '/usr/bin/pnmcrop';
$PPMQUANT = '/usr/bin/ppmquant';
$GIFTOPNM = '/usr/bin/giftopnm';
$JPEGTOPNM = '/usr/bin/jpegtopnm';
$PNGTOPNM = '/usr/bin/pngtopnm';
$PNMTOPNG = '/usr/bin/pnmtopng';
$PPMTOGIF = '/usr/bin/ppmtogif';
$PPMTOJPEG = '/usr/bin/ppmtojpeg';
# there are for some lesser-used (platform-specific ?) graphics formats:
$TIFFTOPNM = '/usr/bin/tifftopnm';
$ANYTOPNM = '/usr/bin/anytopnm';
$BMPTOPPM = '/usr/bin/bmptoppm';
$PCXTOPPM = '/usr/bin/pcxtoppm';
$SGITOPNM = '/usr/bin/sgitopnm';
$XBMTOPBM = '/usr/bin/xbmtopbm';
$XWDTOPNM = '/usr/bin/xwdtopnm';
# uncomment these, and adjust configure.in to find the executable
# $FIASCOTOPNM = ;
# $FITSTOPNM = ;
# $GEMTOPNM = ;
# $JBIGTOPNM = ;
# $PALMTOPNM = ;
# $PAMTOPNM = ;
# $PSTOPNM = ;
# $RASTTOPNM = ;
# $RLETOPNM = ;
# $SIRTOPNM = ;
# $ZEISSTOPNM = ;
# $IMGTOPPM = ;
# $RGB3TOPPM = ;
# $TGATOPPM = ;
# $XIMTOPPM = ;
# $XPMTOPPM = ;
# $XVMINITOPPM = ;
# $XVPICTOPPM = ;
# $YUVTOPPM = ;
# $ICONTOPBM = ;
# $WBMTOPBM = ;
# $YBMTOPBM = ;
#
### Internationalization ######################################################
#
# Default values used by do_cmd_tableofcontents and others.
# Change them to suit your documents
sub english_titles {
$toc_title = "Contents";
$lof_title = "List of Figures";
$lot_title = "List of Tables";
$idx_title = "Index";
$ref_title = "References";
$bib_title = "Bibliography";
$nom_title = "Nomenclature";
$abs_title = "Abstract";
$app_title = "Appendix";
$pre_title = "Preface";
$foot_title = "Footnotes";
$thm_title = "Theorem";
$fig_name = "Figure";
$tab_name = "Table";
$prf_name = "Proof";
$date_name = "Date";
$page_name = "Page";
# Sectioning-level titles
$part_name = "Part";
$chapter_name = "Chapter";
$section_name = "Section";
$subsection_name = "Subsection";
$subsubsection_name = "Subsubsection";
$paragraph_name = "Paragraph";
# Misc. strings
$child_name = "Subsections";
$info_title = "About this document ...";
$also_name = "see also";
$see_name = "see";
# names in navigation panels
$next_name = "Next";
$up_name = "Up";
$prev_name = "Previous";
$group_name = "Group";
# mail fields
$encl_name = "encl";
$headto_name = "To";
$cc_name = "cc";
@Month = ('', 'January', 'February', 'March', 'April', 'May',
'June', 'July', 'August', 'September', 'October',
'November', 'December');
# These words will be omitted from filenames derived
# from section-titles, when using -long_titles
$GENERIC_WORDS = "and|the|of|for|by|a|an|to";
}
# These words will be omitted from filenames derived
# from section-titles, when using -long_titles
# Override this value within a <language>_titles subroutine.
#
$GENERIC_WORDS = "and|the|of|for|by|a|an|to";
# Replace "english" with another language provided
# titles for that language are defined, as above...
# (Make sure that you don't use a different default in your personal
# configuration file)
#
$TITLES_LANGUAGE = "english";
# ... or use titles in a different language by adding a new subroutine
# eg for esperanto:
# sub esperanto_titles {
# $toc_title = 'Esperanto title';
# etc...
# }
# and then say
# $TITLES_LANGUAGE = "esperanto";
#
# Note: This is automatically done for you when use the german or
# french style file, and for several other languages also,
# or when you specify the language through the babel package.
### Verbosity #################################################################
#
# -verbosity
# The amount of message information printed to the screen during processing
# by LaTeX2HTML is controlled by the $VERBOSITY variable.
# Its value can also be set using the -verbosity <num> command-line switch.
# By increasing this value, more information is displayed.
# Here is the type of extra information that is shown at each level:
#
# $VERBOSITY = 0; # no extra information
# $VERBOSITY = 1; # section types and titles
# $VERBOSITY = 2; # environment
# $VERBOSITY = 3; # command names
# $VERBOSITY = 4; # links, labels and internal sectioning codes
#
$VERBOSITY = 1;
### Navigation Panel ##########################################################
#
# The navigation panel is constructed out of buttons and section titles.
# These can be configured in any combination with arbitrary text and
# HTML tags interspersed between them.
# The buttons available are:
# $PREVIOUS - points to the previous section
# $UP - points up to the "parent" section
# $NEXT - points to the next section
# $NEXT_GROUP - points to the next "group" section
# $PREVIOUS_GROUP - points to the previous "group" section
# $CONTENTS - points to the contents page if there is one
# $INDEX - points to the index page if there is one
#
# If the corresponding section exists the button will contain an
# active link to that section. If the corresponding section does
# not exist the button will be inactive.
#
# Also for each of the $PREVIOUS $UP $NEXT $NEXT_GROUP and $PREVIOUS_GROUP
# buttons there are equivalent $PREVIOUS_TITLE, $UP_TITLE, etc variables
# which contain the titles of their corresponding sections.
# Each title is empty if there is no corresponding section.
#
# The subroutine below constructs the navigation panel in each page.
# Feel free to mix and match buttons, titles, your own text, your logos,
# and arbitrary HTML (the "." is the Perl concatenation operator).
#JKR: Use two panels (top and bot) instead of one.
#
# This is the default form of the navigation panel:
sub navigation_panel {
"<!--Navigation Panel-->"
# Now add a few buttons with a space between them
. "$NEXT $UP $PREVIOUS $CONTENTS $INDEX $CUSTOM_BUTTONS"
. "\n<BR>" # Line break
# If ``next'' section exists, add its title to the navigation panel
. ($NEXT_TITLE ? "\n<B> $next_name:</B> $NEXT_TITLE" : undef)
# Similarly with the ``up'' title ...
. ($UP_TITLE ? "\n<B> $up_name:</B> $UP_TITLE" : undef)
# ... and the ``previous'' title
. ($PREVIOUS_TITLE ? "\n<B> $prev_name:</B> $PREVIOUS_TITLE" : undef)
# ... and the ``contents'' title
. ($CONTENTS_LINK ? "\n <B> $CONTENTS_LINK</B> " : undef)
# ... and the ``index'' title
. ($INDEX_LINK ? "\n <B> $INDEX_LINK</B> " : undef)
# These <BR>s separate it from the text body.
. "\n<BR><BR>"
}
# This can be redefined in an initialization file:
if (!(defined &main::top_navigation_panel)) {
eval "sub top_navigation_panel { \&navigation_panel(\@_) }"
} else {
print "\n *** top_navigation_panel subroutine already defined\n"
}
sub bot_navigation_panel {
# Start with a horizontal rule (3-d dividing line)
"<HR>\n" . "<!--Navigation Panel-->"
# Now add a few buttons with a space between them
. "$NEXT $UP $PREVIOUS $CONTENTS $INDEX $CUSTOM_BUTTONS"
. "\n<BR>" # Line break
# If ``next'' section exists, add its title to the navigation panel
. ($NEXT_TITLE ? "\n<B> $next_name:</B> $NEXT_TITLE" : undef)
# Similarly with the ``up'' title ...
. ($UP_TITLE ? "\n<B> $up_name:</B> $UP_TITLE" : undef)
# ... and the ``previous'' title
. ($PREVIOUS_TITLE ? "\n<B> $prev_name:</B> $PREVIOUS_TITLE" : undef)
# ... and the ``contents'' title
. ($CONTENTS_LINK ? "\n <B> $CONTENTS_LINK</B> " : undef)
# ... and the ``index'' title
. ($INDEX_LINK ? "\n <B> $INDEX_LINK</B> " : undef)
}
### Meta Information #####################################################
#
# This information will be inserted in the HEAD of the generated
# HTML file. It can be used by automatic indexing scripts (eg
# site-index.pl at http://www.ai.mit.edu/tools/site-index.html)
# You can change the description, keywords, etc. values.
#
sub meta_information {
local($_) = @_;
# Cannot have nested HTML tags...
do { s/<[^>]*>//g;
"<META NAME=\"description\" CONTENT=\"$_\">\n" .
"<META NAME=\"keywords\" CONTENT=\"$FILE\">\n" .
"<META NAME=\"resource-type\" CONTENT=\"document\">\n" .
"<META NAME=\"distribution\" CONTENT=\"global\">\n"
} if $_;
}
### Icons ################################################################
# Icon names and real icon files.
# gif icons are also availble. no svg icons available.
foreach $typ ('gif', 'png') {
%{"icons_$typ"} = (
'cross_ref_visible_mark' ,"crossref.$typ",
'anchor_mark' , '', # ,' ',
'anchor_invisible_mark' , '', # ,' ',
'up_visible_mark' ,"up.$typ",
'next_visible_mark' ,"nx_grp.$typ",
'previous_visible_mark' ,"pv_grp.$typ",
'next_page_visible_mark' ,"next.$typ",
'previous_page_visible_mark' ,"prev.$typ",
'contents_visible_mark' ,"contents.$typ",
'index_visible_mark' ,"index.$typ",
'footnote_mark' ,"footnote.$typ",
'up_inactive_visible_mark' ,"up_g.$typ",
'next_inactive_visible_mark' ,"nx_grp_g.$typ",
'previous_inactive_visible_mark' ,"pv_grp_g.$typ",
'next_page_inactive_visible_mark' ,"next_g.$typ",
'previous_page_inactive_visible_mark' ,"prev_g.$typ",
'change_begin_visible_mark',"ch_begin.$typ",
'change_begin_right_visible_mark',"ch_beg_r.$typ",
'change_end_visible_mark',"ch_end.$typ",
'change_end_right_visible_mark',"ch_end_r.$typ",
'change_delete_visible_mark',"ch_delet.$typ",
'change_delete_right_visible_mark',"ch_del_r.$typ"
)
};
if (!%icons) {
%icons = %{"icons_gif"};
}
if (!%iconsizes) {
%iconsizes = (
'up' ,'WIDTH="26" HEIGHT="24"',
'next','WIDTH="37" HEIGHT="24"',
'previous','WIDTH="63" HEIGHT="24"',
'next_group' ,'WIDTH="81" HEIGHT="24"',
'next_inactive' ,'WIDTH="81" HEIGHT="24"',
'previous_group','WIDTH="107" HEIGHT="24"',
'change_begin','WIDTH="104" HEIGHT="24"',
'change_begin_right','WIDTH="104" HEIGHT="24" ALIGN="RIGHT"',
'change_end','WIDTH="104" HEIGHT="24"',
'change_end_right','WIDTH="104" HEIGHT="24" ALIGN="RIGHT"',
'change_delete','WIDTH="109" HEIGHT="24"',
'change_delete_right','WIDTH="109" HEIGHT="24" ALIGN="RIGHT"',
'contents','WIDTH="65" HEIGHT="24"',
'index','WIDTH="43" HEIGHT="24"',
'image','WIDTH="48" HEIGHT="24"'
);
}
$extern_image_mark = &extern_image_mark();
sub extern_image_mark {
"[IMAGE $_[0]]";
}
sub img_tag {
local($iconmark) = @_;
local($icon) = $icons{$iconmark};
local($alt);
$alt = join ('|', "up", "next_group", "next_inactive", "previous_group"
, "next", "previous", "change_begin_right", "change_begin"
, "change_end_right", "change_end", "change_delete_right"
, "change_delete", "contents", "index");
if ($icon =~ /(gif|png)$/) {
$used_icons{$icon} = 1;
local($pre);
if ($iconmark =~ /($alt)/) {
$pre = "\n";
$alt = $1;
}
else {
$pre = "";
$alt = '[*]';
};
if ($LOCAL_ICONS) {
return join('', $pre ,'<IMG ', $iconsizes{$alt} || ''
,' ALT="', $alt
,'" SRC="', $icon, '">' );
}
else {
return join('', $pre ,'<IMG ', $iconsizes{$alt} || ''
,' ALT="', $alt, "\"\n"
,' SRC="', $ICONSERVER, "/$icon", '">' );
}
}
else {
return $icon;
}
}
sub inactive_img {
# Replaces an image name xxx.gif with xxx_gr.gif
# It is assumed that _gr images contain the equivalent inactive icons
local($_) = @_;
s/(up|next|previous|next_page|previous_page)(_visible_mark)/$1_inactive$2/;
$_;
}
### ASCII Mode ###########################################################
# This subroutine defines the ascii strings to be used instead of the
# icons when the translator is invoked with the -ascii_mode option.
# Please modify them if you do not like them, BUT
# *** DO NOT USE THE SPACE CHARACTER (" ") FOR $anchor_invisible_mark ***
# (if you use " " then the cross-reference hyperlinks will not work).
# --- this depends on the browser. From HTML 3.2, a space works OK now.
sub ascii_mode {
$cross_ref_visible_mark = "[*]";
$anchor_mark = " ";
$anchor_invisible_mark = " ";
$up_visible_mark = "[$up_name]";
$next_visible_mark = "[$next_name $group_name]";
$previous_visible_mark = "[$prev_name $group_name]";
$next_page_visible_mark ="[$next_name]";
$previous_page_visible_mark ="[$prev_name]";
$up_inactive_visible_mark = "[$up_name]";
$next_inactive_visible_mark = "[$next_name $group_name]";
$previous_inactive_visible_mark = "[$prev_name $group_name]";
$next_page_inactive_visible_mark ="[$next_name]";
$previous_page_inactive_visible_mark ="[$prev_name]";
$contents_visible_mark = "[$toc_title]";
$index_visible_mark = "[$idx_title]";
$footnote_mark = "[+]";
$extern_image_mark = &extern_image_mark;
$EXTERNAL_IMAGES = 1;
}
### Adding commands to be ignored ########################################
# Add LaTeX commands to be ignored.
# Each command should be on a separate line and have the format:
# <cmd_name>#{}# []# {}# [] etc.
# {} marks a compulsory argument and [] an optional one.
# Note that some commands may have arguments which should be left as
# text even though the command should be ignored (e.g. mbox, center, etc)
#
&::ignore_commands( <<_IGNORED_CMDS_);
htmlrule # [] # \$_ = join('',"<BR><HR>",\$_)
mathversion # {}
underline # {} # \$_ = join('',"<U>", \$2, "</U>", \$_)
centerline # {} # \$_ = join('',"<P ALIGN=CENTER>", \$2, "</P>", \$_)
latexhtml# {}
latex# {}
html
lrule # {}
scrollmode
savebox# {}# []# []
center
citeindexfalse
_IGNORED_CMDS_
### Adding commands to be processed by TeX ###############################
# Commands which need to be passed, ALONG WITH THEIR ARGUMENTS, to TeX.
# The syntax is the same as that for ignore_commands above.
&::process_commands_in_tex (<<_RAW_ARG_CMDS_);
fbox # {}
framebox # [] # [] # {}
_RAW_ARG_CMDS_
1; # This must be the last line
|
|
|
@sge Sorry to make you work so hard. 1) The svg is now gif -- I had forgotten that I removed the -image-type gif when getting error messages about no types. This was due to my installing netpbm (on Fedora) which also needed netpbm-progs to be installed for the types. 2) I will have to debug the problem with the Glossary myself as when I compare the file CinelerraGG_Manual.nls from each of the laptops, the original latex2html implementation and the newly installed implementation are exactly the same. And the CinelerraGG_Manual.pdf file has the Glossary on both but the HTML version does not. I have compared the 2 logfiles - old with new - and the new one is missing the Glossary processing (712/716) AFTER the Workflow processing: Doing footnotes ..... 710/716:section:..."Workflow with multi-cam and external audio" for Workflow_with_multi_cam_ext.html ... 711/716:paragraph:.."Note:" for Workflow_with_multi_cam_ext.html ... Doing footnotes ..... Reading nls file: /proj/working/CinelerraGG_Manual.nls ... Processing macros ... ... 712/716:printnomenclature:.. Reading nls file: /proj/working/CinelerraGG_Manual.nls ... Processing macros ...++...... ........."Glossary" for Glossary.html |
|
|
@sge More information follows on debugging of my missing Glossary. Neither nomencl.perl or nameref.perl were in the /styles/ subdir of my newly installed latex2html so I copied there but that still did not result in a Glossary.html file. I discovered them missing by comparing the logfile on the original version and the new. I had used the line: ./configure --prefix=/usr/local/lib/latex2html (without the perl inclusion) I already had v 5.30.1 installed. The next thing I noticed in the comparison of the logfile was missing the line:,, *** redefining \nomname *** but I am not sure this is related to the real problem. I do see "nomname" discussed inside of nomencl.perl. I will keep looking. |
|
|
@PhyllisSmith The latex2html installator installs the directories 'versions' and 'styles' by recursive copying of both dirs with the whole their contents. If you cannot see nomencl.perl in your installation hierarchy, this means either: a) You have got somehow an outdated latex2html distribution. Please check if there is nomencl.perl inside the master source archive. or: b) You tried to install the up-to-date latex2html, but either the installation failed, or the program landed in some improper place of the filesystem, so that when you execute 'latex2html' some version of the program is called which was installer earlier. If your actual version of latex2html is outdated and has no nomencl.perl, then it is totally useless to copy this file from any other source. Nomencl.perl alone cannot do the whole job, it needs a definite support from the main latex2html script. And if the installation is outdated, then the main script must be outdated also, and the whole package is unable to perform the translation consistently. Perl-5.30.1 is most probably OK, mine is 5.22. *** redefining \nomname *** is mentioned because the CGG manual file common/settings.tex contains redefinition of the corresponding command, and latex2html notices this: \renewcommand{\nomname}{Glossary} % glossary name Please recheck which instance of the latex2html source archive you tried to install. I attach here that which I downloaded. If the contents differ, you must have the wrong one. |
|
|
@sge You are right - I had an earlier zip file and now everything is working correctly. I checked in the diff changes for: translate_manual (and left in show_section_numbers for now but I am no using yet); latex2html-init (checked in without the . same as before because not sure if it is confusing one way or the other) common/settings.tex Will close this a few days from now. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2020-11-23 16:47 | sge | New Issue | |
| 2020-11-23 16:47 | sge | File Added: CinelerraGG_Manual.diff.gz | |
| 2020-11-23 18:35 | PhyllisSmith | Assigned To | => PhyllisSmith |
| 2020-11-23 18:35 | PhyllisSmith | Status | new => acknowledged |
| 2020-11-23 18:35 | PhyllisSmith | Note Added: 0004369 | |
| 2020-11-23 19:45 | Andrea_Paz | Note Added: 0004370 | |
| 2020-11-23 21:56 | Sam | Note Added: 0004371 | |
| 2020-11-24 17:27 | sge | Note Added: 0004372 | |
| 2020-11-25 14:41 | sge | Note Added: 0004373 | |
| 2020-12-15 19:46 | PhyllisSmith | Note Added: 0004425 | |
| 2020-12-16 04:49 | PhyllisSmith | Note Added: 0004426 | |
| 2020-12-16 17:02 | sge | Note Added: 0004427 | |
| 2020-12-18 04:15 | PhyllisSmith | Note Added: 0004428 | |
| 2020-12-18 04:28 | PhyllisSmith | Note Edited: 0004428 | |
| 2020-12-18 04:28 | PhyllisSmith | Note Edited: 0004428 | |
| 2020-12-18 15:35 | sge | Note Added: 0004429 | |
| 2020-12-19 03:55 | PhyllisSmith | Note Added: 0004430 | |
| 2020-12-19 07:55 | sge | Note Added: 0004431 | |
| 2020-12-23 23:54 | PhyllisSmith | Note Added: 0004434 | |
| 2020-12-24 03:50 | PhyllisSmith | Note Edited: 0004434 | |
| 2020-12-24 17:48 | sge | Note Added: 0004436 | |
| 2021-01-03 15:24 | sge | File Added: latex2html-2020.2.diff2.gz | |
| 2021-01-03 15:24 | sge | File Added: latex2html-201224.diff.gz | |
| 2021-01-03 15:24 | sge | File Added: CinelerraGG_Manual-201224.diff.gz | |
| 2021-01-03 15:24 | sge | Note Added: 0004447 | |
| 2021-01-07 01:25 | PhyllisSmith | Note Added: 0004484 | |
| 2021-01-07 02:59 | Sam | Note Added: 0004485 | |
| 2021-01-07 18:43 | sge | Note Added: 0004488 | |
| 2021-01-07 19:11 | PhyllisSmith | Note Added: 0004489 | |
| 2021-01-07 19:12 | PhyllisSmith | Note Edited: 0004489 | |
| 2021-01-07 19:13 | PhyllisSmith | File Added: must_be_me.png | |
| 2021-01-07 19:13 | PhyllisSmith | Note Added: 0004490 | |
| 2021-01-08 18:31 | sge | Note Added: 0004491 | |
| 2021-01-10 00:20 | PhyllisSmith | Note Added: 0004494 | |
| 2021-01-10 18:18 | sge | Note Added: 0004496 | |
| 2021-01-10 23:43 | PhyllisSmith | Note Edited: 0004494 | |
| 2021-01-10 23:46 | PhyllisSmith | Note Added: 0004502 | |
| 2021-01-11 10:27 | Andrea_Paz | Note Added: 0004503 | |
| 2021-01-11 16:48 | sge | File Added: glossaries.tar.gz | |
| 2021-01-11 16:48 | sge | Note Added: 0004504 | |
| 2021-01-11 17:56 | Andrea_Paz | Note Added: 0004505 | |
| 2021-01-11 19:49 | PhyllisSmith | Note Added: 0004506 | |
| 2021-01-12 16:51 | sge | File Added: nomencl.perl | |
| 2021-01-12 16:51 | sge | Note Added: 0004508 | |
| 2021-01-13 06:13 | PhyllisSmith | Note Added: 0004509 | |
| 2021-01-13 15:07 | sge | File Added: nomencl-nobold.perl | |
| 2021-01-13 15:07 | sge | Note Added: 0004510 | |
| 2021-01-15 22:29 | PhyllisSmith | Note Added: 0004518 | |
| 2021-02-06 11:43 | sge | File Added: latex2html-2021.diff.gz | |
| 2021-02-06 11:43 | sge | File Added: CinelerraGG_Manual-210205.diff.gz | |
| 2021-02-06 11:43 | sge | Note Added: 0004618 | |
| 2021-02-06 17:53 | PhyllisSmith | Note Added: 0004619 | |
| 2021-02-07 17:18 | sge | Note Added: 0004620 | |
| 2021-02-13 18:18 | sge | File Added: latex2html2.diff.gz | |
| 2021-02-13 18:18 | sge | File Added: CinelerraGG_Manual-210205-2.diff.gz | |
| 2021-02-13 18:18 | sge | Note Added: 0004630 | |
| 2021-02-13 18:31 | PhyllisSmith | Note Added: 0004631 | |
| 2021-02-25 00:47 | PhyllisSmith | Note Added: 0004653 | |
| 2021-02-25 16:37 | sge | File Added: l2hconf.pm | |
| 2021-02-25 16:37 | sge | Note Added: 0004654 | |
| 2021-02-25 23:57 | PhyllisSmith | Note Added: 0004655 | |
| 2021-02-26 04:29 | PhyllisSmith | Note Added: 0004656 | |
| 2021-02-26 15:56 | sge | File Added: latex2html-20210225.zip | |
| 2021-02-26 15:56 | sge | Note Added: 0004657 | |
| 2021-02-26 22:04 | PhyllisSmith | Note Added: 0004658 | |
| 2021-02-28 18:34 | PhyllisSmith | Status | acknowledged => resolved |
| 2021-02-28 18:34 | PhyllisSmith | Resolution | open => fixed |
| 2021-03-01 17:08 | PhyllisSmith | Status | resolved => closed |