== ¼Ò°³ == CTAN:macros/latex/contrib/perltex/ Perl Äڵ带 °¡Áö°í LaTeX ¸ÅÅ©·Î¸¦ Á¤ÀÇÇØ ½á¸Ô´Â Àç¹ÌÀÖ´Â ÆÐÅ°ÁöÀÌ´Ù. Perl ¸ÅÅ©·Î°¡ LaTeX ¸ÅÅ©·Î·Î µÇ´Â °ÍÀÌ´Ù. À̷νá LaTeXÀÇ Á¶ÆÇ ´É·Â°ú PerlÀÇ ÇÁ·Î±×·¡¹Ö ´É·ÂÀ» °áÇÕÇÒ ¼ö ÀÖ°Ô µÈ´Ù. == »ç¿ë¹ý == ÇÁ¸®¾Úºí¿¡ `\usepackage{perltex}`¶ó°í ¼±¾ðÇÑ´Ù. ÀÌÁ¦ `\perlnewcommand`, `\perlrenewcommand`, `\perlnewenvironment`, `\perlrenewenvironment`ÀÇ ³×°¡Áö ¸í·ÉÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ¹®¼­ÄÄÆÄÀÏÀº `perltex.pl`À̶ó´Â ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù. ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù. {{{ --latex=program ±âº»°ªÀÎ latex ´ë½Å ´Ù¸¥ ½ÇÇà¸í·É(¿¹:pdflatex)À» ÁÙ ¼ö ÀÖ´Ù. --nosafe ±âº»°ªÀ¸·Î À§ÇèÇÑ PerlÄÚµå(¿¹: ÆÄÀÏ»èÁ¦)°¡ ½ÇÇàµÇÁö ¾Êµµ·Ï µÇ¾î Àִµ¥ ÀÌ ¿É¼ÇÀº ¾ÈÀüÀåÄ¡¸¦ Ç®¾îÁØ´Ù. ¸ðµç Perl Äڵ尡 ±×´ë·Î ½ÇÇàµÈ´Ù. --permit=feature ƯÁ¤ PerlÄڵ常À» ¾ÈÀüÀåÄ¡·ÎºÎÅÍ ÇØÁ¦ÇÑ´Ù. ¿©·¯¹ø ¿É¼ÇÀ» ÁÙ ¼ö ÀÖ´Ù. }}} == º¸±â1: ÇÑ±Û Sorting ¿¹Á¦ == TeXÀ¸·Î´Â ¹®ÀÚ¿­À» ¼ÒÆÃÇÏ´Â Äڵ带 Â¥±â°¡ ½±Áö¾Ê´Ù. PerlTeX¿¡°Ô ÀÌ·± °ÍÀº ½ÄÀº Á× ¸Ô±âº¸´Ù ½±´Ù. test.tex: {{{ \documentclass[a4paper]{article} \usepackage{perltex} \usepackage{dhhangul} \perlnewcommand{\sortarg}[1]{join ',', sort split ',', $_[0]} \newcommand{\teststring}{ÇѱÛ,°¡³ª´Ù,¿ì¸®³ª¶ó,´ëÇѹα¹} \begin{document} \begin{center} \teststring\\ $\Downarrow$\\ \sortarg{\teststring} \end{center} \end{document} }}} PerlTeXÀº TeX ¸ÅÅ©·Î¸¦ ¸¸³ª¸é À̸¦ È®Àå(expand)ÇÑ ÈÄ Perl·Î ó¸®ÇÑ´Ù. È®ÀåÀ» ¸øÇÏ°Ô ÇÏ·Á¸é `\noexpand`¸¦ TeX ¸ÅÅ©·Î ¾Õ¿¡ ºÙÀÌ¸é µÈ´Ù. ÄÄÆÄÀÏ: {{{ $ perltex.pl --latex=lambda --nosafe test.tex }}} ±× °á°ú: Uploads:perltexsortexample.png ¿Í~ º¸±â¸¸ Çصµ ½Å³³´Ï´Ù. :D --[Progress] == º¸±â2: DB¿Í ¿¬µ¿ÇÑ List Plot ±×¸®±â == º» ¿¹Á¦´Â DB(MySQL)¿¡ ÀúÀåµÇ¾î ÀÖ´Â ¼öÄ¡ µ¥ÀÌÅ͸¦ Perl·Î ÃßÃâÇÏ¿© À̸¦ PSTricks¸¦ ÀÌ¿ëÇÏ¿© List plotÀ» ±×¸®´Â ¿¹Á¦ÀÌ´Ù. ¿©±â¼­ ±¸ÇöÇÏ·Á´Â °ÍÀº List plot¿¡¼­ Àüü Æò±Õ°ú ÃÖ´ë°ª, ÃÖ¼Ò°ªÀ» perl·Î »êÃâÇÏ¿© À̸¦ ¹Ù·Î TeXÀ¸·Î Ãâ·ÂÇÏ´Â ±â´ÉÀ» ÁÖ´Â °ÍÀÌ´Ù. ¿©±â ¿¹Á¦´Â Linux¿¡¼­ »ç¿ëÇÏ´Â °ÍÀ» °¡Á¤ÇÏ°í testÇÏ¿´À¸³ª Windows¿¡¼­µµ »ç¿ë°¡´ÉÇϸ®¶ó »ý°¢µÈ´Ù. === DB¿¡¼­ °ü·Ã µ¥ÀÌÅÍ ÃßÃâÇϱâ === º» ¿¹Á¦¸¦ µû¶ó ÇÒ ¼ö ÀÖµµ·Ï DB »ý¼º¿¡¼­ µ¥ÀÌÅÍ ÀÔ·Â ±×¸®°í ÃßÃâ±îÁö¸¦ º¸À̱â·Î ÇÏ°Ú´Ù. ÀÏ´Ü, localhost¿¡ MySQLÀÌ ¼³Ä¡ µÇ¾î ÀÖ´Ù°í °¡Á¤ÇÏ°í, 1. DB Á¢¼Ó ¹× À¯Àú »ý¼º {{{ % mysql -h localhost -p -u root Enter password: ***** mysql> GRANT ALL ON perltexdb.* TO 'ptuser'@'localhost' IDENTIFIED BY 'ptpass'; Query OK, 0 rows affected (0.09 sec) mysql> CREATE DATABASE perltexdb; Query OK, 1 row affected (0.08 sec) mysql> quit }}} 2. Table »ý¼º ¹× µ¥ÀÌÅÍ ÀÔ·Â {{{ % mysql -h localhost -p -u ptuser Enter password: ptpass mysql> USE perltexdb; mysql> CREATE TABLE perfdata (num INT, value FLOAT); mysql> INSERT INTO perfdata (num,value) VALUES(1, 10.21); mysql> INSERT INTO perfdata (num,value) VALUES(2, 20.22); mysql> INSERT INTO perfdata (num,value) VALUES(3, 30.23); mysql> INSERT INTO perfdata (num,value) VALUES(4, 40.24); mysql> INSERT INTO perfdata (num,value) VALUES(5, 50.25); mysql> INSERT INTO perfdata (num,value) VALUES(6, 52.24); mysql> INSERT INTO perfdata (num,value) VALUES(7, 30.23); mysql> INSERT INTO perfdata (num,value) VALUES(8, 20.22); mysql> INSERT INTO perfdata (num,value) VALUES(9, 10.21); mysql> INSERT INTO perfdata (num,value) VALUES(10, 8.18); }}} 3. DB¿¡¼­ µ¥ÀÌÅÍ °¡Á®¿À±â PerlÀÇ DBI moduleÀ» »ç¿ëÇÏ¿© PSTricks¸¦ ÅëÇØ Graph¸¦ ±×¸±¶§ ÇÊ¿äÇÑ ÀÔ·Â data ÆÄÀÏÀ» »ý¼ºÇÑ´Ù. {{{ #! /usr/bin/perl -w # connect.pl - connect to the MySQL server use strict; use DBI; my $dsn = "DBI:mysql:host=localhost;database=perltexdb"; my $mysqldbh = DBI->connect ($dsn, "ptuser", "ptpass") or die "Cannot connect to server\n"; my $mysqlsth= $mysqldbh->prepare( "SELECT num, value FROM perfdata" ); open(DATAFH, ">perfdata.dat"); $mysqlsth->execute(); my $count = 0; while (my @val = $mysqlsth->fetchrow_array ()) { print DATAFH "$val[0]\t$val[1]\n"; ++$count; } $mysqlsth->finish(); print "$count rows were returned\n"; }}} === Áú¹® === ¾È³çÇϽʴϱî? perl·Î tex¸¦ ÇÒ ¼ö ÀÖ´Ù´Ï ¸Å¿ì ÁÁ¾Æº¸ÀÔ´Ï´Ù. Á¦°¡ ÀÏÀü¿¡ ktugÀÇ practical use¸¦ Á¤¸®ÇØ º¼·Á°í perl¸¦ ÀÌ¿ëÇؼ­ parctical useºÎºÐÀ» down¹Þ¾Æ º»ÀûÀÌ ÀÖ½À´Ï´Ù. ±×¶§´Â ÇÑÂü ´õ Çغ¸·Á°í Çߴµ¥, ±×¸¸ ½Ã°£°ú ´É·ÂÀÌ µþ·Á¼­ ¸øÇÏ°í ¸»¾Ò½À´Ï´Ù. ±×·¸´Ù¸é, °¡·É ´ÙÀ½°ú °°Àº °Íµµ °¡´ÉÇÑÁö¿ä? perl¸¦ ÀÌ¿ëÇؼ­ À§ÀÇ KtugWiki page¸¦ down¹Þ°í(title page¿¡¼­ wikipage name¸¦ ¹Þ°í ³­ÈÄ¿¡ °¢°¢ÀÇ Pagenameº°·Î À§ÀÇ ³»¿ëÀ» down¹Þ´Â´Ù) ³­ÈÄ¿¡ ÀÌ ³»¿ëÀ» perl¸¦ ÀÌ¿ëÇؼ­(wiki¹®¹ýÀ» tex·Î ¹Ù²Ù´Âµ¥ perl¸¦ ÀÌ¿ëÇØ¾ß ÇÒ °Í °°½À´Ï´Ù) tex·Î ¹Ù²Ü¼ö ÀÖÀ»±î¿ä? ¾îÂ¸é ±×³É perl·Î ´Ù ÇÒ ¼öµµ ÀÖÀ» ÀÏ °°À̵µ »ý°¢Àº µì´Ï´Ù¸¸...... ±×·±´Ù°í Çؼ­ Á¦°¡ wikipage¸¦ down¹Þ¾Æ¼­ ¾îÂî ÇØ º¸°Ú´Ù´Â ¸»Àº ¾Æ´Õ´Ï´Ù. ±×·¡µµ ¾ÕÀ¸·Î Á¡Á¡´õ wikipage°¡ ¸¹¾ÆÁö¸é, ¾ðÁ¦°¡´Â ´©±º°¡¿¡ ÀÇÇؼ­ ÀÌ·±ÇÑ ÀÏÀÌ µÇ¾îÁ®¾ß ÇÏÁö ¾ÊÀ»±î? »ý°¢Çؼ­ ±×³É Çѹø »ý°¢³ª´Âµ¥·Î Àû¾î º¸¾Ò½À´Ï´Ù. wikiµµ ÁÁÁö¸¸, ¾Æ¹«·¡µµ Á¦ ³ªÀÌ(?)¿¡´Â ±×³É Ã¥À¸·Î ÇÑ±Ç °¡Áö°í ÀÖ´Â °Íµµ ÁÁ½À´Ï´Ù. ¿©±â¿¡ ÀÌ·± ³»¿ëÀÌ ¾î¿ï¸®Áö ¾ÊÀ¸¸é Áö¿ì¼Åµµ °ü°è¾ø½À´Ï´Ù. --[synapse]