2

In December of last year, the ACM published an overhaul of the LaTeX document template:

2017 ACM Master Article Template

so, I'm trying to migrate a conference paper of mine from "SIG-ALTERNATE.CLS - VERSION 2.8" to this new template, and even though I seem to be issuing the correct documentclass command:

\documentclass[sigconf]{include/acmart}

just like in the sample conference paper, and yet - I get:

! Package xkeyval Error: `format' undefined in families `include/acmart.cls'.

...

! Package xkeyval Error: `screen' undefined in families `include/acmart.cls'.

and so on. Why is that?

Note: If this isn't a well-known/easy-to-identify issue I'll try to extract an M(not)WE from the paper.

einpoklum
  • 12,311

1 Answers1

4

Apparently the document class file cannot be placed and loaded from a subdirectory. So if I write:

\documentclass[sigconf]{include/acmart}

I get the errors, but if I pull it up to the same directory as the .tex file, and write:

\documentclass[sigconf]{acmart}

then it's fine. Phhh, annoying. With the olders ACM document class (sig-alternatate v2.8) it used to be possible to load the class for a subdirectory this way.

einpoklum
  • 12,311
  • it is always wrong to put a filepath into \documentclass just as it is wrong to use \documentclass{/usr/local/texlive/2016/texmf-dist/tex/latex/base/article.cls} rather than \documentclass{article} you don't have to put the class file in the same directory as the document, just anywhere in the input path. – David Carlisle Apr 11 '17 at 21:08
  • @DavidCarlisle: (1) I don't accept the analogy (2) Don't see what's wrong with either (3) Can I add relative entries to the input path from within the document? I've read this answer of yours, but I think it's unreasonable to require setting environment variables for that. – einpoklum Apr 11 '17 at 21:13
  • 2
    It's not an analogy it is exactly the same issue. by design \documentclass takes a class name not a filename or filepath, if (as recommended) the class uses \ProvidesClass{classname} then you would get a warning if the argument to \documentclass is not identical. there is no need to set additional environment variables tex distributions (almost?) always set a default directory for local files in the input path such as ~/texmf/tex/latex – David Carlisle Apr 11 '17 at 21:25