0

I had a problem with subfig changing caption formatting when using the Springer svjour3 style. The answer (using subfig changes fonts in captions of figures) was to tell subfig not to include the caption package. Now I'm wondering if any of the other packages I've included (mainly to do with helping layout -multirow,adjustbox etc) are interfering with the style in an undesirable way.

This got me thinking - is there a general way to tell which parts of any particular documentclass style have been changed or if something has been inadvertently redefined? I don't want to, for example, include a package that lets me highlight a section and have it somehow redefine section headers.

  • 1
    It is not clear what you are asking. Packages are generally loaded because they change the style - why else would you load one? If you are writing with a prescribed class or package from a publisher or conference, you should not change the style of the document in ways which are not approved in the documentation or comments in the code. For example, you shouldn't format sub-figures using subfig (or anything else) unless this is an 'allowed' package. Of course, it depends a bit on what the class/package provides. But, generally, if in doubt, don't load it. – cfr Aug 27 '15 at 2:04
  • 1
    @cfr Most the packages I use are either related to maths, amsmath etc, or allow me to layout things properly, multicol and adjustbox for example. subfig allows me to put captions on subfigures, how else would I do it. From what I can tell Springer style guide doesn't say anything about approved packages. I don't have any packages deliberately included to change the document style. So that is the point of the question: to find out if a package is inadvertently changing the style to make sure my document is styled correctly. – geometrikal Aug 27 '15 at 2:20
  • 1
    But: (1) we have no idea which packages you are asking about, and (2) multicol, subfig etc. are definitely changing the style. It is highly unlikely that the journal will want something using multicol, for example. They will want a two-column, single-column or mixed layout as specified by them. These are exactly the kinds of changes they are likely to want you not to make. And (3) we don't have access to the class/package you are using svjour3. – cfr Aug 27 '15 at 2:26
  • 1
    multicol allows you to combine two table cells, adjustbox allows you to vertically center text in a cell, subfig lets you add a caption under a subfigure. I doubt these are specifically defined in the document style. Anyway, that is not the point of the question, how can i tell IN GENERAL what a package has over-riden or redefined from a style (cls?) file. Is there some kind of compiler flag etc? – geometrikal Aug 27 '15 at 3:02
  • 1
    In general you can not tell. – David Carlisle Aug 27 '15 at 9:28
3

In general you can not tell.

multicol package is not about table cells it is about multi-column pages and so changes the output routine so changes the code path (if not the result) of every page in a document.

adjustbox can redefine \includegraphics so change the code path of every image inclusion in a document even if its facilities are not used.

As you say, subfig redefines caption handling, so by design all three of those are making global changes to document commands.

In general any package can redefine any TeX command (and many do) amsmath for example changes \everymath so changes every command that uses math, which may be more than you expect, tabular, \parbox, \footnote... Typically the different code path does not affect the output of these commands, but the difference shows up if you trace.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.