View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000661 | Cinelerra-GG | [All Projects] Feature | public | 2024-05-31 16:12 | 2024-06-12 13:33 |
Reporter | sge | Assigned To | PhyllisSmith | ||
Priority | normal | Severity | tweak | Reproducibility | always |
Status | acknowledged | Resolution | open | ||
Product Version | |||||
Target Version | Fixed in Version | ||||
Summary | 0000661: New latex2html option '-unicase_titles' checks duplication of filenames for HTML pages in case insensitive manner | ||||
Description | To produce CGG HTML manual, we execute latex2html with the option -long_titles 5. Latex2html, up to now, examines generated filenames for HTML pages on duplication and, if necessary, adds an incremented number to each detected duplicated name. However, latex2html compares filenames in case sensitive manner. If several files appear whose names differ in letter case only, latex2html will treat them as different, and if that files later will be copied to some case insensitive filesystem, such as NTFS or FAT, that files will conflict. Moreover, usually latex2html creates the auto-linked file 'index.html' which under case insensitive filesystems can conflict with the Index page, 'Index.html' which exist in many big document, including CGG manual. To overcome this, I have added the new option to latex2html: -unicase_titles. With this option latex2html will check filenames for duplication in case insensitive manner (and add incremented digit to the name when necessary). To get this option, either apply the patch latex2html-2024-unicasetitles.diff.gz to some recent latex2html sources and then reinstall them, or perform build of latex2html from its git master tree (Dan Gildea already committed my unicasetitles patch to the git tree). When having applied this unicasetitles patch, one can translate HTML manual using this new option in addition to all the others, like in the attached 'translate_manual' script (residing under 'manual' git tree). Then, when using the new option, the file 'Index.html' with the Index will be renamed to 'Index2.html' but otherwise work as before. When the -unicase_titles option will be used, we will need also updated ContextManual.pl script (residing under 'cinelerra5' git tree), because ContextManual.pl used Index.html to search for some keyphrases. The new ContextManual.pl script finds the actual filename for the Index (Index.html, Index2.html, or whatever) automatically from the 'Contents.html' file. To easily check for existence of filenames which differ only in case, the following shell command can be used: ls | sort -f | uniq -di | ||||
Tags | No tags attached. | ||||
@PhyllisSmith @Andrea_Paz Updated ContextManual.pl will work with older versions of the manual and/or translated with older versions of latex2html equally well. It is completely backwards compatible. There is no problem to commit the script into git early. |
|
@sge @Andrea_Paz ContextManual.pl also was checked into GIT yesterday. Just FYI, because I am trying to implement the latest latex2html files and all of the scripts/tex files on a different laptop with Fedora 39 so I have an alternate/backup spot, I have not successfully tested the "unicase" option yet. Will mark as resolved after I get it working (missing installed packages or other stuff). |
|
Just to remember, ContextManual.pl, when invoked first time, copies itself into ~/.bcast5 to allow user's customizations. On upgrading, newer versions of ContextManual.pl compare their API version number ($cin_cm_api in the very beginning of the script) with that copied earlier into ~/.bcast5 and make update there if this version number gets incremented (the older copy, possibly modified by the user, gets renamed with the .bak suffix). As the updated ContextManual.pl version suggested here expects that Index.html can be named differently now, this is the reason to induce its update in ~/.bcast5. Therefore the API version number has been incremented in the updated script, $cin_cm_api = 2; - just for information. |
|
@sge Will check this later today. With the new release today, the duplicate lower/upper case problem that still existed on the website since February 29 should be ameliorated. Although I had fixed this on my local computer, it was not propagated to the website in order to maintain synchronization of the release Manual/files/source and binary images to Feb. 29. |
|
latex2html-2024-unicasetitles.diff.gz (2,736 bytes)
translate_manual (1,949 bytes)
ContextManual.pl (9,191 bytes)#!/bin/sh # First build PDF version, 3 times to be completely sure. # The various auxiliary files will be needed later. pdflatex CinelerraGG_Manual.tex makeindex CinelerraGG_Manual.idx makeindex CinelerraGG_Manual.nlo -s nomencl.ist -o CinelerraGG_Manual.nls pdflatex CinelerraGG_Manual.tex makeindex CinelerraGG_Manual.idx pdflatex CinelerraGG_Manual.tex # Now build HTML version, using auxiliary files created by pdflatex. # Clean the future HTML directory rm -rf CinelerraGG_Manual # Ensure creating the important settings file if [ ! -f .latex2html-init ] then cp latex2html-init .latex2html-init fi # When translating manual for context help, don't use -show_section_numbers ! # And do use -split +3 -link 3 -nofootnode and -local_icons. # -use_dvipng, -image_type and -bottom_navigation can be used # according to your preferences. # translate document (GIF images generated via gs, good for debugging) #latex2html -html_version 4.0,math -use_pdftex -nouse_dvipng -image_type gif -nofootnode -show_section_numbers -split +3 -link 3 -bottom_navigation -local_icons -t 'Cinelerra-GG Infinity' CinelerraGG_Manual.tex # another alternative options combination (PNG images, nicer look) #latex2html -html_version 4.0,math -use_pdftex -use_dvipng -image_type png -nofootnode -show_section_numbers -split +3 -link 3 -bottom_navigation -local_icons -t 'Cinelerra-GG Infinity' CinelerraGG_Manual.tex # Alternative currently used on the cinelerra-gg.org website / created on a Fedora system latex2html -html_version 4.0,math -use_pdftex -nouse_dvipng -long_titles 5 -unicase_titles -image_type gif -nofootnode -split +3 -link 3 -bottom_navigation -local_icons -t 'CinelerraGG_Manual' CinelerraGG_Manual.tex # This single image has to be copied explicitly cp images/cin-big.png CinelerraGG_Manual # Clean temporary files in the HTML directory rm -f CinelerraGG_Manual/WARNINGS rm -f CinelerraGG_Manual/*.pl rm -f CinelerraGG_Manual/images* |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2024-05-31 16:12 | sge | New Issue | |
2024-05-31 16:12 | sge | File Added: latex2html-2024-unicasetitles.diff.gz | |
2024-05-31 16:12 | sge | File Added: translate_manual | |
2024-05-31 16:12 | sge | File Added: ContextManual.pl | |
2024-05-31 18:18 | PhyllisSmith | Assigned To | => PhyllisSmith |
2024-05-31 18:18 | PhyllisSmith | Status | new => acknowledged |
2024-05-31 18:18 | PhyllisSmith | Note Added: 0005646 | |
2024-06-01 05:12 | sge | Note Added: 0005647 | |
2024-06-11 21:47 | PhyllisSmith | Note Added: 0005657 | |
2024-06-12 13:33 | sge | Note Added: 0005661 |