texlive[52190] Master/texmf-dist: ketcindy (27sep19)

commits+karl at tug.org commits+karl at tug.org
Fri Sep 27 23:24:30 CEST 2019


Revision: 52190
          http://tug.org/svn/texlive?view=revision&revision=52190
Author:   karl
Date:     2019-09-27 23:24:30 +0200 (Fri, 27 Sep 2019)
Log Message:
-----------
ketcindy (27sep19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/support/ketcindy/README
    trunk/Master/texmf-dist/doc/support/ketcindy/forMac/setketcindy.command
    trunk/Master/texmf-dist/doc/support/ketcindy/forWindows/setketcindytexlive.bat
    trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/3dlist.txt
    trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic1list.txt
    trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic2list.txt
    trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic3list.txt
    trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/ignoredfun.txt
    trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/makefunlist.cdy
    trunk/Master/texmf-dist/doc/support/ketcindy/ketmanual/KeTCindyReferenceE.pdf
    trunk/Master/texmf-dist/doc/support/ketcindy/ketmanual/KeTCindyReferenceJ.pdf
    trunk/Master/texmf-dist/doc/support/ketcindy/samples/s10maxima/s1010fourier.cdy
    trunk/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceE.tex
    trunk/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceJ.tex
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dlogr.txt
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dr.cs
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3logr.txt
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3r.cs
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs
    trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r
    trunk/Master/texmf-dist/scripts/ketcindy/template4ketcindyjs.cdy

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/support/ketcindy/forWindows/setketcindyothertex.bat

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/README
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/README	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/README	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,7 +1,7 @@
 KeTCindy
 ========
 
-Version: 20190624.0
+Version: 20190927.0
 
 KeTCindy combines a plugin to Cinderella with free mathematical software
 (R, Maxima, ...) to produce high-quality LaTeX graphics.

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/forMac/setketcindy.command
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/forMac/setketcindy.command	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/forMac/setketcindy.command	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,7 +1,7 @@
 #!/bin/sh
-#      20190616
+#      20190824
 
-# Edit and uncomment the following lines if necessary
+# Edit, uncomment the following lines and choose 4 if necessary
 #texpath=/Applications/kettex/texlive
 #texbinpath=${texpath}/bin/x86_64-darwin
 #ketcindyscripts=${texpath}/texmf-dist/scripts/ketcindy
@@ -28,8 +28,8 @@
 echo 1. "/Applications/kettex/texlive".
 echo 2. "/Applications/kettex.app/texlive"
 echo 3. "/Library/TeX (TeXLive)"
-echo 4. Modification of this file is finished
-read -p 'Choose path of TeX from the above (number) : ' ans
+echo 4. Other
+read -p 'Choose number from the above (number) : ' ans
 if [ ${ans} = "1" ]; then 
   texpath=/Applications/kettex/texlive
   texbinpath=${texpath}/bin/x86_64-darwin
@@ -51,6 +51,15 @@
   ketcindydoc=${texpath}/texmf-dist/doc/support/ketcindy
   ketcindystyle=${texpath}/texmf-dist/tex/latex/ketcindy
 fi
+if [ ${ans} = "4" ]; then
+  read -p ' Input texpath (/Library/TeX/Root) : ' texpath
+  read -p ' Input texbinpath (bin/x86_64-darwin) : ' binpath
+  texbinpath=${texpath}/${binpath}
+  read -p ' Input scriptspath (texmf-dist) : ' scriptspath
+  ketcindyscripts=${texpath}/${scriptspath}/scripts/ketcindy
+  ketcindydoc=${texpath}/${scriptspath}/doc/support/ketcindy
+  ketcindystyle=${texpath}/${scriptspath}/tex/latex/ketcindy
+fi
 echo texpath=${texpath}
 echo texbinpath=${texbinpath}
 #read -p 'Do you really copy ketcindyscripts? (y,n): ' ans

Added: trunk/Master/texmf-dist/doc/support/ketcindy/forWindows/setketcindyothertex.bat
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/forWindows/setketcindyothertex.bat	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/forWindows/setketcindyothertex.bat	2019-09-27 21:24:30 UTC (rev 52190)
@@ -0,0 +1,159 @@
+REM 20190904
+echo off
+
+set prgcin=C:\Program Files (x86)
+set xcp="\Windows\System32\xcopy"
+if not exist "%prgcin%\Cinderella" (
+  set prgcin=C:\Program Files
+)
+NET SESSION > NUL 2>&1
+if %ERRORLEVEL% == 0 (
+  echo Running as administator
+  set admin="y"
+) else (
+  echo Not running as administator, so will quit
+  echo Right-click and rerun as adminstrator
+  set admin="n"
+  pause
+  exit
+)
+
+set /P pathT="Path of TeX (ex) C:\texlive\2019: "
+set /P bin="Path of bin (ex) bin\win32: "
+set /P texmf="Path of scripts/doc/style (ex) texmf-dist: "
+set /P homehead="Path of home head (ex) C:\Users: "
+
+echo Path of TeX  ; %pathT%
+echo     bin      : %bin%
+echo     scripts  : %texmf%\scripts\ketcindy
+echo     style    : %texmf%\tex\latex\ketcindy
+echo     doc      : %texmf%\doc\support\ketcindy
+echo Head of home : %homehead%
+set /P ans="Are the above paths OK (y/n): "
+if "%ans%" == "n" (
+  echo Edit paths
+  pause
+  exit
+)
+
+cd %~dp0
+if not exist "ketcindyfolder" (
+  cd ../ketcindyfolder
+)
+echo ketcindyfolder is
+cd
+
+if exist "%pathT%\%texmf%\scripts\ketcindy\." (
+  echo Deleting "%pathT%\%texmf%\scripts\ketcindy"
+  rd /s "%pathT%\%texmf%\scripts\ketcindy"
+)
+echo Copying ketcindy to "%pathT%\%texmf%\scripts\ketcindy"
+%xcp% /Y /Q /S /E /R "scripts\*.*" "%pathT%\%texmf%\scripts\ketcindy\"
+if exist "%pathT%\%texmf%\doc\support\ketcindy\." (
+  echo Deleting docs to "%pathT%\%texmf%\doc\support\ketcindy"
+  rd /s "%pathT%\%texmf%\doc\support\ketcindy"
+)
+echo Copying doc to "%pathT%\%texmf%\doc\support\ketcindy"
+set docsrc=doc
+%xcp% /Y /Q /S /E /R "%docsrc%\*.*" "%pathT%\%texmf%\doc\support\ketcindy\"
+if exist "%pathT%\tex\latex\ketcind\." (
+  echo Deleting "%pathT%\tex\latex\ketcindy"
+  rd /s "%pathT%\tex\latex\ketcindy"
+)
+echo Copying ketcindy styles to "%pathT%\tex\latex\ketcindy"
+set stylesrc=style
+%xcp% /Y /Q /S /E /R "%stylesrc%\*.*" "%pathT%\tex\latex\ketcindy\"
+
+rem "%pathT%%bin%\mktexlsr"
+set cindyplug=%prgcin%\Cinderella\Plugins
+echo Setting of "%cindyplug%\"
+cd "%pathT%%scripts%"
+copy /Y "ketjava\KetCindyPlugin.jar" "%cindyplug%\"
+cd "%cindyplug%"
+
+rem 20190616from
+set newfile=y
+if exist ketcindy.ini (
+  set newfile=n
+  echo Contentes of ketcindy.ini : 
+  echo.
+  type ketcindy.ini
+  echo.
+  set /P remake="Do you want to remake ketindy.ini? (y/n): "
+)
+if "%newfile%"=="y" (
+  set remake=y
+)
+if "%remake%"=="y" (
+  echo ketcindy.ini will be made/remade
+) else (
+    echo "Finished"
+    pause
+    exit
+)
+rem 20190616to
+
+echo PathThead="%pathT%\%bin%\"; > ketcindy.ini
+echo Homehead="%homehead%"; >> ketcindy.ini
+echo Dirhead="%pathT%\%texmf%\scripts\ketcindy"; >> ketcindy.ini
+echo setdirectory(Dirhead); >> ketcindy.ini
+echo import("setketcindy.txt"); >> ketcindy.ini
+echo import("ketoutset.txt"); >> ketcindy.ini
+
+echo Setting of TeX, R, Maxima
+echo p=platex u=uplatex l=latex x=xelatex pd=pdflatex lu=lualatex
+set /P STR_INPUT="---- Choose TeX from above with 1st(+2nd) character :"
+if "%STR_INPUT%" == "p" (
+  set tex=platex
+)
+if "%STR_INPUT%" == "u" (
+  set tex=uplatex
+)
+if "%STR_INPUT%" == "l" (
+  set tex=latex
+)
+if "%STR_INPUT%" == "x" (
+  set tex=xelatex
+)
+if "%STR_INPUT%" == "pd" (
+  set tex=pdflatex
+)
+if "%STR_INPUT%" == "lu" (
+  set tex=lualatex
+)
+echo PathT=PathThead+"%tex%"; >> ketcindy.ini
+
+set prgSm=C:\Program Files (x86)\SumatraPDF\SumatraPDF.exe
+if not exist "%prgSm%" (
+  set prgSm=C:\Program Files\SumatraPDF\SumatraPDF.exe
+)
+echo Pathpdf="%prgSm%"; >>  ketcindy.ini
+
+set /P STR_INPUT="Input version of R (ex)3.5.0 :"
+set verR=%STR_INPUT%
+set prg=C:\Program Files
+if exist "%prg%\R\R-%verR%\bin\" (
+  echo PathR="%prg%\R\R-%verR%\bin"; >>  ketcindy.ini
+) else (
+  if exist "%prg% (x86)\R\R-%verR%\bin\" (
+    echo "%prg% (x86)\R\R-%verR%\bin"; >> ketcindy.ini
+  ) else (
+    echo "R-%verR% not found"
+  )
+)
+
+set /P STR_INPUT="Input version of Maxima (ex)5.39.0 :"
+set verM=%STR_INPUT%
+echo %verM%
+set prg=C:\maxima-%verM%\bin\maxima.bat
+if exist "%prg%" (
+  echo PathM="%prg%"; >> ketcindy.ini
+) else (
+  echo "Maxima-%verM% not found"
+  set prg=C:\maxima-x.xx.x\bin\maxima.bat
+  echo // PathM="%prg%"; >> ketcindy.ini
+  )
+)
+
+echo "Plugins of Cindy has been set"
+pause


Property changes on: trunk/Master/texmf-dist/doc/support/ketcindy/forWindows/setketcindyothertex.bat
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/support/ketcindy/forWindows/setketcindytexlive.bat
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/forWindows/setketcindytexlive.bat	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/forWindows/setketcindytexlive.bat	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,4 +1,4 @@
-REM 20190616
+REM 20190904
 echo off
 
 rem Edit the followings if necessary
@@ -26,7 +26,7 @@
   exit
 )
 
-set /P year="Year of TeXLive (YYYY): "
+set /P year="Year of TeXLive (ex)2019: "
 
 echo Path of TeX  ; %pathT%\%year%
 echo     bin      : %bin%
@@ -68,7 +68,7 @@
 echo Copying ketcindy styles to "%pathT%\%year%%style%"
 set stylesrc=style
 %xcp% /Y /Q /S /E /R "%stylesrc%\*.*" "%pathT%\%year%%style%\"
