[l2h] Wrong figure numbers in figure captions when I attempted to have my figures automatically numbered using ~\ref..... commands in my .tex file
Pat Somerville
l_pat_s at hotmail.com
Thu Jan 17 01:22:12 CET 2013
Hello. Thanks, Les Kitchen and Robin Fairbairns, for kindly taking the time
to write to me. I appreciate people like you who are willing to help other
people! Sorry, my writing was admittedly not very
historically specific.----If one can manage it, of course it's better to
write on a topic when it is fresh in one's mind
and experience rather than to wait for weeks to months later like I tried to
do. Unfortunately while online clicking on the hyperlink
http://www.tex.ac.uk/faq/cgi-bin/texfaq2html?label=minxampl, kindly provided
to me, did not "take" me to the corresponding Web page on the Internet.
While online after clicking on that hyperlink I received the message "The
requested URL /faq/cgi-bin/texfaq2html was not found on this server." But
regardless of that message, I found a way to reach the content on that Web
page:
1) On the Internet "go" to the Web page http://www.tex.ac.uk/.
2) Click on the hyperlink reading "UK TUG FAQ."
3) On the ensuing Web page under "Documentation and Help" click on the
hyperlink reading 'How to make a "minimal example".' Then while there on
the Internet from the address bar of my Mozilla Firefox-18 Web browser I
copied and pasted here the Uniform Resource Locator (URL)
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl, which matches the
Web address I cited above.
So I think this is a case in which that final Web page could not be reached
from the Internet by inputting just the final URL into a Web browser.
Instead, as I outlined above, I had to click on some hyperlinks on other Web
pages in order to reach it.
I figured out how to "reach" that Web page after I had already written most
of what is below this paragraph in this write-up. I hope you don't mind;
but my approach in tackling the problem of having automatically numbered
figures in a LaTeX2HTML-produced, .html (HyperText Markup Language) output
file has turned out to be very different than providing you with a minimal
example of my failing LaTeX code, as recommended on the above Web page.
Nevertheless the "Building-up" and "Hacking-down" approaches discussed on
that Web page do appear to be valid approaches toward "homing in" on the
cause of a problem in LaTeX code. So at least for the benefit of other
people, thanks, Robin Fairbairns, and/or whoever kindly prepared the
contents of the above Web page, for preparing them. You or someone wrote on
the cited Web page, "First, preparing a minimum document very often leads
you to the answer, without all the fuss of posting and looking for
responses."---When and if that happens, that would demonstrate that your
procedure is or procedures are very good toward finding the causes of
problems in LaTeX code!
Here are the versions and/or times of release or production of the codes
LaTeX and LaTeX2HTML to which my writing below applies:
LaTeX2e, September 24, 2009
LaTeX2HTML version 2008, version 1.71
.
Gratefully I have a solution for having figures automatically numbered in a
.html file mostly produced by the code LaTeX2HTML in conjunction with the
code LaTeX plus some final editing of the HTML source code in that file.
Les mentioned using the command \caption. I learned that it is a part of
LaTeX's figure environment, as in an environment which begins with
\begin{figure} and ends with \end{figure} (But I think there may be a
separate software package called "caption" invoked by the command
\usepackage{caption} with which I experimented recently, but finally did not
use in my solution.). I found a good posting at
http://www.math.uiuc.edu/~hildebr/tex/tips-figures.html on the Internet
which includes the following LaTeX commands:
\documentclass{amsart}
\usepackage{graphicx}
.
.
\begin{document}
.
.
\begin{figure}
\centering
\includegraphics{sineplot}
\caption{Plot of the function $sin x$}
\label{sineplot}
\end{figure}
Figure \ref{sineplot} shows a plot of %just an example of textual reference
to the figure in the document
.
.
\end{document}
The word "sineplot" has two functions in the above code: 1) It is the name
of a figure file, for example sineplot.eps or sineplot.jpg, without both its
extension, for example eps or jpg, and the period separating "sineplot"
from, for example, eps or jpg. 2) It is the label assigned to the figure in
the above code. I made some minor changes to the above LaTeX procedure:
\documentclass[a4paper,12pt]{article}
In the file name I might have included the .eps (Encapsulated PostScript)
extension.
I may have used the format \caption[....]{....} with the caption text
between the brackets repeated within the braces.
Also I may have included a width option in the \includegraphics command, as
in the form of something like \includegraphics[width=5.99in]{myfigure.eps}.
And I might have had a tilde in textual references as in the form "in
Fig.~\ref{FigureLabel}". Also I read that the software package called
graphicx may possibly conflict with other software packages; so somewhere
along in my recent experimenting I placed graphicx first in my list of
software packages I had listed in \usepackage{graphicx,..,..,.....}.
Eventually I switched to using \begin{center} and \end{center}, but perhaps
not in this early stage.
My working document in my experimenting reported here contained text and
LaTeX commands on which an execution of latex and latex2html.... commands
had failed to produce correct figure numbers in the .html output file
produced by LaTeX2HTML. Often for my tests I ran a latex command three
times and a latex2html command twice on the same .tex, LaTeX file.
Something close to the above procedure, using the \caption instead of the
\parbox command for figure captions, gratefully produced good figure
numbering in the DeVice Independent (.dvi) output file produced by a command
of the form "latex MyLaTeXFile.tex". But unfortunately in the .html output
file produced by LaTeX2HTML the references in text to figures using commands
of the form \ref{FigureLabel} resulted in the wrong figure numbers; and the
figure numbers were missing in the figure captions.
Given the kind writing of Robin Fairbairns to me, in an attempt to obtain
good LaTeX2HTML output I decided to switch to putting my figure captions
within the braces of a \parbox command; for a period of time I abandoned the
use of the \caption command. But unfortunately I did not have success that
way in a .html file. From
http://www.cv.nrao.edu/~abridle/l2h4nrao/l2h4nrao.pdf for LaTeX2HTML I saw
the following set of commands:
\begin{figure}{thp}
\begin{center}
\includegraphics[width=4in]{fig1}
\caption{Captiontext}
\label{fig:labeltext}
\end{center}
\end{figure}
.
And within that write-up, written by probably A. Bridle, I found the
important statement:
"Note that the \label command must come after, or within, the caption
command for Figures and Tables, in order to generate the correct reference."
That statement was supported by the results of my experiments with LaTeX
code in the use of LaTeX2HTML. That is I could not obtain correct figure
numbers in the LaTeX2HTML, .html output file unless in my .tex, LaTeX file I
had a \caption.. command immediately preceding a command of the form
\label{MyFigureLabel}. So the use of the word "must" in A. Bridle's above
writing seems very appropriate to me.
Comparing captions placed within \parbox, LaTeX commands to captions placed
within \caption commands I prefer the right- and left-justified appearance
of the captions in the corresponding .html file with the captions placed
within \parbox commands; from my experience captions within \caption
commands in the corresponding .html output file were centered, but with left
and right "edges" of the lines of text that were often not vertically
aligned.---This latter effect was often noticeable in multiline captions in
a .html output file produced by LaTeX2HTML.
Secondly by experience I found that I should also include specifications for
the heights of my figures within my \includegraphics commands. So in my
.tex, LaTeX file I tried a set of commands similar to the ones below,
placing my figure captions within \parbox commands, and also having an empty
\caption{} command so as to obtain the correct figure numbers in the
LaTeX2HTML, .html, output file in both text and figure captions:
\documentclass[a4paper,12pt]{article}
\usepackage{graphicx,.......}
.
\begin{document}
.
.
As shown in Fig.~\ref{MyFigureLabel} ....
\vspace{1cm}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=5.99in,height=3.56in]{MyFigure.eps}
\parbox{\linewidth}{\small\setlength{\baselineskip}{2.6ex}Fig.~\ref{MyFigureLabel}.
Here is where I would place my caption to the Figure.}
\caption{}
\label{MyFigureLabel}
\end{center}
\end{figure}
\vspace{5 mm}
\noindent More text here
.
.
\end{document}
I changed some names in the above lines of code to names different from the
ones which actually appeared in my .tex, LaTeX file. Note that to obtain
both the abbreviation "Fig." and the figure number within my figure caption
in the output, .html file, within my \parbox command in my .tex, LaTeX file
I have text and a command of the form "Fig.~\ref{MyFigureLabel}. Here
is..."
The above solution produced the correct, automatically numbered figure
numbers in both the text and figure captions of my output, .html file. But
the inclusion of the empty \caption{} command had the unwanted result of
producing, for example, "Figure 1:" right under my figure caption for that
figure in both the LaTeX, .dvi and LaTeX2HTML, .html output files. By a few
means with ideas from Web postings I tried to by LaTeX coding eliminate such
unwanted displays in my .html, output file, but did not succeed in doing so
(Perhaps some procedures posted on the Internet for eliminating something
like "Figure 1:" in a figure caption might work in a .dvi output file
produced by LaTeX; but my main goal was to find a working procedure for a
.html, output file.).
Of course one can get rid of content he does not want in a .html file he
produced by deleting that content from the HTML source code for the .html
file.---And that is what I did in this case. I could open the .html output
file produced by LaTeX2HTML in a text editor and delete lines, perhaps
called HTML tags, of the following forms for each of my figures:
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 8:</STRONG>
</CAPTION>
<TR><TD>
. After using a second text editor I eventually had the edited .html file
saved as a text file in the 8-bit, Uniform Transformation Format (UTF-8)
encoding. Then at last gratefully I could open that .html file in my
Konqueror Web browser and see the following features that I wanted to see:
1) no, for example, "Figure 8:" underneath a caption to figure 8; 2)
internal hyperlinks in text displaying the correct figure numbers; 3) for
example, "Fig. 1. " at the beginning of a figure caption to figure 1 with
the correct figure number there; and 4) the figure captions neatly right-
and left-justified. One missing feature was that in having figure captions
within \parbox commands, internal hyperlinks within a figure caption to
another figure in my .html output file did not appear in the output, .html
file. For example, an internal hyperlink to figure 8 in the caption to
figure 9 was only displayed as Fig. 8 with the "8" appearing in black
instead of the blue text one would often see in my installation of the
Konqueror Web browser in the case of an internal hyperlink.
Perhaps someone knows of a better way to have figures automatically numbered
in a .html, output file produced by LaTeX2HTML. For example, if someone
knows of a way to have good-looking, left- and right-justified caption text
confined to the width of a figure and located below it, then perhaps the
caption could be included within the braces of a \caption{} command without
the use of a \parbox command. And in that case editing the .html source
code produced by LaTeX2HTML could be unnecessary.
Pat
--------------------------------------------------
From: "Robin Fairbairns" <Robin.Fairbairns at cl.cam.ac.uk>
Sent: Tuesday, January 15, 2013 12:07 PM
To: "Pat Somerville" <l_pat_s at hotmail.com>
Cc: <latex2html at tug.org>
Subject: Re: [l2h] Wrong figure numbers in figure captions when I attempted
to have my figures automatically numbered using ~\ref..... commands in my
.tex file
> Pat Somerville <l_pat_s at hotmail.com> wrote:
>
>> Hello. I tried to automatically number
>> figures using commands like "Fig.~\ref{....}" and in text and \label{...}
>> commands within figure environments in my .tex file. I might have tried
>> to
>> include figure captions within \caption and/or \parbox commands.
>> Anyhow, my figure numbers were incorrect in the figure captions.
>> Another variable is that I have been using both pdflatex and latex plus
>> latex2html commands in recent weeks; so there is a question whether I was
>> examining a Portable Document Format (.pdf) output file produced by a
>> pdflatex command or a .html file produced by executing a latex2html
>> command. Recently I gave up on getting the figure numbers within
>> captions
>> correct by attempting to have the figures automatically numbered via
>> the use of ~\ref{....} commands.---That is I numbered the figures myself
>> everywhere within a .tex file. Would someone please guide me or refer
>> me to a guide of consistent \caption or \parbox commands together with
>> ~\ref{...} in text and \label{...} commands within figure environments
>> for
>> automatic figure numbering in text that will enable both the figure
>> numbers
>> within figure captions and the figure numbers within text to be correct?
>> A
>> desirable solution for the automatic numbering of figures within both the
>> figure
>> captions and the text of a document would be one which would work in a
>> .tex file
>> with either pdflatex or latex2html commands.
>
> this is either totally trivial (sequence should always be
> \caption{...}
> \label{...}
> )
>
> or totally impossible to diagnose with statements like
>
> I might have tried to include figure captions within \caption and/or
> \parbox commands.
>
> captions would work within a \parbox but not with \caption.
>
> tbh, this doesn't sound particularly specific to latex2html: i would
> guess that if you feed rubbish to latex2html, you're _more_ likely to
> get rubbish out than if you feed it to (la)tex. in such a circumstance,
> the (la)tex problem may be more amenable to comprehension.
>
> the standard recommendation is that you produce a "minimal example" of a
> problem. this is described (for example) in
> http://www.tex.ac.uk/faq/cgi-bin/texfaq2html?label=minxampl
> (there are different explanations all over the web).
>
> post the minimal example and we might be able to help. (those of us
> owning crystal balls can probably see the solution without the minimal
> example, but we ordinary mortals can only understand things that have
> happened.)
>
> roibn (anag)
>
More information about the latex2html
mailing list