44

Changing this tiny line of code \usepackage[usenames,dvipsnames]{color} to \usepackage[usenames,dvipsnames]{xcolor} fixed it, thanks @Ignasi


37

Since the algorithm and algorithm2e packages both define an algorithm environment, simply loading both with no extra precaution will cause a name clash like you experienced. However, you can still use both packages (if you really need both), but you need to pass the option algo2e to algorithm: \usepackage[algo2e]{algorithm2e} This option changes the name ...


33

The degree to which something is 'stable enough' will depend on your requirements. I'll answer by taking this situation in roughly the order of stability as I see it. If you want 'will never change again', then plain TeX is probably your best bet. Knuth does still fix bugs periodically, but most things are now likely to be regarded as 'features' rather than ...


32

Here's some reasons why I prefer babel over polyglossia for LuaLaTeX. babel's base is part of the LaTeX core packages actively developed, but polyglossia is only getting a few minor updates. babel's RTL and BiDi support is really nice for LuaLaTeX now. But polyglossia only supports RTL text with XeLaTeX. babel's new ini system for setting up languages is ...


23

There are 79 language definition files (gloss-XX) in the polyglossia folder. For a thorough comparison you would have to compare for every language how good the gloss-file is, if it works with lualatex, if babel provides definitions for this language too and how good it works with lualatex. And naturally you also need to check if babel knows a language which ...


20

egreg answered the specific issue but the general issue of avoiding package loading as mentioned in comments: \documentclass{article} \ProvidesFile{longtable.sty} \usepackage{longtable} \typeout{longtable is: \meaning\longtable} \stop produces longtable is: undefined showing that the package is not loaded, despite the \usepackage.


18

The first version of the pkgloader package has been released! Based on all of the useful comments above, and my own (re)search, I feel safe to answer my own individual questions as follows: Is there already another package that does (something like) this? No. The closest that has been suggested is scrlfile, and, frankly, it's not all that close. Also, ...


16

One can use David's suggestion, but etoolbox must be loaded anyway: \ProvidesFile{xpatch.sty} \usepackage{etoolbox} \usepackage{imakeidx} \usepackage{regexpatch} should do.


16

The siunitx code does it's best to 'guess' when content is 'purely textual', but it is best to give it some guidance. Here, the issue arises as siunitx picks up \multirow as 'before the number' but fails to grab all of the arguments in the same way. Adding a set of braces fixes this: \documentclass{article} \usepackage{mathpazo} \usepackage{array} \...


15

You don;t need to use the paralist package at all. Just use the starred variant of the environments from the enumitem package -- requires to add the inline option to the enumitem package: If you don't want the enumerat in the tabular to be on its own line you can tweak all the paramaters used for vertical spacing. Below I used [topsep=0pt,partopsep=0pt,...


15

Short answer: Run texdoc l2tabuen in the OS prompt. Long answer: Although may be are not officially deprecated LaTeX2e commands, as David said, novices often fall in old documentation, examples and templates, taking obsolete or not well understood practices, as writing the non-deprecated \'{a} when with minimal settings in the preamble and a suitable ...


14

well you answered this really: \mathdesign changes the definition of \hrulefill it probably shouldn't. This restores the definition. \documentclass{memoir} \let\xhrf\hrulefill \usepackage[charter]{mathdesign} \let\hrulefill\xhrf \renewcommand*{\chapterheadstart}{\begingroup \vspace*{\beforechapskip}% \begin{adjustwidth}{}{-\chapindent}% \hrulefill ...


14

Is this a problem with the native \fax command, or a problem with \fax existing in both of the the two libraries? The solution below assumes the latter, but can be modified for the former. This pattern might help you: \usepackage{savesym} \usepackage{moderncv} \savesymbol{fax} \usepackage{marvosym} \restoresymbol{MARV}{fax} It should restore the regular \...


14

Some packages behave differently, or adapt themselves somehow, if babel has already been loaded or not: for instance biblatex, csquotes, datetime, fmtcount, glossaries, listings microtype, natbib, tikz, to name the most used. So it's best to load babel as soon as possible. I tend to group package calls by category. First the ones that directly involve the ...


14

No, there is no general procedure. One has to look into the package code and some knowledge of the terminal can be helpful; but one can always open the package file with an editor. Let's see for \WritingHand that the Comprehensive List tells you it is from marvosym.sty. First of all, we need to identify how the font is known to LaTeX. In these cases, ...


