latex-conference-template-organizer
LaTeX Conference Template Organizer
Overview
Transform messy conference LaTeX template .zip files into clean, Overleaf-ready submission templates. Official conference templates often contain excessive example content, instructional comments, and disorganized file structures. This skill converts them into templates ready for writing.
Working Mode
Analyze-then-confirm mode: First analyze issues and present them to the user, then execute cleanup after confirmation.
Complete Workflow
Receive .zip file
↓
1. Extract and analyze file structure
↓
2. Identify main file and dependencies
↓
3. Diagnose issues (present to user)
↓
4. Ask for conference info (link/name)
↓
5. Wait for user confirmation of cleanup plan
↓
6. Execute cleanup, create output directory
↓
7. Generate README (with official website info)
↓
8. Output complete
Step 1: Extract and Analyze
Extract Files
Extract .zip to a temporary directory:
unzip -q template.zip -d /tmp/latex-template-temp
cd /tmp/latex-template-temp
find . -type f -name "*.tex" -o -name "*.sty" -o -name "*.cls" -o -name "*.bib"
Identify File Types
| File Type | Purpose |
|---|---|
.tex |
LaTeX source files |
.sty / .cls |
Style files |
.bib |
Bibliography database |
.pdf / .png / .jpg |
Image files |
Identify Main File
Common main file names:
main.texpaper.texdocument.texsample-sigconf.textemplate.tex
Identification methods:
- Check if filename matches common patterns
- Search for files containing
\documentclass - If multiple candidates exist, ask user to confirm
# Find files containing \documentclass
grep -l "\\documentclass" *.tex
Step 2: Diagnose Issues
Present discovered issues to the user:
Disorganized File Structure
- Multi-level directory nesting
- .tex files scattered across directories
- Unclear which file is the main file
Redundant Content
Detect the following patterns and flag for cleanup:
- Filenames containing:
sample,example,demo,test - Comments containing:
sample,example,template,delete this
Dependency Issues
- Referenced
.sty/.clsfiles missing - Image/table reference paths incorrect
Step 3: Ask for Conference Information
Ask the user for the following information:
Please provide the following information (optional):
1. **Conference submission link** (recommended): Used to extract official submission requirements
2. **Conference name**: If no link available
3. **Other special requirements**: Such as page limits, anonymity requirements, etc.
Step 4: Present Cleanup Plan
Present the cleanup plan to the user and wait for confirmation:
## Cleanup Plan
### Issues Found
- [List diagnosed issues]
### Cleanup Approach
1. Main file: main.tex (clean example content)
2. Section separation: text/ directory
3. Resource directories: figures/, tables/, styles/
### Output Structure
[Show output directory structure]
Confirm execution? [Y/n]
Step 5: Execute Cleanup
Create Output Directory Structure
mkdir -p output/{text,figures,tables,styles}
Clean Up Main File (main.tex)
Keep:
\documentclassdeclaration- Required package imports
- Core configuration (e.g., anonymous mode)
Remove:
- Example section content
- Verbose instructional comments
- Example author/title information
Add:
- Import sections with
\input{text/XX-section}
Example main.tex structure (ACM template standard format):
\documentclass[...]{...} % Keep original template document class
% Required packages (keep original template package declarations)
%% ============================================================================
%% Preamble: Before \begin{document}
%% ============================================================================
%% Title and author information
\title{Your Paper Title}
\author{Author Name}
\affiliation{...}
%% Abstract (in preamble, before \maketitle)
\begin{abstract}
% TODO: Write abstract content
\end{abstract}
%% CCS Concepts and Keywords (in preamble)
\begin{CCSXML}
<ccs2012>
<concept>
<concept_id>10010405.10010444.10010447</concept_id>
<concept_desc>Applied computing~...</concept_desc>
<concept_significance>500</concept_significance>
</concept>
</ccs2012>
\end{CCSXML}
\ccsdesc[500]{Applied computing~...}
\keywords{keyword1, keyword2, keyword3}
%% ============================================================================
%% Document Body
%% ============================================================================
\begin{document}
\maketitle
%% Section content (imported from text/)
\input{text/01-introduction}
\input{text/02-related-work}
\input{text/03-method}
\input{text/04-experiments}
\input{text/05-conclusion}
\bibliographystyle{...}
\bibliography{references}
\end{document}
KDD 2026 Anonymous Submission Special Configuration
For KDD 2026 (using ACM acmart template), add the nonacm option to the document class to remove footnotes:
%% ============================================================================
%% Document Class - KDD 2026 Anonymous Submission Configuration
%% Submission version: \documentclass[sigconf,anonymous,review,nonacm]{acmart}
%% Camera-ready: \documentclass[sigconf]{acmart}
%% ============================================================================
\documentclass[sigconf,anonymous,review,nonacm]{acmart}
%% ============================================================================
%% Disable ACM metadata (submission version only)
%% ============================================================================
\settopmatter{printacmref=false} % Disable ACM Reference Format
\setcopyright{none} % Disable copyright notice
\acmConference[]{}{}{} % Clear conference info (removes footnote)
\acmYear{} % Clear year
\acmISBN{} % Clear ISBN
\acmDOI{} % Clear DOI
%% Content to restore for camera-ready version:
%% \acmConference[KDD '26]{Proceedings of the 30th ACM SIGKDD Conference on Knowledge Discovery and Data Mining}{August 09--13, 2026}{Jeju, Korea}
%% \acmISBN{978-1-4503-XXXX-X/26/08}
%% \acmDOI{10.1145/nnnnnnn.nnnnnnn}
Create Section Files (text/)
Create independent .tex files for each section, containing only section content without \begin{document} etc.:
text/01-introduction.tex:
\section{Introduction}
% TODO: Write introduction content
text/02-related-work.tex:
\section{Related Work}
% TODO: Write related work content
text/03-method.tex:
\section{Method}
% TODO: Write method content
text/04-experiments.tex:
\section{Experiments}
% TODO: Write experiments content
text/05-conclusion.tex:
\section{Conclusion}
% TODO: Write conclusion content
Important notes:
- Abstract should be placed in main.tex preamble (before
\begin{document}), after\maketitle - Files in text/ contain only sections, starting with
\section{...} - Do not include
\begin{document}or other wrappers in text/ files
Copy Style Files (styles/)
Copy all .sty and .cls files from the original template to styles/:
find /tmp/latex-template-temp -type f \( -name "*.sty" -o -name "*.cls" \) -exec cp {} output/styles/ \;
Note: Maintain the original template's directory structure (e.g., acmart/), only move to styles/.
Handle Images and Tables
# Copy image files
find /tmp/latex-template-temp -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.pdf" \) -exec cp {} output/figures/ \;
# Copy table files (if any)
find /tmp/latex-template-temp -type f -name "*.tex" | grep -i table | while read f; do cp "$f" output/tables/; done
Create Example Table File
Important: Overleaf automatically deletes empty directories. To prevent the tables/ directory from being deleted, create an example table file:
# Create example table file
cat > output/tables/example-table.tex << 'EOF'
% Example table file
% Can be deleted or replaced with your own tables
\begin{table}[h]
\centering
\caption{Example Table}
\label{tab:example}
\begin{tabular}{lccc}
\toprule
Method & Metric 1 & Metric 2 & Metric 3 \\
\midrule
Baseline & 85.3 & 12.4 & 0.92 \\
Method A & 87.1 & 11.8 & 0.95 \\
\textbf{Ours} & \textbf{89.4} & \textbf{10.2} & \textbf{0.97} \\
\bottomrule
\end{tabular}
\end{table}
EOF
Notes:
- If the original template already has table files, this step can be skipped
- The example table is only to prevent directory deletion; it can be deleted or replaced
- Reference tables in the paper using
\input{tables/example-table.tex}or copy table content directly into section files
Copy Bibliography
# Copy .bib files
find /tmp/latex-template-temp -type f -name "*.bib" -exec cp {} output/ \;
Step 6: Generate README
Information Source Priority
- Conference link provided by user → Extract using WebFetch
- Template file comments → Extract from .tex files
- Default inference → Infer from
\documentclass
README Template
# [Conference Name] Submission Template
## Template Information
- **Conference**: [Conference name]
- **Website**: [Conference link]
- **Template version**: [From template or website]
- **Document class**: [Extracted documentclass]
## Submission Requirements
### Page and Format
- **Page limit**: [From website or template]
- **Two-column/Single-column**: [Detect layout]
- **Font size**: [10pt/11pt etc.]
### Anonymity Requirements
- **Blind review required**: [Detect template mode]
- **Author information handling**: [Instructions]
### Compilation Requirements
- **Recommended compiler**: [XeLaTeX/pdfLaTeX/LuaLaTeX]
- **Special package requirements**: [If any]
## Overleaf Usage
### Upload Steps
1. Create a new project on Overleaf
2. Upload the entire `output/` directory
3. Set compiler to [specified compiler]
4. Click Recompile to test
### File Description
- `main.tex` - Main file, start here
- `text/` - Section content, edit as needed
- `figures/` - Place images here
- `tables/` - Place tables here
- `styles/` - Style files, no modification needed
- `references.bib` - Bibliography database
## Common Operations
### Adding Images
```latex
\begin{figure}[h]
\centering
\includegraphics[width=0.8\linewidth]{figures/your-image.pdf}
\caption{Image caption}
\label{fig:your-label}
\end{figure}
Adding Tables
\begin{table}[h]
\centering
\begin{tabular}{|c|c|}
\hline
Column 1 & Column 2 \\
\hline
Content 1 & Content 2 \\
\hline
\end{tabular}
\caption{Table caption}
\label{tab:your-label}
\end{table}
Adding References
Add entries to references.bib and cite in text using \cite{key}.
Notes
- [Warnings extracted from template comments]
- [Important notes extracted from website]
### Extract Information from Website (if user provided a link)
Use WebFetch to get conference submission page content and extract:
- Page limits
- Anonymity requirements
- Format requirements
- Submission deadlines
## Step 7: Cleanup and Output
```bash
# Clean up temporary files
rm -rf /tmp/latex-template-temp
# Output completion message
echo "Template cleanup complete! Output directory: output/"
echo "Please upload the output/ directory to Overleaf to test compilation."
Error Handling
| Error Scenario | Handling Approach |
|---|---|
| Main file not found | List all .tex files, let user choose |
| Dependency file missing | Warn user, attempt to locate from template directory |
| Cannot extract conference info | Use default info from template, mark as [To be confirmed] |
| Website inaccessible | Fall back to template comments, prompt user to fill in manually |
| Extraction failed | Prompt user to check .zip file integrity |
Common Conference Template Types
| Conference | Document Class | Notes |
|---|---|---|
| KDD (ACM SIGKDD) | acmart |
Anonymous submission requires nonacm option to remove footnotes |
| ACM Conferences | acmart |
Requires anonymous mode \acmReview{anonymous} |
| CVPR/ICCV | cvpr |
Two-column, strict page limits |
| NeurIPS | neurips_2025 |
Anonymous review, no page limit |
| ICLR | iclr2025_conference |
Two-column, requires session info |
| AAAI | aaai25 |
Two-column, 8 pages + references |
KDD Anonymous Submission Configuration Notes
KDD 2026 uses the ACM acmart template and requires special configuration for anonymous submission:
Submission version (remove all ACM metadata footnotes):
\documentclass[sigconf,anonymous,review,nonacm]{acmart}
\settopmatter{printacmref=false}
\setcopyright{none}
\acmConference[]{}{}{}
\acmYear{}
\acmISBN{}
\acmDOI{}
Camera-ready version (restore ACM metadata):
\documentclass[sigconf]{acmart}
\settopmatter{printacmref=true}
\setcopyright{acmcopyright}
\acmConference[KDD '26]{...}{...}{...}
\acmYear{2026}
\acmISBN{978-1-4503-XXXX-X/26/08}
\acmDOI{10.1145/nnnnnnn.nnnnnnn}
Quick Reference
Detect Document Type
# Detect document class
grep "\\documentclass" main.tex
# Detect anonymous mode
grep -i "anonymous\|review\|blind" main.tex
# Detect page settings
grep "pagelimit\|pageLimit\|page_limit" main.tex
Common Cleanup Patterns
# Remove example files
rm -f sample-* example-* demo-* test-*
# Remove temporary files
rm -f *.aux *.log *.out *.bbl *.blg