emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Error with \usepackage{amsmath} due to \iint already being defined
@ 2013-05-24 17:04 John Hendy
  2013-05-24 17:22 ` Vincent Beffara
  0 siblings, 1 reply; 8+ messages in thread
From: John Hendy @ 2013-05-24 17:04 UTC (permalink / raw)
  To: emacs-orgmode

I tracked down an error about \iint already being defined to a clash
between wasysym and amsmath. I brought in amsmath, but it appears that
wasysym is an Org LaTeX export default package.

What is it's purpose? Is there a better way round this than just
commenting out the wasysym package in the .tex file manually?

I forget exactly what I use from amsmath, but I do use it a reasonable
amount through my documents so I keep #+latex_header:
\usepackage{amsmath} in my setupfile.

This doesn't appear to be a major problem with respect to export, but
it does trigger [LaTeX error] in the minibuffer, so I have to check to
see if it was something to care about or not.


John

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Error with \usepackage{amsmath} due to \iint already being defined
  2013-05-24 17:04 Error with \usepackage{amsmath} due to \iint already being defined John Hendy
@ 2013-05-24 17:22 ` Vincent Beffara
  2013-05-24 17:35   ` John Hendy
  0 siblings, 1 reply; 8+ messages in thread
From: Vincent Beffara @ 2013-05-24 17:22 UTC (permalink / raw)
  To: emacs-orgmode


Hi,

> I tracked down an error about \iint already being defined to a clash
> between wasysym and amsmath. I brought in amsmath, but it appears that
> wasysym is an Org LaTeX export default package.

Just put this in the LaTeX header before you load amsmath:

\usepackage{savesym}
\savesymbol{iint}
\savesymbol{iiint}

HTH,
        /v

-- 
Vincent Beffara

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Error with \usepackage{amsmath} due to \iint already being defined
  2013-05-24 17:22 ` Vincent Beffara
@ 2013-05-24 17:35   ` John Hendy
  2013-05-24 18:26     ` Marcin Borkowski
  2013-05-24 18:38     ` Nick Dokos
  0 siblings, 2 replies; 8+ messages in thread
From: John Hendy @ 2013-05-24 17:35 UTC (permalink / raw)
  To: Vincent Beffara; +Cc: emacs-orgmode

On Fri, May 24, 2013 at 12:22 PM, Vincent Beffara <vbeffara@ens-lyon.fr> wrote:
>
> Hi,
>
>> I tracked down an error about \iint already being defined to a clash
>> between wasysym and amsmath. I brought in amsmath, but it appears that
>> wasysym is an Org LaTeX export default package.
>
> Just put this in the LaTeX header before you load amsmath:
>
> \usepackage{savesym}
> \savesymbol{iint}
> \savesymbol{iiint}
>

Does this savewasysym's definition if iint instead of amsmath's? In
the case that I actually use \iint (super unlikely, but not
impossible), which package's is preferred?


Thanks,
John

> HTH,
>         /v
>
> --
> Vincent Beffara
>
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Error with \usepackage{amsmath} due to \iint already being defined
  2013-05-24 17:35   ` John Hendy
@ 2013-05-24 18:26     ` Marcin Borkowski
  2013-05-24 18:38     ` Nick Dokos
  1 sibling, 0 replies; 8+ messages in thread
From: Marcin Borkowski @ 2013-05-24 18:26 UTC (permalink / raw)
  To: emacs-orgmode

Dnia 2013-05-24, o godz. 12:35:59
John Hendy <jw.hendy@gmail.com> napisał(a):

> On Fri, May 24, 2013 at 12:22 PM, Vincent Beffara
> <vbeffara@ens-lyon.fr> wrote:
> >
> > Hi,
> >
> >> I tracked down an error about \iint already being defined to a
> >> clash between wasysym and amsmath. I brought in amsmath, but it
> >> appears that wasysym is an Org LaTeX export default package.
> >
> > Just put this in the LaTeX header before you load amsmath:
> >
> > \usepackage{savesym}
> > \savesymbol{iint}
> > \savesymbol{iiint}
> >
> 
> Does this savewasysym's definition if iint instead of amsmath's? In
> the case that I actually use \iint (super unlikely, but not
> impossible), which package's is preferred?

See http://www.ctan.org/pkg/savesym - it saves wasysym's \iint
as\origiint.  (BTW: nice package this savesym: not complicated, but
handy.  Thanks for the pointer, Vincent!)

