From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Cubizolles Subject: Re: Different set of packages for LaTeX export Date: Tue, 06 Oct 2015 12:17:44 +0200 Message-ID: <87wpv0uwqf.fsf@free.fr> References: <20151001204426.6393bd1d@arcor.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59653) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjPJl-0003IW-99 for emacs-orgmode@gnu.org; Tue, 06 Oct 2015 06:17:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZjPJh-00019f-8J for emacs-orgmode@gnu.org; Tue, 06 Oct 2015 06:17:57 -0400 Received: from plane.gmane.org ([80.91.229.3]:49096) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjPJh-00019M-1z for emacs-orgmode@gnu.org; Tue, 06 Oct 2015 06:17:53 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZjPJe-0002Pg-Sy for emacs-orgmode@gnu.org; Tue, 06 Oct 2015 12:17:50 +0200 Received: from gas45-3-82-244-252-119.fbx.proxad.net ([82.244.252.119]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 06 Oct 2015 12:17:50 +0200 Received: from j.cubizolles by gas45-3-82-244-252-119.fbx.proxad.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 06 Oct 2015 12:17:50 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Manfred Lotz writes: > Hi all, > I have configured LaTeX export for using xelatex. For this I have > defined a list of packages in org-latex-default-packages-alist. One of > those packages is hyperref with certain options. > > When creating a normal document, e.g. using class article that works > fine. > > When creating slides, i.e using beamer I get an option clash > during compiling the tex file because beamer did already load hyperref. > > How can I solve it? The way I do it: I have different classes for different types of export (beamer, or "normal") and I'm using different projects to choose from at export time. The following code is at the beginning of the org file and has to be run (C-c C-c) when you open the org file. The publishing functions are just here to rename the pdf file. --8<---------------cut here---------------start------------->8--- #+begin_src emacs-lisp :tangle yes :exports none (setq org-publish-project-alist `(("TeX" :base-directory "./" :publishing-directory "./" :publishing-function org-beamer-publish-to-latex :exclude ".*" :latex-class "mpsi_beamer" :include ,(list (file-name-nondirectory buffer-file-name)) ) ("beamer" :base-directory "./" :publishing-directory "./" :publishing-function org-beamer-publish-to-pdf :exclude ".*" :latex-class "mpsi_beamer" :include ,(list (file-name-nondirectory buffer-file-name)) :completion-function jc-org-publish-rename-beamer-pdf ) ("notes" :base-directory "./" :publishing-directory "./" :preparation-function jc-org-latex-notes-preparation :publishing-function org-beamer-publish-to-latex :exclude ".*" :latex-class "mpsi-beamerarticle" :include ,(list (file-name-nondirectory buffer-file-name)) :completion-function jc-org-publish-rename-notes-pdf ) ("eleves" :base-directory "./" :publishing-directory "./" :preparation-function jc-org-latex-notes-preparation :publishing-function org-beamer-publish-to-pdf :exclude ".*" :latex-class "mpsi-beamerarticle-eleves" :include ,(list (file-name-nondirectory buffer-file-name)) :select-tags ("eleves") :completion-function jc-org-publish-rename-eleves-pdf ) ("cours" :components ("beamer" "notes" "eleves")))) #+end_src --8<---------------cut here---------------end--------------->8--- --8<---------------cut here---------------start------------->8--- (defun jc-org-publish-rename-beamer-pdf () "Rename file.pdf to file-beamer.pdf and file.tex to file-beamer.tex when buffer is visiting file.org" (jc-org-publish-rename '"pdf" '"beamer") (jc-org-publish-rename '"tex" '"beamer")) --8<---------------cut here---------------end--------------->8--- --8<---------------cut here---------------start------------->8--- (defun jc-org-publish-rename (suffix version) "Rename file.suffix to file-version.suffix when buffer is visiting file.org" (let* ((file-base-name (remove-org-suffix (buffer-file-name))) (file-suffix-name (concat file-base-name "." suffix)) (file-version-suffix-name (concat file-base-name "-" version "." suffix))) (if (file-exists-p file-suffix-name) (rename-file file-suffix-name file-version-suffix-name t)) ) ) --8<---------------cut here---------------end--------------->8--- Julien.