본문 바로가기

AI와 글쓰기

AI 시대, 마크다운으로 글쓰기 고수가 되는 길 - 2. 마크다운의 핵심 문법 파헤치기

2. 마크다운의 기본 문법과 활용

서론

마크다운은 그 간결함 덕분에 복잡한 학습 없이도 빠르게 문서 작성을 시작할 수 있다. 하지만 단순히 텍스트를 나열하는 것을 넘어, 마크다운의 핵심 문법을 정확히 이해하고 활용한다면 훨씬 더 구조적이고 읽기 좋은 문서를 만들 수 있다. 이 장에서는 마크다운의 가장 중요한 문법 요소들을 총정리하고, 실제 문서 작성에서 유용하게 사용할 수 있는 팁과 발생할 수 있는 문법 오류를 진단하고 해결하는 방법을 다룬다. 마크다운의 기본기를 탄탄히 다져 효율적인 문서 작성 능력을 키우는 데 중점을 둔다.

본론

2.1. 마크다운 핵심 문법 총정리

마크다운은 소수의 기호를 사용하여 텍스트에 의미 있는 서식을 부여한다. 다음은 가장 빈번하게 사용되는 핵심 문법 요소들이다.

  • 제목 (Headers): 문서의 구조를 나누는 가장 기본적인 요소이다. #의 개수로 제목의 단계를 표현한다. #은 가장 큰 제목 (h1)을 의미하며, ######까지 사용할 수 있다.
# 최상위 제목 (h1)
## 주요 섹션 제목 (h2)
### 서브 섹션 제목 (h3)
#### 소제목 (h4)
  • 강조 (Emphasis): 텍스트의 특정 부분을 강조하는 데 사용한다.
    • 기울임꼴 (* 또는 _): 텍스트 양쪽에 하나씩 붙인다.
    • 굵게 (** 또는 __): 텍스트 양쪽에 두 개씩 붙인다.
    • 굵게 및 기울임꼴 (*** 또는 ___): 텍스트 양쪽에 세 개씩 붙인다.
    • 취소선 (~~): 텍스트 양쪽에 두 개씩 붙인다.
이것은 *기울임꼴* 텍스트이다.
이것은 **굵은 글씨** 텍스트이다.
이것은 ***굵고 기울임*** 텍스트이다.
이것은 ~~취소선~~ 텍스트이다.
  • 목록 (Lists): 정보를 구조화하여 나열할 때 사용한다.
    • 순서 없는 목록: 하이픈(-), 별표(*), 더하기(+) 중 하나를 사용한다. 들여쓰기를 통해 중첩 목록을 만들 수 있다.
    • 순서 있는 목록: 숫자와 마침표(.)를 사용한다. 숫자의 순서는 중요하지 않으며, 렌더링 시 자동으로 올바른 순서로 표시된다.
- 항목 1
  - 하위 항목 1.1
- 항목 2

* 다른 목록 스타일
  * 하위 항목

1. 첫 번째 항목
2. 두 번째 항목
   1. 중첩된 항목
   2. 또 다른 중첩된 항목
