KTUGFaq
KTUG FAQ
°¢ÁÖ › TeX4ht/È › QuickLinks › PDFExtraction › Karnes/2009-09&value=WinEdtTip/¼ö½ÄÆíÁý › PerlTeX
[ÆíÁý]
¼Ò°³ ¶
[ÆíÁý]
»ç¿ë¹ý ¶
ÇÁ¸®¾Úºí¿¡ \usepackage{perltex}¶ó°í ¼±¾ðÇÑ´Ù. ÀÌÁ¦ \perlnewcommand, \perlrenewcommand, \perlnewenvironment, \perlrenewenvironmentÀÇ ³×°¡Áö ¸í·ÉÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
¹®¼ÄÄÆÄÀÏÀº perltex.plÀ̶ó´Â ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù. ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù.
--latex=program ±âº»°ªÀÎ latex ´ë½Å ´Ù¸¥ ½ÇÇà¸í·É(¿¹:pdflatex)À» ÁÙ ¼ö ÀÖ´Ù. --nosafe ±âº»°ªÀ¸·Î À§ÇèÇÑ PerlÄÚµå(¿¹: ÆÄÀÏ»èÁ¦)°¡ ½ÇÇàµÇÁö ¾Êµµ·Ï µÇ¾î Àִµ¥ ÀÌ ¿É¼ÇÀº ¾ÈÀüÀåÄ¡¸¦ Ç®¾îÁØ´Ù. ¸ðµç Perl Äڵ尡 ±×´ë·Î ½ÇÇàµÈ´Ù. --permit=feature ƯÁ¤ PerlÄڵ常À» ¾ÈÀüÀåÄ¡·ÎºÎÅÍ ÇØÁ¦ÇÑ´Ù. ¿©·¯¹ø ¿É¼ÇÀ» ÁÙ ¼ö ÀÖ´Ù.
[ÆíÁý]
º¸±â1: ÇÑ±Û Sorting ¿¹Á¦ ¶
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
[ÆíÁý]
º¸±â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> quit2. 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