View Issue Details

IDProjectCategoryView StatusLast Update
0000661Cinelerra-GG[All Projects] Featurepublic2024-06-12 13:33
Reportersge Assigned ToPhyllisSmith  
Status acknowledgedResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0000661: New latex2html option '-unicase_titles' checks duplication of filenames for HTML pages in case insensitive manner
DescriptionTo 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 script (residing under 'cinelerra5' git tree), because used Index.html to search for some keyphrases. The new 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
TagsNo tags attached.




2024-06-12 13:33

reporter   ~0005661

Updated 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.


2024-06-11 21:47

manager   ~0005657

@Andrea_Paz 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).


2024-06-01 05:12

reporter   ~0005647

Just to remember,, when invoked first time, copies itself into ~/.bcast5 to allow user's customizations. On upgrading, newer versions of 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 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.


2024-05-31 18:18

manager   ~0005646

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.


2024-05-31 16:12


latex2html-2024-unicasetitles.diff.gz (2,736 bytes)
translate_manual (1,949 bytes)

# 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 -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 ]
    cp latex2html-init .latex2html-init

# 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 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*
translate_manual (1,949 bytes) (9,191 bytes)

Issue History

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:
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