Skip to content

Commit 23356a2

Browse files
committed
Fix lead-slide author spacing and document HTML/font features in README.
Give long title slides more vertical room in HTML and PPTX, and update README with title-slide footnotes, HTML preview assets, sticky titles, OS font setup, and my-style-afzal-30 sample commands.
1 parent fa11d91 commit 23356a2

3 files changed

Lines changed: 94 additions & 15 deletions

File tree

‎README.md‎

Lines changed: 80 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ template.pptx + paper.pdf → Cursor 채팅 → deck-editable.pptx
2323
- [5. 수정하기](#5-수정하기)
2424
- [6. 이미지와 표](#6-이미지와-표)
2525
- [7. 인용 (in-text citation)](#7-인용-in-text-citation)
26+
- [8. 타이틀 슬라이드·HTML 미리보기](#8-타이틀-슬라이드html-미리보기)
27+
- [9. 폰트 (OS 설치 글꼴)](#9-폰트-os-설치-글꼴)
2628
- [내장 템플릿](#내장-템플릿)
2729
- [커스텀 템플릿 만들기](#커스텀-템플릿-만들기)
2830
- [출력 형식 비교](#출력-형식-비교)
@@ -149,7 +151,7 @@ make a 7-slide deck from this arXiv paper: https://arxiv.org/abs/2412.xxxxx
149151
|------|------|
150152
| `deck-editable.pptx` | **주요 결과물** — PowerPoint·Keynote에서 텍스트·표 편집 가능 |
151153
| `deck.md` | 슬라이드 내용 원본 — 수정 후 재생성할 때 사용 |
152-
| `deck.html` | 브라우저 발표용 (빌드 시 자동 생성) |
154+
| `deck.html` | 브라우저 발표용 (빌드 시 자동 생성, `output/assets/`에 이미지 복사) |
153155
| `deck.pptx` | Marp 이미지 기반 PPTX (`--pptx` 옵션 시, 편집 불가) |
154156

155157
### 4. 직접 빌드 (터미널)
@@ -168,14 +170,14 @@ scripts/build_deck.sh path/to/deck.md path/to/output/deck --template academic
168170
scripts/build_deck.sh path/to/deck.md path/to/output/deck --template academic --pptx
169171
```
170172

171-
결과: `output/deck-editable.pptx`, `output/deck.html`
173+
결과: `output/deck-editable.pptx`, `output/deck.html`, `output/assets/` (HTML용 이미지)
172174

173175
### 5. 수정하기
174176

175177
| 바꾸고 싶은 것 | 방법 |
176178
|---------------|------|
177179
| 슬라이드 **내용** (문구, 숫자) | `deck.md` 편집, 또는 Cursor에 *"3번 슬라이드 Method에 한 줄 추가해줘"* |
178-
| **색·폰트** | `templates/<id>/pptx.json` 수정, 또는 양식 pptx 재import |
180+
| **색·폰트** | `templates/<id>/pptx.json` 수정 (`titleFontFace` / `bodyFontFace`), `theme.css``font-family`, 또는 양식 pptx 재import |
179181
| **슬라이드 구성** (7장 → 10장) | `templates/<id>/template.yaml``chapters` 수정 |
180182
| PowerPoint에서 직접 손보기 | `deck-editable.pptx` 열어서 편집 (텍스트 박스가 살아 있음) |
181183

@@ -246,6 +248,52 @@ Cursor 채팅: *"논문 Figure 2랑 Table 3 넣어서 슬라이드 만들어줘"
246248
- 마지막 슬라이드에 **주요 참고문헌** 5~8개 요약 가능
247249
- Cursor 채팅: *"in-text citation 추가해줘"*
248250

251+
### 8. 타이틀 슬라이드·HTML 미리보기
252+
253+
**타이틀 슬라이드** 권장 형식:
254+
255+
```markdown
256+
<!-- _class: lead -->
257+
<!-- _footer: "https://arxiv.org/abs/2407.05925 · https://aclanthology.org/2024.dash-1.2/" -->
258+
259+
# Towards Optimizing and Evaluating a Retrieval Augmented QA Chatbot using LLMs with Human-in-the-Loop (2024)
260+
261+
## Anum Afzal, Alexander Kowsik, Rajna Fani, Florian Matthes
262+
263+
ACL DaSH 2024 · Human-in-the-Loop on industrial HR data
264+
```
265+
266+
- `#` 제목: 논문 **전체 제목 + (연도)** — 줄임말 대신 정식 제목
267+
- `##` 저자: **���네임** (제목 아래 별도 줄)
268+
- `<!-- _footer: ... -->`: 하단 footnote에 arXiv·ACL 등 **논문 링크**
269+
270+
**HTML 미리보기** (`deck.html`을 Chrome에서 열 때):
271+
272+
| 기능 | 설명 |
273+
|------|------|
274+
| 이미지 | `build_deck.sh``assets/``output/assets/`로 복사 — 경로 깨짐 방지 |
275+
| 제목 고정 | 내용이 긴 슬라이드에서 스크롤 시 `#` 제목·파란 구분선이 상단에 고정 |
276+
277+
`output/deck.html`을 열 때는 **강력 새로고침**(Cmd+Shift+R)을 권장합니다.
278+
279+
### 9. 폰트 (OS 설치 글꼴)
280+
281+
폰트 **파일 경로**가 아니라, macOS·Windows에 **이미 설치된 글꼴 이름**을 지정합니다.
282+
283+
| 파일 | 설정 예시 (`my-style`) |
284+
|------|------------------------|
285+
| `templates/<id>/theme.css` | `section h1` → 제목, `section` → 본문 `font-family` |
286+
| `templates/<id>/pptx.json` | `"titleFontFace"`, `"bodyFontFace"` |
287+
288+
기본 `my-style` 예시:
289+
290+
- 제목: **S-Core Dream 5 Medium** (에스코어 드림 5 Medium)
291+
- 본문: **S-Core Dream 4 Regular** (에스코어 드림 4 Regular)
292+
293+
Font Book(맥)에서 보이는 **정확한 이름**을 써야 합니다. 다른 PC에서도 같은 폰트가 설치되어 있어야 PPTX·HTML이 동일하게 보입니다.
294+
295+
Cursor 채팅 예시: *"제목은 에스코어 Medium, 본문은 에스코어 Regular로 해줘"*
296+
249297
---
250298

251299
## 내장 템플릿
@@ -254,6 +302,7 @@ Cursor 채팅: *"논문 Figure 2랑 Table 3 넣어서 슬라이드 만들어줘"
254302
|----|------|------|
255303
| `academic` | 논문 리뷰, 랩 미팅 (기본) | 흰 배경, 파란 악센트, 7장 구�� |
256304
| `seminar` | 세미나·학회 발표 | 큰 글씨, 고대비 헤더 |
305+
| `my-style` | 심화 발표 (20~30장) | 에스코어 드림 제목/본문, 타이틀 footnote·링크 지원 |
257306

258307
별도 양식 없이 바로 사용:
259308

@@ -296,17 +345,26 @@ node scripts/import_pptx_template.mjs templates/my-style/template.pptx --name my
296345
repo에 포함된 샘플 논문으로 테스트:
297346

298347
```bash
299-
# 영어 논문 샘플
348+
# 영어 논문 30장 (my-style, Afzal et al. 2024 HR RAG)
349+
scripts/build_deck.sh \
350+
samples/runs/my-style-afzal-30/deck.md \
351+
samples/runs/my-style-afzal-30/output/deck \
352+
--template my-style --editable-pptx
353+
354+
# 영어 논문 7장 (academic)
300355
scripts/build_deck.sh \
301356
samples/runs/academic-afzal-hr-rag/deck.md \
302357
samples/runs/academic-afzal-hr-rag/output/deck \
303358
--template academic --editable-pptx
359+
```
304360

305-
# 한글 논문 샘플
306-
scripts/build_deck.sh \
307-
samples/runs/academic-jung-signaling/deck.md \
308-
samples/runs/academic-jung-signaling/output/deck \
309-
--template academic --editable-pptx
361+
PDF에서 그림 추�� (선택):
362+
363+
```bash
364+
brew install poppler # 최초 1회
365+
scripts/extract_pdf_figures.sh \
366+
"samples/papers/Afzal et al. - 2024 - Towards Optimizing and Evaluating a Retrieval Augmented QA Chatbot using LLMs with Human-in-the-Loop.pdf" \
367+
samples/runs/my-style-afzal-30/assets/
310368
```
311369

312370
샘플 구조:
@@ -315,10 +373,13 @@ scripts/build_deck.sh \
315373
samples/
316374
├── papers/ # 테스트용 PDF (git 제외)
317375
└── runs/<name>/
318-
├── source.md # 사용한 논문 정보
376+
├── source.md # 사용한 논문 정보·arXiv 링크
319377
├── deck.md # 슬라이드 원본
378+
├── assets/ # PDF에서 추출한 fig-*.png
320379
└── output/
321-
└── deck-editable.pptx
380+
├── deck.html
381+
├── deck-editable.pptx
382+
└── assets/ # HTML 미리보기용 (빌드 시 자동 복사)
322383
```
323384

324385
자세한 내용: [`samples/README.md`](samples/README.md)
@@ -337,6 +398,7 @@ paper-to-slides/
337398
├── templates/
338399
│ ├── academic/ # 기본 템플릿
339400
│ ├── seminar/
401+
│ ├── my-style/ # 에스코어 폰트·20~30장 심화 구성
340402
│ ├── _example/ # 커스텀 템플릿 시작점
341403
│ └── <your-name>/ # import로 생성
342404
│ ├── template.pptx
@@ -423,4 +485,10 @@ paper-to-slides/
423485
네. 채팅에 링크를 붙이고 변환을 요청하면 됩니다.
424486

425487
**Q. 슬라이드 장수를 바꾸고 싶어요.**
426-
*"10장으로 만들어줘"* 또는 `template.yaml``chapters`를 수정하세요.
488+
*"30장으로 만들어줘"* 또는 `template.yaml``chapters`를 수정하세요. `deck.md` 장수는 템플릿 기본값(7·20장)보다 늘어날 수 있습니다.
489+
490+
**Q. HTML에서 이미지가 안 보여요.**
491+
`deck.html`과 같은 폴더에 `output/assets/`가 있어야 합니다. `build_deck.sh`를 다시 실행하면 자동 복사됩니다. `deck.md`가 있는 `assets/`가 아닌 **`output/assets/`**를 Chrome이 참조합니다.
492+
493+
**Q. 제목 슬라이드에서 저자가 제목과 겹쳐요.**
494+
긴 제목은 여러 줄로 나뉩니다. `my-style` 템플릿은 제목·저자 간격을 넓혀 두었습니다. 그래도 겹치면 `theme.css``section.lead h1` `margin-bottom` 또는 PPTX `leadTitleSize`를 조정하세요.

‎scripts/lib/fill_pptx_genjs.mjs‎

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,20 @@ function addTitleBlock(s, pptx, slide, theme) {
8282
return 1.35;
8383
}
8484

85-
const titleY = slide.isLead ? 1.8 : 0.45;
85+
const titleY = slide.isLead ? 1.5 : 0.45;
86+
const leadTitleH = slide.isLead
87+
? Math.min(3.4, 0.5 + Math.ceil(slide.title.length / 46) * 0.48)
88+
: 0.9;
8689
s.addText(slide.title, {
8790
x: 0.5,
8891
y: titleY,
8992
w: 9,
90-
h: slide.isLead ? 1.2 : 0.9,
93+
h: slide.isLead ? leadTitleH : 0.9,
9194
fontFace: titleFont(theme),
9295
fontSize: slide.isLead ? theme.leadTitleSize : theme.titleSize,
9396
bold: false,
9497
color: theme.titleColor,
98+
valign: "top",
9599
});
96100

97101
if (!slide.isLead && !theme.titleBar) {
@@ -104,7 +108,7 @@ function addTitleBlock(s, pptx, slide, theme) {
104108
});
105109
}
106110

107-
let y = slide.isLead ? 3.1 : 1.55;
111+
let y = slide.isLead ? titleY + leadTitleH + 0.35 : 1.55;
108112
if (slide.subtitle) {
109113
s.addText(slide.subtitle, {
110114
x: 0.5,

‎templates/my-style/theme.css‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,16 @@ section.lead h1 {
3939
font-family: 'S-Core Dream 5 Medium', '에스코어 드림 5 Medium', 'S-Core Dream 4 Regular', sans-serif;
4040
font-size: 52px;
4141
font-weight: normal;
42+
line-height: 1.25;
43+
margin-bottom: 40px;
4244
border-bottom: none;
4345
}
4446

47+
section.lead h2 {
48+
margin-top: 0;
49+
margin-bottom: 16px;
50+
}
51+
4552
section ul {
4653
line-height: 1.6;
4754
}

0 commit comments

Comments
 (0)