emath BBS (Read Only)

新規発言一覧最新記事過去一覧検索HOME

スレッド

└◇9834:
perlとの連係 [toshi] 04/29 01:40

 └◇9835:Re:perlとの連係 [石原 守] 04/29 06:13
  └◇9836:Re[2]:perlとの連係 [toshi] 04/29 07:27
   └◇9837:Re[3]:perlとの連係 [tDB] 04/29 07:43
    └◇9838:Re[4]:perlとの連係 [toshi] 04/29 17:37
     └◇9839:Re[5]:perlとの連係 [tDB] 04/29 19:02
      └◇9840:Re[6]:perlとの連係 [toshi] 04/29 20:07
       └◇9841:Re[7]:perlとの連係 [tDB] 04/29 20:35
        └◇9842:Re[8]:perlとの連係 [toshi] 04/29 21:37<-last


9834● perlとの連係[ toshi ] 2011 04/29 01:40
9821番の助言を受け、TeXのシステムを
新しくインストールしました。
perlとの連係がうまく
できているか
\doc\emathPpのex1.tex
をタイプセットしたところ

\documentclass{jarticle}
\usepackage{emathPp}
\begin{document}
\begin{zahyou}[ul=10mm](-2,8)(-2,2)
\def\Fx{sin(X)+cos(X)}
\YGurafu\Fx\xmin\xmax
\end{zahyou}
\end{document}

This is GUI-Shell Version 1.39, Copyright(C) 1996-2000 by Yoshiki OTOBE.
All rights reserved.
GUI-Shell Message(command): platex.exe ex1.tex

This is pTeX, Version 3.1415926-p3.2 (sjis) (Web2C 2011)
 \write18 enabled.
