From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rasmus Subject: Re: [export] Should sidewaystable option automatically add rotating package? Date: Thu, 12 Sep 2013 20:33:02 +0200 Message-ID: <878uz151r5.fsf@pank.sbde-40904.btopenzone.com> References: <87ob7z4nzl.fsf@pinto.chemeng.ucl.ac.uk> <877gentvmv.fsf@gmx.us> <87wqmmos25.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56498) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKBhZ-0005av-2k for emacs-orgmode@gnu.org; Thu, 12 Sep 2013 14:33:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VKBhS-0008Jb-Rx for emacs-orgmode@gnu.org; Thu, 12 Sep 2013 14:33:13 -0400 Received: from mout.gmx.net ([212.227.17.20]:54245) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VKBhS-0008JW-Ig for emacs-orgmode@gnu.org; Thu, 12 Sep 2013 14:33:06 -0400 Received: from pank.sbde-40904.btopenzone.com ([92.225.140.44]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0LzblK-1VxUiL2dl4-014jsr for ; Thu, 12 Sep 2013 20:33:03 +0200 In-Reply-To: <87wqmmos25.fsf@gmail.com> (Nicolas Goaziou's message of "Thu, 12 Sep 2013 19:42:10 +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: n.goaziou@gmail.com Cc: emacs-orgmode@gnu.org Nicolas Goaziou writes: > Hello, > > Rasmus writes: > >> So the question is should it be a default package? >> >> I think not. E.g. tabu isn't loaded. Amsmath isn't loaded if you >> generate a matrix. > > I think the "tabu" case (and longtable...) is different from "rotating". > > No feature in Org requires "tabu" or "longtable" unless user explicitly > writes "tabu" or "longtable" somewhere in the buffer (i.e. > in :environment attribute). > > On the other hand, "rotating" or "wrapfig" may be needed without the > user knowing about it (e.g. when setting :float or :wrap attributes). > > Therefore, I think "wrapfig" and "rotating" belong to the same boat. > Either we require them both in default packages, or we do not require > any and add a footnote about it in the manual. I have no preference. > > On the same line, we could remove "longtable" from > `org-latex-default-packages-alist', if only to spare a few kittens. > > WDYT? It's tough. I've /never/ used neither wrapfig nor longtable. From a totally subjective point-of-view I'd certainly want to remove it! However, I wonder if this is the 'nicest' thing to do. Not everyone cares about LaTeX and not everyone cares to look into LaTeX details. Three possibilities are - Just Work=E1=B5=80=E1=B4=B9 :: Include a lot of stuff in `org-latex-default-packages-alist'. Self-proclaimed 'power users' can cut it down themselves in their config. It could slow down compilation, especially if policy is too lenient. (E.g. to support tikz files you need to load TiKZ; To support #+LANGUAGE you need to load babel). Perhaps we could add an optional variable org-latex-load-all-relevant-packages that loads all known packages that Org might depend on (assuming they are all compatible). People with i7 processors can then turn it on and we could include only basic package in the default package alist. - RTM :: Be better at documenting when a feature requires an additional package. This is probably my preferred solution. I think Org can mostly guess when a LaTeX export failed. If so, perhaps we could be give informative hints when something fails. E.g. if rotation is required and something fails, tell the user that the rotation package is needed. I have no idea how much work this would be. - Do nothing :: People who use the LaTeX exporter should be proficient enough with LaTeX and Org to solve their own problems. On Eric's original idea about auto-including packages: I don't like. I want to like it, but it's just too fragile. Some things depend on being loaded in the correct order (e.g. hyperref needs to be towards the end). Since people can load arbitrary code using #+LATEX_HEADER: \input{=C2=B7} it's bound to break! =E2=80=93Rasmus --=20 The Kids call him Billy the Saint