14

The cause of the problem The redefinition of ^ and _ that gb4e does has nothing to do with this problem, because (as @cfr notes) it isn't solved by \noautomath. The problem is some code in the package that checks for the presence of a very old LaTeX kernel. Changes to the current LaTeX kernel that happened a few years ago have caused this code to do the ...


13

A lot of hyperref stuff is loaded a the start of the document. Our code compile on my system if I make this change to it \AtBeginDocument{\let\textlabel\label}% Then it seem to get the proper textual \label stored.


13

I don't think that "interfere" and "overrule" are helpful terms in this context. The hyperref package needs to do a lot of things that were never anticipated in the original design of TeX, the later LaTeX format, or many popular packages that predate hyperref (often by many years). It is therefore generally necessary to load hyperref last -- with a few well-...


12

todonotes As mentioned in \marginpar and \begin{align} \marginpar that is used by todonotes doesn't work inside align, but \marginnote from the marginnote package does. Hence, you could redefine a command from todonotes to use marginnote, and it works. Three compilation passes is needed. \documentclass{report} \usepackage{amssymb,amsmath} \usepackage{...


12

Form the file ioplatexguidelines.pdf: Since mhchem loads and, more importantly, requires amsmath, you have two options: stick to iopart.cls and don't use mhchem but another package offering a similar functionality, or change your document class and use mhchem; as the guideline mentions this is not a problem since they will accept your document written using ...


12

I expect LuaTeX to be able to implement plain TeX, that has thing backwards really, luatex implements a more or less Tex compatible engine, it does not implement plain tex, it is compatible enough that plain.tex may be processed by luatex instead of tex. there are some places where there are documented differences in behaviour (notably around hyphenation)...


12

I expect LuaTeX to be able to implement plain TeX, while natively allowing UTF-8 characters and arbitrary font. Is it so? It is possible to natively use utf-8 characters with both xetex and luatex irrespective of the macro package. Both LaTeX and ConTeXt (with xetex or luatex engines) handle this seamlessly. It is also possible to use utf8 characters with ...


11

Just to remove this from the unanswered questions: Is there a complete list of the incompatibilites that nath has and how to solve them? No, the list would be quite large, probably. Is there any chance that I can use nath without having to code loads of workarounds or drop other useful packages? No, the nath package does many sorts of evil tricks ...


11

The above instruction worked for me only after putting \let\proof\relax and \let\endproof\relax AFTER the \usepackage{amsthm}


11

The problem is in the fact that autonum uses etextools. Indeed, the error is reproducible also with \documentclass{article} \usepackage[utf8]{inputenc} \usepackage[backend=biber]{biblatex} \usepackage{etextools} \begin{document} \end{document} The problem is that etextools redefines \forlistloop in a way that is incompatible with what biblatex expects. ...


11

The problem is that refcheck isn't really compatible with hyperref, because refcheck doesn't respect hyperref's starred version of the \ref macro (this could be considered a bug with refcheck, and should probably be reported to the package maintainer). When you do \subref{fig:A_A_A} it expands to something like this: \hyperref[fig:A_A_A]{% \begingroup ...


10

stackengine uses the command \roman in a csname (which is simply not a good idea: \roman is for printing and not for the generation of command names) and this breaks as spanish redefines \@roman. As a workaround you can disable the redefinition but imho stackengine should be corrected. \documentclass{memoir} \usepackage{stackengine} \makeatletter \let\ori@...


10

The class llncs redefines \vec unless the orivec option is used. \documentclass[orivec]{llncs} \usepackage{MnSymbol} \begin{document} Hello! $\vec{x}$ \end{document} Usual caveat: using MnSymbol without setting the main font to Minion is not really typographically sound, as MnSymbol changes all symbols to a style that's rather different from other fonts' ...


10

The problem is that the syntax of atan2, the two-argument variant of arctangent, changed between TikZ 2.10 and TikZ 3.0. The effect of this change of syntax on Toscho's code makes the trajectory of the orbiting body (an asteroid?) become completely unstable very quickly: the asteroid quickly "shoots off the page". As as a result, the dimension of the ...


Only top voted, non community-wiki answers of a minimum length are eligible