     원문         := (<공백4> ANY* LF)+
 
     (* 소스코드 *)
-    소스코드     := <\"```\" 공백*> (<LF> 코드내용 / 소스언어 <LF> 코드내용) <\"```\" LF LF?>
+    소스코드     := <\"```\" 공백*> (<LF> 소스내용 / 소스언어 <LF> 소스내용) <\"```\" LF LF?>
     소스언어     := ANY+
-    코드내용     := (ANY+ LF)*
+    소스내용     := (ANY+ LF)*
 
     (* 구분줄 *)
     구분줄       := <공백* LF 구분줄표시 LF>

            [:일반목록 [:항목 [:문장 "항" "목" "1"]]
             [:항목 [:문장 "항" "목" "2" " " "*" "강" "조" "*"]]]
            [:소스코드 [:소스언어 "클" "로" "저"]
             [:코드내용 "(" "d" "e" "f" "n" " " "a" "-" "f" "u" "n" "c" " " "[" "]" "\n" " " " " "t" "r" "u" "e" ")" "\n"]]
            [:문단 [:문장 "마" "지" "막" " " "문" "단"]]]))))

      (분석 "``` clojure\n(def a 1)\n```")
      [:문서 [:소스코드
              [:소스언어 "c" "l" "o" "j" "u" "r" "e"]
              [:소스내용 "(" "d" "e" "f" " " "a" " " "1" ")" "\n"]]]

      (분석 "```\n(def a 1)\n```")
      [:문서 [:소스코드 [:소스내용 "(" "d" "e" "f" " " "a" " " "1" ")" "\n"]]]

      (분석 "```clojure\n(def a 1)\n```\n그리고\n\n```\n한번더\n```")
      [:문서
       [:소스코드 [:소스언어 "c" "l" "o" "j" "u" "r" "e"]
        [:소스내용 "(" "d" "e" "f" " " "a" " " "1" ")" "\n"]]
       [:문단 [:문장 "그" "리" "고"]]
       [:소스코드 [:소스내용 "한" "번" "더" "\n"]]]))

  (testing "원문"
    (are [시도 결과] (= 시도 결과)