(./ex1.tex
pLaTeX2e <2006/11/10>+0 (based on LaTeX2e <2009/09/24> patch level 0)
Babel <v3.8l> and hyphenation patterns for english, afrikaans, ancientgreek, ib
ycus, arabic, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian, c
zech, danish, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, fa
rsi, finnish, french, galician, german, ngerman, swissgerman, monogreek, greek,
 hungarian, icelandic, assamese, bengali, gujarati, hindi, kannada, malayalam, 
marathi, oriya, panjabi, tamil, telugu, indonesian, interlingua, irish, italian
, kurmanji, lao, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal, n
ynorsk, polish, portuguese, romanian, russian, sanskrit, serbian, slovak, slove
nian, spanish, swedish, turkish, turkmen, ukrainian, uppersorbian, welsh, dumyl
ang, nohyphenation, loaded.
(c:/usr/local/share/texmf/tex/platex/base/jarticle.cls
Document Class: jarticle 2006/06/27 v1.6 Standard pLaTeX class
(c:/usr/local/share/texmf/tex/platex/base/jsize10.clo))
(c:/usr/local/share/texmf/tex/platex/misc/emath/emathPp.sty
(c:/usr/local/share/texmf/tex/platex/misc/emath/emathPh.sty
(c:/usr/local/share/texmf/tex/platex/misc/emath/epic.sty
Enhancements to Picture Environment. Version 1.2 - Released June 1, 1986
) (c:/usr/local/share/texmf/tex/platex/misc/emath/eepic.sty
Extension to Epic and LaTeX. Version 1.1e - Released Dec 21, 1999
)
load eepic
(c:/usr/local/share/texmf/tex/platex/misc/emath/emath.sty
(c:/usr/local/share/texmf/tex/platex/misc/emath/emath2e.sty
(c:/usr/local/share/texmf/tex/latex/amslatex/amsmath.sty
For additional information on amsmath, use the `?' option.
(c:/usr/local/share/texmf/tex/latex/amslatex/amstext.sty
(c:/usr/local/share/texmf/tex/latex/amslatex/amsgen.sty))
(c:/usr/local/share/texmf/tex/latex/amslatex/amsbsy.sty)
(c:/usr/local/share/texmf/tex/latex/amslatex/amsopn.sty))
(c:/usr/local/share/texmf/tex/latex/amsfonts/amssymb.sty
(c:/usr/local/share/texmf/tex/latex/amsfonts/amsfonts.sty))
(c:/usr/local/share/texmf/tex/platex/misc/emath/emathC.sty
(c:/usr/local/share/texmf/tex/latex/tools/calc.sty)
(c:/usr/local/share/texmf/tex/latex/graphics/keyval.sty)
(c:/usr/local/share/texmf/tex/latex/base/ifthen.sty))
(c:/usr/local/share/texmf/tex/platex/misc/emath/emathE.sty
(c:/usr/local/share/texmf/tex/platex/misc/emath/emathEc.sty
(c:/usr/local/share/texmf/tex/platex/misc/emath/emathK.sty)
(c:/usr/local/share/texmf/tex/latex/tools/enumerate.sty)
(c:/usr/local/share/texmf/tex/platex/misc/emath/jquote.sty))))
(c:/usr/local/share/texmf/tex/latex/amsfonts/umsa.fd)
(c:/usr/local/share/texmf/tex/latex/amsfonts/umsb.fd))
(c:/usr/local/share/texmf/tex/latex/graphics/trig.sty))
(c:/usr/local/share/texmf/tex/platex/misc/emath/emathPl.sty)) (./ex1.aux)Undefined subroutine &main::Degsin called at hoge--------.pl line 3.

Runaway argument?
! Paragraph ended before \@trimleading was complete.
<to be read again> 
                   \par 
l.4 \begin{document}
                    
? 
のエラーで止まってしまいました。
どこが悪いのか分かりません。
よろしく、ご指導お願いします。


スレッド一覧


9835● Re:perlとの連係[ 石原 守 ] 2011 04/29 06:13
Wikiの「perlとの連携」の
連携の準備
3. emath のライブラリファイル

の説明通りのことを済まされましたか。
スレッド一覧


9836● Re[2]:perlとの連係[ toshi ] 2011 04/29 07:27
 記載通りのこと、
 3つの拡張子がplになっているファイルを
perl\lib下に置きました。
 さらに、wreite18が使えるように
 texmf.cnfを書き換えました。(guishellを使っている)
 DOSの状態で、platex -shell-escape ex1.tex
としても、同じ症状でした。
スレッド一覧


9837● Re[3]:perlとの連係[ tDB ] 2011 04/29 07:43
次の情報を求めます。

1) emath.pl の存在するディレクトリ名をフルパスで。
  (例えば,c:\perl\lib など)
2) emath.pl はテキストファイルです。ここに貼り付けてください。
スレッド一覧


9838● Re[4]:perlとの連係[ toshi ] 2011 04/29 17:37
emath.plは
c:\Perl\lib内に置いてあります。

emath.plの内容は

# emath.pl v 0.11 2009/09/05 by tDB (CQB00260@nifty.ne.jp)
#
# 定数
# 円ケフィ
    $pi=atan2(1,1)*4;
# ケ`蛎仗瑤猟
    $Napier=exp(1);
# 関数
sub tan{my $x=shift;return sin($x)/cos($x);}
# atan2(y,x)
sub asin{my $x=shift;return atan2($x,sqrt(1-$x*$x));}
sub acos{my $x=shift;\return atan2(sqrt(1-$x*$x),$x);}
sub DegRad{my $x=shift;return $pi*$x/180;}
sub RadDeg{my $x=shift;return 180*$x/$pi;}
sub Degsin{my $x=shift;return sin($pi*$x/180);}
sub Degcos{my $x=shift;return cos($pi*$x/180);}
sub Degtan{my $x=shift;return tan($pi*$x/180);}
sub sinh{my $x=shift;return (exp($x)-exp(-$x))/2;}
sub cosh{my $x=shift;return (exp($x)+exp(-$x))/2;}
sub tanh{my $x=shift;return (exp($x)-exp(-$x))/(exp($x)+exp(-$x));}
sub arcsinh{my $x=shift;return log($x+sqrt($x*$x+1));}
sub arccosh{my $x=shift;return log($x+sqrt($x*$x-1));}
sub arctanh{my $x=shift;return (log(1+$x)-log(1-$x))/2;}
sub log2{my $a=shift;my $x=shift;return log($x)/log($a);}
sub sqrt2{my $n=shift; my $x=shift;
  if($n%2==1 && $x<0){$sqrtsgn=-1;$x*=-1;}else{$sqrtsgn=1;}
return $sqrtsgn*($x)**(1/($n));}
sub max{my $mx;$mx=shift;foreach $_(@_) {if($_>$mx){$mx=$_;}};return$mx;}
sub min{my $mn;$mn=shift;foreach $_(@_) {if($_<$mn){$mn=$_;}};return$mn;}
sub Int{my $x=shift; my $y=int($x);
  if ($x>0){
    return $y;
  } else {
      if ($y==$x) {
        return $y;
      } else{
        return $y-1;
      }
  }
}
sub Imod{my $x=shift; my $y=shift; $x % $y;}
sub Igcm{my $a=shift; my $b=shift;
    if($a<$b){$c=$a;$a=$b;$b=$c;}
    $ret=$a;
    while ($ret!=0){$ret=abs(Imod($a,$b));$a=$b;$b=$ret;}
    return $a;
}
sub sign{my $x=shift;
  if ($x>0) {
    \return 1;
  } else {
      if ($x<0) {
        return -1;
      } else {
        return 0;
      }
  }
}
sub emrpower{my $mx=shift;my $mn=shift;return sign($mx)*abs($mx)**$mn;}
# 四ケ慮淨
sub emround{my $num=shift; my $decimals=shift;
  $format = '%.' . $decimals . 'f';
  $magic = ($num > 0) ? 0.5 : -0.5;
  sprintf($format, int(($num * (10 ** $decimals)) + $magic)/(10 ** $decimals));
}
#
sub renrituii{my $a=shift; $b=shift; $c=shift;$d=shift;$e=shift;$f=shift;
my @a=($a,$b,$c);
my @b=($d,$e,$f);
  my $delta=$a[0]*$b[1]-$b[0]*$a[1];
  my $dx=$a[2]*$b[1]-$b[2]*$a[1];
  my $dy=$a[0]*$b[2]-$b[0]*$a[2];
  $dx=$dx/$delta;
  $dy=$dy/$delta;
  @ans=($dx,$dy);
  return @ans;
}
# ベクトル計算
sub addvec{my $xi=shift;my $yi=shift;my $xii=shift;$yii=shift;
  my $x=$xi+$xii;
  my $y=$yi+$yii;
  my @ans=($x,$y);
  return @ans;
}
sub subvec{my $xi=shift;my $yi=shift;my $xii=shift;$yii=shift;
  my $x=$xi-$xii;
  my $y=$yi-$yii;
  my @ans=($x,$y);
  return @ans;
}
sub mulvec{my $m=shift; my $xi=shift; my $yi=shift;
  my $x=$m*$xi;
  my $y=$m*$yi;
  my @ans=($x,$y);
  return @ans;
}
sub absvec{my $x=shift; my $y=shift;
  return sqrt($x*$x+$y*$y);
}
1;
#
# v 0.03 asin, acos 追加
# v 0.04 Int, Degsin, Degcos, Degtan 追加
# v 0.05 2005/11/15 sign, emrpower 追加
# v 0.06 2006/12/06 addvec など
# v 0.07 2006/12/27 emround : 四ケ慮淨
# v 0.08 2007/02/28 Imod(x,y) : 裲ケ衢裲ケ x % y
# v 0.09 2007/05/14 sqrt2(n,x) : n裲ケ荳ャ
# v 0.10 2008/02/20 sinh, cosh, arcsinh, arccosh: 双曲線関数
# v 0.11 2009/09/05 Igcm


となっています。
スレッド一覧


9839● Re[5]:perlとの連係[ tDB ] 2011 04/29 19:02
辻褄が合いません。

#9838 でお示しの emath.pl に

sub Degsin{my $x=shift;return sin($pi*$x/180);}

とあるのに,#9834 の

Undefined subroutine &main::Degsin 

というメッセージが出るはずはない。
古い emath.pl が残っているのかもしれません。

次の作業です:

1) あなたのコンピュータにある emath.pl をすべて検索すると
  どんな結果になるでしょう。
2) また,コマンドプロンプトで
    perl -V
  とした結果をここに貼り付けてください。
3) dviout のメニューバーから

  Help
    System Info

とたどりますと,dviout の窓下部に
  System Information
と題する小さな窓が開きます。その右に
  Copy ボタン
があるはずですから,それをマウスクリックします。
情報がクリップボードに転送されますので,
ここにそれを貼り付けてください。
その際,個人情報で見せたくない部分については伏字にしてください。
スレッド一覧


9840● Re[6]:perlとの連係[ toshi ] 2011 04/29 20:07
emath.plは検索すると2個ありました。
1つは、
 C:\Perl\lib内 サイズは4KB
もう一つは
 C:\Perl\site\lib内 サイズは1KB (これは古いようです)

コマンドプロンプトで
C:\>Perl -V
の結果は
Summary of my perl5 (revision 5 version 12 subversion 2) configuration:

  Platform:
    osname=MSWin32, osvers=5.00, archname=MSWin32-x86-multi-thread
    uname=''
    config_args='undef'
    hint=recommended, useposix=true, d_sigaction=undef
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -
DNO_STRICT -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_
IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T -DPERL_MSVCRT_READFIX',
    optimize='-MD -Zi -DNDEBUG -O1',
    cppflags='-DWIN32'
    ccversion='12.00.8804', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksi
ze=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf  -libpath:"C:
\Perl\lib\CORE"  -machine:x86'
    libpth=\lib
    libs=  oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comdlg32
.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib ws2_
32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib comctl32.lib msvcr
t.lib
    perllibs=  oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comd
lg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib
ws2_32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib comctl32.lib m
svcrt.lib
    libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl512.lib
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf  -
libpath:"C:\Perl\lib\CORE"  -machine:x86'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
                        PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
                        PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS
                        USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
                        USE_SITECUSTOMIZE
  Locally applied patches:
        ActivePerl Build 1202 [293621]
        1fd8fa4 Add Wolfram Humann to AUTHORS
        f120055 make string-append on win32 100 times faster
        a2a8d15 Define _USE_32BIT_TIME_T for VC6 and VC7
        007cfe1 Don't pretend to support really old VC++ compilers
        6d8f7c9 Get rid of obsolete PerlCRT.dll support
        d956618 Make Term::ReadLine::findConsole fall back to STDIN if /dev/tty
can't be opened
        321e50c Escape patch strings before embedding them in patchlevel.h
  Built under MSWin32
  Compiled at Sep  6 2010 23:36:03
  @INC:
    C:/Perl/site/lib
    C:/Perl/lib

dvioutの結果は以下の通りです。
--- Environment ---
C:\dviout\dviout.exe
dviout          : Ver 3.13 (October 21, 2001)
OS              : WindowsXP  Version 5.1 (4 Japanese)
comctl32.dll    : Version 5.82
shell32.dll     : Version 6.0
printer         : EP-803A(ネットワーク)
TEXMFMAIN=c:/usr/local/share/texmf
TEXMFCNF=C:/usr/local/share/texmf/web2c
GS_LIB=C:/gs/gs7.03/lib;C:/gs/gs7.03/kanji;C:/gs/fonts
PATH=C:\Perl\site\bin;C:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Ulead Systems\MPEG;C:\Program Files\Trend Micro\AMSP;C:\usr\local\bin;C:\gs\gs7.03\bin;C:\gs\gs7.03\lib;C:\dviout;C:\guishell;C:/perl/bin
 --- parameters ---
t=0
tpic=1
gsx=C:\gs\gs7.03\bin\gswin32c.exe
gen="`C:\usr\local\bin\mktexpk.exe --dpi ^d --bdpi ^D --mag ^M ^s"
BMP=4
TEXPK=^r\tfm\\^s^tfm;^r\pk\\^s.^dpk;^r\vf\\^s.vf;^r\ovf\\^s.ovf;^r\tfm\\^s.tfm
TEXFONTS=^r\tfm\\

 --- End ---
スレッド一覧


9841● Re[7]:perlとの連係[ tDB ] 2011 04/29 20:35
> emath.plは検索すると2個ありました。
> 1つは、
>  C:\Perl\lib内 サイズは4KB
> もう一つは
>  C:\Perl\site\lib内 サイズは1KB (これは古いようです)

予想通り,古いのが残ってますね。

>   @INC:
>     C:/Perl/site/lib
>     C:/Perl/lib

そして,古い方 (C:/Perl/site/lib) が優先的に読み込まれます。

これがトラブルの原因です。

対応策:

古い方を削除します。すなわち
  C:/Perl/site/lib
内に
  emath.pl
    nCr.pl
    degsine.pl
    BignCr.pl
があれば,それらを削除します。

削除したうえで,
  ex1.tex
をタイプセットするとどうなりますか。
スレッド一覧


9842● Re[8]:perlとの連係[ toshi ] 2011 04/29 21:37
 ご指摘の通り、削除したらうまく
動きました。
ありがとうございました。
その、隅々まで理解されていることに
あらためてびっくりです。また、質問
しますのでよろしくお願いします。

スレッド一覧

CGIROOM