mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-05 13:26:21 +00:00
add support for tables and figures (linuxdoc).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7371 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
00a58355dd
commit
6a2f81278d
@ -1,3 +1,7 @@
|
||||
2003-07-27 José Matos <jamatos@fep.up.pt>
|
||||
|
||||
* layouts/linuxdoc.layout: add support for tables and figures (linuxdoc).
|
||||
|
||||
2003-07-22 John Levon <levon@movementarian.org>
|
||||
|
||||
* ui/stdmenu.ui: fix up mnemonics to not clash, standardise
|
||||
|
@ -12,6 +12,7 @@ OutputType linuxdoc
|
||||
DefaultStyle Standard
|
||||
|
||||
Input stdcounters.inc
|
||||
Input stdfloats.inc
|
||||
|
||||
# Standard style definition
|
||||
Style Standard
|
||||
@ -383,3 +384,24 @@ Style SGML
|
||||
FreeSpacing 1
|
||||
PassThru 1
|
||||
End
|
||||
|
||||
# Caption style definition
|
||||
Style Caption
|
||||
Margin First_Dynamic
|
||||
LatexType Paragraph
|
||||
LatexName caption
|
||||
NeedProtect 1
|
||||
LabelSep xx
|
||||
ParSkip 0.4
|
||||
TopSep 0.5
|
||||
Align Center
|
||||
AlignPossible Center
|
||||
LabelType Sensitive
|
||||
LabelString Caption
|
||||
OptionalArgs 1
|
||||
|
||||
# label font definition
|
||||
LabelFont
|
||||
Series Bold
|
||||
EndFont
|
||||
End
|
||||
|
@ -1,3 +1,7 @@
|
||||
2003-07-27 José Matos <jamatos@fep.up.pt>
|
||||
|
||||
* tabular.[Ch] (linuxdoc): add support for tables and figures (linuxdoc).
|
||||
|
||||
2003-07-27 José Matos <jamatos@fep.up.pt>
|
||||
|
||||
* buffer.[Ch] (makeLaTeXFile): changed name of arguments for
|
||||
|
@ -1,3 +1,10 @@
|
||||
2003-07-27 José Matos <jamatos@fep.up.pt>
|
||||
|
||||
* insetfloat.[Ch] (linuxdoc):
|
||||
* insetgraphics.C (linuxdoc):
|
||||
* insettabular.C (linuxdoc):
|
||||
* insettext.[Ch] (linuxdoc): add support for tables and figures (linuxdoc).
|
||||
|
||||
2003-07-27 José Matos <jamatos@fep.up.pt>
|
||||
|
||||
* insetinclude (latex): comply with makeLaTeXFile argument change.
|
||||
|
@ -316,6 +316,43 @@ int InsetFloat::latex(Buffer const * buf, ostream & os,
|
||||
}
|
||||
|
||||
|
||||
int InsetFloat::linuxdoc(Buffer const * buf, ostream & os) const
|
||||
{
|
||||
FloatList const & floats = buf->params.getLyXTextClass().floats();
|
||||
string const tmptype = params_.type;
|
||||
// Figure out the float placement to use.
|
||||
// From lowest to highest:
|
||||
// - float default placement
|
||||
// - document wide default placement
|
||||
// - specific float placement
|
||||
// This is the same as latex, as linuxdoc is modeled after latex.
|
||||
|
||||
string placement;
|
||||
string const buf_placement = buf->params.float_placement;
|
||||
string const def_placement = floats.defaultPlacement(params_.type);
|
||||
if (!params_.placement.empty()
|
||||
&& params_.placement != def_placement) {
|
||||
placement = params_.placement;
|
||||
} else if (params_.placement.empty()
|
||||
&& !buf_placement.empty()
|
||||
&& buf_placement != def_placement) {
|
||||
placement = buf_placement;
|
||||
}
|
||||
|
||||
os << "\n<" << tmptype ;
|
||||
// We only output placement if different from the def_placement.
|
||||
if (!placement.empty()) {
|
||||
os << " loc=\"" << placement << '"';
|
||||
}
|
||||
os << ">";
|
||||
|
||||
int const i = inset.linuxdoc(buf, os);
|
||||
os << "</" << tmptype << ">\n";
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
int InsetFloat::docbook(Buffer const * buf, ostream & os, bool mixcont) const
|
||||
{
|
||||
os << '<' << params_.type << '>';
|
||||
|
@ -60,6 +60,8 @@ public:
|
||||
int latex(Buffer const *, std::ostream &,
|
||||
LatexRunParams const &) const;
|
||||
///
|
||||
int linuxdoc(Buffer const *, std::ostream &) const;
|
||||
///
|
||||
int docbook(Buffer const *, std::ostream &, bool mixcont) const;
|
||||
///
|
||||
string const editMessage() const;
|
||||
|
@ -550,9 +550,14 @@ int InsetGraphics::ascii(Buffer const *, ostream & os, int) const
|
||||
}
|
||||
|
||||
|
||||
int InsetGraphics::linuxdoc(Buffer const *, ostream &) const
|
||||
int InsetGraphics::linuxdoc(Buffer const * buf, ostream & os) const
|
||||
{
|
||||
// No graphics in LinuxDoc output. Should check how/what to add.
|
||||
string const file_name = buf->niceFile ?
|
||||
params().filename.relFilename(buf->filePath()):
|
||||
params().filename.absFilename();
|
||||
|
||||
os << "<eps file=\"" << file_name << "\">\n";
|
||||
os << "<img src=\"" << file_name << "\">";
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1179,12 +1179,7 @@ int InsetTabular::ascii(Buffer const * buf, ostream & os, int ll) const
|
||||
|
||||
int InsetTabular::linuxdoc(Buffer const * buf, ostream & os) const
|
||||
{
|
||||
os << "<![CDATA[";
|
||||
int const ret = tabular.ascii(buf,os,
|
||||
(int)parOwner()->params().depth(),
|
||||
false, 0);
|
||||
os << "]]>";
|
||||
return ret;
|
||||
return tabular.linuxdoc(buf,os);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1312,6 +1312,25 @@ int InsetText::ascii(Buffer const * buf, ostream & os, int linelen) const
|
||||
return lines;
|
||||
}
|
||||
|
||||
int InsetText::linuxdoc(Buffer const * buf, ostream & os) const
|
||||
{
|
||||
ParagraphList::iterator pit = const_cast<ParagraphList&>(paragraphs).begin();
|
||||
ParagraphList::iterator pend = const_cast<ParagraphList&>(paragraphs).end();
|
||||
|
||||
// There is a confusion between the empty paragraph and the default paragraph
|
||||
// The default paragraph is <p></p>, the empty paragraph is *empty*
|
||||
// Since none of the floats of linuxdoc accepts standard paragraphs
|
||||
// I disable them. I don't expect problems. (jamatos 2003/07/27)
|
||||
for (; pit != pend; ++pit) {
|
||||
const string name = pit->layout()->latexname();
|
||||
if (name != "p")
|
||||
sgml::openTag(os, 1, 0, name);
|
||||
buf->simpleLinuxDocOnePar(os, pit, 0);
|
||||
if (name != "p")
|
||||
sgml::closeTag(os, 1, 0, name);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int InsetText::docbook(Buffer const * buf, ostream & os, bool mixcont) const
|
||||
{
|
||||
|
@ -114,7 +114,7 @@ public:
|
||||
///
|
||||
int ascii(Buffer const *, std::ostream &, int linelen) const;
|
||||
///
|
||||
int linuxdoc(Buffer const *, std::ostream &) const { return 0; }
|
||||
int linuxdoc(Buffer const *, std::ostream &) const ;
|
||||
///
|
||||
int docbook(Buffer const *, std::ostream &, bool mixcont) const ;
|
||||
///
|
||||
|
@ -2201,6 +2201,47 @@ int LyXTabular::latex(Buffer const * buf, ostream & os,
|
||||
}
|
||||
|
||||
|
||||
int LyXTabular::linuxdoc(Buffer const * buf, ostream & os) const
|
||||
{
|
||||
os << "<tabular ca=\"";
|
||||
for (int i = 0; i < columns_; ++i) {
|
||||
switch (column_info[i].alignment) {
|
||||
case LYX_ALIGN_LEFT:
|
||||
os << 'l';
|
||||
break;
|
||||
case LYX_ALIGN_RIGHT:
|
||||
os << 'r';
|
||||
break;
|
||||
default:
|
||||
os << 'c';
|
||||
break;
|
||||
}
|
||||
}
|
||||
os << "\">\n";
|
||||
int cell = 0;
|
||||
int ret = 0;
|
||||
for (int i = 0; i < rows_; ++i) {
|
||||
for (int j = 0; j < columns_; ++j) {
|
||||
if (isPartOfMultiColumn(i, j))
|
||||
continue;
|
||||
InsetText & inset = getCellInset(cell);
|
||||
|
||||
ret += inset.linuxdoc(buf, os);
|
||||
|
||||
if (isLastCellInRow(cell)) {
|
||||
os << "@\n";
|
||||
++ret;
|
||||
} else {
|
||||
os << "|";
|
||||
}
|
||||
++cell;
|
||||
}
|
||||
}
|
||||
os << "</tabular>\n";
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int LyXTabular::docbookRow(Buffer const * buf, ostream & os, int row) const
|
||||
{
|
||||
int ret = 0;
|
||||
|
@ -280,6 +280,8 @@ public:
|
||||
///
|
||||
int latex(Buffer const *, std::ostream &,
|
||||
LatexRunParams const &) const;
|
||||
//
|
||||
int linuxdoc(Buffer const * buf, std::ostream & os) const;
|
||||
///
|
||||
int docbook(Buffer const * buf, std::ostream & os, bool mixcont) const;
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user