UpstageAI/korean-report-hwpx v0.4.0
UpstageAI/korean-report-hwpx
Captured source
source ↗published Oct 28, 2026seen 7hcaptured 7hhttp 200method plain
0.4.0 — 보도자료 작성 방법 가이드·공문서 편집 용지(A4·여백)·기안문 탭 내어쓰기
Repository: UpstageAI/korean-report-hwpx
Tag: v0.4.0
Published: 2026-10-28T13:45:34Z
Prerelease: no
Release notes:
신규 기능
draft_press_structure(facts, ministry): 사실 메모(dict 또는 JSON 문자열)를 보도자료 구조 JSON 초안으로 옮긴다. 메모에 없는 문장·숫자·이름을 만들지 않으며, 리드·인용·표·참고 자료를 국립국어원 지침과 정책브리핑 실측에 맞게 배치한다.get_writing_guide(doc_type='press_release', ministry): 보도자료 작성 방법(리드·제목·인용·숫자·쉬운 말), 사실 메모 양식(facts_template)·필드 설명(facts_fields), 종류별 순서(types_order), 기관별 가상 예시(facts·structure)를 함께 제공한다.check_structure·build_document의 보도자료 작성 점검(E1~E18): 리드 누가·언제·완결·길이·인용, 제목 과장·마침표, 부제 수, 숫자 단위·단위 띄어쓰기, 외국 문자 먼저, 약어 풀이, 쉬운 말, 권위적 표현, 종결 혼용, 명사형 종결, 긴 문장.ministry인자:check_structure(structure, doc_type, ministry=기관)으로 보도자료 작성 점검을 수행한다.build_document는 자기 ministry를 check에 넘긴다._josa(word, pair): 조사 붙이기 모듈 함수 — 끝 공백·괄호·따옴표를 번갈아 떼고 마지막 글자로 판단(한글 받침·숫자 끝자리·라틴 L·M·N·R).- 보도참고자료·설명자료·해명자료도
draft_press_structure로 구조 초안을 만들 수 있다(문제 사안→입장→근거 순서, 리드는 만들지 않음). - 머리 이름 기본값:
kind가 없으면 템플릿 서식 표본과 관계없이 '보도자료'를 머리에 찍는다(서식 표본이 보도참고·보도설명자료였던 9개 기관 — 과학기술정보통신부·공정거래위원회·국세청 등 — 이 '보도참고자료'·'보도설명자료'로 나오던 것 바로잡음). - 담당 부서 유지:
placeholder_contact=True이고 people이 비어도 dept가 있으면 그 부서명을 유지하고 people만 자리표시로 채운다.
데이터
korean_report_hwpx/guides/press_writing.json: 국립국어원 지침 5종(G20·R20·G11·H22·E14), 정책브리핑 2,667건 실측(C), 가이드 규칙 문장 15개, 사실 메모 양식·필드, 종류별 설명, 과학기술정보통신부·행정안전부 가상 예시 2건(facts·기대 structure), 작성 점검용 정규식·단어 목록·한도.
문서
- README·README-EN: 도구 표에
draft_press_structure추가, "보도자료 작성 방법" 단락과 사실 메모 예시, 출처 목록 추가. - SPEC:
docs/SPEC_press_writing_guide.md에 전체 사양 기록.
호환성
- 보고서·기안문 점검과 동작은 그대로(빈 줄 없음·고정 문단 위 간격 유지). 기존 테스트 전부 통과.
- 보도자료 본문 문단 간격 복원:
Composer.blocks의 계층 사이 빈 줄을rules/.jsongaps 값대로 넣고(gap_pt가 None이면 없음),Composer.item의 문단 위 간격(prev)을rules/_문단위간격.json기관값(그 계층)→전체값(모두 0)으로 적용한다. 예: 행정안전부 p 문단 위 1000·p↔p 빈 줄 없음, 과학기술정보통신부 p 문단 위 0·p↔p 빈 줄 1개(10pt). EXAMPLE_PRESS상수는 제거하고 PRESS_GUIDE 예시로 대체(writing_guide_prompt도 같은 값 사용).
기안문 항목 내어쓰기
- 항목 번호(1.·가.·1) 등)와 붙임 뒤에 탭을 넣고 내어쓰기와 같은 위치에 탭을 두어, 둘째 줄이 번호 뒤 첫 글자 아래에서 시작한다(글꼴 너비와 관계없음).
쪽 설정(편집 용지)
- 기안문에도 구역 정의(`
··)를 넣어 한글이 기본 편집 용지(좌우 30mm, 본문폭 150mm)로 열리던 문제를 수정. 보고서와 같은 방식으로 첫 문단 첫 글자 조각에B.sec_pr(page)`를 삽입. - 보고서 공통 여백을 위·아래 10mm·머리말·꼬리말 15mm에서 위·아래 15mm·머리말·꼬리말 10mm로 정정(정책브리핑 2,667건 중 최빈값 1,817건).
- 기관 템플릿 19곳(
templates/.json)의 쪽 여백이 그 기관 보도자료 최빈값과 달라 최빈값으로 바꿈(표본 10건 미만 기관은 공통값). 과학기술정보통신부는 118건 중 100건, 행정안전부는 135건 중 120건이 위15·아래15·머리말10·꼬리말10. 근거는rules/_쪽설정.json의기관값. - 표(``) 폭이 모든 문서 종류에서 본문폭(width − left − right, 170mm) 이하인지 테스트로 확인.
개발
- 기존 뼈대는 Solar Pro 4, 이번 보완 중 기안문 항목 위치·붙임 내어쓰기는 Claude. 보도자료 작성 가이드 데이터·명세·정답 테스트는 Claude, 구현은 Solar Pro 4.