[LyX features/feature/docbook] DocBook: implement InsetBox titles.

Thibaut Cuvelier tcuvelier at lyx.org
Sat Sep 12 00:46:16 UTC 2020


The branch, feature/docbook, has been updated.

- Log -----------------------------------------------------------------

commit 6b0127c6ea65399e3a3a3e9cb5d08f247f23379b
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Sep 12 03:12:59 2020 +0200

    DocBook: implement InsetBox titles.

diff --git a/autotests/export/docbook/A0_Poster_Simple.lyx b/autotests/export/docbook/A0_Poster_Simple.lyx
index 1ce942e..998f210 100644
--- a/autotests/export/docbook/A0_Poster_Simple.lyx
+++ b/autotests/export/docbook/A0_Poster_Simple.lyx
@@ -1,21 +1,24 @@
-#LyX 2.3 created this file. For more info see http://www.lyx.org/
-\lyxformat 544
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
 \begin_document
 \begin_header
 \save_transient_properties true
-\origin /systemlyxdir/templates/Posters/A0_Poster/
+\origin unavailable
 \textclass a0poster
 \begin_preamble
 % Adjust padding in boxes
 \setlength\fboxsep{12pt}
+% Added by lyx2lyx
+\setlength{\parskip}{\bigskipamount}
+\setlength{\parindent}{0pt}
 \end_preamble
 \options a0,portrait
 \use_default_options false
-\maintain_unincluded_children false
+\maintain_unincluded_children no
 \language english
 \language_package default
 \inputencoding utf8
-\fontencoding global
+\fontencoding auto
 \font_roman "palatino" "default"
 \font_sans "default" "default"
 \font_typewriter "courier" "default"
@@ -23,7 +26,9 @@
 \font_default_family default
 \use_non_tex_fonts false
 \font_sc false
-\font_osf false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
 \font_sf_scale 100 100
 \font_tt_scale 100 100
 \use_microtype false
@@ -58,6 +63,7 @@
 \justification true
 \use_refstyle 0
 \use_minted 0
+\use_lineno 0
 \index Index
 \shortcut idx
 \color #008000
@@ -68,8 +74,8 @@
 \bottommargin 1cm
 \secnumdepth 0
 \tocdepth 0
-\paragraph_separation skip
-\defskip bigskip
+\paragraph_separation indent
+\paragraph_indentation default
 \is_math_indent 0
 \math_numbering_side default
 \quotes_style english
@@ -77,11 +83,15 @@
 \papercolumns 1
 \papersides 1
 \paperpagestyle empty
+\tablestyle default
 \tracking_changes false
 \output_changes false
+\change_bars false
+\postpone_fragile_content false
 \html_math_output 0
 \html_css_as_file 0
 \html_be_strict false
+\docbook_table_output 0
 \end_header
 
 \begin_body
@@ -134,362 +144,6 @@ Poster Heading
 \end_layout
 
 \begin_layout Standard
