diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/biblio/readme.1st.ps |
Initial commit
Diffstat (limited to 'support/biblio/readme.1st.ps')
-rw-r--r-- | support/biblio/readme.1st.ps | 1736 |
1 files changed, 1736 insertions, 0 deletions
diff --git a/support/biblio/readme.1st.ps b/support/biblio/readme.1st.ps new file mode 100644 index 0000000000..643b6baa65 --- /dev/null +++ b/support/biblio/readme.1st.ps @@ -0,0 +1,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 |