And you can always use a "poor man's savesym", that is,
\let\iint\relax

> Thanks,
> John

Regards,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Error with \usepackage{amsmath} due to \iint already being defined
  2013-05-24 17:35   ` John Hendy
  2013-05-24 18:26     ` Marcin Borkowski
@ 2013-05-24 18:38     ` Nick Dokos
  2013-05-24 19:01       ` Marcin Borkowski
  2013-05-25 12:59       ` Suvayu Ali
  1 sibling, 2 replies; 8+ messages in thread
From: Nick Dokos @ 2013-05-24 18:38 UTC (permalink / raw)
  To: emacs-orgmode

John Hendy <jw.hendy@gmail.com> writes:

> On Fri, May 24, 2013 at 12:22 PM, Vincent Beffara <vbeffara@ens-lyon.fr> wrote:
>>
>> Hi,
>>
>>> I tracked down an error about \iint already being defined to a clash
>>> between wasysym and amsmath. I brought in amsmath, but it appears that
>>> wasysym is an Org LaTeX export default package.
>>
>> Just put this in the LaTeX header before you load amsmath:
>>
>> \usepackage{savesym}
>> \savesymbol{iint}
>> \savesymbol{iiint}
>>
>
> Does this savewasysym's definition if iint instead of amsmath's? In
> the case that I actually use \iint (super unlikely, but not
> impossible), which package's is preferred?
>

The wasysym docs say that there should be no conflict, but that seems
to be wrong: ISTR multiple instances of this conflict.

If you prefer the amsmath integral signs over the wasysym ones, then
probably the best thing to do is to load wasysym with the
``nointegrals'' option:

   \usepackage[nointegrals]{wasysym}

This can be done permanently by customizing
org-latex-default-packages-alist and adding the option to the wasysym
entry.

-- 
Nick

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Error with \usepackage{amsmath} due to \iint already being defined
  2013-05-24 18:38     ` Nick Dokos
@ 2013-05-24 19:01       ` Marcin Borkowski
  2013-05-24 19:39         ` Nicolas Goaziou
  2013-05-25 12:59       ` Suvayu Ali
  1 sibling, 1 reply; 8+ messages in thread
From: Marcin Borkowski @ 2013-05-24 19:01 UTC (permalink / raw)
  To: emacs-orgmode

Dnia 2013-05-24, o godz. 14:38:42
Nick Dokos <ndokos@gmail.com> napisał(a):

> John Hendy <jw.hendy@gmail.com> writes:
> 
> > On Fri, May 24, 2013 at 12:22 PM, Vincent Beffara
> > <vbeffara@ens-lyon.fr> wrote:
> >>
> >> Hi,
> >>
> >>> I tracked down an error about \iint already being defined to a
> >>> clash between wasysym and amsmath. I brought in amsmath, but it
> >>> appears that wasysym is an Org LaTeX export default package.
> >>
> >> Just put this in the LaTeX header before you load amsmath:
> >>
> >> \usepackage{savesym}
> >> \savesymbol{iint}
> >> \savesymbol{iiint}
> >>
> >
> > Does this savewasysym's definition if iint instead of amsmath's? In
> > the case that I actually use \iint (super unlikely, but not
> > impossible), which package's is preferred?
> >
> 
> The wasysym docs say that there should be no conflict, but that seems
> to be wrong: ISTR multiple instances of this conflict.
> 
> If you prefer the amsmath integral signs over the wasysym ones, then
> probably the best thing to do is to load wasysym with the
> ``nointegrals'' option:
> 
>    \usepackage[nointegrals]{wasysym}
> 
> This can be done permanently by customizing
> org-latex-default-packages-alist and adding the option to the wasysym
> entry.

Nick: good to know about org-latex-default-packages-alist!

Carsten/Bastien (I forward to both of you, since I don't know who is
to gitblame for that:P): looking at its docstring, I guess there are
two minor bugs here: first, it is not technically an alist, but a
"normal" list, second, apparently the docstring doesn't mention that an
element of this list might be a string (inserted then verbatim into
preamble) and not a list.

Also, taking into account the number of problems with wasysym's
conflicts, I'd suggest dropping it (and maybe several other packages)
from it.

Further, this seems to be a bit of work - I can't promise
anything /now/ - but I'll try to look into it and check which package
is needed for which entity; loading a big package for a few commands
might be an overkill.  Would it be possible for the LaTeX exporter to
include some packages only if they are really needed, i.e., if some
entity is actually used in the document?  This would both speed up
compilation time and (maybe more importantly) reduce the risk of such
conflicts. (Not to mention the inelegance of a large preamble
consisting of loading unnecessary packages - as a person responsible
for converting LaTeX files sent to a journal by people into something
usable/compilable/good-looking, I can say that one of the first things
I usually do is to delete /all \usepackage's/ from the preamble, and
see if it compiles correctly.  In more than 50% cases, it does...

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Adam Mickiewicz University

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Error with \usepackage{amsmath} due to \iint already being defined
  2013-05-24 19:01       ` Marcin Borkowski