10. 열 번째 항목 (숫자는 자동 정렬된다)
  • 코드 (Code): 프로그래밍 코드나 명령어를 표시할 때 사용한다.
    • 인라인 코드: 백틱(` `)으로 텍스트를 감싼다.
    • 코드 블록: 세 개의 백틱(```)으로 코드 블록을 감싸며, 첫 번째 백틱 뒤에 언어를 명시하여 신택스 하이라이팅을 적용할 수 있다. 이번에는 언어 지정을 포함하지 않은 일반 텍스트 코드 블록 예시를 사용한다.
`<body>` 태그는 HTML 문서의 본문을 나타낸다.

 

이것은 코드 블록 예시이다. 
여러 줄의 텍스트나 설정 파일을 표현할 때 유용하다.

 

  • 링크 (Links): 외부 문서나 웹 페이지로 연결할 때 사용한다. [링크 텍스트](URL "선택적_제목") 형식으로 작성한다.
[구글 검색](https://www.google.com "구글 홈페이지")으로 이동한다.
  • 이미지 (Images): 문서를 시각적으로 풍부하게 만들 때 사용한다. ![대체 텍스트](이미지_경로 "선택적_제목") 형식으로 작성한다. 링크와 유사하나 앞에 !가 붙는다.
![마크다운 로고](https://example.com/images/markdown-logo.png "마크다운 로고 이미지")
  • 인용구 (Blockquotes): 다른 사람의 글이나 특정 문장을 인용할 때 사용한다. > 기호를 사용한다. 중첩 인용도 가능하다.
> 이 문장은 인용된 내용이다.
>
>> 중첩된 인용이다.
  • 구분선 (Horizontal Rules): 섹션 간 시각적인 구분을 만들 때 사용한다. 세 개 이상의 하이픈(---), 별표(***), 또는 언더스코어(___)를 사용한다.
---
첫 번째 섹션과
***
두 번째 섹션을 구분한다.
___

2.2. 효율적인 문서 작성을 위한 문법 활용 팁

마크다운 문법을 단순히 아는 것을 넘어, 효율적으로 활용하는 것은 문서의 가독성과 유지보수성을 높이는 중요한 요소이다.

  • 일관된 문법 사용: 기울임꼴에 *_ 중 하나만 사용하거나, 목록에 -만 사용하는 등 일관된 규칙을 정해 사용한다. 이는 협업 시 혼란을 줄이고 문서의 통일성을 유지하는 데 도움이 된다.
  • 들여쓰기 활용: 중첩 목록이나 코드 블록, 인용구 등에서 정확한 들여쓰기(스페이스 2칸 또는 4칸)를 사용하면 문서의 계층 구조가 명확해져 가독성이 크게 향상된다. 일반적으로 스페이스 2칸 또는 4칸을 사용한다.
  • 빈 줄의 활용: 문단과 문단 사이, 혹은 다른 문법 요소(예: 제목과 목록) 사이에 빈 줄을 넣어 시각적으로 구분한다. 이는 텍스트 블록 간의 경계를 명확히 하여 읽는 사람의 피로도를 줄인다.
# 챕터 1

이것은 챕터 1의 서론이다.

---

## 섹션 1.1

이것은 섹션 1.1의 내용이다.

- 항목 1
- 항목 2

위 예시처럼 빈 줄과 구분선으로 내용을 명확히 분리할 수 있다.

  • 주석 처리: 마크다운 자체에는 공식적인 주석 문법이 없지만, HTML 주석 <!-- 주석 내용 -->을 사용하여 마크다운 파서가 무시하는 주석을 추가할 수 있다. 이는 복잡한 문서에서 작성자 본인이나 협업자를 위한 메모로 유용하다.
<!-- 이 부분은 임시 내용이므로 나중에 수정 필요 -->
# 최종 보고서

2.3. 마크다운 문법 오류 진단 및 해결

마크다운은 유연하지만, 문법을 잘못 사용하면 의도한 대로 렌더링되지 않거나 오류가 발생할 수 있다. 일반적인 오류와 해결 방안은 다음과 같다.

  • 빈 줄 누락: 목록, 코드 블록, 인용구 등은 이전 문단과 빈 줄로 구분되지 않으면 제대로 인식되지 않을 수 있다. 항상 빈 줄을 추가하는 습관을 들인다.
  • 기호 오용 및 누락: 강조(**), 인라인 코드(` `) 등은 시작과 끝 기호의 개수가 일치해야 한다. 또한, 기호가 텍스트에 인접해야 한다. 예를 들어, ** 굵게 **는 제대로 작동하지 않고 **굵게**로 작성해야 한다.
  • 목록 들여쓰기 오류: 순서 없는 목록의 하위 항목을 만들 때 정확한 들여쓰기(스페이스 2칸 또는 4칸)를 하지 않으면 상위 목록과 같은 레벨로 인식되거나 아예 목록으로 인식되지 않을 수 있다.
  • 코드 블록 시작/종료 누락: 코드 블록의 시작과 끝에 세 개의 백틱(```)이 정확히 있어야 하며, 언어 명시가 필요한 경우 첫 줄 백틱 뒤에 바로 붙여 작성한다.
  • 특수 문자 이스케이프: 마크다운 문법으로 사용되는 특수 문자(예: #, *, _, ` `, [, ], (, ), {, }, +, -, ., !, |, >)를 일반 텍스트로 표시하려면 역슬래시(\)를 앞에 붙여 이스케이프한다.
이것은 별표\*가 아니라 일반 문자이다.
# 일반 텍스트 앞에 샵\#이 붙어 있다.

위 예시에서 \*\#는 마크다운 문법이 아닌 일반 문자로 인식된다.

마크다운 문서를 작성할 때는 실시간 미리보기를 제공하는 에디터를 활용하는 것이 오류를 즉시 확인하고 수정하는 가장 효과적인 방법이다. 또한, 작성 후에는 다른 마크다운 뷰어에서 열어보거나 HTML로 변환하여 의도대로 출력되는지 확인하는 것이 좋다.

결론 및 핵심 요약

  • 마크다운은 제목, 강조, 목록, 코드, 링크, 이미지, 인용구, 구분선 등 다양한 핵심 문법을 통해 간결하고 구조적인 문서 작성을 지원한다.
  • 일관된 문법 사용, 정확한 들여쓰기, 빈 줄 활용, 주석 처리 등의 작성 팁은 문서의 가독성과 유지보수성을 크게 향상시킨다.
  • 빈 줄 누락, 기호 오용, 들여쓰기 오류 등 자주 발생하는 문법 오류를 인지하고 실시간 미리보기 에디터를 활용하여 효과적으로 해결한다.