image

얼마 전에 개인 자료 정리 솔루션을 moniwiki에서 phpbb로 이동했다. 개인자료라고 해봐야 대단한 것은 없고 위에 붙인 스샷처럼 간단한 고등학교 수학 수식 따위 들인데, 그냥 인터넷에 공개되는 블로그에 적어두기엔 너무 쉬워서 민망한 수준의 자료들(...)이 주를 이룬다.

그런데 phpbb에는 기본으로 수식을 표현할 수 있는 기능이 없어서 다른 방법을 구글링 해봤지만 마땅한 대안이 없었다. 몇가지 돌아다니는 코드들이 있어서 두어개 적용해 봤지만 제대로 동작하는 놈이 없음…;; 좀 더 찾아볼까 하다가 관두고 그냥 직접 적당히 기존의 플러그인을 수정해서 붙였다.

latex 문법을 수식으로 직접 렌더링해주는 엔진을 서버사이드에 cgi로 붙이거나(mathtex) 브라우저의 javascript로 붙이는 방법(MathJax)도 있는데, 애기아빠 유부남은 이런데 오래 쓸 시간이 없으므로 그냥 수식 렌더링은 외부의 엔진(texify)을 이용하고 링크만 하도록 했다. 엔진까지 로컬에서 포함하도록 바꾸어서 깃허브에 올려야지 생각했지만 그럴 시간도 없고.. phpbb에 그만큼이나 공을 들여야 하는 필요성도 느끼지 못해 그냥 여기서 중단. 다만 개인적으로 쓸 phpbb의 유지보수 시점을 위해 수정 사항을 블로그에 기록해 둔다.

동작 방식과 설치 방식은 googlecode에 있는 phpbb-latex 플러그인과 똑같다. 다만 렌더링 엔진만 texify로 바뀌어서 동작한다.

설치방법:

phpbb/includes 경로에 아래의 코드를 phpbb-latex.php라는 이름으로 집어넣는다.

<?php

    preg_match_all("/\[tex\](.*?)\[\/tex\]/si",$message,$tex_matches);
    for( $i = 0; $i < count($tex_matches[0]); $i++ ) 
    {
        $equation_org = '\LARGE\!'. html_entity_decode( $tex_matches[1][$i] );
        $equation_org = 'http://www.texify.com/img/'.rawurlencode($equation_org).'.gif';
        $equation_org = '<img border="0" src=" . $equation_org . " align="center" />';
        $message = str_replace( $tex_matches[0][$i], $equation_org, $message );
    }
?>

그리고 같은 경로의 bbcode.php를 열어 bbcode_second_pass(…) 함수의 가장 아래쪽에 파일 인클루드를 넣어준다.

include( './includes/phpbb-latex.php' );

그러면 posting 페이지에서 [tex]…[/tex] 문법을 이용해서 수식을 작성할 수 있는데, 좀 더 편하게 입력하려면 관리자 메뉴 POSTING>BBCodes 에서 tex 버튼을 하나 추가해주면 편하다.

    • BBCode usage : [tex]{TEXT}[/tex]
    • HTML replacement : [tex]{TEXT}[/tex]
    • Help line : [tex]{TEXT}[/tex] : using latex.
    • Settings : Diaplay on posting page 항목에 체크.
Posted by leafbird 트랙백 0 : 댓글 0

댓글을 달아 주세요