@ 2013-05-24 19:39         ` Nicolas Goaziou
  0 siblings, 0 replies; 8+ messages in thread
From: Nicolas Goaziou @ 2013-05-24 19:39 UTC (permalink / raw)
  To: Marcin Borkowski; +Cc: emacs-orgmode

Hello,

Marcin Borkowski <mbork@wmi.amu.edu.pl> writes:

> Also, taking into account the number of problems with wasysym's
> conflicts, I'd suggest dropping it (and maybe several other packages)
> from it.

That would break, among other things, previewing of LaTeX snippets. On
the other hand, it's probably safe to remove "longtable" package since
we don't provide other table packages supported by the latex export
back-end.

Also, we may pass the "nointegrals" option by default to wasysym.

> Further, this seems to be a bit of work - I can't promise
> anything /now/ - but I'll try to look into it and check which package
> is needed for which entity; loading a big package for a few commands
> might be an overkill.

IIRC it has been done already. The document is somewhere in Worg.

> Would it be possible for the LaTeX exporter to include some packages
> only if they are really needed, i.e., if some entity is actually used
> in the document? This would both speed up compilation time and (maybe
> more importantly) reduce the risk of such conflicts. (Not to mention
> the inelegance of a large preamble consisting of loading unnecessary
> packages - as a person responsible for converting LaTeX files sent to
> a journal by people into something usable/compilable/good-looking,
> I can say that one of the first things I usually do is to delete /all
> \usepackage's/ from the preamble, and see if it compiles correctly. In
> more than 50% cases, it does...

It has been suggested on this list already. Aaron Ecay even provided
a patch. I think this is calling for problems as it cannot be totally
reliable (and the time necessary to do this would probably defeat the
compilation gain).

On the other hand, you can define your own optimized preamble with
`org-latex-classes' while the default setup still provides a (somewhat)
smooth experience for the casual LaTeX user.


Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Error with \usepackage{amsmath} due to \iint already being defined
  2013-05-24 18:38     ` Nick Dokos
  2013-05-24 19:01       ` Marcin Borkowski
@ 2013-05-25 12:59       ` Suvayu Ali
  1 sibling, 0 replies; 8+ messages in thread
From: Suvayu Ali @ 2013-05-25 12:59 UTC (permalink / raw)
  To: emacs-orgmode

On Fri, May 24, 2013 at 02:38:42PM -0400, Nick Dokos wrote:
> 
> The wasysym docs say that there should be no conflict, but that seems
> to be wrong: ISTR multiple instances of this conflict.
> 
> If you prefer the amsmath integral signs over the wasysym ones, then
> probably the best thing to do is to load wasysym with the
> ``nointegrals'' option:
> 
>    \usepackage[nointegrals]{wasysym}
> 
> This can be done permanently by customizing
> org-latex-default-packages-alist and adding the option to the wasysym
> entry.

I have been using the following for quite a few years.

  ;;; LaTeX export customisations
  ;; hack for error free latex export with amsmath
  ;; remove when defaults are changed in the future
  (setcar (rassoc '("wasysym" t) org-latex-default-packages-alist)
  	"nointegrals")
  (add-to-list 'org-latex-packages-alist '("" "amsmath" t))

Cheers,

-- 
Suvayu

Open source is the future. It sets us free.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-05-25 12:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-24 17:04 Error with \usepackage{amsmath} due to \iint already being defined John Hendy
2013-05-24 17:22 ` Vincent Beffara
2013-05-24 17:35   ` John Hendy
2013-05-24 18:26     ` Marcin Borkowski
2013-05-24 18:38     ` Nick Dokos
2013-05-24 19:01       ` Marcin Borkowski
2013-05-24 19:39         ` Nicolas Goaziou
2013-05-25 12:59       ` Suvayu Ali

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).