视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
tables-and-figures【文档与办公】Use when generating a LaTeX results table, creating a figure for a paper, formatting descriptive statistics, preparing regression output for publication, or producing vector-quality graphics. Enforces booktabs, threeparttable, vector PDFs, and script-generated output.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
This skill produces publication-quality tables and figures that are regenerated by scripts, not hand-edited. Tables use booktabs for professional rules and threeparttable for integrated notes. Figures are vector PDFs — PNG and JPG are forbidden in the final paper. Every table and figure comes from a script under code/ and is included in the paper via \input{} or \includegraphics{}.
Generate every table and figure from a script in code/ that reads from data/processed/ and writes to output/tables/ or output/figures/. Never hand-edit the output file.
Use booktabs rules in tables. \toprule, \midrule, \bottomrule. Never \hline. Never vertical bars.
Wrap every table in threeparttable with a notes block documenting: standard error type, significance convention, sample, data source.
Save figures as vector PDF. Use ggplot2 with ggsave(..., device = cairo_pdf) in R, or matplotlib.pyplot.savefig(..., format='pdf') in Python. Raster formats (PNG, JPG) are forbidden in the final paper.
Include in the paper with \input{} or \includegraphics{}. Never paste numbers or copy images.
Use the naming convention:
tab_<purpose>.tex — tab_descriptives.tex, tab_main_results.tex, tab_robustness.texfig_<purpose>.pdf — fig_event_study.pdf, fig_trends.pdfTable notes and figure captions follow the user's paper language. The file names and script comments stay in English; the user-facing text in the notes and captions follows the paper's language setting.
No table may overflow the text width. After generating a table, verify it fits within \linewidth. If it overflows:
@{} column separators or \setlength{\tabcolsep}{3pt}.\resizebox{\linewidth}{!}{...} — but only if font remains readable.pdflscape package (\begin{landscape}...\end{landscape}). Add \usepackage{pdflscape} to the preamble.
Never let a table bleed into the margin. After compilation, check for Overfull \hbox warnings on table lines and fix them.Standard regression results table:
\begin{table}[htbp]
\centering
\begin{threeparttable}
\caption{Main Results}
\label{tab:main}
\begin{tabular}{lcc}
\toprule
& (1) & (2) \\
& OLS & FE \\
\midrule
Treatment & 0.123*** & 0.098** \\
& (0.034) & (0.041) \\
\midrule
N & 10{,}234 & 10{,}234 \\
R$^2$ & 0.42 & 0.58 \\
\bottomrule
\end{tabular}
\begin{tablenotes}[flushleft]
\footnotesize
\item \textit{Notes:} Standard errors clustered at the state level in parentheses. * plt;$0.10, ** plt;$0.05, *** plt;$0.01. Sample covers 2010--2020. Data: IBGE PNADC.
\end{tablenotes}
\end{threeparttable}
\end{table}
Required packages in paper preamble:
\usepackage{booktabs}
\usepackage{threeparttable}
Default: * p<0.10, ** p<0.05, *** p<0.01 (economics and finance convention).
Alternative: * p<0.05, ** p<0.01, *** p<0.001 (common in psychology and medicine).
Detect the convention by reading CLAUDE.superpapers.md from the current working directory, or walking up parent directories until found, and using the significance_convention field. If the file is absent or the field is unset, ask the user — do not silently default. Always document the convention in the table note; do not assume the reader knows which convention is used.
theme_minimal() or theme_classic() in ggplot2, with adjustments for print. Avoid grey backgrounds from ggplot2's default theme.viridis, RColorBrewer Dark2 or Set1). For B&W print compatibility, use dash patterns or shapes rather than relying on color alone.Unemployment rate (%), Year, Real GDP (log)).ggsave("output/figures/fig_name.pdf", width = W, height = H, device = cairo_pdf).Example figure code (R/ggplot2):
library(ggplot2)
p <- ggplot(data, aes(x = year, y = unemployment, color = region)) +
geom_line(linewidth = 0.8) +
scale_color_viridis_d(option = "D") +
labs(x = "Year", y = "Unemployment rate (%)", color = NULL) +
theme_minimal(base_size = 11) +
theme(
legend.position = "bottom",
panel.grid.minor = element_blank()
)
ggsave(
"output/figures/fig_unemployment.pdf",
plot = p,
width = 6.5, height = 4,
device = cairo_pdf
)
\hline instead of booktabs rules|).tex table files\resizebox as a first resort instead of redesigning column layout or reducing paddingcode/output/tables/ or output/figures/booktabs and threeparttable