[2. 공부]/[2.3 AI]

GPT 블로그 중 버퍼 행 표 포맷: 복붙 문제 없는 표 만들기

경이경이:) 2025. 11. 7. 17:36
반응형

표를 그대로 복사해 붙여도 헤더가 깨지지 않는 구조가 필요합니다. 이 글은 ‘버퍼 행(숫자 1·2·3)’을 추가해 손상 없이 표를 이식하는 방법을 HTML·마크다운 두 방식으로 제시합니다.

 

왜 헤더가 깨질까

플랫폼마다 표 렌더링 엔진이 다릅니다. 워드프레스 구텐베르크, 블로거, 티스토리, 노션, 슬랙 등은 붙여넣기 시 첫 행을 데이터로 해석하거나, 헤더/바디 구조를 재구성하는 경우가 있습니다. 이때 첫 행의 서식 정보가 유실되면 헤더가 본문으로 떨어집니다.

대응책은 간단합니다. 복붙 과정에서 손실돼도 안전하도록 첫 행에 ‘숫자 버퍼’를 두고, 실제 헤더를 그 다음 행에 둡니다.

 

버퍼 행 규칙

규칙(프로덕션 기준)
1) 1행: 숫자 버퍼1 | 2 | 3 형태로 열 수만큼 둡니다.
2) 2행: 실제 헤더 — 각 열 제목을 적습니다.
3) 3행 이후: 본문 — 데이터 행을 나열합니다.
4) HTML에서는 <thead>에 버퍼 행과 헤더 행을 모두 포함해 일관성을 확보합니다.
5) 마크다운에서는 플랫폼 호환성 차이가 있으므로, 가능하면 HTML 표를 권장합니다.

주의: 일부 마크다운 파서는 “헤더 위에 다른 행”을 허용하지 않습니다. 이 경우 HTML 표를 사용하면 문제를 피할 수 있습니다.

 

정답 예시

1) HTML 버전(권장)

1 2 3
항목 권장 기준 메모
문장 길이 평균 20단어 길면 콜론/대시로 분절
전이어 단락당 1개 이상 따라서/한편/결과적으로
수동태 < 10% 되다→한다

 

2) 마크다운 버전(가능한 경우에만)

1 | 2 | 3 항목 | 권장 기준 | 메모 ---|---|--- 문장 길이 | 평균 20단어 | 길면 콜론/대시 전이어 | 단락당 1개 이상 | 따라서/한편 수동태 | < 10% | 되다→한다

일부 파서에서는 위 마크다운이 “버퍼행 + 헤더”로 정상 동작하지 않을 수 있습니다. 그럴 땐 HTML 표를 붙여넣으세요.

 

실패 예시와 수정

실패 1) 헤더가 본문으로 떨어짐

항목 | 권장 기준 | 메모 ---|---|--- 문장 길이 | 20단어 | ...

일부 편집기는 첫 행을 데이터로 해석해 헤더 강조를 잃습니다. 버퍼 행을 추가하거나, HTML 표로 전환하세요.

실패 2) 열 수가 섞임

1 | 2 | 3 항목 | 권장 기준 | 메모 | 추가 ---|---|--- 문장 길이 | 20단어 | ...

버퍼 행과 실제 헤더의 열 수가 다르면 정렬이 무너집니다. 모든 행에서 파이프(|) 개수를 동일하게 맞추세요.

 

수정된 정답(HTML)

1 2 3
항목 권장 기준 메모
문장 길이 평균 20단어 콜론/대시 분절
전이어 단락당 1개 따라서/한편
수동태 <10% 되다→한다

자동 변환 스니펫

기존 마크다운 표 상단에 버퍼 행을 자동으로 삽입하는 간단한 스니펫입니다. 편집기에서 한 번에 변환하세요.

 

파이썬(한 파일 내 모든 표에 버퍼 행 추가)

import re, sys md = open("post.md", "r", encoding="utf-8").read() def add_buffer(match): header = match.group(1).strip() cols = header.count("|") + 1 buffer_cells = " | ".join(str(i+1) for i in range(cols)) return f"{buffer_cells}\n{header}\n{match.group(2)}" # 패턴: (헤더행)(구분선) 으로 된 표를 찾아 상단에 버퍼 행 삽입 pattern = re.compile(r"^([^\n|]*\|.*)\n([ \t]*\|?\s*:?-{3,}.*)$", re.M) out = re.sub(pattern, add_buffer, md) open("post_buffered.md", "w", encoding="utf-8").write(out) print("done")

 

HTML로 강제 변환(간단 가이드)

  1. 마크다운 표를 에디터에서 HTML로 변환합니다.
  2. <thead> 내부 첫 줄에 <th>1</th>… 버퍼 행을 추가합니다.
  3. 두 번째 줄에 실제 헤더를 둡니다.

검수 체크리스트

1 2 3 4
항목 합격 기준 점검 방법 비고
버퍼 행 숫자 1·2·3 존재 1행이 모두 숫자인지 확인 열 수=헤더 열 수
헤더 행 2행에 열 제목 볼드/헤더 처리 확인 의미 단어 사용
열 일치 모든 행 파이프 수 동일 미리보기 정렬 확인 공백·줄바꿈 주의
호환성 WP/노션/티스토리 붙여넣기 OK 샘플 표로 테스트 문제 시 HTML 사용

 

FAQ

마크다운에서도 반드시 버퍼 행이 필요한가요?

플랫폼에 따라 필요 없습니다. 그러나 복붙 과정의 손실을 줄이려면 버퍼 행을 권장합니다. 문제가 생기면 HTML 표로 전환하세요.

버퍼 행 숫자는 꼭 1·2·3이어야 하나요?

아닙니다. 열 수와 동일한 임의의 숫자면 됩니다. 중요한 것은 “데이터가 아닌 완충 행”임을 엔진에 알려주는 것입니다.

접근성(스크린리더)에는 문제가 없나요?

HTML 표에서는 <thead><th>를 사용해 의미론적 구조를 유지하십시오. 버퍼 행은 의미상 데이터가 아니므로 요약이나 캡션에서 보완 설명을 제공하면 더 좋습니다.

반응형