%!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 % -> /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 ( # -) /# { 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. % 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 => 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