KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
You will be singled out for promotion in your work.
FrontPage › LaTeX2Html

설치방법


2003년 김성호님께서 MikTeX에 설치하신 경험을 바탕으로 게시판에 올리신 글을, 2009-02-27 19:40:35에 원문을 수정하여 다시 올리신 것으로 추정한다. :)

hangul.perl

HLaTeXhangul.sty를 이용할 때 자동으로 호출되는 모듈이다. latex2html/styles 디렉토리에 hangul.perl이라는 이름으로 넣어두라.
# hangul.perl for hangul.sty
#
# Extension to LaTeX2HTML to translate HLaTeX special
# commands to equivalent HTML commands.

package korean;

print " [korean]";

sub main'korean_translation { @_[0] }

package main;

if (defined &addto_languages) { &addto_languages('korean') };

sub korean_titles {
  $toc_title = "목차";
  $lof_title = "그림 목차";
  $lot_title = "표 목차";
  $idx_title = "찾아보기";
  $ref_title = "참고 문헌";
  $bib_title = "저서 목록";
  $abs_title = "요약";
  $app_title = "부록";
  $pre_title = "서문";
  $foot_title = "주석";
  $thm_title = "정리";
  $fig_name = "그림";
  $tab_name = "표";
  $prf_name = "증명";
  $date_name = "날짜";
  $page_name = "쪽";
  #  Sectioning-level titles
  $part_name = "편";
  $chapter_name = "장";
  $section_name = "절";
  $subsection_name = "항";
  $subsubsection_name = "목";
  $paragraph_name = "단락";
  #  Misc. strings
  $child_name = "딸린 항목";
  $info_title = "이 문서에 대하여 ...";
  $also_name = "도 참고";
  $see_name = "참고";
  #  names in navigation panels
  $next_name = "다음";
  $up_name = "위로";
  $prev_name = "이전";
  #  field names in email headers
  $encl_name = "동봉물";
  $headto_name = "받는이";
  $cc_name = "사본";

  #  $GENERIC_WORDS = "and|the|of|for|by|a|an|to";
}

sub korean_today {
  local($today) = &get_date();
  $today =~ s|0?(\d+)/0?(\d+)/(\d+)|$3년 $1월 $2일|;
  join('',$today,$_[0]);
}

# some tricks to support autojosa
sub pre_pre_process {
  s/\\은/\\josaEUN/gom;
  s/\\는/\\josaNEUN/gom;
  s/\\이/\\josaI/gom;
  s/\\가/\\josaGA/gom;
  s/\\을/\\josaEUL/gom;
  s/\\를/\\josaREUL/gom;
  s/\\와/\\josaWA/gom;
  s/\\과/\\josaGWA/gom;
  s/\\로서/\\josaROSEO/gom;
  s/\\으로서/\\josaEUROSEO/gom;
  s/\\로써/\\josaROSSEO/gom;
  s/\\으로써/\\josaEUROSSEO/gom;
  s/\\로/\\josaRO/gom;
  s/\\으로/\\josaEURO/gom;
}
sub post_post_process {
  $jongRX = "0|3|6|m|n|M|N|쪽";
  $rieulRX = "1|7|8|l|r|L|R";
  s/($jongRX|$rieulRX)(<[^>]+?>)(\]|\))?<_autojosa_EUN_>/$1$2$3은/gom;
  s/($jongRX|$rieulRX)(<[^>]+?>)(\]|\))?<_autojosa_I_>/$1$2$3이/gom;
  s/($jongRX|$rieulRX)(<[^>]+?>)(\]|\))?<_autojosa_WA_>/$1$2$3과/gom;
  s/($jongRX|$rieulRX)(<[^>]+?>)(\]|\))?<_autojosa_EUL_>/$1$2$3을/gom;
  s/($jongRX)(<[^>]+?>)(\]|\))?<_autojosa_RO_>/$1$2$3으로/gom;
  s/<_autojosa_EUN_>/는/gom;
  s/<_autojosa_I_>/가/gom;
  s/<_autojosa_WA_>/와/gom;
  s/<_autojosa_EUL_>/를/gom;
  s/<_autojosa_RO_>/로/gom;
  s/\\josaEUN/\\은/gom;
  s/\\josaNEUN/\\는/gom;
  s/\\josaI/\\이/gom;
  s/\\josaGA/\\가/gom;
  s/\\josaEUL/\\을/gom;
  s/\\josaREUL/\\를/gom;
  s/\\josaWA/\\와/gom;
  s/\\josaGWA/\\과/gom;
  s/\\josaROSEO/\\로서/gom;
  s/\\josaEUROSEO/\\으로서/gom;
  s/\\josaROSSEO/\\로써/gom;
  s/\\josaEUROSSEO/\\으로써/gom;
  s/\\josaRO/\\로/gom;
  s/\\josaEURO/\\으로/gom;
}
sub do_cmd_josaEUN { join '','<_autojosa_EUN_> ',$_[0]; }
sub do_cmd_josaNEUN { &do_cmd_josaEUN(@_); }
sub do_cmd_josaI { join '','<_autojosa_I_> ',$_[0]; }
sub do_cmd_josaGA { &do_cmd_josaI(@_); }
sub do_cmd_josaWA { join '','<_autojosa_WA_> ',$_[0]; }
sub do_cmd_josaGWA { &do_cmd_josaWA(@_); }
sub do_cmd_josaEUL { join '','<_autojosa_EUL_> ',$_[0]; }
sub do_cmd_josaREUL { &do_cmd_josaEUL(@_); }
sub do_cmd_josaRO { join '','<_autojosa_RO_> ',$_[0]; }
sub do_cmd_josaEURO { &do_cmd_josaRO(@_); }
sub do_cmd_josaROSEO { join '','<_autojosa_RO_>서 ',$_[0]; }
sub do_cmd_josaEUROSEO { &do_cmd_josaROSEO(@_); }
sub do_cmd_josaROSSEO { join '','<_autojosa_RO_>써 ',$_[0]; }
sub do_cmd_josaEUROSSEO { &do_cmd_josaROSSEO(@_); }

