summaryrefslogtreecommitdiff
path: root/support
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-03-11 03:01:11 +0000
committerNorbert Preining <norbert@preining.info>2020-03-11 03:01:11 +0000
commit5412d52974c365e2d5bc1a8320816a729f7c10ab (patch)
tree5c8cee6076f9589a9d372c0ee08d16210251ac9a /support
parent877268a0de707a979be934d888518f6cc02d73a6 (diff)
CTAN sync 202003110301
Diffstat (limited to 'support')
-rw-r--r--support/makeglossariesgui/README12
-rw-r--r--support/makeglossariesgui/makeglossariesgui-en.pdfbin596234 -> 588808 bytes
-rw-r--r--support/makeglossariesgui/makeglossariesgui.1205
-rw-r--r--support/makeglossariesgui/src/CHANGES5
-rw-r--r--support/makeglossariesgui/src/Makefile1
-rwxr-xr-xsupport/makeglossariesgui/src/doc/createmakeglossariesguidocs881
-rw-r--r--support/makeglossariesgui/src/doc/makeglossariesgui-en.xml119
-rw-r--r--support/makeglossariesgui/src/doc/makeglossariesgui.dtd2
-rw-r--r--support/makeglossariesgui/src/installer/install.xml4
-rw-r--r--support/makeglossariesgui/src/installer/unix_shortcutSpec.xml5
-rw-r--r--support/makeglossariesgui/src/java/AppSelector.java2
-rw-r--r--support/makeglossariesgui/src/java/AuxFileFilter.java10
-rw-r--r--support/makeglossariesgui/src/java/DiagnosticPanel.java18
-rw-r--r--support/makeglossariesgui/src/java/FileField.java18
-rw-r--r--support/makeglossariesgui/src/java/Glossaries.java97
-rw-r--r--support/makeglossariesgui/src/java/GlossariesPanel.java18
-rw-r--r--support/makeglossariesgui/src/java/Glossary.java18
-rw-r--r--support/makeglossariesgui/src/java/GlossaryBatchMessage.java18
-rw-r--r--support/makeglossariesgui/src/java/GlossaryException.java18
-rw-r--r--support/makeglossariesgui/src/java/GlossaryMessage.java18
-rw-r--r--support/makeglossariesgui/src/java/GlsTransferHandler.java18
-rw-r--r--support/makeglossariesgui/src/java/InvalidSyntaxException.java2
-rw-r--r--support/makeglossariesgui/src/java/MakeGlossariesDictionary.java2
-rw-r--r--support/makeglossariesgui/src/java/MakeGlossariesGUI.java30
-rw-r--r--support/makeglossariesgui/src/java/MakeGlossariesInvoker.java24
-rw-r--r--support/makeglossariesgui/src/java/MakeGlossariesProperties.java18
-rw-r--r--support/makeglossariesgui/src/java/PropertiesDialog.java18
-rw-r--r--support/makeglossariesgui/src/java/ViewEntries.java18
-rw-r--r--support/makeglossariesgui/src/java/ViewFile.java18
-rw-r--r--support/makeglossariesgui/src/java/XindyModule.java18
-rw-r--r--support/makeglossariesgui/src/resources/dictionaries/makeglossariesgui-en.prop8
-rw-r--r--support/makeglossariesgui/src/tests/sample-disablemakegloss/sample-disablemakegloss.tex18
32 files changed, 1355 insertions, 306 deletions
diff --git a/support/makeglossariesgui/README b/support/makeglossariesgui/README
index 0515911bce..9603df8af5 100644
--- a/support/makeglossariesgui/README
+++ b/support/makeglossariesgui/README
@@ -3,8 +3,9 @@ Application : MakeGlossariesGUI
Author : Nicola L. C. Talbot
License : GPLv3+ <http://gnu.org/licenses/gpl.html>
+ Copyright Nicola L. C. Talbot 2011-2020
-Home Page : http://www.dickimaw-books.com/software/makeglossariesgui/
+Home Page : https://www.dickimaw-books.com/software/makeglossariesgui/
Requirements : Java Runtime Environment (JRE 8)
@@ -30,6 +31,9 @@ Run the installer:
java -jar makeglossariesgui-installer.jar
+If you want to run makeglossariesgui in batch mode then add the bin
+subdirectory your system's PATH environment variable.
+
Third Party Libraries
=====================
@@ -37,12 +41,12 @@ MakeGlossariesGUI depends on the following third party libraries
whose jar files are placed in the application's lib directory by
the installer:
- - Java Help (https://javahelp.java.net/) GPL
- - The Java Look and Feel Graphics Repository
+ - javahelp2.jar: Java Help (https://javahelp.java.net/) GPL
+ - jlfgr-1_0.jar: The Java Look and Feel Graphics Repository
(http://www.oracle.com/technetwork/java/index-138612.html)
JLFGR License
If you want to build the application, you will need to fetch those
jar files and add them to the lib directory.
-http://www.dickimaw-books.com/
+https://www.dickimaw-books.com/
diff --git a/support/makeglossariesgui/makeglossariesgui-en.pdf b/support/makeglossariesgui/makeglossariesgui-en.pdf
index 63c974045f..5377a40983 100644
--- a/support/makeglossariesgui/makeglossariesgui-en.pdf
+++ b/support/makeglossariesgui/makeglossariesgui-en.pdf
Binary files differ
diff --git a/support/makeglossariesgui/makeglossariesgui.1 b/support/makeglossariesgui/makeglossariesgui.1
new file mode 100644
index 0000000000..af47de67a2
--- /dev/null
+++ b/support/makeglossariesgui/makeglossariesgui.1
@@ -0,0 +1,205 @@
+.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.if !\nF .nr F 0
+.if \nF>0 \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "MAKEGLOSSARIESGUI 1"
+.TH MAKEGLOSSARIESGUI 1 "2018-05-19" "perl v5.26.2" "makeglossariesgui"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBmakeglossariesgui\fR [\fIoption\fR]+ [\fIfilename\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+MakeGlossariesGUI is a Java \s-1GUI\s0 diagnostic tool for the glossaries
+LaTeX package. It can check for common problems that can cause the
+entries within the glossary or the entire glossary to be omitted. In
+\&\s-1GUI\s0 mode it parses both the .aux and the .log file for known error
+and warning messages.
+.PP
+When run in batch mode, it can be used as alternative to the
+makeglossaries Perl script and the makeglossaries\-lite.lua Lua
+script supplied by the glossaries package. (It doesn't parse the log
+file in batch mode or show all the diagnostic information that the
+\&\s-1GUI\s0 mode provides.)
+.PP
+Note that if you are opting to use MakeGlossariesGUI because you
+don't want to install Perl, then you are limiting yourself to
+makeindex as xindy also requires Perl.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-\-version\fR (or \fB\-v\fR)" 4
+.IX Item "--version (or -v)"
+Show the version number and exit.
+.IP "\fB\-\-help\fR (or \fB\-h\fR)" 4
+.IX Item "--help (or -h)"
+Show the help and exit.
+.IP "\fB\-\-debug\fR" 4
+.IX Item "--debug"
+Print debug messages to \s-1STDOUT.\s0
+.IP "\fB\-\-batch\fR (or \fB\-b\fR)" 4
+.IX Item "--batch (or -b)"
+Run in batch mode. The \fIfilename\fR must be supplied with this option
+and should be the name of the .aux file. (The extension may be omitted.)
+.IP "\fB\-\-gui\fR" 4
+.IX Item "--gui"
+Run in \s-1GUI\s0 mode (default).
+.IP "\fB\-\-quiet\fR" 4
+.IX Item "--quiet"
+Suppress messages that would otherwise be written to \s-1STDOUT.\s0
+.IP "\fB\-\-dry\-run\fR (or \fB\-n\fR)" 4
+.IX Item "--dry-run (or -n)"
+Switch dry run mode on.
+.IP "\fB\-\-nodry\-run\fR" 4
+.IX Item "--nodry-run"
+Switch dry run mode off (default).
+.SH "REQUIRES"
+.IX Header "REQUIRES"
+Java 7 and a TeX distribution.
+.SH "LICENSE"
+.IX Header "LICENSE"
+License GPLv3+: \s-1GNU GPL\s0 version 3 or later
+<http://gnu.org/licenses/gpl.html>
+This is free software: you are free to change and redistribute it.
+There is \s-1NO WARRANTY,\s0 to the extent permitted by law.
+.SH "RECOMMENDED READING"
+.IX Header "RECOMMENDED READING"
+The MakeGlossariesGUI manual (available as a \s-1PDF\s0 or through the \s-1GUI\s0).
+.PP
+The glossaries manual:
+.PP
+.Vb 1
+\& texdoc glossaries
+.Ve
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Nicola L. C. Talbot,
+<http://www.dickimaw\-books.com/>
diff --git a/support/makeglossariesgui/src/CHANGES b/support/makeglossariesgui/src/CHANGES
index 3e931d6399..07f2cb81b4 100644
--- a/support/makeglossariesgui/src/CHANGES
+++ b/support/makeglossariesgui/src/CHANGES
@@ -1,3 +1,8 @@
+2.2 (2020-03-09):
+
+ * Added check for disablemakegloss and restoremakegloss
+ (new to glossaries.sty v4.45).
+
2.1 (2018-05-23):
* Added check for bib2gls.
diff --git a/support/makeglossariesgui/src/Makefile b/support/makeglossariesgui/src/Makefile
index b2f1d3febc..d1df2f6b2a 100644
--- a/support/makeglossariesgui/src/Makefile
+++ b/support/makeglossariesgui/src/Makefile
@@ -8,6 +8,7 @@ app : lib lib/makeglossariesgui.jar lib/resources lib/makeglossariesgui-splash.p
dist : ../dist/makeglossariesgui-installer.jar
cp doc/makeglossariesgui-en.pdf ../dist
+ cp doc/makeglossariesgui.1 ../dist
../dist/makeglossariesgui-installer.jar : app installer/install.xml
$(IZPACKDIR)/bin/compile installer/install.xml -b . \
diff --git a/support/makeglossariesgui/src/doc/createmakeglossariesguidocs b/support/makeglossariesgui/src/doc/createmakeglossariesguidocs
index 869bea79d5..0c145da861 100755
--- a/support/makeglossariesgui/src/doc/createmakeglossariesguidocs
+++ b/support/makeglossariesgui/src/doc/createmakeglossariesguidocs
@@ -34,15 +34,28 @@ if ($#ARGV == 1)
$locale .= "-".$ARGV[1];
}
+my $wwwpath;
+
+if (defined($ENV{'MAKEJMLRBOOKGUI_MANUAL_HTML'}))
+{
+ $wwwpath = $ENV{'MAKEJMLRBOOKGUI_MANUAL_HTML'};
+
+ if ($lang ne 'en')
+ {
+ $wwwpath .= "-$lang";
+ }
+}
+
my $encoding_file = 'utf8';
my $encoding_xml = 'UTF-8';
-open FD, "$mainclass" or die "Can't open '$mainclass' $!\n";
-binmode(FD, ":$encoding_file");
+my $fd;
+
+open $fd, "<:encoding($encoding_xml)", $mainclass or die "Can't open '$mainclass' $!\n";
my %dict = ();
-while (<FD>)
+while (<$fd>)
{
if (/\bstatic +final +String +APP_NAME *= *"(.+)";/)
{
@@ -58,7 +71,7 @@ while (<FD>)
}
}
-close FD;
+close $fd;
my $propfile = "$dictdir/$base-$locale.prop";
@@ -78,13 +91,16 @@ unless (-e $propfile)
die "Can't find '$propfile'\n";
}
-open FD, "$propfile" or die "Can't open '$propfile' $!\n";
+open $fd, "<:encoding($encoding_xml)", "$propfile" or die "Can't open '$propfile' $!\n";
-$_ = <FD>;
+$_ = <$fd>;
if (/# Encoding: ([^s]+)/)
{
- binmode(FD, ":encoding($1)");
+ if ($1 ne $encoding_xml)
+ {
+ binmode($fd, ":encoding($1)");
+ }
}
else
{
@@ -96,7 +112,7 @@ my $linenum = 1;
my $openquote = chr(hex(2018));
my $closequote = chr(hex(2019));
-while (<FD>)
+while (<$fd>)
{
$linenum++;
@@ -133,7 +149,7 @@ while (<FD>)
}
}
-close FD;
+close $fd;
my %docinfo = ();
my @nodes = ();
@@ -200,8 +216,10 @@ my @tabular_specs = ();
my %counters = ();
# open the TeX file
-open TEXFD, ">$texfile" or die "Can't open '$texfile' $!\n";
-binmode(TEXFD, ":$encoding_file");
+
+my $texfd;
+
+open $texfd, ">:encoding($encoding_xml)", $texfile or die "Can't open '$texfile' $!\n";
# initialize the parser
my $parser = XML::Parser->new( Handlers =>
@@ -212,20 +230,21 @@ my $parser = XML::Parser->new( Handlers =>
});
$parser->parsefile( $xmlfile );
-close TEXFD;
+close $texfd;
# Write helpset files
-open HSFD, ">$helpsetdir/$base.hs"
+my $hsfd;
+
+open $hsfd, ">:encoding($encoding_xml)", "$helpsetdir/$base.hs"
or die "Can't open '$helpsetdir/$base.hs' $!\n";
-binmode(HSFD, ":$encoding_file");
my $toctitle = &get_label('manual.toc');
my $manualtitle = &get_label('manual.title');
my $indextitle = &get_label('manual.index');
my $searchtitle = &get_label('manual.search');
-print HSFD <<_END_HS_HEAD;
+print $hsfd <<_END_HS_HEAD;
<?xml version='1.0' encoding='$encoding_xml' ?>
<!DOCTYPE helpset
PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN"
@@ -294,41 +313,99 @@ PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 2.0//EN"
</helpset>
_END_HS_HEAD
-close HSFD;
+close $hsfd;
+
+my $htmlfd;
-open HTMLFD, ">$helpsetdir/$base.html"
+open $htmlfd, ">:encoding($encoding_xml)", "$helpsetdir/$base.html"
or die "Can't open '$helpsetdir/$base.html' $!\n";
-binmode(HTMLFD, ":$encoding_file");
-print HTMLFD &html_head($docinfo{Title}, '', $nodes[0]->{Tag});
+print $htmlfd &html_head($docinfo{Title}, '', $nodes[0]->{Tag});
+
+print $htmlfd "<body>\n";
+
+print $htmlfd "<div class=\"title\" \"><p>", $docinfo{Title}, "</p>\n";
+
+print $htmlfd "<p>$docinfo{Author}</p>\n" if ($docinfo{Author});
+
+print $htmlfd "</div><div class=\"date\">";
+
+print $htmlfd "<p>$docinfo{Date}</p>\n" if ($docinfo{Date});
+
+print $htmlfd "</div>";
+
+print $htmlfd &html_nav('', $nodes[0]);
+
+print $htmlfd "</body>\n</html>\n";
+
+close $htmlfd;
+
+my $wwwfd;
+my $wwwsidebarfd;
+
+if (defined($wwwpath))
+{
+ open $wwwfd, ">:encoding($encoding_xml)", "$wwwpath/index.shtml"
+ or die "Can't open '$wwwpath/index.shtml' $!\n";
+
+ print "Writing '$wwwpath/index.shtml'\n";
+
+ print $wwwfd &html_www_head($docinfo{Title}, '', $nodes[0]->{Tag});
+
+ print $wwwfd '<h1 class="doctitle">', $docinfo{Title}, "</h1>\n";
+
+ if ($docinfo{Author})
+ {
+ my $docauthor = $docinfo{Author};
+
+ $docauthor=~s~<table class="author"><tr>(.*?)</tr></table>~$1~sg;
-print HTMLFD "<body>\n";
+ $docauthor=~s~<td>(.*?)</td>~<div class="author">$1</div>~sg;
-print HTMLFD
- "<div class=\"title\" \"><p>",
- $docinfo{Title}, "</p>\n";
+ $docauthor=~s~<tt>(.*?)</tt>~<span class="file">$1</span>~sg;
+
+ print $wwwfd "$docauthor\n";
+ }
-print HTMLFD "<p>$docinfo{Author}</p>\n" if ($docinfo{Author});
+ print $wwwfd "<div class=\"date\">";
-print HTMLFD "</div><div class=\"date\">";
+ print $wwwfd "$docinfo{Date}</div>\n" if ($docinfo{Date});
-print HTMLFD "<p>$docinfo{Date}</p>\n" if ($docinfo{Date});
-print HTMLFD "</div>";
+ open $wwwsidebarfd, ">:encoding($encoding_xml)", "$wwwpath/sidebar.shtml"
+ or die "Can't open '$wwwpath/sidebar.shtml' $!\n";
-print HTMLFD &html_nav('', $nodes[0]);
+ print $wwwsidebarfd "<a href=\"..\">$dict{appname}</a>";
-print HTMLFD "</body>\n</html>\n";
+ print $wwwsidebarfd <<_END_SIDEBAR_LI;
+<ul class="listnav">
+<!--#if expr="\%{DOCUMENT_URI}=~/index.shtml/"-->
+<li class="current">
+<!--#else-->
+<li>
+<!--#endif-->
+_END_SIDEBAR_LI
+ print $wwwsidebarfd "<a href=\"index.shtml\">", &get_label("manual.toc"), "</a>";
-close HTMLFD;
+ print $wwwsidebarfd <<_END_SIDEBAR_LI;
+<!--#if expr="\%{DOCUMENT_URI}=~/glossary.shtml/"-->
+<li class="current">
+<!--#else-->
+<li>
+<!--#endif-->
+_END_SIDEBAR_LI
+ print $wwwsidebarfd "<a href=\"glossary.shtml\">", &get_label("manual.glossary"), "</a>";
+}
my $prev = $base;
+my $wwwprev = 'glossary';
+
+my $tocfd;
-open TOCFD, ">$helpsetdir/${base}TOC.xml"
+open $tocfd, ">:encoding($encoding_xml)", "$helpsetdir/${base}TOC.xml"
or die "Can't open '$helpsetdir/${base}TOC.xml' $!\n";
-binmode(TOCFD, ":$encoding_file");
-print TOCFD <<_END_TOC_HEAD;
+print $tocfd <<_END_TOC_HEAD;
<?xml version='1.0' encoding='$encoding_xml' ?>
<!DOCTYPE toc
PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version
@@ -349,36 +426,94 @@ for (my $idx = 0; $idx <= $#nodes; $idx++)
{
if ($section_levels{$node->{Type}}+$level <= $prevlevel)
{
- print TOCFD "</tocitem>\n";
+ print $tocfd "</tocitem>\n";
+ }
+
+ if (defined($wwwfd) and $section_levels{$node->{Type}}+$level < $prevlevel)
+ {
+ print $wwwfd "\n</ul>\n";
+
+ print $wwwsidebarfd "\n</ul>\n";
}
}
- print TOCFD "<tocitem text=\"$node->{Title}\" target=\"$node->{Tag}\">\n";
+ print $tocfd "<tocitem text=\"$node->{Title}\" target=\"$node->{Tag}\">\n";
+
+ if (defined($wwwfd))
+ {
+ if ($section_levels{$node->{Type}} > $prevlevel)
+ {
+ print $wwwfd "\n<ul>";
+
+ unless ($prevlevel == 0)
+ {
+ print $wwwsidebarfd "\n<ul>";
+ }
+ }
+
+ print $wwwfd "\n<li><a href=\"$node->{Tag}.shtml\">$node->{Title}</a>";
+
+ print $wwwsidebarfd <<_END_SIDEBAR_LI;
+<!--#if expr="\%{DOCUMENT_URI}=~/$node->{Tag}.shtml/"-->
+<li class="current">
+<!--#else-->
+<li>
+<!--#endif-->
+_END_SIDEBAR_LI
+ print $wwwsidebarfd "<a href=\"$node->{Tag}.shtml\">$node->{Title}</a>";
+ }
my $next = ($idx == $#nodes ? '' : $nodes[$idx+1]);
my $tag = $node->{Tag};
- open HTMLFD, ">$helpsetdir/$tag.html"
+ open $htmlfd, ">:encoding($encoding_xml)", "$helpsetdir/$tag.html"
or die "Can't open '$helpsetdir/$tag.html' $!\n";
- binmode(HTMLFD, ":$encoding_file");
+ my $prevtag = ($prev eq $base ? $base : $prev->{Tag});
+ my $nexttag = ($next ? $next->{Tag} : '');
- print HTMLFD &html_head($node->{Title},
- ($prev eq $base ? $base : $prev->{Tag}),
- ($next ? $next->{Tag} : ''));
+ print $htmlfd &html_head($node->{Title}, $prevtag, $nexttag);
- print HTMLFD "<body>\n";
+ print $htmlfd "<body>\n";
my $header = 'h'.$section_levels{$node->{Type}};
- print HTMLFD "<$header>", $node->{Title}, "</$header>\n";
+ print $htmlfd "<$header>", $node->{Title}, "</$header>\n";
my $content = $node->{Contents};
$content=~s/<ref>([^<]+)<\/ref>/&get_ref($1)/eg;
- print HTMLFD "<div>$content</div>";
+ my $hs_content = $content;
+
+ $hs_content=~s/<(\/?)code>/<$1tt>/g;
+
+ print $htmlfd $hs_content;
+
+ my $wwwnodefd;
+
+ if (defined($wwwpath))
+ {
+ open $wwwnodefd, ">:encoding($encoding_xml)", "$wwwpath/$tag.shtml"
+ or die "Can't open '$wwwpath/$tag.shtml' $!\n";
+
+ $prevtag = (($wwwprev eq $base or $wwwprev eq 'glossary') ? $wwwprev : $prev->{Tag});
+
+ print $wwwnodefd &html_www_head($node->{Title}, $prevtag, $nexttag);
+
+ $content=~s/<a name=/<a id=/g;
+
+ $content=~s~<tt>(.*?)</tt>~<span class="file">$1</span>~g;
+
+ $content=~s~<font class="(.*?)">(.*?)</font>~<span class="$1">$2</span>~g;
+
+ $content=~s~(?:<p>\s*)?<div class="figure">(.*?)<div class="figcaption">(.*?)</div>(<p></p>)*</div>(?:\s*</p>)?~<figure>$1<figcaption>$2</figcaption></figure>~sg;
+
+ $content=~s/<!-- POPUP "(.+?)" -->.+?<\/object>\s*(.+?)\s*<!-- END POPUP "\1" -->/<a href="glossary.shtml#$1">$2<\/a>/sg;
+
+ print $wwwnodefd "<$header>", $node->{Title}, "</$header>\n", $content;
+ }
if ($node->{Footnotes})
{
@@ -386,14 +521,27 @@ for (my $idx = 0; $idx <= $#nodes; $idx++)
$content=~s/<ref>([^<]+)<\/ref>/&get_ref($1)/eg;
- print HTMLFD "<hr />$content";
+ $hs_content = $content;
+
+ $hs_content=~s/<(\/?)code>/<$1tt>/g;
+
+ print $htmlfd "<hr />$hs_content";
+
+ print $wwwnodefd "<hr />$content" if (defined($wwwpath));
}
- print HTMLFD &html_nav($prev, $next);
+ print $htmlfd &html_nav($prev, $next);
- print HTMLFD "</body>\n</html>\n";
+ print $htmlfd "</body>\n</html>\n";
- close HTMLFD;
+ close $htmlfd;
+
+ if (defined($wwwpath))
+ {
+ print $wwwnodefd &html_www_foot($wwwprev, $next);
+ close $wwwnodefd;
+ $wwwprev = $node;
+ }
$prev = $node;
$prevlevel = $section_levels{$node->{Type}};
@@ -403,21 +551,37 @@ for (my $level = scalar(keys %section_levels); $level >= 0; $level--)
{
if ($level < $prevlevel)
{
- print TOCFD "</tocitem>\n";
+ print $tocfd "</tocitem>\n";
+
+ print $wwwfd "</ul>\n" if defined($wwwfd);
+ print $wwwsidebarfd "</ul>\n" if defined($wwwsidebarfd);
}
}
-print TOCFD "</tocitem>\n</toc>\n";
+print $tocfd "</tocitem>\n</toc>\n";
+
+close $tocfd;
+
+if (defined($wwwfd))
+{
+ print $wwwfd &html_www_foot('', 'glossary');
+
+ close $wwwfd;
-close TOCFD;
+ close $wwwsidebarfd;
+
+ # write glossary file
+ &write_www_glossary($nodes[0]);
+}
# write map file
-open MAPFD, ">$helpsetdir/Map.jhm"
+my $mapfd;
+
+open $mapfd, ">:encoding($encoding_xml)", "$helpsetdir/Map.jhm"
or die "Can't open '$helpsetdir/Map.jhm' $!\n";
-binmode(MAPFD, ":$encoding_file");
-print MAPFD <<_END_MAP_HEAD;
+print $mapfd <<_END_MAP_HEAD;
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE map
PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 2.0//EN"
@@ -425,25 +589,26 @@ print MAPFD <<_END_MAP_HEAD;
<map version="2.0" xml:lang="$locale">
_END_MAP_HEAD
-print MAPFD "<mapID target=\"top\" url=\"$base.html\" />\n";
-print MAPFD "<mapID target=\"appIcon\" url=\"../../icons/makeglossariesgui-logosmall.png\" />\n";
-print MAPFD "<mapID target=\"homeIcon\" url=\"../../icons/home.png\" />\n";
-print MAPFD "<mapID target=\"backIcon\" url=\"../../icons/back.png\" />\n";
-print MAPFD "<mapID target=\"forwardIcon\" url=\"../../icons/forward.png\" />\n";
+print $mapfd "<mapID target=\"top\" url=\"$base.html\" />\n";
+print $mapfd "<mapID target=\"appIcon\" url=\"../../icons/makeglossariesgui-logosmall.png\" />\n";
+print $mapfd "<mapID target=\"homeIcon\" url=\"../../icons/home.png\" />\n";
+print $mapfd "<mapID target=\"backIcon\" url=\"../../icons/back.png\" />\n";
+print $mapfd "<mapID target=\"forwardIcon\" url=\"../../icons/forward.png\" />\n";
&hs_map_id(\%tags);
&hs_map_id(\%terms);
-print MAPFD "</map>\n";
-close MAPFD;
+print $mapfd "</map>\n";
+close $mapfd;
# Write the helpset index file
-open IDXFD, ">$helpsetdir/${base}Index.xml"
+my $idxfd;
+
+open $idxfd, ">:encoding($encoding_xml)", "$helpsetdir/${base}Index.xml"
or die "Can't open '$helpsetdir/${base}Index.xml' $!\n";
-binmode(IDXFD, ":$encoding_file");
-print IDXFD <<_END_IDX_HEAD;
+print $idxfd <<_END_IDX_HEAD;
<?xml version='1.0' encoding='$encoding_xml' ?>
<!DOCTYPE index
PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Index Version 2.0//EN"
@@ -454,8 +619,8 @@ _END_IDX_HEAD
&print_idx_entries(\%terms);
-print IDXFD "</index>\n";
-close IDXFD;
+print $idxfd "</index>\n";
+close $idxfd;
sub print_idx_entries{
my ($hash) = @_;
@@ -468,7 +633,7 @@ sub print_idx_entries{
$text=~s/<\/?[^>]*>//g;
- print IDXFD "<indexitem text=\"",
+ print $idxfd "<indexitem text=\"",
$text, "\" target=\"",
$key, "\">\n";
@@ -477,7 +642,7 @@ sub print_idx_entries{
&print_idx_entries($hash->{$key}->{Children});
}
- print IDXFD "</indexitem>\n";
+ print $idxfd "</indexitem>\n";
}
else
{
@@ -491,7 +656,7 @@ sub handle_char{
&handle_html($string);
- print TEXFD $string;
+ print $texfd $string;
}
sub hs_map_id{
@@ -501,7 +666,7 @@ sub hs_map_id{
{
if ($hash->{$tag}->{Ref})
{
- print MAPFD "<mapID target=\"$tag\" url=\"$hash->{$tag}->{Ref}\" />\n";
+ print $mapfd "<mapID target=\"$tag\" url=\"$hash->{$tag}->{Ref}\" />\n";
}
else
{
@@ -535,7 +700,15 @@ sub hs_index_term{
sub hs_popup{
my ($href, $text) = @_;
+ my $tag = $href;
+
+ if ($href=~/(.*)\.html/)
+ {
+ $tag = $1;
+ }
+
my $html = <<_END_POPUP;
+<!-- POPUP "$tag" -->
<object classid="java:com.sun.java.help.impl.JHSecondaryViewer">
<param name="viewerStyle" value="javax.help.Popup" />
<param name="viewerSize" value="400,200" />
@@ -546,7 +719,8 @@ sub hs_popup{
</object>
_END_POPUP
- $html.$text
+ # no EOL after text
+ return "$html$text<!-- END POPUP \"$tag\" -->";
}
sub handle_html{
@@ -652,12 +826,12 @@ sub start_manual{
$fontenc = $attrs{'fontenc'};
}
- print TEXFD "% arara: pdflatex\n";
- print TEXFD "% arara: makeglossaries\n";
- print TEXFD "% arara: pdflatex\n";
- print TEXFD "% arara: makeindex\n";
- print TEXFD "% arara: pdflatex\n";
- print TEXFD "\\documentclass[index=totoc,$babel{$locale}]{makeglossariesgui}\n";
+ print $texfd "% arara: pdflatex\n";
+ print $texfd "% arara: makeglossaries\n";
+ print $texfd "% arara: pdflatex\n";
+ print $texfd "% arara: makeindex\n";
+ print $texfd "% arara: pdflatex\n";
+ print $texfd "\\documentclass[index=totoc,$babel{$locale}]{makeglossariesgui}\n";
}
sub end_manual{
@@ -667,7 +841,7 @@ sub end_manual{
sub start_preamble{
my ($expat, %attrs) = @_;
- print TEXFD "\\usepackage[$inputenc]{inputenc}\n",
+ print $texfd "\\usepackage[$inputenc]{inputenc}\n",
"\\usepackage[$fontenc]{fontenc}\n",
"\\usepackage{lmodern}\n",
"\\usepackage{graphicx}\n",
@@ -691,7 +865,7 @@ sub start_title{
push @current, 'Title';
- print TEXFD "\\title{";
+ print $texfd "\\title{";
}
sub end_title{
@@ -699,7 +873,7 @@ sub end_title{
pop @current;
- print TEXFD "}\n";
+ print $texfd "}\n";
}
sub start_date{
@@ -707,7 +881,7 @@ sub start_date{
push @current, 'Date';
- print TEXFD "\\date{";
+ print $texfd "\\date{";
}
sub end_date{
@@ -715,7 +889,7 @@ sub end_date{
pop @current;
- print TEXFD "}\n";
+ print $texfd "}\n";
}
sub start_author{
@@ -730,7 +904,7 @@ sub start_author{
$docinfo{Author} .= "<table class=\"author\"><tr><td>";
- print TEXFD "\\Author{";
+ print $texfd "\\Author{";
}
sub end_author{
@@ -740,19 +914,19 @@ sub end_author{
pop @current;
- print TEXFD "}\n";
+ print $texfd "}\n";
}
sub start_document{
my ($expat, %attrs) = @_;
- print TEXFD "\\begin{document}\n\\maketitle\n\\tableofcontents\n";
+ print $texfd "\\begin{document}\n\\maketitle\n\\tableofcontents\n";
}
sub end_document{
my ($expat) = @_;
- print TEXFD "\\end{document}\n";
+ print $texfd "\\end{document}\n";
}
sub start_node{
@@ -816,7 +990,7 @@ sub start_node{
$tags{$attrs{tag}}->{Ref} = $attrs{tag}.'.html';
$tags{$attrs{tag}}->{Text} = $attrs{title};
- print TEXFD "\\", $attrs{type}, "{",
+ print $texfd "\\", $attrs{type}, "{",
$attrs{title}, "}\\label{",
$attrs{tag}, "}\n";
}
@@ -859,19 +1033,19 @@ sub start_newacro{
# write html file used by popup window
- open FD, ">$helpsetdir/acr_$tag.html"
+ open $fd, ">:encoding($encoding_file)", "$helpsetdir/acr_$tag.html"
or die "Can't open '$helpsetdir/acr_$tag.html' $!\n";
- print FD &html_head($attrs{short});
+ print $fd &html_head($attrs{short});
- print FD "<body>\n<h1>$attrs{short}</h1>\n",
+ print $fd "<body>\n<h1>$attrs{short}</h1>\n",
ucfirst($attrs{long}), ".\n";
- print FD "</body>\n</html>\n";
+ print $fd "</body>\n</html>\n";
- close FD;
+ close $fd;
- print TEXFD "\\newacronym{$tag}{$attrs{short}}{$attrs{long}}\n";
+ print $texfd "\\newacronym{$tag}{$attrs{short}}{$attrs{long}}\n";
}
sub end_newacro{
@@ -910,31 +1084,31 @@ sub start_newterm{
# write html file used by popup window if a description has been
# supplied
- open FD, ">$helpsetdir/$tag.html"
+ open $fd, ">:encoding($encoding_file)", "$helpsetdir/$tag.html"
or die "Can't open '$helpsetdir/$tag.html' $!\n";
- print FD &html_head($attrs{text});
+ print $fd &html_head($attrs{text});
- print FD "<body>\n<h1>";
+ print $fd "<body>\n<h1>";
if ($attrs{fmt})
{
- print FD "<$attrs{fmt}>$attrs{text}</$attrs{fmt}>";
+ print $fd "<$attrs{fmt}>$attrs{text}</$attrs{fmt}>";
}
else
{
- print FD $attrs{text};
+ print $fd $attrs{text};
}
- print FD "</h1>\n", ucfirst($attrs{description}), ".\n";
+ print $fd "</h1>\n", ucfirst($attrs{description}), ".\n";
- print FD "</body>\n</html>\n";
+ print $fd "</body>\n</html>\n";
- close FD;
+ close $fd;
if ($attrs{fmt})
{
- print TEXFD "\\newglossaryentry{$attrs{tag}}{name={",
+ print $texfd "\\newglossaryentry{$attrs{tag}}{name={",
"\\html$attrs{fmt}\{",
$attrs{text}, "}},sort={",
$attrs{text}, "},description={",
@@ -944,7 +1118,7 @@ sub start_newterm{
}
else
{
- print TEXFD "\\newglossaryentry{$attrs{tag}}{name={",
+ print $texfd "\\newglossaryentry{$attrs{tag}}{name={",
$attrs{text}, "},description={", $attrs{description}, "\\index{$attrs{text}}}}\n";
}
}
@@ -984,17 +1158,17 @@ sub start_p{
if ($attrs{align} eq 'left')
{
- print TEXFD "\\begin{flushleft}";
+ print $texfd "\\begin{flushleft}";
$endtag="\\end{flushleft}";
}
elsif ($attrs{align} eq 'right')
{
- print TEXFD "\\begin{flushright}";
+ print $texfd "\\begin{flushright}";
$endtag="\\end{flushright}";
}
elsif ($attrs{align} eq 'center')
{
- print TEXFD "\\begin{center}";
+ print $texfd "\\begin{center}";
$endtag="\\end{center}";
}
else
@@ -1006,9 +1180,9 @@ sub start_p{
else
{
&handle_html("<p>");
- print TEXFD "\n\n";
+ print $texfd "\n\n";
- print TEXFD "\\noindent " if $attrs{noindent};
+ print $texfd "\\noindent " if $attrs{noindent};
}
push @paragraph, $endtag;
@@ -1019,7 +1193,7 @@ sub end_p{
&handle_html("</p>");
- print TEXFD pop @paragraph;
+ print $texfd pop @paragraph;
}
sub start_dl{
@@ -1027,7 +1201,7 @@ sub start_dl{
&handle_html("<dl>");
- print TEXFD "\\begin{description}";
+ print $texfd "\\begin{description}";
}
sub end_dl{
@@ -1035,7 +1209,7 @@ sub end_dl{
&handle_html("</dl>");
- print TEXFD "\\end{description}";
+ print $texfd "\\end{description}";
}
sub start_ul{
@@ -1043,7 +1217,7 @@ sub start_ul{
&handle_html("<ul>");
- print TEXFD "\\begin{itemize}";
+ print $texfd "\\begin{itemize}";
}
sub end_ul{
@@ -1051,7 +1225,7 @@ sub end_ul{
&handle_html("</ul>");
- print TEXFD "\\end{itemize}";
+ print $texfd "\\end{itemize}";
}
sub start_tt{
@@ -1059,7 +1233,7 @@ sub start_tt{
&handle_html("<tt>");
- print TEXFD "\\texttt{";
+ print $texfd "\\texttt{";
}
sub end_tt{
@@ -1067,23 +1241,55 @@ sub end_tt{
&handle_html('</tt>');
- print TEXFD "}";
+ print $texfd "}";
+}
+
+sub start_file{
+ my ($expat, %attrs) = @_;
+
+ &handle_html("<font class=\"file\">");
+
+ print $texfd "\\texttt{";
+}
+
+sub end_file{
+ my ($expat) = @_;
+
+ &handle_html('</font>');
+
+ print $texfd "}";
}
-sub start_b{
+sub start_code{
my ($expat, %attrs) = @_;
- &handle_html("<b>");
+ &handle_html("<code>");
- print TEXFD "\\textbf{";
+ print $texfd "\\texttt{";
}
-sub end_b{
+sub end_code{
my ($expat) = @_;
- &handle_html('</b>');
+ &handle_html('</code>');
+
+ print $texfd "}";
+}
+
+sub start_strong{
+ my ($expat, %attrs) = @_;
+
+ &handle_html("<strong>");
- print TEXFD "}";
+ print $texfd "\\textbf{";
+}
+
+sub end_strong{
+ my ($expat) = @_;
+
+ &handle_html('</strong>');
+
+ print $texfd "}";
}
sub start_em{
@@ -1091,7 +1297,7 @@ sub start_em{
&handle_html("<em>");
- print TEXFD "\\emph{";
+ print $texfd "\\emph{";
}
sub end_em{
@@ -1099,7 +1305,7 @@ sub end_em{
&handle_html('</em>');
- print TEXFD "}";
+ print $texfd "}";
}
sub start_li{
@@ -1107,7 +1313,7 @@ sub start_li{
&handle_html("<li>");
- print TEXFD "\\item ";
+ print $texfd "\\item ";
}
sub end_li{
@@ -1122,7 +1328,7 @@ sub start_dt{
&handle_html("<dt>");
- print TEXFD "\\item[{";
+ print $texfd "\\item[{";
}
sub end_dt{
@@ -1130,7 +1336,7 @@ sub end_dt{
&handle_html("</dt>");
- print TEXFD "}]";
+ print $texfd "}]";
}
sub start_dd{
@@ -1152,7 +1358,7 @@ sub start_meta{
&handle_html("&#x27E8;<em>");
- print TEXFD "\\meta{";
+ print $texfd "\\meta{";
}
sub end_meta{
@@ -1160,7 +1366,7 @@ sub end_meta{
&handle_html('</em>&#x27E9;');
- print TEXFD "}";
+ print $texfd "}";
}
sub start_marg{
@@ -1168,7 +1374,7 @@ sub start_marg{
&handle_html('{');
- print TEXFD "\\marg{";
+ print $texfd "\\marg{";
}
sub end_marg{
@@ -1176,7 +1382,7 @@ sub end_marg{
&handle_html('}');
- print TEXFD "}";
+ print $texfd "}";
}
sub start_dq{
@@ -1184,7 +1390,7 @@ sub start_dq{
&handle_html('"');
- print TEXFD "\\dq{";
+ print $texfd "\\dq{";
}
sub end_dq{
@@ -1192,7 +1398,7 @@ sub end_dq{
&handle_html('"');
- print TEXFD "}";
+ print $texfd "}";
}
sub start_sq{
@@ -1200,7 +1406,7 @@ sub start_sq{
&handle_html("'");
- print TEXFD "\\sq{";
+ print $texfd "\\sq{";
}
sub end_sq{
@@ -1208,7 +1414,7 @@ sub end_sq{
&handle_html("'");
- print TEXFD "}";
+ print $texfd "}";
}
sub start_url{
@@ -1227,12 +1433,12 @@ sub start_url{
if ($attrs{text})
{
- print TEXFD "\\href{", $attrs{www}, "}{", $attrs{text}, "}";
+ print $texfd "\\href{", $attrs{www}, "}{", $attrs{text}, "}";
$string = "<a href=\"$uri\">$attrs{text}</a>";
}
else
{
- print TEXFD "\\url{", $attrs{www}, "}";
+ print $texfd "\\url{", $attrs{www}, "}";
$string = "<a href=\"$uri\"><tt>$attrs{www}</tt></a>";
}
@@ -1248,7 +1454,7 @@ sub start_sty{
push @current, 'sty';
- print TEXFD "\\sty{";
+ print $texfd "\\sty{";
}
sub end_sty{
@@ -1261,7 +1467,7 @@ sub end_sty{
&hs_index_term("sty_$sty", "<tt>$sty</tt>", "$sty.sty", \%terms);
- print TEXFD "}";
+ print $texfd "}";
}
sub start_footnote{
@@ -1281,7 +1487,7 @@ sub start_footnote{
push @current, 'Footnote';
- print TEXFD "\\footnote{";
+ print $texfd "\\footnote{";
}
sub end_footnote{
@@ -1296,13 +1502,13 @@ sub end_footnote{
$docinfo{Footnote} = '';
- print TEXFD "}";
+ print $texfd "}";
}
sub start_blockquote{
my ($expat, %attrs) = @_;
- print TEXFD "\\begin{blockquote}";
+ print $texfd "\\begin{blockquote}";
&handle_html('<blockquote>');
}
@@ -1310,7 +1516,7 @@ sub start_blockquote{
sub end_blockquote{
my ($expat) = @_;
- print TEXFD "\\end{blockquote}";
+ print $texfd "\\end{blockquote}";
&handle_html('</blockquote>');
}
@@ -1333,11 +1539,11 @@ sub start_example{
. ($attrs{title}? "($attrs{title})." : '.')
. '</b></p>');
- print TEXFD "\\begin{example}";
+ print $texfd "\\begin{example}";
if ($attrs{title})
{
- print TEXFD '[', $attrs{title}, ']';
+ print $texfd '[', $attrs{title}, ']';
}
}
@@ -1346,7 +1552,7 @@ sub end_example{
&handle_html('</blockquote>');
- print TEXFD "\\end{example}";
+ print $texfd "\\end{example}";
}
sub start_seealso{
@@ -1364,17 +1570,17 @@ sub start_seealso{
&handle_html("<p>$seealso<ul>");
- print TEXFD "\n\n\\minisec{$seealso}\n";
+ print $texfd "\n\n\\minisec{$seealso}\n";
- print TEXFD "\\begin{itemize}\n";
+ print $texfd "\\begin{itemize}\n";
foreach my $tag (@tags)
{
&handle_html("<li><ref>$tag</ref>");
- print TEXFD "\\item \\nameref{$tag}\n";
+ print $texfd "\\item \\nameref{$tag}\n";
}
- print TEXFD "\\end{itemize}\n";
+ print $texfd "\\end{itemize}\n";
&handle_html('</ul>');
}
@@ -1388,7 +1594,7 @@ sub start_pre{
&handle_html('<pre>');
- print TEXFD "\\begin{verbatim}";
+ print $texfd "\\begin{verbatim}";
}
sub end_pre{
@@ -1396,7 +1602,7 @@ sub end_pre{
&handle_html('</pre>');
- print TEXFD "\\end{verbatim}";
+ print $texfd "\\end{verbatim}";
}
sub start_alltt{
@@ -1404,7 +1610,7 @@ sub start_alltt{
&handle_html('<pre>');
- print TEXFD "\\begin{alltt}";
+ print $texfd "\\begin{alltt}";
}
sub end_alltt{
@@ -1412,7 +1618,7 @@ sub end_alltt{
&handle_html('</pre>');
- print TEXFD "\\end{alltt}";
+ print $texfd "\\end{alltt}";
}
sub start_verbinput{
@@ -1426,9 +1632,9 @@ sub start_verbinput{
&handle_html('<pre>');
- open FD, $attrs{src} or die "Can't open '$attrs{src}' $!\n";
+ open $fd, "<:encoding($encoding_file)", $attrs{src} or die "Can't open '$attrs{src}' $!\n";
- while (<FD>)
+ while (<$fd>)
{
s/\&/\&amp;/g;
s/</\&lt;/g;
@@ -1437,11 +1643,11 @@ sub start_verbinput{
&handle_html($_);
}
- close FD;
+ close $fd;
&handle_html('</pre>');
- print TEXFD "\\verbatiminput{$attrs{src}}";
+ print $texfd "\\verbatiminput{$attrs{src}}";
}
sub end_verbinput{
@@ -1459,9 +1665,9 @@ sub start_verbtabinput{
&handle_html('<pre>');
- open FD, $attrs{src} or die "Can't open '$attrs{src}' $!\n";
+ open $fd, $attrs{src} or die "Can't open '$attrs{src}' $!\n";
- while (<FD>)
+ while (<$fd>)
{
s/\&/\&amp;/g;
s/</\&lt;/g;
@@ -1470,11 +1676,11 @@ sub start_verbtabinput{
&handle_html($_);
}
- close FD;
+ close $fd;
&handle_html('</pre>');
- print TEXFD "\\verbatimtabinput{$attrs{src}}";
+ print $texfd "\\verbatimtabinput{$attrs{src}}";
}
sub end_verbtabinput{
@@ -1517,7 +1723,7 @@ sub start_float{
push @float_elements, \%attrs;
- &handle_html("<div class=\"float\"><a name=\"$attrs{tag}\"></a>");
+ &handle_html("<div class=\"$attrs{type}\"><a name=\"$attrs{tag}\"></a>");
$tags{$attrs{tag}}->{Ref} = $nodes[$#nodes]->{Tag}
.'.html#'.$attrs{tag};
@@ -1526,19 +1732,20 @@ sub start_float{
unless ($attrs{type} eq 'figure')
{
- &handle_html('<p></p><p>' . $tags{$attrs{tag}}->{Text} . ': '
- . $attrs{caption} . '</p>');
+ &handle_html('<p></p><div class="caption">'
+ . $tags{$attrs{tag}}->{Text} . ': '
+ . $attrs{caption} . '</div>');
}
- print TEXFD "\\begin{", $attrs{type}, "}$pos\n";
- print TEXFD "\\floatconts{", $attrs{tag}, "}{\\caption";
+ print $texfd "\\begin{", $attrs{type}, "}$pos\n";
+ print $texfd "\\floatconts{", $attrs{tag}, "}{\\caption";
if ($attrs{listcaption})
{
- print TEXFD "[", $attrs{listcaption}, "]";
+ print $texfd "[", $attrs{listcaption}, "]";
}
- print TEXFD "{", $attrs{caption}, "}}{";
+ print $texfd "{", $attrs{caption}, "}}{";
}
sub end_float{
@@ -1548,13 +1755,13 @@ sub end_float{
if ($attrs->{type} eq 'figure')
{
- &handle_html('<p>'. $tags{$attrs->{tag}}->{Text} . ': '
- . $attrs->{caption} . '</p><p></p>');
+ &handle_html('<div class="figcaption">'. $tags{$attrs->{tag}}->{Text} . ': '
+ . $attrs->{caption} . '</div><p></p>');
}
&handle_html('</div>');
- print TEXFD "}%\n\\end{", $attrs->{type}, "}\n";
+ print $texfd "}%\n\\end{", $attrs->{type}, "}\n";
}
sub start_nbsp{
@@ -1562,7 +1769,7 @@ sub start_nbsp{
&handle_html('&nbsp;');
- print TEXFD "~";
+ print $texfd "~";
}
sub end_nbsp{
@@ -1574,7 +1781,7 @@ sub start_emdash{
&handle_html('&#x2014;');
- print TEXFD "---";
+ print $texfd "---";
}
sub end_emdash{
@@ -1586,7 +1793,7 @@ sub start_hash{
&handle_html('<tt>#</tt>');
- print TEXFD "\\texttt{\\#}";
+ print $texfd "\\texttt{\\#}";
}
sub end_hash{
@@ -1598,7 +1805,7 @@ sub start_tilde{
&handle_html('~');
- print TEXFD "\\textasciitilde ";
+ print $texfd "\\textasciitilde ";
}
sub end_tilde{
@@ -1610,7 +1817,7 @@ sub start_lt{
&handle_html('&lt;');
- print TEXFD "\\textless ";
+ print $texfd "\\textless ";
}
sub end_lt{
@@ -1622,7 +1829,7 @@ sub start_gt{
&handle_html('&gt;');
- print TEXFD "\\textgreater ";
+ print $texfd "\\textgreater ";
}
sub end_gt{
@@ -1634,7 +1841,7 @@ sub start_element{
&handle_html('<tt>&lt;');
- print TEXFD "\\element{";
+ print $texfd "\\element{";
}
sub end_element{
@@ -1642,7 +1849,7 @@ sub end_element{
&handle_html('&gt;</tt>');
- print TEXFD "}";
+ print $texfd "}";
}
sub start_image{
@@ -1709,7 +1916,7 @@ sub start_image{
&handle_html($html);
- print TEXFD "\\includegraphics[",
+ print $texfd "\\includegraphics[",
join(',', @opts), "]{$imgfile}";
}
@@ -1722,7 +1929,7 @@ sub start_LaTeX{
&handle_html('LaTeX');
- print TEXFD "\\LaTeX{}";
+ print $texfd "\\LaTeX{}";
}
sub end_LaTeX{
@@ -1734,7 +1941,7 @@ sub start_TeX{
&handle_html('TeX');
- print TEXFD "\\TeX{}";
+ print $texfd "\\TeX{}";
}
sub end_TeX{
@@ -1744,7 +1951,7 @@ sub end_TeX{
sub start_relax{
my ($expat, %attrs) = @_;
- print TEXFD "\\relax ";
+ print $texfd "\\relax ";
}
sub end_relax{
@@ -1760,7 +1967,7 @@ sub start_app{
&handle_html("<font class=\"appname\">$text</font>");
- print TEXFD "\\appfmt{$text}";
+ print $texfd "\\appfmt{$text}";
}
sub end_app{
@@ -1780,7 +1987,7 @@ sub start_dict{
&handle_html($text);
- print TEXFD $text;
+ print $texfd $text;
}
sub end_dict{
@@ -1802,7 +2009,7 @@ sub start_button{
&handle_html("<font class=\"button\">$text</font>");
- print TEXFD "\\button{$text}";
+ print $texfd "\\button{$text}";
}
sub end_button{
@@ -1829,7 +2036,7 @@ sub start_menu{
if ($currentlabel)
{
$currentlabel .= ".$item";
- print TEXFD "\\mto ";
+ print $texfd "\\mto ";
$index .= '!';
$html .= '&#x279C;';
}
@@ -1842,7 +2049,7 @@ sub start_menu{
$html .= $text;
- print TEXFD "\\menu{$text}";
+ print $texfd "\\menu{$text}";
my $termtag = 'menu_'.$currentlabel;
@@ -1863,7 +2070,7 @@ sub start_menu{
&handle_html("<font class=\"menu\">$html</font>");
- print TEXFD "\\index{$index}";
+ print $texfd "\\index{$index}";
}
sub end_menu{
@@ -1903,7 +2110,7 @@ sub start_acr{
&hs_index_term('acr_'.$attrs{tag}, $html, ucfirst($html), \%terms);
}
- print TEXFD "\\gls{", $attrs{tag}, "}";
+ print $texfd "\\gls{", $attrs{tag}, "}";
}
sub end_acr{
@@ -1944,13 +2151,13 @@ sub start_term{
{
if ($attrs{hyper} and $attrs{hyper} eq 'false')
{
- print TEXFD "\\gls*{", $attrs{tag}, "}";
+ print $texfd "\\gls*{", $attrs{tag}, "}";
}
else
{
$html = &hs_popup("gls_".$attrs{tag}.".html", $html);
- print TEXFD "\\gls{", $attrs{tag}, "}";
+ print $texfd "\\gls{", $attrs{tag}, "}";
}
}
else
@@ -1966,7 +2173,7 @@ sub start_term{
$idx = "$idx\@\\html$fmt\{$idx\}";
}
- print TEXFD "$text\\index{$idx}";
+ print $texfd "$text\\index{$idx}";
}
&hs_index_term($hstag, $html, $terms{$hstag}->{Text},
@@ -1991,11 +2198,11 @@ sub start_ref{
if ($attrs{text})
{
- print TEXFD "\\hyperref[$attrs{tag}]{$attrs{text}}";
+ print $texfd "\\hyperref[$attrs{tag}]{$attrs{text}}";
}
else
{
- print TEXFD "\\autoref{", $attrs{tag}, "}";
+ print $texfd "\\autoref{", $attrs{tag}, "}";
}
}
@@ -2023,10 +2230,10 @@ sub start_opt{
$terms{options}->{Children} = \%hash;
}
- &hs_index_term('opt_'.$attrs{tag}, "<tt>$text</tt>", $text,
+ &hs_index_term('opt_'.$attrs{tag}, "<code>$text</code>", $text,
$terms{options}->{Children});
- print TEXFD "\\opt{", $attrs{tag}, "}";
+ print $texfd "\\opt{", $attrs{tag}, "}";
}
sub end_opt{
@@ -2038,7 +2245,7 @@ sub start_backslash{
&handle_html("<tt>\\</tt>");
- print TEXFD "\\texttt{\\char`\\\\}";
+ print $texfd "\\texttt{\\char`\\\\}";
}
sub end_backslash{
@@ -2050,7 +2257,7 @@ sub start_doublebackslash{
&handle_html("<tt>\\\\</tt>");
- print TEXFD "\\cs{\\char`\\\\}";
+ print $texfd "\\cs{\\char`\\\\}";
}
sub end_doublebackslash{
@@ -2068,9 +2275,9 @@ sub start_cs{
my $text = "\\".$attrs{tag};
- print TEXFD '\\cs{', $attrs{tag}, '}';
+ print $texfd '\\cs{', $attrs{tag}, '}';
- &hs_index_term('cs_'.$attrs{tag}, "<tt>$text</tt>", $text, \%terms);
+ &hs_index_term('cs_'.$attrs{tag}, "<code>$text</code>", $text, \%terms);
}
@@ -2089,7 +2296,7 @@ sub start_env{
my $text = $attrs{tag};
- print TEXFD '\\env{', $attrs{tag}, '}';
+ print $texfd '\\env{', $attrs{tag}, '}';
&hs_index_term('env_'.$attrs{tag}, "<tt>$text</tt>", $text, \%terms);
@@ -2110,7 +2317,7 @@ sub start_tabular{
&handle_html('<table>');
- print TEXFD "\\begin{tabular}{", $attrs{spec}, '}';
+ print $texfd "\\begin{tabular}{", $attrs{spec}, '}';
my %hash =
(
@@ -2128,7 +2335,7 @@ sub end_tabular{
pop @tabular_specs;
- print TEXFD "\\end{tabular}";
+ print $texfd "\\end{tabular}";
}
sub start_tr{
@@ -2144,7 +2351,7 @@ sub end_tr{
&handle_html('</tr>');
- print TEXFD "\\tabularnewline ";
+ print $texfd "\\tabularnewline ";
}
sub start_td{
@@ -2190,7 +2397,7 @@ sub start_td{
unless ($tabular_specs[$#tabular_specs]->{column} == 1)
{
- print TEXFD "&";
+ print $texfd "&";
}
if (($orgcolspec eq $colspec) and $colspan == 1)
@@ -2199,7 +2406,7 @@ sub start_td{
}
else
{
- print TEXFD "\\multicolumn{$colspan}{$colspec}{";
+ print $texfd "\\multicolumn{$colspan}{$colspec}{";
$tabular_specs[$#tabular_specs]->{egroup} = '}';
}
@@ -2211,13 +2418,13 @@ sub end_td{
&handle_html('</td>');
- print TEXFD $tabular_specs[$#tabular_specs]->{egroup};
+ print $texfd $tabular_specs[$#tabular_specs]->{egroup};
}
sub start_printglossary{
my ($expat, %attrs) = @_;
- print TEXFD "\\printglossary";
+ print $texfd "\\printglossary";
}
sub end_printglossary{
@@ -2227,7 +2434,7 @@ sub end_printglossary{
sub start_printacronyms{
my ($expat, %attrs) = @_;
- print TEXFD "\\printglossary[type=acronym]";
+ print $texfd "\\printglossary[type=acronym]";
}
sub end_printacronyms{
@@ -2237,7 +2444,7 @@ sub end_printacronyms{
sub start_printindex{
my ($expat, %attrs) = @_;
- print TEXFD "\\printindex ";
+ print $texfd "\\printindex ";
}
sub end_printindex{
@@ -2249,7 +2456,7 @@ sub start_br{
&handle_html("<br />");
- print TEXFD "\\\\";
+ print $texfd "\\\\";
}
sub end_br{
@@ -2261,7 +2468,7 @@ sub start_hr{
&handle_html("<hr />");
- print TEXFD "\\hrulefill ";
+ print $texfd "\\hrulefill ";
}
sub end_hr{
@@ -2271,7 +2478,7 @@ sub end_hr{
sub start_cont{
my ($expat, %attrs) = @_;
- print TEXFD "\\continueline ";
+ print $texfd "\\continueline ";
}
sub end_cont{
@@ -2281,7 +2488,7 @@ sub end_cont{
sub start_contexplan{
my ($expat, %attrs) = @_;
- print TEXFD &get_label('manual.cont_explanation');
+ print $texfd &get_label('manual.cont_explanation');
}
@@ -2293,13 +2500,16 @@ sub start_percent{
my ($expat, %attrs) = @_;
&handle_html("%");
- print TEXFD "\\%";
+ print $texfd "\\%";
}
sub end_percent{
my ($expat) = @_;
}
+# Java JEditorPane (used by the helpset) only has very limited HTML
+# support.
+
sub html_head{
my ($title, $prev, $next) = @_;
@@ -2307,8 +2517,8 @@ sub html_head{
<!DOCTYPE html html public "-//w3c//dtd xhtml 1.0 Transitional//en"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en-GB"
-xml:lang="en-GB">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="$locale"
+xml:lang="$locale">
<head>
<style type="text/css">
.title
@@ -2330,13 +2540,18 @@ xml:lang="en-GB">
{
display: inline;
font-weight: bold;
- font-size: normal;
+ font-size: medium;
text-align: center;
}
- .float
+ .figure
{
text-align: center;
- padding-top: 16;
+ padding-top: 16px;
+ }
+ .table
+ {
+ text-align: center;
+ padding-top: 16px;
}
.menu
{
@@ -2352,6 +2567,10 @@ xml:lang="en-GB">
{
font-family: sans-serif;
}
+ .file
+ {
+ font-family: monospace;
+ }
</style>
<title>$title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
@@ -2407,6 +2626,228 @@ sub html_nav{
"$nav</td></tr></table>"
}
+# This is for actual HTML files for the Dickimaw site so not
+# restricted by the JEditorPane limitations
+sub html_www_head{
+ my ($title, $prev, $next) = @_;
+
+ my $nextlink = '';
+ my $prevlink = '';
+
+ if ($next)
+ {
+ $nextlink = "<link rel=\"next\" href=\"$next.shtml\" />";
+ }
+
+ if ($prev)
+ {
+ $prevlink = "<link rel=\"prev\" href=\"$prev.shtml\" />";
+ }
+
+ $title=~s/&nbsp;/ /g;
+
+ return <<_END_HTML_HEAD;
+<!DOCTYPE html>
+<html lang="en-GB">
+<head>
+ <meta charset="UTF-8">
+ <!--#include virtual="/navigation/styles.shtml" -->
+ <style>
+ h1.doctitle
+ {
+ text-align: center;
+ }
+ .author
+ {
+ font-weight: bold;
+ font-size: large;
+ text-align: center;
+ padding: 2em;
+ }
+ .date
+ {
+ font-weight: bold;
+ font-size: medium;
+ text-align: center;
+ }
+ .float
+ {
+ text-align: center;
+ padding-top: 16px;
+ }
+ .menu
+ {
+ font-weight: bold;
+ font-family: sans-serif;
+ }
+ .button
+ {
+ font-weight: bold;
+ font-family: sans-serif;
+ }
+ .appname
+ {
+ font-family: sans-serif;
+ }
+ </style>
+ <title>$title</title>
+ $nextlink
+ $prevlink
+</head>
+ <body>
+ <!--#include virtual="/navigation/header5.shtml" -->
+
+ <div id="sidebar"><!--#include virtual="/navigation/sidebarheader.shtml" -->
+<!--#include file="sidebar.shtml" -->
+ </div>
+ <div id="main">
+_END_HTML_HEAD
+}
+
+sub html_www_nav{
+ my ($prevNode, $nextNode) = @_;
+
+ my $nav = '<hr /><div class="navline"><div class="navleft">';
+
+ if ($prevNode)
+ {
+ my $prev;
+ my $title;
+
+ if ($prevNode eq 'index' or $prevNode eq $base)
+ {
+ $prev = 'index';
+ $title = &get_label('manual.home');
+ }
+ elsif ($prevNode eq 'glossary')
+ {
+ $prev = 'glossary';
+ $title = &get_label('manual.glossary');
+ }
+ elsif ($prevNode)
+ {
+ $prev = $prevNode->{Tag};
+ $title = $prevNode->{Title};
+ }
+
+ $nav .= "<a href=\"$prev.shtml\">&#x21E6; $title </a>";
+ }
+
+ $nav .= '</div><div class="navright">';
+
+ if ($nextNode)
+ {
+ my $next;
+ my $title;
+
+ if ($nextNode eq 'glossary')
+ {
+ $next = 'glossary';
+ $title = &get_label('manual.glossary');
+ }
+ else
+ {
+ $next = $nextNode->{Tag};
+ $title = $nextNode->{Title};
+ }
+
+ $nav .= "<a href=\"$next.shtml\">$title &#x21E8;</a>";
+ }
+
+ "$nav</div></div>"
+}
+
+sub html_www_foot{
+ my $nav = &html_www_nav(@_);
+
+ my $year = '';
+
+ if ($dict{appdate}=~m/^(\d{4})/)
+ {
+ $year = $1;
+ }
+
+ return <<_END_HTML_FOOT;
+$nav
+</div>
+ <!--#set var="CopyYear" value="$year" -->
+ <!--#include virtual="/navigation/footer5.shtml" -->
+</body>
+</html>
+_END_HTML_FOOT
+}
+
+sub write_www_glossary{
+ my ($nextnode) = @_;
+
+ my $title = &get_label('manual.glossary');
+
+ my $fd;
+
+ open $fd, ">:encoding($encoding_xml)", "$wwwpath/glossary.shtml"
+ or die "Can't open '$wwwpath/glossary.shtml' $!\n";
+
+ print "Writing '$wwwpath/glossary.shtml'\n";
+
+ print $fd &html_www_head($title, 'index', $nextnode->{Tag});
+
+ print $fd "<h1>$title</h1>\n";
+
+ &write_www_terms($fd, \%terms, \%acros);
+
+ print $fd &html_www_foot('index', $nextnode);
+
+ close $fd;
+}
+
+sub write_www_terms{
+ my ($fd, $terms, $acros) = @_;
+
+ my %hash = ();
+
+ foreach my $tag ( keys %$terms )
+ {
+ if ($tag=~/^gls_/)
+ {
+ $hash{$tag} = ();
+
+ $hash{$tag}{Text} = $terms->{$tag}->{Text};
+ $hash{$tag}{Description} = $terms->{$tag}->{Description};
+ }
+ }
+
+ foreach my $tag ( keys %$acros )
+ {
+ $hash{$tag} = ();
+
+ $hash{$tag}{Text} = $acros->{$tag}->{Short};
+ $hash{$tag}{Description} = $acros->{$tag}->{Long};
+ }
+
+ my @tags = keys %hash;
+
+ if ($#tags == -1)
+ {
+ return;
+ }
+
+ my @sorted_tags = sort {lc($hash{$a}{Text}) cmp lc($hash{$b}{Text})} @tags;
+
+ print $fd "<dl class=\"boldspaced\">";
+
+ foreach my $tag ( @sorted_tags )
+ {
+ print $fd "<dt id=\"$tag\">$hash{$tag}{Text}</dt>\n", "<dd>";
+
+ print $fd $hash{$tag}{Description};
+
+ print $fd "</dd>\n";
+ }
+
+ print $fd "</dl>";
+
+}
+
sub arg_placeholder{
"<ARG#" . ($_[0]) . "/>";
}
diff --git a/support/makeglossariesgui/src/doc/makeglossariesgui-en.xml b/support/makeglossariesgui/src/doc/makeglossariesgui-en.xml
index 81816d94a4..c0b3347001 100644
--- a/support/makeglossariesgui/src/doc/makeglossariesgui-en.xml
+++ b/support/makeglossariesgui/src/doc/makeglossariesgui-en.xml
@@ -87,14 +87,14 @@
Command line invocation:
</p>
<p align="center">
- <tt>makeglossariesgui</tt> [<meta>options</meta>] [<meta>filename</meta>]
+ <code>makeglossariesgui</code> [<meta>options</meta>] [<meta>filename</meta>]
</p>
<p noindent="true">
The <meta>filename</meta> must be supplied when run in batch mode
- (the <tt>.aux</tt> extension may be omitted), but
+ (the <file>.aux</file> extension may be omitted), but
is optional in <acr tag="gui"/> mode. The <meta>filename</meta> should
be the auxiliary file produced by the <LaTeX/> run, but may also be
- the <tt>.tex</tt> or <tt>.log</tt> file if it has the same basename as
+ the <file>.tex</file> or <file>.log</file> file if it has the same basename as
the auxiliary file and is located in the same directory.
Unlike <term tag="makeglossaries"/> and <term tag="makeglossarieslite"/>,
<meta>filename</meta> may include the directory path.
@@ -102,7 +102,7 @@
<p>
Available options:
<dl>
- <dt><opt tag="batch"/> (or <tt>-b</tt>)</dt>
+ <dt><opt tag="batch"/> (or <code>-b</code>)</dt>
<dd>
Invoke <app/> in batch mode (<meta>filename</meta> must be supplied).
Note that the extra checks that parse the log file aren't performed
@@ -115,15 +115,15 @@
<dt><opt tag="quiet"/></dt>
<dd>Suppress (non-error) messages that would otherwise have been written
to STDOUT.</dd>
- <dt><opt tag="dry-run"/> (or <tt>-n</tt>)</dt>
+ <dt><opt tag="dry-run"/> (or <code>-n</code>)</dt>
<dd>Dry run mode (don't run the indexing application).</dd>
<dt><opt tag="nodry-run"/></dt>
<dd>Not dry run mode (default).</dd>
<dt><opt tag="debug"/></dt>
<dd>Print debug messages to STDOUT.</dd>
- <dt><opt tag="version"/> (or <tt>-v</tt>)</dt>
+ <dt><opt tag="version"/> (or <code>-v</code>)</dt>
<dd>Print the version details to STDOUT and exit.</dd>
- <dt><opt tag="help"/> (or <tt>-h</tt>)</dt>
+ <dt><opt tag="help"/> (or <code>-h</code>)</dt>
<dd>Print a brief summary of available options to STDOUT and exit.</dd>
</dl>
</p>
@@ -141,17 +141,17 @@
(see <ref tag="introduction"/>) or in the <acr tag="gui"/> using the
<menu tag="file.open"/> menu item. You can also use the load file button
on the toolbar or (if permitted by your operating system) drag and drop
- the file onto the main window. The input file should be the <tt>.aux</tt>
+ the file onto the main window. The input file should be the <file>.aux</file>
file created by <LaTeX/>, but if you try to load the main document
- <tt>.tex</tt> file or the <tt>.log</tt> transcript file,
- <app/> will assume you meant the associated <tt>.aux</tt> file.
- (If you have used <LaTeX/>'s <tt>-jobname</tt> or <tt>-output-directory</tt>
- options, then you won't be able to use the <tt>.tex</tt> file and will have
- to use either the <tt>.aux</tt> or <tt>.log</tt> file.)
+ <file>.tex</file> file or the <file>.log</file> transcript file,
+ <app/> will assume you meant the associated <file>.aux</file> file.
+ (If you have used <LaTeX/>'s <file>-jobname</file> or <file>-output-directory</file>
+ options, then you won't be able to use the <file>.tex</file> file and will have
+ to use either the <file>.aux</file> or <file>.log</file> file.)
</p>
<example>
<p>
- Suppose you have the following document (called, say, <tt>basic-sample.tex</tt>):
+ Suppose you have the following document (called, say, <file>basic-sample.tex</file>):
</p>
<pre>
\documentclass{article}
@@ -172,23 +172,23 @@ A \gls{sample} document.
</pre>
<p>
First run <LaTeX/> the usual way. This should create the auxiliary file
- <tt>basic-sample.aux</tt> as well as some other files including
- <tt>basic-sample.glo</tt> and <tt>basic-sample.ist</tt>. Now load the auxiliary file
- (<tt>basic-sample.aux</tt>) into <app/>. (Since the main <tt>.tex</tt> file
- has the same basename as the <tt>.aux</tt> file, you can also use that, as
+ <file>basic-sample.aux</file> as well as some other files including
+ <file>basic-sample.glo</file> and <file>basic-sample.ist</file>. Now load the auxiliary file
+ (<file>basic-sample.aux</file>) into <app/>. (Since the main <file>.tex</file> file
+ has the same basename as the <file>.aux</file> file, you can also use that, as
mentioned above.)
</p>
<p>
- Once <app/> has successfully loaded the <tt>.aux</tt> file, it will run
- <term tag="makeindex"/> on the associated <tt>.glo</tt> file (with the
- <tt>.ist</tt> file as the style).
+ Once <app/> has successfully loaded the <file>.aux</file> file, it will run
+ <term tag="makeindex"/> on the associated <file>.glo</file> file (with the
+ <file>.ist</file> file as the style).
In this case, there are no problems with the document and the
- <tt>.tex</tt> file is now ready for another <LaTeX/> run. The general
+ <file>.tex</file> file is now ready for another <LaTeX/> run. The general
information panel (<ref tag="basicsample"/>) shows a summary of the
document glossaries. In this case, there's only one glossary (the
- <tt>main</tt> one). If you edit the document source code (<tt>.tex</tt> file)
+ <file>main</file> one). If you edit the document source code (<file>.tex</file> file)
you can use the <menu tag="file.reload"/> menu item to reload the updated
- <tt>.aux</tt> file in <app/>.
+ <file>.aux</file> file in <app/>.
</p>
<p>
<float type="figure" tag="basicsample"
@@ -198,7 +198,7 @@ A \gls{sample} document.
</float>
</p>
<p>
- In this example, only one entry has been indexed in the <tt>main</tt> glossary. You
+ In this example, only one entry has been indexed in the <file>main</file> glossary. You
can find out more information by clicking on the <dq>Details</dq>
link, which will open the window shown in <ref tag="basicsampledetails"/>.
</p>
@@ -241,8 +241,8 @@ A \gls{sample} document.
in your document. Remember that the commands described in section<nbsp/>9
(<dq>Using Glossary Terms Without Links</dq>) of the <sty>glossaries</sty>
manual don't index the terms. These essentially are all the commands in the
- form <backslash/><tt>glsentry</tt><meta>field</meta> or
- <backslash/><tt>glossentryname</tt><meta>field</meta>, such as
+ form <backslash/><file>glsentry</file><meta>field</meta> or
+ <backslash/><file>glossentryname</file><meta>field</meta>, such as
<cs tag="glsentrytext"/>, <cs tag="glsentryshort"/>,
<cs tag="glsentrylong"/> or <cs tag="glossentryname"/>, and their
case-changing variants. Also <cs tag="glsentrytitlecase"/> and
@@ -250,12 +250,12 @@ A \gls{sample} document.
</p>
<p>
If you're using the <sty>glossaries-extra</sty> package, remember that
- the <tt>noindex</tt> option will suppress indexing.
+ the <file>noindex</file> option will suppress indexing.
</p>
<example>
<p>
Now let's consider the following document (called, say,
- <tt>missing-sort.tex</tt>):
+ <file>missing-sort.tex</file>):
</p>
<pre>
\documentclass{article}
@@ -282,20 +282,20 @@ Test: \gls{S}, $\gls{alpha}$, $\gls{beta}$.
\end{document}
</pre>
<p>
- As before, run <LaTeX/> as usual on this document. Since the <tt>xindy</tt>
- package option has been used, this will create a <tt>.xdy</tt> file
- instead of a <tt>.ist</tt> file and the <tt>.glo</tt>
+ As before, run <LaTeX/> as usual on this document. Since the <file>xindy</file>
+ package option has been used, this will create a <file>.xdy</file> file
+ instead of a <file>.ist</file> file and the <file>.glo</file>
file is now in <term tag="xindy"/>'s format. There are, however, problems
with this document. The <sty>glossaries</sty> manual advises using the
- <tt>sort</tt> key for entries that contain special characters or commands
+ <file>sort</file> key for entries that contain special characters or commands
in the entry's name. This document hasn't followed that advice, and
- xindy will complain. The <tt>S</tt> entry just causes a warning:
+ xindy will complain. The <file>S</file> entry just causes a warning:
</p>
<blockquote>
Would replace complete index key with empty string, ignoring
</blockquote>
<p noindent="true">
- and the <tt>S</tt> entry is ignored. The <tt>alpha</tt> and <tt>beta</tt>
+ and the <file>S</file> entry is ignored. The <file>alpha</file> and <file>beta</file>
entries cause an error:
</p>
<blockquote>
@@ -303,7 +303,7 @@ index 0 should be less than the length of the string
</blockquote>
<p noindent="true">
Again the entries are ignored, but the message is fairly cryptic.
- If we load the auxiliary file (<tt>missing-sort.aux</tt>) into
+ If we load the auxiliary file (<file>missing-sort.aux</file>) into
<app/>, these problems are detected, and the following error message is
displayed:
</p>
@@ -316,7 +316,7 @@ Xindy failed with exit code 1.
<button tag="diagnostics.title"/> tab
should automatically be selected (see <ref tag="missingsortdiagnostics"/>).
This identifies the problem entries and recommends a solution, in this case,
- add the <tt>sort</tt> key to the entry definition. The actual warning and
+ add the <file>sort</file> key to the entry definition. The actual warning and
error message reported by <term tag="xindy"/> are shown at the end.
(You can adjust the font used by these messages if you like,
see <ref tag="properties"/>.)
@@ -394,8 +394,8 @@ A \gls{sample} document.
<p>
The <sty>glossaries-extra</sty> package is stricter than
the base <sty>glossaries</sty> package. The problem here
- is that I've used <tt>type=acronym</tt>, but there's no
- glossary with that label. (I haven't used the <tt>acronym</tt>
+ is that I've used <file>type=acronym</file>, but there's no
+ glossary with that label. (I haven't used the <file>acronym</file>
option.) If you're not using the extension package, this is
harder to pick up, but <app/> will notify you of the problem.
This example document will trigger the error
@@ -408,8 +408,8 @@ No glossary <sq>acronym</sq>.
</p>
<blockquote>
It looks as though you might have done something like
-<tt><cs tag="printglossary"/>[type=<marg>acronym</marg>]</tt>, but there's no
-<tt>acronym</tt> glossary.
+<code><cs tag="printglossary"/>[type=<marg>acronym</marg>]</code>, but there's no
+<file>acronym</file> glossary.
</blockquote>
<p>
If you switch to the <button tag="main.title"/> panel,
@@ -456,7 +456,7 @@ A sample document.
</pre>
<p>
My first step, as usual, is to run <LaTeX/> on this document, which will
- create the <tt>.aux</tt> file. Now if I try loading this file into <app/>
+ create the <file>.aux</file> file. Now if I try loading this file into <app/>
I get the error message:
</p>
<blockquote>
@@ -466,11 +466,11 @@ A sample document.
The diagnostics panel shows the following message:
</p>
<blockquote>
-There were no entries listed for the <tt>main</tt> glossary. Remember that you
+There were no entries listed for the <file>main</file> glossary. Remember that you
must index entries for them to appear in the glossary using the commands
provided by the glossaries package. Entries that have been defined but not
indexed won't be listed. If you don't want to use this glossary,
-add the <tt>nomain</tt> package option to your document. Check the following:
+add the <file>nomain</file> package option to your document. Check the following:
<ul>
<li>Have you used commands like <cs tag="gls"/> or <cs tag="glsadd"/> in the
document? (If you haven't, you need to add them.)</li>
@@ -481,8 +481,8 @@ in the preamble, have you remembered to put them <em>after</em>
</ul>
</blockquote>
<p>
- (The sentence referencing <tt>nomain</tt> only appears if there are
- no entries for the <tt>main</tt> glossary, but not for any other glossaries.)
+ (The sentence referencing <file>nomain</file> only appears if there are
+ no entries for the <file>main</file> glossary, but not for any other glossaries.)
</p>
</example>
<p>
@@ -491,7 +491,7 @@ in the preamble, have you remembered to put them <em>after</em>
</p>
<example>
<p>
- Consider the following document:
+ Consider the following document:</p>
<pre>
\documentclass{article}
@@ -509,9 +509,8 @@ A \gls{sample} document.
\end{document}
</pre>
- </p>
<p>
- If I load the <tt>.aux</tt> file for this document into <app/>, I get
+ If I load the <file>.aux</file> file for this document into <app/>, I get
the following message in the diagnostics panel:
</p>
<blockquote>
@@ -547,14 +546,14 @@ A \gls{sample} document.
<blockquote>
<p>
Package glossaries Warning: Empty glossary for
-<tt><cs tag="printnoidxglossary"/>[type=<marg>acronym</marg>]</tt> Rerun may be
+<code><cs tag="printnoidxglossary"/>[type=<marg>acronym</marg>]</code> Rerun may be
required (or you may have forgotten to use commands like <cs tag="gls"/>) on input
line 13.
</p>
<p>
It looks as though you might have done something like
-<tt><cs tag="printnoidxglossary"/>[type=<marg>acronym</marg>]</tt>, but there's no
-<tt>acronym</tt> glossary.
+<code><cs tag="printnoidxglossary"/>[type=<marg>acronym</marg>]</code>, but there's no
+<file>acronym</file> glossary.
</p>
</blockquote>
<p>
@@ -564,7 +563,7 @@ It looks as though you might have done something like
<p>
Note that <app/> also looks for warnings from the <sty>glossaries</sty>
package, so if you are encountering any problems, make sure you
- haven't suppressed the warnings with the <tt>nowarn</tt> package option.
+ haven't suppressed the warnings with the <file>nowarn</file> package option.
</p>
<example>
<p>
@@ -604,7 +603,7 @@ if you don't want any glossaries.) This document will not have a glossary.
</example>
<p>
Sometimes things can go so badly wrong that <LaTeX/> doesn't even
- generate an auxiliary file. In this case you can load the <tt>.log</tt>
+ generate an auxiliary file. In this case you can load the <file>.log</file>
file instead. (You'll need to change the file selector filter to
show all files.) <app/> will parse the log file to see if it recognises
any of the error messages. Some <LaTeX/> error messages can be quite
@@ -660,20 +659,20 @@ It's possible that there's an expansion issue involving a fragile command.
Things to check for:
</p>
<ul>
-<li>Have you used a class like <tt>beamer</tt> that doesn't make common
+<li>Have you used a class like <file>beamer</file> that doesn't make common
formatting commands like <cs tag="textit"/> robust?</li>
<li>Have you tried using <cs tag="protect"/> in front of fragile commands
contained within your entry definitions?</li>
<li>Have you tried switching off the expansion using commands like
<cs tag="glsnoexpandfields"/>? (See section 4.6 Expansion in the
-<tt>glossaries</tt> user manual.)</li>
+<file>glossaries</file> user manual.)</li>
</ul>
</blockquote>
<p>
The problem here is that a fragile command has been used in the entry
definition. The problematic command in this example is
<cs tag="textit"/>, which is normally robust, but it happens to be
- fragile with the <tt>beamer</tt> class. The solution is to either
+ fragile with the <file>beamer</file> class. The solution is to either
protect the problematic command with <cs tag="protect"/> or
use <cs tag="glsnoexpandfields"/> before you define the entries.
For example:
@@ -733,7 +732,7 @@ contained within your entry definitions?</li>
value starts with an extended character. This doesn't work as
<term tag="makeindex"/> treats the UTF-8 letter as two separate
characters form from the two octets. This not only affects the
- sorting but also causes a problem for the <tt>indexgroup</tt>
+ sorting but also causes a problem for the <file>indexgroup</file>
style.</p>
<p>
<float type="figure" tag="unsupportedencdiagnostics"
@@ -878,7 +877,7 @@ contained within your entry definitions?</li>
</p>
<p>
<app/> will try to determine the language and input encoding from the
- <tt>.aux</tt> file to pass to <term tag="xindy"/>, but you can override
+ <file>.aux</file> file to pass to <term tag="xindy"/>, but you can override
this if you want to. Make sure that the <button tag="properties.override"/>
check box is selected, and change the language and encoding as appropriate.
Note that the batch mode will also use these settings, although they can
@@ -945,7 +944,7 @@ contained within your entry definitions?</li>
<p>
<app/> is licensed under the terms of the GNU General Public License.
<app/> depends on the following third party libraries whose jar files are
- in the <tt>lib</tt> directory: Java Help
+ in the <file>lib</file> directory: Java Help
(<url www="https://javahelp.java.net/"/>) and
the Java Look and Feel Graphics Repository (<url www="http://www.oracle.com/technetwork/java/index-138612.html"/>).
</p>
diff --git a/support/makeglossariesgui/src/doc/makeglossariesgui.dtd b/support/makeglossariesgui/src/doc/makeglossariesgui.dtd
index 09fdf90fdc..d11f3ee0ee 100644
--- a/support/makeglossariesgui/src/doc/makeglossariesgui.dtd
+++ b/support/makeglossariesgui/src/doc/makeglossariesgui.dtd
@@ -61,7 +61,7 @@
<!ELEMENT meta (%basic.content;)+>
<!ELEMENT sty (%basic.content;)+>
<!ELEMENT em (%basic.content;)+>
-<!ELEMENT b (%basic.content;)+>
+<!ELEMENT strong (%basic.content;)+>
<!ELEMENT pre (%basic.content;)+>
<!ELEMENT float (%basic.content;)+>
<!ATTLIST float type (#PCDATA)+ #REQUIRED>
diff --git a/support/makeglossariesgui/src/installer/install.xml b/support/makeglossariesgui/src/installer/install.xml
index 2469e12012..96eafaa076 100644
--- a/support/makeglossariesgui/src/installer/install.xml
+++ b/support/makeglossariesgui/src/installer/install.xml
@@ -8,8 +8,8 @@
<properties>
<property name="info.appName" value="makeglossariesgui"/>
- <property name="info.url" value="http://www.dickimaw-books.com/software/makeglossariesgui/"/>
- <property name="project.version" value="2.1" />
+ <property name="info.url" value="https://www.dickimaw-books.com/software/makeglossariesgui/"/>
+ <property name="project.version" value="2.2" />
</properties>
<!--
diff --git a/support/makeglossariesgui/src/installer/unix_shortcutSpec.xml b/support/makeglossariesgui/src/installer/unix_shortcutSpec.xml
index 85ad9ae113..f9cfe4d119 100644
--- a/support/makeglossariesgui/src/installer/unix_shortcutSpec.xml
+++ b/support/makeglossariesgui/src/installer/unix_shortcutSpec.xml
@@ -6,7 +6,7 @@
location="applications"/>
<shortcut
- name="MakeGlossariesGUI GUI"
+ name="MakeGlossariesGUI"
programGroup="yes"
applications="no"
desktop="yes"
@@ -14,7 +14,7 @@
commandLine="-splash:&quot;$INSTALL_PATH/lib/makeglossariesgui-splash.png&quot; -jar &quot;$INSTALL_PATH/lib/makeglossariesgui.jar&quot;"
workingDirectory=""
description="GUI to accompany glossaries.sty"
- iconFile="$INSTALL_PATH/lib/icons/makeglossariesgui-logosmall.png"
+ iconFile="$INSTALL_PATH/lib/resources/icons/makeglossariesgui-logosmall.png"
iconIndex="0"
type="Application"
encoding="UTF-8"
@@ -33,7 +33,6 @@
target="evince"
commandLine="$INSTALL_PATH/doc/makeglossariesgui-en.pdf"
initialState="normal"
- url="$INSTALL_PATH/doc/makeglossariesgui-en.pdf"
type="Application"
mimetype="application/pdf"
encoding="UTF-8"
diff --git a/support/makeglossariesgui/src/java/AppSelector.java b/support/makeglossariesgui/src/java/AppSelector.java
index 6ef120af17..5717f76a2f 100644
--- a/support/makeglossariesgui/src/java/AppSelector.java
+++ b/support/makeglossariesgui/src/java/AppSelector.java
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2013 Nicola L.C. Talbot
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
www.dickimaw-books.com
This program is free software; you can redistribute it and/or modify
diff --git a/support/makeglossariesgui/src/java/AuxFileFilter.java b/support/makeglossariesgui/src/java/AuxFileFilter.java
index 813d82e746..fa88a6e5a7 100644
--- a/support/makeglossariesgui/src/java/AuxFileFilter.java
+++ b/support/makeglossariesgui/src/java/AuxFileFilter.java
@@ -1,13 +1,10 @@
-// File : AuxFileFilter.java
-// Author : Nicola L.C. Talbot
-// http://www.dickimaw-books.com/
-
/*
- Copyright (C) 2006 Nicola L.C. Talbot
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -19,7 +16,6 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package com.dickimawbooks.makeglossariesgui;
import java.io.*;
diff --git a/support/makeglossariesgui/src/java/DiagnosticPanel.java b/support/makeglossariesgui/src/java/DiagnosticPanel.java
index b84eaa6d6f..18e4ee8ad0 100644
--- a/support/makeglossariesgui/src/java/DiagnosticPanel.java
+++ b/support/makeglossariesgui/src/java/DiagnosticPanel.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.awt.*;
diff --git a/support/makeglossariesgui/src/java/FileField.java b/support/makeglossariesgui/src/java/FileField.java
index 77441fd5bc..5bb0fdc2a8 100644
--- a/support/makeglossariesgui/src/java/FileField.java
+++ b/support/makeglossariesgui/src/java/FileField.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.io.*;
diff --git a/support/makeglossariesgui/src/java/Glossaries.java b/support/makeglossariesgui/src/java/Glossaries.java
index 8d25ca7748..a8a40329c0 100644
--- a/support/makeglossariesgui/src/java/Glossaries.java
+++ b/support/makeglossariesgui/src/java/Glossaries.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.util.*;
@@ -588,6 +606,9 @@ public class Glossaries
String build = null;
+ int makeglossDisabledLine = -1;
+ int makeglossRestoredLine = -1;
+
try
{
reader = new BufferedReader(new InputStreamReader(
@@ -599,6 +620,58 @@ public class Glossaries
{
Matcher m;
+ if (istName == null && line.startsWith("Package glossaries Info:") && !line.endsWith("."))
+ {
+ String nextLine;
+
+ while ((nextLine = reader.readLine()) != null)
+ {
+ line += nextLine;
+
+ if (nextLine.endsWith("."))
+ {
+ break;
+ }
+ }
+
+ // Need to determine which option was the last in
+ // effect but line numbers may refer to different files.
+
+ m = makeglossDisabledPattern.matcher(line);
+
+ if (m.matches())
+ {
+ String lineRef = m.group(1);
+
+ addDiagnosticMessage(invoker.getLabelWithValues(
+ "diagnostics.makeglossdisabled", lineRef));
+
+ makeglossDisabledLine = 1;
+
+ if (makeglossRestoredLine > -1)
+ {
+ makeglossRestoredLine = 0;
+ }
+ }
+
+ m = makeglossRestoredPattern.matcher(line);
+
+ if (m.matches())
+ {
+ String lineRef = m.group(1);
+
+ addDiagnosticMessage(invoker.getLabelWithValues(
+ "diagnostics.makeglossrestored", lineRef));
+
+ makeglossRestoredLine = 1;
+
+ if (makeglossDisabledLine > -1)
+ {
+ makeglossDisabledLine = 0;
+ }
+ }
+ }
+
if (latexFormat == null)
{
m = formatPattern.matcher(line);
@@ -971,6 +1044,24 @@ public class Glossaries
}
}
+ if (makeglossDisabledLine > -1)
+ {
+ if (makeglossRestoredLine == -1)
+ {
+ addDiagnosticMessage(invoker.getLabel("diagnostics.restoremakegloss"));
+ }
+ else if (makeglossRestoredLine < makeglossDisabledLine)
+ {
+ addDiagnosticMessage(
+ invoker.getLabel("diagnostics.restoremakegloss.cancelled"));
+ }
+ else
+ {
+ addDiagnosticMessage(
+ invoker.getLabel("diagnostics.restoremakegloss.late"));
+ }
+ }
+
if (vers == null)
{
addDiagnosticMessage(invoker.getLabel(
@@ -1439,6 +1530,12 @@ public class Glossaries
private static final Pattern glsGroupHeadingPattern
= Pattern.compile(".*\\\\glsgroupheading\\{(.+?)\\}.*");
+ private static final Pattern makeglossDisabledPattern = Pattern.compile(
+ "Package glossaries Info: \\\\makeglossaries and \\\\makenoidxglossaries have been disabled on input line ([0-9]+)\\.");
+
+ private static final Pattern makeglossRestoredPattern = Pattern.compile(
+ "Package glossaries Info: \\\\makeglossaries and \\\\makenoidxglossaries have been restored on input line ([0-9]+)\\.");
+
private Vector<String> problemGroupLabels = new Vector<String>();
private static final String[] fields =
diff --git a/support/makeglossariesgui/src/java/GlossariesPanel.java b/support/makeglossariesgui/src/java/GlossariesPanel.java
index 4498c81639..372dc2b6bd 100644
--- a/support/makeglossariesgui/src/java/GlossariesPanel.java
+++ b/support/makeglossariesgui/src/java/GlossariesPanel.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.io.*;
diff --git a/support/makeglossariesgui/src/java/Glossary.java b/support/makeglossariesgui/src/java/Glossary.java
index 8f129a5ab2..0435155bc1 100644
--- a/support/makeglossariesgui/src/java/Glossary.java
+++ b/support/makeglossariesgui/src/java/Glossary.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.io.*;
diff --git a/support/makeglossariesgui/src/java/GlossaryBatchMessage.java b/support/makeglossariesgui/src/java/GlossaryBatchMessage.java
index 250c7f7156..30b8985bb2 100644
--- a/support/makeglossariesgui/src/java/GlossaryBatchMessage.java
+++ b/support/makeglossariesgui/src/java/GlossaryBatchMessage.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.io.File;
diff --git a/support/makeglossariesgui/src/java/GlossaryException.java b/support/makeglossariesgui/src/java/GlossaryException.java
index 5df439f719..92ef36b87f 100644
--- a/support/makeglossariesgui/src/java/GlossaryException.java
+++ b/support/makeglossariesgui/src/java/GlossaryException.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
public class GlossaryException extends Exception
diff --git a/support/makeglossariesgui/src/java/GlossaryMessage.java b/support/makeglossariesgui/src/java/GlossaryMessage.java
index 910dbd9130..71aea4c0c7 100644
--- a/support/makeglossariesgui/src/java/GlossaryMessage.java
+++ b/support/makeglossariesgui/src/java/GlossaryMessage.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.io.File;
diff --git a/support/makeglossariesgui/src/java/GlsTransferHandler.java b/support/makeglossariesgui/src/java/GlsTransferHandler.java
index 1d39af46d6..17e3185bab 100644
--- a/support/makeglossariesgui/src/java/GlsTransferHandler.java
+++ b/support/makeglossariesgui/src/java/GlsTransferHandler.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.util.ArrayList;
diff --git a/support/makeglossariesgui/src/java/InvalidSyntaxException.java b/support/makeglossariesgui/src/java/InvalidSyntaxException.java
index ae7e8eb51d..1dbcdbc7fd 100644
--- a/support/makeglossariesgui/src/java/InvalidSyntaxException.java
+++ b/support/makeglossariesgui/src/java/InvalidSyntaxException.java
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2018 Nicola L.C. Talbot
+ Copyright (C) 2018-2020 Nicola L.C. Talbot
www.dickimaw-books.com
This program is free software; you can redistribute it and/or modify
diff --git a/support/makeglossariesgui/src/java/MakeGlossariesDictionary.java b/support/makeglossariesgui/src/java/MakeGlossariesDictionary.java
index 98540e256c..458342457d 100644
--- a/support/makeglossariesgui/src/java/MakeGlossariesDictionary.java
+++ b/support/makeglossariesgui/src/java/MakeGlossariesDictionary.java
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2018 Nicola L.C. Talbot
+ Copyright (C) 2018-2020 Nicola L.C. Talbot
www.dickimaw-books.com
This program is free software; you can redistribute it and/or modify
diff --git a/support/makeglossariesgui/src/java/MakeGlossariesGUI.java b/support/makeglossariesgui/src/java/MakeGlossariesGUI.java
index 4fa64a1455..b809c8f329 100644
--- a/support/makeglossariesgui/src/java/MakeGlossariesGUI.java
+++ b/support/makeglossariesgui/src/java/MakeGlossariesGUI.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.io.*;
@@ -121,6 +139,11 @@ public class MakeGlossariesGUI extends JFrame
scrollPane = new JScrollPane(mainPanel);
scrollPane.setPreferredSize(new Dimension(800,600));
+ /*
+ * The font is only set for the main window not for the
+ * manual. HelpBroker.setFont(Font) is lost whenever a new
+ * HTML file is loaded.
+ */
setFont(new Font(invoker.getProperties().getFontName(),
invoker.getProperties().getFontStyle(),
invoker.getProperties().getFontSize()));
@@ -656,8 +679,11 @@ public class MakeGlossariesGUI extends JFrame
public void updateFont()
{
MakeGlossariesProperties properties = invoker.getProperties();
- setFont(new Font(properties.getFontName(),
- properties.getFontStyle(), properties.getFontSize()));
+
+ Font f = new Font(properties.getFontName(),
+ properties.getFontStyle(), properties.getFontSize());
+
+ setFont(f);
updateAll();
}
diff --git a/support/makeglossariesgui/src/java/MakeGlossariesInvoker.java b/support/makeglossariesgui/src/java/MakeGlossariesInvoker.java
index f9ffad4144..cd2ec7b6e9 100644
--- a/support/makeglossariesgui/src/java/MakeGlossariesInvoker.java
+++ b/support/makeglossariesgui/src/java/MakeGlossariesInvoker.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.io.*;
@@ -698,7 +716,7 @@ public class MakeGlossariesInvoker
System.out.println(getLabelWithValues("about.copyright",
"Nicola L. C. Talbot",
String.format("2011-%s", APP_DATE.substring(0, 4))));
- System.out.println("http://www.dickimaw-books.com/");
+ System.out.println("https://www.dickimaw-books.com/");
if (translator != null && !translator.isEmpty())
{
@@ -826,9 +844,9 @@ public class MakeGlossariesInvoker
public static final String APP_NAME = "MakeGlossariesGUI";
- public static final String APP_VERSION = "2.1";
+ public static final String APP_VERSION = "2.2";
- public static final String APP_DATE = "2018-05-23";
+ public static final String APP_DATE = "2020-03-09";
private boolean quiet=false, debug=false, batchMode=false, dryRun=false;
diff --git a/support/makeglossariesgui/src/java/MakeGlossariesProperties.java b/support/makeglossariesgui/src/java/MakeGlossariesProperties.java
index 560d87f894..33dbf947c6 100644
--- a/support/makeglossariesgui/src/java/MakeGlossariesProperties.java
+++ b/support/makeglossariesgui/src/java/MakeGlossariesProperties.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.io.*;
diff --git a/support/makeglossariesgui/src/java/PropertiesDialog.java b/support/makeglossariesgui/src/java/PropertiesDialog.java
index 0f9fe72e8d..a10b99ac5f 100644
--- a/support/makeglossariesgui/src/java/PropertiesDialog.java
+++ b/support/makeglossariesgui/src/java/PropertiesDialog.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.io.*;
diff --git a/support/makeglossariesgui/src/java/ViewEntries.java b/support/makeglossariesgui/src/java/ViewEntries.java
index de59b3d458..a4bf768273 100644
--- a/support/makeglossariesgui/src/java/ViewEntries.java
+++ b/support/makeglossariesgui/src/java/ViewEntries.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.net.URL;
diff --git a/support/makeglossariesgui/src/java/ViewFile.java b/support/makeglossariesgui/src/java/ViewFile.java
index 06db7fdf86..0822e4bcc0 100644
--- a/support/makeglossariesgui/src/java/ViewFile.java
+++ b/support/makeglossariesgui/src/java/ViewFile.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.awt.*;
diff --git a/support/makeglossariesgui/src/java/XindyModule.java b/support/makeglossariesgui/src/java/XindyModule.java
index 550fd26e21..fd9d53091d 100644
--- a/support/makeglossariesgui/src/java/XindyModule.java
+++ b/support/makeglossariesgui/src/java/XindyModule.java
@@ -1,3 +1,21 @@
+/*
+ Copyright (C) 2013-2020 Nicola L.C. Talbot
+ www.dickimaw-books.com
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
package com.dickimawbooks.makeglossariesgui;
import java.util.HashMap;
diff --git a/support/makeglossariesgui/src/resources/dictionaries/makeglossariesgui-en.prop b/support/makeglossariesgui/src/resources/dictionaries/makeglossariesgui-en.prop
index 6fa96a2de2..e6092cb32a 100644
--- a/support/makeglossariesgui/src/resources/dictionaries/makeglossariesgui-en.prop
+++ b/support/makeglossariesgui/src/resources/dictionaries/makeglossariesgui-en.prop
@@ -190,6 +190,11 @@ diagnostics.problem_group_label=There seems to be a problem with the letter grou
diagnostics.suggest_bib2gls=You may want to consider using bib2gls instead.
diagnostics.suggest_unicode_or_bib2gls=You may want to consider using xindy with a LaTeX engine that has native Unicode support (XeLaTeX or LuaLaTeX) or use bib2gls instead.
diagnostics.at_least_version=You need at least version {0} of {1}.
+diagnostics.makeglossdisabled=The ''disablemakegloss'' option was in effect when |makeglossaries| or |makenoidxglossaries| was used on line {0}.
+diagnostics.makeglossrestored=The ''restoremakegloss'' option was used to restore |makeglossaries| or |makenoidxglossaries| on line {0}.
+diagnostics.restoremakegloss=You need to use the ''restoremakegloss'' option to cancel the effect of ''disablemakegloss''.
+diagnostics.restoremakegloss.cancelled=It seems that the effect of ''restoremakegloss'' was later cancelled by ''disablemakegloss''.
+diagnostics.restoremakegloss.late=It may be that you have used ''restoremakegloss'' too late to cancel ''disablemakegloss'' or you have forgotten to add |makeglossaries| after ''restoremakegloss''.
# Properties dialog
properties.title=Preferences
@@ -300,9 +305,10 @@ manual.next=Next
manual.prev=Previous
manual.home=Home
manual.options=Options
-manual.toc=Table of Contents
+manual.toc=Contents
manual.index=Index
manual.search=Search
+manual.glossary=Glossary
manual.idxpackage=package
manual.idxenv=environment
manual.example=Example
diff --git a/support/makeglossariesgui/src/tests/sample-disablemakegloss/sample-disablemakegloss.tex b/support/makeglossariesgui/src/tests/sample-disablemakegloss/sample-disablemakegloss.tex
new file mode 100644
index 0000000000..85f58eccef
--- /dev/null
+++ b/support/makeglossariesgui/src/tests/sample-disablemakegloss/sample-disablemakegloss.tex
@@ -0,0 +1,18 @@
+\documentclass[disablemakegloss]{article}
+
+\usepackage{glossaries}
+
+\makeglossaries
+
+\setupglossaries{restoremakegloss}
+
+\newglossaryentry{sample}{name={sample},
+ description={an example}}
+
+\begin{document}
+A \gls{sample} document.
+
+\printglossaries
+
+\end{document}
+