-\align center
-\begin_inset Box Shadowbox
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-use_makebox 0
-width "60col%"
-special "none"
-height "1in"
-height_special "totalheight"
-thickness "0.4pt"
-separation "3pt"
-shadowsize "4pt"
-framecolor "black"
-backgroundcolor "none"
-status open
-
-\begin_layout Abstract
-\noindent
-This example poster is not nice, but you get an idea of what is possible
- with the 
-\family sans
-a0poster
-\family default
- document class within \SpecialChar LyX
-, when not using additional modules (such as 
-\begin_inset Quotes eld
-\end_inset
-
-Colored Boxes
-\begin_inset Quotes erd
-\end_inset
-
- or 
-\begin_inset Quotes eld
-\end_inset
-
-Section Boxes
-\begin_inset Quotes erd
-\end_inset
-
-).
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Box Shadowbox
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-use_makebox 0
-width "47col%"
-special "none"
-height "1in"
-height_special "totalheight"
-thickness "0.4pt"
-separation "3pt"
-shadowsize "4pt"
-framecolor "black"
-backgroundcolor "none"
-status open
-
-\begin_layout Plain Layout
-Left text
-\end_layout
-
-\begin_layout Plain Layout
-with several paragraphs
-\end_layout
-
-\end_inset
-
-
-\begin_inset space \hfill{}
-\end_inset
-
-
-\begin_inset Box Shadowbox
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-use_makebox 0
-width "47col%"
-special "none"
-height "1in"
-height_special "totalheight"
-thickness "0.4pt"
-separation "3pt"
-shadowsize "4pt"
-framecolor "black"
-backgroundcolor "none"
-status open
-
-\begin_layout Plain Layout
-Right text
-\end_layout
-
-\begin_layout Plain Layout
-with several paragraphs
-\end_layout
-
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\begin_inset space ~
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Box Ovalbox
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-use_makebox 0
-width "98col%"
-special "none"
-height "1in"
-height_special "totalheight"
-thickness "0.4pt"
-separation "3pt"
-shadowsize "4pt"
-framecolor "black"
-backgroundcolor "none"
-status open
-
-\begin_layout Subsubsection*
-Available font sizes (with corresponding \SpecialChar LaTeX
- command)
-\end_layout
-
-\begin_layout Plain Layout
-\paragraph_spacing single
-\begin_inset Note Note
-status open
-
-\begin_layout Plain Layout
-The extra sizes (
-\begin_inset Quotes eld
-\end_inset
-
-Giant
-\begin_inset Quotes erd
-\end_inset
-
- etc.) are available at at 
-\family sans
-Insert\SpecialChar menuseparator
-Custom Insets
-\family default
-.
- For small inline snippets, there are variants at 
-\family sans
-Edit\SpecialChar menuseparator
-Text Style.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Plain Layout
-
-\size tiny
-Tiny (
-\family typewriter
-
-\backslash
-tiny
-\family default
-)
-\end_layout
-
-\begin_layout Plain Layout
-
-\size scriptsize
-Smallest (
-\family typewriter
-
-\backslash
-scriptsize
-\family default
-)
-\end_layout
-
-\begin_layout Plain Layout
-
-\size footnotesize
-Smaller (
-\family typewriter
-
-\backslash
-footnotesize
-\family default
-)
-\end_layout
-
-\begin_layout Plain Layout
-
-\size normal
-Normal (
-\family typewriter
-\size default
-
-\backslash
-normalsize
-\family default
-\size normal
-)
-\end_layout
-
-\begin_layout Plain Layout
-
-\size large
-Large (
-\family typewriter
-
-\backslash
-large
-\family default
-)
-\end_layout
-
-\begin_layout Plain Layout
-
-\size larger
-Larger (
-\family typewriter
-
-\backslash
-Large
-\family default
-)
-\end_layout
-
-\begin_layout Plain Layout
-
-\size largest
-Largest (
-\family typewriter
-
-\backslash
-LARGE
-\family default
-)
-\end_layout
-
-\begin_layout Plain Layout
-
-\size huge
-Huge (
-\family typewriter
-
-\backslash
-huge
-\family default
-)
-\end_layout
-
-\begin_layout Plain Layout
-
-\size giant
-Huger (
-\family typewriter
-
-\backslash
-Huge
-\family default
-)
-\end_layout
-
-\begin_layout Plain Layout
-\begin_inset Flex Giant
-status open
-
-\begin_layout Plain Layout
-Giant (
-\family typewriter
-
-\backslash
-veryHuge
-\family default
-)
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Plain Layout
-\begin_inset Flex More Giant
-status open
-
-\begin_layout Plain Layout
-More Giant (
-\family typewriter
-
-\backslash
-VeryHuge
-\family default
-)
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Plain Layout
-\begin_inset Flex Most Giant
-status open
-
-\begin_layout Plain Layout
-Most Giant (
-\family typewriter
-
-\backslash
-VERYHuge
-\family default
-)
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
 \begin_inset Box Boxed
 position "t"
 hor_pos "c"
@@ -513,104 +167,6 @@ Summary
 \end_layout
 
 \begin_layout Itemize
