28 Nov 2014
RE: @flushright command
VERSION: makeinfo 5.2 (built from source on Fedora 20 x86_64)
BUG:
The @flushright command is incompletely implemented for the HTML output.
'flushright' implies pre-formatted text because the whole paragraph is
being shoved to the right margin; however, for text in blocks that would
normally have wrapped, this is inconsistent.
Outside an environment and within an @example, @display and @format
blocks, flushright looks great in the info output. /Carefully
constructed/ text in @quotation and @indentedblock environments also
looks fine in the info output. However, the HTML for all of these has
issues because it is directly styled (<p align=”right”> ... </p>) rather
than calling out a class name.
*
Outside an environment, the HTML is not pre-formatted, so the
following return address example is all on the same line. Explicit
end-of-lines ( @* ) will correct the HTML, but cause double-spacing
in the info output.
*
For HTML output, @flushright within @quotation and @indentedblock
environments suffer from the same problem as above.
*
For HTML output, the styling for the @example, @display and @format
blocks overrides the @flushright, so it appears to be ignored.
Outside an environment (with and without explicit line breaks):@*
@w{Generated HTML: <p align="right"> ... </p>}
@flushright
Jungle, George of the@*
Ape Mountain, South@*
Bukubu Territory@*
Deepest Africa@*
@sp 1
Jungle, George of the
Ape Mountain, South
Bukubu Territory
Deepest Africa
@end flushright
@html
<div style="white-space:pre; text-align:right; color:red;">
<span style="text-decoration:underline">Direct HTML Output for
pre-formatted, right-aligned text:</span>
Jungle, George of the
Ape Mountain, South
Bukubu Territory
Deepest Africa
</div>
@end html
In an @@example environment:@*
@example
@flushright
Jungle, George of the
Ape Mountain, South
Bukubu Territory
Deepest Africa
@end flushright
@end example
My recommendation would be that instead of direct styling:
<p align=”right”> ... </p>
The @flushright should call out a class name so we can address it with CSS:
<div class=”right-align”> ... </div>
or something similar which would allow for definition of preformatted
and right-aligned HTML output in any environment.
Cheers,
Mahlon
--
Software Sam - software and tools for GNU/Linux
Mahlon Smith,
/The Software Samurai/
On the Web: /http://www.SoftwareSam.us/
<http://www.SoftwareSam.us/home.html>/