This allows to address two main issues
* \thanks does only accept one paragraph, while \footnote allows several (ticket #2666)
* footnotes in titling environments were not numbered on screen.
Moreover, the code reduces hardcoding of features, which is always a good thing.
There are several pieces in this commit:
* new numbering type \fnsymbol for counters
* the Foot inset changes its layoutName() to Foot:InTitle when inside a paragraph with InTitle property. This is set when running updateBuffer.
* Foot:intitle uses the \thanks command, does not allow multiple paragraphs and marks its contents as moving argument.
* The InsetLayouts for Foot now have properLaTeXName/Type, so that InsetFoot::latex can be removed; further code simplification is probably possible.
Fixes: #2666
This makes the defaults of Inset::inheritFont() and Inset::resetFontEdit()
compatible. There is no user visible change except for the Chunk inset which
does not produce invalid LaTeX after editing operations anymore.
This is the safe version for 2.1.0, for later there are still open questions:
- All insets with ResetsFont true should be audited: Is this really needed,
or do they show similar editing problems as the Chunk inset?
- Does inheritFont() need to be customizable in the layout file as well?
- Is resetFontEdit() != !inheritFont() needed at all?
I did not use change tracking for the docs, since I updated all existing
translations.
The listings inset and include inset of type listings use two english terms
that are not localized yet: "Listing" for the caption and "Listings" for the
list of listings (not supported natively by LyX yet). The existing layout
translation mechanism has been extended to translate these terms as well:
1) Support [[stuff]] context in lib/layouttranslations
2) Support BabelPreamble and LangPreamble in InsetLayout
3) Use a InsetLayout for InsetInclude of type listings
4) Define BabelPreamble and LangPreamble in the layouts for InsetInclude
and InsetListings
(i) Validate even for comments when outputting XHTML.
(ii) Output comments as divs hidden by default. Then people
can display them other ways if they wish.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40400 a592a061-630c-0410-9148-cb99ea01b6c8
blank lines may be inadvertently output. This is achieved by using two
special iomanip-like variables (breakln and safebreakln) in the lyx::
namespace. When they are inserted in the stream, a newline is output
only if not already at the beginning of a line. The difference between
breakln and safebreakln is that, if needed, the former outputs '\n'
and the latter "%\n".
In future, the new class will also be used for counting the number of
newlines issued. Even if the infractrure for doing that is already in
place, the counting is essentially still done the old way.
There are still places in the code where the functionality of the
class could be used, most probably. ATM, it is used for InsetTabular,
InsetListings, InsetFloat, and InsetText.
The Comment and GreyedOut insets required a special treatment and a
new InsetLayout parameter (Display) has been introduced. The default
for Display is "true", meaning that the corresponding latex
environment is of "display" type, i.e., it stands on its own, whereas
"false" means that the contents appear inline with the text. The
latter is the case for both Comment and GreyedOut insets.
Mostly, the only visible effects on latex exports should be the
disappearing of some redundant % chars and the appearing/disappearing
of null {} latex groups after a comment or lyxgreyedout environments
(they are related to the presence or absence of a space immediately
after those environments), as well as the fact that math environments
are now started on their own lines.
As a last thing, only the latex code between \begin{document} and
\end{document} goes through the new class, the preamble being directly
output through odocstream, as usual.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37360 a592a061-630c-0410-9148-cb99ea01b6c8
strings in the layout file, but they were not used.
Question: Should we just remove InsetNote::setButtonLabel() now? The
only purpose it is serving is to provide a backup in case no label is
defined.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36884 a592a061-630c-0410-9148-cb99ea01b6c8
- support to change the greyed-out note font color (fixes#3865)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33962 a592a061-630c-0410-9148-cb99ea01b6c8
indicates what prefix to use when constructing formatted references.
Documentation to follow.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33784 a592a061-630c-0410-9148-cb99ea01b6c8
Note: Anyone on *nix can do this by running development/tools/updatelayouts.sh.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33028 a592a061-630c-0410-9148-cb99ea01b6c8
InsetLayout, per Jurgen's suggestion, so that insets can be told to
display an abbreviated form of their content when closed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32575 a592a061-630c-0410-9148-cb99ea01b6c8
It seems we realized the font in the wrong order. If the layout font specifies "Font Size Small", we should be able to make it large if we want to.
see:
http://thread.gmane.org/gmane.editors.lyx.devel/122682
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32129 a592a061-630c-0410-9148-cb99ea01b6c8
things like <p><div>...</div></p>. Why not, I have no idea. Seems pretty
sensible to me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32095 a592a061-630c-0410-9148-cb99ea01b6c8
can't just output Standard as <p>, or anything else, because we
have structures like:
this is text <branch>and more text</branch> and more
which would then come out as:
<p>this is text <p>and more text</p> and more</p>
So we use the OutputParam html_in_par to try to signal when we
are already in a paragraph. It is expected that we will need to
do some bug fixing here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31753 a592a061-630c-0410-9148-cb99ea01b6c8
footnote output and allows a lot more flexibility. (In some ways, this now
seems to be more like what docbook does.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29981 a592a061-630c-0410-9148-cb99ea01b6c8
and ForcePlain tags will work not just with InsetFlex but all InsetCollapsables.
Thanks to Jurgen and JMarc for reminding me I'd meant to do this.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28340 a592a061-630c-0410-9148-cb99ea01b6c8
http://bugzilla.lyx.org/show_bug.cgi?id=5407
This patch makes insetfloat search its styles using "Float:<floatname>" (or
"Float" if this fails). This allows to define a default behaviour for new
floats that makes sense.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27266 a592a061-630c-0410-9148-cb99ea01b6c8
is that the counter info will be updated later, without changing
the format number again.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26765 a592a061-630c-0410-9148-cb99ea01b6c8
There may be some other changes to be made here still, but they should be
fairly painless. What will need checking are InsetFlex's. Those that set
MultiPar to true will now default to ForcePlain false and CustomPars true;
those that set MultiPar to false (or don't set it, since that's the default)
will have CustomPars false and ForcePlain true. If that's wrong, the right
tag can be added, but it must be AFTER the MultiPar tag, since MultiPar will
reset CustomPars and ForcePlain, as described in stdinsets.inc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26759 a592a061-630c-0410-9148-cb99ea01b6c8
* InsetInfo.cpp (InsetInfo): derive from InsetCollapsable instead of
InsetText, so that we can use InsetLayout. Should be reverted when the
layout stuff is migrated to InsetText or some lower level.
(initTranslator, nameTranslator): moved outside of the class.
(name, neverIndent): added.
(draw, setMouseHover): removed.
(updateInfo): cleanup and use layout
(read, setInfo): make sure to reset layout.
* lib/layouts/stdinsets.inc: add layouts for the various Info insets.
These are used for both display and output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26646 a592a061-630c-0410-9148-cb99ea01b6c8
stdinsets: use the new colors to allow the users to customize them
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23029 a592a061-630c-0410-9148-cb99ea01b6c8
See in particular comment 6.
We forcibly load stdinsets.inc unless the TextClass declares:
Provides stdinsets 1
There isn't really any such package, of course. We're just using this
(per a suggestion by JMarc) to say we've loaded relevant info about the
standard insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22802 a592a061-630c-0410-9148-cb99ea01b6c8
The package ifthen needs to be added to LaTeXConfig.lyx. I'll do this when that file can be opened again.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22419 a592a061-630c-0410-9148-cb99ea01b6c8
* src/TextClass{cpp,h}:
- implement Requires tag for class and InsetLayout.
* src/Layout.{cpp,h}:
- implement Requires tag for layouts.
- increase layouts format to 6.
* src/Paragraph.cpp:
- request required features for paragraph layouts.
* src/LaTeXFeatures.cpp:
- add some packages needed by modules.
- remove Preamble method for InsetLayout. This is now done
in InsetFlex::validate.
* src/BufferParams.cpp (validate):
- request required features for the class.
* src/insets/InsetLayout.h:
- new member "requires".
* src/insets/InsetFlex.{cpp,h}:
- implement validate method and request required features and preamble snippets.
* lib/layouts/*.{layout,module,inc}:
- increase layouts format to 6.
- use Requires tags in some modules (more can be done later).
* lib/doc/Customization.lyx:
- document Requires tag.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22414 a592a061-630c-0410-9148-cb99ea01b6c8