# HWPX 공문서 양식 (gonmun)

> moai-office v1.0.0 | 행정·비즈니스 공문서 표준 스펙

## 개요

대한민국 행정기관 및 기업 공문서 형식을 준수하는 HWPX 템플릿입니다.
`행정 효율과 협업 촉진에 관한 규정` 별지 서식을 기반으로 합니다.

---

## 1. 페이지 설정

`base.md` 설정을 상속하되 아래를 덮어씁니다:

```yaml
여백:
  위: 35mm    # 발신기관 로고/도장 공간
  아래: 25mm
  왼쪽: 40mm  # 공문서 표준 여백
  오른쪽: 30mm
  머리글: 18mm
  바닥글: 12mm
```

---

## 2. 공문서 구조 (섹션 배치)

```
┌──────────────────────────────────────────┐
│ [머리글] 기관명                           │
├──────────────────────────────────────────┤
│ 수신: {{수신자}}                          │
│ (경유: {{경유기관}})                      │
│                                          │
│ 제목: {{제목}}                            │
│                                          │
│ 1. {{본문내용}}                           │
│                                          │
│ 붙임 1. {{붙임1}} 끝.                     │
│                                          │
│              {{기관명}}장                 │
│                                          │
│ 시행  {{시행기관코드}}-{{문서번호}}        │
│ 접수  {{접수기관코드}}-{{접수번호}}        │
│ 우){{우편번호}} {{주소}}                   │
│ 홈페이지 {{홈페이지URL}}                  │
│ 전화번호 {{전화번호}} 팩스번호 {{팩스}}    │
│ 담당자 {{담당자이메일}}                    │
│ [공개구분] 공개                           │
└──────────────────────────────────────────┘
```

---

## 3. 필수 섹션 정의

### 3.1 두문 (문서 시작부)

```yaml
두문:
  기관명:
    위치: 중앙 정렬
    폰트: 맑은 고딕 18pt 굵게
    
  문서분류:
    형식: "{{분류기호}}-{{문서번호}}"
    위치: 우측 상단
    폰트: 10pt
```

### 3.2 수신처 블록

```yaml
수신처:
  레이블: "수신"
  폰트: 10pt 굵게
  형식: |
    수신: {{수신자}} ({{수신담당자}})
    (경유)
  비고: 경유 불필요 시 생략 가능
```

### 3.3 제목

```yaml
제목:
  레이블: "제목"
  폰트: 11pt 굵게
  형식: "제목: {{문서제목}}"
  여백_위: 12pt
  여백_아래: 12pt
```

### 3.4 본문

```yaml
본문:
  들여쓰기: 10mm
  번호체계: "1. → 가. → (1) → ①"
  줄간격: 160%
  폰트: 10pt
  
  번호단락:
    1단계: "1. {{내용}}"  # 폰트 굵게
    2단계: "  가. {{내용}}"
    3단계: "    (1) {{내용}}"
    4단계: "      ① {{내용}}"
```

### 3.5 붙임

```yaml
붙임:
  형식: "붙임  {{번호}}. {{파일명 또는 내용}}  {{매수}}부.  끝."
  조건:
    단일_붙임: "붙임  {{내용}}  1부.  끝."
    복수_붙임: |
      붙임  1. {{붙임1내용}}  1부.
            2. {{붙임2내용}}  1부.  끝.
    붙임_없음: 본문 마지막에 "끝." 마침
```

### 3.6 결문

```yaml
결문:
  발신명의:
    위치: 오른쪽 정렬
    형식: "{{기관명}}장"
    폰트: 11pt 굵게
    여백_위: 20mm
    
  시행일자_접수:
    형식: |
      시행  {{시행기관코드}}-{{연도}}-{{번호}}  ({{시행일자}})
      접수  {{접수기관코드}}-{{연도}}-{{번호}}  ({{접수일자}})
    폰트: 9pt
    
  주소줄:
    구분선: 실선 0.2mm
    형식: |
      우) {{우편번호}} {{도로명주소}}
      홈페이지 {{홈페이지URL}}  전화번호 {{전화번호}}  팩스번호 {{팩스번호}}
      공무원 성명 {{담당자명}}  전자우편주소 {{이메일}}
    폰트: 8pt
    
  공개구분:
    우측: "/공개/"
    폰트: 8pt
```

---

## 4. 변수 플레이스홀더

| 변수 | 설명 | 필수 |
|------|------|------|
| `{{기관명}}` | 발신 기관 전체명 | ✓ |
| `{{분류기호}}` | 업무 분류 기호 (예: 총무-123) | ✓ |
| `{{문서번호}}` | 연도-일련번호 (예: 2026-0042) | ✓ |
| `{{수신자}}` | 수신 기관·개인 | ✓ |
| `{{수신담당자}}` | 수신 담당자명 | - |
| `{{경유기관}}` | 경유 기관 (필요 시) | - |
| `{{문서제목}}` | 공문 제목 | ✓ |
| `{{본문내용}}` | 본문 내용 블록 | ✓ |
| `{{붙임1}}` | 첫 번째 붙임 파일명 | - |
| `{{시행일자}}` | 시행 날짜 (YYYY. MM. DD.) | ✓ |
| `{{담당자명}}` | 담당 공무원/직원 이름 | ✓ |
| `{{이메일}}` | 담당자 이메일 | ✓ |
| `{{전화번호}}` | 기관 대표 전화 | ✓ |
| `{{우편번호}}` | 기관 우편번호 | ✓ |
| `{{도로명주소}}` | 기관 도로명 주소 | ✓ |

---

## 5. 연동 스크립트

```bash
# 공문서 생성
python scripts/hwpx/create_hwpx.py \
  --template templates/hwpx/gonmun.md \
  --values gonmun_values.json \
  --output 공문서_20260409.hwpx

# 값 파일 예시 (gonmun_values.json)
# {
#   "기관명": "(주)모아이테크",
#   "문서제목": "2026년 상반기 협업 제안",
#   "수신자": "○○기관장",
#   ...
# }
```

---

*gonmun.md — 공문서 양식 HWPX 스펙 v1.0.0*