-The 
-\family sans
-a0poster
-\family default
- class and layout provide the means to create a poster in A3 through A0big
- size using \SpecialChar LyX
-.
-\end_layout
-
-\begin_layout Itemize
-Page and font size are set accordingly.
-\end_layout
-
-\begin_layout Itemize
-The margins can be adjusted in 
-\family sans
-Document\SpecialChar menuseparator
-Settings\SpecialChar ldots
- \SpecialChar menuseparator
-Page Margins
-\family default
-.
-\end_layout
-
-\begin_layout Itemize
-The background color of the poster can be changed via 
-\family sans
-Document\SpecialChar menuseparator
-Settings\SpecialChar ldots
- \SpecialChar menuseparator
-Colors
-\family default
-.
-\end_layout
-
-\begin_layout Itemize
-The usual paragraph and text styles can be used.
-\end_layout
-
-\begin_layout Itemize
-\SpecialChar LyX
-'s boxes, as used here, are a simple means for structuring the content,
- simple colored boxes (of one color, predefined in 
-\family sans
-Document\SpecialChar menuseparator
-Settings\SpecialChar ldots
- \SpecialChar menuseparator
-Colors
-\family default
-) are also possible with the 
-\begin_inset Quotes eld
-\end_inset
-
-Shaded Background
-\begin_inset Quotes erd
-\end_inset
-
- box type.
-\end_layout
-
-\begin_layout Itemize
-For more 
-\begin_inset Quotes eld
-\end_inset
-
-fancy
-\begin_inset Quotes erd
-\end_inset
-
- boxes, try the 
-\begin_inset Quotes eld
-\end_inset
-
-Section Boxes
-\begin_inset Quotes erd
-\end_inset
-
- or 
-\begin_inset Quotes eld
-\end_inset
-
-Colored Boxes
-\begin_inset Quotes erd
-\end_inset
-
- module (the former is documented in the 
-\emph on
-poster-sciposter
-\emph default
- template, but also works with a0poster, the latter is documented in the
- 
-\emph on
-poster-a0poster-colored
-\emph default
- template).
-\end_layout
-
-\begin_layout Itemize
 For multiple columns, use the 
 \begin_inset Quotes eld
 \end_inset
@@ -632,30 +188,5 @@ Additional Features
 
 \end_layout
 
-\begin_layout Standard
-\begin_inset VSpace vfill
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset CommandInset line
-LatexCommand rule
-offset "0.5ex"
-width "100col%"
-height "1pt"
-
-\end_inset
-
-
-\begin_inset Newline newline
-\end_inset
-
-Poster Footer
-\end_layout
-
 \end_body
 \end_document
diff --git a/autotests/export/docbook/A0_Poster_Simple.xml b/autotests/export/docbook/A0_Poster_Simple.xml
new file mode 100644
index 0000000..3594ffd
--- /dev/null
+++ b/autotests/export/docbook/A0_Poster_Simple.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+  See http://www.lyx.org/ for more information -->
+<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<sidebar role='shadowbox'>
+Poster Heading
+</sidebar>
+<sidebar role='boxed'>
+<title>Summary</title>
+<itemizedlist>
+<listitem>
+<para>For multiple columns, use the “Multiple Columns” module as documented in <emphasis role='sans'>Help&#x21D2;Additional Features</emphasis>.</para>
+</listitem>
+</itemizedlist>
+</sidebar>
+</article>
\ No newline at end of file
diff --git a/src/insets/InsetBox.cpp b/src/insets/InsetBox.cpp
index db76f53..d714cf7 100644
--- a/src/insets/InsetBox.cpp
+++ b/src/insets/InsetBox.cpp
@@ -26,6 +26,7 @@
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
 #include "MetricsInfo.h"
+#include "output_docbook.h"
 #include "output_xhtml.h"
 #include "TexRow.h"
 #include "texstream.h"
@@ -727,7 +728,21 @@ void InsetBox::docbook(XMLStream & xs, OutputParams const & runparams) const
 		LYXERR0("Assertion failed: box layout " + getLayout().name() + " missing DocBookWrapperTag.");
 	}
 
-	InsetText::docbook(xs, runparams);
+	// If the box starts with a sectioning item, use as box title.
+	auto current_par = paragraphs().begin();
+	if (current_par->layout().category() == from_utf8("Sectioning")) {
+		// Only generate the first paragraph.
+		current_par = makeAny(text(), buffer(), xs, runparams, paragraphs().begin());
+	}
+
+	xs.startDivision(false);
+	// Don't call InsetText::docbook, as this would generate all paragraphs in the inset, not the ones we are
+	// interested in. The best solution would be to call docbookParagraphs with an updated OutputParams object to only
+	// generate paragraphs after the title, but it leads to strange crashes, as if text().paragraphs() then returns
+	// a smaller set of paragrphs.
+	while (current_par != paragraphs().end())
+		current_par = makeAny(text(), buffer(), xs, runparams, current_par);
+	xs.endDivision();
 
 	if (!getLayout().docbookwrappertag().empty()) {
 		if (!xs.isLastTagCR())
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index ee829e5..c8ddc1a 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -16,6 +16,7 @@
 #include "BufferParams.h"
 #include "Font.h"
 #include "InsetList.h"
+#include "output_docbook.h"
 #include "Paragraph.h"
 #include "ParagraphList.h"
 #include "ParagraphParameters.h"
@@ -347,13 +348,6 @@ void closeParTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpa
 }
 
 
