summaryrefslogtreecommitdiff
path: root/support/biblio/readme.1st.ps
blob: 643b6baa657221508a1ccb6f6c147b2469ec53b4 (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
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
%!PS-Adobe-3.0
%%Title: readme.1st
%%For: 
%%Creator: a2ps version 4.13
%%CreationDate: Tue Mar 12 12:30:14 2002
%%BoundingBox: 24 24 571 818
%%DocumentData: Clean7Bit
%%Orientation: Landscape
%%Pages: 8
%%PageOrder: Ascend
%%DocumentMedia: A4 595 842 0 () ()
%%DocumentNeededResources: font Courier
%%+ font Courier-Bold
%%+ font Courier-BoldOblique
%%+ font Courier-Oblique
%%+ font Helvetica
%%+ font Helvetica-Bold
%%+ font Symbol
%%+ font Times-Bold
%%+ font Times-Roman
%%DocumentProcessColors: Black 
%%DocumentSuppliedResources: procset a2ps-a2ps-hdr
%%+ procset a2ps-black+white-Prolog
%%+ encoding ISO-8859-1Encoding
%%EndComments
/a2psdict 200 dict def
a2psdict begin
%%BeginProlog
%%Copyright: (c) 1988, 89, 90, 91, 92, 93 Miguel Santana
%%Copyright: (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana
% Check PostScript language level.
/languagelevel where {
  pop /gs_languagelevel languagelevel def
} {
  /gs_languagelevel 1 def
} ifelse

% EPSF import as in the Red Book
/BeginInclude {
  /b4_Inc_state save def    		% Save state for cleanup
  /dict_count countdictstack def	% Count objects on dict stack
  /op_count count 1 sub def		% Count objects on operand stack 
  userdict begin
    0 setgray 0 setlinecap
    1 setlinewidth 0 setlinejoin
    10 setmiterlimit [ ] 0 setdash newpath
    gs_languagelevel 1 ne {
      false setstrokeadjust false setoverprint 
    } if
} bind def

/EndInclude {
  count op_count sub { pos } repeat	% Clean up stacks
  countdictstack dict_count sub { end } repeat
  b4_Inc_state restore
} bind def

/BeginEPSF {
  BeginInclude
  /showpage { } def
} bind def

/EndEPSF {
  EndInclude
} bind def

% Page prefeed
/page_prefeed {         % bool -> -
  statusdict /prefeed known {
    statusdict exch /prefeed exch put
  } {
    pop
  } ifelse
} bind def

/deffont {
  findfont exch scalefont def
} bind def

/reencode_font {
  findfont reencode 2 copy definefont pop def
} bind def

% Function c-show (str => -)
% centers text only according to x axis.
/c-show { 
  dup stringwidth pop
  2 div neg 0 rmoveto
  show
} bind def

% Function l-show (str => -)
% prints texts so that it ends at currentpoint
/l-show {
  dup stringwidth pop neg 
  0 
  rmoveto show
} bind def

% center-fit show (str w => -)
% show centered, and scale currentfont so that the width is less than w
/cfshow {
  exch dup stringwidth pop
  % If the title is too big, try to make it smaller
  3 2 roll 2 copy
  gt
  { % if, i.e. too big
    exch div
    currentfont exch scalefont setfont
  } { % ifelse
    pop pop 
  }
  ifelse
  c-show			% center title
} bind def

% Return the y size of the current font
% - => fontsize
/currentfontsize {
  currentfont /FontMatrix get 3 get 1000 mul
} bind def

% reencode the font
% <encoding-vector> <fontdict> -> <newfontdict>
/reencode { %def
  dup length 5 add dict begin
    { %forall
      1 index /FID ne 
      { def }{ pop pop } ifelse
    } forall
    /Encoding exch def

    % Use the font's bounding box to determine the ascent, descent,
    % and overall height; don't forget that these values have to be
    % transformed using the font's matrix.
    % We use `load' because sometimes BBox is executable, sometimes not.
    % Since we need 4 numbers an not an array avoid BBox from being executed
    /FontBBox load aload pop
    FontMatrix transform /Ascent exch def pop
    FontMatrix transform /Descent exch def pop
    /FontHeight Ascent Descent sub def

    % Define these in case they're not in the FontInfo (also, here
    % they're easier to get to.
    /UnderlinePosition 1 def
    /UnderlineThickness 1 def
    
    % Get the underline position and thickness if they're defined.
    currentdict /FontInfo known {
      FontInfo
      
      dup /UnderlinePosition known {
	dup /UnderlinePosition get
	0 exch FontMatrix transform exch pop
	/UnderlinePosition exch def
      } if
      
      dup /UnderlineThickness known {
	/UnderlineThickness get
	0 exch FontMatrix transform exch pop
	/UnderlineThickness exch def
      } if
      
    } if
    currentdict 
  end 
} bind def

% Function print line number (<string> # -)
/# {
  gsave
    sx cw mul neg 2 div 0 rmoveto
    f# setfont
    c-show
  grestore
} bind def

% -------- Some routines to enlight plain b/w printings ---------

% Underline
% width --
/dounderline {
  currentpoint
  gsave
    moveto
    0 currentfont /Descent get currentfontsize mul rmoveto
    0 rlineto
    stroke
  grestore
} bind def

% Underline a string
% string --
/dounderlinestring {
  stringwidth pop
  dounderline
} bind def

/UL {
  /ul exch store
} bind def

% Draw a box of WIDTH wrt current font
% width --
/dobox {
  currentpoint
  gsave
    newpath
    moveto
    0 currentfont /Descent get currentfontsize mul rmoveto
    dup 0 rlineto
    0 currentfont /FontHeight get currentfontsize mul rlineto
    neg 0 rlineto
    closepath
    stroke
  grestore
} bind def

/BX {
  /bx exch store
} bind def

% Box a string
% string --
/doboxstring {
  stringwidth pop
  dobox
} bind def

%
% ------------- Color routines ---------------
%
/FG /setrgbcolor load def

% Draw the background
% width --
/dobackground {
  currentpoint
  gsave
    newpath
    moveto
    0 currentfont /Descent get currentfontsize mul rmoveto
    dup 0 rlineto
    0 currentfont /FontHeight get currentfontsize mul rlineto
    neg 0 rlineto
    closepath
    bgcolor aload pop setrgbcolor
    fill
  grestore
} bind def

% Draw bg for a string
% string --
/dobackgroundstring {
  stringwidth pop
  dobackground
} bind def


/BG {
  dup /bg exch store
  { mark 4 1 roll ] /bgcolor exch store } if
} bind def


/Show {
  bg { dup dobackgroundstring } if
  ul { dup dounderlinestring } if
  bx { dup doboxstring } if
  show
} bind def

% Function T(ab), jumps to the n-th tabulation in the current line
/T {
  cw mul x0 add
  bg { dup currentpoint pop sub dobackground } if
  ul { dup currentpoint pop sub dounderline } if
  bx { dup currentpoint pop sub dobox } if
  y0 moveto
} bind def

% Function n: move to the next line
/n {
  /y0 y0 bfs sub store
  x0 y0 moveto
} bind def

% Function N: show and move to the next line
/N {
  Show
  /y0 y0 bfs sub store
  x0 y0 moveto
} bind def

/S {
  Show
} bind def

%%BeginResource: procset a2ps-a2ps-hdr 2.0 2
%%Copyright: (c) 1988, 89, 90, 91, 92, 93 Miguel Santana
%%Copyright: (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana
% Function title: prints page header.
% <ct> <rt> <lt> are passed as argument
/title { 
  % 1. Draw the background
  x v get y v get moveto
  gsave
    0 th 2 div neg rmoveto 
    th setlinewidth
    0.95 setgray
    pw 0 rlineto stroke
  grestore
  % 2. Border it
  gsave
    0.7 setlinewidth
    pw 0 rlineto
    0 th neg rlineto
    pw neg 0 rlineto
    closepath stroke
  grestore
  % stk: ct rt lt
  x v get y v get th sub 1 add moveto
%%IncludeResource: font Helvetica
  fHelvetica fnfs 0.8 mul scalefont setfont
  % 3. The left title
  gsave
    dup stringwidth pop fnfs 0.8 mul add exch % leave space took on stack
    fnfs 0.8 mul hm rmoveto
    show			% left title
  grestore
  exch
  % stk: ct ltw rt
  % 4. the right title
  gsave
    dup stringwidth pop fnfs 0.8 mul add exch % leave space took on stack
    dup
    pw exch stringwidth pop fnfs 0.8 mul add sub
    hm
    rmoveto
    show			% right title
  grestore
  % stk: ct ltw rtw
  % 5. the center title
  gsave
    pw 3 1 roll
    % stk: ct pw ltw rtw
    3 copy 
    % Move to the center of the left room
    sub add 2 div hm rmoveto
    % What is the available space in here?
    add sub fnfs 0.8 mul sub fnfs 0.8 mul sub
    % stk: ct space_left
%%IncludeResource: font Helvetica-Bold
  fHelvetica-Bold fnfs scalefont setfont
    cfshow
  grestore
} bind def

% Function border: prints virtual page border
/border { %def
  gsave				% print four sides
    0 setgray
    x v get y v get moveto
    0.7 setlinewidth		% of the square
    pw 0 rlineto
    0 ph neg rlineto
    pw neg 0 rlineto
    closepath stroke
  grestore
} bind def

% Function water: prints a water mark in background
/water { %def
  gsave
    scx scy moveto rotate
%%IncludeResource: font Times-Bold
  fTimes-Bold 100 scalefont setfont
    .97 setgray
    dup stringwidth pop 2 div neg -50 rmoveto
    show
  grestore
} bind def

% Function rhead: prints the right header
/rhead {  %def
  lx ly moveto
  fHelvetica fnfs 0.8 mul scalefont setfont
  l-show
} bind def

% Function footer (cf rf lf -> -)
/footer {
  fHelvetica fnfs 0.8 mul scalefont setfont
  dx dy moveto
  show

  snx sny moveto
  l-show
  
  fnx fny moveto
  c-show
} bind def
%%EndResource
%%BeginResource: procset a2ps-black+white-Prolog 2.0 1

% Function T(ab), jumps to the n-th tabulation in the current line
/T { 
  cw mul x0 add y0 moveto
} bind def

% Function n: move to the next line
/n { %def
  /y0 y0 bfs sub store
  x0 y0 moveto
} bind def

% Function N: show and move to the next line
/N {
  Show
  /y0 y0 bfs sub store
  x0 y0 moveto
}  bind def

/S {
  Show
} bind def

/p {
  false UL
  false BX
  fCourier bfs scalefont setfont
  Show
} bind def

/sy {
  false UL
  false BX
  fSymbol bfs scalefont setfont
  Show
} bind def

/k {
  false UL
  false BX
  fCourier-Oblique bfs scalefont setfont
  Show
} bind def

/K {
  false UL
  false BX
  fCourier-Bold bfs scalefont setfont
  Show
} bind def

/c {
  false UL
  false BX
  fCourier-Oblique bfs scalefont setfont
  Show
} bind def

/C {
  false UL
  false BX
  fCourier-BoldOblique bfs scalefont setfont
  Show 
} bind def

/l {
  false UL
  false BX
  fHelvetica bfs scalefont setfont
  Show
} bind def

/L {
  false UL
  false BX
  fHelvetica-Bold bfs scalefont setfont
  Show 
} bind def

/str{
  false UL
  false BX
  fTimes-Roman bfs scalefont setfont
  Show
} bind def

/e{
  false UL
  true BX
  fHelvetica-Bold bfs scalefont setfont
  Show
} bind def

%%EndResource
%%EndProlog
%%BeginSetup
%%IncludeResource: font Courier
%%IncludeResource: font Courier-Oblique
%%IncludeResource: font Courier-Bold
%%IncludeResource: font Times-Roman
%%IncludeResource: font Symbol
%%IncludeResource: font Courier-BoldOblique
%%BeginResource: encoding ISO-8859-1Encoding
/ISO-8859-1Encoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright 
/parenleft /parenright /asterisk /plus /comma /minus /period /slash 
/zero /one /two /three /four /five /six /seven 
/eight /nine /colon /semicolon /less /equal /greater /question 
/at /A /B /C /D /E /F /G 
/H /I /J /K /L /M /N /O 
/P /Q /R /S /T /U /V /W 
/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore 
/quoteleft /a /b /c /d /e /f /g 
/h /i /j /k /l /m /n /o 
/p /q /r /s /t /u /v /w 
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef 
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef 
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section 
/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron 
/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /bullet 
/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown 
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla 
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis 
/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply 
/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls 
/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla 
/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis 
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide 
/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis 
] def
%%EndResource
% Initialize page description variables.
/sh 595 def
/sw 842 def
/llx 24 def
/urx 818 def
/ury 571 def
/lly 24 def
/#copies 1 def
/th 15.000000 def
/fnfs 11 def
/bfs 8.005733 def
/cw 4.803440 def

% Dictionary for ISO-8859-1 support
/iso1dict 8 dict begin
  /fCourier ISO-8859-1Encoding /Courier reencode_font
  /fCourier-Bold ISO-8859-1Encoding /Courier-Bold reencode_font
  /fCourier-BoldOblique ISO-8859-1Encoding /Courier-BoldOblique reencode_font
  /fCourier-Oblique ISO-8859-1Encoding /Courier-Oblique reencode_font
  /fHelvetica ISO-8859-1Encoding /Helvetica reencode_font
  /fHelvetica-Bold ISO-8859-1Encoding /Helvetica-Bold reencode_font
  /fTimes-Bold ISO-8859-1Encoding /Times-Bold reencode_font
  /fTimes-Roman ISO-8859-1Encoding /Times-Roman reencode_font
currentdict end def
/bgcolor [ 0 0 0 ] def
/bg false def
/ul false def
/bx false def
% The font for line numbering
/f# /Helvetica findfont bfs .6 mul scalefont def
/fSymbol /Symbol findfont def
/hm fnfs 0.25 mul def
/pw
   cw 81.400000 mul
def
/ph
   501.959430 th add
def
/pmw urx llx sub pw 2 mul sub 1 div def
/pmh 0 def
/v 0 def
/x [
  0
  dup pmw add pw add
] def
/y [
  pmh ph add 0 mul ph add
  dup
] def
/scx sw 2 div def
/scy sh 2 div def
/snx urx def
/sny lly 2 add def
/dx llx def
/dy sny def
/fnx scx def
/fny dy def
/lx snx def
/ly ury fnfs 0.8 mul sub def
/sx 0 def
/tab 8 def
/x0 0 def
/y0 0 def
%%EndSetup

%%Page: (1-2) 1
%%BeginPageSetup
/pagesave save def
sh 0 translate 90 rotate
%%EndPageSetup
iso1dict begin
gsave
llx lly 12 add translate
/v 0 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
() p n
(                                    BIBLIO) N
(                          bibliographic preprocessor) N
() N
() N
(                                09 April 2001) N
(                                27 June  2001) N
(                                07 Sept  2001 \(ver 1.1\)) N
(                                17 Sep   2001 \(ver 1.11\)) N
(                                04 Oct   2001 \(ver 1.2\)) N
(                                12 March 2002 \(ver 1.21\)) N
() N
(CONTENT) N
() N
(Abstract) N
() N
(0.  Copyright) N
(1.  Statement of Purpose) N
(2.  General Ideas) N
(3.  Structure of the Biblio-Database) N
(4.  Structure of the Format File \(Format Strings\)) N
(5.  Running Biblio) N
(6.  Examples) N
(7.  Additional Scripts) N
(8.  Installation Guide and Short Instruction) N
(9.  Perl To C) N
(10. To Do) N
(11. Known Bugs) N
() N
(===============================================================================) N
(     ) N
(                                     Abstract) N
() N
(Biblio is a programm for preprocessing your bibliographic references. It is) N
(written in Perl and does not use the LaTeX internal language. After ) N
(preprocessing the input TeX file it creates output TeX file with references) N
(included according to the formats prescribed either in a separate file ) N
(\(called "template" or "format file" further on\)) N
(or in the header of the input TeX file. Output TeX is ready for LaTeX.) N
(If you do not need details, move to the section 8 \(and 9\) of this text.) N
() N
() N
(-------------------------------------) N
() N
(0. COPYRIGHT) N
() N
(This  is  free software. But NO use in commercial purposes is allowed.) N
(There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR ) N
(PURPOSE.) N
() N
(-------------------------------------) N
() N
(1. STATEMENT OF PURPOSE) N
() N
(Don't reinvent a wheel - this should be your first reaction. Might be you are ) N
(right: many people use BibTeX or some other \(I don't know which but pretty sure ) N
(they do exist\) programs to pre-process their bibliographic references lists. ) N
(But what I did before was just including all citations directly into my ) N
(TeX-file. Before... Before this story has happened. ) N
() N
(I was writing an article and from the very beginning we \(I and my bosses\) ) N
(decided to send it to the Journal A. Of course, I wrote everything including ) N
(readme.1st) (Page 1/15) (Mar 12, 02 12:27) title
border
/v 1 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(citations in the style of this journal. But when the work was almost finished ) p n
(we \(you know whom I mean\) decided to send the paper to another journal, say ) N
(Journal B. And of course it has different rules and standards. ) N
(No problem - one should say,- Use BibTeX. Yes, that's OK - is my reply. ) N
(But what I basicly needed was to change the order of names \(last, first, etc\) ) N
(in the authors list. Like instead of "J.J.Smith" now I needed "Smith, J.J.".) N
(Might be information I used was quite outdated, but I could not find the way to ) N
(handle this kind of things with the BibTeX. ) N
() N
(Another reason to start this project was handle somehow ordering of the ) N
(citation list. Normally articles in the "References and Notes" section should ) N
(appear in the same order as they are in the body-text. But sometimes it's quite ) N
(useful to have the list ordered according to the first author name or something ) N
(different.) N
() N
(And finally, some journals  prefer to have "as raw text as possible". They do ) N
(accept TeX-files but...  without cross references and citations which means, ) N
(that everything have to be done by hands and ONLY ONE file has to be submitted. ) N
(I don't like this idea! But I DO want to be published there! So, may be a ) N
(partial solution is \(for citations at least\) is to pre-process the TeX-file to ) N
(another TeX-file where all \\cite and \\bibitem commands are substituted by ) N
(normal text. Of course, according to some pattern. This solves one more ) N
(problem - I'm not very good in TeX programming and find it quite difficult to ) N
(make TeX command \\cite produce some nice output in the form $^{1,2,6}$ instead ) N
(of [1,2,6].) N
( ) N
(So, let's move to the GENERAL IDEAS) N
() N
(-----------------------------------------------------) N
() N
(2.GENERAL IDEAS) N
() N
(  A. This program pre-processes TeX-file making another TeX-file.) N
() N
(  B. Citations are inserted from the DataBase\(s\) which has form of a separate ) N
(file. Fields of the records in this file are absolutely ARBITRARY, except for ) N
(LABEL and TYPE. Field AUTHOR has also some special meaning which will be ) N
(clarified further on.) N
(This DataBase has form of) N
(======================================================) N
(LABEL   = Landau) N
(TYPE    = book) N
(AUTHORL = Landau|Lifshits) N
(AUTHORF = L     |E.) N
(AUTHORM = D.    |M.) N
(TITLE   = Statistical Physics) N
(PUBL    = Pergamon) N
(PLACE   = Oxford) N
(YEAR    = 1980) N
(----------) N
(LABEL   = Vasilevskaya) N
(TYPE    = article0) N
(AUTHORL = Vasilevskaya|Klochkov|Khalatur|Khokhlov|Brinke) N
(AUTHORF = V.          |A.      |P.      |A.      |G.) N
(AUTHORM = V.          |A.      |G.      |R.      |) N
(TITLE   = Microphase separation within comb-like copolymer with attractive  side) N
(-chains: computer simulations.) N
(JOURNAL = Macromol. Theory and Simul.) N
(STATE   = accepted) N
(----------) N
(LABEL   = Helfand1) N
(TYPE    = article) N
(readme.1st) (Page 2/15) (Mar 12, 02 12:27) title
border
grestore
(Printed by ) rhead
(readme.1st) (1/8) (Tuesday March 12, 2002) footer
end % of iso1dict
pagesave restore
showpage
%%Page: (3-4) 2
%%BeginPageSetup
/pagesave save def
sh 0 translate 90 rotate
%%EndPageSetup
iso1dict begin
gsave
llx lly 12 add translate
/v 0 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(AUTHORL = Helfand|Wasserman) p n
(AUTHORF = E.     |Z.) N
(AUTHORM =        |R.) N
(JOURNAL = Macromolecules) N
(VOL     = 9) N
(PAGE    = 879) N
(YEAR    = 1976) N
(----------) N
(LABEL   = 3dFlex) N
(TYPE    = article) N
(AUTHORP =         |        |      |ten) N
(AUTHORL = Subbotin|Saariaho|Ikkala|Brinke) N
(AUTHORF = A.      |M.      |O.    |G.) N
(TITLE   = Elasticity of comb copolymer cylindrical brushes) N
(JOURNAL = Macromolecules) N
(PAGE    = 3447) N
(YEAR    = 2000) N
(VOL     = 33) N
(----------) N
(LABEL   = Dobrynin1) N
(TYPE    = article) N
(AUTHORL = Dobrynin|Erukhimovich) N
(AUTHORF = A.|I.) N
(AUTHORM = V.|Y.) N
(TITLE   = Computer-aided comparative investigation of architecture influence of ) N
(block copolymer phase diagrams) N
(JOURNAL = Macromolecules) N
(PAGE    = 276) N
(EPAGE   = 281) N
(YEAR    = 1993) N
(VOL     = 26) N
(COMMENT = Read it before you have graduated!!! ) N
(----------) N
(====================================================================) N
() N
(Please, note that the last entry has EPAGE \(which means "end page"\) and title ) N
(also included whereas record "Helfand1" contains much less information. ) N
(This will not cause any problem. The only person to whom you have to agree is ) N
(yourself: if you call the first \(starting\) page of the paper \(book, etc\) "PAGE",) N
(do it for all entries. If you prefer to call it "EGAP" - it's your choice! ) N
() N
(One can use abbreviation in the form of TeX commands, like) N
("\\mml" can mean "Macromol." if we include line "\\def\\mml{Macromol.}") N
(somewhere in the tex-source. To do so see "-a" option: to point to the ) N
(abbreviations file "-a abbr.tex" should be used. Note: Biblio will not check) N
(consistency of your abbreviations!!!) N
() N
(LABEL and TYPE are predefined! Also AUTHOR is predefined. "AUTHOR" without "L", ) N
("R" or anything else at the end. It is predefined in the sense, that entries in ) N
(the database, which start with "AUTHOR" \("AUTHORL", "AUTHORF"\) are considered to) N
(be arrays with separator "|". There are two equivalent ways to represent them ) N
(in the DataBase:) N
(* one is shown above \(with "|" as separator\)) N
(* the "Dobrynin1" entry can be also written in the form) N
(==============) N
(AUTHORL = Dobrynin) N
(AUTHORF = A.  ) N
(AUTHORM = V.) N
(AUTHORL = Erukhimovich) N
(AUTHORF = I.  ) N
(AUTHORM = Y.) N
(===============) N
(readme.1st) (Page 3/15) (Mar 12, 02 12:27) title
border
/v 1 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(The only important issue is the order of this entries: the first AUTHORF belongs) p n
(to the first AUTHORL. In principle you can include anything between them, like:) N
(===============) N
(AUTHORL = Dobrynin) N
(YEAR    = 1993) N
(AUTHORF = A.  ) N
(AUTHORM = V.) N
(PAGE    = 276) N
(AUTHORL = Erukhimovich) N
(AUTHORF = I.  ) N
(AUTHORM = Y.) N
(==============) N
(It will produce the same result. ) N
() N
(If there are several entries for the same key \(like YEAR\) which is NOT supposed) N
(to be array \(i.e. does not start with AUTHOR\), then only the last one will ) N
(influence the final result.) N
() N
(The fact that all arrays should start with AUTHOR does not mean that you can ) N
(apply it to the authors' list only. It will become more transparent further.) N
() N
( C. Of course you want some nice output. Your LaTeX document should look like:) N
() N
(====) N
(\\documentstyle[12pt,a4]{article}) N
(\\title{Blah-blah}) N
(\\begin{document}\\maketitle) N
() N
(Text text \\cite{Dobrynin1}.) N
(Text Text text \\cite {Dobrynin1,3dFlex}) N
() N
(\\begin{thebibliography}) N
() N
(\\end{thebibliography}) N
() N
(Something more you need \(list of figures or whatever\)) N
() N
(\\end{document}) N
(====) N
() N
(Note, that NOTHING is between \\begin{thebibliography} and ) N
(\\end{thebibliography}. These two are just signs for Biblio to insert your) N
(references list in between.) N
() N
(What does Biblio do? It reads your TeX-file and finds all references \(which you ) N
(have in \\cite command\) in the database. Then it inserts them according to some ) N
(formats \(see further\) between \\begin{thebibliography} and \\end{thebibliography}.) N
(It can do it in two ways:) N
() N
(FIRST: insert them as "\\bibitem{LABEL} TEXT OF THE REF" and not touching ) N
(anything else \(text of the ref is according to the format, of course\);) N
() N
(SECOND: insert them in some special way, where you can define what \\cite will ) N
(produce and what kind of numbering you want in the references list. For example,) N
(if you like $^{1,5-7}$ more than standard [1,5-7], normally produced by \\cite, ) N
(and) N
(\(1\) ref1) N
(\(2\) ref2) N
(instead of) N
([1] ref1) N
([2] ref2) N
(produced by \\bibitem.) N
(readme.1st) (Page 4/15) (Mar 12, 02 12:27) title
border
grestore
(Printed by ) rhead
(readme.1st) (2/8) (Tuesday March 12, 2002) footer
end % of iso1dict
pagesave restore
showpage
%%Page: (5-6) 3
%%BeginPageSetup
/pagesave save def
sh 0 translate 90 rotate
%%EndPageSetup
iso1dict begin
gsave
llx lly 12 add translate
/v 0 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
() p n
(\(Hint: your choice between FIRST and SECOND you can do by using "--nobibitem" ) N
(parameter, and "cite_format" and "ref_format" fields in the format file\).) N
() N
(After it's done, you can process output file with normal LaTeX. ) N
() N
(\(Hint: You can find script "libtex" which will help you to handle it.\)) N
() N
( D. All formats are stored in the format file \(see -f command line option\)) N
(or just in your TeX document's header. About rules \(how to write this formats\)) N
(you can read below.) N
() N
() N
( E. So, your checklist is:) N
(    1. Input TeX file.) N
(    2. References database.) N
(    3. Format file) N
() N
(If you have all these you have to do) N
() N
(biblio  -o outdoc.tex -d refsdata.db refsdata1.db -f formats.db   indoc.tex) N
() N
(where ) N
(- outdoc.tex  - output filename ) N
(  \(if not given, them "biblio."-prefix is added to "indoc.tex") N
(  like "biblio.indoc.tex"\)) N
(- refsdata.db - references database \(may be more than one\)) N
(- formats.db  - format file \(only ONE\)) N
(- indoc.tex   - input file) N
() N
(The order of the parameters is not important.) N
() N
(-------------------------------------) N
() N
(3. STRUCTURE OF THE BIBLIO-DATABASE) N
() N
(It has form described in 2.B. It consists of records. After each record a ) N
(separator has to be placed. By default, it is "----------\\n". You can easily ) N
(change it by command line option "--separator". Only on separator can be used!) N
() N
(Each record has fields. One line per one field - is a rule! ) N
(You cannot change it \(without looking into the source, of course\)! ) N
() N
(Each field has a structure NAME = VALUE.   ) N
() N
(Fields' names LABEL and TYPE are predefined - each record has to have them. ) N
(Otherwise it will be ignored.) N
() N
(Field AUTHOR has a special structure. ) N
(Usage is quite obvious from an example) N
() N
(AUTHORP =         |        |      |ten) N
(AUTHORL = Subbotin|Saariaho|Ikkala|Brinke) N
(AUTHORF = A.      |M.      |O.    |G.) N
(AUTHORM = V.     ) N
() N
(There are 4 authors: Subbotin A.V.; Saariaho M.; Ikkala O. and ten Brinke G.) N
() N
(P, L, F and M are from "prefix", "last", "first", "middle".) N
() N
(Sign "|" separates authors. It is reserved and cannot be changed!) N
() N
(readme.1st) (Page 5/15) (Mar 12, 02 12:27) title
border
/v 1 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(You can use as many fields as you like. If you don't use them in the ) p n
(output - no problem, part of them will be ignored.) N
() N
(You can have several databases. Use inline option "-d" to say Biblio names) N
(of databases you want to use.) N
() N
(That's all!) N
() N
(-------------------------------------) N
() N
(4. STRUCTURE OF THE FORMAT FILE \(FORMAT STRING\)) N
() N
(Your output \(formated entries from database put into the TeX document\) has to ) N
(be formated according to the rules described in the so called format file \(or ) N
(templates\) or just in the beginning of your TeX document. ) N
(The first way is preferable - it gives taste of more structural ordering.) N
(Use option "-f" to point to a format file. Otherwise Biblio will try to find ) N
(formats in the TeX-file and, if not succeeded, will complain and halt.) N
() N
(What we want to format?) N
(1. References list \(what you normally have at the end of your paper\)) N
(2. Citations in the text \(what you do with \\cite\)) N
() N
(Before reading this, read 2.C from "General Ideas" section.) N
() N
(How to write formats? That's the hardest part!) N
() N
(Let's start from an) N
(EXAMPLE:) N
(-------------------) N
(% this is template for Macromolecules) N
(% no ordering of the references is needed. Otherwise add line) N
(% '%ordering= AUTHORL' - ordering with key field 'AUTHORL') N
() N
(%begin{biblio}) N
() N
(%cite_format={\(%s\)}) N
(%ref_format=${^{%s}}$) N
() N
(%% normal article:) N
(% ARTICLE [$AUTHOR0P~L,~F~M; $ {\\it $JOURNAL$}  {\\bf $YEAR$}, {\\it $VOL$}, $PAGE) N
($.]) N
() N
(%% article which is submitted or accepted) N
(% ARTICLE0[$AUTHOR0P~L,~F~M; $ {\\it $JOURNAL$}  $STATE$.]) N
() N
(%% normal book) N
(% BOOK    [$AUTHOR0P~L,~F~M; $ {\\it $TITLE$}; $PUBL$: $PLACE$, $YEAR$.]) N
() N
(%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first ) N
(%% and middle names of the editor ) N
(% EDBOOK  [$AUTHOR0P~L,~F~M; $ in {\\it $BOOKTITLE$}, edited by $AUTHOR0I~E,~G~H;) N
($; $PUBL$: $PLACE$, $YEAR$.]) N
() N
(%% article in a book without editor) N
(% INBOOK  [$AUTHOR0P~L,~F~M; $ in {\\it $BOOKTITLE$}, p.$PAGE$ $PUBL$: $PLACE$, $) N
(YEAR$.]) N
() N
(% EPRINT [$AUTHOR0P~L,~F~M; $ in {\\it $BOOKTITLE$} $INFO$, $YEAR$.]) N
() N
(%end{biblio}) N
(-------------------) N
(readme.1st) (Page 6/15) (Mar 12, 02 12:27) title
border
grestore
(Printed by ) rhead
(readme.1st) (3/8) (Tuesday March 12, 2002) footer
end % of iso1dict
pagesave restore
showpage
%%Page: (7-8) 4
%%BeginPageSetup
/pagesave save def
sh 0 translate 90 rotate
%%EndPageSetup
iso1dict begin
gsave
llx lly 12 add translate
/v 0 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(4.0. Syntax) p n
() N
(  A. Each line starts with %-sign. This is needed because in principle this can ) N
(     be included into your TeX-document, so it has to be considered as a comment) N
(     by LaTeX. Lines, starting with %% are "REAL"  comments \(i.e. they are ) N
(     comments for Biblio too\).) N
() N
(  B. All this information has to be stored either in a template file \(format ) N
(     file\) [use option -f filename] or just in the header of your TeX document.) N
(     In both cases it has to start with '%begin{biblio}' line and end with ) N
(     '%end{biblio}'.) N
(     Only one template file is allowed \(you cannot read from 2 for the) N
(     same document\).) N
() N
(  C. There are some OPTIONAL reserved keys. If omitted, default values are ) N
(     assumed and warning is printed.) N
(     Reserved keys are) N
(     C.1.  cite_format:  has a form %cite_format={\(%s\)}) N
(           %s just means "string". {\(%s\)} will produce output in your) N
(           references list like) N
(           ) N
(           \(1\) Simpson,....) N
(           \(2\) Tompson...) N
(           ...) N
() N
(           or %cite_format={%s.} will produce) N
() N
(           1. Simpson,....) N
(           2. Tompson...) N
(           ...) N
() N
() N
(     C.2.  ref_format: has a form  %ref_format=${^{%s}}$) N
(           This means how your \\cite command output will look like.) N
(           For example, we have \\cite{Aw1,Paper3,John} in the TeX document and ) N
(           %ref_format=${^{%s}}$ in your format file. Then you get) N
() N
(           ${^{2,4,5}}$    \(numbers depend on what is ordering, of) N
(                            course\)) N
(           or) N
(           ${^{2-4}}$   if they all are going one by one in your refslist.) N
() N
(           in the output TeX file instead of your \\cite command.) N
(           If you have  %ref_format={[%s]} then) N
() N
(           {[2,4,5]}) N
(           or) N
(           {[2-4]}) N
(          ) N
(     C.3.  ordering: has a form  %ordering= AUTHORL) N
(           This means that the field AUTHORL has to be considered as a key field) N
(           in ordering of your references. You can put whatever you want there, ) N
(           like YEAR, VOL,...) N
(           If this filed is not present in some entries, it considered to be ) N
(           empty. ) N
() N
(  D. Each TYPE \(TYPE is article, book or something like this\) has to have an ) N
(     entry in the format file. This entry \(format string\) has a form) N
(     ) N
(     % TYPE [format string] ) N
() N
(     \(it MUST be in ONE line!!!\)) N
(readme.1st) (Page 7/15) (Mar 12, 02 12:27) title
border
/v 1 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(     where the "format string" says to Biblio how to output information about ) p n
(     your reference of the type TYPE.) N
(     "[" and "]" MUST be there! They say where you start your format line and ) N
(     where it ends \(if you need to use inside the format line, don't worry: ) N
(     the first [ is the start and the last ] is the end  of the string; ) N
(     all the rest are just characters\). ) N
(     Everything between $-signs is a filed name. $VOL$ will be substituted by ) N
(     54 if you have an entry ) N
(     VOL = 54 ) N
(     for this given article in your database. ) N
(     It's a bit more tricky for AUTHOR \(see below\). ) N
(     All the other words are just normal text or LaTeX commands. ) N
(     Example:) N
() N
(     Let say, you have the following item in your database file) N
() N
(     LABEL   = LifshitzGrosbergKhokhlov1) N
(     TYPE    = article) N
(     AUTHORL = Lifshitz|Grosberg|Khokhlov) N
(     AUTHORF = I.      |A.      |A.) N
(     AUTHORM = M.      |Yu.     |R.) N
(     JOURNAL = Rev. Mod. Phys.) N
(     VOL     = 50) N
(     PAGE    = 683) N
(     EPAGE   = 713) N
(     YEAR    = 1978) N
(     TITLE   = Some problems of the statistical physics of...) N
() N
(     and an entry ) N
(     ) N
(     % ARTICLE [$AUTHOR0P~L,~F~M; $ {\\it $JOURNAL$}  {\\bf $YEAR$}, {\\it $VOL$}, ) N
($PAGE$.]) N
(     ) N
(     in your format file \(I assume also '%cite_format={\(%s\)}'\).) N
(     Then output will be) N
() N
(     \(1\) ~Lifshitz,~I.~M.; ~Grosberg,~A.~Yu.; ~Khokhlov,~A.~R. ) N
(         {\\it {Rev. Mod. Phys.}}  {\\bf {1978}}, {\\it {50}}, {683}.) N
(           ) N
() N
(4.1. AUTHOR-word:) N
() N
(  A. Word AUTHOR is reserved and assumed to be an array. ) N
(     This means, that AUTHORLFM is in fact) N
(     hash index with keys AUTHORL, AUTHORF, AUTHORM, ) N
(     or, if you like) N
(     AUTHOR[L]='Smith') N
(     AUTHOR[F]='J.') N
(     AUTHOR[M]='A.') N
() N
(  B. After the word AUTHOR follows the max number of authors to show ) N
(     \(let us call it max_A\). ) N
(     If actual number of authors n_A > max_A, ) N
(     then "$reservedET_AL" will be written after the ) N
(     author number max_A and  names of all the others will be omitted. ) N
(     "max_A==0" \(zero\) means "max_A==infty") N
(  C. $AUTHOR0L, F; $ means that fields should be written as follows:) N
(         1\) "AUTHORL") N
(         2\) ", ") N
(         3\) "AUTHORF") N
(         4\) "; "  \(let us  denote it as "last_sep"\)) N
(         5\) go to "1\)" for the next author) N
(readme.1st) (Page 8/15) (Mar 12, 02 12:27) title
border
grestore
(Printed by ) rhead
(readme.1st) (4/8) (Tuesday March 12, 2002) footer
end % of iso1dict
pagesave restore
showpage
%%Page: (9-10) 5
%%BeginPageSetup
/pagesave save def
sh 0 translate 90 rotate
%%EndPageSetup
iso1dict begin
gsave
llx lly 12 add translate
/v 0 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
() p n
() N
(     For example, for the Lifshitz' article above:) N
() N
(     $AUTHOR0L, F, M; $ produces) N
(     Lifshitz, I. M.; Grosberg, A. Yu.;  Khokhlov, A. R.) N
() N
(     or) N
() N
(     $AUTHOR1L, F; $ produces) N
(     Lifshitz, I. et al) N
( ) N
(     Note, there is no the middle name in the 2nd example, because there is ) N
(     no "M" in the format line.) N
() N
(  D. There is a special sign "|" which means that AUTHOR format line is ended ) N
(     in fact and everything after it is so called "and_word". ) N
(     This "and_word" \(normally, it contains only "and"\) is something  what is ) N
(     written before the last author if the number of authors in larger than 1. ) N
() N
(     Example:) N
(     $AUTHOR0L, F, M; |and$ produces) N
(     Lifshitz, I. M.; Grosberg, A. Yu.; and  Khokhlov, A. R.) N
(     ) N
() N
(     Note, that) N
(         1\) if "et al" have to be printed, "and_word" will not be there!) N
() N
(            $AUTHOR2L, F; |and$ produces) N
(            Lifshitz, I.; Grosberg, A. Yu. et al) N
() N
(         2\) if number of authors is larger than 2 but less or equal to max_A: ) N
(            before the "end_word" the "last_sep" has to be written) N
(            otherwise - if only 2 authors: print "and_word", but no "last_sep") N
() N
(            Example:  Q.W. Rom and R.T. Lai) N
(                 but  Q.W. Rom, T.G. Doi, and R.T. Lai  ) N
(               here:  last_sep="," ; and_word="and"\)) N
() N
(                      This example corresponds to     ) N
(                      $AUTHOR0FM L, |and$) N
() N
() N
(4.2. Fields LABEL, TYPE and AUTHOR are predefined. All the others can be named ) N
(   by you. The only condition is: your fields in the database and in the formats) N
(   have to coincide. If some field is present in the format string but there ) N
(   is no value of it in the database, sign $reservedEMPTY_FIELD_SIGN will be ) N
(   printed out instead \(see command line parameter --empty_field_sign\);) N
(   by default $reservedEMPTY_FIELD_SIGN == '???'.) N
(   My suggestion is: use YEAR, VOL, PAGE, etc. for the year, volume and page and) N
(   don't name page as RTY45 - this is mush less readable.) N
() N
(-------------------------------------) N
() N
(5. RUNNING BIBLIO) N
() N
(So, now you have references database and format file. It is time to talk about) N
(command line parameters. Here they are:) N
() N
( ESSENTIAL PARAMETERS) N
() N
(+ -o output.file  => $OUT_TEX ; ) N
(readme.1st) (Page 9/15) (Mar 12, 02 12:27) title
border
/v 1 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(                     if no given, assuming $OUT_TEX = "biblio.$TEX_NAME") p n
(+ -f format.file  => $FORMAT_NAME  ) N
(                     \(can introduce templates for Macromolecules, ) N
(                     etc. If given, "in-tex" parameters will be) N
(                     ignored!!!\)) N
() N
(+ -d dbase.file   => @REFS_FILES \(where all info about refs is!\)) N
(  accepts many arguments) N
() N
(+ -a abbrev.file  => file of abbreviations \(tex file\)) N
(                     if given, will be inserted just BEFORE) N
(                     "\\begin{references}" in the output.file.) N
(                     Consists of anything you want, but the idea is) N
(                     to use it like "\\def\\mml{Macromol.}") N
(                     and  have entry) N
(                        JOURNAL = \\mml) N
(                     instead of) N
(                        JOURNAL = Macromol.) N
(                     in the dbase.file.) N
() N
(+ -v <number>     => verbosity level \(0-5\) $verbosity_level) N
() N
(+ -h or --help    => short help information ) N
() N
(+ --nobibitem     => $optionsKEEP_BIBITEM_AND_CITE=0. Default is 1!!!) N
(                     \(read 2.C too\)) N
(                     If not given, Biblio will insert all references ) N
(\(formated, of course\) into the out-TeX document, and that's it! You will ) N
(have  \\cite-commands as you had them before.  List of references will be ) N
(produced by LaTeX itself \(with \\bibitem\). ) N
(If given \(but NO --uselist\), it will print your references as a simple text,) N
(flushed left. ) N
() N
() N
(+ --uselist       => $optionsREFS_AS_TEX_LIST=1 Default is 0!!!             ) N
(                     Will output the references list as a TeX list) N
(with counter. Looks much better than \\flushleft \(try it!\)) N
() N
(     ) N
(\(if no --nobibitem nor --uselist is given it is assumed to use \\bibitem) N
( if --nobibitem is given, it will use \\flushleft) N
( if --nobibitem AND --uselist are given it will use \\list) N
(\)) N
() N
() N
( ADDITIONAL PARAMETERS) N
() N
(     key                             variable in the source,default value) N
(                                                  and some info) N
() N
(+ --etal "{\\it{et al}}"           => form of "et al"-string in $reservedET_AL) N
(                                     \(see 4.1.C\)) N
(+ --separator "----------\\n"      => separator in the database-file) N
() N
(+ --not_insert_empty_field_sign   => $optionsINSERT_EMPTY_FIELDS_SIGN=0) N
(                                     If some field is present in the format ) N
(string for the given TYPE, but is not in the database, Biblio will ) N
(insert some sign instead \(see --empty_field_sign\). ) N
() N
(+ --empty_field_sign xxx          => $reservedEMTY_FIELD_SIGN = '???') N
(                                     \(see --not_insert_empty_field_sign\)) N
() N
(readme.1st) (Page 10/15) (Mar 12, 02 12:27) title
border
grestore
(Printed by ) rhead
(readme.1st) (5/8) (Tuesday March 12, 2002) footer
end % of iso1dict
pagesave restore
showpage
%%Page: (11-12) 6
%%BeginPageSetup
/pagesave save def
sh 0 translate 90 rotate
%%EndPageSetup
iso1dict begin
gsave
llx lly 12 add translate
/v 0 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(+ --start_refs                    => @STARTREFS=  ) p n
(  accepts many arguments      \('begin{references}','begin{thebibliography}'\);) N
(                                  Tells where Biblio has to start inserting ) N
(                                  the references list.) N
() N
(+ --end_refs                      => my @ENDREFS=  ....) N
(   accepts many arguments) N
() N
(? --bibitem_string                => my $BIBITEM = '%'."\\n".'\\bibitem{';   ) N
(  ) N
(+ --version                       => version info) N
() N
(+ --movepoint                     => added in ver1.1) N
(                                     make "word.\\cite{} Another sent") N
(                                     from "word \\cite{}. Another sent") N
(      Everything in the variable $what_we_call_point='.,;:' is considered ) N
(      to be a "point".) N
(      This way of making citations is required by some journals ) N
(      \(for instance, Macromolecules\)  which have citation in the form) N
(                           "in recent works$^1-5$") N
(      There point \(or comma,...\) has to be placed BEFORE citation, like) N
(                  'works.$^{1-5}$' but NOT 'works$^{1-5}$.') N
(      NOTE: this will work only for point IN THE SAME LINE, like) N
(      'was show recently \\cite{q2,lab4,yt6}. Therefore') N
(      but NOT for) N
(      'was show recently \\cite{q2,lab4,yt6}) N
(      . Therefore'                     ) N
(    ) N
(\(not everything is accomplished. So, ?-sign means, that in your version ) N
(this parameter might be still not working\)) N
() N
(-------------------------------------) N
() N
(6. EXAMPLES) N
() N
(   A. I have a couple of format files \(in the directory called "formats"\) ) N
(and a database. First, about the structure, I decided to follow. \(It does ) N
(NOT mean you have to do it in the same way!\)) N
() N
(Types I use are) N
() N
(ARTICLE   just regular article) N
(ARTICLE0  submitted or accepted article) N
() N
(BOOK      regular book) N
(EDBOOK    article in a book \(with an editor!\)) N
(INBOOK    article in a book without editor) N
() N
(EPRINT    electronic preprint) N
() N
(Some examples of format files you can find in the "formats" directory.) N
() N
(Example of a database is called "refers.db".) N
() N
(  ) N
(  B. Document "EXAMPLES/2sorts/2sorts.tex" is an introduction ) N
(to one of my articles.  You can use it as an example. ) N
(It needs templates which are in the "formats" dir. ) N
(Just type "./libtex" and that's it!) N
() N
(  C. Document "EXAMPLES/2sorts/2sorts_formats.tex" is ) N
(the same as in B., but all formats are included into the header ) N
(readme.1st) (Page 11/15) (Mar 12, 02 12:27) title
border
/v 1 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(of the document. Read this header to find out how to compile it.) p n
() N
(  D. Document "EXAMPLES/hairy/hairy.tex" shows how to use abbreviations.) N
() N
(-------------------------------------) N
() N
(7. ADDITIONAL SCRIPTS) N
() N
(You can find some more scripts in the top directory.) N
() N
(   A. libtex ) N
(      is a useful script for processing TeX documents on the ) N
(      stage of their development. It can be easily adjusted ) N
(      \(open it in any text editor and change parameters\). The idea is ) N
(      to keep its copy at the same directory where your document \(tex file\)) N
(      is situated.) N
(      Then instead of running LaTeX itself you have to run "libtex" as) N
(      libtex filename) N
(      \("filename" WITHOUT tex extension!!! For 2sorts.tex it is "2sorts"\)) N
() N
(      JOURNAL - name of the template) N
(      PREFIX  - Biblio's home directory \(where in the "formats" directory all) N
(                formats are stored\)) N
() N
(   B. biblist_html  ) N
(      Makes an HTML formated list from your references database. I use \(as you ) N
(      could see in refers.db\) field URL for articles, which I have ) N
(      electronically. This script will run "biblist.pl" \(see below\) with --html ) N
(      key. This will produce nice html output with hyperlinks to your e-library) N
(      \(it will put prefix "--prefix" for all hyperlinks except starting already) N
(      with "http:" \)) N
(      Of course, you can use "--prefix /home/usrname/base/" if you want to make) N
(      all refs local.) N
() N
(   C. biblist) N
(      The same as the previous one but output in TeX format. Uses biblist.pl) N
(      without --html key.) N
() N
(   D. biblist.pl) N
(      Makes a list of references from the whole database file. Can output in ) N
(      TeX file or HTML. Has switches: almost all, which biblio has plus --html.) N
(      Does not have --uselist \(it is always on\), --start_refs, --end_refs.) N
(      And, of course, it does not need an input TeX file! Therefore you) N
(      always have to provide format file.) N
(      If --html is not given, produces TeX file.) N
(      HTML output needs special formats, of course. Example is in) N
(      EXAMPLES/formats/formats_html.biblist) N
(      ) N
(      Example of a format file for TeX output is in) N
(      EXAMPLES/formats/formats.biblist ) N
() N
(   E. bibcheck.pl  \(added 17 Sep 2001\)) N
(      Checks your database \(one ore more files containing references\).) N
(      Complains if it has:) N
(       - records with empty LABEL or TYPE) N
(       - several records with the same LABEL) N
(      Has specific parameter "--noexit" which means "do not exit if ) N
(      found a record without a label, just go on". By default it will) N
(      halt in this case.) N
(      Parameter -e \(or --errors\) says "after how many errors exit the program") N
(      \(default is 5\)) N
(      For instance:) N
(readme.1st) (Page 12/15) (Mar 12, 02 12:27) title
border
grestore
(Printed by ) rhead
(readme.1st) (6/8) (Tuesday March 12, 2002) footer
end % of iso1dict
pagesave restore
showpage
%%Page: (13-14) 7
%%BeginPageSetup
/pagesave save def
sh 0 translate 90 rotate
%%EndPageSetup
iso1dict begin
gsave
llx lly 12 add translate
/v 0 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(        bibcheck.pl -e 10 -d myrefers.db onemorerefs.db) p n
(      or) N
(        bibcheck.pl --errors 10 -d myrefers.db onemorerefs.db ) N
(      will process files "myrefers.db" and "onemorerefs.db" but exit if at ) N
(      some point number of errors will exceed 10.) N
(      ) N
(   ) N
(That's all for the moment.) N
(    ) N
(-------------------------------------      ) N
() N
(8. INSTALLATION GUIDE and SHORT INSTRUCTIONS) N
() N
(I decided to put this section at the very end because now, I hope, you know what) N
(you are installing. ) N
() N
(After unpacking the archive you have:) N
() N
( * biblio.pl     - the main "executable") N
( * dir formats   - format files \(template\) and) N
(                   abbreviations file "abbr.tex". Ready for use.  ) N
( * biblist.pl; biblist.pl;  biblist_html; bibcheck.pl ) N
(                 - some additional scripts \(see section 7\).) N
( * dir EXAMPLES  - examples \(see section 6\).) N
( ) N
(and bash script "install" to help you to install.) N
() N
(1. Edit script "install" First two lines have to point to) N
(   * PREFIX to the directory, where you want to install biblio ) N
(     \(formats, examples, etc.\). It must NOT exist yet.) N
() N
(   * BINDIR to the binaries directory, where it will put links to biblio and ) N
(     biblist) N
() N
(   Edit biblio.pl and ADDSCRIPTS/biblist.pl: in the first line it should be) N
(   a full path to your Perl!!!) N
() N
(2. Run "./install". Then change dir to your PREFIX dir and check, that biblio.pl) N
(   and everything in the ADDSCRIPT directory is executable. If not, do) N
() N
(   chmod a+x name_of_the_file) N
() N
() N
(3. If installation script failed, you can do it yourself. ) N
(   Just create a directory for biblio.) N
(   Copy there everything you found in the current directory \(see above\).) N
(   Then) N
() N
(   ln -s biblio biblio.pl) N
() N
(   Chenge dir to your normal binaries dir and do) N
() N
(   ln -s biblio PREFIX/biblio) N
(   ln -s biblist.pl PREFIX/ADDSCRIPT/biblist.pl) N
() N
(   where PREFIX has to be a real path \(like /usr/local/biblio\)) N
() N
(   Be sure about file permissions \(everybody, or at least you, has to be) N
(   able to execute!\).) N
() N
(That's all. Now you have commands "biblio" and "biblist") N
() N
(readme.1st) (Page 13/15) (Mar 12, 02 12:27) title
border
/v 1 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
(About usage of additional scripts. What I normally do is like this:) p n
() N
(1. Copy libtex from ADDSCRIPTS to the directory where my current TeX document) N
(is. ) N
() N
(2. Edit it ) N
(   ) N
(   * JOURNAL is the name of the template) N
(   * PREFIX  is the place where you keep biblio \(and all its stuff\)  ) N
(   * REFS is your references database) N
(   * FORMATS is a place where you keep format files \(templates\)) N
(   * PROJECT is a name of your TeX file WITHOUT extension. ) N
(     Normally you do for file myarticle.tex) N
(        libtex  myarticle) N
(     and myarticle goes to PROJECT variable.) N
(     But you can just put it like) N
(     PROJECT=myarticle) N
(     in the text of libtex and then type ) N
(        libtex) N
(     only to compile your TeX document.) N
( ) N
(3. After running libtex \(if everything goes right\) you will have) N
(   a file named "myarticle.dvi" and "myarticle.1.tex" and some more, which are) N
(   not important.) N
() N
(Working version of libtex \(it works even without any installation\) is in the ) N
(EXAMPLES dir. Try it.) N
(-----) N
() N
(About biblist - it produces a full references list from all the entries you have) N
(in your database. Copy it somewhere and edit:) N
(REFSTEX is the output file;) N
(FORMATS is the format file. You can edit it, if you like.) N
() N
(Run biblist and you get references.tex file, and references.dvi file.) N
(-----) N
() N
(About biblist_html - does the same what biblist does, but outputs in HTML.) N
(About --prefix option you can read in 7.B and 7.C. Formats, of course, are ) N
(different from what you use for TeX output. I provide formats_html.biblist file) N
(\(find it in the "formats" directory\) - you can easily edit it.) N
() N
(-------------------------------------      ) N
() N
(9. PERL TO C) N
() N
(If everything went OK and you are going to use biblio, I have an idea about ) N
(speeding it up. You can use "perlcc" to make a real binary from Perl's script.) N
(Sometimes it is a good idea, sometimes not. What I found: binary of biblio ) N
(is 50% \(yeah, yeah - 50!\) faster than Perl-script. So it is worthy of trying!) N
(Do:) N
() N
(   perlcc -o biblio.exe  biblio.pl) N
() N
(and you will get biblio.exe executable \(it will take some time - translation to ) N
(C and then compilation\).) N
() N
(If you succeeded, make a link called "biblio"  to biblio.exe \(at the same ) N
(directory, where you have biblio.pl; so, you have to erase an old link biblio ) N
(pointing to biblio.pl\).) N
() N
(All the rest is the same.) N
(readme.1st) (Page 14/15) (Mar 12, 02 12:27) title
border
grestore
(Printed by ) rhead
(readme.1st) (7/8) (Tuesday March 12, 2002) footer
end % of iso1dict
pagesave restore
showpage
%%Page: (15) 8
%%BeginPageSetup
/pagesave save def
sh 0 translate 90 rotate
%%EndPageSetup
iso1dict begin
gsave
llx lly 12 add translate
/v 0 store
/x0 x v get 3.362408 add sx cw mul add store
/y0 y v get bfs th add sub store
x0 y0 moveto
() p n
(If you are interested in C sources, try ) N
() N
(   perlcc -sav -o biblio.exe  biblio.pl) N
() N
(It will save sources for you! Just great! Althoug I don't think, this C-source ) N
(is really readable! :\)) N
() N
(-------------------------------------  ) N
() N
(10. TO DO) N
() N
(A lot of things are very raw. Only a couple of people tried it and I cannot say) N
(it was sufficiently tested. So if you discover any bug or have any suggestion ) N
(write directly to me \(rstepanyan@yahoo.com\).) N
() N
(This script now supports only very primitive way of citation: each citation) N
(is numbered and this number is its identifier. So, citation in the form ) N
("Smith\(1990a\)" are impossible. That is, probably, the first thing to do) N
(\(This kind of citations is used in Rev. of Modern Physics, for instance\).) N
() N
(I do not have too much time right now, but I am constantly thinking about it. ) N
() N
(-------------------------------------  ) N
() N
(11. Known Bugs) N
() N
(11.A.  Lost Lines \(for ver.1.2 only\)) N
( ) N
(From ver.1.2 there is no points and commas at the beginning of the line.) N
(Like in the piece of text) N
() N
(    Was shown in work) N
(    \\cite{lab2}. Blah-Blah-Blah) N
() N
(if we use --movepoint option we get) N
() N
(    Was shown in work) N
(    .\\cite{lab2} Blah-Blah-Blah) N
(                 ) N
(\(and ver.1.1 really did it this way\).) N
(But it should be \(and from ver.1.2 it IS\)) N
() N
(    Was shown in work.\\cite{lab2} Blah-Blah-Blah) N
() N
(That is exactly what is fixed now. Although it adds a new bug: if you have) N
() N
(    Was shown in work) N
(    % Blah-Blah-Blah) N
(    \\cite{lab2}. Blah-Blah-Blah#) N
() N
(then one line is LOST!!!! \(Guess why!\)) N
() N
(-------------------------------------) N
(Oh, now it is really the EOF!) S
(readme.1st) (Page 15/15) (Mar 12, 02 12:27) title
border
grestore
(Printed by ) rhead
(readme.1st) (8/8) (Tuesday March 12, 2002) footer
end % of iso1dict
pagesave restore
showpage

%%Trailer
end
%%EOF