# other HLaTeX commands and declarations
sub do_cmd_HLaTeX { join('','한<sub>글</sub>',$Laname,$TeXname,$_[0]); }

sub do_cmd_textmj { &do_cmd_textrm(@_); }
sub do_cmd_textgt { &do_cmd_textsf(@_); }
sub do_cmd_texttz { &do_cmd_texttt(@_); }
sub do_cmd_mjfamily { &do_cmd_rm(@_); }
sub do_cmd_mj { &do_cmd_rm(@_); }
$declarations{gtfamily} = $declarations{sffamily};
$declarations{tzfamily} = $declarations{ttfamily};
$declarations{gt} = $declarations{sf};
$declarations{tz} = $declarations{tt};
$fontchange_rx .= '|mj|gt|tz';

&process_commands_wrap_deferred (<<_RAW_ARG_DEFERRED_CMDS_);
mjfamily
gtfamily
tzfamily
mj
gt
tz
_RAW_ARG_DEFERRED_CMDS_

# most of the commands here need some action which is not implemented yet.
&ignore_commands(<<_IGNORED_CMDS_);
make_at_josa # {}
ks_at_num # {}
ksksTHE
kssectionname
_IGNORED_CMDS_

# use'em
&korean_titles;
$default_language = 'korean';
$TITLES_LANGUAGE = 'korean';
$CHARSET = 'EUC-KR';

1; # this must be the last line


저는 hangul.sty를 일부만 베낀 koreantitle.sty라는 것을 마찬가지로 hangul.perl을 베껴서 koreantitle.perl을 만들고 %iconsizes = ... 이하를 추가하고(왜냐하면 아이콘을 한글로 바꾸었거든요) 돌렸는데 아주 만족스럽습니다. 고맙습니다. http://hoze.wowdns.com 에서 TeX-그림에 적용했습니다. --hoze
그동안 네트웍이 안되다가 이제 되네요. 방금 조금 손보았습니다. 글꼴바꾸기 명령을 전처리과정(pre_pre_process)에서 처리하도록 했고, \today의 사소한 버그(내년 초에나 문제되겠지만)를 잡았습니다. 그냥 두어도 되지만 koreantitle.perl을 다시 수정하시는 편이 좋겠습니다. 죄송합니다. -- DohyunKim


graphicx.perl을 열어보니 $COPY_GRAPHICS를 1로 지정하면 그냥 막바로 복사를 하는 것 같아 그렇게 했는데 "coundn't copy c:...\\xxx.png..." 이렇게 메시지가 나옵니다.'\\' 이것 때문인 듯합니다. 백슬래시가 하나가 나와야 하는데 두 개가 붙어서 그런 것 같습니다. 만약 이것만 해결되면 구태여 eps를 질나쁜 png로 만들 필요 없이 막바로 양질의 png을 복사해 넣을 수 있습니다. 부탁드립니다.--hoze

해법을 찾아서 기쁩니다. 그런데, korean_titles에서 '목차'는 '차례'로 바꾸었으면 합니다. 전에 이주호씨가 한자로 쓸 게 아니라면 '차례'라고 쓰는 게 맞다고 그랬던 것 같습니다. 저 역시 그 말이 맞는 듯합니다. --hoze
hangul.sty목차라고 되어 있어서 그대로 따랐습니다. 저도 예전에 이 문제를 은광희님께 개진했다가 그건 사용자들이 알아서 새로 지정하면 된다는 답변을 받았습니다. 저도 그렇게 답하겠습니다. 알아서 고쳐쓰세요. :) hangul.perlhangul.sty를 지원하기 위한 것이므로 공식 배포된 hangul.sty를 따를 수밖에 없음을 양지해 주시기 바랍니다... 그리고 LaTeX2Html에서의 jpg지원문제는 우선 최신버전(2002-2-1)을 설치하시고 시도해 보십시오. 저는 아무 문제도 없는데 아마 버전 차이 때문이 아닌가 합니다. -- DohyunKim

조사 지원을 넣어보았습니다만, 완전하지 못합니다. 완성형 한글의 종성을 확인하는 알고리즘이 어떻게 되는지 모르겠습니다.



==This is may be interesting== Now 20050927-092630_123.

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-02-28 12:22:40
Processing time 0.0350 sec