summaryrefslogtreecommitdiff
path: root/texmf-dist/doc/support/ketcindy/source/ketmanual/referenceR4_2_2_ltd.tex
blob: f77574b88f44173e6032fdd86c2558999f111123 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
\documentclass[a4j]{jarticle}

\usepackage{ketpic,ketlayer}
\usepackage{amsmath,amssymb}
\usepackage{enumerate}
%\usepackage{emathE}

\newcommand{\tab}[2][12zw]{%
\noindent
\hspace*{2zw}\Ltab{#1 }{#2}%
}

\newcommand{\chuu}[1][15zw]{%
\Ltab{#1}{}※ %
}

\newcommand{\rei}[1][18zw]{%
\Rtab{#1}{例)\ }}%

\newcommand{\reicr}[1][18zw]{%
\Rtab{#1}{  }}%

\newcommand{\prompt}[1][+]{%
$>$ \verb#1}

\newcommand{\dq}[1]{
{\unitlength$<$- 0.0012in%
\begin{picture}%
(26.30,94.50)(2.40,0.00)%
\special{pn 8}%
\special{pa 3 -113}\special{pa 6 -78}\special{pa 12 -78}\special{pa 15 -113}\special{pa 3 -113}%
\special{sh 1}\special{ip}%
\special{pa 22 -113}\special{pa 25 -78}\special{pa 31 -78}\special{pa 34 -113}\special{pa 22 -113}%
\special{sh 1}\special{ip}%
\end{picture}}%
\,#1\,%
{\unitlength$<$- 0.0012in%
\begin{picture}%
(26.30,94.50)(2.40,0.00)%
\special{pn 8}%
\special{pa 3 -113}\special{pa 6 -78}\special{pa 12 -78}\special{pa 15 -113}\special{pa 3 -113}%
\special{sh 1}\special{ip}%
\special{pa 22 -113}\special{pa 25 -78}\special{pa 31 -78}\special{pa 34 -113}\special{pa 22 -113}%
\special{sh 1}\special{ip}%
\end{picture}}%
}

\newcommand{\bq}{
\hspace*{-2pt}%
{\unitlength=1pt%
\begin{picture}%
(1.80,7.00)(-0.90,0.00)%
\special{pn 8}%
%
\special{pn 12}%
\special{pa -11 -94}\special{pa 11 -72}%
\special{fp}%
\special{pn 8}%
\end{picture}}%
}

\newenvironment{mini}[1]%
{\begin{minipage}[t]{#1}}%
{\end{minipage}%
}


%\enumSep{\narrowenumsep}

\setmargin{15}{15}{15}{20}

\begin{document}

\begin{flushright}
2013年10月6日
\end{flushright}

\begin{center}
{\bf \huge \ketpic\ v4.2.2 ltd コマンド一覧}\vspace{3mm}\\
{\bf \huge for R}
\end{center}

\hfill
\begin{minipage}{4cm}
\Ltab{1.5cm}{PD}プロットデータ\\
\end{minipage}

%\vspace*{-2zw}

\section{R についての注意}

\begin{enumerate}[1.]

\item KETpicの読込みには次を実行する.\\
\hspace*{2zw}load("C:/work/ketpic.Rdata") (C:/work/は作業フォルダ名)\\\hspace*{-12zw}\chuu ディレクトリの変更は setwd("c:/work")

\item 文字列は  "(ダブル)で囲む\\
\chuu 文字列の中に文字列を入れるときは ' と " を入れ子に使う.

\item 関数などを引数とするときは,文字列とする.\\
\hspace*{2zw}例)G$<$- Plotdata( "x\verb|^|2", "x=c(0,1)")
%\hspace*{2zw}注)プログラミングでは文字列を実行するコマンド evstr, execstr が重要である.
%\item 
%数リスト,文字列,行列が混ざったデータ(基本データ)のリストはできない.
%Mixは混合リストを扱う.
%\hspace*{3zw}基本データ$\longrightarrow$混合列$\longrightarrow$混合リスト%
%$\longrightarrow$混合リスト$\longrightarrow\cdots$

\item \verb|\|(バックスラッシュ)を出力するには2つ並べてかく.


\item 注釈は \verb|#|

%\item 実行の中断は abort


%\item 数値微分は derivative, 数値積分は integrate(またはintg)

%\chuu Derivative, Integrate 参照

\item 数と文字列の変換\\
\hspace*{2zw}as.character(数)\\
\hspace*{2zw}as.numeric(文字列)\\
\hspace*{2zw}eval(parse(text=文字列)))\\
\hspace*{2zw}sprintf(書式,\ 数) 書式付き文字列

\item 異なる型のデータからリストを作るにはlistを用いる.\\
\hspace*{2zw}作成   L\verb|<-| list(... , ... );\\
\hspace*{2zw}取り出し A\verb|<-| L[[i]]\\
\hspace*{2zw}部分リスト L[V]\ (V はベクトル)\\
\hspace*{2zw}置き換え L[[i]]\verb|<-| ...\\
%\hspace*{2zw}消去   L[[i]]<- NULL\\
\hspace*{2zw}長さ   length(L)\\
\hspace*{2zw}追加   L\verb|<-|  c(L1, L2)\\
\hspace*{2zw}結合   c(L1,L2,...)\\
\hspace*{2zw}空リスト list()\\
\hspace*{2zw}タイプを見る is.list(L)(論理値)または mode(L)

\end{enumerate}

\section{Rのための追加コマンド}

\tab{Member(D, L)}DがLの要素であればtrue,そうでなければfalseを返す.\\
\chuu Lはベクトルまたは list

\tab{Flattenlist(L)}Lを平準化して単層のリストを作る

%\tab{Mix(D1, D2, $\cdots$)}FD列,MS,MLから(1段上の)MSまたはMLを作成

%\tab{Mixadd(L, D)}L(MSまたはML)にDを要素として加える

\tab{Mixdisp({\it list})}listの要素を画面に簡易表示

%\tab{Mixjoin(L1, L2, ...)}要素を合併したlistを作る\\
%\rei L1$<$- list(G1,G2,3); L2$<$- list(G3, "a")\\
%\reicr L$<$- Mixjoin(L1,L2, c(3,6))\\
%\reicr \hspace{2cm}LはG1, G2, 3, G3, "a", c(3, 6)のlist\\
%\chuu \verb|c() , list()| は無視される

%\tab{MixL(D1,D2, $\cdots$)}MS, MLから(1段上の)MLを作成

%\tab{Mixlength(L)}L(MSまたはML)の要素の個数

%\tab{Mixop(N, Data)}DataのN番目の要素(DataはMS, ML)

%\tab{MixS(D1,D2, $\cdots$)}基本データ列からMSを作成

%\tab{Mixsub(範囲,L)}Lの範囲(リスト)の要素からなる部分MSまたはML\\
%\rei S$<$- Mixsub( 2; 5, L);

%\tab{Mixtype(Data)}Dataが基本データなら1,MSなら2,MLなら3を返す

\tab{Op(N,\ Data)}DataのN番目の要素(Dataは文字列,ベクトル,list)

\tab{Assign(式, 変数名, 値, ・・・)}\\
\tab{}変数名(文字列)に値を割り当てた文字列を返す\\
\chuu 値は,数,文字列,数行列,Scilablist\\
\rei A$<$- 0.4; B$<$- c(2,1)\\
\reicr Fn$<$- Assign("A*x\^{}2+B(1)*y\^{}2","A", A, "B", B)

\tab{Assignset(変数名, 値, ・・・)}%
割り当て変数テーブルをセットする\\
\rei Assignset("A", 0.4, "B", c(2,1), "C", list(...), "D", "string")

%\tab{Assign(式)}式文字列の変数に割り当て変数リストを割り当てた文字列を返す\\
%\rei Assign("A", 0.4, "B", c(2,1))\\
%\reicr Fn$<$- Assign("A*x\^{}2+B(1)*y\^{}2")

\tab{Assignset("?"+変数名)}変数名の値を返す\\
\rei Assignset("?A")

\tab{Assignset()}割り当て変数テーブルを初期化\\
%\rei Assign("A", 0.4, "B", c(2,1))\\
%\reicr Assign()

\tab{Assignadd(変数名, 値, ・・・)}\\
\tab{}割り当て変数テーブルに追加する\\
\rei Assignadd("C", 0.4, "D", c(2,1))

\tab{Assignrep(変数名, 値, ・・・)}\\
\tab{}割り当て変数テーブルを置き換える\\
\rei Assignrep("C", 0.8)

\tab{Prime(文字列)}文字列の最後に " をつける\\
\rei Prime("A")\\
\rei Prime()  (" だけを出力)\\
\chuu Assign("A\bq ") としてもよい.


%\tab{Strop(N,\ 文字列)}文字列のN番目の文字

%\tab{Subs(代入式,\ 有理式)}有理式に代入式で与えられる数値を代入した値を返す\\
%\rei X$<$- poly(0,"X")\\
%\reicr F$<$- X\verb|^|2+3\verb|*|X+3\\
%\reicr V$<$- Subs("X$<$- 5",\ F)

\tab{XMIN, XMAX, YMIN, YMAX}\\
\tab{}ウィンドウ範囲
(デフォルト$-5\leqq x\leqq 5,\ -5\leqq y\leqq 5$)

\tab{Ptne(),Ptnw(),Ptsw(),Ptse()}\\
\tab{}フレーム枠の各点

\tab{ThisVersion}Ketpicのバージョン

\tab{Fracform(x\{, 分母の最大値\})}\\
\tab{}xに近い分数(文字列)を返す\\
\chuu 分母の最大値のデフォルトは100000\\\
\rei Fracform(c(2.36))

\tab{Dotprod(v1,v2)}内積

\tab{Crossprod(v1,v2)}外積

\tab{Derivative(関数文字列,変数名,\{値ベクトル\}}\\
\tab{}関数の微分係数を求める.\\
\rei Derivative("x\verb|^|2+y", c("x","y"),c(2, 3))\\
%\rei Assign("A", 3)\\
%\reicr Derivative(Assign("x\verb|^|2+A*y"), "c(x,y)", c(2, 3), 2)\\
%\chuu 変数の番号を指定しないときは,列ベクトルで返す.

\tab{Integrate(関数文字列,変数文字列,積分区間(数リスト))}\\
\tab{}関数の定積分を求める.\\
\rei Integrate("sin(x)","x",c(0,pi))\\
\chuu 区間(リスト)は積分を分けて計算するときに指定\\
%\reicr Fn(x)","if x>0,Y$<$- 1,else,Y$<$- -1,end")|\\
\reicr \verb|Integrate("Fn(x)","x",c(-2,0,3))|\\

%\tab{Thetadegree()}平行投影で$\theta$(度)

%\tab{Phidegree()}平行投影で$\varphi$(度)

%\vspace{-2zw}

\section{設定コマンド}

\subsection{基本}

\tab{Setwindow(c(xmin, xmax), c(ymin, ymax))}\\
\tab{}ウィンドウ範囲を設定\\
\rei Setwindow(c(-pi, pi),\ $c(-1.5,1.5)$\,)\\
\chuu XMIN , XMAX , YMIN , YMAX で値を得られる.

\tab{Setscaling({\it ratio})}\\
\tab{}縦の横に対する比を{\it ratio}に設定(デフォルトは 1)\\
\rei Setscaling(2)\\
\chuu ウィンドウも連動

\tab{Setax(線種, 横軸名, 位置, 縦軸名, 位置, 原点名, 位置)}\\
\tab{}座標軸を設定(引数 7 個)\\
\rei Setax("a", "t", "s", "u", "w", "O", "nw")\\
\chuu 線種は d :  line , a : arrow\\
\chuu arrowのとき "a0.5" のように,矢印の大きさを指定できる.\\
\chuu ""とすると,現在の設定を変更しない.\\
\chuu 以降が "" のとき省略できる.また途中からも指定できる\\
\rei Setax("a"\,)\\
\rei Setax(6, "O", "se"\,) (6番目から指定)\\
\chuu 位置は"n", "s", "e", "w", "ne", "nw", "se", "sw"\\
\chuu "s2w3"のように微小移動量を付加してよい.\\
\chuu 空引数のとき,現在の設定値を表示

\tab{Setorigin(\,点\,)}座標軸の原点を指定(デフォルトは$(0,\ 0)$)\\
\chuu 空引数のとき,現在の設定値を表示

\tab{Setpen( 倍率 )}線の太さを指定(標準からの倍率で)\\
\rei Setpen(1.5)\\
\chuu 空引数のとき,現在の設定値を表示

\tab{Setpt( 倍率 )}Drwptの点の大きさを指定(標準からの倍率で)\\
\chuu 空引数のとき,現在の設定値を表示

\tab{Setmarklen( 倍率 )}目盛りの大きさを指定(標準からの倍率で)\\
\chuu 目盛りの大きさは微小移動量の単位としても用いられる.\\
\chuu 空引数のとき,現在の設定値を表示

\tab{Setunitlen("単位長")}単位長を指定する\\
\chuu Beginpicture("")とすると指定された単位長が使われる.\\
\chuu 空引数のとき,現在の設定値を表示
%\tab(13zw){resetunitlen()}コード書き出しを終える

\tab{Setarrow(鏃の大きさ \{, 開き角 \{, 鏃位置 \{, 太さ\}\}\} \{, 形と位置\})}\\
\tab{}矢印の形状を指定する\\
\rei Setarrow(0.5, 1, 1, 0.7, "tf"\,)\\
\chuu デフォルト 大きさ1 ,角度 18°,位置は終点\\
\chuu 5以下の開き角を指定したときは,18°からの倍率とする\\
\chuu 形状\ "l" :ライン "f" :塗り(デフォルト)\\
\chuu 位置微調整\ "c":中央 "b":下 "t":トップ(〃)\\
\chuu 空引数のとき,現在の設定値を表示

\tab{Ketinit(\,)}定数をデフォルトに初期化

\subsection{空間(平行投影)}

\tab{Setangle(\,$\theta, \varphi$\,)}角度(°)を指定\\
\chuu デフォルト値は $\theta$<$- 60,\ \varphi$<$- 30$\\
\chuu 空引数のとき,現在の設定値を表示

\tab{Initangle(\,)}デフォルト値に戻す

\subsection{空間(一点投影)}

\tab{Setpers(\,注視点,視点\,)}一点投影のFocusPoint,\ EyePoint を指定\\
\chuu デフォルト値は FocusPoint$<$- c(0,0,0),\ EyePoint$<$- c(5,5,5)

\tab{Setpers()}現在のFocusPoint,\ EyePoint を表示\\
\chuu 空引数のとき,現在の設定値を表示

\tab{SetstereoL(\,$R,\ \theta,\ \varphi,\ \varDelta$\,)}%
原点を注視点として,空間極座標により定まる左目の位置を\\
\tab{}視点にセット($\varDelta$は目の間隔)

\tab{SetstereoR(\,$R,\ \theta,\ \varphi,\ \varDelta$\,)}%
原点を注視点として,空間極座標により定まる右目の位置を\\
\tab{}視点にセット($\varDelta$は目の間隔)

\section{プロットデータの作成}

\subsection{平面図形}

\tab{Plotdata(関数,範囲,オプション)}\\
\tab{}関数のグラフのPDを作成\\
\rei G1$<$- Plotdata(\,"sin(x)",\ "x= c($-2$*pi,\ 2*pi)")\\
\chuu 範囲を "x" とすると,XMINからXMAXにとる.\\
\chuu x 以外の変数を使うときは関数に使われていないかを注意.\\
\chuu オプション\\
\hspace*{16zw}\tab[6zw]{"N=$\cdots$"}点の個数\\
\hspace*{16zw}\tab[6zw]{"E=c($\cdots$)"}除外点のリスト\\
\hspace*{16zw}\tab[6zw]{"E=関数"}関数の0点は除外\\
\hspace*{16zw}\tab[6zw]{"D=$\cdots$"}連続限界値(これ以上離れたら結ばない)\\
\chuu デフォルトはN=50,  D=Inf \\
%\chuu 関数は function で与えてもよい.\\
\rei G1$<$- Plotdata("1/x", "x","N=200", "E=c(0)", "D=1")\\
\rei G2$<$- Plotdata("1/((x-1)*(x+2))", "x", "E=(x-1)*(x+2)")\\

\tab{Listplot(点のベクトルまたは列またはlist)}\\
\tab{}折れ線のPDを作成. ただし、点は線分で結ぶ. \\
\rei G2$<$- Listplot(c(c(3,2),c(5,4)))\\
\rei G2$<$- Listplot(c(3,2),c(5,4))

\tab{Lineplot(点A, 点B\{ , 長さ,半直線\})}\\
\tab{}線分ABを延長した線分のPDを作成 \\
\rei G3$<$- Lineplot(c(3,2),c(5,4))\\
\rei G4$<$- Lineplot(A, B, "+")\\
\reicr  半直線AB(B側に延長)\\
\chuu 長さのデフォルトは片側100

\tab{Paramplot(パラメトリック関数,範囲,オプション)}\\
\tab{}パラメトリック関数のグラフのPDを作成\\
\chuu t 以外の変数を使うときは関数に使われていないかを注意\\
%\chuu 関数は function で与えてもよい.\\
\rei G3$<$- Paramplot(\,"c(cos(t),\ sin(t))",\ "t=c(0, 2*\%pi)")\\
%\rei G4$<$- Paramplot(Fnx, Fny, "t=c(0, 1)")

\tab{Rotatedata(PDまたは点,角度\{,中心\})}\\
\tab{}平面のPDを回転したPDを作成 \\
\rei G4$<$- Rotatedata(G1,pi/4)

\tab{Translatedata(PD,\ x方向 y方向)}\\
\tab{}PDを平行移動したPDを作成 \\
\rei G5$<$- Translatedata(\,G1,\ 3,\ $-1$\,)

\tab{Scaledata(PD, x方向, y方向\{,中心\})}\\
\tab{}PDを拡大(縮小)したPDを作成 \\
\rei G6$<$- Scaledata(\,G1,\ 2,\ 1/3\,)

\tab{Reflectdata(PD,点)}点対称移動したPDを作成\\
\tab{Reflectdata(PD, c(\,点1,点2\,))}\\
\tab{}線対称移動したPDを作成\\
\rei G7$<$- Reflectdata(\,G1,\ c(0,0)\,)\\
\rei G8$<$- Reflectdata(\,G1,\ c(\,c(0,0),\ c(0,1)\,)\,)

\tab{Pointdata(PD,\ $\cdots$)}PDの節点のlistを作成\\
\rei G9=Pointdata(G1)\\
\chuu Drwpt(G9)などで,点のプロットができる.

\tab[21zw]{Circledata(中心,\ 半径\ \{,\ オプション\}\})}円のPDを作成\\
\rei G10$<$- Circledata(\,c(3,1),\ 2\,) \\
\chuu オプション\\
\hspace*{16zw}\tab[5zw]{"R=..."}$\theta$の範囲\\
\hspace*{16zw}\tab[5zw]{"N=..."}点の個数\\
\rei G10a$<$- Circledata(\,c(3,1),\ 2,\ "R=c(0,\ pi/2)"\,)\\
\rei G10b$<$- Circledata(\,c(3,1),\ 2,\ "N=100"\,)  

\tab{\,Framedata(P,\ dx\{,\ dy\})\,}%
点Pを中心に$\pm$dx,\ $\pm$dyの矩形(dyを省略するとdy$<$- dx)\\
\rei G3$<$- Framedata(c(3,\ 1),\ 0.5\,) 

\tab[12zw]{\,Framedata(${\rm c}(x_1,\ x_2),\ {\rm c}(y_1,\ y_2)$)\,\\}%
\tab{}$x_1 \leqq x \leqq x_2,\ y_1 \leqq y \leqq y_2$の矩形のPDを作成(右上から反時計)\\
\chuu 引数が空のとき,Setwindowで指定した枠\\
\rei G1$<$- Framedata(${\rm c}(-2,\ 3)$,\ ${\rm c}(1,\ 4)$\,) \\
\rei G2$<$- Framedata()

\tab{Hatchdata( パターン文字(list)\{, 開始点\}, (閉)曲線の列\{,kaku\{,haba\}\,\}\,)}\\
\tab{}パターンと一致する領域を斜線塗りするPDを作成\\
\rei G1$<$- Hatchdata(list("io"),\ list(g1,g2),\ list(g3)\,)\\
\mbox{}\hfill(i : 内部,o: 外部)\\
\chuu 開始点が指定されたとき\\
\hfill(仮想的に)その点を通る斜線から描き始める\\
%\chuu パターンがリストのとき,どれかと一致する領域を斜線塗り\\
\chuu%
\begin{mini}{23zw}
kakuは斜線の傾き(def=45),habaは間隔(def=1)
\end{mini}\vspace{1mm}\\
\rei G2$<$- Hatchdata(\,list("ii"),\ O,\ list(G1),\ $-45$,\ 1.5\,)\\
\chuu 曲線リスト内のPDは隣接の順に指定\\
\chuu 閉じていないとき\\
\hspace*{18zw}(1)方向 "s","n","w","e" を指定する\\
\hspace*{18zw}(2)窓枠とちょうど2点で交わる場合、領域の点を指定\\
\hspace*{18zw}(3)指定しなければ端点を直線で結ぶ.\\
\rei G3$<$- Hatchdata(list("ii),\ list(g1,"s"),\ list(g2,\ c(3,0))\,)

\tab{Hatchdata( 領域の点)\{, 開始点\}, (閉)曲線listの列\{,kaku\{,haba\}\,\}\,)}\\
\tab{}点(のどれか)が含まれる領域を斜線塗り\\
\rei F4$<$- Hatchdata(list(A,B,C),\ \ list(G1),\ list(G2,G3)\,)\\
\hspace*{4zw}\chuu %
\begin{mini}{23zw}
包含パターンが点A, B, Cのどれかと一致する領域を斜線塗り(領域は隣接するものとする)
\end{mini}\vspace{2mm}

%\tab{enclosing( P,  PDリスト )}PD列からPを囲む閉曲線となる部分曲線のPD列を作成\\
%\rei G1$<$- enclosing(\,c(1,0),\ c(g1,\ g2,\ invert(g3))\,)\\
%\chuu PD列は隣接順に指定する(向きが一致するようにする)

%\tab{enclosing( n,  PDリスト )}%
%PD列からできる閉曲線のうちn番目のPD列を作成\\
%\rei G2$<$- enclosing(\,1,\ c(g1,\,g2,\,invert(g3))\,)\\
%\chuu 0を指定すると,全ての閉曲線のリストを返す.

\tab{Enclosing( PDリスト\{, 始点の近くの点\} )}\\
\tab{}PD列の直近の交点を結んで閉曲線を作成\\
\rei G2$<$- Enclosing(list(G1,\,invert(G2),\,G3),\,c(2,1)\,)\\
\tab[14zw]{}G1と (最後の)G3の交点のうち,c(2,1)に近い点から始める\\
\chuu 交点が1個の場合は,点を省略してよい.

\tab{Dotfilldata( パターン文字列(リスト)\{, 開 始点\}, 
(閉)曲線PDリストの列\{,濃さ\})}\\
\tab{}パターンと一致する領域を点描するPDを作成\\
\rei Fd$<$- Dotfilldata("ii",list(G1),list(G2),0.7)\\
\chuu 濃さ$d$は $0< d \leqq 1$(デフォルトは$0.5$)\\
\chuu 書き出しは,Drwptを用いる.

\tab{Arrowdata}矢印のPDを作成(Arrowline参照)\\
\chuu やじりは塗りつぶさず,線データのみ

\tab{Arrowheaddata}やじりだけのPDを作成(Arrowhead参照)

\tab[20zw]{Bowdata(\,$\mbox{点A},\ \mbox{点B}$\{,\ 曲がり\{,\ 切り\}\,\}\,)}\\
\tab{}弓形のPDを作成\\
\chuu 曲がり:弧の曲がり(デフォルトは1)\\
\chuu 切り:中央に入れる切りの長さ(デフォルトは0)\\
\chuu 点AからBに反時計まわりに弧をかく\\
\rei G$<$- Bowdata(\,c(2,\ 1),\ c(3,\ 4),\ 0.8,\ 0.5\,)

%\tab{Bowmiddle(\,$\mbox{点A},\ \mbox{点B}$\{,\ 曲がり\})}\\
%\tab{}弓形の中点と角のlistを返す

\tab{Bowmiddle(\,弧データ\ )}弓形の中点を返す

\tab{Splinedata(点データ\{, オプション\}\})}\\
\tab{}spline曲線のPDを作成\\
%\chuu ファイルは,space, comma, tab 区切りのtextファイル\\
%\chuu 開始位置:ファイルの読込み開始行と列.defaultはc(2,\ 1)\\
\chuu 点データはリストまたはPD\\
\chuu オプション:\\
\hspace*{18zw}"N$<$- 点の個数" (デフォルトは50)\\
\hspace*{18zw}"C" (閉曲線でスムーズにつなぐ)\\
%\rei Fs$<$- Splinedata("c:/data.txt",\ c(2,4),\ "N$<$- 100")\\
\rei Fs$<$- Splinedata(PL, "N$<$- 200", "C")(PLは点データ)

%\tab{Skeleton2data(\,平面曲線list1,平面曲線list2\{,大きさ%
%\{,\ 遠近の閾値\}\}\,)}\\
%\tab{}list2で隠されるlist1のスケルトンデータを作成

\tab{Anglemark(A, B, C \{, サイズ \})}\\
\tab{}$\angle \mathrm{ABC}$の間の角度記号を作成\\
\chuu BAからBCへ反時計回りに描く\\
\chuu サイズのデフォルトは0.5

\tab{Paramark(A, B, C \{, サイズ\})}\\
\tab{}$\angle \mathrm{ABC}$の間の角度記号(平行四辺形)を作成

%\tab{Sumfun(\{ 定数項, \}一般項,  添字のリスト,変数の範囲,\{ 点の個数 \})}\\
%\tab{} $\displaystyle c+\sum_{k= a}^{b}f(x,\ k)$のPDを作成({\bf Scilabに追加})\\
%\chuu 定数項が0のときは省略できる.\\
%\chuu 点の個数は "N$<$- 個数" で指定(デフォルトは終わりまで)\\
%\rei G1$<$- Sumfun(1, "x\verb|^|n/factorial(n)", "n$<$- 1:5", "x$<$- c($-2,\ 2)$")

%\tab{Implicitplot(関数,x範囲,y範囲\{, 分割数\})}\\
%\tab{Implicitplot(Zvalue, Xvalue, Yvalue) }\\
%\tab{}陰関数のPDを作成\\
%\chuu 分割数のデフォルトは c(50, 50)\\
%\rei \verb|G1$<$- Implicitplot("x^2+y^2-1","x$<$- c(-1,1)","y$<$- c(-1,1)")|

%\tab{Deqplot(方程式,x範囲,x0,y0\{, 分割数\})}\\
%\tab{}微分方程式の解曲線のPDを作成\\
%\chuu $y"$は y\bq と書く.\\
%\chuu xの範囲を省略すると,描画範囲全体\\
%\rei \verb|G1$<$- Deqplot("y|\bq \verb|$<$- y*(1-y)","x",0,0.2,"N$<$- 100")|\\
%\rei \verb|G2$<$- Deqplot"("y|\bq\bq \verb|$<$- -0.4*y`-3*y","x$<$- c(0,5)",0,c(0,2))|
%\rei \verb|G3$<$- Deqplot("c(x,y)|\bq \verb|$<$- c(x*(1-y),0.3*y*(x-1))",...|\\
%\reicr \verb|    "t$<$- c(0,20)",0,c(1,0.5),"N$<$- 200")|

%

\subsection{空間図形}

\tab{Spaceline(\,空間点のベクトルまたはlist\,)}\\
\tab{}空間点を結ぶ線分のPD3dを作成\\
\rei G1$<$- Spaceline(\,c(c(3,\ 2,\ 1),\ c(5,\ 6,\ 6))\,)

\tab{Spacecurve(\,関数,範囲,オプション\,)}\\
\tab{}空間曲線のPD3dを作成\\
\rei G2$<$- Spacecurve( "c(cos(t),\ sin(t),\ t)",\ "t$<$- c(0, 2*\%pi)" )

\tab{Rotate3data(PD3, v1, v2\ \{, 中心\})}\\
\tab{}PD3をv1がv2に重なるように回転したPD3dを作成\\
\rei G2$<$- Rotate3data(\,G1, c(1, 0, 0), c(1, 2, 3)\,)\\
\chuu PD3はlistでもよい(この場合はlistを返す)

\tab{Rotate3datac(PD3, 回転軸, 角度\ \{, 中心\})}\\
\tab{}PD3を回転軸のまわりに回転したPD3dを作成\\
\rei G2$<$- Rotate3datac(\,G1, c(0, 0, 1), \%pi/4\,)\\
\chuu PD3はlistでもよい(この場合はlistを返す)

\tab{Translata3data(PD3, 移動ベクトルv)}\\
\tab{}PD3をvだけ移動したPD3dを作成\\
\rei G2$<$- Translate3datac(\,G1, c(3, 2, 1)\,)\\
\rei G2$<$- Translate3datac(\,G1, 3, 2, 1\,)\\
\chuu PD3はlistでもよい(この場合はlistを返す)

\tab{Xyzax3data(\,$x$範囲, $y$範囲, $z$範囲\,)}\\
\tab{}座標軸のPD3dのlistを作成

\tab{Projpara(\,PD3列またはlist\,)}\\
\tab{}空間曲線の平行投影による射影PD( 2d )を作成

\tab{Projpers(\,PD3列またはlist\,)}\\
\tab{}空間曲線の一点投影による射影PD( 2d )を作成

\tab{Skeletonparadata(\,空間曲線list1,空間曲線list2\{,大きさ%
\{,\ 遠近の閾値\}\}\,)}\\
\tab{}\begin{mini}{30zw}
平行投影でlist1からlist2により隠される部分を除いた残りの平面PD列
(スケルトンデータ)を作成\vspace*{2mm}
\end{mini}

\tab{Skeletonpara3data(\,空間曲線list1,空間曲線list2\{,大きさ%
\{,\ 遠近の閾値\}\}\,)}\\
\tab{}\begin{mini}{30zw}
平行投影でlist1からlist2により隠される部分を除いた残りの空間PD列
(スケルトンデータ)を作成\vspace*{2mm}
\end{mini}

\tab{Skeletonpersdata(\,空間曲線list1,空間曲線list2\{,大きさ%
\{,\ 遠近の閾値\}\}\,)}\\
\tab{}一点投影でlist2によるlist1のスケルトンデータ(2D)を作成

\tab{Skeletonpers3data(\,空間曲線list1,空間曲線list2\{,大きさ%
\{,\ 遠近の閾値\}\}\,)}\\
\tab{}一点投影でlist2によるlist1のスケルトンデータ(3D)を作成

\tab{Embed(\,平面曲線(リスト),埋め込み関数\,)}\\
\tab{}埋め込み関数により空間曲線を作成\\
\rei \verb|deff("Out$<$- Fun(x,y)","Out$<$- c(x,y,0)")|\\
\reicr \verb|G1$<$- Listplot(c(0,0),c(3,2))|\\
\reicr \verb|G1_3d$<$- Embed(G1,Fun)|

%
\subsection{多面体の描画}

\tab{Phcutdata(頂点リストVL, 面添字リストFL, 平面データPlaneD)}\\
\tab{}多面体を平面で切ったときの多面体と切断面の3dリストを作成\\
\chuu PlaneD(平面)の形式\\%
\hspace*{18zw}\begin{mini}{20zw}
"a*x+b*y+c*z-d",\ "a*x+b*y+c*z$<$- d"\\
\hspace*{2zw}(x,\ y,\ zをクリアしておく)\\
または "c(a, b, c, d)"\\
\hspace*{4zw} "list(a, b, c, P)"(点Pを通る)
\end{mini}\vspace{2mm}\\
\chuu 切断面はリストの最後の要素\\
\rei VL$<$- list(c(0, 0, 0), c(1, 0, 0), c(0, 1, 0), c(0, 0, 1))\\
\reicr FL$<$- list(c(1, 2, 3), c(1, 2, 4), c(1, 3, 4), c(2, 3, 4))\\
\reicr PL$<$- Phcutdata(VL, FL, "c(1, 1, 1, 3)")\\
\reicr Windisp(PL)

\tab{Phcutoffdata(VL, FL, PlaneD, 符号)}\\
\tab{}PlaneDで切断された部分多面体の3dデータリストを作成\\
\chuu 符号は \verb|"+"| または \verb|"-"|\\
\rei PL$<$- Phpcutoffdata(VL, FL, "x+y+(z-1/2)", "+")\\
\chuu PhVertexL(), PhFaceL()で頂点,面リストを取り出せる.

\tab{Phparadata(VL, FL)}陰線処理をした多面体のPD3d(平行投影)を作成\\
\tab{Phpersdata(VL, FL)}陰線処理をした多面体のPD3d(一点投影)を作成\\
\chuu PhHiddenData()で陰線のPDを取り出せる.

\tab{Phsparadata(面datalist)}複数の多面体のPD3d(平行投影)を作成(陰線処理)\\
\tab{Phspersdata(面datalists)}複数多面体のPD3d(一点投影)を作成(陰線処理)\\
\chuu 面datalistはlist(VL, FL),または,そのlist\\
\chuu 面を点で直接指定するときには VL$<$- list()とする.\\
\rei Fd$<$- list(list(),list(c(3,2,1),c(0,0,0),c(c(1,2,4)))\\
\chuu PhHiddenData()で陰線のPDを取り出せる.

\tab{Phsrawparadata(面datalist), Phsrawpersdata(面datalist)}\\
\tab{}複数の多面体のPD3dを作成(陰線処理をしない)

\tab{Facesdata(面datalist \{ ,追加曲線PDlist \}, 射影のタイプ)}\\
\tab{}面の辺(と追加曲線)を面により陰線処理\\
\chuu 射影のタイプは "para","pers","rawpara’,"rawpers"

\tab{Faceremovaldata(面datalist,曲線PDlist, 射影のタイプ)}\\
\tab{}曲線を面により陰線処理

\section{データの書き出し}

\subsection{基本コマンド}

\tab{Windisp( PD列またはlist )}\\
\tab{}画面を開き,PD列を表示(確認のため)\\
\rei Windisp(\,G1,\ G2\,)\\
\rei Windisp(list(G1,G2))

\tab{WindispT( PD列またはlist \{, オプション\} )}\\
\tab{}画面を開き,PD列を表示(確認のため)図を重ねて表示する.事前にWindispT()\\
\rei WindispT(\,G1,\ G2\,color="red",width=1,new=TRUE\,)\\
\rei WindispT(list(col="blue",border="white",G1),new=TRUE) \\
\hspace*{18zw}(閉曲線G1を塗る)\\
\rei WindispT(list(col="blue",border="white",density=200,G1,G2),new=TRUE)\\
\hspace*{18zw} (閉曲線G1,G2を塗る.densityは内側を線分で塗りつぶす場合のパラメータ)

\tab{Openfile('ファイル名'\,\{ソースファイル名\}) }\\
\tab{}書き出し用ファイルを開く(デフォルトは画面)\\
\rei setwd("C:/TeXF") \\
\reicr Openfile(\, "fig.tex"\,)\\
\reicr Openfile(\,'fig.tex',\,'fig.r'\,)\\
\chuu ソースが同一フォルダにあるときは,第2引数は不要

\tab{Beginpicture("単位長"\,)}picture 環境を始める.\\
\rei Beginpicture("1cm"\,)\\
\rei Beginpicture("2*10/12cm"\,)

\tab{Endpicture(\,1\,)}picture 環境を終える(座標軸をかく)\\
\tab{Endpicture(\,0\,)}picture 環境を終える(座標軸をかかない)

\tab{Closefile(\,)\,}書き出し用ファイルを閉じる(デフォルト=画面に戻す)

\subsection{プロットデータ}

\tab{Drwline(\,PD列またはlist\{, 太さ\}\,)}\\
\tab{}PD列またはを実線で書き出す\\
\rei Drwline(\,G1,\ G2\,)\\
\rei Drwline(\,G3,\ 0.5\.)

\tab{Dashline(\,PD列またはlist\{, len \{, gap\}\,\}\,)}\\
\tab{}PD列またはlistを破線で書き出す(実線部から始まる)\\
\rei Dashline(\,G1,\ G2\,)\\
\rei Dashline(\,G1,\ 1.5\,)\hfill(実線部,ギャップとも 1.5倍)\\
\rei Dashline(\,G1,\ G2,\ 1.5,\ 0.5\,)\\
\hfill(実線部 1.5倍,ギャップ 0.5倍) 

\tab{Invdashline(\,PD列またはlist\{, len\{, gap\}\,\}\ )}\\
\tab{}破線を書き出す(ギャップから始まる)

\tab{Dottedline(\,PD列またはlist\{, len \{, size\}\,\}\,)}\\
\tab{}点線を書き出す\\
\rei Dottedline(\,G1,\ G2\,)\\
\rei Dottedline(\,G1,\ 1.5\,) (間隔 1.5倍)\\
\rei Dottedline(\,G1,\ G2,\ 1,\ 0.5\,)(点の大きさ 0.5倍)

\tab{Arrowline(\,A, B \{, 鏃の大きさ \{, 開き角 \{, 鏃位置 \{, 太さ\}\,\}\,\} \{, \\
\hspace*{20zw}形と位置
,\ "Cut=切り込み率"\}\,\}\,)}\\

\tab{}点AからBに向けて矢印をかくコードを書き出す\\
\rei Arrowline(\,A,\ B\,)\\
\rei Arrowline(\,A,\ B,\ 2,\ 10,"l"\,)\\
\rei Arrowline(\,A,\ B,\ 1,\ 18,\ 0.5,\ 2,"lc"\,)\\
\hspace*{6zw}\chuu ABの中点の位置に鏃をかく


\tab{Arrowhead(\,位置,\ 方向\{,\ 大きさ\{,\ 角度\},\ 形状と位置,\ "Cut=切り込み率"\}\,)}

\tab{}鏃だけを書き出す\\
\rei Arrowhead(\,c(0,\ 0),\ c(2,\ 1),\ "cl"\,)

\tab{Arrowhead(\,P,\ PD\{,\ 大きさ\{,\ 角度\},\ 形状と位置\}\,)}\\
\tab{}PD上の点Pに矢印を描く\\
\rei Arrowhead(\,c(1,\ 1),\ Plotdata("x\^{}2","x"\,))\\
\chuu 鏃はライン

\tab{Drwpt(点の列 \{, 塗り\})}点を書き出す(大きさは Setptで指定,塗りのデフォルトは1)\\
\rei Drwpt(\,c(2,\ 3),\ c(5,\ 7)\,)

\tab{Drwxy(\,)}座標軸を書き出す

\tab{Htickmark( 座標, 方向, 数式 , $\cdots$ )}\\
\tab{}横軸上に目盛りをつける(方向のデフォルトは"s"\,)

\tab{Vtickmark( 座標, 方向, 数式 , $\cdots$ )}\\
\tab{}縦軸上に目盛りをつける(方向のデフォルトは"w"\,)\\
\rei Htickmark(\,$-1$,"$-1$",\ 1,"1",\ pi,"$\backslash$pi"\,)\\
\rei Vtickmark(\ $-1$,"e","$-1$",\ 1,"ne","1"\,)\\
\rei Htickmark(c(2,1),\ "a"\,)\\
\chuu 数式を省略すると目盛りだけをつける

\tab{Htickmark("m..n..r..")}横軸全体に目盛りをつける

\tab{Vtickmark("m..n..r.."\,)}縦軸全体に目盛りをつける\\
\chuu m(目盛りの間隔),n(文字を何目盛り毎に),r(数の倍率)\\
\rei Htickmark("mn")(目盛りと数を1間隔でつける)\\
\rei Vtickmark("m1n2r1.5")(1.5倍した数を1つとびに)

\tab[13zw]{Shade(\,PD列またはlist\{, 濃さ\}\,)\mbox{}}\\
\tab{}閉曲線の内部を塗りつぶし 濃さ: 0 〜 1(デフォルトは1)

\subsection{文字の書き入れ}

\tab{Letter(\ 点, 方向, 文字列 ,・・・)}\\
\tab{}点の位置の「方向」に文字列をかく(複数可)\\
\rei Letter(\,c(4,\ 3),"n","文字")\\
\chuu 位置は"n", "s", "e", "w", "ne", "nw", "se", "sw", "c"\\
\chuu "n1" nの方向にさらに1目盛長だけ離す.\\
\chuu "s-1w2" s方向に-1目盛長,w方向に2目盛長だけ離す.

\tab{Expr(\ 点, 方向, 数式,・・・)}点の位置の「方向」に数式をかく(\$\$は不要)\\
\rei Expr(c(4, 3),"s","y=f(x)")

\tab{Letterrot(\ 点, 方向\ \{, 接線方向\ \{, 法線方向\}\}, 文字列)}\\
\tab{Exprrot(\ 点, 方向\ \{, 接線方向\ \{, 法線方向\}\}, 文字列)}\\
\tab{}「点」の位置に「方向」を右横方向にするように文字を傾けて書く\\
\chuu 「接線方向」,「法線方向」はそれぞれの微少移動量\\
\chuu graphicxパッケージが必要

\tab{Texletter(\ 点(list形式), 方向, 文字列 ,・・・)}\\
\tab{}点の位置の「方向」に文字列をかく(複数可)\\
\rei Texletter(\,list(4,,\ "\#1"),"n","文字")\\
\chuu 位置は"n", "s", "e", "w", "ne", "nw", "se", "sw", "c"\\
\chuu 点の位置はリスト形式で,\TeX の文字列を渡すことができる.

\tab{Openphr(\,ユーザーコマンド名\,),Closephr(\,)}\\
\tab{}$\backslash$defのコマンド定義\\
\rei Openphr("$\backslash$p"\,)\\
\reicr  Texcom("$\backslash$begin\{array\}\{cc\}"\,)\\
\reicr  Texcom("5 \& 3$\backslash\backslash$"\,)\\
\reicr  Texcom("8 \& 7"\,)\\
\reicr  Texcom("$\backslash$end\{array\}\$"\,)\\
\reicr Closephr(\,)

\tab{Openpar(\,ユーザーコマンド名,幅 \{ 縦方向 \}\,), Closepar(\,)}\\
\tab{}minipage環境を含む$\backslash$def コマンド定義\\
\rei Openpar("$\backslash$s","5cm", "t"\,)\\
\reicr  Texcom("$\backslash$input\{rei\}"\,)\\
\reicr Closepar(\,)\\
\reicr Letter(\,c(2,\ 3),"se","$\backslash$s"\,)\\
\chuu 縦方向のデフォルトは c

\tab{Fontsize("記号"\,)}文字サイズの変更コマンドを書き出す\\
\tab[13zw]{}"n", "s", "f",%
 "ss", "t", \\
\tab[13zw]{}"la", "La", %
"LA", "h", "H"(""\,のとき"n"\,)\\
\rei Fontsize("s")

\tab{Texcom("コマンド"\,)}\TeX コマンドのコードを書き出す\\
\rei Texcom("$\backslash$newcounter\{tmpct\}")\\
\chuu "newline" のとき,空白行を挿入

\tab{Bowname(弓形,数式 )}弓形PDの中央に式を書き入れる\\
\rei Gb$<$- Bowdata( A, B, 1, 0.5)\\
\reicr Bowname(Gb, "d")

\tab{Bownamerot( 弓形,数式\{,向き\} )}\\
\tab{}弓形PDの中央に式を傾けて書き入れる\\
\chuu graphicxパッケージが必要\\
\chuu 向きに $-1$を指定すると向きが反対になる

\tab{Xyzaxparaname(\,軸データ \{, 各軸のラベル名 \}\{,離れ\}\,)}\\
\tab{}平行投影で,各軸のラベルを書き入れる\\
\rei Gax$<$- Xyzax3data( "x$<$- c(0,1)", "y$<$- c(0,1)", "z$<$- c(0,2)" )\\% ($x,y,z$を書く)\\
\reicr Xyzaxparaname(Gax)\\% ($x,y,z$を書く)\\
\chuu "\yen sin x" など文字列で指定することもできる

\tab{Xyzaxpersname(\,軸データ \{, 各軸のラベル名 \}\{,離れ\}\,)}\\
\tab{}一点投影で,各軸のラベルを書き入れる\\
\rei Xyzaxpersname(Gax, "", "", "w")

%\vspace*{-0.5zw}

%\vspace*{-2zw}

\section{プロットデータの操作}

\subsection{平面}

\tab{Joingraphics(PD1,PD2,・・・\{ , "L" \})}\\
\tab{}複数のPDを1つのPDに合併 \\
\reicr G11$<$- Joingraphics(\,F9,\ G10\,)\\
\chuu "L"を指定したときは,結果をリストで返す

\tab{Dividegraphics(PD)}PDを要素に分けたlistを作成\\
\rei FL$<$- Dividegraphics(G1)\\
\rei G1$<$- Op(1, FL)

\tab{Joincrvs(\,PD列\,)}複数の曲線をつなげたPDを作成(2D, 3D共通)\\
\rei G3$<$- Joincrvs(\,G1,\ Invert(G2)\,)\\
\chuu 曲線は隣接する順番で指定する

\tab{Invert( PD )}PDの点列を逆順にしたPDを作成(2D, 3D共通)

%\tab{connectseg(PD)}細切れの線分を結ぶPDリストを作成\\
%\hspace*{-4zw}\rei connectseg(implicitplot(x\textasciicircum 2+y\textasciicircum 2$<$- 1,x$<$- -2..2,y$<$- -2..2))

\tab{Partcrv(\,s1,\ s2, PD\,)}曲線PD上のパラメータ値s1, s2を両端とするPDを作成\\
\chuu s1 $>$ s2 の場合\\
\hspace*{180pt}s2から終点,始点からs1までのPDのリストを出力\\
\hspace*{180pt}PDが閉曲線のときは上の2つのPDをつなげる.

\tab{Partcrv(\,A, B, PD\,)}曲線PD上の点A, Bの間の部分曲線のPDを作成\\
\chuu 
\begin{mini}{23zw}%
A, Bの順序が逆転しているとき,Bから終点,始点からAまでのPDのリスト(閉のとき接続)を出力
\end{mini}\vspace{2mm}\\
\rei G1$<$- Plotdata(\,"x\textasciicircum 2",\ "x=c(XMIN, XMAX)"\,)\\
\reicr G2$<$- Partcrv(\,c(0,0),\ c(1,1),\ G1)\\
\reicr G3$<$- Partcrv(\,c(1,1),\ c(0,0),\ G1)


\tab{Intersectcrvs(PD1, PD2)}2曲線PD1, PD2の交点リストを作成\\
\rei G1$<$- Paramplot("c(cos(t),\ sin(t))",\ "t=c(0, 2*\%pi)")\\
\reicr G2$<$- Plotdata("x+1/2",\ "x")\\
\reicr PL$<$- Intersectcrvs(\,G1,G2\,)

\tab{IntersectcrvsPp(PD1, PD2)}\\
\tab{}2曲線PD1, PD2の交点とパラメータのリストを作成

\tab{Intersectlines(L1, L2)}2直線の交点を返す\\
\rei L1$<$- Lineplot(A, B)\\
\reicr L2$<$- Lineplot(C, D)\\
\reicr P$<$- Intersectcrvs(\,L1,L2\,)

\tab{Nearestpt(\ P, PD\ )}点Pに最も近い曲線PD上の点とパラメータ値のリストを返す\\
\rei Pp$<$- Nearestpt(\,c(0,\ 1),\ G1\,)\\
\reicr A$<$- Op(1,Pp)

\tab{Nearestpt(\,PD1,\ PD2\,)}%
PD1の節点のうち、PD2に最も近い点データのリストを返す\\
\rei Pp$<$- Nearestpt(\,G1,\ G2)\\
\reicr A$<$- Op(1,Pp)

\tab{Ptstart(\,PD\,), Ptend(\,PD)\,}曲線PDの始点(終点)を返す


%\tab{Ptlistcrv(\,PD)\,}曲線PDの節点データリストを返す

\tab{Numptcrv(\,PD)\,}曲線PDの節点データの個数を返す

\tab{Ptcrv(\,n,\,PD)\,}曲線PDのn番目の節点を返す

\tab{Pointoncrv(\,s,\ PD\,)}PD上の点でパラメータ値sをもつ点を返す\\
\rei Pointoncrv(5.3,\ G1)\\
\reicr  (5番目の線分上で0.3の位置にある点)

\tab[13zw]{Paramoncrv(P \{,\ n \},\ PD)}%
PD(のn番目の線分)上にある点Pのパラメータを返す\\
\rei Paramoncrv( c(3,\ 2), G1)\\
\rei Paramoncrv(c(2,\ 4), 5, G1)

%\tab[13zw]{Droppoint(PD \{, 限界値\})} 限界値以下の隣接点を落として点を少なくする.\\
%\chuu 限界値のデフォルト値は0.02

%\tab{Powersum(\,係数リスト(list), 変数値x \{, 中心c\} \,)}\\
%\tab{}$\displaystyle \sum_{k= 0}^n a_n (x-c)^k$の値を返す.(Plotdataで使用)\\
%\chuu 係数リストは list( 添字リスト,係数リスト)の形\\
%\rei Tmp1$<$- 0:20\\
%\reicr Tmp2$<$- ones(length(Tmp1))./factorial(Tmp1)\\
%\reicr CL$<$- list(Tmp1, Tmp2)\\
%\reicr G1$<$- Plotdata( "Powersum( CL, x)", "x")

%\tab{FouriercoeffL(関数F, 周期T, 項数N )}\\
%\tab{}FのN項までのフーリエ係数リスト(list)を求める.\\
%\chuu list( 定数項, 余弦係数(行), 正弦係数(行), 周期 ) の形\\
%\chuu Fouriersumで用いる.

%\tab{Fouriersum( フーリエ係数リスト, 変数値)}\\
%\tab{}フーリエ級数の値を返す.(Plotdataで使用)\\
%\rei deff( "Out$<$- Fun(x)", "Out$<$- abs(x)")\\
%\reicr CL$<$- FouriercoeffL(Fun, 2, 30)\\
%\reicr G2$<$- Plotdata("Fouriersum(CL, x)", "x", "N$<$- 300" )

\subsection{空間}

\tab{Partcrv3(\,S1,\ S2, PD\,)}曲線PD上のパラメータ値S1,S2を両端とするPDを作成

\tab{Rotate3pt(点, V1, V2\{, C\})}\\
\tab{}回転移動した点を返す(Rotate3data参照)

\tab{Rotate3ptc(点, 軸, 角度\{, C\})}\\
\tab{}回転移動した点を返す(Rotate3data参照)


\tab{Parapt(\,点\,)\ ,\ \ Perspt(\,点\,)}\\
\tab{}空間の点を投影した点を返す

\tab{Zparapt(\,点\,)\ ,\ \ Zperspt(\,点\,)}\\
\tab{}投影した平面を$X,\ Y$としたときの$Z$座標

\tab{Invparapt(\,P,\ PD3d\,)\ ,\ \ Invperspt(\,P,\ PD3d\,)}\\
\tab{}PD3dを投影したPD上の点Pに対応するPD3d上の点\\
\chuu Pd3dが線分のときは,延長線上の点でもよい.

\tab{Invperspt(\,s,\ PD2d,\ PD3d\,)\ ,\ \ Invperspt(\,s,\ PD2d,\ PD3d\,)}\\
\tab{}PD2d上のパラメータ値sの点に対応するPD3d上の点

\tab{Cancoordpers(\,投影座標\,)}平行投影で「投影座標」で表される点の標準座標

\tab{Cancoordpers(\,投影座標\,)}一点投影で「投影座標」で表される点の標準座標

\tab{Viewfrom(Vec, 曲線3D \{, 非表示オプション\})}\\
\tab{}一時的にVec方向からみた射影データを返す\\
\rei Out1$<$- Viewfrom(c(0,0,1), G1) (表示してデータを作成)\\
\rei Out1$<$- Viewfrom(c(0,0,1), G1, 0) (データのみを作成)


%\section{曲面の描画}

%%
%\subsection{関数データリストの定義}

%\begin{enumerate}[\hspace*{1zw}(1)]
%\item
%$z$<$- f(x,\ y)\ \ (a \leqq x \leqq b,\ c \leqq y \leqq d)$のとき\vspace{1mm}\\
%\hspace*{4zw}list(\,関数,\ xの範囲,\ yの範囲\,)\\
%\hspace*{-6zw}\reicr \verb|Fd$<$- list("z$<$- x^2+y","x$<$- c(-1,2)","y$<$- c(-2,1)")|\\
%\hspace*{-4zw}\chuu 変数名 x, y が関数名にある文字と重ならないようにする.

%\item
%$z$<$- f(x,\ y)\ ,x$<$- x(u,\ v),\ ,y$<$- y(u,\ v)\ \  (a \leqq u \leqq b,\ c \leqq v \leqq d)$のとき\vspace{1mm}\\
%\hspace*{4zw}list(\,関数z,\ 関数x,\ 関数y,\ uの範囲,\ vの範囲\{,\ 境界の指定\}\,)\\
%\hspace*{-6zw}\rei \verb|Fd$<$- list("z$<$- sin(2*sqrt(abs(x^2+y^2))","x$<$- R*cos(T)",|\\
%\hspace*{-6zw}\reicr \verb|  "y$<$- R*sin(T)","R$<$- c(0,4)","T$<$- c(0,2*%pi)","e")|\\
%\hspace*{-4zw}\chuu "e"は$r$<$- 1,\ 0\leqq t\leqq 2\pi$で定まる閉曲線を表す.\\
%\hspace*{-4zw}\chuu sqrtの中はabsをつける(計算誤差のため).

%\item
%$x$<$- x(u,\ v),\ y$<$- y(u,\ v),\ z$<$- z(u,\ v)\  (a \leqq u \leqq b,\ c \leqq v \leqq d)$のとき\\
%\hspace*{4zw}list(\,"p",\ 関数x\ 関数y,\ 関数z,\ Uの範囲,\ Vの範囲\{,\ 境界の指定\}\,)\\
%\hspace*{-6zw}\rei \verb|Fd$<$- list("p","x$<$- sin(U)*cos(V)","y$<$- sin(U)*sin(V)",|\\
%\hspace*{-6zw}\reicr \verb|  "z$<$- cos(U)","U$<$- c(0,%pi)","V$<$- c(0,2*%pi),"")|

%\end{enumerate}

%\subsection{曲面のワイヤーフレーム図}

%\tab{Sf3data(FD,\ \{,曲線の点の個数(リスト)\{,横方向の分割数,縦方向の分割数\}\})}\\
%\tab{}曲面データリストFDの3次元ワイヤフレームデータを生成\\
%\chuu デフォルトは 点の個数=c(50,\ 50),分割数$<$- 25\\
%\chuu 点の個数を数nで指定したときは2方向ともnになる\\
%\rei Out$<$- Sf3data(Fd)

%\tab{Sfparadata(〃)}FDのワイヤフレームデータを平行投影した2次元データ

%\tab{Sfpersdata(〃)}FDのワイヤフレームデータを平行投影した2次元データ

%\subsection{輪郭線データの作成}

%\tab{Sfbdparadata(関数データ\{,各方向の分割数,限界値1,限界値2\})}\\
%\tab{Sfbdpersdata(関数データ\{,各方向の分割数,限界値1,限界値2\})}

%\noindent
%\hspace*{3zw}\Ltab{10zw}{各方向の分割数}曲線,陰関数のグリッド数\\
%\hspace*{3zw}\Ltab{14zw}{}デフォルトは50\\
%\hspace*{3zw}\Ltab{10zw}{}リストか単独の数で与える\\
%\hspace*{3zw}\Ltab{10zw}{限界値1}同一点と見なす限界(デフォルトは0.05)\\
%\hspace*{3zw}\Ltab{10zw}{限界値2}交点の余裕幅(デフォルトは0.2)

%
%\rei \verb|Out1$<$- Sfbdparadata(Fd,c(50,50))|\\
%\reicr \verb|  Windisp(Projpara(Out1))|

%\noindent
%\chuu 曲面上の3次元データとして得られる.\\
%\chuu BorderHiddenData()で
%陰線の3次元データが得られる.\\
%\chuu CuspData()で輪郭線の3次元データが
%得られる.\\
%\chuu CuspPt()でcusp点の2次元データが
%得られる.\\
%\chuu BorderPt()で輪郭線の交点の2次元データが
%得られる.

%\subsection{ワイヤーデータの作成}

%\tab{Wireparadata(輪郭のリスト,関数データ,横の線数,縦の線数\{.分割数, 限界値1.限界値2\})}

%\tab{Wirepersdata(輪郭,関数データ \{ ,横の線数,縦の線数\{.分割数, 限界値1.限界値2\}\})}

%\noindent
%\hspace*{3zw}\Ltab{10zw}{輪郭}Sfbdpersdata( Sfbdparadata ) で作成したデータ\\
%\hspace*{3zw}\Ltab{10zw}{線}個数か値のリストで与える\\
%\hspace*{3zw}\Ltab{10zw}{限界値1}デフォルトは0.05\\
%\hspace*{3zw}\Ltab{10zw}{限界値2}デフォルトは0.2

%
%\rei \verb|Out2$<$- Wireparadata(Out1,Fd1,5,5)|\\
%\reicr \verb|  Windisp(Projpara(Out1,Out2))|\\
%\chuu WireHiddenData()で
%陰線の3次元データが得られる.\\
%\chuu WirePt()で輪郭線との交点の2次元データが
%得られる.

%\subsection{曲面と曲線}

%\subsubsection{パラメータ平面上の曲線}

%\tab{Crvonsfparadata(平面上の曲線2Dデータ,輪郭,関数データ \{,オプション\})}

%\tab{Crvonsfpersdata(平面上の曲線2Dデータ,輪郭,関数データ \{,オプション\})}

%\rei \verb|Fg$<$- Parametricplot("c(T, 0)","T$<$- c(0,2*\%pi)")|\\
%\reicr \verb|  Out4$<$- Crvonsfpersdata(Fg,Out1,Fd)|\\
%\chuu CrvonsfHiddenData()で陰線の3次元データが得られる.

%
%\subsubsection{曲面上の曲線}

%\tab{Crv3onsfparadata(曲面上の曲線3Dデータ,輪郭,関数データ\{,オプション\})}

%\tab{Crv3onsfpersdata(曲面上の曲線3Dデータ,輪郭,関数データ \{,オプション\})}

%\rei \verb|Out5$<$- Crv3onsfparadata(Fg,Out1,Fd)|\\
%\chuu Crv3onsfHiddenData()で陰線の3次元データが得られる.

%\subsubsection{曲面外の曲線}

%\tab{Crvsfparadata(曲線3D,輪郭,関数データ\{,オプション\})}

%\tab{Crvsfpersdata(曲線3D,輪郭,関数データ \{,オプション\})}

%\rei \verb|G2$<$- Xyzax3data("x$<$- c(-5,5)","y$<$- c(-5,5)",...|\\
%\reicr \verb|     "z$<$- c(-5,5)")|\\
%\reicr \verb|  Out2$<$- Crvsfparadata(G2,Out1,Fd)|\\
%\chuu CrvsfHiddenData()で陰線の3次元データが得られる.\\
%\chuu 曲線と曲面が交わらないときは,引数の最後に $-1$をつける.

%\subsubsection{その他のコマンド}

%\tab{Intersectcrvsf(曲線3D, 関数データ\{,分割数\{,限界値\}\})}\\
%\tab{}曲線と曲面との交点(MD)を求める.

%\subsection{曲面の切断}

%%\tab{polarcoordx()}極座標$r,\ t$の$x$座標を与える関数を返す

%%\tab{polarcoordx()}極座標$r,\ t$の$x$座標を与える関数を返す

%\tab{Sfcutdata(曲面データ, 切断面データ \{, 分割数\} )}\\
%\tab{}曲面を切ったときの切り口の3dデータを作成\\
%\chuu 切断面は,$x,\ y,\ z$などの方程式で与える.\\
%\hspace*{15zw}(平面の場合は,Phcutdataのように与えてもよい)\\
%\rei \verb|Fd$<$- c("p","R*cos(T)","R*sin(T)","2*(1-R)",|\\
%\reicr \verb|           "R$<$- c(0,1)","T$<$- c(0,2*%pi)","se")|\\
%\reicr \verb|Out$<$- Sfcutdata(Fd,"x^2+(z-1/2)^2$<$- 1/4")|

%\tab{Sfcutoffparadata(関数データ, 切断面, 符号 \{ , 分割数\} )}

%\tab{Sfcutoffrawparadata(関数データ, 切断面, 符号 \{ , 分割数\} )}

%\tab{Sfcutoffpersdata(関数データ, 切断面, 符号 \{ , 分割数\} )}

%\tab{Sfcutoffrawpersdata(関数データ, 切断面, 符号 \{ , 分割数\} )}

%\tab{}切断面で切った曲面をリッジライン法で返す

%
%\rei \verb|Fd$<$- list("z$<$- 2*(1-sqrt(abs(x^2+y^2)))","x$<$- R*cos(T)",|\\
%\reicr \verb|      "y$<$- R*sin(T)","R$<$- c(0,1)","T$<$- c(0,2*%pi)","e")|\\
%\reicr \verb|  Out$<$- Sfcutoffparadata(Fd,"z$<$- 1+2*x","-")|


\section{その他}

%\tab{bksl("コマンド}\,)}コマンドに$\backslash$をつけた文字列を作る\\
%\rei str$<$- bksl("sin x}\,)

\tab{Readtextdata(ファイル名,\{開始位置\{,オプション\}\})}\\
\tab{}%
\begin{mini}{30zw}
ファイルからコンマ,スペース,タブ区切りのテキストを読込み,
データ行列を返す\vspace{2mm}
\end{mini}\\
\chuu オプション:\\
\hspace*{18zw}"R=読み込み行数" (デフォルトはすべて)\\
\hspace*{18zw}"C=読み込み列数"(デフォルトはすべて) \\
\hspace*{18zw}"Cna=論理値" 1行を列名にするか(デフォルトTRUE) \\
\hspace*{18zw}"Rna=論理値" 1列を行名にするか(デフォルトFALSE) \\
\rei DL$<$- Readtextdata("dt.csv",\ c(2,\ 1),\ "R=1000",\ "C=2")

\tab{Writetextdata(データフレーム,ファイル名)}\\
\tab{}データフレームを .csvファイルに書き出す\\
\chuu 列名は1行目におき,NAはblankにする\\
\rei Writetextdata(Df, "ex.csv")

\tab{Tonumeric(\,文字列からなるデータ行列 \{, 開始位置 \{ , 終了位置\}\}\.)}\\
\tab{}行列の成分を数値に変換(変換できる行と列からなる部分行列)\\
\rei Dn$<$- Tonumeric(DL)

%\tab{Newlength(\,)}%
%\begin{mini}{30zw}
%距離変数 \verb+ \Width, \Height, \Depth +を定義する\TeX コマンドを画面に表示
%\end{mini}
%\\
%\rei \prompt newlength()+\\
%\hspace*{6zw}\reicr \verb+\newlength{\Width}+\\%
%\hspace*{6zw}\reicr \verb+\newlength{\Height}+\\%
%\hspace*{6zw}\reicr \verb+\newlength{\Depth}+%

%\tab{Mawarikomi("幅"\,)}%
%\begin{mini}{28zw}
%emathのmawarikomi環境のコードを生成表示
%\end{mini}\\
%\rei Mawarikomi("5cm"\,)

\subsection{作表}

\tab{Tabledata(\{大きさ,\}\ 縦線相対幅,\ 横線相対高さ\,)}\\%
\tab{}表のデータlistを返す\\
\tab{}\hspace{-2zw}戻り値:PD,縦線添字,横線添字,枠縦PD,枠横PD,外枠PD\\
\hspace*{10zw}大きさは次のベクトル\\
\hspace*{12zw}横,縦(,\ 左margin,\ 右margin(,\ 上margin,\ 下margin))\\
\chuu 横(縦)を -1 としたときは,縦(横)線のデータから\\
\hspace*{16.3zw}自動的に計算される(デフォルト)\\
\hspace*{10zw}縦線相対位置は左の罫線からの幅list(縦方向の始点,終点)\\
\hspace*{10zw}横線相対位置は上の罫線からの幅list(横方向の始点,終点)\\
\chuu 描画領域は自動的に設定される

\rei Tmp1$<$- list(20, 30,list(30,0,10), list(0,15,20), 40)\\
\reicr Tmp2$<$- list(15)\\
\reicr Out$<$- Tabledata(c(150,20),Tmp1,Tmp)\\
\reicr Tb$<$- Tabledata(Tmp1,Tmp2)

\tab{Dividetable(表データ)}枠,縦罫線,横罫線を成分とするリストを返す\\
\rei G$<$- Dividetable(Tb)(G[[1]],G[[2]],G[[3]]が枠,縦,横)

\tab{Partframe(表データ,\ 開始位置,終了位置)}\\
\tab{}枠の一部のPD\\
\chuu 位置はそれぞれ,c(列番号,\ 行番号)\\
\chuu 開始位置から終了位置までの反時計回りのPD\\
\rei G$<$- Parframe(Tb,\ c(4,1),c(1,2))

\tab{Findcell(表データ,\ 列番号,\ 行番号\,)}\\%
\tab{}セルの情報list(中心,横幅/2,縦幅/2)を返す\\
\chuu 番号は左上の位置\\
\rei Out$<$- Findcell(Out,2,1)\\
\chuu 番号がベクトルのときは,その範囲のセル\\
\rei Out$<$- Findcell(Out,c(2,4),1)\\
\chuu 番号がベクトルのときは,その範囲のセル\\
\rei Out$<$- Findcell(Out,c(2,4),1)\\
\tab{Findcell(表データ,\ 左セル,\{ 右セル\} )}\\
\rei Out$<$- Findcell(Out,"A2")

\tab{Diagcelldata(表データ,列番号,行番号)}\\
\tab{}セルの対角線PDのリストを返す

\tab{Putcell(表データ,\ 列番号,\ 行番号,\ 位置,\ 文字データ)}\\%
\tab{}セルに文字列を入れるコードを出力\\
\chuu 位置は"c", "r", "l", "u", "d", "b" \\
\chuu u : up , d : down, b : baseline (微小移動量を付加できる)\\
\rei Putcell(Out,2,1,"c","221")\\
\rei Putcell(Out,"B3","l","\$ab\$")

\tab{Putrow(表データ,\  行番号,\ 文字データの列)}\\%
\tab{}1行に順に文字を書き入れる\\
\rei Putrow(TbL, 2, "a", "b", "c" )\\
\chuu デフォルト位置は "c" それ以外のときはlist内で指定\\
\chuu 複数列にわたるときは,列数を list 内で指定\\
\rei Putrow(TbL, 2, list("r","a"), list(2, "b"), "c")\\
\hspace*{20zw}(rの位置にa,2列とってbをおく)

\tab{Putrowexpr(表データ,\  行番号,\ 文字位置,\ 文字データの列)}\\%
\tab{}1行に順に数式を書き入れる

\tab{PutcoL(表データ,\  列番号(名前)(,\ 文字データの列)}\\%
\tab{}1列に順に文字を書き入れる\\
\rei PutcoL(TbL, "C", "a", "b", "c" )

\tab{PutcoLexpr(表データ,\  列番号(名前),\ 文字位置,文字データの列}\\%
\tab{}1列に順に数式を書き入れる

\tab{Putrowstr(表データ,\  行番号,文字位置,文字列}\\%
\tab{}1行に文字列の文字を1つずつ書き入れる\\
\rei Putrowstr(TbL, 1, "c", "xyz" )

\tab{PutcoL(表データ,\  列番号(名前),文字位置,文字列}\\%
\tab{}1列に文字列の文字を1つずつ書き入れる

\subsection{\TeX のコマンド書き出し(メタコマンド)}

\tab{Texcom("コマンド"\,)}\TeX コマンドのコードを書き出す\\
\rei Texcom("$\backslash\backslash$begin\{minipage\}\{3cm\}")\\
\chuu "newline" のとき,空白行を挿入


\tab{Openphr(\,ユーザーコマンド名\,),Closephr(\,)}\\
\tab{}$\backslash$defのコマンド定義を始める\\
\rei Openphr("$\backslash\backslash$p"\,)\\
\reicr Texcom("$\backslash\backslash$begin\{array\}\{cc\}"\,)\\
\reicr Texcom("5 \& 3$\backslash\backslash\backslash\backslash$"\,)\\
\reicr Texcom("8 \& 7"\,)\\
\reicr Texcom("$\backslash$end\{array\}\$"\,)\\
\reicr Closephr(\,)

\tab{Openpar(\,ユーザーコマンド名,幅\ \{,\  位置 \}\,), Closepar(\,)}\\
\tab{}minipage環境を含む$\backslash$def コマンド定義を始める\\
\chuu 位置のデフォルトは "c"\\
\rei Openpar("$\backslash\backslash$s","5cm"\,)\\
\reicr Texcom("$\backslash\backslash$input\{rei\}"\,)\\
\reicr Closepar(\,)\\
\reicr Letter(\,c([2,3),"se","$\backslash\backslash$s"\,)

\tab{Texletter(\ 点(list形式), 方向, 文字列 ,・・・)}\\
\tab{}点の位置の「方向」に文字列をかく(複数可)\\
\rei Texletter(\,list(4,"\#1"),"n","文字")\\
\chuu 位置は"n", s", "e", "w", "ne", "nw", "se", "sw", "c"\\
\chuu 点の位置はリスト形式で,\TeX の形式で渡すことができる.

\tab{Texnewctr(番号または番号のベクトル)}\\
\tab{}\ketpic で使うカウンタ(ketpicctra,...)を定義

\tab{Texctr(番号またはカウンタ名)}\\
\tab{}番号のカウンタ名またはカウンタ名を返す

\tab{Texthectr(番号)} \verb|\|the+カウンタ名の文字列を返す

\tab{Texvalctr(番号)} \verb|\|value\{カウンタ名\}の文字列を返す

\tab{Texsetctr(番号,文字列)}カウンタに値をセットする\TeX コマンド列を出力\\
\rei Texsetctr(2, "1*2/3");\\
\rei Texsetctr(2, "(-\verb|#|1)+2");

\tab{Texletter(位置(list),方向,文字列)}\\
\tab{}位置listで表される点に文字列をかく\TeX コマンド列を出力\\
\rei Texletter(list(10,paste("-",Texvctr(2),sep="")),"ne","\verb|\|content");\\
\rei Texletter(list(0, "\verb|#|1"), "c", "A");

\tab{Texnewcmd(コマンド名,引数の個数,オプション値)}\\
\tab{}\verb|\|newcommand を始める\TeX コマンドを出力

\tab{Texrenewcmd(コマンド名,引数の個数,オプション値)}\\
\tab{}\verb|\|renewcommand を始める\TeX コマンドを出力

\tab{Texend()}\TeX のコマンド定義を終わる\TeX コマンドを出力

\tab{Texfor(カウンタ番号,初期値,終了値)}\\
\tab{}\TeX のループ構造を始める.\\
\chuu   初期値,終了値は文字列で与える.\\
\rei Texfor(1,"1","\verb|#|1");

\tab{Texendfor(カウンタ番号)}\TeX のループ構造を終える.\\
\rei Texendfor(1);

\tab{Texforinit()}\TeX のループ構造を初期化

\tab{Texif(数値条件\ \{ ,1 \})}\TeX のif構造を始める.(ifnumまたは ifdim)\\
\chuu 条件は文字列で与える.\\
\chuu 1を追加したときは ifdim\\
\rei Texif("Texctr(1)\verb|<#|2");

\tab{Texelse()}\TeX のelseブロック.

\tab{Texendif()}\TeX のif構造を終える.
%\tab{Setmark()}マークシート用マークのコードを出力

%\tab{Putdashmark(表データ,\ 列番号,\ 行番号,文字列or番号)}\\
%\rei Putdashmark(Out,2,1,0:9);

%\tab{Putcirmark(表データ,\ 列番号,\ 行番号)}

%\tab{Putrecmark(表データ,\ 列番号,\ 行番号}

\subsection{カラー設定}

\tab{Setcolor(色 \{, 濃さ\})}色を設定\\
\chuu colorパッケージ必要\\
\hspace*{2zw} 色は,次の文字列または [c,m,y,k]のベクトル\\
\hspace*{2.5zw}"greenyellow"[0.15,0,0.69,0],
"yellow"[0,0,1,0],
"goldenrod"[0,0.1,0.84,0],
"dandelion"[0,0.29,0.84,0]\\
\hspace*{2.5zw}"apricot"[0,0.32,0.52,0],
"peach"[0,0.5,0.7,0],
"melon"[0,0.46,0.5,0],
"yelloworange"[0,0.42,1,0]\\
\hspace*{2.5zw}""orange"[0,0.61,0.87,0],
"burntorange"[0,0.51,1,0],
"bittersweet"[0,0.75,1,0.24],\\
\hspace*{2.5zw}"redorange"[0,0.77,0.87,0]\\
\hspace*{2.5zw}"mahogany"[0,0.85,0.87,0.35],
"maroon"[0,0.87,0.68,0.32],
"brickred"[0,0.89,0.94,0.28],
"red"[0,1,1,0]\\
\hspace*{2.5zw}"orangered"[0,1,0.5,0],
"rubinered"[0,1,0.13,0],
"wildstrawberry"[0,0.96,0.39,0],\\
\hspace*{2.5zw}"salmon"[0,0.53,0.38,0]\\
\hspace*{2.5zw}"carnationpink"[0,0.63,0,0],
"magenta"[0,1,0,0],
"violetred"[0,0.81,0,0],
"rhodamine"[0,0.82,0,0]\\
\hspace*{2.5zw}"mulberry"[0.34,0.9,0,0.02],
"redviolet"[0.07,0.9,0,0.34],
"fuchsia"[0.47,0.91,0,0.08],\\
\hspace*{2.5zw}"lavender"[0,0.48,0,0]\\
\hspace*{2.5zw}"thistle"[0.12,0.59,0,0],
"orchid"[0.32,0.64,0,0],
"darkorchid"[0.4,0.8,0.2,0],
"purple"[0.45,0.86,0,0]\\
\hspace*{2.5zw}"plum"[0.5,1,0,0],
"violet"[0.79,0.88,0,0],
"royalpurple"[0.75,0.9,0,0],
"blueviolet"[0.86,0.91,0,0.04]\\
\hspace*{2.5zw}"periwinkle"[0.57,0.55,0,0],
"cadetblue"[0.62,0.57,0.23,0],
"cornflowerblue"[0.65,0.13,0,0],\\
\hspace*{2.5zw}"midnightblue"[0.98,0.13,0,0.43]\\
\hspace*{2.5zw}"navyblue"[0.94,0.54,0,0],
"royalblue"[1,0.5,0,0],
"blue"[1,1,0,0],
"cerulean"[0.94,0.11,0,0]\\
\hspace*{2.5zw}"cyan"[1,0,0,0],
"processblue"[0.96,0,0,0],
"skyblue"[0.62,0,0.12,0],
"turquoise"[0.85,0,0.2,0]\\
\hspace*{2.5zw}"tealblue"[0.86,0,0.34,0.02],
"aquamarine"[0.82,0,0.3,0],
"bluegreen"[0.85,0,0.33,0],\\
\hspace*{2.5zw}"emerald"[1,0,0.5,0]\\
\hspace*{2.5zw}"junglegreen"[0.99,0,0.52,0],
"seagreen"[0.69,0,0.5,0],
"green"[1,0,1,0],
"forestgreen"[0.91,0,0.88,0.12]\\
\hspace*{2.5zw}"pinegreen"[0.92,0,0.59,0.25],
"limegreen"[0.5,0,1,0],
"yellowgreen"[0.44,0,0.74,0],\\
\hspace*{2.5zw}"springgreen"[0.26,0,0.76,0]\\
\hspace*{2.5zw}"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]\\
\hspace*{2.5zw}"tan"[0.14,0.42,0.56,0],
"gray"[0,0,0,0.5],
"black"[0,0,0,1],
"white"[0,0,0,0]

\end{document}

\newpage

\section{内部コマンド}

\tab{CalcHeight}

\tab{CalcWidth}

\tab{Dataindex}

\tab{Gaiseki}

\tab{InWindow}

\tab{Kouten}

\tab{KoutenList}

\tab{Koutenseg}

\tab{Kyoukai}

\tab{MakeBowdata}

\tab{MakeCurves}

\tab{Makehasen}

\tab{Makeshasen}

\tab{MeetWindow}

\tab{Mixmake}

\tab{Naigai}

\tab{Naiseki}

\tab{Vecnagasa(A, B)}$<$- norm(B-A)

\tab{Makevaltable}

\tab{Connectseg}



\end{document}