-"%pathT%\%year%%bin%\mktexlsr"
+rem "%pathT%\%year%%bin%\mktexlsr"
 
 set cindyplug=%prgcin%\Cinderella\Plugins
 echo Setting of "%cindyplug%\"

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/3dlist.txt
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/3dlist.txt	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/3dlist.txt	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,84 +1,85 @@
-Ketinit3d,3d,22,50,Setwindow,Addax
-Start3d,3d,54,162,Strsplit,Toupper,Setfiles,Setwindow,Slider,Sprintf,Ptselected,Ptseg3data
-Setangle,3d,166,237,Parapt,Ptselected,Xyzcoord,Defvar,Datalist3d,Projpara,textformat,Ptseg3data
-Getangle,3d,241,259,getangle,divoptions,Strsplit,181111,Toupper,textformat
-Angleselected,3d,263,264,IsAngle
-Isangle,3d,268,268,Ptselected
-Changestyle3d,3d,272,291,Changestyle
-Dist3d,3d,295,314
-Findangle,3d,318,335
-Cancoordpara,3d,339,347
-Zparapt,3d,351,355
-Projcoordpara,3d,359,364,Parapt,Zparapt
-Parapt,3d,368,374
-Parasubpt,3d,378,384
-Parasubptlog,3d,388,393
-Mainsubpt3d,3d,397,415
-Projcurve,3d,419,469,Measuredepth
-Projpara,3d,473,542,Divoptions,Strsplit,Toupper,Projcurve,textformat,Com2nd,Getlinestyle,Texcom
-Invparaptpp,3d,546,601,textformat,Projpara,Nearestpt,Crossprod,Dotprod,Ptend,Numptcrv,Ptcrv
-Invparapt,3d,605,609,Invparaptpp
-Subgraph,3d,613,630,Measuredepth,Parasubpt,Textformat
-Spaceline,3d,634,727,Divoptions,Toupper,Projpara,Textformat,Com2nd,Getlinestyle,Texcom,Subgraph
-Spacecurve,3d,731,897,Divoptions,Toupper,tmpfn,Projpara,textformat,Com2nd,Getlinestyle,Texcom,Subgraph
-Partcrv3d,3d,901,937,parapt,partcrv,Xyzcoord,Spaceline
-Joincrvs3d(,3d,941,1036,Joincrvs3d,Divoptions,Norm,Projpara,textformat,Com2nd,Getlinestyle,Texcom,Subgraph
-Xyzax3data,3d,1040,1166,Divoptions,Strsplit,Toupper,Spaceline,Xyzaxparaname,Projpara,textformat,Com2nd,Getlinestyle,Texcom,Lightarrowdata,Letter,Parapt,Subgraph
-Xyzaxparaname,3d,1170,1212,Strsplit,Dqq,Parapt,Expr
-Datalist3d,3d,1216,1224
-Datalist2d,3d,1228,1236
-Embed,3d,1240,1328,Measuredepth,Divoptions,Assign,Projpara,textformat,Com2nd,Getlinestyle,Texcom,Subgraph
-Rotatepoint3d,3d,1332,1418,Rotate3pt,Measuredepth
-Rotatedata3d,3d,1422,1492,Divoptions,Rotatepoint3d,Flattenlist,Projpara,textformat,RSform,Textformat,Com2nd,Getlinestyle,Texcom,Subgraph
-Translatepoint3d,3d,1496,1523,Translate3pt,Measuredepth
-Translatedata3d,3d,1527,1589,Divoptions,Measuredepth,Translatepoint3d,Flattenlist,Projpara,RSform,textformat,Com2nd,Getlinestyle,Texcom,Subgraph
-Reflectpoint3d,3d,1593,1617,Reflect3pt,Crossprod,Dotprod
-Reflectdata3d,3d,1621,1686,Divoptions,Reflectpoint3d,Flattenlist,textformat,Projpara,RSform,Textformat,Com2nd,Getlinestyle,Texcom,Subgraph
-Scalepoint3d,3d,1691,1708,Scale3pt
-Scaledata3d,3d,1713,1782,Divoptions,Scalepoint3d,Flattenlist,textformat,Projpara,RSform,Textformat,Com2nd,Getlinestyle,Texcom,Subgraph
-Xyzcoord,3d,1786,1792,Mainsubpt3d
-Putoncurve3d,3d,1796,1812,PutonCurve,Nearestpt,Paramoncurve,Pointoncurve,Xyzcoord,textformat,Defvar
-Mkpointlist,3d,1816,1933,Workprocess,Finddef,Norm,Parapt,Parasubpt,Putpoint,Mainsubpt3d,Defvar,Ptselected
-Mkseg3d,3d,1937,1981,Divoptions,Finddef,Spaceline
-Ptseg3data,3d,1985,2020,Ptselected,Parapt,Parasubpt,Mainsubpt3d,Defvar,Mkpointlist,Mkseg3d
-Putonseg3d,3d,2024,2076,divoptions,Putonseg,Putpoint,Parapt,Textformat,Parasubpt,Xyzcoord,Defvar
-Putpoint3d,3d,2080,2138,Toupper,Xyzcoord,Defvar,Parapt,Putpoint,Parasubpt,Fixpoint3d
-Fixpoint3d,3d,2142,2159,Defvar,Parapt,textformat
-Letter3d,3d,2163,2183,Parapt,Letter
-Expr3d,3d,2187,2207,Parapt,Expr
-Perppt,3d,2211,2267,Putperp,Crossprod,IntersectsgpL,Dotprod,Defvar,Putpoint3d,Fixpoint3d,Drawpoint3d
-Perpplane,3d,2271,2312,findangle,Cancoordpara,Toupper,Putpoint3d,Defvar,Drawpoint3d
-Drawpoint3d,3d,2316,2332,Divoptions,Measuredepth,Parapt,Textformat,Parasubpt
-Pointdata3d,3d,2336,2345,Measuredepth,Parapt,Pointdata
-Putaxes3d,3d,2349,2360,Putpoint3d
-IntersectsgpL,3d,2364,2481,Divoptions,Strsplit,Toupper,Crossprod,Reflectpoint3d,Dotprod,Putpoint3d,Drawpoint3d,Textformat
-Bezier3d,3d,2485,2582,Measuredepth,Bezier3,Divoptions,Toupper,Assign,Spacecurve,Projpara,textformat,RSform,Getlinestyle,Com2nd,Subgraph
-Putbezier3data,3d,2586,2624,Divoptions,Putpoint3d
-Mkbezierptcrv3d,3d,2628,2648,Mkbezierptcrv3,Putbezier3data,Bezier3
-Readobj,3d,2686,2788,Divoptions,Toupper,Removespace
-Concatobj,3d,2792,2862,divoptions,Toupper,dist3d
-VertexEdgeFace,3d,2899,2862
-Vertexedgeface,3d,2904,3085,Divoptions,Strsplit,Toupper,Parapt,Putpoint3d,Defvar,Dqq,Changestyle3d,Spaceline,Textformat
-Phparadata,3d,3089,3191,Divoptions,Getlinestyle,Com2nd,Changestyle3d,Drawlinetype,Toupper
-Nohiddenseg,3d,3195,3324,Parapt,Dotprod,Cancoordpara,IntersectsgpL,Projcoordpara,Intersectcrvspp,Crossprod
-Nohiddensegs,3d,3328,3363,Nohiddenseg
-Nohiddenbyfaces,3d,3367,3516,Datalist3d,Divoptions,Strsplit,Toupper,Changestyle3d,MeasureDepth,Nohiddensegs,Spaceline
-Faceremovaldata,3d,3520,3603,Divoptions,Getlinestyle,Com2nd,Measuredepth,Changestyle3d,Drawlinetype,Toupper
-Fullformfunc,3d,3607,3689,Removespace
-Surffun,3d,3693,3709,Fullformfunc,Deffun
-Sf3data,3d,3713,3797,Surffun,Divoptions,Toupper,textformat,Spacecurve
-SfbdparadataR,3d,3801,3887,ConvertFdtoC,Divoptions,Toupper,Select,MkprecommandR,textformat,RSform,Dqq,CalcbyR,ReadOutData,Extractdata,Projpara
-Addpoints,3d,3891,3906,RSform,textformat
-CrvsfparadataR,3d,3910,4012,Changestyle,Divoptions,Toupper,RSform,Select,MkprecommandR,Addpoints,textformat,Rsform,Dqq,CalcbyR,ReadOutData,Extractdata,Projpara
-Crv3onsfparadataR,3d,4016,4116,Crvs3onfparadataR,Changestyle3d,Changestyle,Divoptions,Toupper,RSform,Select,MkprecommandR,textformat,Rsform,Dqq,Addpoints,CalcbyR,ReadOutData,Extractdata,Projpara
-Crv2onsfparadataR,3d,4120,4221,Crvs2onfparadataR,Changestyle,Divoptions,Toupper,RSform,Select,MkprecommandR,textformat,Rsform,Dqq,Addpoints,CalcbyR,ReadOutData,Extractdata,Projpara
-WireparadataR,3d,4225,4326,Divoptions,Toupper,Select,MkprecommandR,RSform,textformat,Rsform,Dqq,Addpoints,CalcbyR,ReadOutData,Extractdata,Projpara
-IntersectcrvsfR,3d,4330,4418,Intersectcrvsf,Divoptions,Toupper,RSform,textformat,Rsform,Dqq,CalcbyR,ReadOutData
-SfcutparadataR,3d,4422,4519,Strsplit,Changestyle,Divoptions,Toupper,RSform,Select,MkprecommandR,textformat,Rsform,Dqq,CalcbyR,ReadOutData,Extractdata,Projpara
-Skeletonparadata,3d,4525,4529,Skeletondatacindy
-Skeletondatacindy,3d,4533,4722,Datalist3d,Divoptions,Strsplit,Toupper,Anyselected,Flattenlist,isexists,ReadOutData,Textformat,Projcoordcurve,Makeskeletondata,Norm,Ptcrv,Invparapt,Projcurve,textformat,Changestyle3d,Getlinestyle,Com2nd,Subgraph,WriteOutData
-Makeskeletondata,3d,4726,4928,Columnlist,Intersectcrvspp,Op,column,Dotprod,Norm,Kukannozoku,Pointoncurve,Listplot
-Kukannozoku,3d,4932,4983
-Projcoordcurve,3d,4989,5003
-Divnohidhid,3d,5007,5070,Divoptions,Toupper,assign,Dotprod,Changestyle3d,Spaceline,textformat
-Beziersurf,3d,5074,5129,factorial,Deffun,Op,Bterm,Defvar
+Ketinit3d,3d,22,57,Setwindow,Addax,Slider,Sprintf
+Start3d,3d,61,170,Strsplit,Toupper,Setfiles,Setwindow,Slider,Sprintf,Ptselected,Ptseg3data
+Setangle,3d,174,245,Parapt,Ptselected,Xyzcoord,Defvar,Datalist3d,Projpara,textformat,Ptseg3data
+Getangle,3d,249,267,getangle,divoptions,Strsplit,181111,Toupper,textformat
+Angleselected,3d,271,272,IsAngle
+Isangle,3d,276,276,Ptselected
+Changestyle3d,3d,280,299,Changestyle
+Dist3d,3d,303,322
+Findangle,3d,326,343
+Cancoordpara,3d,347,355
+Zparapt,3d,359,363
+Projcoordpara,3d,367,372,Parapt,Zparapt
+Parapt,3d,376,382
+Parasubpt,3d,386,392
+Parasubptlog,3d,396,401
+Mainsubpt3d,3d,405,423
+Projcurve,3d,427,477,Measuredepth
+Projpara,3d,481,550,Divoptions,Strsplit,Toupper,Projcurve,textformat,Com2nd,Getlinestyle,Texcom
+Invparaptpp,3d,554,609,textformat,Projpara,Nearestpt,Crossprod,Dotprod,Ptend,Numptcrv,Ptcrv
+Invparapt,3d,613,617,Invparaptpp
+Subgraph,3d,621,638,Measuredepth,Parasubpt,Textformat
+Spaceline,3d,642,735,Divoptions,Toupper,Projpara,Textformat,Com2nd,Getlinestyle,Texcom,Subgraph
+Spacecurve,3d,739,905,Divoptions,Toupper,tmpfn,Projpara,textformat,Com2nd,Getlinestyle,Texcom,Subgraph
+Partcrv3d,3d,909,945,parapt,partcrv,Xyzcoord,Spaceline
+Joincrvs3d(,3d,949,1044,Joincrvs3d,Divoptions,Norm,Projpara,textformat,Com2nd,Getlinestyle,Texcom,Subgraph
+Xyzax3data,3d,1048,1174,Divoptions,Strsplit,Toupper,Spaceline,Xyzaxparaname,Projpara,textformat,Com2nd,Getlinestyle,Texcom,Lightarrowdata,Letter,Parapt,Subgraph
+Xyzaxparaname,3d,1178,1220,Strsplit,Dqq,Parapt,Expr
+Datalist3d,3d,1224,1232
+Datalist2d,3d,1236,1244
+Embed,3d,1248,1336,Measuredepth,Divoptions,Assign,Projpara,textformat,Com2nd,Getlinestyle,Texcom,Subgraph
+Rotate3pt,3d,1340,1341,Rotatepoint3d
+Rotatepoint3d,3d,1344,1429,Measuredepth
+Rotatedata3d,3d,1433,1503,Divoptions,Rotatepoint3d,Flattenlist,Projpara,textformat,RSform,Textformat,Com2nd,Getlinestyle,Texcom,Subgraph
+Translatepoint3d,3d,1507,1534,Translate3pt,Measuredepth
+Translatedata3d,3d,1538,1600,Divoptions,Measuredepth,Translatepoint3d,Flattenlist,Projpara,RSform,textformat,Com2nd,Getlinestyle,Texcom,Subgraph
+Reflectpoint3d,3d,1604,1628,Reflect3pt,Crossprod,Dotprod
+Reflectdata3d,3d,1632,1697,Divoptions,Reflectpoint3d,Flattenlist,textformat,Projpara,RSform,Textformat,Com2nd,Getlinestyle,Texcom,Subgraph
+Scalepoint3d,3d,1702,1719,Scale3pt
+Scaledata3d,3d,1724,1793,Divoptions,Scalepoint3d,Flattenlist,textformat,Projpara,RSform,Textformat,Com2nd,Getlinestyle,Texcom,Subgraph
+Xyzcoord,3d,1797,1803,Mainsubpt3d
+Putoncurve3d,3d,1807,1823,PutonCurve,Nearestpt,Paramoncurve,Pointoncurve,Xyzcoord,textformat,Defvar
+Mkpointlist,3d,1827,1944,Workprocess,Finddef,Norm,Parapt,Parasubpt,Putpoint,Mainsubpt3d,Defvar,Ptselected
+Mkseg3d,3d,1948,1992,Divoptions,Finddef,Spaceline
+Ptseg3data,3d,1996,2031,Ptselected,Parapt,Parasubpt,Mainsubpt3d,Defvar,Mkpointlist,Mkseg3d
+Putonseg3d,3d,2035,2087,divoptions,Putonseg,Putpoint,Parapt,Textformat,Parasubpt,Xyzcoord,Defvar
+Putpoint3d,3d,2091,2149,Toupper,Xyzcoord,Defvar,Parapt,Putpoint,Parasubpt,Fixpoint3d
+Fixpoint3d,3d,2153,2170,Defvar,Parapt,textformat
+Letter3d,3d,2174,2194,Parapt,Letter
+Expr3d,3d,2198,2218,Parapt,Expr
+Perppt,3d,2222,2278,Putperp,Crossprod,IntersectsgpL,Dotprod,Defvar,Putpoint3d,Fixpoint3d,Drawpoint3d
+Perpplane,3d,2282,2332,Divoptions,Toupper,findangle,Cancoordpara,Putpoint3d,Defvar,Pointdata3d
+Drawpoint3d,3d,2336,2352,Divoptions,Measuredepth,Parapt,Textformat,Parasubpt
+Pointdata3d,3d,2356,2370,Measuredepth,Parapt,Pointdata,Defvar
+Putaxes3d,3d,2374,2385,Putpoint3d
+IntersectsgpL,3d,2389,2506,Divoptions,Strsplit,Toupper,Crossprod,Reflectpoint3d,Dotprod,Putpoint3d,Drawpoint3d,Textformat
+Bezier3d,3d,2510,2607,Measuredepth,Bezier3,Divoptions,Toupper,Assign,Spacecurve,Projpara,textformat,RSform,Getlinestyle,Com2nd,Subgraph
+Putbezier3data,3d,2611,2649,Divoptions,Putpoint3d
+Mkbezierptcrv3d,3d,2653,2673,Mkbezierptcrv3,Putbezier3data,Bezier3
+Readobj,3d,2711,2813,Divoptions,Toupper,Removespace
+Concatobj,3d,2817,2887,divoptions,Toupper,dist3d
+VertexEdgeFace,3d,2924,2925,Vertexedgeface
+Vertexedgeface,3d,2929,3110,Divoptions,Strsplit,Toupper,Parapt,Putpoint3d,Defvar,Dqq,Changestyle3d,Spaceline,Textformat
+Phparadata,3d,3114,3216,Divoptions,Getlinestyle,Com2nd,Changestyle3d,Drawlinetype,Toupper
+Nohiddenseg,3d,3220,3349,Parapt,Dotprod,Cancoordpara,IntersectsgpL,Projcoordpara,Intersectcrvspp,Crossprod
+Nohiddensegs,3d,3353,3388,Nohiddenseg
+Nohiddenbyfaces,3d,3392,3541,Datalist3d,Divoptions,Strsplit,Toupper,Changestyle3d,MeasureDepth,Nohiddensegs,Spaceline
+Faceremovaldata,3d,3545,3628,Divoptions,Getlinestyle,Com2nd,Measuredepth,Changestyle3d,Drawlinetype,Toupper
+Fullformfunc,3d,3632,3714,Removespace
+Surffun,3d,3718,3734,Fullformfunc,Deffun
+Sf3data,3d,3738,3822,Surffun,Divoptions,Toupper,textformat,Spacecurve
+SfbdparadataR,3d,3826,3912,ConvertFdtoC,Divoptions,Toupper,Select,MkprecommandR,textformat,RSform,Dqq,CalcbyR,ReadOutData,Extractdata,Projpara
+Addpoints,3d,3916,3931,RSform,textformat
+CrvsfparadataR,3d,3935,4037,Changestyle,Divoptions,Toupper,RSform,Select,MkprecommandR,Addpoints,textformat,Rsform,Dqq,CalcbyR,ReadOutData,Extractdata,Projpara
+Crv3onsfparadataR,3d,4041,4141,Crvs3onfparadataR,Changestyle3d,Changestyle,Divoptions,Toupper,RSform,Select,MkprecommandR,textformat,Rsform,Dqq,Addpoints,CalcbyR,ReadOutData,Extractdata,Projpara
+Crv2onsfparadataR,3d,4145,4246,Crvs2onfparadataR,Changestyle,Divoptions,Toupper,RSform,Select,MkprecommandR,textformat,Rsform,Dqq,Addpoints,CalcbyR,ReadOutData,Extractdata,Projpara
+WireparadataR,3d,4250,4351,Divoptions,Toupper,Select,MkprecommandR,RSform,textformat,Rsform,Dqq,Addpoints,CalcbyR,ReadOutData,Extractdata,Projpara
+IntersectcrvsfR,3d,4355,4443,Intersectcrvsf,Divoptions,Toupper,RSform,textformat,Rsform,Dqq,CalcbyR,ReadOutData
+SfcutparadataR,3d,4447,4544,Strsplit,Changestyle,Divoptions,Toupper,RSform,Select,MkprecommandR,textformat,Rsform,Dqq,CalcbyR,ReadOutData,Extractdata,Projpara
+Skeletonparadata,3d,4550,4554,Skeletondatacindy
+Skeletondatacindy,3d,4558,4747,Datalist3d,Divoptions,Strsplit,Toupper,Anyselected,Flattenlist,isexists,ReadOutData,Textformat,Projcoordcurve,Makeskeletondata,Norm,Ptcrv,Invparapt,Projcurve,textformat,Changestyle3d,Getlinestyle,Com2nd,Subgraph,WriteOutData
+Makeskeletondata,3d,4751,4953,Columnlist,Intersectcrvspp,Op,column,Dotprod,Norm,Kukannozoku,Pointoncurve,Listplot
+Kukannozoku,3d,4957,5008
+Projcoordcurve,3d,5014,5028
+Divnohidhid,3d,5032,5095,Divoptions,Toupper,assign,Dotprod,Changestyle3d,Spaceline,textformat
+Beziersurf,3d,5099,5154,factorial,Deffun,Op,Bterm,Defvar

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic1list.txt
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic1list.txt	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic1list.txt	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,149 +1,150 @@
-Ketinit,basic1,41,172,Fillstore,Cindyname,Indexall,getname,iswindows,ismacosx,Changesetting,Changework,pathsep,Setwindow
-Initglist,basic1,176,187
-Setglist,basic1,191,197
-Addglist,basic1,201,207
-Fillstore,basic1,211,244
-Fillblack,basic1,248,262,Fillstore
-Fillrestore,basic1,266,278
-Readlines,basic1,282,293,readfile2str
-Changesetting,basic1,297,312,pathsep,getname,isexists
-Cindyname,basic1,316,323,Cdyname,Getcdyname
-Setwindow,basic1,327,364,Toupper,Lcrd,Pcrd,Putpoint
-Setfiles,basic1,368,381,Dqq
-Setparent,basic1,385,397,Dqq
-Dqq,basic1,401,401,DqDq
-DqDq,basic1,404,407
-PPa,basic1,411,412
-PaO,basic1,416,428
-PaC,basic1,432,444
-PPa,basic1,448,448
-Tab2list,basic1,452,514,Divoptions,Toupper,Indexall
-Columnlist,basic1,518,521
-Dispmat,basic1,525,547
-Sep1000,basic1,551,569
-Acos,basic1,573,576
-Asin,basic1,580,583
-Atan,basic1,587,590
-Sqr,basic1,594,597
-Factorial,basic1,601,609
-Norm,basic1,613,625
-Removespace,basic1,630,655
-Indexall,basic1,659,677
-Strsplit,basic1,681,692,Indexall
-Parlevel,basic1,696,696,Bracket
-Bracket,basic1,699,721,Indexall
-Pardiagram,basic1,725,821,Divoptions,Toupper,Bracket,Listplot,Letter,Expr
-Changework,basic1,825,883,Divoptions,Strsplit,Toupper,Indexall,isexists,Dqq,makedir,pathsep,iswindows,iskcexists,setexec
-Changestyle,basic1,887,919,Divoptions,Com2nd,Getlinestyle,Texcom
-Op,basic1,923,935
-Ptselected,basic1,939,955,Isptselected
-Finddef,basic1,959,978
-Findgeoinfo,basic1,982,1007,Finddef
-Dependgeo,basic1,1011,1031,Finddef
-Workprocess,basic1,1035,1039,Drawprocess
-Drawprocess,basic1,1042,1087,Divoptions,Strsplit,Toupper,Dependgeo
-Sortpointlist,basic1,1091,1123
-Toupper,basic1,1127,1142
-Textformat,basic1,1146,1170
-Sprintf,basic1,1174,1191,Textformat
-Replaceall,basic1,1195,1205
-Assign,basic1,1209,1266,Textformat
-Measuredepth,basic1,1297,1310,Indexall
-Flattenlist,basic1,1314,1334,Measuredepth
-Divoptions,basic1,1338,1441,Strsplit,Toupper,Colorcmyk2rgb,Colorname2rgb
-Dotprod,basic1,1445,1451
-Crossprod,basic1,1455,1467
-Mvprod,basic1,1471,1489,Measuredepth
-Ptstart,basic1,1493,1498
-Ptend,basic1,1502,1507
-Numptcrv,basic1,1511,1516
-Ptcrv,basic1,1520,1525
-Invert,basic1,1529,1542,Listplot
-Paramoncrv,basic1,1546,1546,Paramoncurve
-Paramoncurve,basic1,1549,1575,Nearestpt,LLcrd
-Pointoncrv,basic1,1579,1579,Pointoncurve
-Pointoncurve,basic1,1582,1600
-Koutenseg,basic1,1604,1712
-Intersectcrvspp,basic1,1718,1861,Divoptions,Measuredepth,LLcrd,Koutenseg
-Intersectcrvs,basic1,1865,1871,Intersectcrvspp
-Intersectline,basic1,1879,1901,Dotprod,Crossprod
-Intersectseg,basic1,1905,2005,Op,Intersectline,Nearestpt
-Osplineseg,basic1,2009,2026,Dotprod,Bezier
-Intersectpartseg,basic1,2030,2132,Crossprod,Norm,Reflectpoint,Osplineseg,Intersectseg,Op,Intersectline
-Collectsameseg,basic1,2136,2178
-Intersectcurvespp,basic1,2182,2288,LLcrd,Intersectpartseg,Collectsameseg,Nearestpt
-Intersectcurves,basic1,2292,2299,Intersectcurvesop
-Nearestptcrvphy,basic1,2305,2314,Pcrd,Measuredepth,Nearestpt
-Nearestptcrv,basic1,2318,2324,Nearestpt
-Nearestpt,basic1,2328,2381,Measuredepth,Paramoncurve
-Derivative,basic1,2385,2476,Strsplit,Lineplot,Intersectcurvespp,Pointoncurve,Dotprod,Divoptions,Toupper,PaO,Pcrd,Assign
-Tangentplot,basic1,2480,2527,Divoptions,Strsplit,Toupper,Intersectcurvespp,Derivative,Lineplot
-Integrate,basic1,2531,2544,Integratefn,Integratedt
-Integratedt,basic1,2548,2580,Divoptions,Toupper,IntegrateO,Measuredepth,MeetCurve,LLcrd
-Integratefn,basic1,2584,2644,Divoptions,Toupper,Strsplit,Assign,IntegrateO,Textformat
-IntegrateO,basic1,2648,2727,Measuredepth,Meetcurve,LLcrd,Dotprod
-FindareaP,basic1,2731,2744,Lcrd
-FindareaO,basic1,2748,2769,Dist,IntegrateO
-Findarea,basic1,2773,2799,Divoptions,Strsplit,Toupper,FindareaO,FindareaP
-Findlength,basic1,2803,2815,Lcrd
-Inversefun,basic1,2819,2842,Textformat
-Com0th,basic1,2846,2850
-Com1st,basic1,2854,2859
-Com2nd,basic1,2863,2868
-Com2ndpre,basic1,2872,2876
-Texcom,basic1,2880,2887,Com2nd
-Ketcindylogo,basic1,2891,2895,Com2nd
-Drwline,basic1,2899,2902,Textformat,Com2nd
-Dashline,basic1,2907,2909,Com2nd
-Invdashline,basic1,2913,2915,Com2nd
-Dottedline,basic1,2919,2921,Com2nd
-Drawlinetype,basic1,2925,2946,Toupper,Drwline,Dashline,Invdashline,Dottedline
-Setunitlen,basic1,2950,3002
-Setmarklen,basic1,3006,3010,Com2nd,Textformat
-Setorigin,basic1,3014,3018,Com2nd,Textformat
-Fontsize,basic1,3022,3025,Com2nd
-Setpen,basic1,3029,3033,Com2nd
-Setscaling,basic1,3037,3051,Com0th,Setwindow
-Lcrd,basic1,3055,3063
-Pcrd,basic1,3067,3075
-LLcrd,basic1,3079,3088
-Doscaling,basic1,3092,3119,Lcrd,LLcrd
-Unscaling,basic1,3123,3150,Lcrd,LLcrd
-Setpt,basic1,3154,3160,Ptsize,Com2nd
-Definecolor,basic1,3164,3172,Texcom
-Setcolor,basic1,3176,3203,Colorcmyk2rgb,Com2nd
-Colorrgb2cmyk,basic1,3207,3219
-Colorcmyk2rgb,basic1,3223,3230
-Colorrgbhsv,basic1,3234,3266
-Colorhsvrgb,basic1,3270,3284
-Colorrgbhsl,basic1,3288,3324
-Colorhslrgb,basic1,3328,3349,Hue2rgb
-Hue2rgb,basic1,3353,3371
-Colorrgbhwb,basic1,3375,3381,Colorrgbhsl,Colorcode
-Colorhwbrgb,basic1,3385,3410
-Colorcode,basic1,3414,3427,Colorrgb2cmyk,Colorcmyk2rgb,Colorrgbhsv,Colorrgbhsl,Colorrgbhwb,Colorhsvrgb,Colorhslrgb,Colorhwbrgb
-Colorname2rgb,basic1,3431,3481,Colorcmyk2rgb,Assign
-Getlinestyle,basic1,3485,3551,Drwline,Dashline,Invdashline,Dottedline,Textformat,Drwpt
-Chunderscore,basic1,3555,3590,PaO
-AddGraph,basic1,3594,3694,Divoptions,Flattenlist,Pcrd,Measuredepth,PaO,Textformat,Com2nd,Getlinestyle,Texcom
-Joincrvs,basic1,3698,3794,LLcrd,Divoptions,Numptcrv,Ptstart,Ptend,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
-Partcrv,basic1,3798,3887,Measuredepth,Divoptions,Numptcrv,Ptstart,Ptend,Joincrvs,Nearestpt,LLcrd,Pcrd,Textformat,Lcrd,Com2nd,Getlinestyle,Texcom
-Opcrvs,basic1,3891,3899,Listplot
-Pointdata,basic1,3903,4026,Strsplit,Divoptions,Toupper,Lcrd,Measuredepth,Pcrd,PaO,Texcom,Textformat,Com2nd
-Listplot,basic1,4030,4111,Divoptions,Strsplit,Toupper,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom,Lcrd
-Lineplot,basic1,4115,4198,Strsplit,Toupper,Divoptions,Lcrd,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
-Plotdata,basic1,4202,4407,Divoptions,Strsplit,PaO,Dqq,Toupper,Assign,Norm,Measuredepth,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
-Paramplot,basic1,4411,4583,Divoptions,Strsplit,PaO,Dqq,Toupper, differs from Scilab ,Assign,Measuredepth,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
-Polarplot,basic1,4587,4596,Strsplit,Paramplot
-Connectseg,basic1,4600,4662,Norm
-Implicitplot,basic1,4666,4849,Divoptions,Strsplit,Toupper,Impfun,Connectseg,Measuredepth,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
-Circledata,basic1,4853,4972,Divoptions,Strsplit,Toupper,Lcrd,Defvar,Lineplot,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
-Framedata,basic1,4976,5028,Measuredepth,LLcrd,Divoptions,Lcrd,Listplot
-Framedata2,basic1,5032,5039,Lcrd,Framedata
-Ovaldata,basic1,5043,5113,Divoptions,Lcrd,Listplot,Circledata,Reflectdata,Joincrvs,Com2nd,Getlinestyle,Texcom,Pcrd,Textformat
-Segmark,basic1,5117,5177,Drawsegmark,Divoptions,Toupper,Circledata,Listplot
-Parabolaplot,basic1,5181,5221,Lcrd,Rotatepoint,Textformat,Plotdata,Rotatedata
-Ellipseplot,basic1,5225,5268,Lcrd,Rotatepoint,Paramplot,Rotatedata
-Hyperbolaplot,basic1,5272,5336,Divoptions,Toupper,Lcrd,Rotatepoint,Paramplot,Lineplot,Rotatedata
-Polygonplot,basic1,5340,5386,Divoptions,Strsplit,Toupper,Lcrd,Putpoint,Listplot
-Putintersect,basic1,5390,5418,Intersectcrvs,Putpoint
+Ketinit,basic1,41,178,Fillstore,Cindyname,Indexall,getname,iswindows,ismacosx,Changesetting,Changework,pathsep,Setwindow,Strictmove
+Initglist,basic1,182,185,Ketinit
+Setglist,basic1,189,195
+Addglist,basic1,199,205
+Fillstore,basic1,209,242
+Fillblack,basic1,246,260,Fillstore
+Fillrestore,basic1,264,276
+Readlines,basic1,280,291,readfile2str
+Changesetting,basic1,295,310,pathsep,getname,isexists
+Cindyname,basic1,314,321,Cdyname,Getcdyname
+Setwindow,basic1,325,362,Toupper,LLcrd,Putpoint,Ptpos,Strictmove,Pcrd
+Setfiles,basic1,366,379,Dqq
+Setparent,basic1,383,395,Dqq
+Reparse,basic1,399,409
+Dqq,basic1,413,413,DqDq
+DqDq,basic1,416,419
+PPa,basic1,423,424
+PaO,basic1,428,440
+PaC,basic1,444,456
+PPa,basic1,460,460
+Tab2list,basic1,464,526,Divoptions,Toupper,Indexall
+Columnlist,basic1,530,533
+Dispmat,basic1,537,559
+Sep1000,basic1,563,581
+Acos,basic1,585,588
+Asin,basic1,592,595
+Atan,basic1,599,602
+Sqr,basic1,606,609
+Factorial,basic1,613,621
+Norm,basic1,625,637
+Removespace,basic1,642,667
+Indexall,basic1,671,689
+Strsplit,basic1,693,704,Indexall
+Parlevel,basic1,708,708,Bracket
+Bracket,basic1,711,733,Indexall
+Pardiagram,basic1,737,833,Divoptions,Toupper,Bracket,Listplot,Letter,Expr
+Changework,basic1,837,895,Divoptions,Strsplit,Toupper,Indexall,isexists,Dqq,makedir,pathsep,iswindows,iskcexists,setexec
+Changestyle,basic1,899,931,Divoptions,Com2nd,Getlinestyle,Texcom
+Op,basic1,935,947
+Ptselected,basic1,951,967,|mouse
+Finddef,basic1,971,990
+Findgeoinfo,basic1,994,1019,Finddef
+Dependgeo,basic1,1023,1043,Finddef
+Workprocess,basic1,1047,1051,Drawprocess
+Drawprocess,basic1,1054,1099,Divoptions,Strsplit,Toupper,Dependgeo
+Sortpointlist,basic1,1103,1135
+Toupper,basic1,1139,1154
+Textformat,basic1,1158,1182
+Sprintf,basic1,1186,1203,Textformat
+Replaceall,basic1,1207,1217
+Assign,basic1,1221,1284,Textformat
+Measuredepth,basic1,1315,1328,Indexall
+Flattenlist,basic1,1332,1352,Measuredepth
+Divoptions,basic1,1356,1459,Strsplit,Toupper,Colorcmyk2rgb,Colorname2rgb
+Dotprod,basic1,1463,1469
+Crossprod,basic1,1473,1485
+Mvprod,basic1,1489,1507,Measuredepth
+Ptstart,basic1,1511,1516
+Ptend,basic1,1520,1525
+Numptcrv,basic1,1529,1534
+Ptcrv,basic1,1538,1543
+Invert,basic1,1547,1560,Listplot
+Paramoncrv,basic1,1564,1564,Paramoncurve
+Paramoncurve,basic1,1567,1593,Nearestpt,LLcrd
+Pointoncrv,basic1,1597,1597,Pointoncurve
+Pointoncurve,basic1,1600,1618
+Koutenseg,basic1,1622,1731
+Intersectcrvspp,basic1,1737,1880,Divoptions,Measuredepth,LLcrd,Koutenseg
+Intersectcrvs,basic1,1884,1890,Intersectcrvspp
+Intersectline,basic1,1898,1920,Dotprod,Crossprod
+Intersectseg,basic1,1924,2024,Op,Intersectline,Nearestpt
+Osplineseg,basic1,2028,2045,Dotprod,Bezier
+Intersectpartseg,basic1,2049,2151,Crossprod,Norm,Reflectpoint,Osplineseg,Intersectseg,Op,Intersectline
+Collectsameseg,basic1,2155,2197
+Intersectcurvespp,basic1,2201,2307,LLcrd,Intersectpartseg,Collectsameseg,Nearestpt
+Intersectcurves,basic1,2311,2318,Intersectcurvespp,190917
+Nearestptcrvphy,basic1,2324,2333,Pcrd,Measuredepth,Nearestpt
+Nearestptcrv,basic1,2337,2343,Nearestpt
+Nearestpt,basic1,2347,2400,Measuredepth,Paramoncurve
+Derivative,basic1,2404,2495,Strsplit,Lineplot,Intersectcurvespp,Pointoncurve,Dotprod,Divoptions,Toupper,PaO,Pcrd,Assign
+Tangentplot,basic1,2499,2546,Divoptions,Strsplit,Toupper,Intersectcurvespp,Derivative,Lineplot
+Integrate,basic1,2550,2563,Integratefn,Integratedt
+Integratedt,basic1,2567,2599,Divoptions,Toupper,IntegrateO,Measuredepth,MeetCurve,LLcrd
+Integratefn,basic1,2603,2663,Divoptions,Toupper,Strsplit,Assign,IntegrateO,Textformat
+IntegrateO,basic1,2667,2746,Measuredepth,Meetcurve,LLcrd,Dotprod
+FindareaP,basic1,2750,2763,Lcrd
+FindareaO,basic1,2767,2788,Dist,IntegrateO
+Findarea,basic1,2792,2818,Divoptions,Strsplit,Toupper,FindareaO,FindareaP
+Findlength,basic1,2822,2834,Lcrd
+Inversefun,basic1,2838,2861,Textformat
+Com0th,basic1,2865,2869
+Com1st,basic1,2873,2878
+Com2nd,basic1,2882,2887
+Com2ndpre,basic1,2891,2895
+Texcom,basic1,2899,2906,Com2nd
+Ketcindylogo,basic1,2910,2914,Com2nd
+Drwline,basic1,2918,2921,Textformat,Com2nd
+Dashline,basic1,2926,2928,Com2nd
+Invdashline,basic1,2932,2934,Com2nd
+Dottedline,basic1,2938,2940,Com2nd
+Drawlinetype,basic1,2944,2965,Toupper,Drwline,Dashline,Invdashline,Dottedline
+Setunitlen,basic1,2969,3021
+Setmarklen,basic1,3025,3029,Com2nd,Textformat
+Setorigin,basic1,3033,3037,Com2nd,Textformat
+Fontsize,basic1,3041,3044,Com2nd
+Setpen,basic1,3048,3052,Com2nd
+Setscaling,basic1,3056,3070,Com0th,Setwindow
+Lcrd,basic1,3074,3082
+Pcrd,basic1,3086,3094
+LLcrd,basic1,3098,3107
+Doscaling,basic1,3111,3138,Lcrd,LLcrd
+Unscaling,basic1,3142,3169,Lcrd,LLcrd
+Setpt,basic1,3173,3179,Ptsize,Com2nd
+Definecolor,basic1,3183,3191,Texcom
+Setcolor,basic1,3195,3222,Colorcmyk2rgb,Com2nd
+Colorrgb2cmyk,basic1,3226,3238
+Colorcmyk2rgb,basic1,3242,3249
+Colorrgbhsv,basic1,3253,3285
+Colorhsvrgb,basic1,3289,3303
+Colorrgbhsl,basic1,3307,3343
+Colorhslrgb,basic1,3347,3368,Hue2rgb
+Hue2rgb,basic1,3372,3390
+Colorrgbhwb,basic1,3394,3400,Colorrgbhsl,Colorcode
+Colorhwbrgb,basic1,3404,3429
+Colorcode,basic1,3433,3446,Colorrgb2cmyk,Colorcmyk2rgb,Colorrgbhsv,Colorrgbhsl,Colorrgbhwb,Colorhsvrgb,Colorhslrgb,Colorhwbrgb
+Colorname2rgb,basic1,3450,3500,Colorcmyk2rgb,Assign
+Getlinestyle,basic1,3504,3569,Toupper,Drwline,Dashline,Invdashline,Dottedline,Textformat,Drwpt
+Chunderscore,basic1,3573,3608,PaO
+AddGraph,basic1,3612,3712,Divoptions,Flattenlist,Pcrd,Measuredepth,PaO,Textformat,Com2nd,Getlinestyle,Texcom
+Joincrvs,basic1,3716,3812,LLcrd,Divoptions,Numptcrv,Ptstart,Ptend,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
+Partcrv,basic1,3816,3905,Measuredepth,Divoptions,Numptcrv,Ptstart,Ptend,Joincrvs,Nearestpt,LLcrd,Pcrd,Textformat,Lcrd,Com2nd,Getlinestyle,Texcom
+Opcrvs,basic1,3909,3917,Listplot
+Pointdata,basic1,3921,4065,Divoptions,Strsplit,Colorcmyk2rgb,Colorname2rgb,Toupper,Lcrd,Measuredepth,Pcrd,PaO,Texcom,Textformat,Com2nd
+Listplot,basic1,4069,4150,Divoptions,Strsplit,Toupper,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom,Lcrd
+Lineplot,basic1,4154,4237,Strsplit,Toupper,Divoptions,Lcrd,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
+Plotdata,basic1,4241,4446,Divoptions,Strsplit,PaO,Dqq,Toupper,Assign,Norm,Measuredepth,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
+Paramplot,basic1,4450,4622,Divoptions,Strsplit,PaO,Dqq,Toupper, differs from Scilab ,Assign,Measuredepth,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
+Polarplot,basic1,4626,4635,Strsplit,Paramplot
+Connectseg,basic1,4639,4701,Norm
+Implicitplot,basic1,4705,4888,Divoptions,Strsplit,Toupper,Impfun,Connectseg,Measuredepth,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
+Circledata,basic1,4892,5011,Divoptions,Strsplit,Toupper,Lcrd,Defvar,Lineplot,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
+Framedata,basic1,5015,5067,Measuredepth,LLcrd,Divoptions,Lcrd,Listplot
+Framedata2,basic1,5071,5078,Lcrd,Framedata
+Ovaldata,basic1,5082,5152,Divoptions,Lcrd,Listplot,Circledata,Reflectdata,Joincrvs,Com2nd,Getlinestyle,Texcom,Pcrd,Textformat
+Segmark,basic1,5156,5216,Drawsegmark,Divoptions,Toupper,Circledata,Listplot
+Parabolaplot,basic1,5220,5260,Lcrd,Rotatepoint,Textformat,Plotdata,Rotatedata
+Ellipseplot,basic1,5264,5307,Lcrd,Rotatepoint,Paramplot,Rotatedata
+Hyperbolaplot,basic1,5311,5375,Divoptions,Toupper,Lcrd,Rotatepoint,Paramplot,Lineplot,Rotatedata
+Polygonplot,basic1,5379,5425,Divoptions,Strsplit,Toupper,Lcrd,Putpoint,Listplot
+Putintersect,basic1,5429,5457,Intersectcrvs,Putpoint

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic2list.txt
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic2list.txt	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic2list.txt	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,97 +1,99 @@
 Drwfigs,basic2,22,24,Drawfigures
-Drawfigures,basic2,28,87,Divoptions,Strsplit,Toupper,Measuredepth,Pointdata,Listplot,Dqq
-Setarrow,basic2,91,117
-Arrowheaddata,basic2,121,214,Divoptions,Strsplit,Toupper,Touppera,Measuredepth,Nearestpt,|Ptend,Ptstart,Numptcrv,Ptcrv,LLcrd,Intersectcrvspp,Pcrd
-Arrowhead,basic2,218,310,Strsplit,Toupper,Measuredepth,Pcrd,Arrowheaddata,Inwindow,Listplot,Divoptions,Dqq,Textformat,LLcrd,Com2nd,Texcom
-Arrowdata,basic2,314,428,Divoptions,Strsplit,Toupper,Pcrd,Textformat,Listplot,LLcrd,Arrowhead,Setscaling,Lcrd
-Lightarrowdata,basic2,432,547,Pcrd,Divoptions,Strsplit,Toupper,Listplot,Textformat,LLcrd,Com2nd,Texcom,Setscaling,Lcrd
-Anglemark,basic2,551,684,Divoptions,Indexall,Strsplit,Dqq,Toupper,Lcrd,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
-Paramark,basic2,688,798,Divoptions,Indexall,Strsplit,Dqq,Toupper,Lcrd,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
-Makebowdata,basic2,802,815,Lcrd,Rotatepoint
-Bowdata,basic2,819,990,Divoptions,Lcrd,Strsplit,Toupper,Makebowdata,Defvar,Norm,LLcrd,Dqq,Measuredepth,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
-Bowname,basic2,994,997,Expr
-Bownamerot,basic2,1001,1015,Measuredepth,Ptend,Ptstart,Exprrot
-Deqdata,basic2,1019,1077,funP,Lcrd,funN
-Deqplot,basic2,1081,1225,Lcrd,Divoptions,Toupper,Indexall,Deqdata,Pcrd,Assign,Textformat,RSform,Com2nd,Getlinestyle,Texcom
-Enclosing,basic2,1393,1559,Enclosing2,Divoptions,isList,Lcrd,Listplot,Intersectcurvespp,Prepend,Op,Length,Partcrv,Pointoncurve,Pcrd,PaO,Textformat,Com2nd,Getlinestyle,Texcom,LLcrd
-Makehatch,basic2,1567,1669,Lineplot,Intersectseg,Norm,Listplot
-Anyselected,basic2,1673,1681
-Hatchdata,basic2,1685,1981,HatchdataR,Hatchdatacindy,Listplot,Joincrvs,Enclosing2,Divoptions,Strsplit,Toupper,Anyselected,Bracket,isexists,ReadOutData,Makehatch,Textformat,PaO,Com2nd,Getlinestyle,Texcom,WriteOutData,LLcrd
-Shadein,basic2,1985,2072,Framedata,Partcrv,Paramoncrv,Listplot,Intersectcurvespp,Pointoncrv,Joincrvs,Inwindow
-Shade,basic2,2076,2204,Divoptions,Strsplit,Toupper,Colorcmyk2rgb,Enclosing,Shadein,Listplot,Joincrvs,Pcrd,PaO,Textformat,Dqq
-Rotatepoint,basic2,2210,2220,Lcrd
-Translatepoint,basic2,2224,2234,Lcrd
-Scalepoint,basic2,2238,2248,Lcrd
-Reflectpoint,basic2,2252,2277,Lcrd
-Rotatedata,basic2,2281,2367,Divoptions,Lcrd,Strsplit,Toupper,Measuredepth,LLcrd,Pcrd,Textformat,RSform,Com2nd,Getlinestyle,Texcom
-Translatedata,basic2,2371,2449,Divoptions,Strsplit,Toupper,Lcrd,Measuredepth,LLcrd,Pcrd,RSform,Textformat,Com2nd,Getlinestyle,Texcom
-Scaledata,basic2,2453,2555,Divoptions,Lcrd,Strsplit,Toupper,Measuredepth,LLcrd,Pcrd,Textformat,RSform,Com2nd,Getlinestyle,Texcom
-Reflectdata,basic2,2559,2653,Divoptions,Strsplit,Toupper,Lcrd,Measuredepth,LLcrd,Pcrd,RSform,Textformat,Com2nd,Getlinestyle,Texcom
-Mksegments,basic2,2658,2673,Listplot
-Mkcircles,basic2,2678,2698,Strsplit,Circledata
-MakeRarg,basic2,2702,2715,RSslash,Textformat
-Htickmark,basic2,2719,2742,Listplot,Expr
-Vtickmark,basic2,2746,2767,Listplot,Expr,180710to//  tmp=MakeRarg
-Vtick,basic2,2771,2781,Listplot
-Htick,basic2,2785,2797,LLcrd,Listplot
-Setax,basic2,2801,2818
-Drwxy,basic2,2822,2917,Divoptions,Strsplit,Toupper,Lightarrowdata,Listplot,Expr,Letter,Addax
-Drwpt,basic2,2921,2930,Pointdata
-Drawpoint,basic2,2933,2961,Measuredepth,Textformat,Com2nd,Setpen
-Addax,basic2,2965,2968
-Expr,basic2,2972,2987,Letter
-Letter,basic2,2991,3086,Divoptions,Removespace,Strsplit,Toupper,RSslash,Com2nd,Lcrd,Texcom,Pcrd
-Letterrot,basic2,3090,3132,Divoptions,Letter,Com2nd,Dqq,Texcom
-Exprrot,basic2,3136,3179,Divoptions,Expr,Com2nd,Dqq,Texcom
-Slider,basic2,3183,3230,Toupper,Strsplit,Indexall,Putpoint,Listplot,Putonseg
-Putpoint,basic2,3234,3245,Textformat,Pcrd
-Putpoint,basic2,3249,3260,Textformat,Pcrd
-Bezierpt,basic2,3264,3289,Lcrd
-Bezier,basic2,3293,3305,Beziercurve
-Beziercurve,basic2,3309,3386,Divoptions,Measuredepth,Lcrd,Bezierpt,Pcrd,Textformat,RSform,Com2nd,Getlinestyle,Texcom
-Putbezierdata,basic2,3390,3452,Divoptions,Putpoint,Lcrd,Letter
-Bezierstart,basic2,3456,3458
-Mkbezierptcrv,basic2,3462,3488,Readcsvsla,Measuredepth,Putbezierdata,Bezier
-Mkbeziercrv,basic2,3492,3503,Measuredepth,Bezier
-Ospline,basic2,3507,3566,Dotprod,Lcrd,Bezier
-CRspline,basic2,3570,3616,Lcrd,Reflectpoint,Bezier
-Beziersmooth,basic2,3620,3681,Bzspline,Putpoint,Lcrd,Bezier
-Beziersym,basic2,3685,3734,Bzsspline,Putpoint,Lcrd,Bezier
-Listbspline2bz,basic2,3738,3753,Lcrd
-Bspline,basic2,3757,3765,Listbspline2bz,BezierCurve
-Meetcurve,basic2,3769,3829,Measuredepth,LLcrd,Lcrd
-Putonline,basic2,3833,3853,LLcrd,Lineplot,Putonseg
-Putonseg,basic2,3857,3893,LLcrd,Divoptions,Lcrd,Putpoint,Pcrd,Textformat
-Putoncurve,basic2,3897,3926,putoncurve,Putpoint,Paramoncurve,Putonseg,Textformat,Ptend
-Crosspoint,basic2,3930,3948,MeetCurve,Putpoint
-Periodfun,basic2,3952,4085,Divoptions,Strsplit,Toupper,Plotdata,Translatedata,Setscaling,Norm,Listplot,Textformat
-Mkcstable,basic2,4089,4105,Textformat
-Fourierseries,basic2,4109,4179,Divoptions,Strsplit,Toupper,Plotdata,Assign,Listplot
-Tabledata,basic2,4183,4205,Divoptions,Toupper,Tabledatageo,Tabledatalight
-Tabledatalight,basic2,4209,4328,Divoptions,Strsplit,Toupper,Tlistplot,Changetablestyle,Addax,Setwindow
-Tabledatageo,basic2,4332,4396,Divoptions,Strsplit,Toupper,Putpoint,Tabledatalight
-Tgrid,basic2,4400,4415
-Tlistplot,basic2,4419,4448,divoptions,Toupper,Tgrid,Listplot
-Changetablestyle,basic2,4452,4540,Indexall,Changestyle,Replaceall,Tlistplot
-Findcell,basic2,4544,4570,Tgrid
-Putcell,basic2,4574,4609,Findcell,Letter
-Putcellexpr,basic2,4613,4625,Putcell
-Putrow,basic2,4629,4644,Putcellrow,Putcell
-Putrowexpr,basic2,4648,4661,Putrow
-Putcol,basic2,4665,4680,Putcellexpr,Putcell
-Putcolexpr,basic2,4684,4697,Putcellexpr,Putcol
-Setrange,basic2,4701,4707,Pcrd
-Inwindow,basic2,4711,4723
-Dashlinedata,basic2,4727,4800
-Windispg,basic2,4804,4870,Drwxy,Measuredepth,Dashlinedata,Textformat
-Extractdata,basic2,4875,4931,Divoptions,Com2nd,Getlinestyle,Texcom
-Removeout,basic2,4935,4945
-Makecmdlist,basic2,4949,4979
-Savecmdlist,basic2,4983,4989
-Quicksort,basic2,4993,5013
-Lessstr,basic2,5017,5044
-Makehelplist,basic2,5048,5092,PPa
-Helplist,basic2,5096,5150,Makehelplist
-Help,basic2,5154,5205
-Helpkey,basic2,5209,5227,Help
-Example,basic2,5231,5255
+Drawfigures,basic2,28,106,Divoptions,Strsplit,Toupper,Measuredepth,Pointdata,Listplot,Dqq
+Setarrow,basic2,110,136
+Arrowheaddata,basic2,140,233,Divoptions,Strsplit,Toupper,Touppera,Measuredepth,Nearestpt,|Ptend,Ptstart,Numptcrv,Ptcrv,LLcrd,Intersectcrvspp,Pcrd
+Arrowhead,basic2,237,329,Strsplit,Toupper,Measuredepth,Pcrd,Arrowheaddata,Inwindow,Listplot,Divoptions,Dqq,Textformat,LLcrd,Com2nd,Texcom
+Arrowdata,basic2,333,335,Lightarrowdata
+OldArrowdata,basic2,339,453,Arrowdata,Divoptions,Strsplit,Toupper,Pcrd,Textformat,Listplot,LLcrd,Arrowhead,Setscaling,Lcrd
+Lightarrowdata,basic2,457,578,Pcrd,Divoptions,Strsplit,Toupper,Listplot,Textformat,LLcrd,Indexall,Dqq,Com2nd,Texcom,Setscaling,Lcrd
+Anglemark,basic2,582,715,Divoptions,Indexall,Strsplit,Dqq,Toupper,Lcrd,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
+Paramark,basic2,719,829,Divoptions,Indexall,Strsplit,Dqq,Toupper,Lcrd,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
+Makebowdata,basic2,833,846,Lcrd,Rotatepoint
+Bowdata,basic2,850,1021,Divoptions,Lcrd,Strsplit,Toupper,Makebowdata,Defvar,Norm,LLcrd,Dqq,Measuredepth,Pcrd,Textformat,Com2nd,Getlinestyle,Texcom
+Bowname,basic2,1025,1028,Expr
+Bownamerot,basic2,1032,1046,Measuredepth,Ptend,Ptstart,Exprrot
+Deqdata,basic2,1050,1108,funP,Lcrd,funN
+Deqplot,basic2,1112,1256,Lcrd,Divoptions,Toupper,Indexall,Deqdata,Pcrd,Assign,Textformat,RSform,Com2nd,Getlinestyle,Texcom
+Enclosing,basic2,1260,1423,Enclosing2,Divoptions,isList,Lcrd,Listplot,Intersectcurvespp,Prepend,Op,Length,Partcrv,Pointoncurve,Pcrd,PaO,Textformat,Com2nd,Getlinestyle,Texcom,LLcrd
+Makehatch,basic2,1429,1531,Lineplot,Intersectseg,Norm,Listplot
+Anyselected,basic2,1535,1543
+Hatchdata,basic2,1547,1843,HatchdataR,Hatchdatacindy,Listplot,Joincrvs,Enclosing2,Divoptions,Strsplit,Toupper,Anyselected,Bracket,isexists,ReadOutData,Makehatch,Textformat,PaO,Com2nd,Getlinestyle,Texcom,WriteOutData,LLcrd
+Shadein,basic2,1847,1934,Framedata,Partcrv,Paramoncrv,Listplot,Intersectcurvespp,Pointoncrv,Joincrvs,Inwindow
+Shade,basic2,1938,2066,Divoptions,Strsplit,Toupper,Colorcmyk2rgb,Enclosing,Shadein,Listplot,Joincrvs,Pcrd,PaO,Textformat,Dqq
+Rotatepoint,basic2,2072,2082,Lcrd
+Translatepoint,basic2,2086,2096,Lcrd
+Scalepoint,basic2,2100,2110,Lcrd
+Reflectpoint,basic2,2114,2139,Lcrd
+Rotatedata,basic2,2143,2229,Divoptions,Lcrd,Strsplit,Toupper,Measuredepth,LLcrd,Pcrd,Textformat,RSform,Com2nd,Getlinestyle,Texcom
+Translatedata,basic2,2233,2311,Divoptions,Strsplit,Toupper,Lcrd,Measuredepth,LLcrd,Pcrd,RSform,Textformat,Com2nd,Getlinestyle,Texcom
+Scaledata,basic2,2315,2417,Divoptions,Lcrd,Strsplit,Toupper,Measuredepth,LLcrd,Pcrd,Textformat,RSform,Com2nd,Getlinestyle,Texcom
+Reflectdata,basic2,2421,2515,Divoptions,Strsplit,Toupper,Lcrd,Measuredepth,LLcrd,Pcrd,RSform,Textformat,Com2nd,Getlinestyle,Texcom
+Mksegments,basic2,2520,2535,Listplot
+Mkcircles,basic2,2540,2560,Strsplit,Circledata
+MakeRarg,basic2,2564,2577,RSslash,Textformat
+Htickmark,basic2,2581,2604,Listplot,Expr
+Vtickmark,basic2,2608,2629,Listplot,Expr,180710to//  tmp=MakeRarg
+Vtick,basic2,2633,2643,Listplot
+Htick,basic2,2647,2659,LLcrd,Listplot
+Setax,basic2,2663,2687,Divoptions
+Drwxy,basic2,2691,2797,Divoptions,Strsplit,Toupper,Lightarrowdata,Listplot,Expr,Letter,Addax
+Drwpt,basic2,2801,2810,Pointdata
+Drawpoint,basic2,2813,2841,Measuredepth,Textformat,Com2nd,Setpen
+Addax,basic2,2845,2848
+Expr,basic2,2852,2867,Letter
+Letter,basic2,2871,2972,Divoptions,Removespace,Strsplit,Toupper,RSslash,Com2nd,Lcrd,Texcom,Pcrd
+Letterrot,basic2,2976,3018,Divoptions,Letter,Com2nd,Dqq,Texcom
+Exprrot,basic2,3022,3065,Divoptions,Expr,Com2nd,Dqq,Texcom
+Ptpos,basic2,3069,3089,Textformat
+Strictmove,basic2,3093,3113,textformat,Textformat
+Slider,basic2,3117,3164,Toupper,Strsplit,Indexall,textformat,Listplot,Putonseg
+Putpoint,basic2,3168,3179,Textformat,Pcrd
+Bezierpt,basic2,3183,3208,Lcrd
+Bezier,basic2,3212,3224,Beziercurve
+Beziercurve,basic2,3228,3305,Divoptions,Measuredepth,Lcrd,Bezierpt,Pcrd,Textformat,RSform,Com2nd,Getlinestyle,Texcom
+Putbezierdata,basic2,3309,3371,Divoptions,Putpoint,Lcrd,Letter
+Bezierstart,basic2,3375,3377
+Mkbezierptcrv,basic2,3381,3407,Readcsvsla,Measuredepth,Putbezierdata,Bezier
+Mkbeziercrv,basic2,3411,3422,Measuredepth,Bezier
+Ospline,basic2,3426,3485,Dotprod,Lcrd,Bezier
+CRspline,basic2,3489,3535,Lcrd,Reflectpoint,Bezier
+Beziersmooth,basic2,3539,3600,Bzspline,Putpoint,Lcrd,Bezier
+Beziersym,basic2,3604,3653,Bzsspline,Putpoint,Lcrd,Bezier
+Listbspline2bz,basic2,3657,3672,Lcrd
+Bspline,basic2,3676,3684,Listbspline2bz,BezierCurve
+Meetcurve,basic2,3688,3748,Measuredepth,LLcrd,Lcrd
+Putonline,basic2,3752,3772,LLcrd,Lineplot,Putonseg
+Putonseg,basic2,3776,3812,LLcrd,Divoptions,Lcrd,Putpoint,Pcrd,Textformat
+Putoncurve,basic2,3816,3845,putoncurve,Putpoint,Paramoncurve,Putonseg,Textformat,Ptend
+Crosspoint,basic2,3849,3867,MeetCurve,Putpoint
+Periodfun,basic2,3871,4004,Divoptions,Strsplit,Toupper,Plotdata,Translatedata,Setscaling,Norm,Listplot,Textformat
+Mkcstable,basic2,4008,4024,Textformat
+Fourierseries,basic2,4028,4095,Divoptions,Strsplit,Toupper,Deffun,Plotdata,Assign,Listplot
+Tabledata,basic2,4099,4121,Divoptions,Toupper,Tabledatageo,Tabledatalight
+Tabledatalight,basic2,4125,4244,Divoptions,Strsplit,Toupper,Tlistplot,Changetablestyle,Addax,Setwindow
+Tabledatageo,basic2,4248,4312,Divoptions,Strsplit,Toupper,Putpoint,Tabledatalight
+Tgrid,basic2,4316,4331
+Tlistplot,basic2,4335,4364,divoptions,Toupper,Tgrid,Listplot
+Changetablestyle,basic2,4368,4456,Indexall,Changestyle,Replaceall,Tlistplot
+Findcell,basic2,4460,4486,Tgrid
+Putcell,basic2,4490,4525,Findcell,Letter
+Putcellexpr,basic2,4529,4541,Putcell
+Putrow,basic2,4545,4560,Putcellrow,Putcell
+Putrowexpr,basic2,4564,4577,Putrow
+Putcol,basic2,4581,4596,Putcellexpr,Putcell
+Putcolexpr,basic2,4600,4613,Putcellexpr,Putcol
+Setrange,basic2,4617,4623,Pcrd
+Inwindow,basic2,4627,4639
+Dashlinedata,basic2,4643,4716
+Windispg,basic2,4720,4787,Drwxy,Measuredepth,Dashlinedata,Textformat
+Extractdata,basic2,4792,4848,Divoptions,Com2nd,Getlinestyle,Texcom
+Removeout,basic2,4852,4862
+Makecmdlist,basic2,4866,4896
+Savecmdlist,basic2,4900,4906
+Quicksort,basic2,4910,4930
+Lessstr,basic2,4934,4961
+Makehelplist,basic2,4965,5009,PPa
+Helplist,basic2,5013,5067,Makehelplist
+Help,basic2,5071,5122
+Helpkey,basic2,5126,5144,Help
+Example,basic2,5148,5172

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic3list.txt
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic3list.txt	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/basic3list.txt	2019-09-27 21:24:30 UTC (rev 52190)
@@ -11,46 +11,52 @@
 Defvar,basic3,326,370
 IftoR,basic3,374,413,PaO,Indexall,Bracket
 FortoR,basic3,417,446,PaO,Bracket
-Deffun,basic3,450,497,Bracket,Indexall,FortoR,IftoR,RSform,PaO
-WritetoRS,basic3,501,734,WritetoSci,Lcrd,Datetime,Textformat,Cindyname,RSform,PPa,iswindows,Indexall,Dqq,PaO
-Readoutdata,basic3,738,851,Divoptions,Strsplit,Toupper,Pcrd,Textformat
-Writeoutdata,basic3,855,917,Flattenlist,Measuredepth
-Makeshell,basic3,921,1021,kc,Indexall,Dqq
-Convsjiswin,basic3,1025,1049,nkfwin,nkfcpdel,isexists,pathsep
-Makebat,basic3,1053,1191,kc,iswindows,isincludefull,isexists,Indexall,Dqq
-Addpackage,basic3,1195,1213
-Usegraphics,basic3,1217,1227,Addpackage
-Viewtex,basic3,1231,1305,iswindows,Makebat,kc,Makeshell,WritetoRS
-Viewparent,basic3,1309,1327,isexists,iswindows,Makebat,Makeshell,WritetoRS,kc
-Figpdf,basic3,1331,1451,Removespace,isexists
-Slidework,basic3,1455,1474,isexists,makedir,pathsep,Changework
-Setslidemargin,basic3,1478,1481
-Setslidepage,basic3,1485,1510
-Setslidemain,basic3,1514,1538
-Setslidebody,basic3,1542,1579
-Setslidehyper,basic3,1583,1661,Divoptions,Addpackage,Indexall,Toupper
-Settitle,basic3,1665,1736,Toupper,Indexall
-Maketitle,basic3,1740,1835,iswindows,Makebat,Makeshell,kc,Cindyname,isexists,PaO
-Repeatsameslide,basic3,1839,1994,Indexall
-Presentation,basic3,1998,2663,readfile2str,isexists,Removespace,fileslist,Repeatsameslide
-Mkslides,basic3,2667,2731,Fillblack,Changework,Setdirectory,setexec,isexists,Presentation,iswindows,Makebat,Makeshell,kc,pathsep,Fillrestore
-Mkslidesummary,basic3,2735,2800,Fillblack,pathsep,ismacosx,setexec,PPa,PaO,CalcbyR,iswindows,Makebat,Makeshell,kc,Changework,Fillstore
-BBdata,basic3,2804,2947,Divoptions,Toupper,ismacosx,Dqq,iswindows,kc,Sprintf,Removespace
-Gcd,basic3,2951,2963
-Fracform,basic3,2967,2992
-Totexformpart,basic3,2996,3064,Bracket,Strsplit,Assign
-Totexform,basic3,3068,3119,Totexformpart,Assign,Indexall,Bracket
-Tocindyformpart,basic3,3123,3191,Bracket,Strsplit,Assign
-Tocindyform,basic3,3195,3242,Tocindyformpart,Indexall,Bracket
-Animepar,basic3,3246,3246,Animationparam
-Animationparam,basic3,3250,3269,seconds,stopanimation
-Copyketcindyjs,basic3,3273,3334,iswindows,Dqq,kc
-Ketjsoption,basic3,3338,3339,Setketcindyjs
-Setketcindyjs,basic3,3343,3352
-Ketcindyjsdata,basic3,3356,3394,Textformat,Dqq
-Findfun,basic3,3398,3465,Removespace,Indexall
-Extractfun,basic3,3469,3486,Indexall,Findfun
-Extractall,basic3,3495,3539
-Textedit,basic3,3543,3549
-Textedit2value,basic3,3553,3595,Toupper,Textedit,Removespace,Tocindyform,Totexform,Tomaxform,Strsplit
-Mkketcindyjs,basic3,3599,4158,Strsplit,Toupper,Colorcode,Colorname2rgb,Copyketcindyjs,isexists,Cdyname,Extractfun,Extractall,pathsep,Readlines,Removespace,Dqq,indexall,Indexof,Indexall
+Deffun,basic3,450,503,Removespace,Bracket,Indexall,FortoR,IftoR,RSform,PaO
+WritetoRS,basic3,507,740,WritetoSci,Lcrd,Datetime,Textformat,Cindyname,RSform,PPa,iswindows,Indexall,Dqq,PaO
+Readoutdata,basic3,744,857,Divoptions,Strsplit,Toupper,Pcrd,Textformat
+Writeoutdata,basic3,861,923,Flattenlist,Measuredepth
+Makeshell,basic3,927,1027,kc,Indexall,Dqq
+Convsjiswin,basic3,1031,1055,nkfwin,nkfcpdel,isexists,pathsep
+Makebat,basic3,1059,1197,kc,iswindows,isincludefull,isexists,Indexall,Dqq
+Addpackage,basic3,1201,1219
+Usegraphics,basic3,1223,1233,Addpackage
+Viewtex,basic3,1237,1311,iswindows,Makebat,kc,Makeshell,WritetoRS
+Viewparent,basic3,1315,1333,isexists,iswindows,Makebat,Makeshell,WritetoRS,kc
+Figpdf,basic3,1337,1457,Removespace,isexists
+Slidework,basic3,1461,1480,isexists,makedir,pathsep,Changework
+Setslidemargin,basic3,1484,1487
+Setslidepage,basic3,1491,1516
+Setslidemain,basic3,1520,1544
+Setslidebody,basic3,1548,1585
+Setslidehyper,basic3,1589,1667,Divoptions,Addpackage,Indexall,Toupper
+Settitle,basic3,1671,1742,Toupper,Indexall
+Maketitle,basic3,1746,1841,iswindows,Makebat,Makeshell,kc,Cindyname,isexists,PaO
+Repeatsameslide,basic3,1845,2000,Indexall
+Presentation,basic3,2004,2669,readfile2str,isexists,Removespace,fileslist,Repeatsameslide
+Mkslides,basic3,2673,2737,Fillblack,Changework,Setdirectory,setexec,isexists,Presentation,iswindows,Makebat,Makeshell,kc,pathsep,Fillrestore
+Mkslidesummary,basic3,2741,2806,Fillblack,pathsep,ismacosx,setexec,PPa,PaO,CalcbyR,iswindows,Makebat,Makeshell,kc,Changework,Fillstore
+BBdata,basic3,2810,2953,Divoptions,Toupper,ismacosx,Dqq,iswindows,kc,Sprintf,Removespace
+Gcd,basic3,2957,2969
+Fracform,basic3,2973,3010
+Totexformpart,basic3,3014,3082,Bracket,Strsplit,Assign
+Totexform,basic3,3086,3149,Totexformpart,Indexall,Bracket
+Tocindyformpart,basic3,3153,3221,Bracket,Strsplit,Assign
+Tocindyform,basic3,3225,3263,Bracket,Indexall,Tocindyformpart
+Animepar,basic3,3267,3267,Animationparam
+Animationparam,basic3,3271,3290,seconds,stopanimation
+Copyketcindyjs,basic3,3294,3355,iswindows,Dqq,kc
+Ketjsoption,basic3,3359,3360,Setketcindyjs
+Setketcindyjs,basic3,3364,3373
+Ketcindyjsbody,basic3,3377,3381
+Ketcindyjsdata,basic3,3385,3425,Textformat,Dqq,set
+Findfun,basic3,3429,3496,Removespace,Indexall
+Extractfun,basic3,3500,3517,Indexall,Findfun
+Extractall,basic3,3526,3570
+Textedit,basic3,3574,3580
+Textedit2value,basic3,3584,3626,Toupper,Textedit,Removespace,Tocindyform,Totexform,Tomaxform,Strsplit
+Parsejson,basic3,3630,3683, unicode
+Resizetextsize,basic3,3687,3711,Parsejson
+Movetojs,basic3,3715,3723
+Movetojsexe,basic3,3727,3743,Dqq,Parsejson
+Setplaybuttons,basic3,3747,3772,Movetojs
+Mkketcindyjs,basic3,3776,4448, 12px/10pt = 12px/,Toupper,Colorcode,Colorname2rgb,Copyketcindyjs,isexists,Cdyname,Extractfun,Extractall,pathsep,Readlines,Ketcindyjsdata,Movetojsexe,Resizetextsize,indexall,Indexof,Indexall,Removespace,Strsplit,Dqq

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/ignoredfun.txt
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/ignoredfun.txt	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/ignoredfun.txt	2019-09-27 21:24:30 UTC (rev 52190)
@@ -18,8 +18,13 @@
 Help
 Helplist
 Invdashline
+Ketcindyjsbody
 Ketcindyjsdata
 Ketjsoption
+Parsejson
+Resizetextsize
+Movetojs
+Movetojsexe
 Mkketcindyjs
 Presentation
 //Putbezierdata

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/ketcindyjs/makefunlist.cdy
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/ketmanual/KeTCindyReferenceE.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/ketmanual/KeTCindyReferenceJ.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/samples/s10maxima/s1010fourier.cdy
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/samples/s10maxima/s1010fourier.cdy	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/samples/s10maxima/s1010fourier.cdy	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,29 +1,29 @@
-PK  \x98N            &   private/de.cinderella/construction.cdy\x9D\x9B\xDDr۸\x80\xEF\xFD
]ѭB\x8B\x94d\xCB\xDEIg\xBC\xFEI\xB2\x89O\xECm\xDAiz\x91\x90\x8CEp@ʎ\xBB\x93\xEAk\xF4\xC9z at J\xB6\xA8s	;\xFE\xFC 
\x80(\x81988SY\xF2\xF8&
-\x8E\xBD\xE9J\xA5\x89
BϏ\xE1\xD1\xC1\xE0\xF0 \x8C\xBC\xF0\xE8d0\xD8\xDF;883R\x942\xF1tv\xE2\x9D\xE6ƋF}\xB8cox2><\x8E\xBD\xEB+\xA0.\xB59\xF1J\xB1\xA5օ,\x8B\x95\x86\xC2\xF3/\xDE\xE7/\xB7\xDE\xC5\xF9\x87[\xEF͛7\xDE\xD5\xE9\xD9\xFB\x9F/\xBCw\x9F/\xBE\x9E\xDE^\x9C{g_\xCE/\xF6\xDEI\xBD\x94\xA5y<y{\xB1\x8AS\x95H\x91\xFD\xB2\xE7\xF7n\xBE\xF5\xF6O\xDE^)\xAF\xB5\xCAJ\xFF_\xA3`\xF0W\xF5\x97A0\xE8\xBF	\x83\xC3\xCD\xCBA0\xAA_\xFE{\xFF\x97=@\xFB\xA7y.\x85Y,\xFD\xA8?,\x84\xFB\xFA\xA5Y\xC9\xFEL\xA4\x85\xDC(K\xA3\xA6\xABR\xFA\xBDX\xA7\xDA\xF4\xFA\xBD\xA8\xD7r<02:2hŦ\xE9J\xBAps8ͬ
i~' \xE1	\xF9C\x9AXR\xA6r)\xB3\xD8\xEA4:1\xE2\xA14"\x96
\Ť2\x9B\x97w\xB6\xF5\xD7z\xC5
\x95[\xAA\x8DIԲ\xF54\x8C\xCCi:z\xA5\x8A{U\xA8ij{oG\x94kP\xFE(\x83\x99\xCEʙX\xAA\xF4\xE0\x917Ҩ\x91\xA7"\xB3\x95r\xBD\xCBU\x96\xA9l\xDEѽTL!gIw\xE7
-\xF5\xDBZ\xB1\xE9\xB0\xD4T\xA7I\xD70\xA6J\x91\xAA\xB8\xE8 \xF3M\xA3c\xB6\xCD\xDC^qSm\xEAqh9\x85\xDC \x98\x89\xA5\xAD\xAE\xAD\xAE at -\xC5\xDC
-\x960C\x84jt)J\xA5\xED\x953h\x9E\xCC'; ׺\xF0\x87\xFDa?\xAC\xAF\xF7\xBE\xC6 \x88\xFA\xE1\xBE\xCC\xE7
\xC14\xFD1/\xF3\xCB&\x80\xF3
s|\xD7/
\xB6\xEB\x8EC~\xC1\xE0\xAE_0\xD1\xE6L\xD3~\xC1
\xED\x86k\xF8\x85a\x9A~\xC1\xE1
\x91~!\xEC\xF0
\x8Eh\xFA\x858N\xF8S\x84_\xE8\xCE\xED\xFA\x85\xA6\x90_h\x8C\xF2
q\xBB~!\xDA/\xB8\xEB\xA6\xAE\xA6_Z\xA1\xA6_\xDAQ\xC2/\xEB \xBF\xF0z\x87\x83ƿ\xF1\xF3\xED\xCCd[7/\xB5M\x87l\xDC\\xE3\xA8W\xD3t\x8A\xE6E\x9EqԌ\xA3e
$\xE3\xE2Ÿ\xE6ł\xE9\xF0\x8B\x93^\\xEC\xE2$7\xB78\xAB\xA5\xDB,\xAEb\xE9\xF6\x8A\x8BVܭ\xF2R\xA9\xB8:\xE5RZ\xAF\xD8\xBE
-\xADKv4\xEEj\xA2\xAE\xEB\xC9[A\xD8\xF5\xBC\xE7\x91]_\xB4\x90\xBB\xCEhA\x917Hv\xD7
$\xD4\xE62\x80v\x89\xD2
\xE1цKx\xAC\xE9\x92#\x9CBr\xA4W\xE8\x96;\xDCB5\xFDB#\x84c\xF8\x91\x9F\xA94\xADƝ\xE7,\xB2y\xB8\x8E\xAA\xAF\xC9`2
\x87G\x93ɐLU\xB6\xA8\xB2\xA1RU>:\x8Cn\xE5+\xE3\x94\xE7*{K\x95=\xA8\xA4\x9A
m3\xC1V\xBB*\xCB\xEA\x9Ao\x93
\x8Aب\xDC\xCEܿ+\xF9 \xE1\xF6R_\xC4𻽑R\xCF\xE7\xAEoy\xA9\xE6+\xD3\xC1n<?i\x9B\x9F\xA4\xEBY\x92\xF2\xFD3\ٍ\xEEڹ\x8E0\xB9\xE0Nh\x8CAm\xE0\xB8\xC8\xFE\xCAVi\xFA\xAC\xC8;2z\x95$#K\xD2
\xA9I%=ɰ\xB4(L\x9AQ\x9D\xAAD-\xAEDl\x8B,iے\xE6]"\x90\xF3%ya\xE2\xC6]\x8C\x89\xA2eb\x86s&=
i"\xD0ٚ(\xB2K\x9Bd^8o\xD2I\xA4\xC5IWL\x9B\xB1\xBB\xEAT3\xBF\x9E{\xFE͝L\xD3\\xC0\x8C(\xF7\xFF6\xE8\xEFyޕX\xC8–\xFA\xFB}\xFBz**S\xC07D)\x988?\xF4\xCC\xFF\xA4\xA6\xF6\xB1\xFF\xBDW\xC4\xEA{o
\xFA`T)K
-E~\xB4\xDF_\xFF\xF5\xF5\xFE\xD8Ò&O\x88\xB14\x9D\xA8\xB5\xA6\xAF\xAB\xDEw\xC0\xA4\xA7\x99\xC1\xA2DM\xA2\xAC\xA9\xA3-U\xD3\xDDk\xBA\xFA\xE8\x88t\xF5\xA9z\xF8S\xBBEM#\x94\xA7\x92\xD24\x83\x92\x96F,%iu9\xF0\x8AF(ohE\x82\xA61\xECg\xC41zF
kgܲ\x83\x9CQv3F5\xD3#\x8F͌8W1\xA3\xC0/\x93a\xB4Lg\x8F\xB42]-)e\x84\xEE:<!f\xE0
i\xB65I\xB6@[\x92\xEE\xF7\xB3$\xC5e;J)\x92\xC9aH\x92\xE49l\xFA\xF5l\xE7Nv4$\xF58Bz
\xBDF\x8F\xA3n=\xD2\xA5G\x86\xA4\xF4Ƞ\xA4
K\xE9A]zD\xBC
\xCA\xEB\x91F\x91
i
\xEBq\x8C
\xC7\xEA\xB7\xEC\xA0G\x84\xF5\x88F\x8F\xF4\xC8c="\xCEU\x8F(\xB0C\x8FdF=\xD2\xD9#\xF5HWK\xEA\xA1\xB!
 Bz\xBCZ\x88L-\xABO\xB7\xFDH6A\xFB\x91\xEE\xF8ڏ\xA7PyJ\xF9\x91I
\xE1G\x92\xE4\xFC8\xDA\xF2#ճ\xA6\xA3\xC1\x88\xF4\xE3\xF9q\xFC?\x8E\xBB\xFDH#\x94\x92\xF2#\x83\x92~D,\xE5Gu\xF9\xF0~D(\xEFGE~\xA41\xECG\xC41~D
\xEBGܲ\x83Q\xF6#F?\xD2#\x8F\xFD\x888W?\xA2\xC0?\x92a\xFCHg\x8F\xF4#]-\xE9G\x84b?\xCER\x95[G\xCAm?\x92M\xD0~\xA4;\xBE\xF6\xE3%T\xDENRzd\xF2F\xE8\x91$9=\x8E\xB7?	\xC5
۱\xE3QH\xDA1›Eѫv\x8B"\x87\xED"\x86\xA1
ɡ\x94"9\x96t$\x86)Ib\xAA˒8\x82\xD7$fyO2,%\xC3aSb\x90Q%YW\x8D;\xC8Ga[
\xA3Kf`_b\xD0U\x988\xB2Øt^e2I$\x9D\xC9TLJ\xB3ؚ
Y\xC6\xF6\x89\xDF?\x8Ammҭ\xD0\xDEdz\xBF\xE7Gy\xFB\xDBMK\xA9\x93K \xE1N\xE5\xE4m\xEF#\x91\xBDk\xFAs4\x99\xD0\xFE\xC4Iѫ6\x92"\x87\x8D$\x86!\xFD\xF9\x82\x8D$\x8E\xA5\xFD鴑\x84\xA9N\xBE`#	\xB3-\xFEt\xDCHb8Ÿ\xAEI\xE4\xFD\xF9\xAA\x8D$
E\xF8\xD3y#\x89\x99\x84?_\xBD\x91\x84#\xBB\xFC\xF9\x92\x8D$&\x89\xB4?_\xB0\x91\x84\xD9V
-\xB8\xEE\xB3\xC4\xFF(\xCB?
-\x9D\xD7\xEF\xD4\xFB\xDF{\xDF\xE4\xF4m\xF6\xBD\xB7okm\xEF\xE3\xD7\xD6ݟ\xCA`z\xD667Xź\xEF\xFF\xD0(\xAB\xD8hW\xB1D\x9B\x96\x85	\xB3cY\xF2\xFF~

\xC0\xF7\xC5Z(އl\xA6M\xFD\x99\xC8\xDE\xC62ޟ{\x9E\xA7\xB2|UV\xAF<\x9A\xBA\xA8\xCDS\xF8\xBE
[(\x92\xE4J'V52\xB0\xC3'\x8D\x84\x89
,\xA1\xAC\xAE\xF4=\xBC\x87蹠7p\xA9<MG\xFEj\x95\x96\xCA\xE2̓"\x9Dk\xA3ʻe\xFC\xA6U\xE6V׹\x9C\xA9L\x9E\xE9e.\x8A\xA2\xB3}\xDB4\xC1\xEFY\xA2\x9D\xE1w\xEA^\xBE\xB7O\xA8\xBA|\x95E)\xCC\xFFs\xEF\xE7\xDETމ{\xA5\x8D\xF7\xE7Ev\xAF\x8C\xCE\xECP\xF8\xEB\xEA\xEA0D\xF6S\xF0e\xE1W+e\xFD\xD3 \xA0\xD9[\xFDI\xDE\xCB\xD4\xB7lW\xA5Km\xDA+_P\xF1B\x9AL\xA6լ\x8Fc?\x82\x83\xCF%\x97P\xA7,\xAA\x88\xE7›\\xCA\xC46\xB4o\xE7\xE9\x8D̓\x97kS*\x98\xA5۵m	\xD9\xC8Y@>Vp	%r&`vգ\x87\x8D\x8A+nY\xBEQ\xF3\xBB.\x8BxQ\x85\xE2\xD9q\xAD\xF3U~U\xDB\xE1r\xACt\xA9\x92$\x95m\xB5\xDAK\xA3\xBD2p\xBA}\x92qn\xAC
-\x9Biݫ~$\x96\xF6\x92(`	\x8F\xCB at fb\xDA|\xBA\x94
I\xCC2\xD0Y\xB5\xFC\x9E\xDFy!\xD12[\x88e\xDE\xEB\xFC\xB1J
D\xFE\xEF\xBF\xD1 
y/\xAB 7\xBA\x84\x9Eʆ"\xBB\xE8\xF5zQ8\xC5\xC4z\xB9\xB4*\xA9~'\xB2\xB9\x9C\xA5®\xEB\xCF\xC1*K\xD5Rَ\xB6Ew\xFAAe\xB0p\xA5\xB2\xEClt,Q\x8A\xE0n\xB5\xD9\xD6#\xB2\xED4\xCC\xF2\xF5Z\xE5\xC0\xEA\xA2\xEC\x82aM\x9F\xCBj\xC6v\xF6\xB8Z\x99\xEB\xE4\xF7\xD2\xF5\xA3\xB5\xA9\x9C\x8B\xF8\xB1\xF4\xAB\x88s\xA3WYrf\xEF}\xFC\xF0p\xD2\x8F\xFB\xE1q\xF3\xCA\xFF5\xB0F\xAA{\xFA\xC6\xC1\xF70\xB3R;\xBBj \x8F\xFB\xEB\xC0\xAC
-\xBC\xA7\xA5\xECZ[K\xD6K\xD4έ\xA2}\xB8\x88\xACY\xF5)>\xBDb0'L\xFA\xDASD\xD4\xCE\xFD8\x82l\x82\xE9ә6
LF\xB0\x9D\x81H\xFE\x80[\xE1,~\x84U֨\x9B\xFBf\\xB3\x91\xB0\xF8Bz\xA1NQ\xD8G\xF3\xFA[e\x91[L\xA0\xAAw]\xB4\xC8ꛤ璮>U\xEB\xDAi\xB6" ǫTS\xBF\xE0\x92h\x9F\xAF\xC6\xC4\xD6vµ\xBD\x816\xCD2`"\xCCBf\xE7\xD2\xDE9\xD6o\x8E6\xE6C(\xAC8w\xF0\x86/.\xA1\xB3\xABT\x98N\xFEzF\x9F.|\xEE?@\xECv\xB4\xDB*,@\x9D
-\xC2\xF5\xCD<\x9D:\xB9\x99\xFD\xD5D\xDC\xE4p8
\x8E\xA3p
\x8E\xE3\xD1\xD1\xE4\xF0\x98NT3\x96\x95\xB9\xCA;!\x87n\xBA\x93!\xB6w\xE1\xF1x;\xE4ZC\x8A\xFC\xCD{\xF2M\x99)\xBF\xD97\xFEq4l\x94\xBE\x97\xF6
-\xF7\x87\x93\xE3\xA7\xE2{&>:\x8F\xA7\xE3_\xAA\xA6\xFF\xE9W]\xDD)\xFD\x87_\xF5\xE6\xA9\xF4
-\xE9\xDB4?\x9F\x8CO\xB3\xE4cS\xF2\xD3\xDEg\xC9\xF3\x9D\xC6\xFFPK\x98M\x9C	k
-  \xC2=  PK  \x98N            %   private/de.cinderella/certificate.bin\x8Bvr0O606M\xE1 PK\x82\x95x
   
-   PK  \x98N            /   private/de.cinderella/scripts/Draw/0/figures.csuSMk\xE30\xBD\xEBW\x9D䭜H\xA6ɡA{ɶ\xB0\xB4	
=\x94\xC5xՒ\xB5\xB1ld\x85:\xFB\xEBwd7asX
\xC63\xF3\xDE̛?\x9A輋4[\xA1g;\x8C\x8Ft\xADO^5\x86f7ĺ
\x99b\xEF&\xD6\xCE\xEB\xD3[OK\xB2nm\x90|&\xBE\x94\x9C\xA5GT\xA4
\x9A\xCF\xAA\x80\xA8\xD1\xD6\xB0\xDAZ\xE6`\xBCbe~\xCBn\xC7\xD8\xC1i(\xD9\xF0-\xD8\xCF\xCD\xF7m\xCEg
@\xFCcL9\xFAZ
\x9C\xDF\xD1"\xD5\xD0\xC6>\xC9a\xC2\xB1`\xB9\xA8\x98``\xC9\x8C\x9F\xCD_8\x926\xB6\xE0\xC9!\xC0\xAC\x800\xAA \x8F\xF72\xB4G\xAF\xE9v6d7\xCB\x8AM'\x98\xE0Zm\x8F\x9EB,\x95bd\x90e\xBEd\xCB
-\xE8й\x97z\xEA\xCDr	\x8C\xDFb\x85\xBA\x914Z\xC5
-\xDD]\xA0%
'\x95"\xBD!\x8CxIn\xBCz\xEF\xFE\x98\xFC\xABXN\xD3Z\xEFe)@\x8A\xB3\xF2F\xE5|O\xD7{&2P[7\xFAI\x82\xB7V\x91n\x86W\xEB=%
j\x8F\xC1\x990kTM2c\xC0\xC4r:dwP\xC2rVV,\xB9\xEA\xBBO\\xDDk\x93\xF0R`H\x93\xDC3\xB0	\xE4\xC2K_'u\xB8Q\xEFF\x92 at Vx>\xF7-\x86x\xEBq\xEB^\xABC\xFDz\xDA\xC0\x84|OX\xCA\xCAf\xE4>\xE9\xC7\xDE\xF0\xE3\xE5^\xB4\x8A*
D\xC3\xEB:7›!\x9A\x81\xA6\xE5@\xF0\x9C\xE8\x9B\xEB\xBB\xFFf\x8A\x80\xE1\xD1+i\xD6"\xFC0\xB5\xDDC\x8B\xA6\xBFd\x9D:f\xB0\x82\xABen\x8F\x8D,8\x9C\xD1\xE7A\xA3\xA7\x92\xD3
-NjM9.
-\xE5(Ŭ\x98p(m\xF1\xC1\xED:m\xD3/\xF42A\xF8.}\xFFPK km  Z  PK  \x98N            .   private/de.cinderella/scripts/Init/0/KETlib.cs+-N\xD5P\xF2N-q\xCE\xCCK\xA9
\xC8)M\xCF\xCCSҴ\xE6r\xC9,JN\xA9\xB4\xCD\xC9OLI\xC9,JM.\xC9/\xAA\xB4\xE6*N-\x81\xF34
+PK  uQO            &   private/de.cinderella/construction.cdy\x9D\x9B\xDDr۸\x80\xEF\xFD
]ѭB\x8B\x94d\xCB\xDEIg\xBC\xFEI\xB2\x89O\xECm\xDAiz\x91\x90\x84Eh@ʎ\xBB\x93\xEAk\xF4\xC9z at J\x96\xA8s	;\xFE\xFC 
\x80(\x819:\xBAPY\xF2\xF4&
+N\xBD\xF1J\xA5\x89\x9E\xF6BϏz\xE1\xC9Q\xEF\xF8(\x8C\xBC\xF0\xE4\xAC\xD7;<8:\xBA0R2\xF1tv杯\xA6^8\xECz\xC0\x9Dza\xEF,
\xCF\x91w~ص6g^!\xE6\xA2\xD0:\x97E\xBE\xD2Px\xF9\xC5\xFB\xFC\xE5޻\xBA\xFCp\xEF\xBDy\xF3ƻ9\xBFx\xFF\xE1\xF3\x95\xF7\xEE\xEA\xF3\xD5\xD7\xF3\xFB\xABK\xEF\xE2\xCB\xE5\xD5\xC1;\xA9\xB20Ogo\xAFVq\xAA)\xB2_\xFC\xCEݷ\xCE\xE1\xD9\xDBk#\xE5\xADVY\xE1\xFFk\xF4\xFE\xAA\xFE\xD2
z\xDD7ap\xBCy\xD9
\xD5\xCB\xFEr`\x83h\xFF|\xB9\x94ˆ,\x96~\xD4
\xFD
+{\xDD¬dw"\xD2\\xEE\x85Q\xE3U!\xFDN\xACSm:\xDDN\xD4i8
\x99 
\xE95b\xE3t%]\xB8)\x9Cf\xD6
\x8At9\x80\xF0\x84\xFC!M\xACr)S\xB9\x90Yly\x9A
\x9D\xF1X\xCB\xAEdR\x99M\x8B\x99m\xBDǵ^r\xF9\--\xD5\xC4$j\xD1xFf\x894-\xBDR\xF9\x83\xCA\xD58\xB5\xBD\xB7#\xCA5(\xC1Dg\xC5D,T\xFA\xF0\x9D\xC8\xF2;iԄ\x89X\xA6"\xB3\x95r\xBD[\xAA,Sٴ\xA5{\xA9CΒ\xF6\xCE\xE5\xEA?\xB6\xB50b\xD3a\xA9\xB1N\x93\xB6aL"Uq\xDEB.7\x8D\xD96\x97\xF6\x8AkS\x8DC\xC3),
+\x80\x99X\xD8\xEA\x9A\xEA
+\xD4BLݠ`3D\xB8\xA1F\xA2P\xDA^9\xBD\xFA\xC9|\xB2p\xABs\xBF\xDF\xEDw\xC3\xEAz\xEFZa\xF4\x82\xA8
Z\xC1|\xBErL\xDD/\xF32\xBFl8\xBF0\xC7\xF7\xFD\xC2a\xFB~\xE18\xE4
\xEE\xFBM~\xC14\xED\xCC\xD1~a\xB8\x9A_\xA6\xEE
~\xC1\xE9\xA2\xC1\xBF\xE0\x88\xBA_\x88\xE3\x84_0E\xF8\x85\xEEܾ_h
+\xF9\x85\xC6(\xBFg\xB0\xEF\xA1\xFDB\x80\xFB~a\xEA\xAA\xFB\xA5\xAA\xFB\xA5%\xFC\xB2p\xF1
\xAF\x97(\xF5j\xFF\xFA\xDBۙѮn^j\x9Bٸ\xB9\xC6Q5\xAE\xA6i͋<\xE3\xA8G\xCB8H\xC6\xC51.\x8Aq3̋\xD3\xE2'\xBD\xB8\xD8\xC5I.nnqVK\xBBY\\xC5\xD2\xEE\xAD\xB8[\xE5\xA5Rqu\xCA=\xA4*\xB4^\xB1/|Z\x95\xECi"\xDC\xD7DU׳'v\x82\xB0+\xAAy\xCF#\xFB\xBEh \xF7\x9Dр"o\x90\xEC\xBE;H\xA8\xC9d \xED\xA5=£5\x97\xF0X\xDD'$G8\x85\xE4H\xAF\xD0-\xB7\xB8\x85
\xAA\xFB\x85F\xC7\xF0#?QiZ\x8E;\xCFYd3\xF2p-\x9C\x94_\xA3\xDEh8
OF\xA3>\x98\xAAl^fC\xA5\xAAxr\xDD\xD2W\xC6)\xCFe\xF6*{TI9\x9Af\x82\xADvU\xE55\xDF<&\xE4\xB1QK;s\xFF\xAE\xE4#\x84\xDBK}
\xC3\xEF\xE6F
+=\x9D\xBA\xBC\xFD䵚\xAEL
\xBB\xF1\xFC\xA8i~\x92\xAEgI\xCA\xF7[\xB8\xB4ݵK
\xCFar\xC1\x9DP/\x82\xDA\xC0q\x91\xFD\x95\xAD\xD2t\xAB\xC8;2z\x95$#K\xD2
\xA9I%=ɰ\xB4(L\x9AQ\xAD\xAAD
+\xAEDl\x83,iے\xE6]"\x90\xF3%ya\xE2\xC6]\x8C\x89\xA2eb\x86s&=
i"\xD0ٚ(\xB2M\x9Bd^8o\xD2I\xA4\xC5IWL\x9B\xB1\xFB\xEAT\xBF\x9A{\xFE\xDDL\xA6\xE9R\xC0\x8C(\xFF\xD6\xEB
xލ\x98\xCBܖ\xFA\x87]\xFBz,JS\xC07D)\x988?\xF4\xC4\xFF\xA4\xC6\xF6\xB1\xFB\xBD\x93\xC7\xEA{g
\xFAhT!

+E~t\xD8]\xFF\xF5\xF5\xFE8\xC0\x92&O\x88\xB14\x9D\xA8\xB5\xA6o\xCB޷\xC0\xA4\xA7\x99\xC1\xA2DM\xA2\xAC\xA9\xA3
U\xD3ݫ\xBB\xFA\xE4\x84tu\xA9\xBA\xFFS\xF7\xDBEM#\x94\xA7\x92\xD24\x83\x92\x96F,%i\xB59\xF0\x8AF(ohE\x82\xA61\xECg\xC41zF
kgܲ\x83\x9CQv3F5\xD3#\x8F͌8W1\xA3\xC0/\x93a\xB4Lg\x8F\xB42]-)e\x84\xEE;<!&\xE0
iv5I\xB6@[\x92\xEE\xF7V\x92\xE2\xBA\xA5\xC9\xE4\x8D0$Ir\x82\xEC\xD7\xFD\x88z\xB6w';\xE8\x93z
 =^\xA3\xC7A\xBB
i\x84\xD2#CRzdPR\x8F\x88\xA5\xF4\x88\xA06=\xA2 ^\x8F\xE5\xF5H\xA3H\x8F4\x86\xF5\x888F\x8F\x88c\xF5\x88[v\xD0#
+\xC2z\xC4\xA3Gz\xE4\xB1
\xE7\xAAGآG2#\x8C
\xE9\xEC\x91z\xA4\xAB%\xF5\x88\xD0}=\xDE\xCCE\xA6姃\xBB~$\x9B\xA0\xFDHw|\xED\xC7s\xA8\xBC\xA5\xFC\xC8$\x8E\xF0#Ir~
\xEC\xF8\x91\xEAYݏQo@\xFAq\x88\xFC8|\x8D\x87\xED~\xA4ʏ
I\xF9\x91AI?"\x96\xF2#\x82\xDA\xFC\x88x?"\x94\xF7#\x8D"?\xD2\xF6#\xE2?"\x8E\xF5#n\xD9\xC1\x8F(\xFB#\x8C\xE9\x91\xC7~D\x9C\xABQ`\x8BɌ0~\xA4\xB3G\xFA\x91\xAE\x96\xF4#B\xB1'\xA9ZZG\xCA]?\x92M\xD0~\xA4;\xBE\xF6\xE35T\xDELRzd\xF2F\xE8\x91$9=w?	\xC5
۳\xE3IH\xDA1›Eѫv\x8B"\x87\xED"\x86\xA1
ɡ\x94"9\x96t$\x86)Ib\xAA͒8\x82\xD7$fyO2,%\xC3aSb\x90Q%YW\x8D;\xC8Ga[
\xA3Kf`_b\xD0U\x988\xB2Řt^e2I$\x9D\xC9TLJ\xB3ؚsY\xC4\xF6\x91\xDF?\xF2]mҭ\xD0\xDEdz\xBF\xE7Gy\xFF\xDB]
K\xA9\x93K \xE1N\xE5\xE4\xED\xEE#\x91\xBD\xAB\xFBs0\xD1\xFE\xC4Iѫ6\x92"\x87\x8D$\x86!\xFD\xF9\x82\x8D$\x8E\xA5\xFD鴑\x84\xA9V\xBE`#	\xB3
+\xFEt\xDCHb8Ÿ\xAEI\xE4\xFD\xF9\xAA\x8D$
E\xF8\xD3y#\x89\x99\x84?_\xBD\x91\x84#\xDB\xFC\xF9\x92\x8D$&\x89\xB4?_\xB0\x91\x84\xD9F
+\xB8\xEE\xB3\xC4\xFF(\x8B?r\xBD\xACީw\xBFw\xBE\xC9\xF1\xDB\xEC{\xE7\xD0\xD6\xDA\xDC
Ư\x8D\xBB?\xA5\xC1\xF4\xA4in\xB0\x8Au\xDF\xFF\xA1QV\xB1Ѿb\x89\xD6-
fϲ\xE4\xFF\xFD8:\x82﫵P\xBC\xD9D\x9B\xEA3\x91\x83\x8De\xBC?<Oe\xCBUQ\xBE\xF2<h\xEA\xAA2O\xEE\xFBvl\xA1H\x92\x9DX\xD5\xC8\xC0\x9F4&r\xB0\x80\xB2<\xB8\xD1\xF0
\xA2\xE3\x82\xDE\xC1\xA4\xF2<I
\xF9\x9BUZ(\x8B\xD7\x8At\xAA\x8D*f\x8B<\xF8M\xAB̭\xAEK9Q\x99\xBCЋ\xA5\xC8\xF3\xD6\xF6ElӔ\xBFg\x89v\x86ߩ\xF9\xDE>\xA1\xEA\xF0U\xE6\x850\xCF\xFCσ\x9Fc9J\xEFϫ\xECA\x9D١\xF0\xD7\xD5U\xFF`\x88\xEC\xA7\xE0\x8B\xDC/W\xCA\xEA\xA7F@\xB3\xF7\xFA\x93|\x90\xA9\xEE
ح\xFEF\xDA4W
\xBE\xA0\xE2\xB94\x99L\xCBY\xC7~\xB7%\xD7P\xA7\xCCˈm\xE1\xDDR\xCA\xC46th\xE7\xE9\x9D̓\xB7ԦP0Kwk\xDB\xB2\x91\x93<\x80|\xAC\xE0J\xE4D\xC0\xEC\xCAGk\xD7Vܢ|\xA3\xA6\xB3.\x8Bx^\x86\xE2\xD9q\xAB\x97\xAB\xE5
+Tm\x87˱҅J\x92T6\xD5j/\x8D\xE6\xCA\xC0\xE9\xF6IƩ\xB0*l\xA6u\xA7z\xF8\x91
X\xD8K"\x87%<.\x99\x89q\xFD\xE9R2$1\x8B@?f\xE5J\xF0{jT<\xF3>B\xA2e6\x8BecT\xAC\x97Oe\xEA \xF2\xFF\x8Dz\xE1\xC0{YK\xA3
詬)\xB2\x8D^\xAF\xB9SL\xAC
\xAB2\x91\xBA\xE13\x91M\xE5$v]\xDF\xAB,U
e;\xDA\x9D\xCF\xF4\xA3\xCA`\xE1Je\xD1\xDA
\xE8X$\xA2\xC1l\xB5\xD9\xCE#\xB2\xCD4\xCC\xF2\xF5Z\xE5\xC0\xEA\xBCh\x83aM\x9F\xCArƶ\xF6\xB8\\x99\xAB\xE4\xD2\xE4գ\xB5\xA9\x9C\x8A\xF8\xA9
\xF4\xAB\x88\xE7S\xA3WYra\xEF}\xFC\xF0x\xD4
+O\x8E\xBB\xE1i\xFD\xCA\xFF5\xB0B\xCA{\xFA\xDA\xC1\xF70\xB3R;\xBB* \xBB\xEB\xC0\xAC
+\xBC\xE7\xA5\xECV[KVK\xD4ޭ\xA2}8\x8F\xACY\xD5)>\xBFb0'L\xFA\xCASD\xD4\xDE\xFD8\x82l\x82\xF1\xF3\x99\xD6
LF\xB0\x9D\x81H\xFE\x80[\xE1,~\x82U֨\x9B\xFBf\\xB3\x91\xB0\xF8Bz\xA1N\x91\xDBG\xF3\xBA;e\x91[L\xA0\xCAwm\xB4Ȫ\x9B\xA4mI[\x9Fʈu\xED4[\x90\xE3U\xAA\x81\xA9^pI\xB4χ\x97cbk;\xE3\xDA\xDE@\x9Bf0f.\xB3Ki\xEF
\xAB7G\xF3!V\x9C\xBC\xE1\x8B
\xE8\xEC*\xA6\x95\x85\xBF\xB6\xE8\xF3\x85\x82\xCF\xFD\x88ݎvS\x859H\xA2\xB5A8\x83\xBC\xBA\x99\xA7S'7\xB3\xBF\x9C\x88\x9B
\xF6{\xC1\xF1\xE9\xF0x0
\x8C\x86\xA3a\x9D
\x82a]\x99\xAA,\xB03r0\xEC3CE\x86\xD8\xEE\x81\xF8wCn5\xE4\xC8߼)ߔ\x99\xE2\x9B}\xF7\xE0\x9FF\xFDZ\xE9{i/q\xBF?:}.\xBE\xB3\xA7\xE2\xE3y\xBE\x94m\xFF\xD3/\xFB\xBAW\xFA\xBF\xEC\xCEs\xE9
+\xA4ҷ\x89ޞ\x8CP\xBD\xE4\x86cS\xF2\xD3\xDEg\xC9\xF6^\xE3\xFFPK\x9D-E`j
+  \xC5=  PK  uQO            %   private/de.cinderella/certificate.bin\x8Bvr01\xB7H66\xB74\xE5 PKa5\xB8-   
   PK  uQO            /   private/de.cinderella/scripts/Draw/0/figures.csuSMk\xDB0\xBE\xFBWx:\xC9DI,\xB9\xC9!A\xBBt
\x8C6a\xD0\xC3\xC6+\xAA,w\xEA
9Xu\xF7\xEB\xF7HN
+\xA5\xEC"ޏ\xE7y\xBFuk\xEB\xEC@\xB3mro\x86?f\xD0\xD6կϞ\x96d\xDFIն\xA4\x82+Y.\xE1U#\xAC*\xA0\xBD ؽ\xD0r\xCEs\xC6\xF3\x8A\x95\xF3+v}\xAD\xADMOɞ\xC0\xB6b?w\xDF\xF6\xB3|\xB1\xC87m
+\xE2\xB5j\xAD{\xA2"$\xA9Ms'\xCB$%y`
+6\xE7\xE3
\xFAt\xCE\xF2\x8B\xFAK\xC0\x80\xAC[\xE5\xC1\xC0\xA1r&\xE0N*\xC4qN\xF6\xDD\xC9\xD5t\xBF\xB3\xD9z\x9B
\x87\xA3\xFCnz\xDB\xD5\xCD\xC9Q\xB4\xC0B*FFY\xCE\xD7l]\x81N\xAE;'멹&\x97`<\xF0mr\x8C\xA4\xA8\x89mr3
{Z拘\x8AxCq\x92̜\xDDۿf\xFE\x99\xAF\xA7qن~\xB2\xDE}\xE8M9\x9F\xB1t\xB9t]\x8A\xF9>\xFB\xB4sI\xAA\xF5\x9DDN\xAD\xBAՠSrDYݩ\xB7\xA6_
\x94&\xC30R\xD2\xE4t\xCC6H\xD4䬬X0\xE9\xCD\xA7;\xD34\xA1\xFCBA\xD5T\xF4\xA8K
\xFA;\xABP60\x89\xF8ё\xA4\xA1\xE4\xF4Z\xB5\xFA\xF1u\x87\xE98OX(Q\xF0\xA6屢]\xA5\xB7o\xD7Q\xABA\x85[P<ѻ3Ұ
X
\xF8\xC4\xFEb\xFD\xF1B?\xC4\xFF\xA0\xF8\xF8P\xC00"

II\xA9R\xD9\xF6\xDDܛ&\x9E\xD1&X3\xF4\xF9\xE0\xA2, \xFB\xB3\\6
/;
n\xDC5\x98\xA8\xE8
{\x96|!\xA6=\x9D\xB6\xE01q\xE3/\xBD\x9F\xC0p\xEF.l:H\x91\xE3\xB6qkm\xD7\xCB\xDE\xD4S\x94\xE8	]>\x85O\xF8PK\x95\x99~\xC6  \x90  PK  uQO            .   private/de.cinderella/scripts/Init/0/KETlib.cs+-N\xD5P\xF2N-q\xCE\xCCK\xA9
\xC8)M\xCF\xCCSҴ\xE6r\xC9,JN\xA9\xB4\xCD\xC9OLI\xC9,JM.\xC9/\xAA\xB4\xE6*N-\x81\xF34
 \xC0\x8A\xE1|\xA0\xA6\xCC܂\xFC\xA2
-\xA5\xECԒd\x90qz\x99y\x99 \xC3 PK
pLO   d   PK  \x98N            D   private/de.cinderella/scripts/Key type/0/Script+%28CindyScript%29.cs\xD5TMo\xDA@\xBD\xE7Wl]U\x9AK\x82!9\xA4\x89\xA9Z\xD3H\xADd@\xF5\xA5\xD5\xC6^\xF0[\xB6I\xA0\x87\xFE\xF6\xEE\xAC?0\xB1)\xAA\xD4K\xE0\xF5\xCC{\xF3\xF5f-\xB0;\xA0\x96e\xBC3\xC8\xA2^\xBC\xE8y
\xC84C\xE3\xFD\xA0\xFF\xC0\xCE\x91
x%\xD3D\xF0 ƛp\xBE\x8B\x85GYy\xB2z\xF4&\xC7T\xAB\x87,BF2\x8DgYb\xE9b\xDC\xC9\xE5&`R2\xE5\x89Xg\xD0\xD7'
\xAB
(q\xA2')\xE0\x92\x92\xD9&Y\xC050n3\xB8\xD9|\xE6\xCBE\xD6!s\x99\xE6y`\x98\xAAX\x81\xF4̨\xC2/\x85jkt,l\xFF0l\xD0\xA9\xF0Gp\x8E\xF1\xAD\xE5\xD8>yK<e\x83
%\xAE\xBF\x84kJ\xC6\xD0a]J\xB8\xE7\xC1-%I\xF8\xC3ZP/\xE1ϙ\xD8fF\x9BT =\xDF\xEEX\x94\xA5\xF2\xA7\xE8\xFB\x97X\xA5#\xAF\xAA\xA3c2\xF4\xB2\xBA\xBFwCș2ʽʦ\xC1..\x9C\xD5B+\xA1\xB0_\xA5\xC0\xA4\xA0\xAF\|
\xFA9!ւ\x84\xFC\xA5\x89
 \xF6.\x90\xF1c\xAD\xA0T\x96*Velp.\x913\xDB\xB5W\xC8\xF2x\xBC\xA2+d\xE0\x86p	\xB6/\xB8'\x92
o\x87\\xAEK\xAA
+\xA5\xECԒd\x90qz\x99y\x99 \xC3 PK
pLO   d   PK  uQO            D   private/de.cinderella/scripts/Key type/0/Script+%28CindyScript%29.cs\xD5TMo\xDA@\xBD\xE7Wl]U\x9AK\x82!9\xA4\x89\xA9Z\xD3H\xADd@\xF5\xA5\xD5\xC6^\xF0[\xB6I\xA0\x87\xFE\xF6\xEE\xAC?0\xB1)\xAA\xD4K\xE0\xF5\xCC{\xF3\xF5f-\xB0;\xA0\x96e\xBC3\xC8\xA2^\xBC\xE8y
\xC84C\xE3\xFD\xA0\xFF\xC0\xCE\x91
x%\xD3D\xF0 ƛp\xBE\x8B\x85GYy\xB2z\xF4&\xC7T\xAB\x87,BF2\x8DgYb\xE9b\xDC\xC9\xE5&`R2\xE5\x89Xg\xD0\xD7'
\xAB
(q\xA2')\xE0\x92\x92\xD9&Y\xC050n3\xB8\xD9|\xE6\xCBE\xD6!s\x99\xE6y`\x98\xAAX\x81\xF4̨\xC2/\x85jkt,l\xFF0l\xD0\xA9\xF0Gp\x8E\xF1\xAD\xE5\xD8>yK<e\x83
%\xAE\xBF\x84kJ\xC6\xD0a]J\xB8\xE7\xC1-%I\xF8\xC3ZP/\xE1ϙ\xD8fF\x9BT =\xDF\xEEX\x94\xA5\xF2\xA7\xE8\xFB\x97X\xA5#\xAF\xAA\xA3c2\xF4\xB2\xBA\xBFwCș2ʽʦ\xC1..\x9C\xD5B+\xA1\xB0_\xA5\xC0\xA4\xA0\xAF\|
\xFA9!ւ\x84\xFC\xA5\x89
 \xF6.\x90\xF1c\xAD\xA0T\x96*Velp.\x913\xDB\xB5W\xC8\xF2x\xBC\xA2+d\xE0\x86p	\xB6/\xB8'\x92
o\x87\\xAEK\!
 xAA
 \xA5X\xB6\xAFf2,\x96\xD2\xF6\xAD{mx@\xEF\xDEf>TRh\xB7ߋ\xCCs]+.\x98\xC28|%2\xBDl\x8D
 \xA7\x88\xC3\xF6\xEF\x9F\x8B((J<\xCEt+\xB8\xA0#\xAER<\xA6M\xDCq\xC5\xFE\xCE6aȓ
\xADrK\x93\xE6h\xED\xF2\xFD\xD5p5\xD7\xE7\xE8\xF1L\xEC\xF1{\xE7#\x9B|\xF8l;#6\xB1'\xD3\xF9\xA7\xC98\xE7\xD7\xF4

.\xA1\xEBG\xD2mi\xF5\xDA(\xBE\x81X/3_M\x9AV\xB7\xBFm\xD0\xF8%q\xA3u\xA6dJ\x98i?\xCD}\x9A\xC1\xE3X\xAC\xBD\xBD\xEB\xA6r\xA1$\xB6\xFF\xBD\x96\xA9k\xD6\xDCV"\xD4\xE2dY\xEB\xCE4J2\xA4\xE4&Z)\xFD\xA7\xDE:\xBA\xB72\xB1\xFA(ݗ\x94\xEEI\xCA\xED\x8B	\xA6".\xD6\xCA^[y
z0\xD2\xF65Zl\x94}\xB2\xDDo\xFFZJ\xCB<??\xAC.\xCAq\xAD\x8F\xEA\xF5Wj\xFC\xFA:
-\xF9\x8A\x85a\xE6I\xA9\x86\xCD\xC6\xF6_\xB7\xE6=\xD9\xEFȗ\xD6;Ҟ\xEF7PK+\x94r
\x96  
  PK   \x98N\x98M\x9C	k
-  \xC2=  &                 private/de.cinderella/construction.cdyPK   \x98N\x82\x95x
   
-   %             \xBF
-  private/de.cinderella/certificate.binPK   \x98N km  Z  /             

  private/de.cinderella/scripts/Draw/0/figures.csPK   \x98N
pLO   d   .             |
-  private/de.cinderella/scripts/Init/0/KETlib.csPK   \x98N+\x94r
\x96  
  D             '  private/de.cinderella/scripts/Key type/0/Script+%28CindyScript%29.csPK      \xD2  /  T Construction created with Cinderella (http://cinderella.de)
+\xF9\x8A\x85a\xE6I\xA9\x86\xCD\xC6\xF6_\xB7\xE6=\xD9\xEFȗ\xD6;Ҟ\xEF7PK+\x94r
\x96  
  PK   uQO\x9D-E`j
+  \xC5=  &                 private/de.cinderella/construction.cdyPK   uQOa5\xB8-   
   %             \xBE
+  private/de.cinderella/certificate.binPK   uQO\x95\x99~\xC6  \x90  /             
  private/de.cinderella/scripts/Draw/0/figures.csPK   uQO
pLO   d   .             \x81
+  private/de.cinderella/scripts/Init/0/KETlib.csPK   uQO+\x94r
\x96  
  D             ,  private/de.cinderella/scripts/Key type/0/Script+%28CindyScript%29.csPK      \xD2  4  T Construction created with Cinderella (http://cinderella.de)
 ©2014 Ulrich Kortenkamp
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceE.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceE.tex	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceE.tex	2019-09-27 21:24:30 UTC (rev 52190)
@@ -3251,6 +3251,21 @@
 
 \end{cmd}
 
+%-------------Reparse-------------------------------
+\begin{cmd}{Reparse}{reparse}
+\itemket{Usage}Reparse(string or list of string)
+\itemket{Description}function to return the real part after \verb|parse|
+\itemket{Remark}\verb|parse| of CindyJS has a bug to return an imaginary number in some cases.
+\itemket{Examples}\mbox{}
+
+\verb|str="(0-1)^2"; |\\
+\verb|format(parse(str),0);| // returns \verb|1+i*0| in CindyJS\\
+\verb|format(Reparse(str),0);| // returns \verb|1|\\
+
+
+
+\end{cmd}
+
 %-------------Slider-------------------------------
 \begin{cmd}{Slider}{slider}
 \itemket{Usage}Slider("endpoint1-pt-endpoint2",endpoint1,endpoint2);\vspace{-2mm}
@@ -3358,9 +3373,9 @@
 \end{cmd}
 %----------Fracform----------------------------------
 \begin{cmd}{Fracform}{fracform}
-\itemket{Usage}Fracform(number,list of denominators)
+\itemket{Usage}Fracform(number,list of denominators/max number[, allowable error(5)])
 \itemket{Description}returns Tex-like form of the fraction
-\itemket{Examples}\verb|Fracform(0.33,[2,3]); => fr(1,3)|
+\itemket{Examples}\verb|Fracform(0.33,[2,3]); => [fr(1,3),''err=0.00333'',1,3]|
 
 \end{cmd}
 
@@ -5608,6 +5623,148 @@
 \end{center}
 \end{cmd}
 
+%================== KeTCindyJS ===============
+\section{KeTCindyJS}
+
+\subsection{How to create HTML}
+
+\ketcindy\ can create the HTML file from a \ketcindy\ file using CindyJS.
+
+\begin{enumerate}[(1)]
+\item Use a \ketcindy\ file with buttons of KeTJS in CindyScreen, for example, templateketcindyjs.cdy.
+\item Select from the top menu, \verb|File > Export to CindyJS|.
+\item Press button "KeTJS" for on-line mode, or "KeTJSoff" for off-line mode.
+\item Then the HTML file will be created in the same folder of the cdy file.
+\end{enumerate}
+
+\subsection{Control of code writing}
+
+\begin{itemize}
+\item \verb|no ketjs (on/off)| for not writing to HTML
+\item \verb|only ketjs (on/off)| for only writing to HTML
+\item \verb|on, off| are used for multi lines of scripts.
+\end{itemize}
+
+{\bf Example}
+\begin{verbatim}
+    str="x^2"; //no ketjs
+    //str=Textedit(0); //only ketjs
+\end{verbatim}
+
+\subsection{Commands of KeTCindyJS}
+
+%--------------Ptpos-----------------------------
+
+\begin{cmd}{Ptpos}{ptpos}
+
+\itemket{Usage}Ptpos(geometric point)
+\itemket{Description} Function to return the latest position
+\itemket{Examples}  \verb|Ptpos(A)|
+
+\end{cmd}
+
+%--------------Setketcindyjs-----------------------------
+
+\begin{cmd}{Setketcindyjs}{setketcindyjs}
+
+\itemket{Usage}Setketcindyjs( list of options )
+\itemket{Description} Function to set options of KeTCindyJS.
+\itemket{Options}  \mbox{}\\
+\hspace*{5mm}\Ltab{25mm}{"Scale="}Ratio of scaling (default : 1)\\
+\hspace*{5mm}\Ltab{25mm}{"Nolabel="}list of points without label. \verb|all| can be used\\
+\hspace*{5mm}\Ltab{25mm}{"Color="}Name or code of background color (default : lightgray)\\
+\hspace*{5mm}\Ltab{25mm}{"Grid="}Grid size (mm)\\
+\hspace*{5mm}\Ltab{25mm}{"Figure=y"}To set window size to that of \ketcindy\\
+\hspace*{5mm}\Ltab{25mm}{"Axes=false"}Not to display axes of Cinderella
+\itemket{Example}Setketcindyjs(["Nolabel=all","Grid=2","Color=white"]);
+\end{cmd}
+
+%--------------Ketcindyjsdata-----------------------------
+
+\begin{cmd}{Ketcindyjsdata}{ketcindyjsdata}
+
+\itemket{Usage}Ketcindyjsdata( list of name, value of variables )
+\itemket{Description} Function to write the variables into "csinit".
+\itemket{Examples}  \mbox{}
+
+\verb|Mxfun("1","integrate",["x*sin(x)","x"]);// no ketjs|\\
+\verb|Ketcindyjsdata(["mx1",mx1]);|\\
+\verb|Plotdata("1",mx1,"x");|
+
+\end{cmd}
+
+%--------------Ketcindyjsbody-----------------------------
+
+\begin{cmd}{Ketcindyjsbody}{ketcindyjsbody}
+
+\itemket{Usage}Ketcindyjsbody( prependlist, appendlist)
+\itemket{Description} Function to add scripts to the first/last of body tag.
+\itemket{Examples}  \mbox{}
+
+\verb|Ketcindyjsbody(["<p,f10>__Title''],[]);|\\
+\verb|   =>     <p><font size="10">  Title</font></p>|
+
+\end{cmd}
+
+%--------------Animationparam-----------------------------
+
+\begin{cmd}{Animationparam}{animationparam}
+
+\itemket{Usage}Animationparam(init, speed( /sec), range )
+\itemket{Description} to get parameter value of buttons for animation.
+\itemket{Examples}  \verb|ss=Animationparam(0,1,[-60,60]);|
+\itemket{Buttons}\mbox{}
+
+\begin{itemize}
+\item \Ltab{15mm}{"Play"}Parameter value set to the initial value, and starts changing
+\item \Ltab{15mm}{"Stop"}Parameter value set to the initial value, and ends changing
+\end{itemize}
+
+\end{cmd}
+
+%--------------Textedit-----------------------------
+
+\begin{cmd}{Textedit}{textedit}
+
+\itemket{Usage}Texedit(number of identifier)
+\itemket{Description} Function to get a string from an input box in HTML.
+\itemket{Remark}To create the input box,
+\begin{enumerate}[(1)]
+\item Use button "Define function".
+\item Input a string into "text" and press "Evaluation".\\
+\hspace*{3mm}Rem)To create a blank box, input only "=", and add "Equal=" to Setketcindyjs.
+\item With the inspector, confirm the number of identifier and change styles.
+\end{enumerate}
+
+\itemket{Examples}Let the number of identifier be 50.\\
+\verb|str="x^2";|\\
+\verb|//str=Textedit(50); //only ketjs|\\
+\verb|Plotdata("1",str,"x");|
+
+
+\end{cmd}
+
+%--------------Movetojs-----------------------------
+
+\begin{cmd}{Movetojs}{movetojs}
+
+\itemket{Usage}Movetojs(identifier or name,position,font size )
+\itemket{Description} Function to set the position and font size of text box in HTML.
+\itemket{Example}  \verb|Movetojs(50,[0,-5],15);// no ketjs|
+
+\end{cmd}
+
+%--------------Setplaybuttons-----------------------------
+
+\begin{cmd}{Setplaybuttons}{setplaybuttons}
+
+\itemket{Usage}Setplaybuttons(coord, font size [, space])
+\itemket{Description} Function to set the position of play buttons in HTML.
+\itemket{Example}  \verb|Setplaybuttons([0,-5],15,[1]);// no ketjs|
+
+\end{cmd}
+
+
 \newpage
 %-==Appendix ========================
 \section{Appendix}
@@ -5618,6 +5775,9 @@
 %\scalebox{0.9}{\input{Fig/colortable}}
 \input{Fig/colortable}
 \end{center}
+
+Rem) lightgray\ [0,0,0,0.15],\ offwhite\ [0,0,0,0.3],\ cindycolor\ [0.66,0,69,0.71] have been added.
+
 \newpage
 
 %-----------Comparative chart of drawing of points---------
@@ -5638,6 +5798,7 @@
 \hspace{20mm} $\triangle$ : use PD
 
 \newpage
+
 %-==Command List ========================
 \hypertarget{functionlist}{}
 \section{Command List}
@@ -5797,6 +5958,7 @@
 \hyperlink{norml}{Norm} \> return the norm of a vector.\\
 \hyperlink{opl}{Op} \> return the n-th element of a list or a string.\\
 \hyperlink{ptselected}{Ptselected} \> tests whether the point is selected.\\
+\hyperlink{reparse}{Reparse} \> return the real part afger parsing.\\
 \hyperlink{slider}{Slider} \> make a slider on a Euclidean view.\\
 \hyperlink{sprintf}{Sprintf} \> converts a real number to a string.\\
 \hyperlink{texcom}{Texcom} \> add the command in the \TeX file.\\
@@ -5894,8 +6056,15 @@
 \hyperlink{wireparadata}{Wireparadata} \> draw the surface by wire frame data with performing hidden line processing.\\
 \hyperlink{xyzax3data}{Xyzax3data} \> draw the coordinate axis.\\
 \hyperlink{xyzcoord}{Xyzcoord} \> return the 3D-coordinate of the point P.\\
-\hyperlink{setangle}{Setangle} \>Set TH and FI\\
-\hyperlink{getangle}{Getangle}\>Get TH and FI\\
+{\bf KeTCindyJS} \> \\
+\hyperlink{ptpos}{Ptpos} \>Return the latest position of geometric point\\
+\hyperlink{setketcindyjs}{Setketcindyjs} \>Set options of KeTCindyJS\\
+\hyperlink{ketcindyjsdata}{Ketcindyjsdata}\>Write into csinit\\
+\hyperlink{ketcindyjsbody}{Ketcindyjsbody}\>Add scripts to the first/last of body tag\\
+\hyperlink{animationparam}{Animationparam}\>Get parmeter value of animation\\
+\hyperlink{textedit}{Textedit}\>Get string from input box of KeTCindyJS\\
+\hyperlink{movetojs}{Movetojs}\>Set position and fontsize of text box in HTML\\
+\hyperlink{setplaybuttons}{Setplaybuttons}\>Set position of play buttons in HTML\\
 \end{tabbing}
 
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceJ.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceJ.tex	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/doc/support/ketcindy/source/ketmanual/KeTCindyReferenceJ.tex	2019-09-27 21:24:30 UTC (rev 52190)
@@ -566,7 +566,7 @@
 \item[機能]点のデータを作成する。
 \item[説明]与えられた座標の点データを作成する。オプションは"Size=","Color=","Inside"。
 
-Inside オプションは,点の内部についての指定。ただし,Cinderellaの描画面には反映されない。
+Inside オプションは,点の内部についての指定。
 
 0 : 白抜き
 
@@ -4118,6 +4118,15 @@
 \hspace{10mm}\includegraphics[bb=0.00 0.00 219.01 204.51,width=40mm]{Fig/ptselected02.pdf} 
 
 \vspace{\baselineskip}
+\hypertarget{reparse}{}
+\item[関数]Reparse(文字列か文字列のリスト)
+\item[機能]評価(parse)してから実部をとる(re)。
+\item[説明]CindyJSでは,実数の演算でも虚数の項が出ることがあり,その対応である。
+
+【例】\verb|str="(0-1)^2"; Reparse(str);|\\
+  注)CindyJSでformat(parse(str),0)を実行すると\verb|1-i*0|になる。
+
+\vspace{\baselineskip}
 \hypertarget{slider}{}
 \item[関数]Slider(名称,位置1,位置2)
 \item[機能]スライダを作成する
@@ -4175,7 +4184,7 @@
 \hspace{10mm} \verb|Textformat(dt,4); | // 戻り値は "[ 0.1667 , 0.5 ]" \\
 \hspace{10mm} \verb|format(dt,4); | // 戻り値は [ "0.1667" , "0.5" ] \\
 
-\begin{flushright}\hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright}
+%\begin{flushright}\hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright}
 
 \vspace{\baselineskip}
 \hypertarget{texcom}{}
@@ -4261,12 +4270,12 @@
 
 \vspace{\baselineskip}
 \hypertarget{fracform}{}
-\item[関数]Fracform(数 , 分母のリストまたは最大値)
+\item[関数]Fracform(数 , 分母のリストまたは最大値 [, 許容誤差の桁数(5)])
 \item[機能]分母リストの1つを分母とする近似分数と誤差を返す。
-\item[説明]戻り値は,簡易TeX-like書式の文字列と誤差。
+\item[説明]戻り値は,簡易TeX-like書式の文字列,誤差,分子,分母。
 
 \vspace{\baselineskip}
-【例】\verb|Fracform(0.33,[2,3]); => fr(1,3)|
+【例】\verb|Fracform(0.33,[2,3]); => [fr(1,3),''err=0.0033'',1,3]|
 
 \begin{flushright}\hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright}
 
@@ -8026,20 +8035,22 @@
 012345678\=3433778901234567\=890090666612345\=\kill
 Local \> y/n \>動作環境の設定。 \>初期値は y\\
 Scale \> 実数 \> 拡大・縮小 \>初期値は 1\\
+Grid \> 実数 \> グリッドサイズ(mm)\\
 Nolabel \> 点のリスト \> ラベルを表示しない点を指定する。"No"だけでも可。\\
-Color \>  色名またはコード\> 背景色の指定。初期値はCinderellaの画面の色。\\
+\hspace*{10mm}"Nolabel=all"とすると,すべての点のラベルが表示されない。\\
+Color \>  色名またはコード\> 背景色の指定。初期値はlightgray([0,0,0,0.17])\\
+Figure \> y \>書き出す範囲をNE,SWの範囲にする。\\
+Axes \> false \>CindyJSが表示している座標軸を非表示にする。 \\
 \end{tabbing}
 【例】すべて設定するとき,次のように記述する。
 
-\verb|  Setketcindyjs(["Local=n","Scale=1.5","No=[A,B]","Color=[0.2,0,0,0]"]) |
+\verb|  Setketcindyjs(["Local=n","Scale=1.5","No=[A,B]","Color=lightgray"]) |
 
 \vspace{\baselineskip}
 注1)Cinderellaの画面に背景の方眼が描かれているとき,「CindyJSに書き出す」で,この方眼も表示される。方眼を消したい場合は,画面下の「グリッドを描く」ツールで非表示にしておく。
 
-注2)「CindyJSに書き出す」で書き出すときの範囲は,ウィンドウ全体である。NE,SWの範囲ではない。2点NE,SWは\verb|  Setketcindyjs(["No=[NE,SW]" | で非表示になるが,NE,SEの範囲を広くとっておき,ウィンドウサイズをこれより小さくすれば \verb|"No=[NE,SW]"| オプションを使わなくても表示されずにすむ。
+注2)HTMLなので,画面に説明文などを表示したい場合は,HTMLファイルを開き,下の方の \verb|<body>| と \verb|</body>| の間,\verb|<div id="CSCanvas"></div>| の前後に書けば表示される。改行などは,HTMLのタグを用いる。
 
-注3)HTMLなので,画面に説明文などを表示したい場合は,HTMLファイルを開き,下の方の \verb|<body>| と \verb|</body>| の間,\verb|<div id="CSCanvas"></div>| の前後に書けば表示される。改行などは,HTMLのタグを用いる。
-
 \vspace{\baselineskip}
 \hypertarget{setketcindy}{}
 \item[コメント化] no ketjs
@@ -8067,11 +8078,151 @@
 
 この場合,対角線は2本とも描かれない。
 
+%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright}
+
+
+\vspace{\baselineskip}
+\hypertarget{setketcindy}{}
+\item[KeTJSだけで有効] only ketjs
+\item[機能] KeTJSだけに書き込む
+\item[説明] コマンドの先頭に \verb|//| につけて,行の最後に続けて書くと,その行はKeTJSだけで有効となる。
+ブロック単位で有効化するには,ブロックを \verb|only ketjs on|,\verb|only ketjs off| ではさむ。
+
+【例】KeTJSだけで入力窓を作る。
+
+\begin{verbatim}
+str="x^2";
+//str=Textedit(50); only ketjs
+Plotdata("1",str,"x");
+\end{verbatim}
+
+注)\verb|Textedit|はKeTJSで入力窓からの入力を得るコマンド
+
 \begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright}
 
 \end{description}
 
 
+%======KeTJSの設定============================
+
+\subsection{KeTJSのコマンド}
+
+\begin{description}
+
+\hypertarget{ptpos}{}
+\item[関数]Ptpos(幾何点)
+\item[機能]幾何点の現在(直前)座標を返す。
+\item[説明]幾何点を制御可能範囲外に移動した場合に保持されるもとの座標
+
+【例】\verb|Ptpos(A)|
+
+%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright}
+
+\end{description}
+
+\begin{description}
+
+\hypertarget{ketcindyjsdata}{}
+\item[関数]Ketcindyjsdata(変数名と値のリスト)
+\item[機能]KeTJSファイルのscript "csinit"の最後にデータを書き込む
+\item[説明]Maximaの返り値などKeTJSでは得られないデータを使えるようにする。
+
+\begin{verbatim}
+【例】Mxfun("1","integrate",["x*sin(x)","x"]);// no ketjs
+   Ketcindyjsdata(["mx1",mx1]); 
+   Plotdata("1",mx1,"x");
+\end{verbatim}
+
+%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright}
+
+\end{description}
+
+\begin{description}
+
+\hypertarget{ketcindyjsbody}{}
+\item[関数]Ketcindyjsbody(prependlist,appendlist)
+\item[機能]KeTJSファイルのbodyの最初と最後にスクリプトを追加する。
+
+
+\begin{verbatim}
+【例】Ketcindyjsbody(["<p,f10>__Title''],[]);
+      =>     <p><font size="10">  Title</font></p>
+\end{verbatim}
+
+%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright}
+
+\end{description}
+
+\begin{description}
+
+\hypertarget{animationparam}{}
+\item[関数]Animationparam(初期値,速度,範囲)
+\item[機能]アニメーションボタンのパラメータ値を取得する。
+\item[例 ]ss=Animationparam(0,1,[-60,60]);
+\item[説明]\mbox{}
+
+\begin{itemize}
+\item \Ltab{15mm}{"Play"}パラメータ値が初期値にセットされ,変化が始まる。
+\item \Ltab{15mm}{"Stop"}パラメータ値が初期値にセットされ,変化が終わる。
+\item \Ltab{15mm}{速度}パラメータ値の変化速度(秒速)
+\item \Ltab{15mm}{範囲}パラメータ値が端点に達したら停止する。
+\end{itemize}
+
+
+\end{description}
+
+
+\begin{description}
+
+\hypertarget{textedit}{}
+\item[関数]Textedit(識別番号)
+\item[機能]KeTJSで入力窓に入れた文字列を取得する。
+\item[説明]KeTJSでの入力窓の作り方
+
+\begin{itemize}
+\item[(1)]CindyScreenの"f(x)"を選び,適当な初期値を入れてEvaluateを押す。\\
+ 注)"="だけを入れて,Setketcindyjsのオプションに\\
+    "Equal="\\
+  を追加すると,KeTJSの入力窓は空欄になる。
+\item[(2)]"要素を動かす"に戻り,(1)を選んでインスペクタを開く。
+\item[(3)]識別番号を確認(修正)して,フォントサイズを変える。
+
+\end{itemize}
+
+【例】識別番号を0とする。
+
+\begin{verbatim}
+str="x^2"; //no ketjs
+//str=Textedit(0); //only ketjs
+Plotdata("1",str,"x");
+\end{verbatim}
+
+\end{description}
+
+%\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright}
+
+\begin{description}
+
+\hypertarget{movetojs}{}
+\item[関数]Movetojs(識別番号または要素名,座標,フォントサイズ);
+\item[機能]KeTJSでテキストボタンの位置とフォントサイズを指定
+\item[例 ]Movetojs(0,[2,-4],15);
+\end{description}
+
+\begin{description}
+
+\hypertarget{setplaybuttons}{}
+\item[関数]Setplaybuttons(座標,フォントサイズ [,スペース増加量]);
+\item[機能]KeTJSでPlayなどのボタンの位置とフォントサイズを指定
+\item[例 ]Setplaybuttons([-3,-4.5],15,[1]);\\
+注)Play,Pause,Rev,Stopの識別番号が71,72,73,74であることを確認しておく。\\
+注)スペース増加量の単位はmm,リストで個々に指定することもできる。
+
+
+\begin{flushright} \hyperlink{functionlist}{$\Rightarrow$関数一覧}\end{flushright}
+
+\end{description}
+
 \newpage
 %付録==================================
 \section{付録}
@@ -8125,7 +8276,7 @@
 画面ツール(下のツールバー)\\
 \includegraphics[bb=0 0 6.48 5.04 , width=0.6cm]{Fig/translate-view.pdf}原点を移動する \>:画面上の任意の位置でドラッグする\\
 \includegraphics[bb=0 0 6.48 5.04 , width=0.6cm]{Fig/zoom-in.pdf}矩形領域を画面サイズに拡大 \>:ドラッグしてできる矩形で領域を選択する\\
-\includegraphics[bb=0 0 6.48 5.04 , width=0.6cm]{Fig/zoom-out.pdf}画面を矩形領域サイズに縮小 \>:どっらっぐしてで切る矩形で領域を選択する\\
+\includegraphics[bb=0 0 6.48 5.04 , width=0.6cm]{Fig/zoom-out.pdf}画面を矩形領域サイズに縮小 \>:ドラッグしてで切る矩形で領域を選択する\\
 \includegraphics[bb=0 0 6.48 5.04 , width=0.6cm]{Fig/snap.pdf}格子点にスナップする \>:軸と方眼を表示しスナップモードにする\\
 \includegraphics[bb=0 0 6.48 5.04 , width=0.6cm]{Fig/grid-more.pdf}\includegraphics[bb=0 0 6.48 5.04 , width=0.6cm]{Fig/grid-less.pdf}グリッドを粗く / 細かくする\\
  \end{tabbing}
@@ -8133,8 +8284,10 @@
 \hypertarget{colorcodelist}{}
 \subsection{色名とカラーコード一覧}
 \vspace{\baselineskip}
-\scalebox{0.9}{\input{Fig/colortable}}
+\scalebox{0.85}{\input{Fig/colortable}}
 
+注)lightgray\ [0,0,0,0.15],\ offwhite\ [0,0,0,0.3],\ cindycolor\ [0.66,0,69,0.71]を追加
+
 \newpage
 %--------------点の作図についての比較表--------------------------------------
 \hypertarget{mkpttable}{}
@@ -8306,6 +8459,7 @@
 \hyperlink{op}{Op(n,list)} \> listまたは文字列から要素を抜き出す\\
 \hyperlink{isptselected}{Isptselected(点名)} \>点が選択されていればtrueを返す\\
 \hyperlink{isptselected}{Ptselected(点名)} \>点が選択されていればtrueを返す\\
+\hyperlink{reparse}{Reparse(文字列(リスト)}\>評価して実数化する\\
 \hyperlink{slider}{Slider()}\>スライダを作る\\
 \hyperlink{sprintf}{Sprintf(実数,長さ)}\>小数点以下の長さを固定した文字列に変換\\
 \hyperlink{strsplit}{Strsplit(文字列,文字)}\>文字列を分解する。\\
@@ -8416,8 +8570,14 @@
 \hyperlink{xyzax3data}{Xyzax3data(name,文字,文字,文字,options)}\>座標軸の表示\\
 \hyperlink{xyzcoord}{Xyzcoord(P.x,P.y,Pz.y)}\>主副画面で決まる点の座標\\
 【KeTJS】\\
+\hyperlink{ptpos}{Ptpos(幾何点)}\>幾何点の現在(直前)座標\\
 \hyperlink{setketcindyjs}{Setketcindyjs(options)}\>KeTJSの設定\\
-
+\hyperlink{ketcindyjsdata}{Ketcindyjsdata(変数名と値のリスト)}\>script "csinit"にデータを書き込む\\
+\hyperlink{ketcindyjsbody}{Ketcindyjsbody(prependlist,appendlist)}\>bodyの最初と最後にスクリプトを追加\\
+\hyperlink{animationparam}{Animationparam(初期値,速度,範囲)}\>アニメーションボタンのパラメータ値を取得\\
+\hyperlink{textedit}{Textedit(識別番号)}\>KeTJSで入力窓に入れた文字列を取得\\
+\hyperlink{movetojs}{Movetojs(要素名,座標,フォントサイズ)}\>Textボタンの位置とフォントサイズを設定\\
+\hyperlink{setplaybuttons}{Setplaybuttons(座標,サイズ [, スペース])}\>Playなどのボタンの位置とフォントサイズを設定\\
 \end{tabbing}
 
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dlogr.txt
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dlogr.txt	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dlogr.txt	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,3 +1,18 @@
+// 20190821
+//    Start3d debugged  ( isstring added )
+// 20190818
+//    Projpara,Spaceline,Spacecurve,Joincrvs3d,Xyzax3data,Embed,
+//       Rotatedata3d,Translatedata3d,Reflectdata3d,Scaledata3d,Bezier3d,
+//       Vertexedgeface,Phparadata,Faceremovaldata,Skeletondatacindy,
+// 20190714
+//    Perpplane changed  (option)
+//    Pointdata3d changed (option,Defvar)
+// 20190713
+//    Ketinit3d changed  (TH,PHI copied from Start3d)
+// 20190709
+//    Rotatepoint3d,Scalepoint3d debugged (length(...)==1>!isstring())
+//    Rotatepoint3d debugged  ( w1,w2 )
+//    VertexEdgeFace(label) debugged
 // 20190511
 //    Start3d changed (KetcindyDataList initialized)
 // 20190506

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dr.cs
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dr.cs	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylib3dr.cs	2019-09-27 21:24:30 UTC (rev 52190)
@@ -14,7 +14,7 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>
 //
 
-println("ketcindylib3d[20190511] loaded");
+println("ketcindylib3d[20190822] loaded");
 
 //help:start();
 
@@ -47,6 +47,13 @@
   TSIZE=10;
   TSIZEZ=10;
   ErrFlg=0;
+  xPos=-5; yTh=tmp-0.5; yPh=tmp-1;
+  Slider("TH",[xPos,yTh],[xPos+9,yTh],["Color=green"]);  //190713from
+  Slider("FI",[xPos,yPh],[xPos+9,yPh],["Color=green"]); 
+  drawtext([xPos-0.8,yTh-0.1],Sprintf((TH.x-xPos)*20,2),align->"right"); 
+  drawtext([xPos-0.8,yPh-0.1],Sprintf((FI.x-xPos)*40,2),align->"right");
+  THETA=(TH.x-xPos)*20*pi/180;
+  PHI=(FI.x-xPos)*40*pi/180; //190713to
 );
 ////%Ketinit3d end////
 
@@ -54,7 +61,8 @@
 Start3d():=Start3d([],[]); 
 Start3d(Arg):=( //190503from
   regional(tmp);
-  tmp=select(Arg,indexof(#,"=")>0);
+  tmp=select(Arg,isstring(#)); //190822
+  tmp=select(tmp,indexof(#,"=")>0);
   if(length(tmp)==0,
     Start3d(Arg,[]);
   ,
@@ -516,7 +524,7 @@
       tmp=name2+"=Projpara("+name3+")";
       GLIST=append(GLIST,tmp);
     );
-    if(Noflg<2,
+    if(Noflg<3, //190818
       if(isstring(Ltype),
         if(color!=KCOLOR, //180904
           Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -528,7 +536,7 @@
 	  ,
         if(Noflg==1,Ltype=0);
       );
-    GCLIST=append(GCLIST,[name2,Ltype,opcindy]);
+     GCLIST=append(GCLIST,[name2,Ltype,opcindy]);
     );
   );
   if(length(Out)==1,Out=Out_1);
@@ -706,7 +714,7 @@
     tmp=name2+"=Projpara("+name3+")";
     GLIST=append(GLIST,tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(color!=KCOLOR, //180904
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -873,7 +881,7 @@
     tmp=name2+"=Projpara("+name3+")";
     GLIST=append(GLIST,tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(color!=KCOLOR, //180904
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -1012,7 +1020,7 @@
     tmp=name2+"=Projpara("+name3+")";
     GLIST=append(GLIST,tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(color!=KCOLOR, //180904
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -1131,7 +1139,7 @@
     tmp=name2+"=Projpara("+name3+")";
     GLIST=append(GLIST,tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(color!=KCOLOR, //180904
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -1305,7 +1313,7 @@
     tmp=name2+"=Projpara("+name3+")";
     GLIST=append(GLIST,tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(color!=KCOLOR, //180904
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -1328,18 +1336,21 @@
 );
 ////%Embed end////
 
-////%Rotatepoint3d start////
+////%Rotate3pt start////
 Rotate3pt(point,w1,w2):=Rotatepoint3d(point,w1,w2,[0,0,0]);
 Rotate3pt(point,w1,w2,center):=Rotatepoint3d(point,w1,w2,center);
+////%Rotate3pt end////
+////%Rotatepoint3d start////
 Rotatepoint3d(point,w1,w2):=Rotatepoint3d(point,w1,w2,[0,0,0]);//180809
-Rotatepoint3d(point,w1,w2,center):=(
+Rotatepoint3d(point,w1org,w2org,center):=(
 //help:Rotatepoint3d(pt3d,[0,0,1],pi/2);
 //help:Rotatepoint3d(pt3d,[0,0,1],pi/2,[1,1,1]);
-  regional(Eps,ct,st,v3,v1,v2,Ans,ns,PtL,num,
+  regional(Eps,w1,w2,ct,st,v3,v1,v2,Ans,ns,PtL,num,
     pt,tmp,tmp1,tmp2,Retflg,x,y,z,xx,yy,zz,flg);
   Eps=10^(-4);
+  w1=w1org; w2=w2org; //190709
   Retflg=0;
-  if(length(w2)==1,
+  if(!islist(w2), //190709
     ct=cos(w2);
     st=sin(w2);
     v3=1/|w1|*w1;
@@ -1471,7 +1482,7 @@
     tmp=name2+"=Projpara("+name3+")";
     GLIST=append(GLIST,tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(color!=KCOLOR, //180904
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -1568,7 +1579,7 @@
     tmp=name2+"=Projpara("+name3+")";
     GLIST=append(GLIST,tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(color!=KCOLOR, //180904
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -1665,7 +1676,7 @@
     tmp=name2+"=Projpara("+name3+")";
     GLIST=append(GLIST,tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(color!=KCOLOR, //180904
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -1695,7 +1706,7 @@
 //help:Scalepoint3d(A,[3,2,4],[1,2,3]);
   regional(ra1,ra2,ra3,X1,Y1,Z1,X2,Y2,Z2,Cx,Cy,Cz);
   X1=point_1; Y1=point_2;  Z1=point_3;
-  if(length(ratio)==1, //1808from
+  if(!islist(ratio), //1808from.190709
     ra1=ratio; ra2=ratio; ra3=ratio;
   ,
     ra1=ratio_1; ra2=ratio_2; ra3=ratio_3;
@@ -1761,7 +1772,7 @@
     tmp=name2+"=Projpara("+name3+")";
     GLIST=append(GLIST,tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(color!=KCOLOR, //180904
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -2270,13 +2281,26 @@
 ////%Perpplane start////
 Perpplane(name,ptstr,nvec):=
     Perpplane(name,ptstr,nvec,"draw");
-Perpplane(name,ptstr,nstr,option):=(
+Perpplane(name,ptstr,nstr,optionorg):=(
 //help:Perpplane("A-B","P",[1,3,2]);
 //help:Perpplane("A-B","P",[1,3,2]);
-//help:Perpplane(option=["Put/Draw"]);
-  regional(Eps,nvec,sgstr,pP,v1,v2,v3,
-    th,ph,pA,pB,tmp,tmp1,tmp2);
+//help:Perpplane(options=["Put/Draw"]);
+  regional(Eps,options,eqL,strL,nvec,sgstr,pP,v1,v2,v3,
+     gptflg,th,ph,pA,pB,tmp,tmp1,tmp2);
   Eps=10^(-4);
+  options=optionorg; //190714from
+  if(!islist(options),options=[options]);
+  tmp=Divoptions(options);
+  eqL=tmp_5;
+  strL=tmp_7;
+  gptflg=0;
+  forall(strL,
+    tmp=Toupper(substring(#,0,1));
+    if(tmp=="P",
+      gptflg=1;
+      options=remove(options,#);
+    );
+  ); //190714to
   if(isstring(nstr),nvec=parse(nstr+"3d"),nvec=nstr);
   if(indexof(ptstr,"3d")==0, //181107from
     pP=parse(ptstr+"3d");
@@ -2296,18 +2320,14 @@
   tmp=indexof(pLstr,"-");
   pA=pP+v1;
   pB=pP+v2;
-  if(islist(option),tmp=option_1,tmp=option);
-  tmp=Toupper(substring(tmp,0,1)); // 16.06.19
-  if(tmp=="P",
+  if(gptflg==1, //190714from
     Putpoint3d([tmp1,pA,tmp2,pB],["fix"]);
   ,
-    Defvar(tmp1+"3d",pA); //181107[2lines]
+    Defvar(tmp1+"3d",pA); //190714from
     Defvar(tmp2+"3d",pB);
+    Pointdata3d(tmp1,pA,options);
+    Pointdata3d(tmp2,pB,options); //190714to
   );
-  if(tmp=="D",
-    Drawpoint3d(pA);
-    Drawpoint3d(pB);
-  );
   [pA,pB];
 );
 ////%Perpplane end////
@@ -2336,12 +2356,17 @@
 Pointdata3d(nm,pt3):=Pointdata3d(nm,pt3,[]);//181017from
 Pointdata3d(nm,pt3,options):=( //181017from
 //help:Pointdata3d("1",pt3dlist,options);
-  regional(pt3L,pt2L,tmp);
-  if(Measuredepth(pt3)==0,pt3L=[pt3],pt3L=pt3);
-  pt2L=apply(pt3L,Parapt(#));
+  regional(pt2L,tmp);
+  if(Measuredepth(pt3)==0,tmp=[pt3],tmp=pt3);
+  pt2L=apply(tmp,Parapt(#));
   Pointdata("2d"+nm,pt2L,append(options,"Disp=n"));
-  tmp="pt3d"+nm+"="+format(pt3L,6)+";"; //190415
-  parse(tmp);
+  tmp=substring(nm,0,1); //190714from
+  if((tmp>="A")&(tmp<="Z"),
+    tmp=nm+"3d";
+  ,
+    tmp="pt3d"+nm;
+  );
+  Defvar(tmp,pt3); //190714to
 ); //181017to
 ////%Pointdata3d end////
 
@@ -2565,7 +2590,7 @@
     tmp=name2+"=Projpara("+name3+")";
     GLIST=append(GLIST,tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
       Ltype=Getlinestyle(text(Noflg)+Ltype,name2);
@@ -2898,7 +2923,7 @@
 ////%VertexEdgeFace start//// //190502
 VertexEdgeFace(nm,vfnL):=Vertexedgeface(nm,vfnL,[]); 
 VertexEdgeFace(nm,vfnLorg,optionorg):=Vertexedgeface(nm,vfnLorg,optionorg);
-////%VertexEdgeFace start////
+////%VertexEdgeFace end////
 
 ////%Vertexedgeface start////
 Vertexedgeface(nm,vfnL):=Vertexedgeface(nm,vfnL,[]);  // 16.02.10
@@ -3051,7 +3076,7 @@
         enL=append(enL,tmp+"3d");//16.02.29
       );
     );
-    if(Noflg<2,
+    if(Noflg<3, //190818
       if(msgflg=="Y",
         println("generate "+namev+","+namee+","+namef);
       );
@@ -3163,7 +3188,7 @@
       GLIST=append(GLIST,tmp);
     );
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
       Ltype=Getlinestyle(text(Noflg)+Ltype,name2);
@@ -3568,7 +3593,7 @@
       GLIST=append(GLIST,tmp);
     );
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
       Ltype=Getlinestyle(text(Noflg)+Ltype,name2);
@@ -4694,7 +4719,7 @@
       GLIST=append(GLIST,"ReadOutData("+Dq+fname+Dq+")");//181102
     );
   ); //no ketjs off
-  if((Noflg<2)&(mkflg>-1), //181103
+  if((Noflg<3)&(mkflg>-1), //181103,190818
     if(isstring(Ltype),
       if(!contains([[0,0,0],[0,0,0,1]],color),Com2nd("Setcolor("+color+")"));
       Ltype=Getlinestyle(text(Noflg)+Ltype,name2);

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1logr.txt	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,3 +1,47 @@
+// 20190927
+//    Setwindow debugged  ( for Strictmove)
+// 20190917
+//    Ketinit changed (Strictmove moved from windispg)
+//    Intersectcurves debugged  (op => pp)
+// 20190916
+//    Ketinit changed (JSBODY moved from Setketincyjs,  KETJSOP=[] added)
+// 20190912
+//    Setwindow changed  ( Ptpos used )
+// 20190909
+//    Setwindow debugged  ( Strictmove added to another place )
+// 20190901
+//    Ketinit changed (AXSTYLE)
+// 20190831
+//    Ketinit changed (StrictSep added)
+// 20190829
+//    Setwindow changed (Strictmove(SW,NE))
+// 20190818
+//    Getlinestyle changed  ( to register  "nodisp"(2) dat to GCLIST )
+//    Chanestyle,AddGraph,Joincrvs,Partcrv,Pointdata,Listplot,Lineplot,Plotdata,
+//        Paramplot,Implicitplot,Circledata,Ovaldata
+//    changed  (Nflg<2 => Nflg<3 )
+// 20190813
+//    Assign debugged
+// 20190811
+//    Assign changed  ( precise options added (def=6))
+// 20190809
+//    lightgray 0.17=>0.15
+//    offwhite added
+// 20190805
+//    Ptselected change (Isptselected removed)
+// 20190803
+//    Reparse added
+// 20190802
+//    Ketinit() changed (MOVETOLIST commented out)
+//    Initglist changed  (GCLISTadd + Ketinit);
+//    Koutenseg changed  ( re(out)  for JS)
+// 20190719
+//    Initglist debugged  (GCLISTadd)
+//    Setglist changed (GLIST (//no ketjs)
+// 20190704
+//    Ketinit changed (MOVETOJSLIST added)
+// 20190628
+//    Pointdata debugged  ( Inside )
 // 20190622
 //    Implicitplot changed  ("x","y" supported)
 // 20190603
@@ -96,6 +140,8 @@
 //    Divoptions  changed  ("dr,thickness" )
 // 20190116
 //    Ketinit() debuggded ( Mackc for Linux)
+// 20190801
+//    Ketinit changed (KetcindyjsDataList=[] removed)
 // 20190115
 //    Plotdata debugged( ( => [ )
 //    Pointdata change( colorcode => colorcmyk2rgb)

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic1r.cs	2019-09-27 21:24:30 UTC (rev 52190)
@@ -14,9 +14,9 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>
 //
 
-println("KeTCindy V.3.2.9");
+println("KeTCindy V.3.3.0");
 println(ketjavaversion());
-println("ketcindylibbasic1[20190622] loaded");
+println("ketcindylibbasic1[20190927] loaded");
 
 //help:start();
 
@@ -38,17 +38,19 @@
 Ch=[0]; ChNum=1;
 
 ////%Ketinit start////
-Ketinit():=Ketinit("fig",1,[-5,5],[-5,5]); //181001
+Ketinit():=Ketinit("fig",1,[-5,5],[-5,5],0.3); //190831from
 Ketinit(Arg):=(//181001from
   if(isstring(Arg),
-     Ketinit(Arg,1,[-5,5],[-5,5]);
+    Ketinit(Arg,1,[-5,5],[-5,5],0.3);
   ,
-    Ketinit("fig",Arg,[-5,5],[-5,5]);
+    Ketinit("fig",1,[-5,5],[-5,5],Arg);
   );
 );
-Ketinit(work,sy,rangex,rangey):=(//181001to
+Ketinit(Arg1,Arg2):=Ketinit(Arg1,1,[-5,5],[-5,5],Arg2);
+Ketinit(work,sy,rangex,rangey,strictsep):=(////190831to
  //help:Ketinit();
  //help:Ketinit("");
+ //help:Ketinit(0.3); //190831
  regional(pt,tmp,tmp1,tmp2,letterc,boxc,shadowc,mboxc);
   PenThickInit=8;
   ULEN="1cm";
@@ -83,25 +85,26 @@
   COM2ndlist=[]; // no ketjs off
  // COM2ndlistb=[]; //180612
   ADDAXES="1";
-  AXSTYLE=["l","x","e","y","n","O","sw","","",""]; //181216
+  AXSTYLE=[["l","x","e","y","n","O","sw","","",""],[]]; //190901
   AXCOUNT=1; //181215
   SHADECTR=1; //190222
   LFmark=unicode("000a");
   CRmark=unicode("000d");//16.12.13
   Dq=unicode("0022");
-  CommonMake=0;//180610
+  CommonMake=0;//180610 //no ketjs on
   WaitUnit=10;
   CONTINUED=0;
   OutComList=[];
   OutFileLIst=[];   // 15.10.22
-  FigPdfList=[];  // 16.04.08
+  FigPdfList=[];  // 16.04.08 //no ketjs off
   Fillstore(); //181212
-  ADDPACK=[]; // 16.05.16
+  ADDPACK=[]; // 16.05.16 //no ketjs on
   GPACK="tpic"; //180817
   ErrFlag=0;
   KETJSOP=[]; //190129
   REMOVEPTJS=[]; SLIDEFLG="Y"; //190504
-  KetcindyjsDataList=[];
+//  MOVETOJSLIST=[]; //190802
+//  KetcindyjsDataList=[]; //190801
 //  setdirectory(Dirwork);
   if(!isstring(Fhead),  // 17.10.13from, 17.11.12
     Fhead=text(curkernel());
@@ -151,12 +154,15 @@
   BezierNumber=1; //15.01.03
   SCALEX=1;
   SCALEY=sy;
-//  Setscaling(sy);
   XMIN=rangex_1/SCALEX;
   XMAX=rangex_2/SCALEX;
   YMIN=rangey_1/SCALEY;
   YMAX=rangey_2/SCALEY;
+  StrictSep=strictsep; //190831
   Setwindow("Msg=n"); // 16.05.31
+  forall(remove(allpoints(),[SW,NE]),Strictmove(#.name)); //190917
+  KETJSOP=[]; //190916
+  JSBODY=[[],[]]; //190916
 // no ketjs on 190122
   // for Presentation
   letterc=[0.98,0.13,0,0.43]; boxc=[0.2,0,0,0];//190307 [0,0.32,0.52,0];
@@ -172,24 +178,16 @@
 );
 ////%Ketinit end////
 
-////%Initglist start//// 190530
+////%Initglist start//// 190802
 Initglist():=(
-  GLIST=[]; // no ketjs
-  GCLIST=[];
-  COM0thlist=[]; // no ketjs on
-  COM1stlist=[];
-  COM2ndlist=[]; // no ketjs off
-  KCOLOR=[0,0,0];
-  SCALEX=1;
-  SCALEY=1;
-  XMIN=SW.x; XMAX=NE.x; //190603[2lines]
-  YMIN=SW.y; YMAX=NE.y;
+  GCLISTadd=[]; //190719
+  Ketinit(); //190802
 );
 ////%Initglist end////
 
 ////%Setglist start//// 190530
 Setglist():=(
-  GLISTadd=GLIST;
+  GLISTadd=GLIST; // no ketjs
   GCLISTadd=GCLIST;
   COM0thlistadd=COM0thlist; // no ketjs on
   COM1stlistadd=COM1stlist;
@@ -199,7 +197,7 @@
 
 ////%Addglist start//// 190530
 Addglist():=(
-  GLIST=GLISTadd;
+  GLIST=GLISTadd; // no ketjs
   GCLIST=GCLISTadd;
   COM0thlist=COM0thlist; // no ketjs on
   COM1stlist=COM1stlistadd;
@@ -324,27 +322,23 @@
 ////%Cindyname end////
 
 ////%Setwindow start////
-Setwindow():=Setwindow("Msg=yes");
+Setwindow():=Setwindow("Msg=y");
 Setwindow(str):=(
   regional(tmp,tmp1,tmp2,msg);
-  msg="y";
+  msg="Y";
   tmp=indexof(str,"="); // 16.02.10
-  tmp1=Toupper(substring(str,tmp,tmp+1));
-  if(tmp1=="N",msg="n");
+  msg=Toupper(substring(str,tmp,tmp+1));
+  Strictmove("SW"); Strictmove("NE");//190927
   if((ispoint(SW) & ispoint(NE)),
-    tmp1=Lcrd(SW);
-    tmp2=Lcrd(NE);
+    tmp1=LLcrd(Ptpos(SW));//190912[2lines]
+    tmp2=LLcrd(Ptpos(NE));
     XMIN=tmp1_1; XMAX=tmp2_1;
     YMIN=tmp1_2; YMAX=tmp2_2;
   ,
-//    XMIN=-5; XMAX=5;
-//    YMIN=Lcrdy(-5); YMAX=Lcrdy(5);
-//    createpoint("SW",Pcrd([XMIN,YMIN]));
-//    createpoint("NE", Pcrd([XMAX,YMAX]));
     Putpoint("SW",Pcrd([XMIN,YMIN]));
-    Putpoint("NE", Pcrd([XMAX,YMAX])); 
+    Putpoint("NE", Pcrd([XMAX,YMAX]));
   );
-  if(msg=="y", // no ketjs on
+  if(msg=="Y", // no ketjs on
     println("Setwindow(["+XMIN+","+XMAX+"],["+YMIN+","+YMAX+"])");
   );
   layer(KETPICLAYER);
@@ -358,9 +352,13 @@
   XMAX=xrange_2;
   YMIN=yrange_1;
   YMAX=yrange_2;
-  Putpoint("SW",[XMIN,YMIN]);//181016
-  Putpoint("NE",[XMAX,YMAX]);//181016
-//  Ketinit();
+  Ptpos(SW,Pcrd([XMIN,YMIN])); //190927from
+  Ptpos(NE,Pcrd([XMAX,YMAX]));
+  Strictmove("SW"); Strictmove("NE");
+  layer(KETPICLAYER); 
+  autoclearlayer(KETPICLAYER,true);
+  drawpoly([Pcrd([XMIN,YMIN]), Pcrd([XMAX,YMIN]),
+        Pcrd([XMAX,YMAX]),Pcrd([XMIN,YMAX])],color->[1,1,1]); //190927to
 );
 ////%Setwindow end////
 
@@ -397,6 +395,20 @@
 );
 ////%Setparent end////
 
+////%Reparse start////
+Reparse(str):=( //190803
+//help:Reparse(str);
+//help:Reparse(strlist);
+  regional(out);
+  if(islist(str),
+    out=apply(str,re(parse(#)));
+  ,
+    out=re(parse(str));
+  );
+  out;
+);
+////%Reparse end////
+
 ////%Dqq start////
 Dqq(str):=DqDq(str); //18.02.11
 ////%Dqq end////
@@ -899,8 +911,8 @@
       Ltype=Ltypeorg;
       GCLIST=select(GCLIST,#_1!=name);
       COM2ndlist=select(COM2ndlist, //no ketjs
-        (indexof(#,"("+name)==0)%(indexof(#,"Shade")>0)); // 15.05.23,16.12.13 //no ketjs
-      if(Noflg<2,
+          (indexof(#,"("+name)==0)%(indexof(#,"Shade")>0)); // 15.05.23,16.12.13 //no ketjs
+      if(Noflg<3,
         if(isstring(Ltype),
           if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
             Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -912,8 +924,8 @@
         ,
           if(Noflg==1,Ltype=0);
         );
-        GCLIST=append(GCLIST,[name,Ltype,opcindy]);
-      );
+       GCLIST=append(GCLIST,[name,Ltype,opcindy]);
+     );
     );
   );
 );
@@ -936,7 +948,7 @@
 ////%Op end////
 
 ////%Ptselected start////
-Ptselected():=Isptselected(allpoints()); //180706
+Ptselected():=Ptselected(allpoints()); //190805
 Ptselected(ptlistorg):=(
 //help:Ptselected();
 //help:Ptselected(geopoint);
@@ -1212,20 +1224,26 @@
   forall(VLIST,tmp=concat(tmp,[#_1,#_2]));
   Assign(str,tmp);
 ); //190125to
-Assign(funstr,vrL):=(
-  regional(nn,out);
-  nn=length(vrL)/2;
-  out=funstr;
-  forall(1..nn,
-    out=Assign(out,vrL_(2*#-1),vrL_(2*#));
+Assign(funstr,vrL):=Assign(funstr,vrL,6);
+Assign(funstr,Arg1,Arg2):=( //190813from
+  regional(vrL,precise,nn,out,tmp);
+  if(islist(Arg1),
+    vrL=Arg1; precise=Arg2;
+    nn=length(vrL)/2;
+    out=funstr;
+    forall(1..nn,
+      out=Assign(out,vrL_(2*#-1),vrL_(2*#),precise);
+    );
+  , 
+    out=Assign(funstr,Arg1,Arg2,6);
   );
   out;
-);
-Assign(funstr,varname,rep):=(
-//help:Assign("x^2+a*x","a",1.3);
+); //190813to
+Assign(funstr,varname,rep,precise):=(
 //help:Assign("a*x^2+b*x",["a",1,"b",2]);
+//help:Assign("a*x^2+b*x",["a",aa,"b",bb],10(def=6));
   regional(repstr,ii,jj,tmp,tmp1,tmp2,Notvar,Flg);
-  if(isstring(rep),repstr=rep,repstr="("+Textformat(rep,6)+")");
+  if(isstring(rep),repstr=rep,repstr="("+Textformat(rep,precise)+")"); //190811to
         // 15.02.09, 07.06,17.08.24
   tmp=[46];  // 12.20
   tmp=concat(tmp,48..57);
@@ -1708,7 +1726,8 @@
     Tmp1=pA+rT*pV;
     Out=[Tmp1,rT,1];
   );
- Out;
+  if(!isstring(Out_1),Out=apply(Out,re(#))); //190802
+  Out;
 );
 ////%Koutenseg end////
 
@@ -2294,7 +2313,7 @@
 //help:Intersectcurves(crv1,crv2);
 //help:Intersectcurves(options=[Eps1(0.1),Dist(2)])
   regional(tmp);
-  tmp=Intersectcurvesop(crv1org,crv2org,options);
+  tmp=Intersectcurvespp(crv1org,crv2org,options); //190917(debugged)
   tmp=apply(tmp,#_1);
 );
 ////%Intersectcurves end////
@@ -3465,9 +3484,9 @@
     ["olivegreen",[0.64,0,0.95,0.4]],["rawsienna",[0,0.72,1,0.45]],
     ["sepia",[0,0.83,1,0.7]],["brown",[0,0.81,1,0.6]],
     ["tan",[0.14,0.42,0.56,0]],["gray",[0,0,0,0.5]],
-    ["lightgray",[0,0,0,0.17]], //190429
+    ["lightgray",[0,0,0,0.15]], //190429,0809
     ["cindycolor",[0.66,0,69,0.71]], //190504
-    ["black",[0,0,0,1]],["white",[0,0,0,0]]
+    ["black",[0,0,0,1]],["white",[0,0,0,0]],["offwhite",[0,0,0,0.03]] //190809
   ];
   tmp=select(dL,#_1==name);
   if(length(tmp)>0,
@@ -3492,14 +3511,17 @@
   );
   noflg=parse(substring(str,0,1));
   if(substring(name,0,3)=="sub",subflg=1,subflg=0);  // 16.02.29
-  tmp1=substring(str,1,3);
+  if(noflg<=1, //1900818from
+    tmp1=Toupper(substring(str,1,3));
+  ,
+    tmp1="NO";
+  ); //1900818to
   tmp2=""; //190119from
   tmp=indexof(str,",");
   if(tmp>0,
     tmp2=substring(str,tmp,length(str));
   ); //190119to
-  if(tmp1=="dr" % tmp1=="Dr",
-//    Ltype=0;
+  if(tmp1=="DR",
     if(length(tmp2)==0,tmp2="1"); //190125
     Ltype=[0,tmp2];  //190119
     if(noflg==0 & subflg==0, // 16.02.29
@@ -3506,8 +3528,7 @@
       Drwline(name+Dop);
     );
   );
-  if(tmp1=="da" % tmp1=="Da",
-//    Ltype=1;
+  if(tmp1=="DA",
     if(length(tmp2)==0,tmp2="1,1"); //190125
     Ltype=[1,tmp2];  //190119
     if(noflg==0 & subflg==0, // 16.02.29
@@ -3514,16 +3535,14 @@
       Dashline(name+Dop);
     );
   );
-  if(tmp1=="id" % tmp1=="Id",
-//    Ltype=2;  // 15.11.09
-     if(length(tmp2)==0,tmp2="1,1"); //190125
-   Ltype=[2,tmp2];  //190119
+  if(tmp1=="ID",
+    if(length(tmp2)==0,tmp2="1,1"); //190125
+    Ltype=[2,tmp2];  //190119
     if(noflg==0 & subflg==0, // 16.02.29
       Invdashline(name+Dop);
     );
   );
-  if(tmp1=="do" % tmp1=="Do",
-//    Ltype=3;
+  if(tmp1=="DO",
     if(length(tmp2)==0,tmp2="1,1"); //190125
     Ltype=[3,tmp2];  //190119
     if(noflg==0 & subflg==0, // 16.02.29
@@ -3530,8 +3549,7 @@
       Dottedline(name+Dop);
     );
   );
-  if(tmp1=="dp" % tmp1=="Dp",
-//    Ltype=0;
+  if(tmp1=="DP",
     if(length(tmp2)==0,tmp2="1"); //190125
     Ltype=[0,tmp2];  //190119
     tmp1=parse(name);
@@ -3544,9 +3562,9 @@
       Drwpt(tmp2+Dop);
     );
   );
-  if(tmp1=="no" % tmp1=="No",
-    Ltype=10;
-  );
+  if(tmp1=="NO", //190818from
+    Ltype=[-1,"0"];
+  );  //190818to
   Ltype;
 );
 ////%Getlinestyle end////
@@ -3677,7 +3695,7 @@
       GLIST=append(GLIST,tmp1); //no ketjs
     );
   );  // 16.04.04 until
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -3776,7 +3794,7 @@
     tmp1=substring(tmp1,0,length(tmp1)-1);
     GLIST=append(GLIST,name+"=Joincrvs("+tmp1+")"); //no ketjs
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -3869,7 +3887,7 @@
          +","+Textformat(Lcrd(pB),5)+","+tmp+")"; // 16.04.03
     GLIST=append(GLIST,tmp1); //no ketjs
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -3904,11 +3922,11 @@
 Pointdata(nm,listorg,options):=(
 //help:Pointdata("1",[2,4],["Size=5"]);
 //help:Pointdata("2",[[2,3],[4,1]]);
-//help:Pointdata(options=["Size=(1)","Disp=(y)","Msg=(y)","Inside=","Color="]);
-//help:Pointdata("Inside=color/ratio/no"]);
+//help:Pointdata(options=["Size=(1)","Msg=(y)","Color="]);
+//help:Pointdata("Inside=color/ratio/no","Border=y(n)"]);
   regional(list,name,nameL,ptlist,opstr,opcindy,Msg,
       eqL,dispflg,size,thick,tmp,tmp1,tmp2,tmp3,
-      Ltype,Noflg,color,inside);
+      Ltype,Noflg,color,inside,border);
   name="pt"+nm;
   nameL=name+"L";
   tmp=Divoptions(options);
@@ -3921,6 +3939,7 @@
   size="";
   dispflg="Y";
   inside=color;
+  border="Y";
   Msg="Y";
   forall(eqL,
     tmp=Strsplit(#,"=");
@@ -3933,20 +3952,39 @@
     if(tmp1=="D", //181030from
       dispflg=Toupper(substring(tmp_2,0,1));
     );
-    if(tmp1=="I", //190405from
-      if(Toupper(substring(tmp_2,0,1))=="N",
-        inside=[-1,-1,-1];
+    if(tmp1=="I", //190628from
+      tmp2=Toupper(substring(tmp_2,0,1));
+      if(tmp2=="[",
+        tmp=parse(tmp_2);
+        if(length(tmp)==4,
+          tmp=Colorcmyk2rgb(tmp);
+        );
+        inside=text(tmp);
       ,
-        tmp3=["0","1","2","3","4","5","6","7","8","9"];
-        if(contains(tmp3,substring(tmp_2,0,1)),
-          inside=parse(tmp_2)*color;
+        if(contains(["0","1"],tmp2),
+          tmp=[1,1,1]-color;
+          tmp=parse(tmp_2)*tmp;
+          inside=[1,1,1]-tmp;
         ,
-          tmp3=Divoptions(["Color="+text(tmp_2)]);
-          inside=tmp3_(length(tmp3)-2);
+          if(tmp2=="N",
+            inside=[1,1,1];
+          ,
+            inside=Colorname2rgb(tmp_2);
+          );
         );
-        opcindy=opcindy+",pointcolor->"+text(inside); 
+        tmp1=indexof(opcindy,"color->");
+        tmp=substring(opcindy,tmp1,length(opcindy));
+        tmp2=indexof(tmp,"]");
+        tmp=substring(tmp,tmp2,length(tmp));
+        opcindy=substring(opcindy,0,tmp1-1)+"color->"+text(inside)+tmp;
       );
-    ); //100405to
+    );  //190628to
+    if(tmp1=="B", //1810628from
+      border=Toupper(substring(tmp_2,0,1));
+      if(border=="N",
+        opcindy=opcindy+",border->false";
+      );
+    ); //1810628to
     if(tmp1=="M", //190206from
       Msg=Toupper(substring(tmp_2,0,1));
     ); //190206to
@@ -3999,8 +4037,9 @@
     );
     GLIST=append(GLIST,name+"=Pointdata("+tmp2+")"); //no ketjs
   );
-  if(Noflg<2,
-    tmp=[nameL,[0,1],opcindy];  //190126
+  if(Noflg<3, //190818
+    if(Noflg<2,tmp=[0,1],tmp=[-1,1]); //190819
+    tmp=[nameL,tmp,opcindy];  //190126
     GCLIST=append(GCLIST,tmp);
     if(Noflg==0,
       if(length(size)>0,
@@ -4092,7 +4131,7 @@
     parse(tmp);
     GLIST=append(GLIST,name+"=Listplot("+Textformat(ptlist,5)+")"); // 180719 //no ketjs
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180711
@@ -4163,7 +4202,7 @@
     parse(tmp);
     GLIST=append(GLIST,name+"=Lineplot("+Textformat(list,5)+opstr+")"); //no ketjs
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -4371,7 +4410,7 @@
       tmp=name+"=Plotdata('"+tmp1+"','"+tmp2+"'"+opstr+")";
       GLIST=append(GLIST,tmp); //no ketjs off
     );
-    if(Noflg<2,
+    if(Noflg<3, //190818
       if(isstring(Ltype),
         if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
           Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -4387,7 +4426,7 @@
     );
     PdL;
   , 
-    if(Noflg<2,
+    if(Noflg<3, //190818
       if(isstring(Ltype),
         if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
           Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -4547,7 +4586,7 @@
       tmp=name+"=Paramplot('"+tmp1+"','"+tmp2+"'"+opstr+")";
       GLIST=append(GLIST,tmp); //no ketjs off
     );
-    if(Noflg<2,
+    if(Noflg<3, //190818
       if(isstring(Ltype),
         if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
           Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -4563,7 +4602,7 @@
     );
     Out;
   , 
-    if(Noflg<2,
+    if(Noflg<3, //190818
       if(isstring(Ltype),
         if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
           Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -4831,7 +4870,7 @@
     GLIST=append(GLIST,tmp); //no ketjs
 //    Drawfigures(name,[name],[options]);  //190508
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
      if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -4954,7 +4993,7 @@
     );
     GLIST=append(GLIST,tmp);  //no ketjs off
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //181020 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -5091,7 +5130,7 @@
     GLIST=append(GLIST, //no ketjs
       name+"=Ovaldata("+Ctr+","+Dx+","+Dy+opstr+")");//16.01.30 //no ketjs
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2logr.txt	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,3 +1,43 @@
+// 20190921
+//   Enclosing debugged/changed  ( in case of length(KL)==1, epspara removed)
+// 20190917
+//   Windispg changed (Strictmove moved to ketinit)
+//   Slider changed (Strictmove removed)
+// 20190905
+//   Ptpos added ( <= Setpintxy renamed/changed )
+// 20190902
+//   Setax debugged  (AXSTYLE)
+// 20190901
+//   Drwxy changed ("Size" supported for labels)
+//   Setpointxy added (Ptposition arrange )
+//   Setax, Drwxy changed  ( "Size=" option )
+// 20190831
+//   Strictmove changed (StrictSep used)
+// 20190829
+//   Windispg changed (remove SW,NE from Stricstmove)
+// 20190827
+//   Strictmove added
+//   Windispg changed (Stricstmove added)
+//   Slider changed  ( A-C-B)
+// 20190826
+//   Slider changed  ( for pA-pC-pB, initial position)
+// 20190824
+//   Slider changed  ( for ketcindyjs, separation controlable)
+// 20190818
+//   Windispg changed  ( to remove "nodisp" data )
+//   Arrowhead,Lightarrowdata,Anglemark,Paramark,Bowdata,Deqplot,
+//      Enclosing,Hatchdata,Rotatedata,Translatedata,Scaledata,Reflectdata,
+//      Beziercurve,Extractdata,
+//   changed
+// 20190814
+//   Fourier debugged/changed  (Num>num, deffun)
+// 20190727
+//   Lightarrowdata => Arrowdata, Arrowdata => OldArrowdata
+//   Lightarrowdata debugged  ( arrowhead option )
+// 20190704
+//   Bowdata changed  (BOWMIDDLE message)
+// 20190627
+//   Letter changed ( resize font size with Ketcindyjsscale )
 // 20190531
 //   Drawfigures (Drwfigs) changed 
 // 20190524
@@ -358,4 +398,4 @@
 //2017.09.16
 //   RSform, Deffun, IftoR, FortoR changed( added )
 //2017.09.14
-//   Makeshell, Makebat changed
\ No newline at end of file
+//   Makeshell, Makebat changed

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic2r.cs	2019-09-27 21:24:30 UTC (rev 52190)
@@ -14,7 +14,7 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>
 //
 
-println("ketcindylibbasic2[20190531] loaded");
+println("ketcindylibbasic2[20190921] loaded");
 
 //help:start();
 
@@ -28,9 +28,9 @@
 Drawfigures(nm,figlist):=Drawfigures(nm,figlist,[]);
 Drawfigures(nm,figlist,optionlist):=Drawfigures(nm,figlist,optionlist,[]);
 Drawfigures(nm,figlistorg,optionlistorg,commonops):=(
-//help:Drawfigures(["pt1","cr1"], [["Size=3"],[]],["Msg=n"]);
+//help:Drawfigures("1",["pt1","cr1"], [["Size=3"],[]],["Msg=n"]);
+//help:Drawfigures("","re1",[["Size=3"],[]],["Msg=n"]);
   regional(figlist,name,figL,optionlist,nn,kk,fig,eqL,msg,tmp,tmp1,tmp2);
-  name="figs"+nm;
   tmp=Divoptions(commonops);
   eqL=tmp_5;
   msg="Y";
@@ -42,7 +42,12 @@
     );
   );
   figlist=figlistorg;
-  if(isstring(figlist),figlist=parse(figlist));
+  if(isstring(figlist), //190818from
+    name=figlist+nm;
+    figlist=parse(figlist);
+  ,
+    name="figs"+nm;
+  ); //190818to
   nn=length(figlist);
   optionlist=optionlistorg;
   if(length(optionlist)==0, //190531from
@@ -62,27 +67,41 @@
     fig=figlist_kk;
     if(isstring(fig),fig=parse(fig));
     if(length(fig)>0,
-      if(Measuredepth(fig)==0,fig=[fig]); //190531from
-      if(Measuredepth(fig)==1,fig=[fig]);
-      forall(1..(length(fig)),
-        tmp1=fig_#;
-        tmp2=name+"n"+text(kk)+"p"+text(#);
-        if(length(tmp1)==1,
-          Pointdata(tmp2,tmp1,optionlist_kk); 
-          figL=append(figL,"pt"+tmp2);
+      if(isstring(figlistorg),
+        tmp1=Measuredepth(fig);
+        tmp2=append(optionlist_kk,"Msg=n");
+        tmp=fig;
+        if(tmp1==2,tmp=tmp_1);
+        if(length(tmp)>1,
+          Listplot("-"+name+"n"+text(kk),fig,tmp2);
         ,
-          Listplot("-"+tmp2,tmp1,optionlist_kk);
-          figL=append(figL,tmp2); //190427
+          if(tmp1==2,fig=apply(fig,#_1));
+          Pointdata("-"+name+"n"+text(kk),fig,tmp2);
         );
-      ); //190531to
+        figL=append(figL,name+"n"+text(kk));
+     ,
+        if(Measuredepth(fig)==0,fig=[fig]); //190531from
+        if(Measuredepth(fig)==1,fig=[fig]);
+        forall(1..(length(fig)),
+          tmp1=fig_#;
+          tmp2=name+"n"+text(kk)+"p"+text(#);
+          if(length(tmp1)==1,
+            Pointdata(tmp2,tmp1,optionlist_kk); 
+            figL=append(figL,"pt"+tmp2);
+          ,
+            Listplot("-"+tmp2,tmp1,optionlist_kk);
+            figL=append(figL,tmp2); //190427
+          );
+        ); //190531to
+        tmp=apply(figL,Dqq(#));
+        tmp=name+"="+text(tmp)+";";
+        parse(tmp);
+      );
     );
+    if(msg=="Y",
+      println("generate "+name+"="+text(figL));
+    );
   );
-  tmp=apply(figL,Dqq(#));
-  tmp=name+"="+text(tmp)+";";
-  parse(tmp);
-  if(msg=="Y",
-    println("generate "+name+"="+text(figL));
-  );
   figL;
 );
 ////%Drawfigures end////
@@ -280,7 +299,7 @@
     tmp=name+"="+Textformat(tmp1,5)+";"; //190415
     parse(tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       Listplot("-arh"+nm,apply(list,LLcrd(#)),concat(options,["notex","Msg=n"]));
     );
@@ -310,12 +329,18 @@
 );
 ////%Arrowhead end////
 
-////%Arrowdata start////
-Arrowdata(ptlist):=Arrowdata(ptlist,[]); //181110from
-Arrowdata(Arg1,Arg2):=(
+////%Arrowdata start//// 190727 (<= Lightarrowdata)
+Arrowdata(ptlist):=Lightarrowdata(ptlist,[]);
+Arrowdata(Arg1,Arg2):=Lightarrowdata(Arg1,Arg2);
+Arrowdata(nm,ptlistorg,optionsorg):=Lightarrowdata(nm,ptlistorg,optionsorg);
+////%Arrowdata end////
+
+////%OldArrowdata start////
+Arrowdata(ptlist):=OldArrowdata(ptlist,[]); //181110from
+OldArrowdata(Arg1,Arg2):=(
   regional(name);
   if(isstring(Arg1),
-    Arrowdata(Arg1,Arg2,[]);
+    OldArrowdata(Arg1,Arg2,[]);
   ,
     name="";
     forall(Arg1,
@@ -323,14 +348,14 @@
         name=name+#.name; //190505
       );
     );
-    Arrowdata(name,Arg1,Arg2);
+    OldArrowdata(name,Arg1,Arg2);
   );
 );  //181110from
-Arrowdata(nm,ptlistorg,optionsorg):=(
-//help:Arrowdata("1",[A,B]);
-//help:Arrowdata("1",[pt1,pt2]);
-//help:Arrowdata(options=[size(1),angle(18),pos(1),cut(0),"Cutend=0,0","Coord=p/l"]);
-//help:Arrowdata(optionsadded=["line"]);
+OldArrowdata(nm,ptlistorg,optionsorg):=(
+// help:Arrowdata("1",[A,B]);
+// help:Arrowdata("1",[pt1,pt2]);
+// help:Arrowdata(options=[size(1),angle(18),pos(1),cut(0),"Cutend=0,0","Coord=p/l"]);
+// help:Arrowdata(optionsadded=["line"]);
   regional(options,Ltype,Noflg,name,opstr,opcindy,eqL,reL,strL,color,size,coord,
       flg,lineflg,cutend,tmp,tmp1,tmp2,pA,pB,angle,segpos,cut,scaley,ptlist);
   name="ar"+nm;
@@ -426,7 +451,7 @@
   Setscaling(scaley); //190412
   [Lcrd(pA),Lcrd(pB)];
 );
-////%Arrowdata end////
+////%OldArrowdata end////
 
 ////%Lightarrowdata start////
 Lightarrowdata(ptlist):=Lightarrowdata(ptlist,[]); //181110from
@@ -445,8 +470,8 @@
   );
 );  //181110from
 Lightarrowdata(nm,ptlist,optionsorg):=(
-//help:Lightarrowdata("1",[pt1,pt2]);
-//help:Lightarrowdata(options=[size(1),angle(18),pos(1),cut(0),"Cutend=0,0","Line=y(n)"]);
+//help:Arrowdata("1",[pt1,pt2]);
+//help:Arrowdata(options=[size(1),angle(18),pos(1),cut(0),"Cutend=0,0","Line=y(n)"]);
   regional(options,Ltype,Noflg,opstr,opcindy,eqL,reL,strL,color,size,coord,lineflg,
       flg,lineflg,cutend,tmp,tmp1,tmp2,pA,pB,angle,segpos,cut,scaley,Ev,Nv,pP);
   pA=Pcrd(ptlist_1); pB=Pcrd(ptlist_2);
@@ -510,7 +535,7 @@
     tmp="ar"+nm+"="+Textformat([pA,pB],5)+";";
     parse(tmp);
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if(lineflg==1, //190504from
         Listplot("-ar"+nm,[LLcrd(pA),LLcrd(pB)],append(options,"Msg=n"));
@@ -532,10 +557,16 @@
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
       ); //no ketjs off
       Setscaling(scaley);
-      tmp1=Textformat(LLcrd(pP),5);
+      tmp1=Textformat(LLcrd(pP),5); //no ketjs on
       tmp2=Textformat(LLcrd(pB-pA),5);
+      if(cut>0, //190727from //no ketjs on
+        tmp=Indexall(opstr,",");
+        tmp=tmp_(length(tmp));
+        opstr=substring(opstr,0,tmp-1);
+        opstr=opstr+","+Dqq("Cut="+text(cut));
+      );  //190727to
       Com2nd("Arrowhead("+tmp1+","+tmp2+opstr+")");
-      if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
+      if((Noflg==0)&(color!=KCOLOR), //180904 
         Texcom("}");//180722
       ); //no ketjs off
     ,
@@ -665,7 +696,7 @@
       tmp=name+"=Anglemark("+tmp1+opstr+")";
       GLIST=append(GLIST,tmp); //no ketjs off
     );
-    if(Noflg<2,
+  if(Noflg<3, //190818
       if(isstring(Ltype),
         if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
           Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -780,7 +811,7 @@
     tmp=name+"=Paramark("+tmp1+opstr+")";
     GLIST=append(GLIST,tmp); //no ketjs off
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -959,7 +990,7 @@
   );
   if(Noflg<3,
     if(Msg=="Y", //190206
-      println("generate bowdata "+name+" and "+Bpos);//16.10.31
+      println("generate bowdata "+name+" and BOWMIDDLE="+Bpos);//16.10.31,190704
     );
     if(Measuredepth(Out)==1,Out=[Out]);
     tmp1=[];
@@ -973,7 +1004,7 @@
     tmp=name+"=Bowdata("+tmp1+opstr+")";
     GLIST=append(GLIST,tmp); //no ketjs off
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -1208,7 +1239,7 @@
     tmp=RSform(tmp);
     GLIST=append(GLIST,tmp);
   ); //no ketjs off
-  if((nn>0)&(Noflg<2), //190211
+  if((nn>0)&(Noflg<3), //190211
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -1225,170 +1256,6 @@
 );
 ////%Deqplot end////
 
-////////// old enclosing ///////////////
-
-Enclosing(nm,plist):=EnclosingS(nm,plist);
-Enclosing(nm,plist,options):=EnclosingS(nm,plist,options);
-EnclosingS(nm,plist):=EnclosingS(nm,plist,[]);
-EnclosingS(nm,plist,options):=(
-// help:Enclosing("1",["sc2","crAB","sc2","Invert(sc1)"],[pt,"dr"]);
-  regional(name,AnsL,Start,Eps,EEps,S,Flg,Fdata,Gdata,KL,pt,qt,color
-      t1,t2,t3,ii,nn,tmp,tmp1,tmp2,Ltype,Noflg,realL,eqL,opstr,opcindy);
-  name="en"+nm;
-  tmp=Divoptions(options);
-  Ltype=tmp_1;
-  Noflg=tmp_2;
-  eqL=tmp_5;
-  realL=tmp_6;
-  color=tmp_(length(tmp)-2);
-  opstr=tmp_(length(tmp)-1);
-  opcindy=tmp_(length(tmp));
-  Eps=10^(-5); // 16.12.05
-  EEps=0.05;
-  Start=[];
-  Flg=0;
-  forall(realL,
-    if(islist(#) % ispoint(#),
-      Start=Lcrd(#); // 15.09.12
-    ,
-      Flg=Flg+1;
-      if(Flg==1,Eps=#);
-      if(Flg==2,EEps=#);
-    );
-  );
-//  tmp1=concat([Eps,EEps],eqL); // 15.04.06
-  Fdata=plist_1;
-  Gdata=plist_(length(plist));
-  KL=Intersectcrvspp(Fdata,Gdata);
-  if(length(KL)==1,
-    pt=KL_1_1;
-    t1=KL_1_2;
-  );
-  if(length(KL)==0,
-    if(Numptcrv(Fdata)>Numptcrv(Gdata),
-      tmp=Nearestpt(Fdata,Gdata);
-      pt=tmp_1;
-      t1=tmp_2;
-    ,
-      tmp=Nearestpt(Gdata,Fdata);
-      pt=tmp_3;
-      t1=tmp_4;
-    );
-  );
-  if(length(KL)>1,
-    if(Start==[],
-      err("No Start Point");
-    ,
-      pt=KL_1_1;
-      t1=KL_1_2;
-      tmp=Norm(pt-Start);
-      forall(2..(length(KL)),ii, // 15.04.20
-        tmp1=KL_ii_1;
-        tmp2=Norm(tmp1-Start); // 15.04.20
-        if(tmp2<tmp,
-          pt=tmp1;
-          t1=KL_ii_2;
-          tmp=tmp2;
-        );
-      );
-    );
-  );
-//  pt=Pcrd(pt);  // 15.09.12
-  Start=pt;
-  AnsL=[];
-  forall(1..(length(plist)),nn,
-    Fdata=plist_nn;
-    if(nn>1, pt=qt); 
-    if(nn==length(plist),
-      qt=Start;
-    ,
-      Flg=0;
-      Gdata=plist_(nn+1);
-//      tmp1=concat([Eps,EEps],eqL); // 15.04.06
-      KL=Intersectcrvspp(Gdata,Fdata);
-      if(length(KL)==1,
-        tmp=KL_1;
-        qt=KL_1_1;
-        t3=KL_1_2;
-        Flg=10;
-      );
-      if(length(KL)==0,Flg=1);
-      if(length(KL)>1, 
-        tmp1=KL_1_1;
-        tmp2=KL_2_1;
-        tmp=|tmp1-tmp2|;
-        if(tmp<Eps*10, Flg=1); 
-      );
-      if(Flg==1,
-        if(Numptcrv(Fdata)>Numptcrv(Gdata),
-          tmp=Nearestpt(Fdata,Gdata);
-          qt=tmp_1;
-          t3=tmp_4;
-          Flg=10;
-        ,
-          tmp=Nearestpt(Gdata,Fdata);
-          qt=tmp_3;
-          t3=tmp_2;
-          Flg=10;
-        );
-      );
-      if(Flg<10,
-        t2=10^6; //%inf;
-        forall(1..(length(KL)),ii,
-          tmp1=KL_ii_1;
-          tmp=KL_ii_3;
-          tmp2=Paramoncurve(tmp1,tmp,Fdata);
-          tmp3=KL_ii_2;
-          if(tmp2>t1+Eps & tmp2<t2+Eps,
-            qt=tmp1;
-            t2=tmp2;
-            t3=tmp3;
-          );
-        );
-      );
-    );
-    tmp=Partcrv("",pt,qt,Fdata,["nodata"]);
-    t1=t3;
-    if(nn==1,
-      AnsL=tmp;
-    ,
-      AnsL=concat(AnsL,tmp_(2..(length(tmp))));
-    );
-  );
-  AnsL=apply(AnsL,Pcrd(#));  // 15.09.12
-  AnsL_(length(AnsL))=AnsL_1;//16.10.20
-  if(Noflg<3,
-    println("generate Enclosing "+name);
-    tmp=name+"="+Textformat(AnsL,5)+";";
-    parse(tmp);
-    tmp=name+"=Enclosing(";//16.11.07from //no ketjs on
-    tmp1="list"+PaO();
-    forall(plist,
-      tmp1=tmp1+#+",";
-    );
-    tmp=tmp+substring(tmp1,0,length(tmp1)-1)+")"+opstr+")";
-    GLIST=append(GLIST,tmp);//16.11.07to //no ketjs off
-  );
-  if(Noflg<2,
-    if(isstring(Ltype),
-      if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
-        Texcom("{");Com2nd("Setcolor("+color+")");//180722
-      ); //no ketjs off
-      Ltype=Getlinestyle(text(Noflg)+Ltype,name);
-      if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
-        Texcom("}");//180722
-      ); //no ketjs off
-    ,
-      if(Noflg==1,Ltype=0);
-    );
-    GCLIST=append(GCLIST,[name,Ltype,opcindy]);
-  );
-  tmp=apply(AnsL,LLcrd(#));//16.10.20
-  tmp;
-);
-
-/////////// new enclosing ///////////
-
 ////%Enclosing start////
 Enclosing(nm,plist):=Enclosing2(nm,plist,[]);//180706[2lines]
 Enclosing(nm,plistorg,options):=Enclosing2(nm,plistorg,options);
@@ -1398,7 +1265,7 @@
 //help:Enclosing(options=[startpoint,epspara(1)]);
   regional(name,plist,AnsL,Start,Eps,Eps1,Eps2,flg,Fdata,Gdata,KL,
       t1,t2,tst,ss,ii,nn,nxtno,Ltype,Noflg,realL,eqL,opstr,opcindy,
-      tmp,tmp1,tmp2,color,epspara,p1,p2);
+      tmp,tmp1,tmp2,color,p1,p2);
   name="en"+nm;
   plist=plistorg;
   tmp=Divoptions(options);
@@ -1410,7 +1277,6 @@
   opstr=tmp_(length(tmp)-1);
   opcindy=tmp_(length(tmp));
   Eps=10^(-5); // 16.12.05
-  epspara=1; //180707
   Eps1=0.01;
   Eps2=0.1;
   Start=[];
@@ -1419,7 +1285,6 @@
     if(isList(#) % ispoint(#),
       Start=Lcrd(#); // 18.02.02
     ,
-      if(flg==0,epspara=#);//180707
       if(flg==1,Eps1=#);
       if(flg==2,Eps2=#);
       flg=flg+1;
@@ -1496,8 +1361,7 @@
       ,
         KL=sort(KL,[#_2]);//180706
         tmp=parse(Fdata);
-        tmp1=t1+epspara/50*length(tmp);
-//        KL=select(KL,#_2>t1+epspara/50*length(tmp)); //180707
+        tmp1=t1+Eps;
         KL=select(KL,(#_2>tmp1)%((#_2>t1)&(|#_1-p1|>Eps1))); //180713,16
         t2=KL_1_2;
         ss=KL_1_3;
@@ -1537,10 +1401,10 @@
     );
     tmp=tmp+substring(tmp1,0,length(tmp1)-1)+")";//18.0706from //no ketjs on
     if(length(Start)>0,tmp=tmp+","+Textformat(Start,6));
-    tmp=tmp+","+text(epspara)+")";//18.0706to,180707
+    tmp=tmp+","+text(Eps1)+")";//18.0706to,180707
     GLIST=append(GLIST,tmp);//16.11.07to //no ketjs off
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -1559,8 +1423,6 @@
 );
 ////%Enclosing end////
 
-/////////// end of new enclosing ///////////
-
 /////////// new Hatchdata(cindy) ///////////
 
 ////%Makehatch start////
@@ -1947,7 +1809,7 @@
       GLIST=append(GLIST,"ReadOutData("+Dq+fname+Dq+")");//181102 //no ketjs
     );
   );
-  if((Noflg<2)&(mkflg>-1),
+  if((Noflg<3)&(mkflg>-1), //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -2349,7 +2211,7 @@
     +Textformat(angle,5)+","+RSform(Textformat(Pt,5))+")"; //17.12.23
     GLIST=append(GLIST,tmp); //no ketjs off
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -2431,7 +2293,7 @@
     tmp=name+"=Translatedata("+tmp1+","+RSform(Textformat(mov,5))+")";
     GLIST=append(GLIST,tmp); //no ketjs off
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -2537,7 +2399,7 @@
       +Textformat(rx,5)+","+Textformat(ry,5)+","+RSform(Textformat(Pt,5))+")";
     GLIST=append(GLIST,tmp); //no ketjs off
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -2635,7 +2497,7 @@
     tmp=name+"=Reflectdata("+tmp1+","+RSform(Textformat(symL,5))+")";//17.12.23
     GLIST=append(GLIST,tmp); //no ketjs off
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -2798,12 +2660,18 @@
 ////%Htick end////
 
 ////%Setax start////
-Setax(arglist):=(
-//help:Setax(["l","x","e","y","n","O","sw"]);
+Setax(arglistorg):=(
+//help:Setax(["l","x","e","y","n","O","sw","Size=1.5"]);
 //help:Setax([7,"nw"]);
 //help:Setax([8,linestyle,colorax,colorlabel]);
-  regional(st,nn,tmp); //181215from
-  st=1; nn=1;
+  regional(arglist,st,nn,tmp,eqL); 
+  tmp=Divoptions(arglistorg); //190901from
+  eqL=tmp_5;
+  arglist=remove(arglistorg,eqL);
+  if(length(arglist)==0,
+    arglist=["l","x","e","y","n","O","sw"];
+  ); //190901to
+  st=1; nn=1; 
   if(isreal(arglist_1),
     st=2;
     nn=arglist_1;
@@ -2810,9 +2678,10 @@
   );
   forall(st..(length(arglist)),
     tmp=arglist_#;
-    if(length(tmp)>0,AXSTYLE_nn=tmp);
+    if(length(tmp)>0,AXSTYLE_1_nn=tmp);
     nn=nn+1;
-  ); //181215from
+  ); 
+  AXSTYLE=[AXSTYLE_1,eqL]; //190901,02
 //  tmp=MakeRarg(arglist);
 //  Com1st("Setax("+tmp+")");
 );
@@ -2819,17 +2688,20 @@
 ////%Setax end////
 
 ////%Drwxy start////
-Drwxy():=Drwxy(0,[]); //190103from
-Drwxy(Arg):=(
-  if(islist(Arg),Drwxy(0,Arg); Drwxy(Arg,[]));
+Drwxy():=Drwxy(0,[]);
+Drwxy(Arg):=( //190901from
+  if(islist(Arg),
+    Drwxy(0,Arg);
+  ,
+    Drwxy(Arg,[]);
+  ); //190901to
 );
-Drwxy(add):=Drwxy(add,[]);
-Drwxy(add,optionsorg):=( //190103to
+Drwxy(add,optionsorg):=(
 //help:Drwxy();
 //help:Drwxy(1[the last axis will be drawn],oprions);
 //help:Drwxy(options);
-//help:Drwxy(options=["Xrng=","Yrng=","Ax=l,x,e,..."]);
-  regional(options,color,eqL,strL,org,xrng,yrng,ax,st,nn,size,
+//help:Drwxy(options=["Xrng=","Yrng=","Ax=l,x,e,...","Size="]);
+  regional(options,color,eqL,strL,org,xrng,yrng,ax,st,nn,size,labelsize,
   linesty,colorax,colorla,tmp,tmp1,tmp2);
   options=optionsorg;
   tmp=Divoptions(options);
@@ -2842,7 +2714,16 @@
   //tmp1=max([org_2+YMIN,YMIN]);
   //tmp2=min([org_2+YMAX,YMAX]);
   yrng=[YMIN,YMAX];  //190103
-  ax=AXSTYLE;
+  ax=AXSTYLE_1; //190901from
+  labelsize="Size=1";
+  forall(AXSTYLE_2,
+    tmp=Strsplit(#,"=");
+    tmp1=Toupper(substring(tmp_1,0,1));
+    if(contains(["S","L"],tmp1), 
+      labelsize="Size="+tmp_2;
+      options=remove(options,[#]);
+    );
+  );  //190901to
   linesty=ax_8;
   if(length(ax_9)>0, //190427
     if(isstring(ax_9),colorax=ax_9,colorax=text(ax_9));
@@ -2859,8 +2740,6 @@
     );
   ); //181217to
   forall(eqL,
-    tmp=Strsplit(#,"=");
-    tmp1=Toupper(substring(tmp_1,0,1));
     if(tmp1=="O", //190103from
       org=parse(tmp_2);
       options=remove(options,[#]);
@@ -2908,9 +2787,10 @@
     Listplot("-axy"+text(AXCOUNT),tmp,tmp1); 
   );
   AXCOUNT=AXCOUNT+1;
-  Expr([[xrng_2,org_2],ax_3,ax_2],[colorla]);//181216[3lines]
-  Expr([[org_1,yrng_2],ax_5,ax_4],[colorla]);
-  Letter([org,ax_7,ax_6],[colorla]);
+  tmp=[colorla,labelsize]; //190901from
+  Expr([[xrng_2,org_2],ax_3,ax_2],tmp);
+  Expr([[org_1,yrng_2],ax_5,ax_4],tmp);
+  Letter([org,ax_7,ax_6],tmp); //190901to
   if(add==0, //190103
     Addax(0);
   );
@@ -3025,6 +2905,7 @@
   Off=-4;
   Dmv=8;
   Nj=1;
+//  if(Ketcindyjsfigure>0,sz=round(sz*Ketcindyjsscale) ); // only ketjs
   while(Nj+2<=length(list),
     Pos=list_Nj;
     Dir=list_(Nj+1);
@@ -3077,6 +2958,11 @@
         if(Ymv==0,Ymv=-4);//16.10.08
         aln="mid"; // 16.09.30until
       );
+//      if(Ketcindyjsfigure>0, // only ketjs on
+//        Off=round(Off*Ketcindyjsscale);
+//        Xmv=round(Xmv*Ketcindyjsscale);
+//        Ymv=round(Ymv*Ketcindyjsscale);
+//      ); // only ketjs off
       Str=list_(Nj+2);  //17.10.17
       drawtext(Pcrd(Pos),Str,offset->[Off+Xmv,Off+Ymv],
          size->sz,color->color,align->aln,bold->bld,italics->ita);//16.10.09
@@ -3179,54 +3065,102 @@
 );
 ////%Exprrot end////
 
+////%Ptpos start//// 190906
+Ptpos(pt):=Ptpos(pt,[]);
+Ptpos(ptorg,pos):=(
+//help:Ptpos(A);
+//help:Ptpos(A, [3,2]);
+  regional(pt,out,tmp);
+  if(ispoint(ptorg),pt=ptorg,pt=parse(ptorg));
+  if(length(pos)==0,
+    tmp=pt.name+"position";
+    out=parse(tmp);
+    if(!islist(out),
+      tmp=tmp+"="+Textformat(pt.xy,6)+";";
+      parse(tmp);
+    );
+  ,
+    pt.xy=pos;
+    tmp=pt.name+"position="+Textformat(pt.xy,6)+";";
+    parse(tmp);
+    out=pt.xy;
+  );
+  out;
+);
+////%Ptpos end////
+
+////%Strictmove start////
+Strictmove(pC):=Strictmove(pC,StrictSep); //190831
+Strictmove(pCorg,sep):=(
+  regional(pC,tmp,tmp1,tmp2);
+  pC=pCorg;
+  if(ispoint(pC),pC=pC.name);
+  tmp1=pC+"position";
+  if(!islist(parse(tmp1)),
+    tmp=tmp1+"="+textformat(parse(pC).xy,6)+";";
+    parse(tmp);
+  ,
+    tmp=parse(pC).xy;
+    tmp2=mouse().xy;
+    if(|tmp-tmp2|>sep,
+      tmp=pC+".xy="+pC+"position";
+      parse(pC).xy=parse(pC+"position");
+    ,
+      tmp=tmp1+"="+Textformat(parse(pC).xy,6)+";";
+      parse(tmp);
+    );
+  );
+);
+////%Strictmove end////
+
 ////%Slider start////
 Slider(ptstr,p1,p2):=Slider(ptstr,p1,p2,[]);
 Slider(ptstr,p1,p2,options):=(//190120
 //help:Slider("A-C-B",[-3,0],[3,0]);
 //help:Slider("C",[-3,0],[3,0]);
-//help:Slider(options=["Color=0.6*[0,0,1]","Size=2"]);
-  regional(pA,pB,pC,seg,sname,Alpha,color,size,tmp,tmp1);
+//help:Slider(options=["Color=[0,0,0.6]","Thick=2"]);
+//help:Slider(options2=["Sep=0.3"]); //190824
+  regional(pA,pB,pC,color,thick,sep,tmp,tmp1,tmp2);
   color="Color=0.6*[0,0,1]"; //190120from
-  size="size->2";
+  thick="size->2";
+  sep=0.3; //190824
   forall(options,
     tmp=Toupper(substring(#,0,1));
     if(tmp=="C",
       color=#;
     );
-    if(tmp=="S",
+    if(tmp=="T",
       tmp=Strsplit(#,"=");
-      size="size->"+tmp_2;
+      thick="size->"+tmp_2;
     );
-  ); //190120to
+    if(tmp=="S",//190824from
+      tmp=Strsplit(#,"=");
+      sep=parse(tmp_2);
+    ); //190824to
+  );
   tmp=Indexall(ptstr,"-");
-  if(length(tmp)>0, //190209from
-    pA=substring(ptstr,0,tmp_1-1);
+  if(length(tmp)>0,
+    pA=substring(ptstr,0,tmp_1-1); //190824from
     pC=substring(ptstr,tmp_1,tmp_2-1);
     pB=substring(ptstr,tmp_2,length(ptstr));
-    seg=pA+pB;
-    Alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-    sname="";
-    forall(1..(length(seg)),
-      tmp=substring(seg,#-1,#);
-      tmp1=indexof(Alpha,tmp);
-      if(tmp1>0,
-        sname=sname+unicode(text(tmp1+96),base->10);
-      ,
-        sname=sname+tmp;
-      );
-    ); 
-    Putpoint(pA,p1);
-    Putpoint(pB,p2);
-    Listplot([parse(pA),parse(pB)],["Msg=n","notex",color,size]);
-    Putonseg(pC,parse("sg"+pA+pB));
+    parse(pA).xy=p1;
+    parse(pB).xy=p2; //190824to
+    tmp1=pC+"position"; //190827from
+    if(!islist(parse(tmp1)),
+      tmp2=parse(pC).xy;
+      if(|tmp2-p1|<0.1,tmp2=p1+0.1*(p2-p1)/|p2-p1|);
+      if(|tmp2-p2|<0.1,tmp2=p2+0.1*(p1-p2)/|p1-p2|);
+      tmp=tmp1+"="+textformat(tmp2,6)+";";
+      parse(tmp);
+      parse(pC).xy=tmp2;
+    ); //190827to
     PTEXCEPTION=concat(TEXCEPTION,[pA,pC,pB]);
   ,
-    pA=""; pB=""; pC=ptstr;
-    tmp=pC+"l"+pC+pC+"r";
-    Listplot(tmp,[p1,p2],["Msg=n","notex",color,size]);
-    Putonseg(pC,parse("sg"+tmp));
-    PTEXCEPTION=concat(PTEXCEPTION,[pC]); //190329
-  ); //190209to
+    pC=ptstr; pA=pC+"l"; pB=pC+"r"; 
+    PTEXCEPTION=concat(PTEXCEPTION,[pC]);
+  );
+  Listplot(pA+pB,[p1,p2],["Msg=n","notex",color,thick]);
+  Putonseg(pC,parse("sg"+pA+pB));
 );
 ////%Slider end////
 
@@ -3245,21 +3179,6 @@
 );
 ////%Putpoint end////
 
-////%Putpoint start////
-Putpoint(name,Pt):=Putpoint(name,Pt,Pt);
-Putpoint(name,Ptinit,Pt):=(
-//help:Putpoint("A",[1,2],[1,A.y]);
-  regional(ptstr);
-  ptstr=apply(allpoints(),#.name);//16.10.06
-  if(!contains(ptstr,name),
-    createpoint(name,Pcrd([Ptinit_1,Ptinit_2]));
-    ,
-    ptstr=name+".xy="+Textformat(Pcrd(Pt),5)+";";
-    parse(ptstr);
-  );
-);
-////%Putpoint end////
-
 ////%Bezierpt start////
 Bezierpt(t,ptlist,ctrlist):=(
   regional(flg3,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9);
@@ -3367,7 +3286,7 @@
     tmp2=RSform(tmp2,3); //17.12.23
     GLIST=append(GLIST,name+"=Bezier("+tmp1+","+tmp2+opstr+")"); //no ketjs off
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722
@@ -4150,17 +4069,14 @@
   cn=coeff_2;
   sn=coeff_3;
   fs=c0;
+  fn="(cn)*cos(n*2*pi/per*x)+(sn)*sin(n*2*pi/per*x)";
+  fn=Assign(fn,["cn",cn,"sn",sn,"per",per]);
   if(tbflg=="N", //190523
     forall(1..nterm,
-      tmp=parse(Assign(cn,["n",#]));
-      tmp1=Assign("("+format(tmp,5)+")*cos(n*2*pi/per*x)",
-                  ["n",#,"per",per]);
-      tmp=parse(Assign(sn,["n",#]));
-      tmp2=Assign("("+format(tmp,5)+")*sin(n*2*pi/per*x)",
-                 ["n",#,"per",per]);
-      fs=fs+"+"+tmp1+"+"+tmp2;
+        fs=fs+"+"+Assign(fn,["n",#]);
     );
-    Plotdata("-four"+nm,fs,range,append(options,"Num="+Num));
+    Deffun("four(x)",[fs]);
+    Plotdata("-four"+nm,"four(x)",range,append(options,"Num="+num));
   ,
     c0=parse(c0); //190523from
     cn=apply(1..nterm,parse(Assign(cn,["n",#])));
@@ -4814,6 +4730,7 @@
   if(length(gcL)>0,
     if(!islist(gcL_1),gcL=[gcL]);
   ); //190125to
+  gcL=select(gcL,#_2_1>=0); //190818
   gsave();
   layer(KETPIClayer);
   forall(gcL,Nj,
@@ -4856,7 +4773,7 @@
             );
           ,
             if(indexof(opcindy,"size")==0,  //190425from
-              opcindy=opciny+",size->"+text(TenSize/TenSizeInit);
+              opcindy=opcindy+",size->"+text(TenSize/TenSizeInit);
             ); //190425to
             tmp="draw("+text(Nk_1)+opcindy+");"; 
             parse(tmp);
@@ -4913,7 +4830,7 @@
     ];
     GLIST=concat(GLIST,tmp3); //no ketjs off
   );
-  if(Noflg<2,
+  if(Noflg<3, //190818
     if(isstring(Ltype),
       if((Noflg==0)&(color!=KCOLOR), //180904 //no ketjs on
         Texcom("{");Com2nd("Setcolor("+color+")");//180722

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3logr.txt
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3logr.txt	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3logr.txt	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,3 +1,49 @@
+// 201908918
+//    Defvar changed ( precision 5 -> 16)
+// 201908916
+//    Setketcindyjs changed ( JSBODY moved to Ketinit)
+// 201908915
+//    Tocindyform,Totexform debugged ( ^ )
+//    Totexform change ( "*" to "\cdot " or "" )
+// 201908914
+//    Fracform changed  ( numer, denom added to output)
+// 201908911
+//    Mketcindyjs debugged  (JSBODY, ` => ')
+// 201908910
+//    Ketcindyjsbody added  (JSBODY)
+//    Setketcindyjs,Mkketcindyjs changed  (JSBODY)
+// 201908905
+//    Mkketcindyjs debugged (multi-initialization)
+// 20190827
+//    Mkketcindyjs debugged (case of no "axes:"  )
+// 20190816
+//    Deffun debugged (return )
+// 20190814
+//    Deffun changed( for ketcindyjs )
+// 20190808
+//    Setplaybuttons changed  ( space option added )
+// 20190802
+//    Movetojs debugged  ( MOVETOJSLIST initialized )
+//    Ketcindyjsdata debugged  ( set() used to remove identical elements )
+// 20190801
+//    Ketcindyjsdata debugged  ( KetcindyjsDataList initialized )
+//    Mkketcindyjs debugged  ( position of KetcindyjsDataList)
+// 20190731
+//    Setplaybuttons added
+// 20190729
+//    Mkketcindyjs changed  (Axes option)
+//    Movetojs changed (number of text available)
+// 20190715
+//    Totexform debugged  ( for pi )
+// 20190712
+//    Totexformpart changed (double spaces replaced with \;)
+//    Tocindyformpart changed (single space replaced with *)
+// 20190704
+//    Parsejson,Resizetextsize,Movetojs,Movetojsexe added
+// 20190629
+//    Fracform changed
+// 20190627
+//    Mkketcindyjs ( Axes and Figure options added )
 // 20190623
 //    Fracform,Gcd added
 // 20190618

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3r.cs
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3r.cs	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindylibbasic3r.cs	2019-09-27 21:24:30 UTC (rev 52190)
@@ -14,7 +14,7 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>
 //
 
-println("ketcindylibbasic3[20190623] loaded");
+println("ketcindylibbasic3[20190918] loaded");
 
 //help:start();
 
@@ -356,7 +356,7 @@
       if(isstring(#), // 16.11.14
         tmp1=tmp1+Dq+#+Dq+","; // 16.11.14
       ,
-        tmp1=tmp1+format(#,5)+",";
+        tmp1=tmp1+format(#,16)+","; //190918
       );
     );
     tmp1=substring(tmp1,0,length(tmp1)-1)+"]";
@@ -452,11 +452,15 @@
   regional(funstr,str,Pos,nbody,bdy,ppL,bpL,excma,tmp,tmp1,tmp2);
   funstr=name+":=(";
   forall(bodylist,
-    funstr=funstr+#+";";
+    tmp1=Removespace(#); //190816from
+//    tmp=substring(tmp1,length(tmp1)-1,length(tmp1));
+//    if(tmp!=",", tmp1=tmp1+";");
+    tmp1=tmp1+";";
+    funstr=funstr+tmp1; //190816to
   );
   funstr=funstr+");";
   parse(funstr);
-  tmp=indexof(name,"("); 
+  tmp=indexof(name,"("); // no ketjs on //190814
   str=substring(name,0,tmp-1)+"<-function"+PaO();
   str=str+substring(name,tmp,length(name))+"{";
   forall(1..(length(bodylist)-1),nbody,
@@ -492,8 +496,10 @@
       str=str+bdy+";";
     );
   );
-  str=str+"return"+PaO()+bodylist_(length(bodylist))+")}";
-  FUNLIST=append(FUNLIST,str);
+  tmp1=bodylist_(length(bodylist)); //190816from
+  tmp1=RSform(tmp1,2);
+  str=str+"return"+PaO()+tmp1+")}"; //190816to
+  FUNLIST=append(FUNLIST,str); // no ketjs off
 );
 ////%Deffun end////
 
@@ -2963,12 +2969,14 @@
 );
 ////%Gcd end////
 
-////%Fracform start//// //190623
+////%Fracform start//// //190623,29
 Fracform(x):=Fracform(x,5);
-Fracform(x,denorg):=(
+Fracform(x,den):=Fracform(x,den,5);
+Fracform(x,denorg,deg):=(
 //help:Fracform(1.3);
-//help:Fracform(1.3,[denomlist]);
-  regional(den,fL,tmp,nn,mm,err);
+//help:Fracform(1.3,[denomlist],5);
+  regional(Eps,den,fL,flg,tmp,nn,mm,err);
+  Eps=10^(-deg);
   den=denorg;
   if(islist(den),
     if(!contains(den,1), den=prepend(1,den));
@@ -2976,12 +2984,22 @@
     den=1..den;
   );
   fL=[];
+  flg=0;
   forall(den,
-    tmp=round(x*#);
-    fL=append(fL,[tmp,#,abs(tmp/#-x)]);
+    if(flg==0,
+      tmp=round(x*#);
+      tmp=[tmp,#,abs(tmp/#-x)];
+      if(tmp_3<Eps,
+        flg=1;
+      ,
+        fL=append(fL,tmp);
+      );
+    );
   );
-  fL=sort(fL,#_3);
-  tmp=fL_1;
+  if(flg==0,
+    fL=sort(fL,#_3);
+    tmp=fL_1;
+  );
   mm=tmp_1; nn=tmp_2; err=tmp_3;
   if(nn>1,
     out="fr("+text(mm)+","+text(nn)+")";
@@ -2988,7 +3006,7 @@
   ,
     out=text(mm);
   );
-  [out,"err="+format(err,6)];
+  [out,"err="+format(err,6),mm,nn]; //190914
 );
 ////%Fracform end////
 
@@ -3067,9 +3085,21 @@
 ////%Totexform start////
 Totexform(str):=( //190514
 //help:Totexform("frac(2,3)");
-  regional(out,plv,flg,nn,tmp,tmp1);
-  out=replace(str," ","\ ");
-  out=replace(str,"*"," ");
+  regional(out,plv,flg,nn,tmp,tmp1,tmp2);
+  out=replace(str,"pi","\pi"); //190715
+  tmp1=apply(0..9,text(#));  //190915from
+  tmp2=Indexall(out,"*");
+  forall(tmp2,
+    tmp=substring(out,#,#+1);
+    if(contains(tmp1,tmp),
+      out=substring(out,0,#-1)+"$"+substring(out,#,length(out));
+    ,
+      out=substring(out,0,#-1)+"%"+substring(out,#,length(out));
+    );
+  );
+  out=replace(out,"$","\cdot ");
+  out=replace(out,"%",""); //190915to
+  out=replace(out,"  ","\;");
   plv=Bracket(out,"()"); //190515from
   flg=0; //190521from
   if(length(plv)==0,
@@ -3102,7 +3132,6 @@
     out=replace(out,"-+","\mp ");
     out=replace(out,"<=","\leq ");
     out=replace(out,">=","\geq ");
-    out=Assign(out,["pi","\pi"]); //190521
     tmp1=Indexall(out,"^");
     forall(tmp1,nn,
       if(substring(out,nn,nn+1)=="(",
@@ -3110,8 +3139,9 @@
         tmp2=select(tmp2,#_2==-1);
         tmp2=tmp2_1_1+nn;
         tmp=substring(out,nn+1,tmp2-1);
+        tmp2=substring(out,tmp2,length(out));//190915
         out=substring(out,0,nn)+"{"+tmp+"}";
-        out=out+substring(out,tmp2,length(out));
+        out=out+tmp2;
       );
     );
   );
@@ -3196,6 +3226,10 @@
 //help:Tocindyform("frac(2,3)");
   regional(out,plv,flg,nn,tmp,tmp1);
   out=str;
+  out=replace(out,"\",""); //190712[4lines]
+  out=replace(out,"   "," ");
+  out=replace(out,"  "," "); 
+  out=replace(out," ","*"); 
   plv=Bracket(out,"()");
   flg=0;
   if(length(plv)==0,
@@ -3223,19 +3257,6 @@
       );
     );
   );
-  if(flg<=1,
-    tmp1=Indexall(out,"^");
-    forall(tmp1,nn,
-      if(substring(out,nn,nn+1)=="(",
-        tmp2=Bracket(substring(out,nn,length(out)),"()");
-        tmp2=select(tmp2,#_2==-1);
-        tmp2=tmp2_1_1+nn;
-        tmp=substring(out,nn+1,tmp2-1);
-        out=substring(out,0,nn)+"{"+tmp+"}";
-        out=out+substring(out,tmp2,length(out));
-      );
-    );
-  );
   out=replace(out,"{","(");
   out=replace(out,"}",")");
   out;
@@ -3352,10 +3373,19 @@
 );
 ////%Setketcindyjs end////
 
+////%Ketcindyjsbody start//// 190909
+Ketcindyjsbody(list1,list2):=(
+//help:Ketcindyjsbody(listfront,listrear);
+  JSBODY=[list1,list2];
+  JSBODY;
+);
+////%Ketcindyjsbody end////
+
 ////%Ketcindyjsdata start////  //190421
 Ketcindyjsdata(datalistorg):=(
 //help:Ketcindyjsdata(["ans",ans,"pea[parse]",pea]);
   regional(nn,func,tmp,tmp1,tmp2);
+  if(!islist(KetcindyjsDataList),KetcindyjsDataList=[]); //190801
   datalist=datalistorg;
   forall(1..(length(datalist)/2), nn, //190423from
     tmp1=datalist_(2*nn-1);
@@ -3383,11 +3413,12 @@
       );
       tmp2=substring(tmp,0,length(tmp)-1)+"]";
     ,
-      tmp2=Dqq(tmp2);
+      if(isstring(tmp2),tmp2=Dqq(tmp2));
     );
     tmp=tmp1+"="+tmp2;
     KetcindyjsDataList=append(KetcindyjsDataList,tmp);
-  ); //190423to
+    KetcindyjsDataList=set(KetcindyjsDataList); //190802
+  );
 );
 Ketcindyjsdata(name,vaL):=(
   Ketcindyjsdata([name,vaL]);
@@ -3595,15 +3626,163 @@
 );
 ////%Textedit2value end////
 
+////%Parsejson start////
+Parsejson(json):=(
+//help:Parsejson("{a:[1,2,[3,4],5],b:{1,2,3}}");
+  regional(outL,symbolleftL,symbolrightL,symbolstack,stacksize,leftpos,rightpos,breakflg,strflg,flg);
+  outL=[];
+  symbolleftL =["[","{"];
+  symbolrightL=["]","}"];
+  leftpos=1;
+  while(leftpos<=length(json),
+    while( ( json_leftpos==" " % json_leftpos=="{" ) & leftpos<=length(json), leftpos=leftpos+1);
+    rightpos=leftpos;
+    symbolstack=" ";
+    stacksize=0;
+    breakflg=0;
+    strflg=0;
+    while(breakflg==0 & rightpos<=length(json),
+      flg=0;
+      if(strflg==0 & json_rightpos==unicode("0022"), // unicode("0022")='"'
+         strflg=1;
+         flg=1;
+      );
+      if(flg==0 & strflg==1 & json_rightpos==unicode("0022"),
+         strflg=0;
+         flg=1;
+      );
+      if(strflg==0,
+        repeat(length(symbolleftL),
+          if(flg==0 & stacksize>0,
+            if(symbolstack_stacksize==symbolleftL_# & json_rightpos==symbolrightL_#,
+              stacksize=stacksize-1;
+              flg=1;
+            );
+          );
+          if(flg==0 & json_rightpos==symbolleftL_#,
+            stacksize=stacksize+1;
+            symbolstack_stacksize=symbolleftL_#+" ";
+            flg=1;
+          );
+        );
+        if(flg==0 & json_rightpos==",",
+          if(stacksize==0, breakflg=1);
+          flg=1;
+        );
+        if(flg==0 & json_rightpos=="}",
+          if(stacksize==0, breakflg=1);
+          flg=1;
+        );
+      );
+      if(breakflg==0,rightpos=rightpos+1);
+    );
+    if(leftpos<rightpos,outL=append(outL,substring(json,leftpos-1,rightpos-1)));
+    leftpos=rightpos+1;
+  );
+  outL;
+);
+////%Parsejson end////
+
+////%Resizetextsize start////
+Resizetextsize(json,defaultsize,scale):=(
+//help:Resizetextsize("{textsize: 10}",12,4);
+//help:Resizetextsize("{aaa: bbb}",12,4);
+  regional(out,propertiesL,textsize,existflg,breakflg);
+  out=json;
+  propertiesL=Parsejson(out);
+  existflg=indexof(out,"textsize");
+  if(existflg==0,
+    if(length(propertiesL)>0,
+      textsize="textsize: "+round(scale*defaultsize);
+      out=replace(out,propertiesL_length(propertiesL),propertiesL_length(propertiesL)+", "+textsize);
+    );
+  );
+  if(existflg>0,
+    breakflg=0;
+    forall(propertiesL,
+      if(breakflg==0 & indexof(#,"textsize")>0,
+        textsize="textsize: "+round(scale*parse(substring(#,indexof(#,":"),length(#))));
+        out=replace(out,#,textsize);
+        breakflg=1;
+      );
+    );
+  );
+  out;
+);
+////%Resizetextsize end////
+
+////%Movetojs start////
+Movetojs(geoorg,pos,textsize):=(
+//help:Movetojs(Text51,[1,2],12);
+  regional(geo); //190729from
+  geo=geoorg;
+  if(isreal(geo),geo=parse("Text"+text(geo))); //190729to
+  inspect(geo,"textsize",textsize);
+  if(!islist(MOVETOJSLIST), MOVETOJSLIST=[]); //190802
+  MOVETOJSLIST=append(MOVETOJSLIST,[geo.name,[pos_1,pos_2]]);
+);
+////%Movetojs end////
+
+////%Movetojsexe start////
+Movetojsexe(json):=(
+  regional(out,geo,propertiesL,breakflg);
+  out=json;
+  geo=select(MOVETOJSLIST,indexof(json,"name: "+Dqq(#_1))>0);
+  if(length(geo)>0,
+    geo=geo_1;
+    propertiesL=Parsejson(out);
+    forall(propertiesL,
+      breakflg=0;
+      if(breakflg==0 & ( indexof(#,"pos:")>0 % indexof(#,"dock:")>0 ),
+        out=replace(out,#,"pos: ["+geo_2_1+","+geo_2_2+",1]");
+        breakflg=1;
+      );
+    );
+  );
+  out;
+);
+////%Movetojsexe end////
+
+////%Setplaybuttons start////
+Setplaybuttons(pt,font):=Setplaybuttons(pt_1,pt_2,font,[]);
+Setplaybuttons(Arg1,Arg2,Arg3):=(
+  if(islist(Arg1),
+    Setplaybuttons(Arg1_1,Arg1_2,Arg2,Arg3);
+  ,
+    Setplaybuttons(Arg1,Arg2,Arg3,[]);
+  );
+);
+Setplaybuttons(x,y,font,sporg):=(
+//help:Setplaybuttons(-2,-6,14);
+//help:Setplaybuttons([-2,-6],14,[1,1,1]);
+  regional(x1,sp,tmp,tmp1);
+  sp=sporg;
+  tmp=length(sp);
+  if(tmp==0,tmp1=0,tmp1=sp_tmp);
+  tmp=apply(1..(3-tmp),tmp1);
+  sp=concat(sp,tmp);
+  x1=x;
+  Movetojs(71,[x1,y],font);
+  x1=x1+(0.84*font+sp_1)/10;
+  Movetojs(72,[x1,y],font);
+  x1=x1+(1.06*font+sp_2)/10;
+  Movetojs(73,[x1,y],font);
+  x1=x1+(0.76*font+sp_3)/10;
+  Movetojs(74,[x1,y],font);
+);
+////%Setplaybuttons end////
+
 ////%Mkketcindyjs start//// 190115
 Mkketcindyjs():=Mkketcindyjs(KETJSOP); //190129 
 Mkketcindyjs(options):=( //17.11.18
 //help:Mkketcindyjs();
 //help:Mkketcindyjs(options=["Local=(y)","Scale=(1)","Nolabel=[]","Color=","Grid="]);
-//help:Mkketcindyjs(optionsadd=["Web=(y)","Path=Dircdy","Ignore=","Equal="]);
+//help:Mkketcindyjs(optionsadd=["Web=(y)","Path=Dircdy","Ignore=","Remove=(list)"]);
+//help:Mkketcindyjs(optionsadd2=["Equal=","Axes=","Figure=(n)"]);
   regional(webflg,localflg,htm,htmorg,from,upto,flg,fL,fun,jj,tmp,tmp1,tmp2,tmp3,
       libnameL,libL,lib,jc,nn,name,partL,toppart,lastpart,path,ketflg,flg,cmdL,scale,
-      nolabel,color,grid,out,Out,igno,onlyflg,rmptL,colorrgb,ptname,eqflg,eqrep); 
+     nolabel,color,grid,axes,out,Out,igno,onlyflg,rmptL,colorrgb,ptname,eqflg,eqrep,
+     figure,dpi,margin,defaultbuttonsize,defaulteditsize);
   libnameL=["basic1","basic2","basic3","3d"]; //190416,190428
   webflg="Y";  //190128 texflg removed
   localflg="Y"; //190209,0215
@@ -3611,7 +3790,13 @@
   nolabel=["SW","NE"]; //190129
   color="lightgray"; //190503
   eqflg=0; //190603
+  figure=0;
+  dpi=86.4; // 12px/10pt = 12px/(10/72)in = 86.4dpi
+  margin=5; // mm
+  defaultbuttonsize=12; // px
+  defaulteditsize=12; // px
   grid="";
+  axes="";
   path=Dircdy;
   igno=[];
   rmptL=REMOVEPTJS;
@@ -3658,6 +3843,12 @@
         grid=tmp2;
       );
     );
+    if(tmp1=="A",
+      if(length(tmp2)>0,
+        tmp2=Toupper(substring(tmp2,0,1)); //190729[2lines]
+        if(contains(["N","F"],tmp2),axes="false");
+      );
+    );
     if(tmp1=="E", //190603from
       eqflg=1;
       if(length(tmp2)>0,
@@ -3684,6 +3875,11 @@
         rmptL=concat(rmptL,tmp2);
       );  //190503to
     );  //190503to
+    if(tmp1=="F",
+      if(length(tmp2)>0,
+        if(Toupper(substring(tmp2,0,1))=="Y",figure=1,figure=0);
+      );
+    );
   );
   if(substring(color,0,1)=="[",
     tmp=parse(color);
@@ -3911,12 +4107,25 @@
         );
       );
     );
+    Ketcindyjsdata(["Ketcindyjsfigure",figure,"Ketcindyjsscale",scale]);//190801from[moved]
+    forall(KetcindyjsDataList, 
+      println(SCEOUTPUT,#+";");
+    ); //190801to[moved]
     tmp=select(partL,#_1=="csinit");
     if(length(tmp)>0,
       tmp=tmp_1;
-      from=tmp_2+5; //190206
+      from=tmp_2; //190905from
+      flg=0;
+      forall(1..6,
+        if(flg==0,
+          if(indexof(htmorg_from,"ketcindy.ini")>0,
+            flg=1;
+          );
+          from=from+1;
+        );
+      );//190905to
       upto=tmp_3;
-      tmp1=htmorg_((from+1)..(upto-1)); //190119
+      tmp1=htmorg_((from)..(upto-1)); //190905
       ketflg="off"; //190206from
       onlyflg="off";  //190502
       forall(tmp1,
@@ -3945,9 +4154,6 @@
         );
       ); 
     );
-    forall(KetcindyjsDataList,  //190422from
-      println(SCEOUTPUT,#+";");
-    ); //190422to
     println(SCEOUTPUT,"</script>");
     tmp=select(partL,#_1=="csdraw");
     tmp=tmp_1;
@@ -4001,6 +4207,8 @@
         nn=Indexall(tmp,Dq);
         tmp=substring(tmp,nn_1,nn_2-1);
         if(!contains(tmp2,tmp),
+          tmp1_jj=Movetojsexe(tmp1_jj);
+          if(figure>0,tmp1_jj=Resizetextsize(tmp1_jj,defaultbuttonsize,scale));
           out=append(out,tmp1_jj); //190129
         );
         flg=1;
@@ -4009,6 +4217,8 @@
         if(indexof(tmp1_jj,"Evaluate")>0,
           tmp=replace(tmp1_jj,Dqq("Evaluate"),Dqq("EditableText"));
           if(eqflg==1,tmp=replace(tmp,"=",eqrep)); //190604
+          tmp=Movetojsexe(tmp);
+          if(figure>0,tmp=Resizetextsize(tmp,defaulteditsize,scale));
           out=append(out,tmp);
           flg=1;
         );
@@ -4016,8 +4226,10 @@
       if(flg==0,
         if(indexof(tmp1_jj,"Calculation")>0,
           tmp=replace(tmp1_jj,Dqq("Calculation"),Dqq("EditableText"));
+          tmp=Movetojsexe(tmp);
           if(eqflg==1,tmp=replace(tmp,"=",eqrep)); //190604
-         out=append(out,tmp);
+          if(figure>0,tmp=Resizetextsize(tmp,defaulteditsize,scale));
+          out=append(out,tmp);
           flg=1;
         );
       );
@@ -4100,6 +4312,7 @@
     if(substring(tmp1,length(tmp1)-1,length(tmp1))==",", //190201from
       out_(tmp-1)=substring(tmp1,0,length(tmp1)-1);
     ); //190201to
+    if(figure==0,
     tmp=select(1..(length(out)),indexof(out_#,"width:")>0);
     jj=tmp_1;
     tmp1=out_jj;
@@ -4110,7 +4323,7 @@
         if(tmp==":",
           tmp2=substring(tmp1,#+1,length(tmp1)-1);
           flg=1;
-        );
+        );d
       );
     );
     tmp=round(scale*parse(tmp2));
@@ -4130,6 +4343,21 @@
     );
     tmp=round(scale*parse(tmp2));
     out_jj="    height: "+text(tmp)+",";
+    );
+    if(figure>0,
+      tmp=select(1..(length(out)),indexof(out_#,"width:")>0);
+      jj=tmp_1;
+      tmp=round(dpi*scale*(XMAX-XMIN+margin/10*2)*10/25.4);
+      out_jj="    width: "+text(tmp)+",";
+      tmp=select(1..(length(out)),indexof(out_#,"height:")>0);
+      jj=tmp_1;
+      tmp=round(dpi*scale*(YMAX-YMIN+margin/10*2)*10/25.4);
+      out_jj="    height: "+text(tmp)+",";
+      tmp=select(1..(length(out)),indexof(out_#,"transform:")>0);
+      jj=tmp_1;
+      tmp="    transform: [{visibleRect: ["+text(XMIN-margin/10)+","+text(YMAX+margin/10);
+      out_jj=tmp+","+text(XMAX+margin/10)+","+text(YMIN-margin/10)+"]}],";
+    );
     if(length(color)>0,
       tmp=select(1..(length(out)),indexof(out_#,"background: ")>0);
       jj=tmp_1;
@@ -4146,9 +4374,71 @@
       );
       out_jj=tmp1;
     );
-    forall(out,
-      println(SCEOUTPUT,#);
-    ); //190129to
+    if(length(axes)>0,
+      tmp=select(1..(length(out)),indexof(out_#,"axes:")>0);
+      if(length(tmp)>0,
+        jj=tmp_1;
+        tmp1="    axes: "+axes;
+        if(indexof(out_jj,",")>0,
+          tmp1=tmp1+",";
+        );
+        out_jj=tmp1;
+      );
+    );
+    forall(out,tmp1, //190910from
+      if(indexof(tmp1,"</body>")==0,
+        println(SCEOUTPUT,tmp1);
+        if(indexof(tmp1,"<body>")>0,
+          forall(JSBODY_1,
+            tmp2=replace(#,"_;"," ");
+            tmp2=Removespace(tmp2);
+            tmp=indexof(tmp2,">");
+            tmp3=substring(tmp2,1,tmp-1);
+            if(indexof(tmp3,"p")>0,
+              tmp2=substring(tmp2,tmp,length(tmp2));
+            );
+            tmp3=Strsplit(tmp3,",");
+            forall(reverse(1..(length(tmp3))),nn,
+              tmp=tmp3_nn;
+              if(substring(tmp,0,1)=="f",
+                tmp="<font size="+Dqq(substring(tmp,1,length(tmp)))+">";
+                tmp2=tmp+tmp2+"</font>";
+              );
+              if(substring(tmp,0,1)=="p",
+                tmp2="<p>"+tmp2+"</p>";
+              );
+            );
+            tmp2=replace(tmp2,"''",Dq);
+            tmp2="    "+replace(tmp2,"`","'");
+            println(SCEOUTPUT,tmp2);
+          );
+        );
+      ,
+        forall(JSBODY_2,
+          tmp2=replace(#,"_;"," ");
+          tmp2=Removespace(tmp2);
+          tmp=indexof(tmp2,">");
+          tmp3=substring(tmp2,1,tmp-1);
+          if(indexof(tmp3,"p")>0,
+            tmp2=substring(tmp2,tmp,length(tmp2));
+          );
+          tmp3=Strsplit(tmp3,",");
+          forall(reverse(1..(length(tmp3))),nn,
+            tmp=tmp3_nn;
+            if(substring(tmp,0,1)=="f",
+              tmp="<font size="+Dqq(substring(tmp,1,length(tmp)))+">";
+              tmp2=tmp+tmp2+"</font>";
+            );
+            if(substring(tmp,0,1)=="p",
+              tmp2="<p>"+tmp2+"</p>";
+            );
+          );
+          tmp2=replace(tmp2,"''",Dq);
+          tmp2="    "+replace(tmp2,"`","'");
+          println(SCEOUTPUT,tmp2);
+        );
+      ); 
+    ); //190910to
     closefile(SCEOUTPUT);
     setdirectory(Dirwork);
     if(webflg=="Y",tmp="json",tmp="jsoff");

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutlogr.txt	2019-09-27 21:24:30 UTC (rev 52190)
@@ -1,3 +1,7 @@
+// 20190821
+//    CalcbyR changed ( pre->dig, 6->8)
+// 20190818
+//    Readcsv changed (Head=y as default, old def removed)
 // 20190424
 //    PlotdiscR changed  ( "-" added to Listplot )
 //    Mxfun debugged  (options)

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketcindyliboutr.cs	2019-09-27 21:24:30 UTC (rev 52190)
@@ -14,7 +14,7 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>
 //
 
-println("ketcindylibout[20190424] loaded");
+println("ketcindylibout[20190821] loaded");
 
 //help:start();
 
@@ -679,7 +679,7 @@
 MkprecommandR(Arg):=(
   regional(out,tmp1);
   if(isstring(Arg),
-    MkprecommandR(6,Arg);
+    MkprecommandR(8,Arg); //190921
   ,
     if(islist(Arg),
       out=[];
@@ -693,7 +693,7 @@
     );
   );
 );
-MkprecommandR(prec,chstr):=(
+MkprecommandR(dig,chstr):=( //190921 pre->dig
   regional(cmdL,Plist,tmp,tmp1,tmp2);
   cmdL=[];
   cmdL=concat(cmdL,["arccos=acos; arcsin=asin; arctan=atan",[]]); //181209
@@ -700,7 +700,7 @@
   if(indexof(chstr,"P")>0,
     Plist=[];
     forall(remove(allpoints(),[SW,NE]),
-      tmp=textformat(re(Lcrd(#)),prec);
+      tmp=textformat(re(Lcrd(#)),dig);
       tmp=RSform(tmp);
       tmp1=#.name;
       tmp1=tmp1+"="+tmp+";Assignadd('"+tmp1+"',"+tmp1+")";
@@ -726,11 +726,11 @@
         if(islist(tmp1),
           tmp2="[";
           forall(tmp1,
-            tmp2=tmp2+textformat(#,prec)+",";
+            tmp2=tmp2+textformat(#,dig)+",";
           );
           tmp1=substring(tmp2,0,length(tmp2)-1)+"]";
         ,
-          tmp1=format(tmp1,prec);
+          tmp1=format(tmp1,dig);
         );
       ); 
       tmp1=RSform(tmp1);
@@ -772,7 +772,7 @@
 );
 CalcbyR(name,path,cmd,optionorg):=(
 //help:CalcbyR(name,cmd);
-//help:CalcbyR(options=["m/r","Wait=2","Out=y/n","Pre=PVFG"]);
+//help:CalcbyR(options=["m/r","Wait=2","Out=y/n","Dig=8","Pre=PVFG"]);
 //help:CalcbyR(options2=["Pre=!G" ]);
   regional(options,tmp,tmp1,tmp2,tmp3,realL,strL,eqL,
        cat,dig,prestr,flg,wflg,file,nc,arg,cmdR,cmdlist,wfile,waiting);
@@ -781,7 +781,7 @@
   eqL=tmp_5;
   realL=tmp_6;
   strL=tmp_7;
-  dig=5;
+  dig=8; //190921
   tmp=cmd_(length(cmd)-1); //181130from
   if(!isstring(tmp),tmp=text(tmp)); //190109
   if(indexof(tmp,"=")+indexof(tmp,"::")>0,
@@ -866,7 +866,7 @@
     file=Cindyname();
   );//180412to
   cmdR=[];
-  cmdR=MkprecommandR(6,prestr);
+  cmdR=MkprecommandR(dig,prestr); //190921
   cmdR=concat(cmdR,cmd); //18.01.27to
   cmdlist=[];
   if(dig>5, //16.10.28from
@@ -1148,143 +1148,6 @@
 ////%Rfun end////
 
 ////%Readcsv start////
-Readcsv(file):=Readcsv(Dirwork,file,[]);
-Readcsv(Arg1,Arg2):=(
-  if(isstring(Arg2),
-    Readcsv(Arg1,Arg2,[]);
-  ,
-    Readcsv(Dirwork,Arg1,Arg2);
-  );
-);
-Readcsv(pathorg,file,optionorg):=(
-// help:Readcsv("ex.csv");
-// help:Readcsv(directory,"ex.csv");
-// help:Readcsv(options=["Head=yes","Sep=-999","Flat=no","Use=R"]);
-  regional(path,fname,fout,options,eqL,header,cmdL,sep,
-        dt,nrow,tmp,tmp1,tmp2,csv,use,flat);
-  options=optionorg;
-  tmp=divoptions(options);
-  eqL=tmp_5;
-  header=1;
-  sep="-999";
-  csv="Y"; // 16.12.12
-  use="R";
-  flat="N";
-  forall(eqL,
-    tmp=indexof(#,"=");
-    tmp1=substring(#,0,tmp-1);
-    tmp2=substring(#,tmp,length(#));
-    tmp=Toupper(substring(tmp1,0,1)); //181111
-    if(tmp=="H",
-      tmp=Toupper(substring(tmp2,0,1));
-      if(tmp=="F" % tmp=="N",
-        header=0;
-        options=remove(options,[#]);
-      );
-    );
-    if(tmp=="S",
-      sep=tmp2;
-      options=remove(options,[#]);
-    );
-    if(tmp=="C",
-      csv=Toupper(substring(tmp2,0,1));
-      options=remove(options,[#]);
-    );
-    if(tmp=="U",
-      use=Toupper(substring(tmp2,0,1));
-      options=remove(options,[#]);
-    );
-    if(tmp=="F",
-      flat=Toupper(substring(tmp2,0,1));
-      options=remove(options,[#]);
-    );
-  );
-  if(flat=="Y",csv="N");
-  sep=","+sep;
-  tmp=indexof(file,".");
-  if(tmp==0, 
-    fname=file+".csv";
-    fout=file+"sep.csv";
-  ,
-    fname=file;
-    tmp1=substring(file,0,tmp-1);
-    tmp2=substring(file,tmp-1,length(file));
-    fout=tmp1+"sep"+tmp2;
-  );
-  path=pathorg;
-  if(!isexists(path,fname),
-    println(path+" "+fname+" not found");
-  ,
-    path=replace(path,"\","/");
-    if(use=="S",
-      cmdL=[  // 16.12.20from
-        "cd('"+path+"')",[],
-        "Dt=mgetl('"+fname+"');",[],
-        "cd('"+Dirwork+"')",[],
-        "Dt2=[]",[],
-        "for I=1:size(Dt,1),
-           Tmp=Dt(I,:)+'"+sep+"';
-           Dt2=[Dt2;Tmp];
-         end",[],
-        "mputl(Dt2,'"+fout+"')",[]
-      ];
-      CalcbyS("sep",cmdL,options);
-    ,
-      cmdL=[
-        "setwd",[Dq+path+Dq],
-        "tmp1=readLines",[Dq+fname+Dq,"warn=FALSE"],
-        "fun=function(s) paste(s,"+Dq+sep+Dq+",sep="+Dq+Dq+")",[], 
-        "tmp2=sapply(tmp1,fun)",[],
-        "writeLines",["tmp2",Dq+fout+Dq]
-      ];
-      CalcbyR("sep",cmdL,concat(options,["Cat=n"])); 
-    ); // 16.12.20until
-    if(ErrFlag==1,
-      println("Readcsv  not completed");
-    ,
-      dt=load(fout);
-      dt=tokenize(dt,sep);
-      dt=dt_(1..(length(dt)-1));//16.12.20
-      if(isstring(dt_1),// 17.02.10from
-        if(indexof(dt_1,",")==0,csv="N");
-      ,
-        csv="N";
-      );// 17.02.10until
-      if(csv=="Y",
-        dt=apply(dt,tokenize(#,","));
-      ,
-        dt=apply(dt,[#]);
-      );
-      forall(1..(length(dt)),nrow,
-        tmp1=dt_nrow;
-        tmp2=[];
-        forall(tmp1,
-          if(!isstring(#),
-            tmp=#;
-          ,
-            if(substring(#,0,1)==Dq,
-              tmp=parse(#);
-            ,
-              tmp=#;
-            );
-          );
-          tmp2=append(tmp2,tmp);
-        );
-        dt_nrow=tmp2;
-      );
-      if(header==0,dt=dt_(2..(length(dt))));
-      if(length(dt)==1,
-        dt=dt_1
-      ,
-        if(length(dt_1)==1,
-          dt=apply(dt,#_1);
-        );
-      );
-      dt;
-    );
-  );
-);
-// New readcsv [181125] 
 Readcsv(file):=Readcsv(Dirwork,file);
 Readcsv(Arg1,Arg2):=(  //190301from
   if(islist(Arg2),
@@ -1300,16 +1163,17 @@
   regional(dt,eqL,head,from,end,tmp);
   tmp=Divoptions(options);
   eqL=tmp_5;
-  head="n"; from=1; //190125from
+  head="Y"; from=1; //190125from,190818
+  from=2;
   forall(eqL,
     tmp=Strsplit(#,"=");
     if(Toupper(substring(tmp_1,0,1))=="H",
-      head=substring(tmp_2,0,1);
+      head=Toupper(substring(tmp_2,0,1));//190818
     );
   );
-  if(Toupper(head)=="Y",
-    from=2;
-  ); //190125to
+  if(head=="N",//190818from
+    from=1;
+  ); //190125,190818to
   tmp=file;
   if(indexof(tmp,".csv")==0,tmp=tmp+".csv"); //190301
   dt=readfile2str(path,tmp);
@@ -1968,7 +1832,7 @@
   ,
     tmp=file;
   );
-  parse("rc"+nm+"="+tmp+";"); //181013to //190415
+  parse("rc"+nm+"="+Textformat(tmp,5)+";"); //181013to //190415
   Pointdata(name,parse("rc"+nm),options);
   tmp=parse("rc"+nm);
   dtx=apply(tmp,#_1);

Modified: trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r
===================================================================
--- trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r	2019-09-27 00:31:10 UTC (rev 52189)
+++ trunk/Master/texmf-dist/scripts/ketcindy/ketlib/ketpiccurrent.r	2019-09-27 21:24:30 UTC (rev 52190)
@@ -16,10 +16,14 @@
 
 #########################################
 
-ThisVersion<- "KeTpic for R  v5_2_4(20190511)" 
+ThisVersion<- "KeTpic for R  v5_2_4(20190921)" 
 
 print(ThisVersion)
 
+# 20190921
+#   Enclosing2 debugged/changed  (epspara removed)
+# 20190627
+#   Plotdata, Paramplot debugged (Exc)
 # 20190511
 #   Implicitplot changed  (Eps=> 10^(-6))
 # 20190508
@@ -5411,10 +5415,14 @@
       }
     }
   }
+  Tmp<- Nrow(P) #190627from
+  Tmp1<- Op(1,P)
+  if(Tmp1[1]==Inf){
+    P<- P[2:Tmp,]
+  } #190627to
   Tmp<- Nrow(P)
   Tmp1<- Op(Tmp,P)
-  if(Tmp1[1]==Inf)
-  {
+  if(Tmp1[1]==Inf){
     P<- P[1:(Tmp-1),]
   }
   return(P)
@@ -5611,10 +5619,14 @@
       }
     }
   }
+  Tmp<- Nrow(P) #190627from
+  Tmp1<- P[1,]
+  if(Tmp1[1]==Inf){
+    P<- P[2:Tmp,]
+  } #190627to
   Tmp<- Nrow(P)
-  Tmp1<-P[Tmp,]
-  if(Tmp1[1]==Inf)
-  {
+  Tmp1<- P[Tmp,]
+  if(Tmp1[1]==Inf){
     P<- P[1:(Tmp-1),]
   }
   return(P)
@@ -13009,7 +13021,6 @@
   Nargs=length(varargin)
   plist=varargin[[1]]
   Eps0=10^(-5)
-  epspara=1; #180707
   Eps1=0.01
   Eps2=0.1
   Start=c()
@@ -13019,9 +13030,8 @@
     if(length(tmp)>1){
       Start=tmp
     }else{
-     if(flg==0){epspara=tmp}
-     if(flg==1){Eps1=tmp}
-     if(flg==2){Eps2=tmp}
+     if(flg==0){Eps1=tmp}
+     if(flg==1){Eps2=tmp}
      flg=flg+1
     }
   }
@@ -13105,19 +13115,8 @@
         t2=Length(Fdata)
         ss=1 #18.02.02to
       }else{
-#        KL=Quicksort(KL,2); #180706from
-#        for(j in Looprange(1,length(KL))){
-#          tmp1=t1+epspara/50*Length(Fdata)#180713(2lines)
-#          tmp2=Op(2,KL[[j]])
-#          if((tmp2>tmp1)||((tmp2>t1)&&(Norm(Op(3,KL[[j]])-p1)>Eps1))){
-#            break
-#          } #180711,16
-#        }
-#        t2=Op(2,KL[[j]])
-#        p2=Pointoncurve(t2,Fdata)#180713
-#        ss=Op(3,KL[[j]])# 180706to
-		tmp=c()  #180711from
-        for(j in Looprange(1,length(KL))){
+        tmp=c(Op(2,KL[[1]]))  #180711from #190921
+        for(j in Looprange(2,length(KL))){
           tmp=c(tmp,Op(2,KL[[j]]))
         }
         tmp1=order(tmp)
@@ -13125,7 +13124,7 @@
         KL=list()
         for(j in tmp1){
           tmp=tmp2[[j]]
-          tmp3=t1+epspara/50*Length(Fdata)
+          tmp3=t1+Eps0
           tmp4=Op(2,tmp)
           if((tmp4>tmp3)||((tmp4>t1)&&(Norm(Op(1,tmp)-p1)>Eps1))){
             KL=c(KL,list(tmp))

Modified: trunk/Master/texmf-dist/scripts/ketcindy/template4ketcindyjs.cdy
===================================================================
(Binary files differ)



More information about the tex-live-commits mailing list