I'm trying to produce a manuscript for submission. I have tables that are fairly long and need to be single spaced. The apa6 class is double-spacing the entire document including the tables. I need double-spaced body text and single-spaced tables. My previous version of the document, before I tried apa6, invoked the endfloat package and the spacing was what I needed. As an aside, the apa6 manual suggests tables can be either single or double spaced. Can I request this format from the class?

  • Hi Bob, welcome to TeX.sx. If you include a minimal working example, i.e. a short document with a table and perhaps some dummy text with the lipsum package, other members of the community will be able to copy, paste and experiment with your code. – qubyte Feb 10 '12 at 9:55

apa6 does not a provide a float-specific spacing as a document class option (see section 3.1 Class Options of the apa6 documentation, p 2). However, it loads the etoolbox package by default which provides \AtBeginEnvironment{<env>}{<stuff>} that hooks into and adds <stuff> at \begin{<env>}. So, you can use

\usepackage{setspace}% http://ctan.org/pkg/setspace
\AtBeginEnvironment{tabular}{\singlespacing}% Single spacing in tabular environment

Although it is not necessary to load use the setspace interface for \singlespacing in this case, it is just for convenience. If you're not allowed to use setspace, you could also just use


enter image description here

Here is a minimal example using the former setspace adjustment:

\documentclass[man,floatsintext]{apa6}% http://ctan.org/pkg/apa6
\shorttitle{Some title}% Dummy title
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{setspace}% http://ctan.org/pkg/setspace
% Already loaded by the apa6 documentclass...
% \usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\AtBeginEnvironment{tabular}{\singlespacing}% Single spacing in tabular environment
    One & Two & Three & Four & Five & Six & Seven \\
    100 & 200 & 300 & 400 & 500 & 600 & 700 \\
    100 & 200 & 300 & 400 & 500 & 600 & 700 \\
    100 & 200 & 300 & 400 & 500 & 600 & 700 \\
    100 & 200 & 300 & 400 & 500 & 600 & 700 \\
    100 & 200 & 300 & 400 & 500 & 600 & 700 \\
  \caption{This is a table.}

lipsum was merely used to create dummy text Lorem Ipsum style.

  • Thanks a lot. I tried the SETSPACE command but got an error: ! Undefined control sequence.\@begin@tabular@hook ->\singlespacing \begin{tabular}. The second solution worked fine. I'm not yet very familiar with Latex programming, but I hope to learn. I deduce that your code is altering the Table class within the document. Does @currsize refer to an argument to the table class? --- Just curious. Thanks for the suggestions. – Bob P Feb 16 '12 at 17:43
  • @BobP: You should include the setspace package (via \usepackage{setspace}) for you to be able to use \singlespacing). The \@currsize macro is something that sets the current font size. If you look at setspace.sty, you'll see that I extracted the equivalent of \singlespacing from that file as a replacement. If this solved your problem, consider up-voting and/or accepting (see How do you accept an answer?). – Werner Feb 16 '12 at 17:48
  • I didn't realize that setspace was independent of etoolbox. Thanks a lot for the help. – Bob P Feb 16 '12 at 19:02

I don't know the apa6 class and its options, but you can do it manually with the following code. I suggest to create an environment which creates the table and formats the font, spacing and so on. These changes effects only the environment/table and switched back after leaving the environment.


    % other formating stuff
    Column 1 &Column 2 &Column 3\\



  • The apa6 documentation specifically mentions not loading longtable explicitly, but rather as a class option using \documentclass[longtable]{apa6}. – Werner Feb 16 '12 at 3:27

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.