KTUGFaq
KTUG FAQ
Emacs´Â ¸Å¿ì °·ÂÇÑ editorÀ̳ª Ç×»ó °·ÂÇÏ°í ÁÁ´Ù°í ÇÏ´Â °ÍÀº ¹è¿ì±â°¡ ¾î·Æ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. WindowXP(Á¤È®È÷ ¸»Çϸé KTUGCollection2006)À¸·Î ÀÌ»çÇØ ¿À¸é¼ ´Ù½Ã Çѹø ¹è¿öº¸·ÁÇÑ´Ù.
[ÆíÁý]
1 Emacs»ç¿ëÀ» À§Çؼ ¿ì¼± ÇØ¾ß ÇÒ °Íµé ¶
Emacs°¡ óÀ½ ¼³°èµÇ¾úÀ»¶§´Â Áö±Ý ÇöÀç keyboard¿¡¼ AÅ° ¿·ÀÇ Caps LockÅ° ÀÚ¸®°¡ CtrlÅ°°¡ ÀÖ¾ú°í, ~Å° ÀÚ¸®¿¡ AltÅ°°¡ ÀÖ¾ú´Ù°í ÇÑ´Ù. LaTeX¸¦ »ç¿ëÇÏ´Ù°¡ º¸¸é ~Å°´Â °¡²û ¾µ ÀÏÀÌ ÀÖÁö¸¸, Caps LockÅ°´Â °ÅÀÇ ¾µÀÏÀÌ ¾ø´Ù.(½ÇÁ¦·Î Windows¸¦ ¾²¸é¼µµ °ÅÀǾø´Ù.) ±×·¡¼ http://youlsa.com/2005/09/08/51/ ¿·ÀÇ site¿¡ °¡¸é ÆÄÀÏÀ» down¹Þ¾Æ¼ ¼³Ä¡ÇÏ¸é °£´ÜÈ÷ Caps LockÅ°¿Í CtrlÅ°¸¦ ¹Ù²ãÁÙ¼ö ÀÖ´Ù. ¾Æ¹«·¡µµ ÀÌÂÊÀÌ ÈÙ¾À ´õ ÆíÇÏ°Ô ÀÛ¾÷ÇÒ ¼ö ÀÖ´Ù. ±×·±µ¥ WindowXP systemÀÚü¸¦ ¹Ù²ÙÁö ¸»°í, Emacs³»ºÎ¿¡¼¸¸ ¹Ù²Ü¼öµµ ÀÖÀ»µí Çѵ¥, ¾ÆÁ÷±îÁö´Â Àß ¸ð¸£°Ú½À´Ï´Ù.
[ÆíÁý]
2 ²À ¿Ü¿ö¾ßÇÒ °Íµé ¶
* ¾Æ·¡ÀÇ Å° ÀÔ·ÂÀº http://wiki.kldp.org/wiki.php/EmacsGdbEtagsCscope ¿¡¼ °¡Á®¿Â °ÍÀÔ´Ï´Ù. ½Å¼º±¹´Ô²² °¨»çµå¸³´Ï´Ù.
C-x C-f control key¸¦ ´©¸¥ »óÅ¿¡¼, `x'¸¦ ´©¸£°í (control key¸¦ ¶¼Áö ¾Ê°í) `f'¸¦ ´©¸¥´Ù. C-x o control key¸¦ ´©¸¥ »óÅ¿¡¼, `x'¸¦ ´©¸£°í (control key¸¦ ¶¼°í) `o'¸¦ ´©¸¥´Ù. C-_ control key¸¦ ´©¸¥ »óÅ¿¡¼ `_'(¹ØÁÙ)À» ´©¸¥´Ù. M-x compile<RET> meta key¸¦ ´©¸£°í `x'¸¦ ´©¸¥ ´ÙÀ½ (meta key¸¦ ¶¼°í) `compile'À» Ä¡°í <RET>À» ´©¸¥´Ù.
ÀÚ ÀÌÁ¦ ¿©±â±îÁö ¹è¿üÀ¸¸é, Emacs¸¦ ½ÇÇà½ÃÅ°°í, "C-h t"¸¦ ´·¯ tutorialÀ» ¿°í Àо±â ¹Ù¶õ´Ù. À§ tutorialÀ» ÀÐÀ» ¶§, ¾Æ·¡ Å° ¸ñ·ÏÀº ¹Ýµå½Ã ¿Ü¿ö¼ Àͼ÷ÇÏ°Ô ¾µ ÁÙ ¾Ë¾Æ¾ß ÇÏ´Â Å°µéÀ̹ǷΠ²À ¿Ü¿ö ¾²±â ¹Ù¶õ´Ù:
- C-x C-c Emacs Á¾·á C-v ´ÙÀ½ ÆäÀÌÁö M-v ÀÌÀü ÆäÀÌÁö C-l ÇöÀç ÁÙÀ» âÀÇ °¡¿îµ¥ ºÎºÐÀ¸·Î º¸¿©ÁÜ C-p Ä¿¼ up C-n Ä¿¼ down C-f Ä¿¼ right C-b Ä¿¼ left C-a Ä¿¼¸¦ ÁÙÀÇ ¸Ç óÀ½À¸·Î C-e Ä¿¼¸¦ ÁÙÀÇ ¸Ç ¸¶Áö¸·À¸·Î M-f ´ÙÀ½ ´Ü¾î·Î M-b ÀÌÀü ´Ü¾î·Î C-d ÇÑ ±ÛÀÚ Áö¿ì±â M-d ÇÑ ´Ü¾î Áö¿ì±â C-k ÇöÀç Ä¿¼ À§Ä¡¿¡¼ ÁÙ ³¡±îÁö Áö¿ì±â C-<SPC> ÇöÀç Ä¿¼ À§Ä¡ ¸¶Å©(mark)Çϱâ M-w ¸¶Å©¿¡¼ ÇöÀç Ä¿¼ À§Ä¡±îÁö ºí·° ÁöÁ¤(copy) C-w ¸¶Å©¿¡¼ ÇöÀç Ä¿¼ À§Ä¡±îÁö Áö¿ì°í ºí·° ÁöÁ¤(cut) C-y ºÙ¿© ³Ö±â(paste) C-_ undo C-g ¸í·É ÀÔ·Â Ãë¼Ò (undo ¾Æ´Ô) C-x C-s ÆÄÀÏ ÀúÀåÇϱâ(save) C-x C-w ´Ù¸¥ À̸§À¸·Î ÆÄÀÏ ÀúÀåÇϱâ(save as...) C-x C-f ÆÄÀÏ ºÒ·¯¿À±â(load) C-x C-k ¹öÆÛ Áö¿ì±â(kill) C-x b ´ÙÀ½ ¹öÆÛ·Î Àüȯ C-x C-b ¹öÆÛ ¸ñ·Ï º¸¿©ÁÖ±â C-x 2 âÀ» µÎ°³·Î ³ª´©±â C-x 1 ÇöÀç âÀ» Á¦¿ÜÇÑ ´Ù¸¥ ⠴ݱâ C-x o ´Ù¸¥ âÀ¸·Î Ä¿¼ À̵¿
[ÆíÁý]
3 ¾à¾î¸ðµå ¶
¾à¾î¸ðµå´Â Ưº°ÇÑ ´Ü¾î³ª ¹®±¸¿¡ ´ëÇÑ ¾à¾î¸¦ Á¤ÀÇÇؼ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¶ÇÇÑ ¾à¾î¸ðµå¿¡´Â ½À°üÀûÀ¸·Î Ʋ¸° ¸»À̳ª ´Ü¾î°¡ ÀÖ´Â °æ¿ì¿¡´Â ¿ÀÀÚ¸¦ Á¤È®ÇÑ ´Ü¾î·Î ¹Ù²Ù¾î ÁÖ´Â ±â´Éµµ °¡Áö°í ÀÖ´Ù. ´ÜÁ¡À¸·Î´Â ¾à¾î¸¦ Á¤ÀÇÇÒ¶§ ´Ü¾îÀÚü°¡ ¾î¶² Àǹ̸¦ Æ÷ÇÔÇϰųª È®ÀåµÇ±â¸¦ ¿øÇÏÁö ¾Ê´Â ´Ü¾î´Â »ç¿ëÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù. ¿¹¸¦ µé¸é World Association for Replicant Technology¸¦ À§ÇÏ¿© wart¸¦ »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù. ¹°·Ð wartÀÚüÀÇ Àǹ̷Π»ç¿ëÇϱâÀ§Çؼ´Â M-x unexpand-abbrev RETRUNÀ»ÀÌ¿ëÇؼ ¾à¾î¸¦ Ãë¼ÒÇÒ ¼ö´Â ÀÖ´Ù.
[ÆíÁý]
3.1 ÇÑ ¼¼¼ÇÀ» À§ÇÑ ¾à¾î ¶
- Esc x abbrev-mode RETURN(M-x abbrev-mode RETURN)À» ÀÔ·ÂÇؼ ¾à¾î¸ðµå·Î µé¾î°£´Ù. ¸ðµå¶óÀο¡ Abbrev°¡ Ç¥½ÃµÈ´Ù.
- Àü¿ª¾à¾î¸¦ À§Çؼ ¿øÇÏ´Â ¾à¾î¸¦ Àû°í, C-x aig(add-inverse-global)¸¦ ÀÔ·ÂÇÑ´Ù(Áö¿ª¾à¾îÀÇ °æ¿ì´Â C-x ail¸¦ ³Ö´Â´Ù). °¡·É ¿ì¸®°¡ \LaTeX¸í·ÉÀ» Áý¾î ³Ö´Â´Ù°í ÇÒ¶§ shiftÅ°°¡ ¾ø´Â latex·Î ¾²°íÀÚ Çϸé latex¸¦ ÀÔ·ÂÇÏ°í C-x aig¸¦ Áý¾î ³ÖÀ¸¸é »ç¿ëÀÚ¿¡°Ô È®ÀåÇÒ ¶§ ¾µ ³»¿ëÀ» ¿äûÇÑ´Ù. ¿©±â¿¡ LaTeX·Î Áý¾î ³ÖÀ¸¸é ¾ÕÀ¸·Î º»¹®À» ¾µ¶§ latex¸¸ ¾²°í ³ÈÄ¿¡ º¸¸é ¾î´À»õ LaTeX·Î ¹Ù²î¾î ÀÖ´Â °ÍÀ» º¸°ÔµÈ´Ù.
- Àü¿ª¾à¾î¶õ ¸ðµç ¸ðµå¿¡¼ Àû¿ëµÇ´Â ¾à¾îÀÌ°í, Áö¿ª¾à¾î¶õ ƯÁ¤ÇÑ mode¿¡¼¸¸ Àû¿ëµÇ´Â ¾à¾îÀÌ´Ù. ¿¹¸¦ µé¸é PDFLaTeX mode¿¡¼¸¸ Àû¿ëµÇ´Â ¾à¾î)
- ÀÌ·¯ÇÑ ¾à¾î¸ðµå°¡ ¸¶À½¿¡ µç´Ù°í ÇÏ¸é ½ÃÀÛÇÒ ¶§ ÀÚµ¿À¸·Î ½ÃÀÛÇϵµ·Ï Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
[ÆíÁý]
3.2 ½ÃÀÛÇÒ¶§ ¾à¾î ¸ðµå ½ÇÇàÇϱ⠶
- .emacs ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ³»¿ëÀ» Àû´Â´Ù.
(setq-default abbrev-mode t) (read-abbrev-file "~/.abbrev_defs") (setq save-abbrevs t)
[ÆíÁý]
4 ´Ü¾î ¹× ÁÖ¼® ÀÚµ¿ ÀÔ·Â ¶
´ÙÀ½ÀÇ ³»¿ëÀº http://wiki.kldp.org/wiki.php/EmacsDynamicAbbrevExpand ¿¡¼ °¡Áö°í ¿Ô½À´Ï´Ù. Á»´õ ÀÚ¼¼ÇÑ ³»¿ëÀº À§ÀÇ site¸¦ È®ÀÎÇϼ¼¿ä. Emacs´Â ¾î¶² ¹öÆÛÀÇ ³»¿ëÀ» ÆíÁýÇÒ ¶§, ÀÌ ¹öÆÛ¿¡ ¾²ÀÎ ¸ðµç ´Ü¾îÀÇ ³»¿ëÀ», ±× ´Ü¾îÀÇ Ã¹ ÀϺκи¸ ÀÔ·ÂÇصµ ÀÚµ¿À¸·Î ÀÔ·ÂÇØÁÖ´Â ±â´ÉÀÌ ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ÄÚµùÇÒ ¶§ ¸Å¿ì À¯¿ëÇÑ ±â´É ÁßÀÇ ÇϳªÀÔ´Ï´Ù. M-x dabbrev-expand·Î ½ÇÇàÇÒ ¼ö ÀÖÀ¸¸ç, ´ëºÎºÐÀÇ °æ¿ì M-/·Î ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸í·É¹®À» Çϳª Áý¾î³Ö°í ³ÈÄ¿¡ ´ÙÀ½¿¡ ÇÊ¿äÇÑ ±ÛÂ¥ ÀϺθ¦ typingÈÄ¿¡ M-/¸¦ ÇØ º¸¼¼¿ä. ¿ÀŸ ¾øÀÌ ºü¸£°Ô text¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.
[ÆíÁý]
5 °³¿ä¸ðµåÀÇ »ç¿ë ¶
Ã¥, ±ä ¸Þ¸ð, ±â¼úÀûÀÎ ³»¿ë µîÀ» ÀÛ¼ºÇÏ¸é¼ Àüü±¸Á¶¸¦ ÆľÇÇϱâ¶õ ¾î·Á¿î ÀÏÀÌ´Ù. µû¶ó¼ °³¿ä¸¦ Àå¹®À¸·Î ºÎµå·´°Ô Àü°³Çϰųª, ÁøÇàÇÏ¸é¼ ³»¿ëÀ» À籸¼ºÇÏ´Â µ¥ ¾î·Á¿òÀ» ´À³¢´Ï´Ù. Áï ³ª¹«¿¡ °¡·Á¼ ½£À» º¼ ¼ö ¾ø´Ù´Â ÀǹÌÀÌ´Ù. À̶§ °³¿ä ¸ðµå¿¡¼´Â ÇØ°áÃ¥À» Á¦½ÃÇÑ´Ù. ÀÌ ±ÛÀº KTUGCollection2006ÀÇ emacs¼³Ä¡¿¡ µû¸¥ °ÍÀÔ´Ï´Ù. ºÎ¸ðµå·Î ¼³Ä¡µÈ °æ¿ì¿¡ »ç¿ë¹æ¹ýÀÌ´Ù.
C-c @ C-t (hide body) ÅؽºÆ® º»¹® ¾øÀÌ Á¦¸ñ¸¸ º¼¼ö ÀÖ´Ù. C-c @ C-a (show all) º»¹®À̵ç Á¦¸ñÀ̵ç ÆÄÀÏÀÇ ¼û°ÜÁø ³»¿ëÀ» Ç¥½ÃÇÑ´Ù. C-c @ C-d (hide subtree) Á¦¸ñ(section or subsection)¿¡ µþ¸°º»¹®ÀÇ ÀϺΰ¡ »ý·«ºÎÈ£ (...) ´ëüµÊ C-c @ C-s (show subtree) »ý·«ºÎÈ£ÀÇ ³»¿ëÀÌ ³ªÅ¸³´Ù.
- ³ª¸ÓÁö´Â pop-up menu¿¡¼ ¾²¸é µÉ°Í °°À½
[ÆíÁý]
6.1 ¿ì¼± ±âº»ÀûÀÎ »ç¿ë ¶
^ ÁÙÀÇ Ã³À½À» ã´Â´Ù $ ÁÙÀÇ ³¡À» ã´Â´Ù ? ¾ÕÀÇ ¹®ÀÚ³ª ±×·ìÀ» 0 ¶Ç´Â 1ȸ ¹Ýº¹ÇÑ´Ù. . ÀÓÀÇÀÇ ÇÑ ±ÛÀÚ¸¦ ã´Â´Ù .* ±æÀÌ°¡ 0ÀÌ»óÀÎ ÀÓÀÇÀÇ ¹®ÀÚ¿À» ã´Â´Ù \< ´Ü¾îÀÇ Ã³À½À» ã´Â´Ù \> ´Ü¾îÀÇ ³¡À» ã´Â´Ù [] ´ë°ýÈ£ ³»¿¡ Á¤ÀÇµÈ ¹®ÀÚ¿¹¸¦ µé¾î, [a-z]´Â ÀÓÀÇÀÇ ¾ËÆĺª ¼Ò¹®ÀÚ¸¦ ÀǹÌÇÑ´Ù \\( ±×·ìÀÇ ½ÃÀÛ \\) ±×·ìÀÇ ³¡ \\| \\|ÀÇ ¾ÕÀ̳ª µÚÀÇ Ç¥Çö½Ä¿¡ ´ëÀÀÇÑ´Ù.
ÀϹÝÀûÀÎ egrep°ú °¡Àå Å« Â÷ÀÌÁ¡Àº
- *¿¬»êÀÚ ÀÌ´Ù. egrep¿¡¼´Â *¿¬»êÀÚ°¡ ÀÓÀÇÀÇ ¹®ÀÚ¿À» ÀǹÌÇÏÁö¸¸ emacs¿¡¼´Â .*À¸·Î ½á¾ßÇÑ´Ù
- ±×·ì¿¬»êÀÚÀÎ ()¿¡ ¿ª½½·¡½Ã°¡ µÎ°³ µé¾î°£´Ù´Â Á¡ÀÌ´Ù. ÀÌ·¸°Ô ¿ª½½·¡½Ã°¡ ¸¹ÀÌ µé¾î°¡´Â ÀÌÀ¯´Â ±âº»ÀûÀÎ Á¤±ÔÇ¥Çö½Ä ¿¬»êÀÚ ÀÌ¿Ü¿¡ Ư¼ö ¹®ÀÚ°¡ ¸¹¾ÆÁö´Â °ÍÀ» ¹æÁöÇϱâ À§ÇØ ¿ª½½·¡½Ã¸¦ Æ÷ÇÔÇÑ´Ù°í ÇÑ´Ù.(?)
[ÆíÁý]
6.2 ½ÇÁúÀûÀÎ »ç¿ë·Ê(»ç¿ëÀÚ Á¤ÀÇ command¸¦ ȯ°æÀ¸·Î ¹Ù²Ù±â) ¶
¿¹°¡ ÀûÀýÇÑÁö¸¦ ¸ð¸£°ÚÁö¸¸, ¸¸¾à »ç¿ëÀÚ Á¤ÀÇ command¸¦ »ý°¢ÀÌ ¹Ù²î¾î¼ ȯ°æÀ¸·Î ¹Ù²Ù°í ½Í´Ù°í ÇÏÀÚ. ÀÌ°ÍÀ» ±×³É simpleÇÑ search & replace·Î ¹Ù²Ù±â´Â ½±Áö°¡ ¾Ê´Ù. ¿¹¸¦ µé¾î¼ \mycommand{text}¸¦
\begin{myenv} text \end{myenv}·Î ÇØ¾ß ÇÏ´Â »óȲÀÌ ÀÖ´Ù¸é ¾î¶»°Ô °íÄ¥°ÍÀΰ¡?
- ½¬¿î°Í ºÎÅÍ »ý°¢Çغ¸ÀÚ. command¿¡ µþ·Á ÀÖ´Â ÀÎÀÚ°¡ ÇϳªÀÌ°í ±×¾È¿¡ ¶Ç ´Ù¸¥ command°¡ ¾ø´Â °æ¿ìÀÌ´Ù. ±×¾ß ¸»·Î textÀÏ »ÓÀÎ °æ¿ìÀÌ´Ù. C-M-% ¸¦ ÀÔ·ÂÇϰųª, EmacsÀÇ ¸Þ´º¿¡¼ Edit->Replace->Replace Regexp ¸¦ ¼±ÅÃÇؼ ¸ÕÀú mycommandºÎºÐÀ» Áý¾î ³Ö°í, ±× ÀÌÈÄ¿¡ myenvºÎºÐÀ» Áý¾î ³Ö´Â´Ù.
\\\mycommand{\(.*?\)} -> \\begin{myenv} \1 \\end{myenv}
- À§¿¡¼ ÁÖ¸ñÇÒ Á¡Àº Á¤±ÔÇ¥Çö½ÄÀÇ ¿¬»êÀÚ·Î »ç¿ëµÇ´Â ¹®ÀÚ¸¦ ³ªÅ¸³»±â À§Çؼ´Â ¿ª½½·¡½Ã µÎ°³¸¦ ¾Õ¿¡ µÎ¾î¾ß ÇÑ´Ù.Áï \\\mycommand¿¡¼ ¾ÕÀÇ µÎ°³ÀÇ ¿ª½½·¡½Ã´Â 3¹ø° ¿ª½½·¡½Ã°¡ Á¤±ÔÇ¥Çö½ÄÀÇ ¿¬»êÀÚ°¡ ¾Æ´Ï¶ó´Â °ÍÀ» ³ªÅ¸³½°ÍÀÌ´Ù. µÎ¹ø°·Î \1ÀÇ ÀÎÀÚ·Î ¹ÞÀ» ¹®ÀÚ groupingÇÏ´Â ¿¬»êÀÚ \(.*?\) ÀÌ´Ù. ¿©±âÀÇ KTUG Wiki Á¤±Ô½Ä ¿¡¼µµ ¾ð±ÞµÈ ³»¿ëÀÌÁö¸¸ ´À½ºÇÑ ¿¬»êÀÚ¸¦ ½á¼ matchingÀ» ½Ãµµ ÇÑ°ÍÀÌ´Ù. ±×·¸´Ù¸é replacement string¿¡¼´Â ¿Ö µÎ°³ÀÇ ¿ª½½·¡½Ã¸¸ ¾´ ÀÌÀ¯´Â Replacement stringÀº LISP ÀÎÅÍÇÁ¸®ÅÍ°¡ Çؼ®À» ¾ÈÇÑ´Ù°í ÇÕ´Ï´Ù. (¹«½¼ ¸»ÀÎÁö Àß ¸ð¸£°ÚÁö¸¸....) ±×·¡µµ ÀÛµ¿Àº Çϴϱñ¿ä? Çؼ®Á»...
- Á»´õ ¾î·Á¿î °æ¿ì´Â ÀÎÀÚ°¡ 2°³ ÀÌ»óÀÌ°í ¾Õ¿¡ ´Ù¸¥ ¸í·É¹®ÀÌ ¾²ÀÎ °æ¿ì
[ÆíÁý]
6.3 ½ÇÁúÀûÀÎ »ç¿ë·Ê (º» Wikipage¸¦ LaTeX file·Î ¸¸µé±â) ¶
¹°·Ð ÃÖ±Ù¿¡ wikipage¸¦ ¾î¶»°Ô Çؼ LaTeX·Î º¯ÇüÇÏ¿´´Ù´Â ¼Ò¹®Àº µè±â´Â ÇßÁö¸¸, ¿©±â¼´Â °£´ÜÈ÷ À§ÀÇ source¸¦ ¹Þ¾Æ¼ ¾î¶»°Ô tex·Î ¹Ù²Ù´ÂÁö¿¡ ´ëÇؼ »ý°¢ÇØ º¸°Ú´Ù.
- ¸ÕÀú sourceÀÇ ºÐ¼®(?)ÀÌ´Ù. ¿©±â wiki page´Â °£´ÜÈ÷°Ô µÇ¾î ÀÖ¾î¼ µé¾î°¡ ÀÖ´Â °ÍµéÀº Àλ縻, tableofcontents,Á¦¸ñ°ú ºÎÁ¦¸ñ, °Á¶µÈ±Û²Ã, ±ÛÂ¥±×´ëµµ º¸±â¸ðµå, º»¹®, º»¹®Áß latex¿¡¼ ±×´ë·Î ¾²±â ±ÝÁöµÈ ±ÛÂ¥(\,?, %), hypertargetµîÀÌ µé¾î ÀÖ´Â °ÍÀÌ ÀüºÎÀÌ´Ù.
- À§¿¡¼ Àλ縻Àº abstract·Î, tableofcontents´Â tableofcontents·Î Á¦¸ñ°ú ºÎÁ¦¸ñÀº section°ú subsectionÀ¸·Î, °Á¶µÈ ±Û²ÃÀº emph·Î ±ÛÂ¥±×´ë·Î º¸±â´Â boxedverbatimÀ¸·Î º»¹®Áß latex¿¡¼ ¾²±â ±ÝÁöµÈ±ÛÂ¥µîÀº Àû´çÇÑ °ÍÀ¸·Î hypertargetÀº \url·Î ¹Ù²Ù¸é µÉ°Í °°´Ù.
- Emacs¿¡¼ ÇÒÀϷδ ±×³É emacsÀÇ ¸í·ÉÇà¿¡¼ ÇÏ´Â °ÍÀº Á¶±Ý ¾î·Á¿ïµí ½Í°í Çؼ LISP programÀ¸·Î Çغ¸·Á°í ÇÑ´Ù.
- Á¤½ÄÀ¸·Î LISP programÀ» ¸¸µé±â º¸´Ù´Â °£´ÜÇÑ ÇÔ¼ö ¸î°³¸¦ Á¤ÀÇÇؼ µ¹¸®¸é µÇ¹Ç·Î Lisp Interaction mode¿¡¼ ÀÛ¾÷Çϱâ·ÎÇÑ´Ù. <ºó ÆÄÀÏ¿¡¼ M-x lisp-interaction mode ÁÖ¸ðµå¸¦ ÇÏ°í ³ÈÄ¿¡ ¾Æ·¡ÀÇ code¸¦ Áý¾î ³Ö°í ³ª¼ ¸¶Áö¸·¿¡ C-j¸¦ ÀÔ·ÂÇÏ¸é µî·ÏÀÌ µË´Ï´Ù. ±×¸®°í ÆíÁýÀ» ÇÏ·Á°í ÇÏ´Â text ÈÀÏ¿¡¼ M-x ÇÔ¼ö¸í ÇÏ¸é µË´Ï´Ù.>
(defun mod-wiki () (interactive) (save-excursion ( replace-regexp "===\\(.*?\\)===" "\\\\subsection(\\1)") ( replace-regexp "==\\(.*?\\)==" "\\\\section{\\1}")))
- Á¤½ÄÀ¸·Î LISP programÀ» ¸¸µé±â º¸´Ù´Â °£´ÜÇÑ ÇÔ¼ö ¸î°³¸¦ Á¤ÀÇÇؼ µ¹¸®¸é µÇ¹Ç·Î Lisp Interaction mode¿¡¼ ÀÛ¾÷Çϱâ·ÎÇÑ´Ù. <ºó ÆÄÀÏ¿¡¼ M-x lisp-interaction mode ÁÖ¸ðµå¸¦ ÇÏ°í ³ÈÄ¿¡ ¾Æ·¡ÀÇ code¸¦ Áý¾î ³Ö°í ³ª¼ ¸¶Áö¸·¿¡ C-j¸¦ ÀÔ·ÂÇÏ¸é µî·ÏÀÌ µË´Ï´Ù. ±×¸®°í ÆíÁýÀ» ÇÏ·Á°í ÇÏ´Â text ÈÀÏ¿¡¼ M-x ÇÔ¼ö¸í ÇÏ¸é µË´Ï´Ù.>
- ´ÙÀ½Àº wikiÀÇ ¸ñ·Ï ¼±ÅÃÀÚÀÎ *¸¦ \itemÀ¸·Î ¹Ù²Ù°í ³ÈÄ¿¡ óÀ½ ³ª¿Â \item¿¡ \begin{itemize}À» µ¡ºÙÀÌ´Â codeÀÔ´Ï´Ù. ¸Å¿ì ½Å±âÇÕ´Ï´Ù. ÀÌ·¸°Ô textÈÀÏ¿¡ ¾î´À ÀÏÁ¤ ºÎºÐ¿¡ ƯÁ¤ÇÑ ºÎºÐÀ» Áý¾î ³ÖÀ»¼ö ÀÖ´Ù´Â °ÍÀÌ¿ä!! Àç¹ÌÀÖ½À´Ï´Ù. Á¤¸»·Î Àç¹ÌÀֳ׿ä. conditional±îÁö ºÙ¿´½À´Ï´Ù. ¸¸¾à ¸ñ·ÏÀÌ ¼¼°³ ÀÌ»ó µé¾î°£ °æ¿ì¿¡´Â if¹®À» Çϳª ´õ ½á¾ß ÇÏ°ÚÁö¿ä!.
(defun mod-listofwiki () (interactive) (save-excursion (goto-char (point-min)) (while (< (point) (point-max)) (let ((count (re-search-forward "^\\\\item"))) (backward-word) (backward-char) (goto-char (point)) (insert "\\begin{itemize}\n") (forward-line 1) (goto-char(point)) (while (looking-at "^\\\\item") ( if (looking-at "^\\\\item2") (progn (insert "\\begin{itemize}\n") (forward-line 1) (while (looking-at "^\\\\item2") (forward-line 1)) (insert "\\end{itemize)\n")) (forward-line 1))) (insert "\\end{itemize}\n")))))
- ¸¸¾à wiki¿¡¼ \command³ª \begin{env}¹® µîÀ» ¤Ô ½èÀ»¶§´Â ¾î¶»°Ô ÇØ¾ß Çϳª¿ä ´ëÇÑ °í¹ÎÀÔ´Ï´Ù. ±×³É °£´ÜÈ÷ »ý°¢Çϱâ·Î´Â \command³ª \begin{env}¸¦ \verb·Î ġȯÇÏ¿© ±× ¾È¿¡ Áý¾î ³ÖÀ¸¸é µÉ°Í °°Áö¸¸, ±×°ÍÀÌ ±×¸® ´Ü¼øÇÏÁö´Â ¾Ê½À´Ï´Ù. ¿Ö³ÄÇÏ¸é ¿ì¸®´Â ÀÌÀü¿¡ text ¹®À» boxedverbatimȯ°æÀ¸·Î ¹Ù²Û´Ù°í Çß°í, ±×·¸´Ù¸é ÀÌ ¾È¿¡ µé¾î ÀÖ´Â °Íµµ ±×·¸°Ô ¹Ù²î¾î ¹ö¸±°Í °°½À´Ï´Ù. ±×·¯¸é ¾ÈµÇ±â ¶§¹®¿¡ ¾´ °ÍÀÌ narrow-to-regionÀ̶ó´Â ELISP ÇÔ¼öÀÔ´Ï´Ù. ±×·±µ¥ ²À À̰͵µ µÎ¹øÀ» ½ÇÇàÇØ¾ß Á¦´ë·ÎµÈ °á°ú°¡ ³ª¿É´Ï´Ù. ¿Ö Àϱî¿ä? ±×¸®°í Áß°£Áß°£¿¡ º¸¸é \À» ½ÃÀ۵Ǵ °ÍÀº ´Ù ÀÌ·±½ÄÀ¸·Î ¹Ù²Ù´Â °ÍÀ» º¼¼ö´Â ÀÖ½À´Ï´Ù¸¸, ÀÌ°ÍÀÌ ±×¸® Å©°Ô ¹®Á¦µÇÁö ¾ÊÀ»°Í °°¾Æ¼ ±×³É µÎ¾ú½À´Ï´Ù.
(defun mod-wikitotex () (interactive) (save-excursion ( replace-regexp "{{{" "\\\\begin{boxedverbatim}" ) ( replace-regexp "À§ÀÇ ¹Ý´ë±âÈ£" "\\\\end{boxedverbatim}" ) ( point-min ) ( while (< (point) (point-max)) ( narrow-to-region (point) (progn (search-forward "\\begin{boxedverbatim}") (backward-word) (backward-word) (backward-char) (point))) ( goto-char (point-min)) ( replace-regexp "\\(\\\\[a-zA-Z{}]*\\)" "\\\\verb{\\1}") ( widen ) ( search-forward "\\end{boxedverbatim}") ( narrow-to-region (point)( progn (search-forward "\\begin{boxedverbatim}") (backward-word) (backward-word) (backward-char) (point))) ( goto-char (point-min)) ( replace-regexp "\\(\\\\[a-zA-Z{}]*\\)" "\\\\verb{\\1}") ( widen ))))
- ÀÌÁ¦ À§ÀÇ ÇÔ¼ö¸¦ Àû´çÈ÷ ÀÌ¿ëÇÏ¸é µÉ°Í °°½À´Ï´Ù. Ȥ½Ã ÇÊ¿äÇϽźÐÀÌ ÀÖÀ¸¸é Çѹø Çغ¸°Ú½À´Ï´Ù.
[ÆíÁý]
6.3.1 Q1 ¶
¸À¹è±â·Î LISP programÀ» ¸¸µé°í Àִµ¥, µÎ °¡Áö ¹®Á¦°¡ ÀÖ´Ù. ù°´Â Emacs°¡ Á×´Â °æ¿ì°¡ °¡²û¾¿ ÀÖ´Ù´Â °ÍÀÌ´Ù.(Á¤¸» ÀÌ·²¶§´Â ´Ù½Ã linux·Î µ¹¾Æ°¡°í ½Í´Ù) µÎ¹ø°´Â fileÀÇ cursor°¡ óÀ½¿¡ °¡ ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.(?) ±×¸®°í Á¤¸»·Î ¸ð¸£°Ú´Â°ÍÀÌ ¹é½º·¡½Ã »ç¿ë¹æ¹ýÀÌ´Ù. ´ëü·Î ¾î¶»°Ô ¹é½½·¡½Ã¸¦ ½á¾ß Á¦´ë·Î µÈ ¹æ¹ýÀÎÁö ¾Ë¼ö°¡ ¾ø´Ù. Á¶±Ý Á¶¾ðÀ» ÇØ ÁֽǺÐÀº ¾È °è½Å°¡¿ä?
[ÆíÁý]
6.3.2 A1 ¶
¾î¶² °æ¿ì¿¡ Á×´ÂÁö¿ä? fileÀÇ cursor°¡ óÀ½¿¡ °¡ ÀÖ¾î¾ß ÇÑ´Ù´Â ¸»ÀÇ Àǹ̰¡ ¹«¾ùÀÎÁö¿ä? lispÀÇ regular expressionÀº ¹é½½·¡½¬°¡ 2°³¾¿ ÇÊ¿äÇÏ´Ù°í º¸½Ã¸é µË´Ï´Ù.(±×´© À̸ƽº ½ÃÀÛÇϱâ "ÇѺû¹Ìµð¾î" p412Âë¿¡ º¸½Ã¸é ÀÚ¼¼È÷ ³ª¿Í ÀÖ½À´Ï´Ù.
(replace-regexp "fred\\*" "bob*")
LISP ÀÎÅÍÇÁ¸®ÅÍ´Â fred\\*¸¦ fred\*·Î Çؼ®Çؼ replace-regexp ¸í·ÉÀÇ ÀÎÀÚ·Î ³Ñ±ä´Ù. ±×·¯¸é replace-regexp ¸í·ÉÀº fred\*¸¦ fred µÚ¿¡ º°Ç¥°¡ Ç¥½ÃµÈ ÇüÅ·ΠÀνÄÇÑ´Ù. ÇÏÁö¸¸ replace-regexpÀÇ µÎ¹ø° ÀÎÀÚ´Â Á¤±Ô Ç¥Çö½ÄÀÌ ¾Æ´Ï¹Ç·Î bob*¿¡¼´Â ¿ª½½·¡½Ã¸¦ ÀÌ¿ëÇÑ À̽ºÄÉÀÌÇÁ Äڵ尡 ÇÊ¿ä¾ø´Ù. ¶ÇÇÑ À§ÀÇ ³»¿ëÀ» »ç¿ëÀÚ ¸í·ÉÀ¸·Î Á÷Á¢ ÀÔ·ÂÇؼ ½ÇÇàÇÑ´Ù¸é µÎ °³ÀÇ ¿ª½½·¡½Ã¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. Áï ESC x replace-regexp RETURNÀ» ÀÔ·ÂÇÏ°í, fred\*¿Í bob*À» ÀÔ·ÂÇÑ´Ù. ¹Ì´Ï¹öÆÛ¿¡¼ ¹Þ¾ÆµéÀÎ ¹®ÀÚ¿Àº ´Ù¸¥ ¹æ½ÄÀ¸·Î Çؼ®ÇÑ´Ù.
|
--hermian
[ÆíÁý]
6.3.3 Q2 ¶
°¨»çÇÕ´Ï´Ù. Àúµµ ½ÇÀº °°Àº Ã¥À» º¸¸é¼ °øºÎÇÏ°í ÀÖ½À´Ï´Ù.(?) ÀÌ·¸°Ô ÇнÀ´É·ÂÀÌ ¶³¾îÁ®¼¾ß Âü! ÇìÇì.... ù°·Î Emacs°¡ Á×´Â °æ¿ì´Â À§ÀÇ °æ¿ì¸¦ ½ÇÇàÇÏ°í ³ÈÄ¿¡ wikitestÈÀÏÀº ÀúÀåÇÏ°í ÇÏÁö ¾Ê°í, closeÇÒ¶§ »ý±é´Ï´Ù. gnuserver error¶ó°í ÇÏ¸é¼ stninÀ¸·Î ºÎÅÍ ÀÔ·ÂÀ» ¹ÞÀ»¼ö ¾ø´Ù°í ÇÕ´Ï´Ù. ±×·±µ¥ ÀÌ·± error message°¡ ³ª¿Ô´Ù°¡ ¾È ³ª¿Ô´Ù°¡ ÇÕ´Ï´Ù. µÎ¹ø°·Î À§ÀÇ functionÀ» ½ÇÇàÇϸé Á¦´ë·ÎµÈ °á°ú°¡ Çѹø¿¡ ³ª¿ÀÁö ¾Ê½À´Ï´Ù. µÎ¹ø ÀÌ»ó ½ÇÇàÇØ¾ß ³ª¿É´Ï´Ù.(±×·¡¼ Á¦ ³ª¸§´ë·Î »ý°¢Çϱ⿡ ±×³É! ±ÛÀÇ ¸¶Áö¸·À¸·Î ¿òÁ÷¿©¼ ±×·¸Áö ¾Ê³ª! »ý°¢Çؼ »ý°¢³ª´Â µ¥·Î Àû¾î º» °ÍÀÔ´Ï´Ù) ÀÌ·¸°Ô ±Ý¹æ º¸½Ç ºÐÀÌ ÀÖÀ»ÁÙÀº »ý°¢µµ ¸øÇÏ°í¿ä... ¼¸Â°·Î "¹Ì´Ï¹öÆÛ¿¡¼ ¹Þ¾Æ µéÀÎ ¹®ÀÚ¿Àº ´Ù¸¥ ¹æ½ÄÀ¸·Î Çؼ®ÇÑ´Ù" ¶ó´Â ¸»ÀÌ µµ´ëü ¹«½¼ ¸»ÀÎÁö¸¦ ¾Ë¼ö ¾ø¾ú½À´Ï´Ù. *¸¦ escapse sequence·Î ¹Þ¾ÆµéÀÌ·ÁÇÏ¸é ¾Õ¿¡ \\°¡ ÀÖ¾î¾ß ÇÑ´Ù´Â ¸»Àº ÀÌÇØ°¡ °©´Ï´Ù. ±×·¡¼ Á¦ »ý°¢¿¡´Â \\\ ¼¼°³¸¸ ÀÖÀ¸¸é µÇÁö ¾Ê³ª »ý°¢À» Çß½À´Ï´Ù. ±×·±µ¥ ÀÌ·¸°Ô ÇÏ°í Çß´õ´Ï Invalid \ use¶ó°í ÇÏ´Â error message°¡ ³ª¿À´õ±º¿ä! ±×·¡¼ °á±¹ \\\\ Çϳª¸¦ ´õ Çß´õ´Ï, Á¦´ë·Î µÈ °á°ú°¡ ³ª¿Ô½À´Ï´Ù. ¿Ö Çϳª¸¦ ´õ ÇØ¾ß Çϳª¿ä?
ps) ¸ñ·Ï¸¦ tex file·Î ¸¸µé±â°¡ ½±Áö ¾Ê³×¿ä? *¸¦ item°¡ ÇÑÄ´õ µé¾î°£ *¸¦ item2·Î ÇØ ³õ°í ³ª¼ ¿©±â¿¡ ÀûÀýÈ÷ ȯ°æÀ¸·Î µÑ·¯½ÎÁÖ¾î¾ß Çϴµ¥.... ½ÃÀÛ°ú ³¡Á¡À» ¸¸µé±â°¡ ½±Áö¸¦ ¾Ê½À´Ï´Ù. ½±Áö ¾Ê¾Æ¼ ±×³É ½¬°í ÀÖ½À´Ï´Ù. ¹º°¡ ¹æ¹ýÀÌ ³ª¿Ãµí ÇÕ´Ï´Ù¸¸. --synapse
[ÆíÁý]
6.3.4 A2 ¶
´äº¯Àº ¾Æ´ÏÁö¸¸ Á» ±¸ºÐÇÒ ÇÊ¿ä°¡ ÀÖÀ»µí ÇÏ¿© ÆíÀÇ»ó Q1, Q2¶ó ºÙ¿´½À´Ï´Ù. Á¤È®ÇÑ ´äÀÌ ¾Æ´Ï¶ó Á˼Û
±¸Ã¼ÀûÀÎ ¿¹¸¦ µå¼Ì´Âµ¥ Á¦°¡ Àß ÀÌÇظ¦ ¸øÇÏ°Ú½À´Ï´Ù. ¾î¶² ¼Ò½º·Î À§ÀÇ lispÀ» ½ÇÇàÇϼ̴ÂÁö¿ä? Á¤È®ÇÑ ¼Ò½º¸¦ ÀοëÇØÁֽøé Àúµµ Çѹø Çغ¸°Ú½À´Ï´Ù. ½ÇÀº ÀÛÀº³ª¹«´ÔÀÌ lispÀ» ¿¹Àü¿¡ Çϼ̴ٰí ÇÏ´Ï ¾Æ¸¶ Àß ºÁÁֽǰ̴ϴÙ.
µÎ¹ø° À§ functionÀÌ parameter°¡ ¾ø½À´Ï´Ù. bufferÀüü¶ó´ø°¡ ±×·±°Ô ÀüÇô ¾ø´Âµ¥ ½ÇÇàµÉ¶§ ¾î¶»°Ô ¾îµð¼ ¾îµð±îÁö º¯°æÇØ¾ß ÇÏ´ÂÁö¸¦ ¸ð¸£°ÚÁö¿ä. ¾Æ¸¶ replace-regexpÇÔ¼ö°¡ Ưº°ÇÑ ÀÎÀÚ°¡ ¾øÀ¸¸é Ä¿¼À§Ä¡ºÎÅÍ ¸¶Áö¸· ±îÁö µ¿ÀÛÇÏÁö ¾ÊÀ»±î ÃßÃøµË´Ï´Ù. M-x describe-function RETURN replace-regexp RETURN ÇÏ½Ã¸é ¼³¸íÀÌ ³ª¿Ã°Ì´Ï´Ù.
¹Ì´Ï¹öÆÛ¶õ À̸ƽº ¸Ç ¾Æ·¡ ¹ÝÇ⿵¿ªÀ» ÀǹÌÇÑ´Ù´Â °ÍÀº ¾Æ½Ã°ÚÁÒ. º¸Åë À©µµ¿ìÀÇ °æ¿ì À§ÀÇ ÇÔ¼ö¸¦ ½ÇÇàÇϵíÀÌ M-x replace-regexp RETURN À̶ó°í Ä¡¸é Replace regexp:ÀÌ ³ª¿É´Ï´Ù. ±×·¯¸é ãÀ» ¹®ÀÚ¸¦ ÀÔ·ÂÇÏ°í RETURNÀ» ÀÔ·ÂÇϸé Replace regexp begin with: ³ª¿À¸é ¹Ù²Ü ¹®ÀÚ¸¦ ÀÔ·ÂÇÏ°Ô µË´Ï´Ù. À̶§ ÀÌ·¸°Ô ¹¯´Â ¸»¿¡ ´äº¯(?)ÇÒ¶§´Â ÀϹÝÀûÀ¸·Î ¿ª½½·¡½Ã¸¦ Çϳª¸¸ ¾´´Ù´Â ¶æÀÔ´Ï´Ù. ¹«Ã´ ±äµ¥ º°·Î Àß ¼³¸íµÇÁö´Â ¾Ê´Â±º¿ä. °£´ÜÈ÷ interactiveÇÔ¼ö¸¦ ÇÔ¼ö·Î callÇÒ¶§´Â ¿ª½½·¡½Ã¸¦ µÎ°³, Á÷Á¢ À̸ƽºÀÇ ¸í·É¾î·Î »ç¿ëÇÒ¶§´Â ¿ª½½·¡½Ã¸¦ ÇÑ°³ ÀÌ·¸°Ô ÀÌÇØÇصµ µÉ°Í °°½À´Ï´Ù¸¸.
¸Â½À´Ï´Ù. Emacs lisp-interaction mode·Î Çؼ °£´ÜÈ÷ ½ÇÇèÇØ º¸¾Ò½À´Ï´Ù. º» wiki page ³»¿ëÀ» copyÇؼ emacs¿¡ ºÙ¿©³Ö°í ³ª¼ »õ·Î¿î â Çϳª¸¦ ¶ç¿ó´Ï´Ù. ±×¸®°í M-x lisp-interaction-mode ÇϽðí¿ä. À§ÀÇ Äڵ带 ¹Þ¾Æ¼ copyÇÏ°í ³ª¼ ÈÀÏÀÇ ³¡¿¡ °¡¼ C-jÇϽøé wiki-mod¶ó´Â ÇÔ¼ö°¡ Á¤Àǵ˴ϴÙ. ±×¸®°í ³ª¼ ´Ù½Ã ÀÌÀü wiki page³»¿ëÀ» copyÇÑ °ÍÀ¸·Î ¿Í¼ M-x wiki-modÇÏ¸é ¹Ù²ï °á°ú°¡ ³ª¿É´Ï´Ù. À§¿¡¼ ¸ñ·ÏÀ» ¹Ù²Ù´Â °ÍÀ» ¸¸µé°í Àִµ¥, ¹è¿ö¾ß ÇҰ͵µ ¸¹Áö¸¸, ½Å±âÇϱâ´Â ÇÕ´Ï´Ù.°¨»çÇÕ´Ï´Ù.--synapse