This release follows 2.0.8, the previous version on CRAN, so everything below describes what changed for someone upgrading from that version. Versions 3.0.0 and 3.0.1 existed on GitHub only and were never released.
apa.quarto.new(path) creates a folder containing a Quarto
document with a working APA header and a worked table, with the extension
already installed beside it, so the very first render produces a real APA
manuscript. apa.quarto.setup() installs or repairs the extension in a
project you already have, and is silent when the project's copy is already
correct. Running quarto add wjschne/apaquarto or
quarto update extension wjschne/apaquarto in one of these projects
silently reverts the extension to the stock, unpatched copy -- while
reporting [No Change] -- undoing the fixes; running apa.quarto.setup()
again puts the tested copy back.apa.quarto.pdf(), apa.quarto.docx(), apa.quarto.html() or
apa.quarto.revealjs(). The same analysis produces a PDF, a Word file, a
web page or a slide -- you change the document's format: line and the
matching call, not your code.tbl-cap or apa-note chunk option, or pass title = / note = to the
entry point; whichever is supplied wins over the generated version, and the
chunk option wins over the argument. apa_caption() and apa_note_text()
return apaTables' own wording for an author who would rather start from it.apa.quarto.template(), run in the R console, prints a ready-to-paste block
of code for a table you have already built. It derives the chunk label from
the name you typed -- apa.quarto.template(table3) labels the chunk
tbl-table3 -- so two templates pasted into one document do not collide.landscape argument for the cases where you want to
overrule the measurement: TRUE forces a rotated page, FALSE forbids one,
and the default measures. The chunk option #| apa-landscape: overrides
that argument and can also forbid one.font.size means the same thing on all four Quarto destinations: your size
exactly, applied to the table body. Where a destination cannot deliver the
size asked for, it says so in the rendered draft rather than silently
ignoring it. Word's range is 6 to 12 pt.geometry: margin=
setting are recognised. When the YAML carries something apaTables cannot
measure, the standard manuscript page is used and the knitted draft says so.apa.quarto.example() writes two ready-to-edit example documents
that demonstrate every table type, one table per page -- one document per
common destination: <name>-pdf.qmd renders to a PDF manuscript and
<name>-docx.qmd to a Word manuscript. Both use the apaquarto extension,
which the function installs alongside them. It returns their paths
invisibly as the named character vector c(pdf = , docx = ). (Using
apaTables tables in an ordinary Quarto document without apaquarto is
still supported and is covered in the vignette.)apa.quarto.revealjs() fits the
table to the slide. PowerPoint is not yet supported: a pptx render still
produces the table and warns you, so a deck is never handed out without your
knowing.documentmode: jou) is not supported for apaTables tables. A
two-column page cannot break a table across pages, so rows, columns and
whole notes can be missing with nothing reported. apaTables warns during the
render; use documentmode: man, or save the table with apa.save().table.number defaults to 1, so a
table built without one is Table 1; version 2.0.8 defaulted to NA and
printed the literal line "Table NA". Setting table.number = 0 -- or NA,
or NULL -- now means the table carries no number at all: none is shown at
the console or written to the Word file. When apa.save() writes several
tables to one file, a table left at the default is numbered by its position
in that file (Table 1, Table 2, Table 3), while a number you supplied is
kept. In an apaquarto document the value is ignored, because apaquarto
numbers the tables itself.apa.save() now writes Microsoft Word .docx and .html files (chosen by
file extension) via flextable/officer. The hand-rolled RTF engine has been
retired; a .doc/.rtf filename is written as .docx. apa.save() does
not write PDF; for a PDF table, use apa.quarto.pdf() inside an apaquarto /
Quarto document, which is what the error message says if you try.landscape argument, and it is a
three-way setting rather than an on/off switch: TRUE forces a
rotated page, FALSE forbids one, and the default -- NA -- measures the
table and decides. This changes existing behaviour: in 2.0.8
apa.cor.table(), apa.d.table() and apa.reg.table() defaulted to
landscape = TRUE, so those tables were rotated whether or not they needed
it. Nothing rotates now unless it does not fit. Pass landscape = TRUE for
the old orientation.apa.afex.table() is new: an APA ANOVA table from afex::aov_ez() output,
covering the repeated-measures and mixed designs apa.ezANOVA.table() used
to serve. Its table.title argument is honoured in every destination, and
"ANOVA Results" is the title when none is given..html output from apa.save() carries the same APA elements as the Word
file: the table's caption holds the "Table N" line and the italic title, and
the note sits below the table, with its italics and super/subscripts intact.
Table numbers are assigned exactly as for .docx, so the same tables saved
to both formats carry the same numbers.apa.ezANOVA.table() has been removed. The ez package it
depended on was archived on CRAN; use apa.afex.table() with
afex::aov_ez() output for repeated-measures and mixed designs instead.
ez is no longer listed in Suggests.apa.reg.boot.table() has been removed. Bootstrapped
regression tables are not part of this release; use apa.reg.table() for
the standard regression table.boot, tibble and MBESS are no longer
imported -- boot and tibble are unused, and MBESS is now suggested
rather than required, so it is needed only for the confidence intervals in
apa.d.table(). flextable and officer are new imports, used by
apa.save() to write the Word and HTML files.apa.aov.table() labelled the confidence-interval column with the
conf.level you supplied even when that value was out of range. Only .90
and .95 are supported and anything else is treated as .90, so
apa.aov.table(fit, conf.level = .85) computed a 90% interval and headed
the column "85% CI". The header, the console column name, and the interval
now always agree.MBESS::ci.smd() sets options(warn = -1) and does not restore
it, so after one apa.d.table() call every later warning -- from any
package -- was discarded; inside a Quarto render that included apaTables'
own too-wide-table warning. apaTables now saves and restores the option
around its MBESS calls.