== nowebÀ̶õ == noweb Àº LaTeX À» »ç¿ëÇÏ´Â cweb ÀÌ´Ù. web/cweb ÀÌ TeX À» ´ë»óÀ¸·Î ÇÏ´Â °Íó·³ noweb Àº LaTeX À» ´ë»óÀ¸·Î ÇÑ´Ù. Áï, ±âÁ¸ÀÇ ¸ðµç LaTeX ÀÇ ÆÐÅ°Áö¸¦ cweb ¿¡¼­ Á¦°øÇÏ´Â [literate programming] °ú ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ´Ù. == ´Ù¿î·Îµå/ÀνºÅç == http://www.eecs.harvard.edu/nr/noweb/ ¿¡¼­ ¼Ò½º¸¦ ´Ù¿î·Îµå ÇÏ¿© ÄÄÆÄÀÏ ÇØÁÖ¸é µÈ´Ù. == knoweb == ±âÁ¸ÀÇ noweb À» °³¼±ÇÑ ½ºÅ¸ÀÏ ÆÄÀÏ, http://www.k-online.com/~joer/noweb/knoweb.html ¿¡¼­ ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Ù. ÀÌ ¹öÀüÀÌ ¹®Á¦°¡ ¾ø°í ´õ ¾ÈÁ¤ÀûÀ̹ǷΠ°¡´ÉÇϸé knoweb.sty ¸¦ »ç¿ëÇϵµ·Ï ÇÑ´Ù. == ¿¹Á¦ ¸¸µé±â == °£´ÜÈ÷ ±¸±¸´ÜÀ» ÇØÁÖ´Â ¿¹Á¦¸¦ ¸¸µé¾î º¸¾Ò´Ù. {{{ \documentclass{article} \usepackage{noweb} \usepackage{dhucs} \begin{document} \section{±¸±¸´Ü ¸¸µé±â} ±¸±¸´ÜÀ» ÇØÁÖ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇØ º¸ÀÚ. @ °¡Àå ³ôÀº ·¹º§¿¡¼­´Â ´ÙÀ½°ú °°ÀÌ Ã³¸®ÇÒ ¼ö ÀÖ´Ù. <>= <> <> <
> <> <> @ »óÅ´ [[status]]·Î Ç¥½Ã°¡ °¡´ÉÇÏ´Ù. <>= /* Çì´õÆÄÀÏ */ #include #include @ <>= /* DoxyGen string */ int engine(int x, int y) { assert(x >= 0 && y >= 0); return (x * y); } @ <>= /* Write down the result. */ int print(int x, int y, int z) { printf("(%d) X (%d) = (%d)\n",x,y,z); } @ <
>= /* Main Routine */ int main() { int i, j; for (i = 1; i < 3; i++) { for (j = 1; j < 3; j++) { int z = engine(i,j); print(i,j,z); } } } @ <>= /* Test routine */ int test() { printf("testme\n"); } @ \end{document} }}} == »ç¿ë¹ý == ÅØÆÄÀÏ ¾ò±â {{{ noweave -delay nine.nw > nine.tex }}} ¼Ò½ºÄÚµå ¾ò±â {{{ notangle nine.nw -Rnine.c > nine.c }}} == °á°ú == Åؼҽº¸¦ ÄÄÆÄÀÏ Çϸé pdf ¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ¼Ò½ºÄڵ带 ÄÄÆÄÀÏ Çϸé ÇÁ·Î±×·¥À» ¾òÀ» ¼ö ÀÖ´Ù. {{{ $ gcc nine.c -o nine $ ./nine (1) X (1) = (1) (1) X (2) = (2) (2) X (1) = (2) (2) X (2) = (4) }}} == ÄÚµå ûũ == noweb Àº {{{<<>>}}} ·Î »ó¡µÇ´Â ÄÚµå ûũµéÀ» Çϳª·Î ¸ð¾ÆÁÖ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù. {{{\nowebchunks}}} ¸í·ÉÀ» ÀÌ¿ëÇÑ´Ù. == À妽º == noweb Àº ¾î¶°ÇÑ Á¤ÀÇ°¡ ¾îµð¿¡¼­ »ç¿ëµÇ¾ú´ÂÁö¸¦ ¾Ë·ÁÁÖ´Â index ¸¦ ¸¸µé ¼ö ÀÖ´Ù. === À妽º Á¤ÀÇ === {{{[[main]]]}}} °ú °°ÀÌ »ç¿ëÇϸé main ÀÌ À妽º·Î ±â·ÏµÈ´Ù. === À妽º ÁöÁ¤ === {{{@ %def main}}} À» ÄÚµåûũ ´ÙÀ½¿¡ ±â·ÏÇϸé À妽º¿Í ÄÚµåûũ°¡ ¿¬°áÀÌ µÈ´Ù. === À妽º »ý¼º === {{{\nowebindex}}} ¸¦ »ç¿ëÇÏ¿© »ý¼ºÇÑ´Ù. * noweb ¸í·É¿¡¼­ {{{-index}}} ¸¦ Ãß°¡ÇÑ´Ù. === Ã¥°¥ÇÇ === º¸ÅëÀÇ hyperref ¸¦ »ç¿ëÇÏ´Â °Í ¸¸À¸·Îµµ ÄÚµå ûũ ³¢¸®ÀÇ ¿¬°áÀÌ ÀÚµ¿À¸·Î »ý¼ºµÈ´Ù. == ±âŸ == * notangle ÀÌ ¸¸µé¾î ÁÖ´Â ¼Ò½ºÄÚµå´Â Á¶±Ý ´ä´äÇÑ ´À³¦À» ÁØ´Ù. ÀÌ°æ¿ì bcpp µîÀ» ÀÌ¿ëÇÏ¿© ¼Ò½º¸¦ ¿¹»Ú°Ô º¯È¯ÇÒ ¼ö ÀÖ´Ù.