-ParagraphList::const_iterator makeAny(Text const &,
-		                              Buffer const &,
-		                              XMLStream &,
-		                              OutputParams const &,
-		                              ParagraphList::const_iterator);
-
-
 void makeBibliography(
 		Text const & text,
 		Buffer const & buf,
@@ -714,35 +708,6 @@ void makeCommand(
 }
 
 
-ParagraphList::const_iterator makeAny(Text const &text,
-		                              Buffer const &buf,
-		                              XMLStream &xs,
-		                              OutputParams const &runparams,
-		                              ParagraphList::const_iterator par)
-{
-	switch (par->layout().latextype) {
-	case LATEX_COMMAND:
-		makeCommand(text, buf, xs, runparams, par);
-		break;
-	case LATEX_ENVIRONMENT:
-		makeEnvironment(text, buf, xs, runparams, par);
-		break;
-	case LATEX_LIST_ENVIRONMENT:
-	case LATEX_ITEM_ENVIRONMENT:
-		// Only case when makeAny() might consume more than one paragraph.
-		return makeListEnvironment(text, buf, xs, runparams, par);
-	case LATEX_PARAGRAPH:
-		makeParagraph(text, buf, xs, runparams, par);
-		break;
-	case LATEX_BIB_ENVIRONMENT:
-		makeBibliography(text, buf, xs, runparams, par);
-		break;
-	}
-	++par;
-	return par;
-}
-
-
 bool isLayoutSectioning(Layout const & lay)
 {
 	return lay.category() == from_utf8("Sectioning");
@@ -862,6 +827,35 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs,
 } // end anonymous namespace
 
 
+ParagraphList::const_iterator makeAny(Text const &text,
+                                      Buffer const &buf,
+                                      XMLStream &xs,
+                                      OutputParams const &runparams,
+                                      ParagraphList::const_iterator par)
+{
+	switch (par->layout().latextype) {
+	case LATEX_COMMAND:
+		makeCommand(text, buf, xs, runparams, par);
+		break;
+	case LATEX_ENVIRONMENT:
+		makeEnvironment(text, buf, xs, runparams, par);
+		break;
+	case LATEX_LIST_ENVIRONMENT:
+	case LATEX_ITEM_ENVIRONMENT:
+		// Only case when makeAny() might consume more than one paragraph.
+		return makeListEnvironment(text, buf, xs, runparams, par);
+	case LATEX_PARAGRAPH:
+		makeParagraph(text, buf, xs, runparams, par);
+		break;
+	case LATEX_BIB_ENVIRONMENT:
+		makeBibliography(text, buf, xs, runparams, par);
+		break;
+	}
+	++par;
+	return par;
+}
+
+
 xml::FontTag docbookStartFontTag(xml::FontTypes type)
 {
 	return xml::FontTag(from_utf8(fontToDocBookTag(type)), from_utf8(fontToAttribute(type)), type);
diff --git a/src/output_docbook.h b/src/output_docbook.h
index 4dcc853..401018d 100644
--- a/src/output_docbook.h
+++ b/src/output_docbook.h
@@ -16,6 +16,7 @@
 #define OUTPUT_DOCBOOK_H
 
 #include "LayoutEnums.h"
+#include "ParagraphList.h"
 
 #include "support/docstream.h"
 #include "support/strfwd.h"
@@ -27,18 +28,23 @@ class Buffer;
 class OutputParams;
 class Text;
 
-///
-std::string const fontToDocBookTag(xml::FontTypes type);
-///
+/// generates an xml::StartTag for the given style
 xml::FontTag docbookStartFontTag(xml::FontTypes type);
-///
+/// generates an xml::EndTag for the given style
 xml::EndFontTag docbookEndFontTag(xml::FontTypes type);
 
-///
-void docbookParagraphs(Text const & text,
-		               Buffer const & buf,
-                       XMLStream & os,
-		               OutputParams const & runparams);
+/// output a series of paragraphs into the XMLStream
+void docbookParagraphs(Text const &,
+		               Buffer const &,
+                       XMLStream &,
+		               OutputParams const &);
+
+/// output a single paragraph into the XMLStream
+ParagraphList::const_iterator makeAny(Text const &,
+                                      Buffer const &,
+                                      XMLStream &,
+                                      OutputParams const &,
+                                      ParagraphList::const_iterator);
 
 } // namespace lyx
 

commit f0225e82934f01315b5c52f990350da74111f23a
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Sep 12 01:52:58 2020 +0200

    fix

diff --git a/autotests/export/docbook/A0_Poster_Simple.lyx b/autotests/export/docbook/A0_Poster_Simple.lyx
new file mode 100644
index 0000000..1ce942e
--- /dev/null
+++ b/autotests/export/docbook/A0_Poster_Simple.lyx
@@ -0,0 +1,661 @@
+#LyX 2.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 544
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin /systemlyxdir/templates/Posters/A0_Poster/
+\textclass a0poster
+\begin_preamble
+% Adjust padding in boxes
+\setlength\fboxsep{12pt}
+\end_preamble
+\options a0,portrait
+\use_default_options false
+\maintain_unincluded_children false
+\language english
+\language_package default
+\inputencoding utf8
+\fontencoding global
+\font_roman "palatino" "default"
+\font_sans "default" "default"
+\font_typewriter "courier" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures false
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry true
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\leftmargin 1cm
+\topmargin 1cm
+\rightmargin 1cm
+\bottommargin 1cm
+\secnumdepth 0
+\tocdepth 0
+\paragraph_separation skip
+\defskip bigskip
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle empty
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+\align center
+\begin_inset Box Shadowbox
+position "c"
+hor_pos "c"
+has_inner_box 1
+inner_pos "c"
+use_parbox 1
+use_makebox 0
+width "98col%"
+special "none"
+height "5cm"
+height_special "none"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Plain Layout
+\noindent
+\align center
+
+\series bold
+\noun on
+\begin_inset Flex Most Giant Snippet
+status open
+
+\begin_layout Plain Layout
+\noindent
+
+\series bold
+\noun on
+Poster Heading
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Box Shadowbox
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "60col%"
+special "none"
+height "1in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Abstract
+\noindent
+This example poster is not nice, but you get an idea of what is possible
+ with the 
+\family sans
+a0poster
+\family default
+ document class within \SpecialChar LyX
+, when not using additional modules (such as 
+\begin_inset Quotes eld
+\end_inset
+
+Colored Boxes
+\begin_inset Quotes erd
+\end_inset
+
+ or 
+\begin_inset Quotes eld
+\end_inset
+
+Section Boxes
+\begin_inset Quotes erd
+\end_inset
+
+).
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Box Shadowbox
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "47col%"
+special "none"
+height "1in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Plain Layout
+Left text
+\end_layout
+
+\begin_layout Plain Layout
+with several paragraphs
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Shadowbox
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "47col%"
+special "none"
+height "1in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Plain Layout
+Right text
+\end_layout
+
+\begin_layout Plain Layout
+with several paragraphs
+\end_layout
+
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset space ~
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Box Ovalbox
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "98col%"
+special "none"
+height "1in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Subsubsection*
+Available font sizes (with corresponding \SpecialChar LaTeX
+ command)
+\end_layout
+
+\begin_layout Plain Layout
+\paragraph_spacing single
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+The extra sizes (
+\begin_inset Quotes eld
+\end_inset
+
+Giant
+\begin_inset Quotes erd
+\end_inset
+
+ etc.) are available at at 
+\family sans
+Insert\SpecialChar menuseparator
+Custom Insets
+\family default
+.
+ For small inline snippets, there are variants at 
+\family sans
+Edit\SpecialChar menuseparator
+Text Style.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\size tiny
+Tiny (
+\family typewriter
+
+\backslash
+tiny
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size scriptsize
+Smallest (
+\family typewriter
+
+\backslash
+scriptsize
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size footnotesize
+Smaller (
+\family typewriter
+
+\backslash
+footnotesize
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size normal
+Normal (
+\family typewriter
+\size default
+
+\backslash
+normalsize
+\family default
+\size normal
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size large
+Large (
+\family typewriter
+
+\backslash
+large
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size larger
+Larger (
+\family typewriter
+
+\backslash
+Large
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size largest
+Largest (
+\family typewriter
+
+\backslash
+LARGE
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size huge
+Huge (
+\family typewriter
+
+\backslash
+huge
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size giant
+Huger (
+\family typewriter
+
+\backslash
+Huge
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex Giant
+status open
+
+\begin_layout Plain Layout
+Giant (
+\family typewriter
+
+\backslash
+veryHuge
+\family default
+)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex More Giant
+status open
+
+\begin_layout Plain Layout
+More Giant (
+\family typewriter
+
+\backslash
+VeryHuge
+\family default
+)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex Most Giant
+status open
+
+\begin_layout Plain Layout
+Most Giant (
+\family typewriter
+
+\backslash
+VERYHuge
+\family default
+)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Box Boxed
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "98col%"
+special "none"
+height "1in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Section
+Summary
+\end_layout
+
+\begin_layout Itemize
+The 
+\family sans
+a0poster
+\family default
+ class and layout provide the means to create a poster in A3 through A0big
+ size using \SpecialChar LyX
+.
+\end_layout
+
+\begin_layout Itemize
+Page and font size are set accordingly.
+\end_layout
+
+\begin_layout Itemize
+The margins can be adjusted in 
+\family sans
+Document\SpecialChar menuseparator
+Settings\SpecialChar ldots
+ \SpecialChar menuseparator
+Page Margins
+\family default
+.
+\end_layout
+
+\begin_layout Itemize
+The background color of the poster can be changed via 
+\family sans
+Document\SpecialChar menuseparator
+Settings\SpecialChar ldots
+ \SpecialChar menuseparator
+Colors
+\family default
+.
+\end_layout
+
+\begin_layout Itemize
+The usual paragraph and text styles can be used.
+\end_layout
+
+\begin_layout Itemize
+\SpecialChar LyX
+'s boxes, as used here, are a simple means for structuring the content,
+ simple colored boxes (of one color, predefined in 
+\family sans
+Document\SpecialChar menuseparator
+Settings\SpecialChar ldots
+ \SpecialChar menuseparator
+Colors
+\family default
+) are also possible with the 
+\begin_inset Quotes eld
+\end_inset
+
+Shaded Background
+\begin_inset Quotes erd
+\end_inset
+
+ box type.
+\end_layout
+
+\begin_layout Itemize
+For more 
+\begin_inset Quotes eld
+\end_inset
+
+fancy
+\begin_inset Quotes erd
+\end_inset
+
+ boxes, try the 
+\begin_inset Quotes eld
+\end_inset
+
+Section Boxes
+\begin_inset Quotes erd
+\end_inset
+
+ or 
+\begin_inset Quotes eld
+\end_inset
+
+Colored Boxes
+\begin_inset Quotes erd
+\end_inset
+
+ module (the former is documented in the 
+\emph on
+poster-sciposter
+\emph default
+ template, but also works with a0poster, the latter is documented in the
+ 
+\emph on
+poster-a0poster-colored
+\emph default
+ template).
+\end_layout
+
+\begin_layout Itemize
+For multiple columns, use the 
+\begin_inset Quotes eld
+\end_inset
+
+Multiple Columns
+\begin_inset Quotes erd
+\end_inset
+
+ module as documented in 
+\family sans
+Help\SpecialChar menuseparator
+Additional Features
+\family default
+.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace vfill
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset CommandInset line
+LatexCommand rule
+offset "0.5ex"
+width "100col%"
+height "1pt"
+
+\end_inset
+
+
+\begin_inset Newline newline
+\end_inset
+
+Poster Footer
+\end_layout
+
+\end_body
+\end_document

-----------------------------------------------------------------------

Summary of changes:
 ...iography_precooked.lyx => A0_Poster_Simple.lyx} |  126 ++++++++++++++------
 .../{list_depth.xml => A0_Poster_Simple.xml}       |   10 +-
 src/insets/InsetBox.cpp                            |   17 +++-
 src/output_docbook.cpp                             |   66 +++++------
 src/output_docbook.h                               |   24 +++--
 5 files changed, 160 insertions(+), 83 deletions(-)
 copy autotests/export/docbook/{bibliography_precooked.lyx => A0_Poster_Simple.lyx} (55%)
 copy autotests/export/docbook/{list_depth.xml => A0_Poster_Simple.xml} (58%)


hooks/post-receive
-- 
Repository for new features


More information about the lyx-cvs mailing list