From: Alan G I. <ai...@am...> - 2010-09-06 15:28:56
|
============================ Slides from reStructuredText ============================ :Author: Alan G. Isaac :date: 2010-09-06 A Need ====== One definite need is a test document that all slide writers should be able to handle. The present document has inadequate requirements, because it does not include: - subtitle - sections, - subsections But certainly all writers should be able to handle the present document. Some Problems ============= 1. There is no settled reST slide format, so writers do not offer consistent handling 2. The following are desirable but potential conflict: - title - optional subtitle - optional sections - optional subsections - implementing slides with standard reST sectioning - easier to write - looks a lot better as text 3. Lack of math support is pretty devastating. (Why hasn’t Jens’s work been moved to the docutils core, at least as an “experimental” feature?) Solution to Problem 2 ===================== A possible solution within current reST syntax is for the lowest section level to always be treated as slides. This means that if you want sections and subsections, the first slides must be in a section and in a subsection. (rst2beamer takes this approach; rst2s5 does not. It seems to be the right approach.) HTML Slides: rst2s5 ==================== rst2s5 is part of the standard docutils distribution. :: rst2s5 --theme=small-white slides.rst slides.html rst2s5 Limitations ================== - no sectioning. rst2s5 Improvement Suggestions ============================== - allow slides to be within sections and subsections - display these instead of the title at the bottom PDF Slides: rst2beamer ====================== Solution: ``rst2beamer`` - available on Pypi. - available in docutils sandbox (development version??) :: rst2beamer slides.rst slides.tex pdflatex slides.tex slides.pdf rst2beamer Limitations ====================== - no math directive or role - but can add math as raw LaTeX - every slide is assigned ``fragile`` option -> amsmath is broken - every slide is incremental by default (ugh!); cannot turn on incremental on per-slide basis rst2beamer Improvement Suggestions ================================== - use classes (e.g., ``fragile``, ``incremental``) to switch on options. Don’t make slides fragile and incremental by default. - handle literal text like rst2latex does; the current approach does not work correctly ODP Slides ========== Solution: rst2odp - available on PyPI - development version in docutils sandbox :: rst2opd slides.rst slides.odp rst2odp Limitations ====================== - does not handle subtitle - does not handle citations - I have not been able to get it to work PowerPoint Slides ================= Solution: rst2outline http://docutils.sourceforge.net/sandbox/rst2outline/ :: rst2outline slides.rst slides.txt powerpnt.exe slides.txt rst2outline Limitations ======================= - only handles text - no title, subtitle, or sectioning |
From: Alan G I. <ai...@am...> - 2010-09-06 16:41:29
|
========================= Test 1 for Slides Writers ========================= -------- Subtitle -------- Section 1 ~~~~~~~~~ Subsection 1.1 `````````````` Slide 1 ======= - These slides have a title and subtitle. - There are sections and subsections. - This slide is in a section and subsection. - Which means all slides must be in a section *and* subsection! (For sectioning consistency.) - Not even rst2beamer currently identifies all this sectioning correctly (because of the subtitle). Subsection 1.2 `````````````` Slide 2 ======= A slide in a new subsection. Section 2 ~~~~~~~~~ Subsection 2.1 `````````````` Slide 3 ======= A slide. Slide 4 ======= A slide. Section 3 ~~~~~~~~~ Subsection 3.1 `````````````` Slide 5 ======= A slide. Slide 6 ======= A slide. |
From: Roberto A. <ra...@ne...> - 2010-09-06 21:39:59
Attachments:
test_slides_1.pdf
|
On Monday 06 September 2010 13:41:12 Alan G Isaac wrote: > - These slides have a title and subtitle. > - There are sections and subsections. > - This slide is in a section and subsection. > > - Which means all slides must be in a section > and subsection! (For sectioning consistency.) > > - Not even rst2beamer currently identifies all this > sectioning correctly (because of the subtitle). And what is the expected output of a section or subsection? A slide with the section/subsection title? If that's the case, rst2pdf passes the test already, chek the attached output (the style is from a lecture I did this saturday) BTW: the item "Which means..." and the line "sectioning correctly" are indented so that they end in blockquotes, is that intentional? |
From: Alan G I. <ai...@am...> - 2010-09-07 01:32:30
|
On 9/6/2010 5:40 PM, Roberto Alsina wrote: > And what is the expected output of a section or subsection? > > A slide with the section/subsection title? > > If that's the case, rst2pdf passes the test already, chek the attached output > (the style is from a lecture I did this saturday) Interesting. This seems to me a valid interpretation. I would not produce slides for the section header or subsection header. But I'm heavily influenced by beamer, which I think produces beautiful presentations. Very nice. Can you please state exactly how you produced this as send me the style, and I'll add it to my list. It is the only writer to pass all tests, as far as I know. > BTW: the item "Which means..." and the line "sectioning correctly" are > indented so that they end in blockquotes, is that intentional? The first yes. The second seems to have been an odd copy/paste error. Here is the test file online. https://subversion.american.edu/aisaac/misc/slides_test01.rst Thanks! Alan PS That's one of my favorite xkcd cartoons. |
From: Alan G I. <ai...@am...> - 2010-09-07 02:51:42
|
On 9/6/2010 9:32 PM, Alan G Isaac wrote: > Can you please state exactly how you produced this as send me > the style, and I'll add it to my list. Btw, I assume you know that your slides.style at <URL:http://lateral.netmanagers.com.ar/stories/BBS52.html> does not behave in the same fashion. It seems to break at sections? (Also, the svg you provide as a background image there did not work for me.) Alan Isaac |
From: Roberto A. <ra...@ne...> - 2010-09-07 10:22:32
|
On Monday 06 September 2010 22:32:04 Alan G Isaac wrote: > On 9/6/2010 5:40 PM, Roberto Alsina wrote: > > And what is the expected output of a section or subsection? > > > > A slide with the section/subsection title? > > > > If that's the case, rst2pdf passes the test already, chek the attached > > output (the style is from a lecture I did this saturday) > > Interesting. This seems to me a valid interpretation. > I would not produce slides for the section header or subsection header. So they would produce no output? What's the point of having them, then? > Can you please state exactly how you produced this as send me > the style, and I'll add it to my list. It is the only writer > to pass all tests, as far as I know. I see by the later mail that you found slides.style and the SVG backgeound :-) I expect this would work: rst2pdf testfile.txt -e inkscape -b3 -s eightpoint,slides --fit-background- mode=scale It requires you have inkscape installed. If you change the background to a PDF or raster image, you can remove -e inkscape. > > BTW: the item "Which means..." and the line "sectioning correctly" are > > indented so that they end in blockquotes, is that intentional? > > The first yes. The second seems to have been an odd copy/paste error. > Here is the test file online. > > https://subversion.american.edu/aisaac/misc/slides_test01.rst > > Thanks! > Alan > > PS That's one of my favorite xkcd cartoons. The title of my lecture on saturday was "Import antigravity: eight cool python modules you don't now about" :-) |
From: Roberto A. <ra...@ne...> - 2010-09-07 10:17:15
|
On Monday 06 September 2010 23:51:14 Alan G Isaac wrote: > On 9/6/2010 9:32 PM, Alan G Isaac wrote: > > Can you please state exactly how you produced this as send me > > the style, and I'll add it to my list. > > Btw, I assume you know that your slides.style at > <URL:http://lateral.netmanagers.com.ar/stories/BBS52.html> > does not behave in the same fashion. > It seems to break at sections? It breaks at whatever the -b option says. For this example I used -b3 > (Also, the svg you provide as a background image there > did not work for me.) Well, that article is over a year old, things have improved :-) You can use pretty much any SVG if you have inkscape installed and add -e inkscape (or convert it to PDF using inkscape manually, or use a raster image instead of a SVG). |
From: Alan G I. <ai...@am...> - 2010-09-07 12:16:21
|
On 9/7/2010 6:17 AM, Roberto Alsina wrote: > It breaks at whatever the -b option says. For this example I used -b3 Ah; I mistook that for a paper size declaration. I didn't see the -b option in the manual. Thanks, Alan |
From: Guenter M. <mi...@us...> - 2010-09-07 10:20:17
|
On 2010-09-06, Alan G Isaac wrote: ... > One definite need is a test document that all slide writers > should be able to handle. ... > 1. There is no settled reST slide format, so writers > do not offer consistent handling A common rst slide format (or convention) and test document should be developed parallel. > Solution to Problem 2 >===================== > A possible solution within current reST syntax is > for the lowest section level to always be treated > as slides. This means that if you want sections and > subsections, the first slides must be in a section > and in a subsection. (rst2beamer takes this approach; > rst2s5 does not. It seems to be the right approach.) To me, this seems the wrong approach. I'd rather handle the structuring into slides and structuring into sections independent For improved flexibility and compatibility with other writers, I propose a class argument based approach to slides with reStructuredText ------------------------------------------------------------- Objects can be "decorated" with special class arguments: newslide place this object on a new slide newoverlay place this object on a new "overlay" (which gives the appearance of incremental exposure of a given slide). notesonly do not place this object on a slide (i.e. ignore when producing slides) (Can be achieved without changes to Docutils via the strip-elements-with-class setting). slidesonly do not place this object in the notes (i.e. when generating standard HTML/LaTeX/PDF output for the handout or notes). (Can be achieved without changes to Docutils via the strip-elements-with-class setting). Advantages: * De-coupling of slide structure and sectioning. * Slide source remains a valid reStructuredText document without additions to the rst syntax. * For simpler input, slide writers might use a config setting / command line argument similar to the HTML- and LaTeX-writers :: --table-style=TABLE_STYLE Added to standard table classes. Defined styles: "borderless". Default: "" say :: --slide-section-level=N Add "newslide" to all section headings of level N. which, with N==1, would result in the current rst2s5 behaviour. Example:: Title ***** Subtitle ~~~~~~~~ First section title +++++++++++++++++++ all these do not produce slides .. class:: newslide First subsection title ====================== This is also the title of the slide. In-slide subsub-section ----------------------- some text .. class:: newoverlay * this list is revealed incrementally * point for point. .. class:: notesonly some notes that don't appear on the slide .. class:: newoverlay Als paragraphs, figures, etc. can be revealed incrementally. Second section title ==================== .. rubric:: Slide title outside the sectioning :class: newslide some text .. class:: newslide slidesonly A slide without title. Not included in the handout/notes. > PDF Slides: rst2beamer Keep in mind that there are at least two independent implementations under the same name. ... > 3. Lack of math support is pretty devastating. Math and Citation support are the points most missing if Docutils is to be used in academic context (not only for slides). > (Why hasn’t Jens’s work been moved to the docutils core, > at least as an “experimental” feature?) Because of lack of manpower. However, it's on the TODO list. A major stumbling block is the missing math support in HTML and most standard browsers. Günter |
From: Alan G I. <ai...@am...> - 2010-09-07 12:24:40
|
>> PDF Slides: rst2beamer On 9/7/2010 6:19 AM, Guenter Milde wrote: > Keep in mind that there are at least two independent implementations > under the same name. Aha! So the version in the sandbox is unrelated to the version on PyPI? Thanks, Alan |
From: Alan G I. <ai...@am...> - 2010-09-07 13:20:50
|
On 9/7/2010 6:19 AM, Guenter Milde wrote: > class argument based approach to slides with reStructuredText > ------------------------------------------------------------- > > Objects can be "decorated" with special class arguments: > > newslide > place this object on a new slide > > newoverlay > place this object on a new "overlay" (which gives the appearance of > incremental exposure of a given slide). > > notesonly > do not place this object on a slide (i.e. ignore when producing slides) > (Can be achieved without changes to Docutils via the > strip-elements-with-class setting). > > slidesonly > do not place this object in the notes (i.e. when generating > standard HTML/LaTeX/PDF output for the handout or notes). > (Can be achieved without changes to Docutils via the > strip-elements-with-class setting). > > > --slide-section-level=N > Add "newslide" to all section headings of level N. > > which, with N==1, would result in the current rst2s5 behaviour. Basically I like this proposal. I've added its content to https://subversion.american.edu/aisaac/misc/rst2slides.html I propose as a slide-writer default ``--slide-section-level=0`` to mean that the last subsection level present in the document is the slides level. Why not just use 'slide' and 'overlay' (instead of 'newslide' and 'newoverlay') unless those are likely name conflicts? I'm not sure how 'overlay' would work. An addition: I think it is important to be able to tag lists (at least) as say 'incremental', to signal to the writer to generate a sequence of overlays. A problem (?): What happens if a container is labeled a slide and so is one of its contained objects? (E.g., a section and a subsection?) The ``--slide-section-level=N`` option is the most pressing change. If this just decorates with say 'slide', which makes recognition of this class the most pressing change for slide writers. It would be great if all slide writers handled at least this. I believe this would be trivial for rst2pdf and rst2beamer (pypi). Alan |
From: m h <ses...@gm...> - 2010-09-08 05:54:17
|
On Tue, Sep 7, 2010 at 7:20 AM, Alan G Isaac <ai...@am...> wrote: > On 9/7/2010 6:19 AM, Guenter Milde wrote: >> class argument based approach to slides with reStructuredText >> ------------------------------------------------------------- >> >> Objects can be "decorated" with special class arguments: >> >> newslide >> place this object on a new slide >> >> newoverlay >> place this object on a new "overlay" (which gives the appearance of >> incremental exposure of a given slide). >> >> notesonly >> do not place this object on a slide (i.e. ignore when producing slides) >> (Can be achieved without changes to Docutils via the >> strip-elements-with-class setting). >> >> slidesonly >> do not place this object in the notes (i.e. when generating >> standard HTML/LaTeX/PDF output for the handout or notes). >> (Can be achieved without changes to Docutils via the >> strip-elements-with-class setting). >> >> > >> --slide-section-level=N >> Add "newslide" to all section headings of level N. >> >> which, with N==1, would result in the current rst2s5 behaviour. > > On behalf of rst2odp, this is similar to a solution I proposed a few years back. I'd accept a patch to do this. I don't think it would be hard, but being more of the slide:ology/presentationzen type mindset, I'm not really interested in this (or footers) for my sake. That itch just doesn't scratch. I realize that beamer/academic folks hate me for this. (But it also seems that they are more interested in beamer than odp/ppt). I guess for me most of the basic functionality I want is in rst2odp. The biggie that is missing is slide import. (ie, I have a slide that is complicated or is just easier to design with the gui, so I "import" that slide using a directive into the generated slides). I'm going to be using rst2odp pretty heavily in the next month or so for some teaching/presentations, so perhaps I'll implement it. cheers, -matt |
From: Roberto A. <ra...@ne...> - 2010-09-07 17:52:39
|
> The ``--slide-section-level=N`` option is the most pressing change. > If this just decorates with say 'slide', which makes recognition > of this class the most pressing change for slide writers. > It would be great if all slide writers handled at least this. > I believe this would be trivial for rst2pdf and rst2beamer (pypi). Yes for rst2pdf this would be trivial. Doing incremental lists and overlays is very tricky though, since rst2pdf would have to "repeat" pieces. But it can be done as a transform. |
From: Guenter M. <mi...@us...> - 2010-09-07 20:53:21
|
On 2010-09-07, Alan G Isaac wrote: > On 9/7/2010 6:19 AM, Guenter Milde wrote: >> class argument based approach to slides with reStructuredText >> ------------------------------------------------------------- >> Objects can be "decorated" with special class arguments: >> newslide >> place this object on a new slide >> newoverlay >> place this object on a new "overlay" (which gives the appearance of >> incremental exposure of a given slide). >> notesonly >> do not place this object on a slide (i.e. ignore when producing slides) >> (Can be achieved without changes to Docutils via the >> strip-elements-with-class setting). >> slidesonly >> do not place this object in the notes (i.e. when generating >> standard HTML/LaTeX/PDF output for the handout or notes). >> (Can be achieved without changes to Docutils via the >> strip-elements-with-class setting). >> --slide-section-level=N >> Add "newslide" to all section headings of level N. >> which, with N==1, would result in the current rst2s5 behaviour. ... > I propose as a slide-writer default ``--slide-section-level=0`` > to mean that the last subsection level present in the document > is the slides level. Actually, I would rather use the special string "last" in this case. To me, ``slide-section-level: 0`` would mean no automatic adding of the "slide" class argument to any section level. And I would use this as default (but we don't need to argue about defaults, as these can be easily changed in the config file). > Why not just use 'slide' and 'overlay' > (instead of 'newslide' and 'newoverlay') > unless those are likely name conflicts? I do not insist (but see below). > I'm not sure how 'overlay' would work. In the good old times, an 'overlay' would be a slide that is layed on top of the last slide on the overhead projector, so both contents are visible. In a video-presentation, the PDF of the next slide should show the content of the last slide + the content of the overlay(s). In beamer this is implemented by the macro \pause. > An addition: > I think it is important to be able to tag lists (at least) > as say 'incremental', to signal to the writer to generate > a sequence of overlays. You are right, it might be necessary/sensible to have an additional class argument "incremental", so that :: .. class:: overlay #. first #. last would be added in one step, while :: .. class:: incremental #. first #. last would be added item-wise. > A problem (?): > What happens if a container is labeled a slide and so is one of its > contained objects? (E.g., a section and a subsection?) * A new slide will start and its content is the contained object (this is the reason I called the class argument "newslide"). However, decided yet what should happen if the next contained object does not have the "slide" (or "newslide") class. Possible procedures: a) put on another slide (thought as continuation of the slide of the containing object), b) just continue the current slide, c) ignore (as the slides of both the containing object and the preceding object are closed). Or have both, "slide" and "newslide": slide: Place the content of the labeled object on a slide or (if it does not fit or there is a "manual slide-break") a set of slides. newslide/nextslide/break-slide/slide-break: "manual slide-break", start a new slide, ignored if there is no slide to split. In order to find an optimal set of class arguments and rules, one would have to survey existing slide-making applications (beamer, prosper, powerdot, S5, ..., powerpoint) and map the available "knobs" and macros to a consistent rst syntax. > The ``--slide-section-level=N`` option is the most pressing change. > If this just decorates with say 'slide', which makes recognition > of this class the most pressing change for slide writers. > It would be great if all slide writers handled at least this. > I believe this would be trivial for rst2pdf and rst2beamer (pypi). I will stay with Beamer in LyX. Günter |
From: Guenter M. <mi...@us...> - 2010-09-08 07:21:49
|
On 2010-09-08, m h wrote: > On Tue, Sep 7, 2010 at 7:20 AM, Alan G Isaac <ai...@am...> wrote: >> On 9/7/2010 6:19 AM, Guenter Milde wrote: >>> class argument based approach to slides with reStructuredText ... > On behalf of rst2odp, this is similar to a solution I proposed a few > years back. I remember we had a discussion about slide export on this list already (or several). My proposal is based on these memories. > I'd accept a patch to do this. I don't think it would be > hard, but being more of the slide:ology/presentationzen type mindset, > I'm not really interested in this (or footers) for my sake. That itch > just doesn't scratch. What is a "slide:ology/presentationzen type mindset"? ... > I guess for me most of the basic functionality I want is in rst2odp. > The biggie that is missing is slide import. (ie, I have a slide that > is complicated or is just easier to design with the gui, so I "import" > that slide using a directive into the generated slides). The "canonical" tool in reST for this is "raw" directive http://docutils.sf.net/docs/ref/rst/directives.html#raw-data-pass-through . It should work, if you can somehow extract the ODP code for just this slide from its container and save it to a file. Günter |
From: m h <ses...@gm...> - 2010-09-08 15:33:48
|
On Wed, Sep 8, 2010 at 1:21 AM, Guenter Milde <mi...@us...> wrote: > On 2010-09-08, m h wrote: >> On Tue, Sep 7, 2010 at 7:20 AM, Alan G Isaac <ai...@am...> wrote: >>> On 9/7/2010 6:19 AM, Guenter Milde wrote: > >>>> class argument based approach to slides with reStructuredText > ... > >> On behalf of rst2odp, this is similar to a solution I proposed a few >> years back. > > I remember we had a discussion about slide export on this list already > (or several). My proposal is based on these memories. No problem. I wasn't trying to steal your idea, just saying that I also think it's a good one. > >> I'd accept a patch to do this. I don't think it would be >> hard, but being more of the slide:ology/presentationzen type mindset, >> I'm not really interested in this (or footers) for my sake. That itch >> just doesn't scratch. > > What is a "slide:ology/presentationzen type mindset"? > The basic idea is that you aren't there to present your slides, but your slides serve to support your presentation. Hence less focus on cramming everything into a slide (ie creating long lists or long text). Most TED presentations are like this. Admittedly I've never been to an "academic" conference only, open source type ones. But I get the feeling that this style is anathema to academic presentations. Correct me if I'm wrong. At open source conferences you see slides that run the gamut. There's blogs for both slide:ology and presentation zen that discuss these ideas if you are interested. > ... > >> I guess for me most of the basic functionality I want is in rst2odp. >> The biggie that is missing is slide import. (ie, I have a slide that >> is complicated or is just easier to design with the gui, so I "import" >> that slide using a directive into the generated slides). > > The "canonical" tool in reST for this is "raw" directive > http://docutils.sf.net/docs/ref/rst/directives.html#raw-data-pass-through > . It should work, if you can somehow extract the ODP code for just this > slide from its container and save it to a file. > Cool. The underlying odplib already supports slide import. I just need to make it accessible from rst. Thanks for the hint. cheers, -matt |
From: Stefan M. <sm...@oe...> - 2010-09-10 19:58:12
|
Hi Günter and all! 3 days ago Guenter Milde wrote: > For improved flexibility Flexibility is a point. But I don't understood why it is needed. > and compatibility with other writers, I support that goal. But do classes not supported by other writers really help this goal? My first feeling is scepticism. > I propose a > > class argument based approach to slides with reStructuredText > ------------------------------------------------------------- The problem with this approach for me is: It introduces a lot of degrees of freedom which is useful re flexibility but not useful re easyness and compatibility. The lots of degrees of freedom end up in difficult problems you already discussed in this thread. One thing I really love reStructuredText for that easy things are easy and intuitive to accomplish (most of the syntax) and complicated things are possible (directives). I'd welcome if this approach could be kept when thinking about conventions for slides. > Objects can be "decorated" with special class arguments: > > newslide > place this object on a new slide Well, I like this coupling because it's intuitive. May be you can add transitions to the list of supported structures to end up as headerless slides. > newoverlay > place this object on a new "overlay" (which gives the appearance of > incremental exposure of a given slide). In my previous mail I proposed a syntax for a pause. My main point is that such a syntax must be tiny and inline so it doesn't disturb you when you are reading the source. Classes do not have these features. Roles may but roles are for regions whereas here you have a point. Substitutions are the only standard reST facility coming to my mind which seem fit here. > notesonly > do not place this object on a slide (i.e. ignore when producing slides) > (Can be achieved without changes to Docutils via the > strip-elements-with-class setting). That is something which I consider useful. An alternative would be a special directive for the slide family of writers but then there is a problem with compatibility. > slidesonly > do not place this object in the notes (i.e. when generating > standard HTML/LaTeX/PDF output for the handout or notes). > (Can be achieved without changes to Docutils via the > strip-elements-with-class setting). Could make sense though I don't see the use case for this class. > Advantages: > > * De-coupling of slide structure and sectioning. Well, personally I find this coupling useful and intuitive. Thus I find a de-coupling counter-intuitive. > * Slide source remains a valid reStructuredText document without > additions to the rst syntax. I agree that needs to be a top goal. > * For simpler input, slide writers might use a config setting / command > line argument [...] > say :: > > --slide-section-level=N > Add "newslide" to all section headings of level N. > > which, with N==1, would result in the current rst2s5 behaviour. *If* we really need the flexibility here then I'd prefer a convention over configuration approach. By default the sectioning is the lead but you may use special classes like you suggested to ignore the section structure. Grüße Stefan |
From: Alan G I. <ai...@am...> - 2010-09-11 20:31:16
|
> Günter wrote: >> I propose a class argument based approach to slides with >> reStructuredText On 9/10/2010 3:11 PM, Stefan Merten wrote: > The problem with this approach for me is: It introduces a lot of > degrees of freedom which is useful re flexibility but not useful re > easyness and compatibility. The lots of degrees of freedom end up in > difficult problems you already discussed in this thread. I think at the most basic level, there is not a conflict. The idea was that objects that should generate a slide should be decorated with a ``slide`` class. Naturally we want to be able to write documents for slides where sub(sub)sections are automatically used as slides. For this, we just need to be able to specify as an option what level of sectioning determines slides. This can be implemented by decorating every section at the appropriate header level. (I.e., with a user option.) Then only additional objects for which slides are wanted need be decorated by hand. If there are none, then nothing need be added by hand. I am not resolving key issues, like what happens if a section and its subsection are both labeled as slides. Decisions will have to be made on this. (I vote: a slide class on an object always means start a *new* slide.) Cheers, Alan |
From: Stefan M. <sm...@oe...> - 2010-09-10 19:58:12
|
Hi Alan and Roberto! 3 days ago Alan G Isaac wrote: >>> PDF Slides: rst2beamer > > On 9/7/2010 6:19 AM, Guenter Milde wrote: >> Keep in mind that there are at least two independent implementations >> under the same name. > > Aha! So the version in the sandbox is unrelated to the version on PyPI? Yes. This was an independent approach and probably no approach knew of the other. The general idea of the sandbox approach is to use the LaTeX writer as the super class making many things easy to solve. However, this broke when the super class changed massively :-( . I'd vote for including Roberto's (?) implementation to the sandbox. Grüße Stefan |
From: Guenter M. <mi...@us...> - 2010-09-13 21:04:20
|
On 2010-09-13, Stefan Merten wrote: > 2 days ago Alan G Isaac wrote: >> On 9/10/2010 3:11 PM, Stefan Merten wrote: >>> The problem with this approach for me is: It introduces a lot of >>> degrees of freedom which is useful re flexibility but not useful re >>> easyness and compatibility. The lots of degrees of freedom end up in >>> difficult problems you already discussed in this thread. >> I think at the most basic level, there is not a conflict. > True. But there are different opinions about the right default. Which, IMO, speaks for making this a configurable option. The author of the writer can then decide on the default for this option. >> The idea was that objects that should generate a slide should >> be decorated with a ``slide`` class. >> Naturally we want to be able to write documents for slides > ^^^^^^^^^ >> where sub(sub)sections are automatically used as slides. After skimming the prosper, seminar, and beamer manuals and examples, the "natural" choice seems a "topic" directive. >> For this, we just need to be able to specify as an option > ^^^^^^^^^^^^^^^^^^^^ >> what level of sectioning determines slides. This can be >> implemented by decorating every section at the appropriate >> header level. (I.e., with a user option.) > Well, if you think it is naturally to use sections then why force > people to specify an option? Only people that do not like the default setting of this option are forced to specify it. > Convention over configuration would make the natural thing the default > and the alternative, often more powerful approach an option. Relying on convention without an option would mean that the alternative needs a different writer (or at least a different front-end). >> Then only additional objects for which slides are wanted >> need be decorated by hand. If there are none, then nothing need >> be added by hand. > Still the option needs to be given by hand. No. > Yesterday Guenter Milde wrote: >> On 2010-09-10, Stefan Merten wrote: >>> 3 days ago Guenter Milde wrote: >> IMO, there are use cases for: >> a) slides without heading/title > Could be managed by using transitions. Then you still need to "style away" the transition in the "printout" version. >> b) more than one (sub) sections on one slide > I hardly can imagine slides where you want to have *sections* on a > slide but ok. c) A document (article/report/script/speakers notes) containing the slides very much like graphics or tables -- optionally printed or skipped in the "printout" version. Seminar, prosper, and beamer all have separate environments for slides and separate slide-titling commands. The "slides" version, only prints the content of these "slide"/"frame" environments. So the question is not only "when to start a new slide" but also "what should be on the slide and what not". >> which cannot be achieved with Alans: "use the lowest section level" >> convention. > True. I'd even add the use case that not all parts of a slide set have > the leaf nodes at the same height. Thus I'd suggest a default rule > like "every section containing content beyond comments and nested > sections". Actually, if going this way (section titles == slide titles, everything not explicitely marked "notesonly" goes on a slide), I'd suggest "every section (including the title) starts a new slide" as default. >>>> and compatibility with other writers, > But sections have the right meaning everywhere. Not in a document that contains slides (in contrast to a document that consists of slides). Otherwise, there would not be any need for a distinct "frame" environment, nor for the \frametitle and \framesubtitle commands in beamer. >>> In my previous mail I proposed a syntax for a pause. My main point is >>> that such a syntax must be tiny and inline so it doesn't disturb you >>> when you are reading the source. >>=20 >> Are "pauses" really used in-line (inside paragraphs, say)? > I don't know whether you ever cared to read the beamer manual but IIRC > it is even mentioned there. I have to admit that I did not read all 240 pages. So let me explain a bit more: my question is not whether it is possible to use ``\pause`` in-line, but whether it is widely used in an inline context (so that it makes sense to invent an rst inline syntax). The line LyX: Use the “Pause” style with an empty line to insert a pause. on page 80 of the beameruserguide suggests the answer is "no" (a LyX style is a block-level element). >>> Classes do not have these features. Roles may but roles are for >>> regions whereas here you have a point. >> The role content (say :pause:`*`) can be ignored by the writer/style.=20 >> You can define a substitution in your document if this is still too much >> "visual clutter". > I can't. The problem with a substitution is that I can not substitute > an empty string - at least I found no solution for this. But that is > what would be needed: A markup recognized by the writer which can be > defined as a substitution ending up as an empty string. Any ideas? >> With the latex2e writer, you can already convert a :pause: role into a >> ``\pause`` command (ignoring the content) by defining a \DUrolepause >> macro in the preamble or style sheet. > This breaks compatibility with other writers since even if they are > able to handle the :pause: role they should not ignore the content. IMO, they should. The "dummy" pause role should simply be ignored. I don't know about rst2pdf and the odtwriter, but both the html4css1 and the latex2e writer enable you to style a custom role in a way that its content is ignored. This can be done either in a style-sheet or (with the "raw" directive) in the document or an included file. The effort to do this is similar to the effort needed to hide the transition element. However, I would prefer an "incremental" class argument for lists (and maybe also complete slides -- meaning to pause between every paragraph). >>> *If* we really need the flexibility here then I'd prefer a convention >>> over configuration approach. By default the sectioning is the lead but >>> you may use special classes like you suggested to ignore the section >>> structure. >> Than make your favourite setting the default. > Which would be a configuration over convention approach. So far I > don't need to tweak the defaults in reStructuredText You will not need to tweak the defauls as long as you code the writer (or backend) with your preferences as default or convince the author to do so. > which also makes documents unportable. This is why I propose a "settings" directive, but this is a different topic. BTW: did you try whether a re-definition of \section commands or the the \AtBegin... commands provided by beamer could be used to make slides with the standard latex2e writer and a custom preamble/style-sheet? Günter |
From: Alan G I. <ai...@am...> - 2010-09-07 12:14:17
|
> On Monday 06 September 2010 22:32:04 Alan G Isaac wrote: >> I would not produce slides for the section header or subsection header. On 9/7/2010 6:22 AM, Roberto Alsina wrote: > So they would produce no output? > What's the point of having them, then? As I said, I am used to beamer presentation styles, many of which I consider excellent. Let me see if there's something online ... OK, here's a random example (first found) that I think is pretty good, except for the handling of the institution. You see the section and the subsection at the very top. This is not an uncommon handling of the section and subsection, which are simply context for the slides, not slides themselves. Alan |
From: Alan G I. <ai...@am...> - 2010-09-07 12:16:59
|
On 9/7/2010 8:13 AM, Alan G Isaac wrote: > here's a random example > (first found) that I think is pretty good, except for > the handling of the institution. http://www.csc.ncsu.edu/faculty/doyle/pickup/beamer/02propositional.pdf |
From: Roberto A. <ra...@ne...> - 2010-09-07 12:18:46
|
On Tuesday 07 September 2010 09:13:29 Alan G Isaac wrote: > OK, here's a random example Here where? :-) |
From: Guenter M. <mi...@us...> - 2010-09-07 20:18:43
|
On 2010-09-07, Roberto Alsina wrote: > On Monday 06 September 2010 22:32:04 Alan G Isaac wrote: >> On 9/6/2010 5:40 PM, Roberto Alsina wrote: >> > And what is the expected output of a section or subsection? >> > >> > A slide with the section/subsection title? >> > >> > If that's the case, rst2pdf passes the test already, chek the attached >> > output (the style is from a lecture I did this saturday) >> Interesting. This seems to me a valid interpretation. >> I would not produce slides for the section header or subsection header. > So they would produce no output? > What's the point of having them, then? You can still have them in the toc:: .. class:: slide Outline ======= .. contents:: But "jumping over" to a new section without showing the audience the section title is not my style either... Günter |
From: Stefan M. <sm...@oe...> - 2010-09-10 19:58:13
|
Hi Alan and all! This is a very useful initiative! I have a couple of ideas. See below. 4 days ago Alan G Isaac wrote: > A Need > ====== > > One definite need is a test document that all slide writers > should be able to handle. Yes! > Some Problems > ============= > > 1. There is no settled reST slide format, so writers > do not offer consistent handling I could imagine having a family of writers all producing slides but in different formats. May be we could even have special directives or roles for this family? > 2. The following are desirable but potential conflict: > > - title > - optional subtitle > - optional sections > - optional subsections > - implementing slides with standard reST sectioning > > - easier to write > - looks a lot better as text Why do you think they are potential conflicts? > Solution to Problem 2 > ===================== > > A possible solution within current reST syntax is > for the lowest section level to always be treated > as slides. This means that if you want sections and > subsections, the first slides must be in a section > and in a subsection. (rst2beamer takes this approach; > rst2s5 does not. It seems to be the right approach.) I think we need a concept for this topic. Some thoughts. There are two general types of presentations: Flat and hierarchical ones. Some formats such as PowerPoint support only flat slides. Other formats such as beamer support hierarchical slides. Subsectioning is certainly a point for the latter. The question already discussed in this thread is how hierarchical slides are mapped to a presentation. What seems to be clear is that there is a "leaf level" which contains the real slides. The question is how to handle the higher sections. IMHO there are these options: * Use higher sections for explicit navigation In beamer there are lots of styles which contain explicit navigation. This would be certainly an option but only for those formats supporting explicit navigation. * Generate intermediate "agenda" slides from higher sections Another common pattern is to have an agenda slide and between higher sections insert a special agenda slide showing the current location in the presentation. This should be an option for all writers. * Generate a structure title When I used MagicPoint for my presentations I used a structured title on each slide as navigation hint. I had a top level element which usually rendered in a small font and the title of the slide in bigger font. This should be an option for most if not all writers. I'd find it very useful if there would be an option common to all slide writers which decides which variant to take. Here are some more thoughts. * Agenda slides by ``.. contents::`` A ``.. contents::`` directive should be transformed to an agenda slide. As a variant of the agenda slides idea mentioned above this could be done for every ``.. contents::`` directive. * Supported reST features It would be useful if the reST features which should be supported are defined. For instance support for inline markup and images. * Rendering as normal document by standard writers A reST document meant as a slide set should render all content normally by the standard writers. * Support for notes Some formats allow for notes. There should be some syntax to markup notes as such and render them as notes in formats supporting them. The easiest way would be to define special classes for this purpose. * Support for pauses Some formats allow for pauses in the presentation. In particular in beamer slides you can set pauses as you like. There should be some way to write pauses. I'm using. :: .. |p| raw:: latex \pause The syntax for this should be minimal (like in the substitution above) and should be ignored by standard writers. BTW: I remember vaguely that there was a solution for S5 using `standard role`. I disliked this because a pause is at a certain *point* whereas a role marks a *region*. The obvious question is: Is the pause done at the beginning or the end of the region? > rst2beamer Improvement Suggestions > ================================== I didn't check for the `rst2beamer` implementation but IMHO it should subclass the / an LaTeX writer to inherit all the benefits from it. > PowerPoint Slides > ================= > > Solution: rst2outline http://docutils.sourceforge.net/sandbox/rst2outline/ > > :: > > rst2outline slides.rst slides.txt > powerpnt.exe slides.txt There is another option in PowerPoint where you can insert slides from such an outline. This is a great way to include slides into a given format template. May be you can mention this? Grüße Stefan |