Re: [O] Some LaTeX Beamer / org-mode questions
Hello, Rasmuswrites: > Re the beamer manual 10.1, we could add the following keywords, > #+short_title, #+short_subtitle, #+short_date , #+institute and > #+short_institute. Thank you for your work. I didn't test your patch. However, here are some late comments about this suggestion. > Maybe we can have a titlegraphics like, > > #+attr_beamer: :titlegraphics t > [[file:link.pdf]] I think #+TITLEGRAPHICS: [[file:link.pdf]] would be cleaner. > ;; Otherwise, use `latex' back-end. > - (t (org-export-with-backend 'latex link contents info) > + (t (cond ((and (org-export-inline-image-p link) > + (plist-get (org-export-read-attribute > + :attr_beamer (org-export-get-parent-element > link)) > +:titlegraphic)) > +"") > + (t (org-export-with-backend 'latex link contents info))) The last `cond' could be merged with the one above. It looks like there's unnecessary branching here. Anyway, it probably should not be included per suggestion above. > > Plain List > @@ -855,21 +866,65 @@ holding export options." > (when (integerp sec-num) >(format "\\setcounter{secnumdepth}{%d}\n" sec-num))) > ;; Author. > - (let ((author (and (plist-get info :with-author) > - (let ((auth (plist-get info :author))) > - (and auth (org-export-data auth info) > -(email (and (plist-get info :with-email) > -(org-export-data (plist-get info :email) info > + (let* ((author (and (plist-get info :with-author) > + (let ((auth (plist-get info :author))) > +(and auth (org-export-data auth info) > + (short-author (and author (plist-get info :short-author))) Since "short-author" is `parsed', this should be wrapped within `org-export-data' somehow. You do it below, but it introduces some code duplication. > + (email (and (plist-get info :with-email) > + (org-export-data (plist-get info :email) info))) > + ) You left a dangling parenthesis. > (cond ((and author email (not (string= "" email))) > - (format "\\author{%s\\thanks{%s}}\n" author email)) > - ((or author email) (format "\\author{%s}\n" (or author email) > + (format "\\author%s{%s\\thanks{%s}}\n" > + (if short-author > + (format "[%s]" (org-export-data short-author info)) > "") > + author email)) > + ((or author email) (format "\\author%s{%s}\n" > + (if short-author > + (format "[%s]" (org-export-data > short-author info)) "") > + (or author email) See above. Also, I would move the (format ...) below (or author email) > ;; Date. > - (let ((date (and (plist-get info :with-date) (org-export-get-date > info > - (format "\\date{%s}\n" (org-export-data date info))) > - ;; Title > - (format "\\title{%s}\n" title) > + (let* ((date (and (plist-get info :with-date) (org-export-get-date > info))) > + ;; TODO: add optional argument of ‘org-export-get-date’. > + (short-date (and date (org-export-data > +(org-export-get-date > + (plist-put info :date > +(plist-get info > :beamer-short-date))) > +info > + (format "\\date%s{%s}\n" (if (org-string-nw-p short-date) > + (format "[%s]" short-date) "") I would put the "" below (format "[%s]" short-date): it doesn't make clear there is an else branch otherwise. > +(org-export-data date info))) > + ;; Title. > + (let ((short-title (and title > + (plist-get info :beamer-short-title > + (format "\\title%s{%s}\n" > +(if short-title (format "[%s]" (org-export-data short-title > info)) "") > +title)) See above. > + ;; Titlegraphics. > + (let ((titlegraphic-link > + (org-element-map (plist-get info :parse-tree) 'link > + (lambda (link) > + (when (and (org-export-inline-image-p link) > +(plist-get (org-export-read-attribute > +:attr_beamer > (org-export-get-parent-element link)) > + :titlegraphic)) > + link)) > + info t))) See above. Regards, -- Nicolas Goaziou
Re: [O] Some LaTeX Beamer / org-mode questions
Florian Lindnerwrites: > On Wed, 01 Jun 2016 12:26:07 +0200 > Rasmus wrote: > >> Florian Lindner writes: >> >> > On Mon, 30 May 2016 13:53:52 +0200 >> > Rasmus wrote: >> > >> >> Hi, >> >> >> >> Florian Lindner writes: >> >> >> >> >> #+options: title:nil >> >> > >> >> > Sorry, can't make it work. >> >> >> #+subtitle: >> >> > >> >> > Neither that works for me >> >> >> >> Are you sure you are using an up-to-date version of Org? >> >> M-x org-version should return 8.3.something. >> > >> > Ah, you were right. I used the builtin org version. >> > >> > It works now, however, when I set the title:nil is does not produce >> > a title page at all. >> > >> > #+BEGIN_LATEX >> > \maketitle >> > #+END_LATEX >> >> Or: >> >> @@latex:\maketitle@@. >> >> What exactly are you missing from the standard title page support of >> Org? > > Nothing really, but when I use title:t, org mode sets a > \title{presentation} in the tex file which overwrites my own title. If > I set title:nil, it sets \title{} still overwriting my own title. > >> > inserts a title page, but after the table of contents. >> > >> > Any way to work around that? >> >> Yes, the #+TOC keyword combined with the option toc:nil. > > Ah, ok, I think I got using these settings now: > > #+startup: beamer > #+LATEX_CLASS: beamer > > #+LATEX_CLASS_OPTIONS: [presentation] > #+BEAMER_THEME: Boadilla > > #+OPTIONS: H:2 num:t title:nil toc:nil > > #+BEGIN_LATEX > \author[me]{me and the coauthors} > \title[short title]{long title \\ next line} > \subtitle{subtitle} > \institute[short institute]{long institute} > \maketitle > #+END_LATEX I see. Re the beamer manual 10.1, we could add the following keywords, #+short_title, #+short_subtitle, #+short_date , #+institute and #+short_institute. Maybe we can have a titlegraphics like, #+attr_beamer: :titlegraphics t [[file:link.pdf]] I've attached some rough patches that does this. Maybe you can test them? Rasmus -- What will be next? >From bb8621ce40a14d9ada2b6cb5629568533298f285 Mon Sep 17 00:00:00 2001 From: Rasmus Date: Thu, 2 Jun 2016 11:44:56 +0200 Subject: [PATCH 1/2] ox-beamer: Remove customizable subtitle * lisp/ox-beamer.el (org-beamer-subtitle-format): Removed. --- lisp/ox-beamer.el | 11 --- 1 file changed, 11 deletions(-) diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el index 4505e2c..4ac91d0 100644 --- a/lisp/ox-beamer.el +++ b/lisp/ox-beamer.el @@ -134,16 +134,6 @@ You might want to put e.g. \"allowframebreaks=0.9\" here." :group 'org-export-beamer :type '(string :tag "Outline frame options")) - -(defcustom org-beamer-subtitle-format "\\subtitle{%s}" - "Format string used for transcoded subtitle. -The format string should have at most one \"%s\"-expression, -which is replaced with the subtitle." - :group 'org-export-beamer - :version "25.1" - :package-version '(Org . "8.3") - :type '(string :tag "Format string")) - ;;; Internal Variables @@ -243,7 +233,6 @@ Return overlay specification, as a string, or nil." :options-alist '((:headline-levels nil "H" org-beamer-frame-level) (:latex-class "LATEX_CLASS" nil "beamer" t) -(:beamer-subtitle-format nil nil org-beamer-subtitle-format) (:beamer-column-view-format "COLUMNS" nil org-beamer-column-view-format) (:beamer-theme "BEAMER_THEME" nil org-beamer-theme) (:beamer-color-theme "BEAMER_COLOR_THEME" nil nil t) -- 2.8.3 >From b7792069f1c2f7c86bc8767d9e26b4f7345c2685 Mon Sep 17 00:00:00 2001 From: Rasmus Date: Thu, 2 Jun 2016 11:45:49 +0200 Subject: [PATCH 2/2] ox-beamer: Add short titlepage properties * lisp/ox-beamer.el: Add #+short_{title,subtitle,author,date,institute} and #+institute and the :titlegraphic option. --- lisp/ox-beamer.el | 81 ++- 1 file changed, 68 insertions(+), 13 deletions(-) diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el index 4ac91d0..ce19d4d 100644 --- a/lisp/ox-beamer.el +++ b/lisp/ox-beamer.el @@ -240,6 +240,12 @@ Return overlay specification, as a string, or nil." (:beamer-inner-theme "BEAMER_INNER_THEME" nil nil t) (:beamer-outer-theme "BEAMER_OUTER_THEME" nil nil t) (:beamer-header "BEAMER_HEADER" nil nil newline) +(:beamer-short-title "SHORT_TITLE" nil nil parse) +(:beamer-short-subtitle "SHORT_SUBTITLE" nil nil parse) +(:beamer-short-author "SHORT_AUTHOR" nil nil parse) +(:beamer-short-date "SHORT_DATE" nil nil parse) +(:beamer-institute "INSTITUTE" nil nil parse) +(:beamer-short-institute "SHORT_INSTITUTE" nil nil parse) (:beamer-environments-extra nil nil org-beamer-environments-extra) (:beamer-frame-default-options nil nil org-beamer-frame-default-options) (:beamer-outline-frame-options nil nil org-beamer-outline-frame-options) @@ -751,7 +757,12 @@ used as a communication channel." ref
Re: [O] Some LaTeX Beamer / org-mode questions
On Wed, 01 Jun 2016 12:26:07 +0200 Rasmuswrote: > Florian Lindner writes: > > > On Mon, 30 May 2016 13:53:52 +0200 > > Rasmus wrote: > > > >> Hi, > >> > >> Florian Lindner writes: > >> > >> >> #+options: title:nil > >> > > >> > Sorry, can't make it work. > >> >> #+subtitle: > >> > > >> > Neither that works for me > >> > >> Are you sure you are using an up-to-date version of Org? > >> M-x org-version should return 8.3.something. > > > > Ah, you were right. I used the builtin org version. > > > > It works now, however, when I set the title:nil is does not produce > > a title page at all. > > > > #+BEGIN_LATEX > > \maketitle > > #+END_LATEX > > Or: > > @@latex:\maketitle@@. > > What exactly are you missing from the standard title page support of > Org? Nothing really, but when I use title:t, org mode sets a \title{presentation} in the tex file which overwrites my own title. If I set title:nil, it sets \title{} still overwriting my own title. > > inserts a title page, but after the table of contents. > > > > Any way to work around that? > > Yes, the #+TOC keyword combined with the option toc:nil. Ah, ok, I think I got using these settings now: #+startup: beamer #+LATEX_CLASS: beamer #+LATEX_CLASS_OPTIONS: [presentation] #+BEAMER_THEME: Boadilla #+OPTIONS: H:2 num:t title:nil toc:nil #+BEGIN_LATEX \author[me]{me and the coauthors} \title[short title]{long title \\ next line} \subtitle{subtitle} \institute[short institute]{long institute} \maketitle #+END_LATEX As I said, all I want is to have a standard title page followed by a toc, but I need to set also the short version of title, institute and author. Well it works, albeit not very elegant. Best, Florian
Re: [O] Some LaTeX Beamer / org-mode questions
Florian Lindnerwrites: > On Mon, 30 May 2016 13:53:52 +0200 > Rasmus wrote: > >> Hi, >> >> Florian Lindner writes: >> >> >> #+options: title:nil >> > >> > Sorry, can't make it work. >> >> #+subtitle: >> > >> > Neither that works for me >> >> Are you sure you are using an up-to-date version of Org? >> M-x org-version should return 8.3.something. > > Ah, you were right. I used the builtin org version. > > It works now, however, when I set the title:nil is does not produce a > title page at all. > > #+BEGIN_LATEX > \maketitle > #+END_LATEX Or: @@latex:\maketitle@@. What exactly are you missing from the standard title page support of Org? > inserts a title page, but after the table of contents. > > Any way to work around that? Yes, the #+TOC keyword combined with the option toc:nil. http://orgmode.org/org.html#Table-of-contents Rasmus -- Dobbelt-A
Re: [O] Some LaTeX Beamer / org-mode questions
On Mon, 30 May 2016 13:53:52 +0200 Rasmuswrote: > Hi, > > Florian Lindner writes: > > >> #+options: title:nil > > > > Sorry, can't make it work. > >> #+subtitle: > > > > Neither that works for me > > Are you sure you are using an up-to-date version of Org? > M-x org-version should return 8.3.something. Ah, you were right. I used the builtin org version. It works now, however, when I set the title:nil is does not produce a title page at all. #+BEGIN_LATEX \maketitle #+END_LATEX inserts a title page, but after the table of contents. Any way to work around that? Best, Florian
Re: [O] Some LaTeX Beamer / org-mode questions
Hi, Florian Lindnerwrites: >> #+options: title:nil > > Sorry, can't make it work. >> #+subtitle: > > Neither that works for me Are you sure you are using an up-to-date version of Org? M-x org-version should return 8.3.something. Rasmus -- Governments should be afraid of their people
Re: [O] Some LaTeX Beamer / org-mode questions
On Mon, 30 May 2016 11:19:52 +0200 Rasmuswrote: > Hi, > > Florian Lindner writes: > > > I'm working on my first presentation using org mode together with > > latex beamer (until now, I produce the slide using beamer only). > > > > The top of my org file looks like that: > > > > #+startup: beamer > > #+LATEX_CLASS: beamer > > > > #+LATEX_CLASS_OPTIONS: [presentation] > > #+BEAMER_THEME: Boadilla > > #+LATEX_HEADER: \author[me]{\underline{me}, co1, co2} > > #+LATEX_HEADER: \title[short title]{multi line long title} > > #+LATEX_HEADER: \subtitle{subtitle} > > #+LATEX_HEADER: \institute[short institute]{multi line long > > institute} > > > > This works so far, except the title. Since I do not set a title > > using #+TITLE, org-mode sets a default \title{presentation}. How > > can I omit that? > > #+options: title:nil Sorry, can't make it work. > > > Is there a more elegant way to achieve the settings like above? > > Especially > > > > - The short and version of title, author and institute. > > Don't know. > > > - The multi line (\\) formatting > > \\ at eol is org syntax for forced line break. > > > - The subtitle > > #+subtitle: Neither that works for me #+startup: beamer #+LATEX_CLASS: beamer #+LATEX_CLASS_OPTIONS: [presentation] #+BEAMER_THEME: Boadilla #+LATEX_HEADER: \author[me]{me and the coauthors} #+LATEX_HEADER: \title[short title]{long title \\ next line} #+LATEX_HEADER: \institute[short institute]{long institute} #+subtitle: subtitle #+OPTIONS: H:2 toc:t num:t title:nil The subtitle is ignored and the resulting tex file still contains \title{presentation} Thanks, Florian
Re: [O] Some LaTeX Beamer / org-mode questions
Hi, Florian Lindnerwrites: > I'm working on my first presentation using org mode together with latex > beamer (until now, I produce the slide using beamer only). > > The top of my org file looks like that: > > #+startup: beamer > #+LATEX_CLASS: beamer > > #+LATEX_CLASS_OPTIONS: [presentation] > #+BEAMER_THEME: Boadilla > #+LATEX_HEADER: \author[me]{\underline{me}, co1, co2} > #+LATEX_HEADER: \title[short title]{multi line long title} > #+LATEX_HEADER: \subtitle{subtitle} > #+LATEX_HEADER: \institute[short institute]{multi line long institute} > > This works so far, except the title. Since I do not set a title using > #+TITLE, org-mode sets a default \title{presentation}. How can I omit > that? #+options: title:nil > Is there a more elegant way to achieve the settings like above? Especially > > - The short and version of title, author and institute. Don't know. > - The multi line (\\) formatting \\ at eol is org syntax for forced line break. > - The subtitle #+subtitle: Hope that helps, Rasmus -- One thing that is clear: it's all down hill from here
Re: [O] Some LaTeX Beamer / org-mode questions
Florian Lindnerwrites: > Hello, > > I'm working on my first presentation using org mode together with latex > beamer (until now, I produce the slide using beamer only). Same as me - beamer in org is really niche when you get the hang of it (still not completely there). > > The top of my org file looks like that: > > #+startup: beamer > #+LATEX_CLASS: beamer > > #+LATEX_CLASS_OPTIONS: [presentation] > #+BEAMER_THEME: Boadilla > #+LATEX_HEADER: \author[me]{\underline{me}, co1, co2} > #+LATEX_HEADER: \title[short title]{multi line long title} > #+LATEX_HEADER: \subtitle{subtitle} > #+LATEX_HEADER: \institute[short institute]{multi line long institute} You could use #+BEAMER_HEADER: instead of #+LATEX_HEADER: - makes it clearer and is only inserted when exporting to beamer. > > This works so far, except the title. Since I do not set a title using > #+TITLE, org-mode sets a default \title{presentation}. How can I omit that? > > Is there a more elegant way to achieve the settings like above? Especially > > - The short and version of title, author and institute. > - The multi line (\\) formatting > - The subtitle Don't know - but wopuld really like to know as well. Rainer > > Thanks! > > Florian > > -- Rainer M. Krug email: Rainerkrugsde PGP: 0x0F52F982 signature.asc Description: PGP signature