summaryrefslogtreecommitdiff
path: root/support/biblio
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/biblio
Initial commit
Diffstat (limited to 'support/biblio')
-rw-r--r--support/biblio/EXAMPLES/2sorts/2sorts.tex169
-rw-r--r--support/biblio/EXAMPLES/2sorts/2sorts_formats.tex217
-rwxr-xr-xsupport/biblio/EXAMPLES/2sorts/libtex32
-rw-r--r--support/biblio/EXAMPLES/2sorts/refers.db1186
-rw-r--r--support/biblio/EXAMPLES/hairy/hairy.tex895
-rwxr-xr-xsupport/biblio/EXAMPLES/hairy/libtex51
-rw-r--r--support/biblio/EXAMPLES/hairy/refers.db1948
-rwxr-xr-xsupport/biblio/bibcheck.pl380
-rwxr-xr-xsupport/biblio/biblio.pl1436
-rwxr-xr-xsupport/biblio/biblist13
-rwxr-xr-xsupport/biblio/biblist.pl896
-rwxr-xr-xsupport/biblio/biblist_html13
-rw-r--r--support/biblio/formats/README.formats18
-rw-r--r--support/biblio/formats/abbr.tex49
-rw-r--r--support/biblio/formats/biopolymers32
-rw-r--r--support/biblio/formats/europhysletters35
-rw-r--r--support/biblio/formats/formats.biblist26
-rw-r--r--support/biblio/formats/formats_html.biblist31
-rw-r--r--support/biblio/formats/jchemphys35
-rw-r--r--support/biblio/formats/macromolecules33
-rw-r--r--support/biblio/formats/macromoltheorysimul35
-rw-r--r--support/biblio/formats/physreve35
-rw-r--r--support/biblio/formats/physreve_with_title35
-rwxr-xr-xsupport/biblio/install89
-rwxr-xr-xsupport/biblio/libtex36
-rw-r--r--support/biblio/readme.1st918
-rw-r--r--support/biblio/readme.1st.ps1736
27 files changed, 10379 insertions, 0 deletions
diff --git a/support/biblio/EXAMPLES/2sorts/2sorts.tex b/support/biblio/EXAMPLES/2sorts/2sorts.tex
new file mode 100644
index 0000000000..c53a0a2b64
--- /dev/null
+++ b/support/biblio/EXAMPLES/2sorts/2sorts.tex
@@ -0,0 +1,169 @@
+\documentstyle[aps,manuscript]{revtex}
+
+\title{Comb copolymer brush with chemically different side chains}
+\date{\today}
+%-----------------------------------------------
+
+\newcommand{\vA}{v_{AA}}
+\newcommand{\vB}{v_{BB}}
+\newcommand{\vAB}{v_{AB}}
+\newcommand{\vx}{v}
+\newcommand{\mnu}{\nu}
+\newcommand{\khi}{\chi}
+\newcommand{\dd}{\partial}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{document}
+
+\maketitle
+%--------------------------------------------------
+
+\begin{abstract}
+An investigation of side chain microphase separation
+within a single comb copolymer molecule containing chemically different
+$A$ and $B$ side chains has been carried out. Expressions for the
+transition point $\chi_{AB}^*$ in a
+good ($\chi_{AB}^* \sim N^{-3/8}$),
+marginal ($\chi_{AB}^* \sim N^{-1/2}$),
+$\theta$ ($\chi_{AB}^* \sim N^{-2/3}$),
+and poor ($\chi_{AB}^* \sim N^{-1}$)
+solvent are derived
+both by a mean field calculation and by scaling arguments.
+Properties of the system below and above the transition point are
+described.
+Some unusual ``bow-like'' conformations are predicted for a single
+molecule in the microphase separated state in a good solvent.
+\end{abstract}
+%--------------------------------------------------
+\section{Introduction}
+
+The conformational characteristics of individual comb copolymers with a
+high grafting density of side chains in solution has been addressed in a
+series of theoretical papers
+\cite{Birshtein,WangSafran,Fredrickson,Rouault1,3dFlex,3dRigid,Potemkin,2dComb}
+to begin with the original work of
+Birshtein et al \cite{Birshtein}.
+Irrespective of the solvent quality, be it a good
+solvent or a $\theta$-solvent, all theories predict a cylindrical
+brush-like structure for sufficiently long side chains. The pertinent
+parameters are the side chain grafting density, the side chain length,
+the intrinsic stiffness of the backbone and the side chains (the
+respective Kuhn segments) and the solvent quality with respect to the
+side chains and the backbone. The conformation is characterized by a
+number of quantities, the persistence length of the comb copolymer brush
+being most important. For sufficiently long side chains the persistence
+length is predicted to exceed the backbone length, thus resulting in a
+characteristic cylindrical "bottle-brush" structure. Subsequent computer
+simulations using a freely jointed hard sphere model essentially
+confirmed this picture
+\cite{Mika4,BrinkeIkkala,Rouault2,Mika1,Mika3,Mika2}.
+
+The experimental investigation of comb copolymers with a high grafting
+density has assumed large proportions after the successful
+polymerization of macromonomers, yielding degrees of polymerization
+significantly exceeding the length of the macromonomer itself, by
+Tsukahara and coworkers
+\cite{Tsukahara2,Tsukahara3,Schmidt,Tsukahara0}.
+Besides polymerization of macromonomers
+alternative routes have been developed recently using grafting from a
+macroinitiator prepared by either atom-transfer radical polymerization
+\cite{Beers1}
+or by living cationic polymerization
+\cite{Schappacher}.
+Using atom transfer
+radical polymerization molecular brushes with block copolymer side
+chains have been prepared as well.
+
+The experimental characterization of the comb copolymer brush
+conformation in dilute solution is a highly nontrivial issue. It was
+achieved recently by Schmidt and co-workers
+\cite{Borner1,Wintermantel1,Wintermantel2,Wintermantel3,DziezokSheiko,Sheiko,GerleRoos,FischerGerleSchmidt}
+using a combination
+of light scattering experiments and theoretical modeling. Since the high
+grafting density is supposed to lead to a stiff molecular structure, the
+modeling has been based on the Kratky-Porod worm-like chain model.
+For high molar mass polymacromonomers based on methacryloyl
+end-functionalized oligo methacrylates ($M_n = 2410~g/mole$) in the good
+solvent THF, the Kuhn statistical segment length, which is twice the
+persistence length, turned out to be $120~nm$. For polymacromonomers
+($M_n = 3624~g/mole$) consisting of polystyrene main and side chains this
+value was $190~nm$ in the good solvent toluene and $120~nm$ in the
+"$\theta$-solvent" cyclohexane.
+
+At the same time one of the most challenging problems in
+the polymer physics is a description of a microphase
+formation in copolymer systems.
+Theoretically, self-organization in block copolymer systems has
+attracted
+a lot of attention during the last decades and a fairly complete picture
+has emerged for the
+relatively simple diblock copolymers.
+\cite{Helfand1,Semenov,Leibler,FredricksonHelfand}
+As a consequence, the interest gradually shifts towards more
+complicated architectures such as comb or graft copolymers
+\cite{Dobrynin1,Cruz1,Foster1,WernerFredrickson,Nap1}.
+The discussion of structure formation in comb copolymers using the weak
+segregation limit has been presented in some detail. Compared to diblock
+copolymers the description is only slightly complicated by the fact that
+the single chain correlation functions are more involved. Phase diagrams
+of various comb copolymer systems have been published. Although
+different in details, the general trends are the same as for diblock
+copolymers. Of course, rather than the overall chain length, it is the
+length of the "repeat unit" that determines the order-disorder
+transition temperature as well as the characteristic length scale of the
+ordered structures.
+
+The application of the weak segregation approach, however, requires a
+relatively low
+grafting density such that the distance between two
+consecutive grafting points along the backbone is at least of the order
+of the Flory radius of the side chains. If the grafting density of comb
+copolymers is very high, the structure in the melt will usually involve
+segregation between individual molecules. Even if the incompatibility
+between backbone and side chains is high, the high grafting density may
+well prevent segregation of several backbones. Furthermore, a high
+grafting density combined with long side chains implies the volume
+fraction of the backbone to be of the order of 0.1 or lower, not
+necessarily the most interesting part of the melt phase diagram.
+
+Still, microphase separation may occur provided chemically different
+side chains are used. In this case unfavorable interaction between the
+side chains may lead to a micro domain
+structure within a single molecule. The present paper is devoted to this
+subject.
+The main objective is to identify conditions for "microphase separation"
+of side chains of two
+different types within a single comb copolymer molecule under different
+solvent conditions.
+
+The paper is organized as follows. The next section describes the
+self-consistent field approach to a molecule with a straight
+backbone and chemically different side chains. We show the possibility
+of side chain separation
+within the molecule and discuss the limits of the theory's
+applicability.
+The subsequent section is devoted to possible unusual behavior
+of comb copolymer molecules with a flexible backbone and
+microphase separated side chains. Then all results are summarized and
+discussed in the last section.
+
+%-------------------------------------------
+\section{Useful literature (not from the article)}
+Very interesting and useful books on this subject (polymers) are
+\cite{bookdeGennesScalingConcepts,GrosKhokh,bookCloizeaux} or more specific
+books devoted to peculiarities if comb copolymers behavior
+\cite{bookPlate,bookMcArdle}.
+Still unpublished works, like \cite{FischerSchmidt}, can be very helpful too.
+
+Thesis \cite{thesisHyvarinen} is a good reading too!
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{references}
+
+
+\end{references}
+
+
+
+
+
+\end{document} \ No newline at end of file
diff --git a/support/biblio/EXAMPLES/2sorts/2sorts_formats.tex b/support/biblio/EXAMPLES/2sorts/2sorts_formats.tex
new file mode 100644
index 0000000000..d95505135d
--- /dev/null
+++ b/support/biblio/EXAMPLES/2sorts/2sorts_formats.tex
@@ -0,0 +1,217 @@
+%% This is an example of a TeX file with formats
+%% included into the header of the document.
+%% To run it you have to do something like:
+%% biblio.pl -o 2sorts_formats.1.tex -d refers.db 2sorts_formats.tex
+%% or
+%% biblio.pl -o 2sorts_formats.1.tex -d refers.db --nobibitem --uselist 2sorts_formats.tex
+%% if you want a really well formatted citation list
+%% and then
+%% latex 2sorts_formats.1.tex
+%% to get 2sorts_formats.1.dvi
+
+%%------------------------------------------------------
+
+%% this is copyed from the template for Macromolecules
+%% no ordering of the references is needed. Otherwise add line
+%% '%ordering= AUTHORL'
+
+%begin{biblio}
+
+%cite_format={(%s)}
+%ref_format=${^{%s}}$
+
+%% normal article:
+% ARTICLE [$AUTHOR0P~L,~F~M; $ {\it $JOURNAL$} {\bf $YEAR$}, {\it $VOL$}, $PAGE$.]
+
+%% article which is submitted or accepted
+% ARTICLE0[$AUTHOR0P~L,~F~M; $ {\it $JOURNAL$} $STATE$.]
+
+%% normal book
+% BOOK [$AUTHOR0P~L,~F~M; $ {\it $TITLE$}; $PUBL$: $PLACE$, $YEAR$.]
+
+%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% and middle names of the editor
+% EDBOOK [$AUTHOR0P~L,~F~M; $ in {\it $BOOKTITLE$}, edited by $AUTHOR0I~E,~G~H;$; $PUBL$: $PLACE$, $YEAR$.]
+
+%% article in a book without editor
+% INBOOK [$AUTHOR0P~L,~F~M; $ in {\it $BOOKTITLE$}, p.$PAGE$ $PUBL$: $PLACE$, $YEAR$.]
+
+% EPRINT [$AUTHOR0P~L,~F~M; $ in {\it $BOOKTITLE$} $INFO$, $YEAR$.]
+
+%% Thesis
+% THESIS [$AUTHOR0P~L,~F~M; $ {\it $SORT$}; $UNIV$: $PLACE$, $YEAR$.]
+
+%end{biblio}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%REAL DOCUMENT STARTS HERE!!!!
+
+\documentstyle[aps,manuscript]{revtex}
+
+\title{Comb copolymer brush with chemically different side chains}
+\date{\today}
+%-----------------------------------------------
+
+\newcommand{\vA}{v_{AA}}
+\newcommand{\vB}{v_{BB}}
+\newcommand{\vAB}{v_{AB}}
+\newcommand{\vx}{v}
+\newcommand{\mnu}{\nu}
+\newcommand{\khi}{\chi}
+\newcommand{\dd}{\partial}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{document}
+
+\maketitle
+%--------------------------------------------------
+
+\begin{abstract}
+An investigation of side chain microphase separation
+within a single comb copolymer molecule containing chemically different
+$A$ and $B$ side chains has been carried out. Expressions for the
+transition point $\chi_{AB}^*$ in a
+good ($\chi_{AB}^* \sim N^{-3/8}$),
+marginal ($\chi_{AB}^* \sim N^{-1/2}$),
+$\theta$ ($\chi_{AB}^* \sim N^{-2/3}$),
+and poor ($\chi_{AB}^* \sim N^{-1}$)
+solvent are derived
+both by a mean field calculation and by scaling arguments.
+Properties of the system below and above the transition point are
+described.
+Some unusual ``bow-like'' conformations are predicted for a single
+molecule in the microphase separated state in a good solvent.
+\end{abstract}
+%--------------------------------------------------
+\section{Introduction}
+
+The conformational characteristics of individual comb copolymers with a
+high grafting density of side chains in solution has been addressed in a
+series of theoretical papers
+\cite{Birshtein,WangSafran,Fredrickson,Rouault1,3dFlex,3dRigid,Potemkin,2dComb}
+to begin with the original work of
+Birshtein et al \cite{Birshtein}.
+Irrespective of the solvent quality, be it a good
+solvent or a $\theta$-solvent, all theories predict a cylindrical
+brush-like structure for sufficiently long side chains. The pertinent
+parameters are the side chain grafting density, the side chain length,
+the intrinsic stiffness of the backbone and the side chains (the
+respective Kuhn segments) and the solvent quality with respect to the
+side chains and the backbone. The conformation is characterized by a
+number of quantities, the persistence length of the comb copolymer brush
+being most important. For sufficiently long side chains the persistence
+length is predicted to exceed the backbone length, thus resulting in a
+characteristic cylindrical "bottle-brush" structure. Subsequent computer
+simulations using a freely jointed hard sphere model essentially
+confirmed this picture
+\cite{Mika4,BrinkeIkkala,Rouault2,Mika1,Mika3,Mika2}.
+
+The experimental investigation of comb copolymers with a high grafting
+density has assumed large proportions after the successful
+polymerization of macromonomers, yielding degrees of polymerization
+significantly exceeding the length of the macromonomer itself, by
+Tsukahara and coworkers
+\cite{Tsukahara2,Tsukahara3,Schmidt,Tsukahara0}.
+Besides polymerization of macromonomers
+alternative routes have been developed recently using grafting from a
+macroinitiator prepared by either atom-transfer radical polymerization
+\cite{Beers1}
+or by living cationic polymerization
+\cite{Schappacher}.
+Using atom transfer
+radical polymerization molecular brushes with block copolymer side
+chains have been prepared as well.
+
+The experimental characterization of the comb copolymer brush
+conformation in dilute solution is a highly nontrivial issue. It was
+achieved recently by Schmidt and co-workers
+\cite{Borner1,Wintermantel1,Wintermantel2,Wintermantel3,DziezokSheiko,Sheiko,GerleRoos,FischerGerleSchmidt}
+using a combination
+of light scattering experiments and theoretical modeling. Since the high
+grafting density is supposed to lead to a stiff molecular structure, the
+modeling has been based on the Kratky-Porod worm-like chain model.
+For high molar mass polymacromonomers based on methacryloyl
+end-functionalized oligo methacrylates ($M_n = 2410~g/mole$) in the good
+solvent THF, the Kuhn statistical segment length, which is twice the
+persistence length, turned out to be $120~nm$. For polymacromonomers
+($M_n = 3624~g/mole$) consisting of polystyrene main and side chains this
+value was $190~nm$ in the good solvent toluene and $120~nm$ in the
+"$\theta$-solvent" cyclohexane.
+
+At the same time one of the most challenging problems in
+the polymer physics is a description of a microphase
+formation in copolymer systems.
+Theoretically, self-organization in block copolymer systems has
+attracted
+a lot of attention during the last decades and a fairly complete picture
+has emerged for the
+relatively simple diblock copolymers.
+\cite{Helfand1,Semenov,Leibler,FredricksonHelfand}
+As a consequence, the interest gradually shifts towards more
+complicated architectures such as comb or graft copolymers
+\cite{Dobrynin1,Cruz1,Foster1,WernerFredrickson,Nap1}.
+The discussion of structure formation in comb copolymers using the weak
+segregation limit has been presented in some detail. Compared to diblock
+copolymers the description is only slightly complicated by the fact that
+the single chain correlation functions are more involved. Phase diagrams
+of various comb copolymer systems have been published. Although
+different in details, the general trends are the same as for diblock
+copolymers. Of course, rather than the overall chain length, it is the
+length of the "repeat unit" that determines the order-disorder
+transition temperature as well as the characteristic length scale of the
+ordered structures.
+
+The application of the weak segregation approach, however, requires a
+relatively low
+grafting density such that the distance between two
+consecutive grafting points along the backbone is at least of the order
+of the Flory radius of the side chains. If the grafting density of comb
+copolymers is very high, the structure in the melt will usually involve
+segregation between individual molecules. Even if the incompatibility
+between backbone and side chains is high, the high grafting density may
+well prevent segregation of several backbones. Furthermore, a high
+grafting density combined with long side chains implies the volume
+fraction of the backbone to be of the order of 0.1 or lower, not
+necessarily the most interesting part of the melt phase diagram.
+
+Still, microphase separation may occur provided chemically different
+side chains are used. In this case unfavorable interaction between the
+side chains may lead to a micro domain
+structure within a single molecule. The present paper is devoted to this
+subject.
+The main objective is to identify conditions for "microphase separation"
+of side chains of two
+different types within a single comb copolymer molecule under different
+solvent conditions.
+
+The paper is organized as follows. The next section describes the
+self-consistent field approach to a molecule with a straight
+backbone and chemically different side chains. We show the possibility
+of side chain separation
+within the molecule and discuss the limits of the theory's
+applicability.
+The subsequent section is devoted to possible unusual behavior
+of comb copolymer molecules with a flexible backbone and
+microphase separated side chains. Then all results are summarized and
+discussed in the last section.
+
+%-------------------------------------------
+\section{Useful literature (not from the article)}
+Very interesting and useful books on this subject (polymers) are
+\cite{bookdeGennesScalingConcepts,GrosKhokh,bookCloizeaux} or more specific
+books devoted to peculiarities if comb copolymers behavior
+\cite{bookPlate,bookMcArdle}.
+Still unpublished works, like \cite{FischerSchmidt}, can be very helpful too.
+
+Thesis \cite{thesisHyvarinen} is a good reading too!
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{references}
+
+
+\end{references}
+
+
+
+
+
+\end{document} \ No newline at end of file
diff --git a/support/biblio/EXAMPLES/2sorts/libtex b/support/biblio/EXAMPLES/2sorts/libtex
new file mode 100755
index 0000000000..c33c392115
--- /dev/null
+++ b/support/biblio/EXAMPLES/2sorts/libtex
@@ -0,0 +1,32 @@
+JOURNAL="physreve"
+PREFIX="../../"
+
+VLEVEL="1" #verbosity level
+PROJECT="2sorts"
+REFS="refers.db"
+FORMATS=$PREFIX"formats/"$JOURNAL
+
+
+
+SUFFIX=".1"
+
+OUTTEX="$PROJECT$SUFFIX.tex"
+OUTDVI="$PROJECT$SUFFIX.dvi"
+TEXFILE="$PROJECT.tex"
+DVIFILE="$PROJECT.dvi"
+
+
+echo $OUTTEX
+
+if [ $JOURNAL = "physreve" ]
+then
+ "$PREFIX"biblio.pl -v $VLEVEL -o $OUTTEX -d $REFS -f $FORMATS $TEXFILE
+else
+ "$PREFIX"biblio.pl -v $VLEVEL -o $OUTTEX -d $REFS -f $FORMATS --nobibitem --uselist $TEXFILE
+fi
+
+
+latex $OUTTEX
+latex $OUTTEX
+mv $OUTDVI $DVIFILE
+#rm *.aux *.log *~ \ No newline at end of file
diff --git a/support/biblio/EXAMPLES/2sorts/refers.db b/support/biblio/EXAMPLES/2sorts/refers.db
new file mode 100644
index 0000000000..fb2654ac9e
--- /dev/null
+++ b/support/biblio/EXAMPLES/2sorts/refers.db
@@ -0,0 +1,1186 @@
+LABEL = thesisHyvarinen
+TYPE = thesis
+AUTHORL = Hyv\"arinen
+AUTHORF = S.
+SORT = Licentiate Thesis
+UNIV = University of Helsinki
+PLACE = Helsinki
+YEAR = 1997
+TITLE =
+URL =
+----------
+LABEL = Brinke4
+TYPE = edbook
+AUTHORP = |ten
+AUTHORL = Ikkala|Brinke
+AUTHORF = O.|G.
+BOOKTITLE= Handbook of Advanced Electronic and Photonic Materials and Devices, Part 8 Conducting Polymers
+AUTHORI =
+AUTHORE = Nalwa
+AUTHORG = Hari
+AUTHORH = Singh
+PAGE = 185
+PUBL = Academic Press
+PLACE =
+YEAR = 2000
+----------
+LABEL = bookMcArdle
+TYPE = edbook
+AUTHORL = Warner
+AUTHORF = M.
+AUTHORM =
+TITLE = The physical principles of side chain polymer liquid crystals
+BOOKTITLE= Side Chain Liquid Crystal Polymers
+AUTHORI =
+AUTHORE = McArdle
+AUTHORG = C.
+AUTHORH = B.
+PUBL = Blackie
+PLACE = Glasgow and London
+YEAR = 1989
+PAGE = 7
+EPAGE = 29
+----------
+LABEL = bookdeGennesLiqCryst
+TYPE = book
+AUTHORP = de
+AUTHORL = Gennes
+AUTHORF = P.-G.
+AUTHORM =
+TITLE = The Physics of Liquid Crystals
+PUBL = Clarendon Press
+PLACE = Oxford
+YEAR = 1974
+----------
+LABEL = bookdeGennesScalingConcepts
+TYPE = book
+AUTHORP = de
+AUTHORL = Gennes
+AUTHORF = P.-G.
+AUTHORM =
+TITLE = Scaling Concepts in Polymer Physics
+PUBL = Cornell University Press
+PLACE = Ithaca
+YEAR = 1985
+PAGES = 325
+----------
+LABEL = bookPlate
+TYPE = book
+AUTHORL = Plate|Shibaev
+AUTHORF = N. |V.
+AUTHORM = A. |P.
+TITLE = Comb-Shaped Polymers and Liquid Crystals
+PUBL = Plenum Press
+PLACE = New York and London
+YEAR = 1987
+PAGES = 415
+----------
+LABEL = GrosKhokh
+TYPE = book
+AUTHORL = Grosberg|Khokhlov
+AUTHORF = A. |A.
+AUTHORM = Yu. |R.
+TITLE = Statistical Physics of Macromolecules
+PUBL = American Institute of Physics
+PLACE = New York
+YEAR = 1994
+----------
+LABEL = Landau
+TYPE = book
+AUTHORL = Landau|Lifshits
+AUTHORF = L |E.
+AUTHORM = D. |M.
+TITLE = Statistical Physics
+PUBL = Pergamon
+PLACE = Oxford
+YEAR = 1980
+----------
+LABEL = bookLipatovNesterov
+TYPE = book
+AUTHORL = Lipatov|Nesterov
+AUTHORF = Y. |A.
+AUTHORM = S. |E.
+TITLE = Thermodynamics of Polymer Blends
+PUBL = Technomic
+PLACE = Lancaster, Basel
+YEAR = 1997
+----------
+LABEL = bookCloizeaux
+TYPE = book
+AUTHORP = des
+AUTHORL = Cloizeaux|Jannink
+AUTHORF = J. |G.
+TITLE = Polymers in Solutions: Their modelling and Structure
+PUBL = Clarendon Press
+PLACE = Oxford
+YEAR = 1990
+PAGES = 896
+----------
+LABEL = LifshitzGrosbergKhokhlov1
+TYPE = article
+AUTHORL = Lifshitz|Grosberg|Khokhlov
+AUTHORF = I. |A. |A.
+AUTHORM = M. |Yu. |R.
+JOURNAL = Rev. Mod. Phys.
+VOL = 50
+PAGE = 683
+EPAGE = 713
+YEAR = 1978
+TITLE = Some problems of the statistical physics of polymer chains with volume interaction
+URL = RevModPhys_LifshitsGrosbergKhokhlov1978.pdf
+----------
+LABEL = Vasilevskaya
+TYPE = article
+AUTHORP = | | | |ten
+AUTHORL = Vasilevskaya|Klochkov|Khalatur|Khokhlov|Brinke
+AUTHORF = V. |A. |P. |A. |G.
+AUTHORM = V. |A. |G. |R. |
+TITLE = Microphase separation within comb-like copolymer with attractive side-chains: computer simulations
+JOURNAL = Macromol. Theory and Simul.
+VOL = 10
+PAGE = 389
+EPAGE = 394
+YEAR = 2001
+URL = vasilevskaya_attractive.pdf
+----------
+LABEL = Helfand1
+TYPE = article
+AUTHORL = Helfand|Wasserman
+AUTHORF = E. |Z.
+AUTHORM = |R.
+TITLE =
+JOURNAL = Macromolecules
+VOL = 9
+PAGE = 879
+YEAR = 1976
+----------
+LABEL = Tsukahara0
+TYPE = edbook
+AUTHORL = Tsukahara
+AUTHORF = Y.
+BOOKTITLE=Macromolecular Design: Concept and Practice
+AUTHORI =
+AUTHORE = Mishra
+AUTHORG = M.
+AUTHORH =
+PAGE = 161
+EPAGE = 227
+PUBL = Polymer Frontiers International Inc.
+PLACE = New York
+YEAR = 1993
+----------
+LABEL = Schmidt
+TYPE = article
+AUTHORL = Tsukahara|Tsutsumi|Yamashita|Shimada
+AUTHORF = Y. |K. |S. |S.
+TITLE =
+JOURNAL = Macromolecules
+VOL = 23
+PAGE = 5201
+YEAR = 1990
+----------
+LABEL = Tsukahara2
+TYPE = article
+AUTHORL = Tsukahara|Mizuno|Segawa|Yamashita
+AUTHORF = Y. |K. |A. |Y.
+TITLE =
+JOURNAL = Macromolecules
+VOL = 22
+PAGE = 1546
+EPAGE = 1552
+YEAR = 1989
+----------
+LABEL = Tsukahara3
+TYPE = article
+AUTHORL = Tsukahara|Tsutsumi|Yamashita
+AUTHORF = Y. |K. |Y.
+TITLE =
+JOURNAL = Macromolecules
+VOL = 22
+PAGE = 2869
+EPAGE = 2871
+YEAR = 1989
+----------
+LABEL = Ballauff
+TYPE = article
+AUTHORL = Ballauff
+AUTHORF = M.
+AUTHORM =
+TITLE =
+JOURNAL = Angew. Chem. Int. Ed. Engl.
+VOL = 28
+PAGE = 253
+YEAR = 1989
+----------
+LABEL = Antonietti
+TYPE = article
+AUTHORL = Antonietti|Henke|Th\"unemann
+AUTHORF = M. |S. |A.
+AUTHORM = | |F.
+TITLE = Highly Ordered Materials with Ultra-Low Surface Energies. Polyelectrolyte-Surfactant Complexes with Fluorinated Surfactants
+JOURNAL = Adv. Mater.
+VOL = 8
+PAGE = 45
+YEAR = 1996
+----------
+LABEL = Thunemann
+TYPE = article
+AUTHORL = Th\"unemann|Lochaas
+AUTHORF = A. |K.
+AUTHORM = F. |H.
+TITLE = PHYSISORPTION, INTERFACIAL FILMS, MEMBRANES - Self-Assembly of Perfluorodecanoic Acid with Cationic Copolymers: Ultra-Low Energy Surfaces and Mesomorphous Structures
+JOURNAL = Langmuir
+VOL = 14
+PAGE = 4898
+EPAGE = 4903
+YEAR = 1998
+----------
+LABEL = Semenov
+TYPE = article
+AUTHORL = Semenov
+AUTHORF = A.
+TITLE =
+JOURNAL = Sov. Phys. JETP
+PAGE = 733
+YEAR = 1985
+VOL = 61
+----------
+LABEL = LikhtmanSemenov
+TYPE = article
+AUTHORL = Likhtman|Semenov
+AUTHORF = A.|A.
+AUTHORM = E.|N.
+JOURNAL = Macromolecules
+PAGE = 7273
+EPAGE = 7278
+YEAR = 1997
+VOL = 30
+TITLE = Theory of Microphase Separation in Block Copolymer/Homopolymer Mixtures
+URL = ma9702713.pdf
+----------
+LABEL = RubinsteinSemenov
+TYPE = article
+AUTHORL = Rubinstein|Semenov
+AUTHORF = M.|A.
+AUTHORM = |N.
+JOURNAL = Macromolecules
+PAGE = 1058
+EPAGE = 1068
+YEAR = 2001
+VOL = 34
+TITLE = Dynamics of Entangled Solutions of Associating Polymers
+URL = ma0013049.pdf
+----------
+LABEL = Floudas
+TYPE = article
+AUTHORL = Floudas|Hadjichristidis|Stamm|Likhtman|Semenov
+AUTHORF = G. |N. |M. |A. |A.
+AUTHORM = | | |E. |N.
+JOURNAL = J. of Chem. Phys.
+PAGE = 3318
+EPAGE = 3328
+YEAR = 1997
+VOL = 106
+TITLE = Microphase separation in block copolymer-homopolymer blends: Theory and experiment
+URL = JCP03318.pdf
+----------
+LABEL = Leibler
+TYPE = article
+AUTHORL = Leibler
+AUTHORF = L.
+TITLE =
+JOURNAL = Macromolecules
+PAGE = 1602
+YEAR = 1980
+VOL = 13
+----------
+LABEL = FredricksonHelfand
+TYPE = article
+AUTHORL = Fredrickson|Helfand
+AUTHORF = G. |E.
+AUTHORM = H. |
+TITLE =
+JOURNAL = Macromolecules
+PAGE = 697
+YEAR = 1987
+VOL = 87
+----------
+LABEL = Dobrynin1
+TYPE = article
+AUTHORL = Dobrynin|Erukhimovich
+AUTHORF = A.|I.
+AUTHORM = V.|Y.
+TITLE = Computer-aided comparative investigation of architecture influence of block copolymer phase diagrams
+JOURNAL = Macromolecules
+PAGE = 276
+EPAGE = 281
+YEAR = 1993
+VOL = 26
+----------
+LABEL = Cruz1
+TYPE = article
+AUTHORL = Olvera de la Cruz|Sanchez
+AUTHORF = M. |I.
+TITLE =
+JOURNAL = Macromolecules
+PAGE = 2501
+YEAR = 1986
+VOL = 19
+----------
+LABEL = Foster1
+TYPE = article
+AUTHORL = Foster|Jasnow|Balazs
+AUTHORF = D. |D. |A.
+AUTHORM = P. | |C.
+TITLE =
+JOURNAL = Macromolecules
+PAGE = 3450
+YEAR = 1995
+VOL = 28
+----------
+LABEL = WernerFredrickson
+TYPE = article
+AUTHORL = Werner|Fredrickson
+AUTHORF = A.|G.
+AUTHORM = |H.
+TITLE = Architectural Effects on the Stability Limits of $ABS$ Block Copolymers
+JOURNAL = J. Polym. Sci. B: Polym. Phys.
+PAGE = 849
+EPAGE = 864
+YEAR = 1997
+VOL = 35
+URL = JPolimSciB_v35p849y1997.pdf
+----------
+LABEL = Nap1
+TYPE = article
+AUTHORP = | |ten
+AUTHORL = Nap|Kok|Brinke|Kuchanov
+AUTHORF = R. |C. |G. |S.
+AUTHORM = J. | | |I.
+TITLE = Microphase separation at two length scales
+JOURNAL = Eur. Phys. J. E
+PAGE = 515
+EPAGE = 519
+YEAR = 2001
+VOL = 4
+----------
+LABEL = Brinke1
+TYPE = article
+AUTHORL = Ruokolainen|M\"akinen|Torkkeli|M\"akel\"a|Serimaa|Brinke|Ikkala
+AUTHORP = | | | | |ten |
+AUTHORF = J.|R.|M.|T.|R.|G.|O.
+TITLE = Switching supramolecular polymeric materials with multiple length scales
+JOURNAL = Science
+PAGE = 557
+EPAGE = 560
+YEAR = 1998
+VOL = 280
+URL = mika/Brinke1.pdf
+----------
+LABEL = Brinke2
+TYPE = article
+AUTHORP = |de |de | | |ten |
+AUTHORL = M\"akinen|Moel|Odorico|Ruokolainen|Stamm|Brinke|Ikkala
+AUTHORF = R.|K.|W.|J.|M.|G.|O.
+TITLE = Communications - "Hairy Tubes": Mesoporous Materials Containing Hollow Self-Organized Cylinders with Polymer Brushes at the Walls
+JOURNAL = Adv. Mater.
+PAGE = 117
+EPAGE = 121
+YEAR = 2001
+VOL = 13
+URL = mika/Brinke2.pdf
+----------
+LABEL = Brinke3
+TYPE = article
+AUTHORL = Kosonen|Ruokolainen|Knaapila|Torkkeli|Jokela|Serimaa|Brinke|Bras|Monkman|Ikkala
+AUTHORP = | | | | | |ten
+AUTHORF = H.|J.|M.|M.|K.|R.|G.|W.|A.|O.
+TITLE = Nanoscale Conducting Cylinders Based on Self-Organization of Hydrogen-Bonded Polyaniline Supramolecules
+JOURNAL = Macromolecules
+PAGE = 8671
+EPAGE = 8675
+YEAR = 2000
+VOL = 33
+URL = mika/Brinke3.pdf
+----------
+LABEL = 3dFlex
+TYPE = article
+AUTHORP = | | |ten
+AUTHORL = Subbotin|Saariaho|Ikkala|Brinke
+AUTHORF = A. |M. |O. |G.
+TITLE = Elasticity of comb copolymer cylindrical brushes
+JOURNAL = Macromolecules
+PAGE = 3447
+EPAGE = 3452
+YEAR = 2000
+VOL = 33
+URL = mika/3dFlex.pdf
+----------
+LABEL = Birshtein
+TYPE = article
+AUTHORL = Birshtein|Borisov|Zhulina|Khokhlov|Yurasova
+AUTHORF = T.|O.|Y.|A.|T.
+AUTHORM = M.|V.|B.|R.|A.
+TITLE = Conformations of comb-like macromolecules
+JOURNAL = Polym. Sci. USSR
+PAGE = 1293
+EPAGE = 1300
+YEAR = 1987
+VOL = 29
+----------
+LABEL = Fredrickson
+TYPE = article
+AUTHORL = Fredrickson
+AUTHORF = G
+AUTHORM = H.
+TITLE = Surfactant-induced lyotropic behavior of flexible polymer solutions
+JOURNAL = Macromolecules
+PAGE = 2825
+YEAR = 1993
+VOL = 26
+----------
+LABEL = Rouault1
+TYPE = article
+AUTHORL = Rouault|Borisov
+AUTHORF = Y.|O.
+AUTHORM = |V.
+TITLE = Comb-Branched Polymers: Monte Carlo Simulation and Scaling
+JOURNAL = Macromolecules
+PAGE = 2605
+EPAGE = 2611
+YEAR = 1996
+VOL = 29
+URL = Rouault1.pdf
+----------
+LABEL = Rouault2
+TYPE = article
+AUTHORL = Rouault
+AUTHORF = Y.
+AUTHORM =
+TITLE = From comb polymers to polysoaps: A Monte Carlo attempt
+JOURNAL = Macromol. Theory Simul.
+PAGE = 359
+EPAGE = 365
+YEAR = 1998
+VOL = 7
+URL = rouault_comb_copolymers_to_polysoaps.pdf
+----------
+LABEL = Mika1
+TYPE = article
+AUTHORP = | |ten
+AUTHORL = Saariaho|Ikkala|Brinke
+AUTHORF = M.|O.|G.
+TITLE = Molecular bottle brushes in thin films: An off-lattice Monte Carlo study
+JOURNAL = J. Chem. Phys.
+PAGE = 1180
+EPAGE = 1187
+YEAR = 1999
+VOL = 110
+URL = mika/Mika1.pdf
+----------
+LABEL = Mika2
+TYPE = article
+AUTHORP = | | |ten
+AUTHORL = Saariaho|Subbotin|Ikkala|Brinke
+AUTHORF = M.|A.|O.|G.
+TITLE = Comb copolymer cylindrical brushes containing semiflexible side chains: A Monte Carlo study
+JOURNAL = Macromol. Rapid. Commun.
+PAGE = 110
+EPAGE = 115
+YEAR = 2000
+VOL = 21
+URL = mika/Mika2.pdf
+----------
+LABEL = Mika3
+TYPE = article
+AUTHORP = | | | |ten
+AUTHORL = Saariaho|Subbotin|Szleifer|Ikkala|Brinke
+AUTHORF = M.|A.|I.|O.|G.
+TITLE = Effect of Side Chain Rigidity on the Elasticity of Comb Copolymer Cylindrical Brushes: A Monte Carlo Simulation Study
+JOURNAL = Macromolecules
+PAGE = 4439
+EPAGE = 4443
+YEAR = 1999
+VOL = 32
+URL = mika/Mika3.pdf
+----------
+LABEL = Mika4
+TYPE = article
+AUTHORP = | | | |ten
+AUTHORL = Saariaho|Ikkala|Szleifer|Erukhimovich|Brinke
+AUTHORF = M.|O.|I.|I.|G.
+TITLE = On lyotropic behavior of molecular bottle-brushes: A Monte Carlo computer simulation study
+JOURNAL = J. Chem. Phys.
+PAGE = 3267
+EPAGE = 3276
+YEAR = 1997
+VOL = 107
+URL = mika/JCP03267.pdf
+----------
+LABEL = Ball
+TYPE = article
+AUTHORL = Ball|Marko|Milner|Witten
+AUTHORF = R.|J.|S.|T.
+AUTHORM = C.|F.|T.|A.
+JOURNAL = Macromolecules
+YEAR = 1991
+VOL = 24
+PAGE = 693
+----------
+LABEL = Lai
+TYPE = article
+AUTHORL = Lai|Witten
+AUTHORF = H. |T.
+AUTHORM = |A.
+JOURNAL = Macromolecules
+YEAR = 1991
+VOL = 24
+PAGE = 693
+----------
+LABEL = Odijk
+TYPE = article
+AUTHORL = Odijk
+AUTHORF = T.
+AUTHORM =
+JOURNAL = J. Polym. Sci., Polym. Phys. Ed.
+YEAR = 1977
+VOL = 15
+PAGE = 477
+----------
+LABEL = Skolnick
+TYPE = article
+AUTHORL = Skolnick|Fixmann
+AUTHORF = J.|M.
+AUTHORM =
+JOURNAL = Macromolecules
+YEAR = 1977
+VOL = 10
+PAGE = 944
+----------
+LABEL = Sheiko
+TYPE = article
+AUTHORL = Sheiko|Gerle|Fischer|Schmidt|M\"{o}ller
+AUTHORF = S.|M.|F.|M.|M.
+AUTHORM = S.| | | |
+JOURNAL = Langmuir
+YEAR = 1997
+VOL = 13
+PAGE = 5368
+EPAGE = 5372
+TITLE = Wormlike Polystyrene Brushes in Thin Films
+----------
+LABEL = DziezokSheiko
+TYPE = article
+AUTHORP =
+AUTHORL = Dziezok|Sheiko|Fischer|Schmidt|M\"oller
+AUTHORF = P. |S. |K. |M. |M.
+AUTHORM = |S
+JOURNAL = Angew Chem. Int. Ed. Engl.
+YEAR = 1997
+VOL = 36
+PAGE = 2812
+EPAGE = 2815
+TITLE =
+URL =
+----------
+LABEL = Spirali
+TYPE = article
+AUTHORL = Khalatur|Khokhlov|Prokhorova|Sheiko|M\"oller|Reineker|Shirvanyanz|Starovoitova
+AUTHORF = P.|A.|S.|S.|M.|P.|D.|N.
+AUTHORM = G.|R.|A.|S.| | |G.|
+JOURNAL = Eur. Phys. J. E.
+YEAR = 2000
+VOL = 1
+PAGE = 99
+EPAGE = 103
+TITLE = Unusual conformation of molecular cylindrical brushes strongly adsorbed on a flat solid surface
+URL = Khalatur_EurPhysJ_E.pdf
+----------
+LABEL = Potemkin
+TYPE = article
+AUTHORL = Potemkin|Khokhlov|Reineker
+AUTHORF = I.|A.|P.
+AUTHORM = I.|R.|
+JOURNAL = Eur. Phys. J. E.
+YEAR = 2001
+VOL = 4
+PAGE = 93
+EPAGE = 101
+TITLE = Stiffness and conformations of molecular bottle-brushes strongly adsorbed on a flat surface
+URL = potemkin_e0065.pdf
+----------
+LABEL = 2dComb
+TYPE = article
+AUTHORP = | |ten
+AUTHORL = Stepanyan|Subbotin|Brinke
+AUTHORF = R.|A.|G.
+JOURNAL = Phys. Rev. E.
+YEAR = 2001
+VOL = 63
+PAGE = 061805
+TITLE = Strongly adsorbed comb copolymers with rigid side chains
+URL = PRE61805.pdf
+----------
+LABEL = 3dRigid
+TYPE = article
+AUTHORP = | | | |ten
+AUTHORL = Subbotin|Saariaho|Stepanyan|Ikkala|Brinke
+AUTHORF = A. |M. |R. |O. |G.
+JOURNAL = Macromolecules
+YEAR = 2000
+VOL = 33
+PAGE = 6168
+EPAGE = 6173
+TITLE = Cylindrical brushes of comb copolymer molecules containing rigid side chains
+URL = bottrev.mml.pdf
+----------
+LABEL = toroid
+TYPE = article
+AUTHORL = Vasilevskaya|Khokhlov|Kidoaki|Yoshikawa
+AUTHORF = V.|A.|S.|K.
+AUTHORM = V.|R.| |
+JOURNAL = Biopolymers
+YEAR = 1997
+VOL = 41
+PAGE = 51
+EPAGE = 60
+TITLE = Structure of collapsed Persistent macromolecule: toroid vs. spherical globule
+URL = toroid.pdf
+----------
+LABEL = FredricksonLiu
+TYPE = article
+AUTHORL = Fredrickson|Liu
+AUTHORF = G.|A.
+AUTHORM = H.|J.
+JOURNAL = Macromolecules
+YEAR = 1994
+VOL = 27
+PAGE = 2503
+EPAGE = 2511
+TITLE = Entropic corrections to the Flory-Huggins theory of polymer blends: architectural and conformational effects
+RUSSIAN = Popravki k $\chi$ za schet vsyacheskih effectov, tipa arhitektury, gibkosti i t.p.
+----------
+LABEL = LiuFredrickson
+TYPE = article
+AUTHORL = Liu|Fredrickson
+AUTHORF = A.|G.
+AUTHORM = J.|H.
+JOURNAL = Macromolecules
+YEAR = 1993
+VOL = 26
+PAGE = 2817
+EPAGE = 2824
+TITLE = Free energy functionals for semiflexible polymer solutions and blends
+RUSSIAN = fazovoe povedenie s dvumya parametrami: $\chi$ i Maier-Saupe $w$.
+----------
+LABEL = RaphaelFredricksonPincus
+TYPE = article
+AUTHORL = Rapha\"el|Fredrickson|Pincus
+AUTHORF = E.|G.|P.
+AUTHORM = |H.|
+JOURNAL = J. Phys. II France
+YEAR = 1992
+VOL = 2
+PAGE = 1811
+EPAGE = 1823
+TITLE = One long chain among shorter chains: the Flory approach revisited
+RUSSIAN = Mozhet imeet otnoshenie k tomu, chto Subbotin hochet, chtoby ya delal.
+----------
+LABEL = RaphaelPincusFredrickson
+TYPE = article
+AUTHORL = Rapha\"el|Pincus|Fredrickson
+AUTHORF = E.|P.|G.
+AUTHORM = | |H.
+JOURNAL = Macromolecules
+YEAR = 1993
+VOL = 26
+PAGE = 1996
+EPAGE = 2006
+TITLE = Conformation of star polymers in high molecular weight solvent
+RUSSIAN = Mozhet imeet otnoshenie k tomu, chto Subbotin hochet, chtoby ya delal. Zdes' - chistyj scaling!
+----------
+LABEL = FredricksonLeibler
+TYPE = article
+AUTHORL = Fredrickson|Leibler
+AUTHORF = G.|L.
+AUTHORM = H.|
+JOURNAL = Macromolecules
+YEAR = 1989
+VOL = 22
+PAGE = 1238
+EPAGE = 1250
+TITLE = Theory of block copolymer solutions: nonselective good solvent
+URL = fredricksonleibler/fred.pdf
+----------
+LABEL = JoannyLeiblerBall
+TYPE = article
+AUTHORL = Joanny|Leibler|Ball
+AUTHORF = J.-F.|L.|R.
+JOURNAL = J. Chem. Phys.
+YEAR = 1984
+VOL = 81
+PAGE = 4640
+EPAGE = 4656
+TITLE = Is chemical mismatch important in polymer solutions?
+URL = joannyleibler/joannyleibler.pdf
+----------
+LABEL = SchaferKappeler
+TYPE = article
+AUTHORL = Sch\"afer|Kappeler
+AUTHORF = L.|Ch.
+JOURNAL = J. Physique
+YEAR = 1985
+VOL = 46
+PAGE = 1853
+EPAGE = 1864
+TITLE = A renormalization group analysis of ternary polymer solutions
+URL =
+----------
+LABEL = IzmailovMyerson
+TYPE = article
+AUTHORL = Izmailov|Myerson
+AUTHORF = A.|A.
+AUTHORM = F.|S.
+JOURNAL = Phys. Rev. E.
+YEAR = 1990
+VOL = 60
+PAGE = 3211
+EPAGE = 3218
+TITLE = Thermodynamic and statistical studies of supersaturated ternary solutions
+URL = PRE_v60p3211-3218y1999.pdf
+----------
+LABEL = BartonMchugh
+TYPE = article
+AUTHORL = Barton|Mchugh
+AUTHORF = B.|A.
+AUTHORM = F.|J.
+JOURNAL = J. of Pol. Science: Part B: Polymer Physics
+YEAR = 1999
+VOL = 37
+PAGE = 1449
+EPAGE = 1460
+TITLE = Kinetics of Thermally Induced Phase Separation in Ternary Polymer Solutions. I. Modeling of Phase Separation Dynamics
+URL = J_of_PolScience_v37p1449-1460y1999.pdf
+----------
+LABEL = HongChouHuang
+TYPE = article
+AUTHORL = Hong|Chou|Huang
+AUTHORF = Po-Da|Che-Min|Hsing-Tsai
+JOURNAL = European Polymer Journal
+YEAR = 2000
+VOL = 36
+PAGE = 2193
+EPAGE = 2200
+TITLE = Phase separation behavior in polyvinyl alcohol/ethylene glycol/water ternary solutions
+URL = EurPolymJ_v36p2193-2200y200.pdf
+----------
+LABEL = CurrieStuartBorisov
+TYPE = article
+AUTHORL = Currie|Cohen Stuart|Borisov
+AUTHORF = E.|M.|O.
+AUTHORM = P.K.|A.|V.
+JOURNAL = Macromolecules
+YEAR = 2001
+VOL = 34
+PAGE = 1018
+EPAGE = 1030
+TITLE = Phase separation in polymer solutions with annealed excluded volume interactions
+URL = CurrieStuartBorisov.pdf
+----------
+LABEL = DormidontovaErukhimovichKhokhlov
+TYPE = article
+AUTHORL = Dormidontova|Erukhimovich|Khokhlov
+AUTHORF = E.|I.|A.
+AUTHORM = E.|Ya.|R.
+JOURNAL = Colloid Polym Sci
+YEAR = 1994
+VOL = 272
+PAGE = 1486
+EPAGE = 1497
+TITLE = Phase diagram for microphase separation transition in poor polymer solutions
+----------
+LABEL = BirshteinZhulinaMercurieva
+TYPE = article
+AUTHORL = Birshtein|Zhulina|Mercurieva
+AUTHORF = T.|E.|A.
+AUTHORM = M.|B.|A.
+JOURNAL = Macromol. Theory Simul.
+YEAR = 2000
+VOL = 9
+PAGE = 47
+EPAGE = 55
+TITLE = Amphiphilic polymer brush in a mixture of incompatible liquids
+URL = brush/BirshteinZhulinaMercurieva.pdf
+----------
+LABEL = KlushinBirshteinMercurieva
+TYPE = article
+AUTHORL = Klushin|Birshtein|Mercurieva
+AUTHORF = L.|T.|A.
+AUTHORM = I.|M.|A.
+JOURNAL = Macromol. Theory Simul.
+YEAR = 1998
+VOL = 7
+PAGE = 483
+EPAGE = 495
+TITLE = Microphase segregation in bridging polymeric brushes: Regular and singular phase diagrams
+URL = brush/KlushinBirstein_MicrophaseSegregationInBrushes.pdf
+----------
+LABEL = DjalaliHugenbergFischerSchmidt
+TYPE = article
+AUTHORL = Djalali|Hugenberg|Fischer|Schmidt
+AUTHORF = R.|N.|K.|M.
+JOURNAL = Macromol. Rapid. Commun.
+YEAR = 1999
+VOL = 20
+PAGE = 444
+EPAGE = 449
+TITLE = Amphipolar core-shell cylindrical brushes
+URL = brush/AmphipolarCore-ShellCylindricalBrushes.pdf
+----------
+LABEL = RuckensteinLi
+TYPE = article
+AUTHORL = Ruckenstein|Li
+AUTHORF = E.|B.
+JOURNAL = J. Chem. Phys.
+YEAR = 1997
+VOL = 107
+PAGE = 932
+EPAGE = 942
+TITLE = Steric interactions between two grafted polymer brushes
+URL = brush/StericInteractionBetweenTwoGraftedPolBrushes.pdf
+----------
+LABEL = Morse
+TYPE = article
+AUTHORL = Morse|Fredrickson
+AUTHORF = D.|G.
+AUTHORM = C.|H.
+JOURNAL = Phys. Rev. Letters
+YEAR = 1994
+VOL = 73
+PAGE = 3235
+EPAGE = 3238
+TITLE = Semiflexible polymers near interfaces
+URL = semiflexible_polymers_near_interfaces_PRL_Fredricson.pdf
+----------
+LABEL = Groh
+TYPE = article
+AUTHORL = Groh
+AUTHORF = B.
+JOURNAL = Phys. Rev. E
+YEAR = 1999
+VOL = 59
+PAGE = 5606
+EPAGE = 5612
+TITLE = Vesicles in solutions of hard rods
+URL = vesticles_in_rods.pdf
+----------
+LABEL = Wilson
+TYPE = article
+AUTHORL = Wilson
+AUTHORF = K.
+AUTHORM = G.
+JOURNAL = Rev. of Mod. Phys.
+YEAR = 1975
+VOL = 47
+PAGE = 773
+EPAGE = 840
+TITLE = The renormalization group: Critical phenomena and the Kondo problem
+URL = renorm/wilson/wilson.pdf
+----------
+LABEL = Fisher
+TYPE = article
+AUTHORL = Fisher
+AUTHORF = M.
+AUTHORM = E.
+JOURNAL = Rev. of Mod. Phys.
+YEAR = 1998
+VOL = 70
+PAGE = 653
+EPAGE = 681
+TITLE = Renormalization group theory: Its basis and formulation in statistical physics
+URL = renorm/fisherRMP000653.pdf
+----------
+LABEL = Morrison
+TYPE = article
+AUTHORL = Morrison
+AUTHORF = P.
+AUTHORM = J.
+JOURNAL = Rev. of Mod. Phys.
+YEAR = 1998
+VOL = 70
+PAGE = 467
+EPAGE = 521
+TITLE = Hamiltonian description of the ideal fluid
+URL = rmp/RMP000467.pdf
+----------
+LABEL = Hogan
+TYPE = article
+AUTHORL = Hogan
+AUTHORF = C.
+AUTHORM = J.
+JOURNAL = Rev. of Mod. Phys.
+YEAR = 2000
+VOL = 72
+PAGE = 1149
+EPAGE = 1161
+TITLE = Why the universe is just so
+URL = rmp/RMP001149.pdf
+----------
+LABEL = Stanley
+TYPE = article
+AUTHORL = Stanley
+AUTHORF = H.
+AUTHORM = E.
+JOURNAL = Rev. of Mod. Phys.
+YEAR = 1999
+VOL = 71
+PAGE = S358
+EPAGE = S366
+TITLE = Scaling, universality, and renormalization: Three pillars of modern critical phenomena
+URL = rmp/RMP00S358.pdf
+----------
+LABEL = GennesRMP
+TYPE = article
+AUTHORP = de
+AUTHORL = Gennes
+AUTHORF = P.-G.
+AUTHORM =
+JOURNAL = Rev. of Mod. Phys.
+YEAR = 1999
+VOL = 71
+PAGE = S374
+EPAGE = S382
+TITLE = Granular matter: a tentative view
+URL = rmp/RMP00S374.pdf
+----------
+LABEL = MatsenBates
+TYPE = article
+AUTHORL = Matsen|Bates
+AUTHORF = M.|F.
+AUTHORM = W.|S.
+JOURNAL = J. Chem. Phys.
+YEAR = 1997
+VOL = 106
+PAGE = 2436
+EPAGE = 2448
+TITLE = Block copolymer microstructures in the intermediate-segregation regime
+URL = JCP02436.pdf
+----------
+LABEL = GrosbergNguyen
+TYPE = eprint
+AUTHORL = Grosberg|Nguyen|Shklovskii
+AUTHORF = A. |T.|B.
+AUTHORM = Ya.|T.|I.
+INFO = cond-mat/0105140
+YEAR = 2001
+TITLE = Low temperature physics at room temperature in water: Charge inversion in chemical and biological systems
+URL = grosberg/01-05-04.pdf
+----------
+LABEL = Pagonabarraga
+TYPE = eprint
+AUTHORL = Pagonabarraga|Cates
+AUTHORF = I.|M.
+AUTHORM = |E.
+INFO = cond-mat/0104449
+YEAR = 2001
+TITLE = A practical density functional for polydisperse polymers
+URL = pagonabarraga/shortpoly2.pdf
+----------
+LABEL = VroegeLekkerkerker
+TYPE = article
+AUTHORL = Vroege|Lekkerkerker
+AUTHORF = G.|H.
+AUTHORM = J.|N.W.
+JOURNAL = Reports on progress in physics
+YEAR = 1992
+VOL = 55
+PAGE = 1241
+EPAGE = 1310
+TITLE = Phase transitions in lyotropic colloidal and polymer liquid crystals
+URL = rp920803.pdf
+----------
+LABEL = WangSafran
+TYPE = article
+AUTHORL = Wang |Safran
+AUTHORF = Z.-G.|S.
+AUTHORM = |A.
+JOURNAL = J. Chem. Phys.
+YEAR = 1988
+VOL = 89
+PAGE = 5323
+EPAGE = 5328
+TITLE = Size distribution for aggregates of associating polymers. II. Linear packing
+URL =
+----------
+LABEL = BrinkeIkkala
+TYPE = article
+AUTHORP = ten
+AUTHORL = Brinke|Ikkala
+AUTHORF = G. |O.
+AUTHORM =
+JOURNAL = TRIP
+YEAR = 1997
+VOL = 5
+PAGE = 213
+EPAGE = 217
+TITLE =
+URL =
+----------
+LABEL = Beers1
+TYPE = article
+AUTHORP =
+AUTHORL = Beers|Scott|Mattyjaszewski|Sheiko|M\"oller
+AUTHORF = K. |G. |K. |S. |M.
+AUTHORM = L. |G. | |S. |
+JOURNAL = Macromolecules
+YEAR = 1998
+VOL = 31
+PAGE = 9413
+EPAGE = 9415
+TITLE = The Synthesis of Densely Grafted Copolymers by Atom Transfer Radical Polymerization
+URL = ma981402i.pdf
+----------
+LABEL = Borner1
+TYPE = article
+AUTHORP =
+AUTHORL = B\"orner|Beers|Matyjaszewski|Sheiko|M\"oller
+AUTHORF = H. |K. |K. |S. |M.
+AUTHORM = G. | | |S. |
+JOURNAL = Macromolecules
+YEAR = 2001
+VOL = 34
+PAGE = 4375
+EPAGE = 4383
+TITLE = Synthesis of Molecular Brushes with Block Copolymer Side Chains Using Atom Transfer Radical Polymerization
+URL = ma010001r.pdf
+----------
+LABEL = Schappacher
+TYPE = article
+AUTHORP =
+AUTHORL = Schappacher|Billaud|Paulo|Deffieux
+AUTHORF = M. |C. |C. |A.
+AUTHORM =
+JOURNAL = Macromol. Chem. Phys.
+YEAR = 1999
+VOL = 200
+PAGE = 2377
+EPAGE = 2386
+TITLE = Synthesis, dimensions and solution properties of linear and macrocyclic poly(chloroethyl vinyl ether)-g-polystyrene comblike polymers
+URL = schappacher.pdf
+----------
+LABEL = Wintermantel1
+TYPE = article
+AUTHORP =
+AUTHORL = Wintermantel|Schmidt|Tsukahara|Kajiwara|Kohjiya
+AUTHORF = M.|M.|Y.|K.|S.
+AUTHORM =
+JOURNAL = Macromol. Rapid. Commun.
+YEAR = 1994
+VOL = 15
+PAGE = 279
+EPAGE = 284
+TITLE =
+URL =
+----------
+LABEL = Wintermantel2
+TYPE = article
+AUTHORP =
+AUTHORL = Wintermantel|Fischer|Gerle|Ries|Schmidt|Kajiwara|Urakawa|Wataoka
+AUTHORF = M.|K.|M.|R.|M.|K.|H.|I.
+AUTHORM =
+JOURNAL = Angew Chem. Int. Ed. Engl.
+YEAR = 1995
+VOL = 34
+PAGE = 1472
+EPAGE = 1474
+TITLE =
+URL =
+----------
+LABEL = Wintermantel3
+TYPE = article
+AUTHORP =
+AUTHORL = Wintermantel|Gerle|Fischer|Schmidt|Wataoka|Urakawa|Kajiwara|Tsukahara
+AUTHORF = M.|M.|K.|M.|I.|H.|K.|Y.
+AUTHORM =
+JOURNAL = Macromolecules
+YEAR = 1996
+VOL = 29
+PAGE = 978
+EPAGE = 983
+TITLE = Molecular Bottlebrushes
+URL = ma950227s.pdf
+----------
+LABEL = GerleRoos
+TYPE = article
+AUTHORP =
+AUTHORL = Gerle|Fischer|Roos|M\"uller|Schmidt|Sheiko|Prokhorova|M\"oller
+AUTHORF = M. |K. |S. |A. |M. |S. |S. |M.
+AUTHORM = | | |H.~E. | |S.
+JOURNAL = Macromolecules
+YEAR = 1999
+VOL = 32
+PAGE = 2629
+EPAGE = 2637
+TITLE = Main Chain Conformation and Anomalous Elution Behavior of Cylindrical Brushes As Revealed by GPC/MALLS, Light Scattering, and SFM
+URL = ma9816463.pdf
+----------
+LABEL = FischerGerleSchmidt
+TYPE = article
+AUTHORP =
+AUTHORL = Fischer|Gerle|Schmidt
+AUTHORF = K.|M.|M.
+AUTHORM =
+JOURNAL = Proc. ACS PMSE Anaheim
+YEAR = 1999
+VOL = 30
+PAGE = 133
+EPAGE = 134
+TITLE =
+URL =
+----------
+LABEL = FischerSchmidt
+TYPE = article0
+AUTHORP =
+AUTHORL = Fischer|Schmidt
+AUTHORF = K.|M.|M.
+AUTHORM =
+JOURNAL = Macromol Rapid Commun
+YEAR = 2001
+VOL =
+PAGE =
+EPAGE =
+TITLE =
+URL =
+STATE = in press
+----------
+LABEL = Sheiko2
+TYPE = article
+AUTHORP =
+AUTHORL = Sheiko
+AUTHORF = S.
+AUTHORM = S.
+JOURNAL = Advances Polym. Sci.
+YEAR = 2000
+VOL = 151
+PAGE = 61
+EPAGE = 174
+TITLE =
+URL =
+----------
+%LABEL=kukuku
+%TYPE=preprint
+%AUTHORL=kukuauth
+%TITLE=Microphase separation within comb-like copolymer with attractive side-chains: computer simulations1
+%JOURNAL= Macromol. Theory and Simul1.
+%YEAR =1995
+%VOL =4
+%----------
+EOF
+
+
+
+
+
+
+
+
diff --git a/support/biblio/EXAMPLES/hairy/hairy.tex b/support/biblio/EXAMPLES/hairy/hairy.tex
new file mode 100644
index 0000000000..0c3a89d23c
--- /dev/null
+++ b/support/biblio/EXAMPLES/hairy/hairy.tex
@@ -0,0 +1,895 @@
+\documentstyle[aps,preprint]{revtex}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\lbl}[1]{\label{#1}}
+\newcommand{\reff}[1]{eq~\ref{#1}}
+
+
+\newcommand{\be}[1]{ \begin{equation} \lbl{#1} }
+\newcommand{\ee}{\end{equation}}
+
+\newcommand{\bea}[1]{ \begin{eqnarray} \lbl{#1} }
+\newcommand{\eea}{\end{eqnarray}}
+
+\newcommand{\dd}{\partial}
+
+\newcommand{\vk}{\bf k}
+\newcommand{\vb}{\bf b}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+
+\title{Phase equilibria in associating rodlike and flexible chains}
+
+\date{\today}
+
+\author{R. Stepanyan$^{\dagger}$,
+ A. Subbotin$^{\dagger ,\sharp}$,
+ O. Ikkala$^{\ddagger}$,
+ G. ten Brinke$^{\dagger}$}
+
+\address{$^{\dagger }$
+Department of Polymer Science and Material Science Center,\\
+University of Groningen, Nijenborgh 4, 9747 AG Groningen, The Netherlands;}
+
+\address{$^{\sharp }$
+Institute of Petrochemical Synthesis, Russian Academy of\\
+Sciences, Moscow 119991, Russia;}
+
+\address{$^{\ddagger }$
+Department of Engineering Physics and Mathematics, \\
+Helsinki University of Technology, P.O. Box 2200,\\
+FIN-02015 HUT, Espoo, Finland}
+
+\date{\today}
+
+\maketitle
+
+\begin{abstract}
+Abstract goes here
+\end{abstract}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
+
+\section{Introduction}
+
+Introduction......
+
+\cite{MB1091,BF525,bookdeGennesScalingConcepts,Leibler}.
+%-----------------------------------------------------------------
+
+\section{The model and the free energy of the reference system}
+
+Let us consider a melt consisting of rigid rods of length $L$ and diameter
+$d$ and flexible coils consisting of $N$ beads of volume $\nu$ and statistical
+segment of length $a$. The coil size is $R_c = a \sqrt{N}$. We will assume that
+each rod contains $M$ associating groups (an average distance between two
+succesive groups is $b=L/M \ll R_c$) which can form bonds with the
+associating end of the coil (FIGURE). It is assumed that each coil has only one
+associating end. The energy of association between rod and coil equals
+to $-\epsilon $. The concentration of rods in the melt is $c$ and their volume
+fraction is $f=(\pi /4)Ld^2c$.
+
+The interactions between rods and coils can be introduced in the
+following way. It is well known that rods and polymer coils in the
+molten state are practically incompartible and separate on the nematic phase
+consisting of rods and isotropic phase consisting of the flexible
+polymers \cite{Flory:MML:11:1138,AbeBallauff}.
+Let us consider the interface between the nematic and isotropic phases
+(FIGURE fig.1)
+which is assumed to be sharp so that the polymer segments can not
+penetrate into the nematic phase, and introduce the interfacial tension
+$\gamma$ corresponding to planar orientation of rods at the interface
+($k_B \equiv 1$)
+%
+\be{eq0}
+\gamma =(w+sT)/d^2
+\ee
+%
+where $w$ is the energetic part of the surface energy and $s$ is the
+entropic part
+(here $T$ is temperature, ??we will also assume that $s \sim 1$??).
+According to the defenition \reff{eq0} if a rod penetrates into the polymer
+melt its energy loss approximatly equals
+%
+\be{eq01}
+\mu _r\simeq 2Ld\gamma =\frac{2L}d\left( w+sT\right)
+\ee
+The free energy of the isotropic phase with small amount of rigid rods
+therefore is given by
+
+\be{eq02}
+{\cal F}_I^{*} =
+T V c
+\ln \left( \frac{f}{e} \right) +
+T V \frac{1-f}{N\nu}
+\ln \left( \frac{1-f}{e} \right) +
+V c \frac{2L}{d} \left( w+sT \right)
+\ee
+%
+Here we omitted interaction between the rods. $V$ is the volume of the
+system. In \reff{eq02} the first two terms imply the translational
+energy of the rods and coils correspondingly and the last term is the energy of
+rods.
+
+The coils can also penetrate into the nematic phase where they become
+stretched. In order to write the free energy of the nematic phase with small
+amount of coils we introduce a chemical potential of the coil in the
+nematic phase $\mu _c$ which includes both energetic and entropic
+parts and limits to infinity,
+
+\be{eq05}
+\mu _c/T\rightarrow \infty
+\ee
+for arbitrary $T$. As we will see below it means that the coils
+practically do not penetrate in the nematic phase.
+
+The free energy of the nematic phase contains also a term connected with
+orientational ordering of rods. The last one can be estimated as
+\cite{KhokhlovTBOA,SemenovKhokhlov}
+$T \ln ( 4 \pi /\Omega )$,
+where $\Omega$ is the characteristic fluctuation angle,
+$\Omega \simeq 2\pi (d/L)^2$. Thus the free energy is given by
+%
+\be{eq03}
+{\cal F}_N^{*}=
+T V c \ln \left( \frac{f}{e} \right) +
+T V \frac{1-f}{N\nu}
+\ln \left( \frac{1-f}e \right) +
+2 T V c \ln \left( \frac{L}{d} \right) +
+V \frac{1-f}{N\nu} \mu _c
+\ee
+The phase equilibrium between the nematic and isotropic phases can be found
+in a usuall way by equating the chemical potentials and osmotic pressures in
+both phases.
+%
+\begin{eqnarray}
+\mu_I^{*} & = & \mu _N^{*}; \quad
+\mu _{I,N}^{*} = \frac{1}{V} \frac{\dd {\cal F}_{I,N}^{*}}{\dd c}
+ \nonumber\\
+%
+P_I &=&P_N; \quad
+P_{I,N}=\frac{1}{V}
+\left(
+ c \, \frac{\dd {\cal F}_{I,N}^{*}}{\dd c} - {\cal F}_{I,N}^{*}
+\right)
+\lbl{eq04}
+\end{eqnarray}
+Considering limit \reff{eq05}, solution of these equations is given by
+%
+\be{eq06}
+f_N \simeq 1,\quad
+f_I \simeq
+ \left( \frac{L}{d} \right) ^2
+ \exp \left( -\frac{2L}{d}\left( \frac wT+s \right)
+ \right) \ll 1
+\ee
+
+\section{Nematic-isotropic liquid phase coexistence: effect of association}
+%
+In this section we study the influence of association between rods and
+coils on the macrophase separation described above.
+We start from the free energy of association between
+rods and coils, ${\cal F}_{bond}$, assuming that they are
+ideal (without excluded volume). Let us introduce the probability of bond
+$p$. The total number of bonds in the system is $VMcp$ and
+equals to the number of associated coils.
+Therefore the number of free coils in the system is
+$(V/N\nu)(1-f-f\kappa pN)$, where $\kappa \equiv \nu/(\pi b d^2/4)$. The free
+energy of bonds can be written through the partition function $Z_{bond}$ as
+\cite{SemenovRubinstein1,Erukhimovich:Gel}
+%
+\be{eq3}
+{\cal F}_{bond}=-T\ln Z_{bond}
+\ee
+where
+%
+\be{eq4}
+Z_{bond} =
+ P_{comb}
+ \left( \frac{v_b}V \right)^{V M c p}
+ \exp \left( \frac{\epsilon \, V M c p}{T} \right)
+\ee
+and $P_{comb}$ is the number of different ways to bond rods and coils
+for a fixed probability of bond $p$; $v_b$ is a bond volume. If we denote
+the number of rods in the system as ${\cal N}_r=Vc$, and the number of coils
+as ${\cal N}_c=V(1-f)/N\nu$ then the number of ways to choose ${\cal N}_rMp$
+coils for bonds formation is a binomial coefficient
+%
+\be{eq5}
+C_{{\cal N}_c}^{{\cal N}_rMp}=\frac{{\cal N}_c!}{({\cal N}_rMp)!({\cal N}_c-%
+{\cal N}_rMp)!}
+\ee
+%
+On the other hand there are
+%
+\be{eq6}
+\frac{({\cal N}_rM)!}{({\cal N}_rM(1-p))!}
+\ee
+different ways to select ${\cal N}_rMp$ bonds from ${\cal N}_rM$
+associating groups. Therefore
+
+\be{eq7}
+P_{comb} = C_{{\cal N}_c}^{{\cal N}_rMp}
+ \frac{ ({\cal N}_rM)! }{ ({\cal N}_rM(1-p))! }
+\ee
+and the free energy of bonds is given by
+%
+\begin{eqnarray}
+{\cal F}_{bond} & = &
+VMcp
+\left[
+ T \ln \left( \frac{N\nu}{v_b} \right) - \epsilon
+\right] +
+TVcM
+\left[
+ p\ln p + (1-p) \ln (1-p)
+\right] \nonumber\\
+%
+ & & +
+TV \frac{\left( 1-f-f\kappa Np\right) }{N\nu}
+ \ln \left( \frac{1-f-f\kappa Np}{e} \right) -
+TV \frac{(1-f)}{N\nu}
+ \ln \left( \frac{1-f}{e} \right)
+\lbl{eq8}
+\end{eqnarray}
+
+Thus the free energy of the isotropic phase can be presented as the following
+%
+\be{eq9}
+{\cal F}_I = {\cal F}_I^{*} + {\cal F}_{bond} + {\cal F}_{el}
+\ee
+%
+where ${\cal F}_{el}$ is the elastic free energy of the side chains
+of the hairy
+rod when the density of association is high enough. We approximate it
+by \cite{3dFlex,2sorts}
+
+\be{eq10}
+{ \cal F}_{el}=
+\left[
+ \begin{array}{cl}
+ TVc\frac{3\kappa d^2}{32a^2}Mp^2\ln \left( \kappa Np\right) ,\quad &
+ p>\frac{1}{\kappa N} \\
+ 0, \quad &
+ \textrm{otherwise}
+ \end{array}
+\right.
+\ee
+Hence the final expression for the free energy of the isotropic phase is
+given by (per volume of one rod $(\pi /4)Ld^2)$
+%
+\begin{eqnarray}
+\frac{F_I(f,p)}T &=&
+ f\frac{2L}{d} \left( \frac wT+s \right)
+ +Mfp\left[ \ln \left( \frac{N\nu}{v_b}\right) -\frac \epsilon T \right]
+ +fM\left[ p\ln p+(1-p)\ln (1-p)\right] \nonumber\\
+&&
+ +f\ln \left( \frac fe \right)
+ +M \frac{\left( 1-f-f \kappa Np \right) }{N\kappa }
+ \ln \left( \frac{1-f-f\kappa Np}{e} \right) \nonumber\\
+&&
+ +f\frac{3\kappa d^2}{32a^2} Mp^2
+ \ln \left( \kappa Np \right) H\left( p-\frac 1{\kappa N}\right)
+\lbl{eq11}
+\end{eqnarray}
+%
+where
+%
+$$
+H(x)=
+\left[
+ \begin{array}{cl}
+ 1,\quad & x \geq 0 \\
+ 0,\quad & x < 0
+ \end{array}
+\right.
+$$
+is the Heavyside's function.
+Similarly, the free energy of the nematic phase is
+%
+\begin{eqnarray}
+\frac{F_N(f,p)}T &=&
+ 2 f \ln \left( \frac Ld \right)
+ +M\frac{1-f}{N\kappa }\frac{\mu _c}T
+ +Mfp\left[ \ln \left( \frac{N\nu}{v_b}\right)
+ -\frac \epsilon T\right]
+ +fM\left[ p\ln p+(1-p)\ln (1-p)\right] \nonumber\\
+&&
+ +f\ln \left( \frac fe\right)
+ +M\frac{\left( 1-f-f\kappa Np\right) }{ N\kappa }
+ \ln \left( \frac{1-f-f\kappa Np}e\right)
+\lbl{eq12}
+\end{eqnarray}
+%
+%
+The probability of bonding in both phases can be found from the minimization
+of the corresponding free energies
+%
+\be{eq13}
+\frac{\dd F_I}{\dd p}=0;
+\quad
+\frac{\dd F_N}{\dd p}=0
+\ee
+%
+and is given by ($N^* \equiv N \nu / v_b$)
+%
+\be{eq14}
+p= \frac{1}{2\kappa Nf}
+\left[
+ 1-f+\kappa Nf-\epsilon /(TN^{*})-
+ \sqrt{
+ \left(1-f+\kappa Nf-\epsilon /(TN^{*}) \right) ^2
+ -4\kappa Nf(1-f)
+ }
+\right]
+\ee
+for the nematic phase and for the isotropic phase when $p<\frac 1{\kappa N}$.
+%Here $N^{*}\equiv N\nu/v_b.$
+For $p>\frac 1{\kappa N}$ the probability of
+bonding in the isotropic phase obeys
+%
+\be{eq15}
+ \ln
+ \left[
+ \frac{ pN^{*}e^{-\epsilon /T} }
+ { \left( 1-p\right) \left(1-f_I-f_I\kappa Np\right) }
+ \right]
+ +\frac{3\kappa d^2p}{16a^2}\ln \left( \kappa Npe\right)
+ = 0
+\ee
+%
+and for a small volume fraction of rods, $f_I \ll 1$, is approximately given by
+%
+\be{eq24}
+p \simeq \frac 1{ 1 + N^{*} e^{-\epsilon^{*}/T}},
+\quad
+\epsilon ^{*} = \epsilon -
+ \frac{3\kappa d^2T}{32a^2} \,
+ \frac{1}{1+N^{*}e^{-\epsilon /T}}
+ \ln \left( \frac{\kappa N}{1+N^{*} e^{-\epsilon /T}} \right)
+\ee
+%
+Phase equilibrium between the isotropic and nematic phases can be found in a
+standard way from the equilibrium equations
+%
+\begin{eqnarray}
+\frac{\dd F_I}{\dd f_I} &=& \frac{\dd F_N}{\dd f_N}
+\nonumber \\
+f_I\frac{\dd F_I}{\dd f_I}-F_I &=& f_N\frac{\dd F_N}{\dd f_N}-F_N
+\lbl{eq16}
+\end{eqnarray}
+using eqs.~\ref{eq11},\ref{eq12} together with \reff{eq14} and \reff{eq24}.
+When the probability of bonding in the
+isotropic phase $p_I<\frac 1{\kappa N}$
+(or equivalently $\frac{\epsilon}{T} < \ln \frac{\nu}{\kappa v_b}$),
+expression \reff{eq14} can be used giving the volume fraction of rods
+%
+\begin{eqnarray}
+f_N & \simeq & 1,
+ \nonumber\\
+f_I & \simeq &
+ \left( \frac Ld \right) ^2
+ \exp
+ \left(
+ -\frac{2L}{d}
+ \left( \frac wT+s\right)
+ +\frac M{1+N^{*}e^{-\epsilon /T}}
+ \left( \frac \epsilon T-\ln N^{*}\right)
+ \right) \ll 1
+\lbl{eq17}
+\end{eqnarray}
+%
+However, if
+$p_I>\frac 1{\kappa N}$
+(or $\frac \epsilon T>\ln \frac \nu{\kappa v_b}$),
+the volume fraction of rods in the nematic phase
+is still close to the unity whereas $f_I$ obeys the equation
+%
+\be{eq18}
+\ln f_I
+- Mp_I \ln \left( 1-f_I-f_I\kappa Np_I \right)
+\simeq
+2 \ln \left( \frac L d\right)
++ \frac M{N\kappa} - \frac{2Ls}{d}
+-Mp_I\ln N^{*}
++\frac{1}{T} \left( Mp_I\epsilon -\frac{2Lw}d \right)
+\ee
+where $p_I$ has to be determined from \reff{eq15}.
+Obviously, for $T \to 0$ $p_I \to 1$ and therefore the last term
+in eq.\ref{eq17} becomes dominant. Depending on its sign two
+characteristical assymptotics can be distinguished
+%
+\begin{eqnarray}
+f_I \to 0 \qquad\qquad\textrm{if }\quad M\epsilon <\frac{2Lw}d
+\nonumber\\
+f_I \to \frac 1{1+N\kappa } \quad\textrm{if }\quad M\epsilon >\frac{2Lw}d
+\label{eq19}
+\end{eqnarray}
+Thus for $\epsilon /w>2b/d$ rods and coils become partially compartible.
+This fact has a clear physical meaning. Negative sign of
+$-\epsilon + \frac{2Lw}{Md}$ corresponds to the negative ``total'' energy
+($\epsilon$-part plus $\gamma$-part)
+due to attaching of a coil to a rod, i.e. making it favorable to keep
+\emph{all} coils bonded (for $T\to 0$, of course).
+Further on we consider only the case $\epsilon /w>2b/d$,
+where a region of compatibility of rods and coils exists.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{Phase equilibria between nematic, isotropic liquid and microphases}
+
+There are two mechanisms of attraction between hairy rods, namely due to
+incompartibility of the rods and coils and due to nonhomogeneous
+distribution of the free polymer coils which is created by the hairy rods.
+These mechanisms ultimately result in formation hexagonal and lamellar
+structures in the blend. Moreover we can separate two different hexagonal
+phases. In one of the phases (we call it H1) the mechanism connected with
+nonhomogeneous distribution of the free polymers is dominant and the
+''cylinders'' contain only one rod per unit cell $(Q=1)$. In the second
+phase (H2) the surface term becomes important so that rods attract each
+other and the cylinders contain $Q>1$ rods per unit cell (fig.2FIGURE). With
+decreasing temperature the cylinders first adopts elipsoidal form and
+finally transform to the lamellar phase.
+
+\subsection{Separation of the hexagonal phase H1}
+
+Let us start with calculation of the interaction energy between the
+cylinders in the hexoganal phases (H1, H2). It is connected with
+nonhomogeneous distribution of the free polymer coils and is given by (per
+cylinder of unit length)
+
+\be{eq20}
+U_H(Q)=
+\frac{N\nu(Qp)^2}{2b}
+\left[
+ \frac 2{\sqrt{3} \, \ell ^2}
+ \sum_{\{ \vb \}}
+ \frac{h^2(\frac{a^2N{\vk}^2}6)}{g(\frac{a^2N{\vk}^2}6)}
+ -\frac 1{4\pi ^2}
+ \int d{\vk}\frac{h^2(\frac{a^2N{\vk}^2}6)}{g(\frac{a^2N{\vk}^2}6)}
+\right]
+\ee
+where $\ell $ is the period of the structure, $\{ \vb \}$ are the vectors
+of the reciprocal lattice,
+$$h(u) =\frac 1u\left( 1-e^{-u}\right) $$
+$$g(u) =\frac 2{u^2}\left( u-1+e^{-u}\right)$$
+
+After calculation of the sum and integral in eq.\ref{eq20} we find the
+interaction energy per volume $(\pi /4)Ld^2$
+
+\be{eq21}
+U_H(Q)=-\frac 3{32}\frac{\kappa MQp^2fd^2}{a^2N}
+ \left[
+ 3.457
+ +\ln \left( \frac{a^2Nf}{Qd^2}\right)
+ \right]
+\ee
+Thus the free energy of H1 phase is given by
+%
+\begin{eqnarray}
+\frac{F_{H1}}T &=&
+ f\frac{2L}{d} \left( \frac wT+s\right)
+- Mfp\left[ \frac \epsilon T - \ln N^{*} \right]
++ fM\left[ p\ln p+(1-p)\ln (1-p) \right]
++ 2f\ln \left( \frac Ld \right)
+\nonumber \\
+&&
++ M\frac{\left( 1-f-f\kappa Np\right) }{N\kappa }
+ \ln \left( \frac{1-f-f\kappa Np}e\right)
++ f\frac{3\kappa d^2}{32a^2}Mp^2\ln \left( \kappa Np\right)
+\nonumber \\
+&&
+- \frac{3}{32} \frac{\kappa Mp^2fd^2}{a^2N}
+ \left[ 3.457+\ln \left( \frac{a^2Nf}{d^2}\right) \right]
+\lbl{eq22}
+\end{eqnarray}
+Here we approximated the loss of the orientational energy of rod by the term
+$2Tf\ln \left( \frac Ld\right) $, and omitted the loss of it translational
+entropy because it is relatively small. Phase equilibrium between isotropic
+phase and H1 phase can be found from the equilibrium equations
+%
+\begin{eqnarray}
+ \frac{\dd F_I}{\dd f_I} =\frac{\dd F_{H1}}{\dd f_{H1}},
+ &\quad&
+ \frac{\dd F_I}{\dd p_I}=\frac{\dd F_{H1}}{\dd p_{H1}}=0
+\nonumber\\
+ f_I\frac{\dd F_I}{\dd f_I}-F_I
+ &=&
+ f_{H1}\frac{\dd F_{H1}}{\dd f_{H1}}-F_{H1}
+\lbl{eq23}
+\end{eqnarray}
+and the probability of bonding and the binodal lines are
+%
+\begin{eqnarray}
+ & p_1 \simeq & p_{H1}\simeq 1,
+\nonumber \\
+ & f_{H1}^{(1)} \simeq & \frac 3{16}\frac{d^2}{a^2 N},
+\nonumber \\
+ & f_I \simeq &
+ \left( \frac Ld\right) ^2
+ \exp \left( -\frac 3{16}\frac{d^2p^2\kappa M}{a^2}\right) \simeq 0
+\lbl{eq26}
+\end{eqnarray}
+
+Similarly the phase equilibrium between the nematic and H1 phases follow
+from equations
+%
+\begin{eqnarray}
+ \frac{\dd F_N}{\dd f_N} =\frac{\dd F_{H1}}{\dd f_{H1}},
+ &\quad&
+ \frac{\dd F_N}{\dd p_N}=\frac{\dd F_{H1}}{\dd p_{H1}}=0
+\nonumber\\
+ f_N\frac{\dd F_N}{\dd f_N}-F_N
+ &=&
+ f_{H1}\frac{\dd F_{H1}}{\dd f_{H1}}-F_{H1}
+\lbl{eq25}
+\end{eqnarray}
+%
+and solution is given by
+%
+\begin{eqnarray}
+& p_N \simeq &0, \quad p_{H1}\simeq 1, \nonumber \\
+& f_N \simeq &1, \nonumber\\
+& f_{H1}^{(2)} \simeq &\frac 1{1+\kappa N}
+ \left[
+ 1-\exp
+ \left(
+ -\frac{\epsilon}{T}
+ +\frac{2bw}{Td}
+ +\frac{2bs}d+\ln N^{*}
+ +\frac{3\kappa d^2}{32a^2}\ln \left( \kappa N\right)
+ \right)
+ \right]
+\lbl{eq251}
+\end{eqnarray}
+The critical temperature $(\epsilon /T)_c$ can be obtained from the
+intersection of the curves $f_{H1}^{(1)}$ and $f_{H1}^{(2)}$, and obeys the
+following equation
+%
+\be{eq27}
+(\epsilon /T)_c =
+ \frac{1}{1-\frac{2bw}{\epsilon d}}
+ \left( \frac{2bs}d+\ln
+ N^{*}+\frac{3\kappa d^2}{32a^2} \ln \left( \kappa N \right)
+ \right)
+\ee
+where the probability of bonding $p_c\simeq 1.$ Thus the hexagonal H1 phase
+is stable for $f_{H1}^{(1)}<f<f_{H1}^{(2)}$; for $f_I<f<f_{H1}^{(1)}$ the
+system separates on the isotropic and H1 phase and for $f_{H1}^{(1)}<f<f_N$
+it separates on the H1 and nematic phase.
+
+\subsection{Separation of the hexagonal phase H2}
+
+Let us follow along the binodal line $f_{H1}^{(1)}(T)$ decreasing the
+temperature. At some temperature H1 phase becomes unstable with respect to
+separation of the isotropic phase and the hexagonal H2 phase. The
+corresponding triple point can be obtained from the system of equations
+
+\begin{eqnarray}
+\frac{\dd F_I}{\dd f_I}
+=\frac{\dd F_{H1}}{\dd f_{H1}}
+=\frac{\dd F_{H2}}{\dd f_{H2}} \, ,
+\qquad
+\frac{\dd F_I}{\dd p_I}
+=\frac{\dd F_{H1}}{\dd p_{H1}}
+=\frac{\dd F_{H2}}{\dd p_{H2}}
+=0
+\nonumber \\
+f_I\frac{\dd F_I}{\dd f_I}-F_I
+=f_{H1}\frac{\dd F_{H1}}{\dd f_{H1}}-F_{H1}
+=f_{H2}\frac{\dd F_{H2}}{\dd f_{H2}}-F_{H2}
+\lbl{eq23a}
+\end{eqnarray}
+%
+where the free energy of the H2 phase for $Q<\sqrt{N}$ is given by
+%
+\begin{eqnarray}
+\frac{F_{H2}}T
+&=&
+ f\frac Ld\left( \frac wT+s\right) \left( 1+\frac 2Q\right)
+ +Mfp\left[ \ln N^{*}-\frac \epsilon T\right]
+ +fM\left[ p\ln p+(1-p)\ln (1-p)\right]
+\nonumber \\
+&&
+ +2f\ln \left( \frac Ld\right)
+ +M\frac{\left( 1-f-f\kappa Np\right) }{\kappa N}
+ \ln \left( \frac{1-f-f\kappa Np}e\right)
+ +f\frac{3d^2\kappa Q}{32a^2}Mp^2\ln \left( \kappa Np\right)
+\nonumber \\
+&&
+ -\frac 3{32}\frac{\kappa MQp^2fd^2}{a^2N}
+ \left[ 3.457+\ln \left( \frac{a^2Nf}{Qd^2}\right) \right]
+\lbl{eq28}
+\end{eqnarray}
+and the number of rods $Q$ in the cross-section of the cylinder can be
+calculated from the minimum condition $\dd F_{H2}/\dd Q=0$,
+%
+\be{eq28a}
+Q \simeq
+\sqrt{
+ \frac{64ba^2}{3\kappa p^2d^3 \ln \left( \kappa N \right) }
+ \left( \frac wT+s \right)
+}
+\ee
+Solution of the eqs.~\ref{eq23a} is given by
+%
+\begin{eqnarray}
+&& p_I \simeq p_{H1} \simeq p_{H2}\simeq 1 \nonumber \\
+&& Q_1 \simeq 2+\sqrt{2},
+\quad
+f_I\simeq 0,
+\quad
+f_{H1}^{(1)} \simeq \frac 3{16} \frac{d^2}{a^2N},
+\quad
+f_{H2}^{(1)} \simeq \frac 3{16}\frac{Q_1d^2}{a^2N}
+\lbl{eq28b}
+\end{eqnarray}
+and the critical temperature is
+
+\be{eq23e}
+\frac w{T_{c1}} \simeq -s+\frac{3\kappa d^3 Q_1^2}{64 b a^2}
+ \ln \left( \kappa N \right)
+\ee
+
+Similarly we the binodal line $f_{H1}^{(1)}(T)$ finishes at the triple point
+which can be found from the system of equations
+
+\begin{eqnarray}
+&&\frac{\dd F_N}{\dd f_N} =
+\frac{\dd F_{H1}}{\dd f_{H1}} =
+\frac{\dd F_{H2}}{\dd f_{H2}},
+\quad
+\frac{\dd F_N}{\dd p_N} =
+\frac{\dd F_{H1}}{\dd p_{H1}} =
+\frac{\dd F_{H2}}{\dd p_{H2}} =0
+\nonumber \\
+&&f_N\frac{\dd F_N}{\dd f_N}-F_N =
+f_{H1}\frac{\dd F_{H1}}{\dd f_{H1}}-F_{H1}=
+f_{H2}\frac{\dd F_{H2}}{\dd f_{H2}}-F_{H2}
+\lbl{eq23c}
+\end{eqnarray}
+%
+and is characterized by
+%
+\begin{eqnarray}
+&&
+p_N \simeq 0,
+\quad
+p_{H1} \simeq p_{H2} \simeq 1
+\nonumber\\
+&&
+Q_1^{^{\prime }} \simeq Q_1\simeq 2+\sqrt{2}, \quad f_N \simeq 1,
+\nonumber \\
+&&
+f_{H1}^{(2)}\simeq \frac 1{1+\kappa N}\left[ 1-\exp \left( -\frac \epsilon {%
+T_{c1}}+\frac{2bw}{T_{c1}d}+\frac{2bs}d+\ln N^{*}+\frac{3d^2\kappa }{32a^2}%
+\ln \left( \kappa N\right) \right) \right]
+\nonumber\\
+&&
+f_{H2}^{(2)}\simeq \frac 1{1+\kappa N}\left[ 1-\exp \left( -\frac \epsilon {%
+T_{c1}}+\left( \frac{2bw}{T_{c1}d}+\frac{2bs}d\right) \left( 1+\frac 2{Q_1}%
+\right) +\ln N^{*}+\frac{3d^2\kappa Q_1}{32a^2}\ln \left( \kappa N\right)
+\right) \right]
+%
+\lbl{eq23d}
+\end{eqnarray}
+
+In the first approximation the corresponding critical temperature coinside
+with the critical temperature \reff{eq23e}. Note, the small difference
+between these critical temperatures, which we do not consider here, result
+in a small area of phase separation between H1 and H2 phases.
+
+The phase equilibrium between the isotropic and the hexagonal H2 phase can
+be found based on the equations
+%
+\begin{eqnarray}
+&&
+ \frac{\dd F_I}{\dd f_I} =\frac{\dd F_{H2}}{\dd f_{H2}},
+ \quad
+ \frac{\dd F_I}{\dd p_I} = \frac{\dd F_{H2}}{\dd p_{H2}} =0
+\nonumber\\
+&&
+ f_I\frac{\dd F_I}{\dd f_I}-F_I = f_{H2}\frac{\dd F_{H2}}{\dd f_{H2}}-F_{H2}
+\lbl{eq231}
+\end{eqnarray}
+and for $1\ll Q<\sqrt{N\text{ }}$ the probability of bonding and the binodal
+lines are given by
+
+\begin{eqnarray}
+ && p_I \simeq p_{H2}\simeq 1,
+\nonumber\\
+ && f_I \simeq 0,\quad
+\nonumber \\
+ && f_{H2}^{(1)} \simeq
+ \frac 1{1+\kappa N}
+ \left[
+ 1-\exp \left( -\frac 3{16}\frac{Qd^2}{a^2N}\right)
+ \right]
+\lbl{eq28b1}
+\end{eqnarray}
+%
+where $Q$ defined by \reff{eq28a}. Similarly the equilibrium between the
+nematic and the hexagonal H2 phase obeys equations
+%
+\begin{eqnarray}
+&&
+ \frac{\dd F_N}{\dd f_N} = \frac{\dd F_{H2}}{\dd f_{H2}},
+ \quad
+ \frac{\dd F_N}{\dd p_N} = \frac{\dd F_{H2}}{\dd p_{H2}}=0
+\nonumber \\
+&&
+ f_N\frac{\dd F_N}{\dd f_N}-F_N = f_{H2}\frac{\dd F_{H2}}{\dd f_{H2}}-F_{H2}
+\lbl{eq232}
+\end{eqnarray}
+and the corresponding probabilities and binodals are
+%
+\begin{eqnarray}
+&&
+ p_N \simeq 0,\quad p_{H2}\simeq 1,
+\nonumber \\
+&&
+ f_N \simeq 1,
+\nonumber \\
+&&
+ f_{H2}^{(2)} \simeq \frac 1{1+\kappa N}
+ \left[
+ 1-\exp \left( -\frac{\epsilon}{T}
+ +\left( \frac{2bw}{Td}+\frac{2bs}d \right) \left( 1+\frac{2}{Q} \right)
+ +\ln N^{*}+\frac{3d^2\kappa Q}{32a^2} \ln \left( \kappa N\right) \right)
+ \right]
+\lbl{eq28b21}
+\end{eqnarray}
+
+With further decreasing temperature the number of rods in the cross-section $%
+Q$ becomes larger than $\sqrt{N}$ and the cylinders become elongated in one
+direction.
+
+\subsection{Separation of the lamellar phase}
+
+The free energy of the lamellar phase is
+%
+\begin{eqnarray}
+\frac{F_L}T &=&
+ f\frac Ld\left( \frac wT+s\right)
+ +Mfp\left[ \ln N^{*}-\frac \epsilon T\right]
+ +fM\left[ p\ln p+(1-p)\ln (1-p)\right]
+\nonumber \\
+&&
+ +2f\ln \left( \frac Ld\right)
+ +M\frac{\left( 1-f-f\kappa Np\right) }{\kappa N}
+ \ln \left( \frac{2h^{*}}\xi \frac{1-f-f\kappa Np}e\right)
+ +f\frac{ 3\pi ^2d^2\kappa ^2}{32a^2}NMp^3
+\nonumber \\
+&&
+ -0.227f^{*}M \left( \frac{p^2a^2}{\kappa ^2d^2N}\right) ^{1/3}
+ -1.312M \frac{(f-f^{*})}{f^{*}}
+ \left( \frac{p^2d^2}{\kappa a^2N^2}\right) ^{1/3}
+%
+\lbl{eq29}
+\end{eqnarray}
+where
+%
+$$
+h^{*}=\frac{\pi d}2\left( 1+\kappa Np \right) ;
+\quad
+\xi =\frac a{6\pi } \left( \frac{aN}{\kappa pd}\right) ^{1/3}
+$$
+%
+The phase equilibrium between the isotropic and the lamellar phase can be
+found from the equations
+%
+\begin{eqnarray}
+&&
+ \frac{\dd F_I}{\dd f_I} =\frac{\dd F_L}{\dd f_L},
+ \quad
+ \frac{\dd F_I}{\dd p_I}=\frac{\dd F_L}{\dd p_L}
+\nonumber \\
+&&
+ f_I\frac{\dd F_I}{\dd f_I}-F_I = f_L\frac{\dd F_L}{\dd f_L}-F_L
+\lbl{eq2311}
+\end{eqnarray}
+and the probability of bonding and the binodals are given by
+%
+\begin{eqnarray}
+&&
+ p_I \simeq p_L\simeq 1,
+\nonumber\\
+&&
+ f_I \simeq 0,
+\nonumber \\
+&&
+ f_L^{(1)} \simeq \frac{1}{1+\kappa N}
+ \left[
+ 1-\frac \xi {2h^{*}}
+ \exp \left( -1.312\left( \frac{\kappa ^2d^2N}{a^2}\right) ^{1/3}\right)
+ \right]
+\label{eq28b2}
+\end{eqnarray}
+Similarly the equilibrium between the nematic and the lamellar phase obeys
+equations
+%
+\begin{eqnarray}
+&&
+ \frac{\dd F_N}{\dd f_N} = \frac{\dd F_L}{\dd f_L},
+ \quad
+ \frac{\dd F_N}{\dd p_N} = \frac{\dd F_L}{\dd p_L}
+\nonumber \\
+&&
+ f_N \frac{\dd F_N}{\dd f_N}-F_N = f_L\frac{\dd F_L}{\dd f_L}-F_L
+\lbl{eq2321}
+\end{eqnarray}
+and the corresponding probabilities and binodals are
+%
+\begin{eqnarray}
+&&
+ p_N \simeq 0,
+ \quad
+ p_L\simeq 1,
+\nonumber\\
+&&
+ f_N \simeq 1,
+ \quad
+\nonumber \\
+&&
+ f_L^{(2)} \simeq \frac{1}{1+\kappa N}
+ \left[
+ 1-\exp \left( -\frac \epsilon T
+ +\frac{2bw}{Td}+\frac{2bs}d+\ln N^{*}
+ +\frac{3\pi ^2d^2\kappa ^2N}{32a^2}\right)
+ \right]
+\lbl{eq28b3}
+\end{eqnarray}
+
+\section{Discussion}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpage
+{\bf Literature}
+
+
+Relevant literature
+
+\cite{SemenovKhokhlov,SemenovRubinstein1,Erukhimovich:Gel}
+
+\cite{AndrikopoulosVlassopoulosVoyiatzis,Benmouna}
+
+\cite{KhalaturKhokhlov1,KhalaturKhokhlov2}
+
+\cite{SemenovNyrkovaKhokhlov,3dFlex}
+
+\cite{Angerman:PhaseAssocDiblock,Dormidontova:PhaseHbondBrush}
+
+Theory:
+
+\cite{Ballauff:CompatHairyRodsCoils,Ballauff:PhaseHairyRodsCoils}
+
+Lattice:
+
+\cite{SemenovBlockHomo,Leibler,bookChaikinLubensky,bookKorn}
+
+
+Hairy rods:
+
+Experiment:
+
+\cite{SteuerRehahnBallauff,AdamSpiess,SteuerHorthBallauff}
+
+\cite{GaldaKistnerMartinBallauff,PetekidisVlassopoulosFytas2}
+
+\cite{PetekidisVlassopoulosFytas1}
+
+
+\begin{references}
+
+\end{references}
+
+\end{document}
diff --git a/support/biblio/EXAMPLES/hairy/libtex b/support/biblio/EXAMPLES/hairy/libtex
new file mode 100755
index 0000000000..54db38c841
--- /dev/null
+++ b/support/biblio/EXAMPLES/hairy/libtex
@@ -0,0 +1,51 @@
+PREFIX="../../"
+VLEVEL="1" #verbosity level
+PROJECT="hairy"
+REFS=refers.db
+# FORMATS=$PREFIX"formats/physreve_with_title"
+FORMATS=$PREFIX"formats/macromolecules"
+ABBR=$PREFIX"formats/abbr.tex"
+
+SUFFIX=".1"
+
+BIBLIO=$PREFIX"biblio.pl"
+LATEX="latex"
+DVIPS="dvips"
+PSTOPS="pstops"
+
+RM="rm -f"
+
+OUTTEX="$PROJECT$SUFFIX.tex"
+OUTDVI="$PROJECT$SUFFIX.dvi"
+TEXFILE="$PROJECT.tex"
+DVIFILE="$PROJECT.dvi"
+PSFILE="$PROJECT.ps"
+PS2FILE="$PROJECT.2.ps"
+
+echo $OUTTEX
+
+$RM $PSFILE $PS2FILE $OUTDVI $PROJECT$SUFFIX.aux 2> /dev/null
+
+$BIBLIO -v $VLEVEL -o $OUTTEX -d $REFS -f $FORMATS -a $ABBR --movepoint --nobibitem --uselist $TEXFILE
+# $BIBLIO -v $VLEVEL -o $OUTTEX -d $REFS -f $FORMATS -a $ABBR $TEXFILE
+$LATEX $OUTTEX
+$LATEX $OUTTEX
+
+if [ -e $OUTDVI ]
+then
+ mv $OUTDVI $DVIFILE
+else
+ echo File $OUTDVI not found!!!
+fi
+
+if [ -e $DVIFILE ]
+then
+ echo MAKING POSTSCRIPT
+ touch $DVIFILE
+ $DVIPS -o $PSFILE $DVIFILE
+ $PSTOPS "2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)" $PSFILE $PS2FILE
+else
+ echo NO DVI FILE FOUND
+fi
+
+$RM *.log *~ 2> /dev/null
diff --git a/support/biblio/EXAMPLES/hairy/refers.db b/support/biblio/EXAMPLES/hairy/refers.db
new file mode 100644
index 0000000000..509a339644
--- /dev/null
+++ b/support/biblio/EXAMPLES/hairy/refers.db
@@ -0,0 +1,1948 @@
+%LABEL = SuccesvolSolliciteren
+%TYPE = book
+%AUTHORP =
+%AUTHORL = Wams
+%AUTHORF = Bert
+%TITLE = Succesvol Solliciteren! (Het sollicitatiestandaardwerk voor Nederland. Alles over het gehele sollicitatieproces.)
+%PAGES = 240
+%PUBL = SIWU
+%PLACE = Enschede
+%YEAR = 2001
+%----------
+LABEL = bookKorn
+TYPE = book
+AUTHORL = Korn|Korn
+AUTHORF = G. |Th.
+AUTHORM = A. |M.
+TITLE = Mathematical handbook for scientists and engineers : definitions, theorems, and formulas for reference and review
+PAGES = 1130
+PUBL = McGraw-Hill Book Co
+PLACE = New York
+YEAR = 1968
+----------
+LABEL = bookChaikinLubensky
+TYPE = book
+AUTHORP =
+AUTHORL = Chaikin|Lubensky
+AUTHORF = P.|T.
+AUTHORM = M.|C.
+TITLE = Principles of condensed matter physics
+PAGES = 700
+PUBL = Cambridge Univ. Press
+PLACE = Cambridge
+YEAR = 1995
+----------
+LABEL = bookSpinGlassTheory
+TYPE = book
+AUTHORP =
+AUTHORL = Mezard|Parisi|Virasoro
+AUTHORF = M.|G.|M.
+AUTHORM = | |A.
+TITLE = Spin Glass Theory and Beyond
+PAGES =
+PUBL = World Scientific Publishing Co Pte Ltd
+PLACE = Singapore
+YEAR = 1987
+----------
+LABEL = Brinke4
+TYPE = edbook
+AUTHORP = |ten
+AUTHORL = Ikkala|Brinke
+AUTHORF = O.|G.
+BOOKTITLE= Handbook of Advanced Electronic and Photonic Materials and Devices, Part 8 Conducting Polymers
+AUTHORI =
+AUTHORE = Nalwa
+AUTHORG = Hari
+AUTHORH = Singh
+PAGE = 185
+PUBL = Academic Press
+PLACE =
+YEAR = 2000
+----------
+LABEL = AbeBallauff
+TYPE = edbook
+AUTHORL = Abe|Ballauff
+AUTHORF = A.|M.
+BOOKTITLE= Liquid Crystallinity in Polymers, Chapter 4 The Flory Lattice Model
+%%%: Principles and Fundamental Properties
+AUTHORI =
+AUTHORE = Ciferri
+AUTHORG = A.
+AUTHORH =
+PAGE = 131
+EPAGE = 167
+PUBL = VCH Publishers
+PLACE = New York
+YEAR = 1991
+----------
+LABEL = KhokhlovTBOA
+TYPE = edbook
+AUTHORL = Khokhlov
+AUTHORF = A.
+AUTHORM = R.
+BOOKTITLE= Liquid Crystallinity in Polymers, Chapter 3 Theories Based on the Onsager Approach
+%%%: Principles and Fundamental Properties
+AUTHORI =
+AUTHORE = Ciferri
+AUTHORG = A.
+AUTHORH =
+PAGE = 97
+EPAGE = 129
+PUBL = VCH Publishers
+PLACE = New York
+YEAR = 1991
+----------
+LABEL = bookMcArdle
+TYPE = edbook
+AUTHORL = Warner
+AUTHORF = M
+AUTHORM =
+TITLE =
+BOOKTITLE= Side Chain Liquid Crystal Polymers
+AUTHORI =
+AUTHORE = McArdle
+AUTHORG = C.
+AUTHORH = B.
+PUBL = Blackie
+PLACE = Glasgow and London
+YEAR = 1989
+----------
+LABEL = bookdeGennesLiqCryst
+TYPE = book
+AUTHORP = de
+AUTHORL = Gennes
+AUTHORF = P.-G.
+AUTHORM =
+TITLE = The Physics of Liquid Crystals
+PUBL = Clarendon Press
+PLACE = Oxford
+YEAR = 1974
+----------
+LABEL = bookdeGennesScalingConcepts
+TYPE = book
+AUTHORP = de
+AUTHORL = Gennes
+AUTHORF = P.-G.
+AUTHORM =
+TITLE = Scaling Concepts in Polymer Physics
+PUBL = Cornell University Press
+PLACE = Ithaca
+YEAR = 1985
+----------
+LABEL = bookPlate
+TYPE = book
+AUTHORL = Plate|Shibaev
+AUTHORF = N. |V.
+AUTHORM = A. |P.
+TITLE = Comb-Shaped Polymers and Liquid Crystals
+PUBL = Plenum Press
+PLACE = New York and London
+YEAR = 1987
+----------
+LABEL = GrosKhokh
+TYPE = book
+AUTHORL = Grosberg|Khokhlov
+AUTHORF = A. |A.
+AUTHORM = Yu. |R.
+TITLE = Statistical Physics of \mml
+PUBL = American Institute of Physics
+PLACE = New York
+YEAR = 1994
+----------
+LABEL = Landau
+TYPE = book
+AUTHORL = Landau|Lifshits
+AUTHORF = L |E.
+AUTHORM = D. |M.
+TITLE = Statistical Physics
+PUBL = Pergamon
+PLACE = Oxford
+YEAR = 1980
+----------
+LABEL = bookLipatovNesterov
+TYPE = book
+AUTHORL = Lipatov|Nesterov
+AUTHORF = Y. |A.
+AUTHORM = S. |E.
+TITLE = Thermodynamics of Polymer Blends
+PUBL = Technomic
+PLACE = Lancaster, Basel
+YEAR = 1997
+----------
+LABEL = bookCloizeaux
+TYPE = book
+AUTHORP = des
+AUTHORL = Cloizeaux|Jannink
+AUTHORF = J. |G.
+TITLE = Polymers in Solutions: Their modelling and Structure
+PUBL = Clarendon Press
+PLACE = Oxford
+YEAR = 1990
+----------
+LABEL = LifshitzGrosbergKhokhlov1
+TYPE = article
+AUTHORL = Lifshitz|Grosberg|Khokhlov
+AUTHORF = I. |A. |A.
+AUTHORM = M. |Yu. |R.
+JOURNAL = \rmp
+VOL = 50
+PAGE = 683
+EPAGE = 713
+YEAR = 1978
+TITLE = Some problems of the statistical physics of polymer chains with volume interaction
+URL = RevModPhys_LifshitsGrosbergKhokhlov1978.pdf
+----------
+LABEL = Vasilevskaya
+TYPE = article
+AUTHORP = | | | |ten
+AUTHORL = Vasilevskaya|Klochkov|Khalatur|Khokhlov|Brinke
+AUTHORF = V. |A. |P. |A. |G.
+AUTHORM = V. |A. |G. |R. |
+TITLE = Microphase separation within comb-like copolymer with attractive side-chains: computer simulations
+JOURNAL = \mts
+VOL = 10
+PAGE = 389
+EPAGE = 394
+YEAR = 2001
+URL = vasilevskaya_attractive.pdf
+----------
+LABEL = Helfand1
+TYPE = article
+AUTHORL = Helfand|Wasserman
+AUTHORF = E. |Z.
+AUTHORM = |R.
+TITLE =
+JOURNAL = \mml
+VOL = 9
+PAGE = 879
+YEAR = 1976
+----------
+LABEL = Tsukahara0
+TYPE = edbook
+AUTHORL = Tsukahara
+AUTHORF = Y.
+BOOKTITLE=Macromolecular Design: Concept and Practice
+AUTHORI =
+AUTHORE = Mishra
+AUTHORG = M.
+AUTHORH =
+PAGE = 161
+EPAGE = 227
+PUBL = Polymer Frontiers International Inc.
+PLACE = New York
+YEAR = 1993
+----------
+LABEL = Schmidt
+TYPE = article
+AUTHORL = Tsukahara|Tsutsumi|Yamashita|Shimada
+AUTHORF = Y. |K. |S. |S.
+TITLE =
+JOURNAL = \mml
+VOL = 23
+PAGE = 5201
+YEAR = 1990
+----------
+LABEL = Tsukahara2
+TYPE = article
+AUTHORL = Tsukahara|Mizuno|Segawa|Yamashita
+AUTHORF = Y. |K. |A. |Y.
+TITLE =
+JOURNAL = \mml
+VOL = 22
+PAGE = 1546
+EPAGE = 1552
+YEAR = 1989
+----------
+LABEL = Tsukahara3
+TYPE = article
+AUTHORL = Tsukahara|Tsutsumi|Yamashita
+AUTHORF = Y. |K. |Y.
+TITLE =
+JOURNAL = \mml
+VOL = 22
+PAGE = 2869
+EPAGE = 2871
+YEAR = 1989
+----------
+LABEL = Ballauff
+TYPE = article
+AUTHORL = Ballauff
+AUTHORF = M.
+AUTHORM =
+TITLE =
+JOURNAL = \ang
+VOL = 28
+PAGE = 253
+YEAR = 1989
+----------
+LABEL = Antonietti
+TYPE = article
+AUTHORL = Antonietti|Henke|Th\"unemann
+AUTHORF = M. |S. |A.
+AUTHORM = | |F.
+TITLE = Highly Ordered Materials with Ultra-Low Surface Energies. Polyelectrolyte-Surfactant Complexes with Fluorinated Surfactants
+JOURNAL = \advm
+VOL = 8
+PAGE = 45
+YEAR = 1996
+----------
+LABEL = Thunemann
+TYPE = article
+AUTHORL = Th\"unemann|Lochaas
+AUTHORF = A. |K.
+AUTHORM = F. |H.
+TITLE = PHYSISORPTION, INTERFACIAL FILMS, MEMBRANES - Self-Assembly of Perfluorodecanoic Acid with Cationic Copolymers: Ultra-Low Energy Surfaces and Mesomorphous Structures
+JOURNAL = \lang
+VOL = 14
+PAGE = 4898
+EPAGE = 4903
+YEAR = 1998
+----------
+LABEL = Semenov
+TYPE = article
+AUTHORL = Semenov
+AUTHORF = A.
+TITLE = Contribution to the theory of microphase layering in block-copolymer melts.
+JOURNAL = \jetp
+PAGE = 733
+YEAR = 1985
+VOL = 61
+----------
+LABEL = LikhtmanSemenov
+TYPE = article
+AUTHORL = Likhtman|Semenov
+AUTHORF = A.|A.
+AUTHORM = E.|N.
+JOURNAL = \mml
+PAGE = 7273
+EPAGE = 7278
+YEAR = 1997
+VOL = 30
+TITLE = Theory of Microphase Separation in Block Copolymer/Homopolymer Mixtures
+URL = ma9702713.pdf
+----------
+LABEL = RubinsteinSemenov
+TYPE = article
+AUTHORL = Rubinstein|Semenov
+AUTHORF = M.|A.
+AUTHORM = |N.
+JOURNAL = \mml
+PAGE = 1058
+EPAGE = 1068
+YEAR = 2001
+VOL = 34
+TITLE = Dynamics of Entangled Solutions of Associating Polymers
+URL = ma0013049.pdf
+----------
+LABEL = Floudas
+TYPE = article
+AUTHORL = Floudas|Hadjichristidis|Stamm|Likhtman|Semenov
+AUTHORF = G. |N. |M. |A. |A.
+AUTHORM = | | |E. |N.
+JOURNAL = \jcp
+PAGE = 3318
+EPAGE = 3328
+YEAR = 1997
+VOL = 106
+TITLE = Microphase separation in block copolymer-homopolymer blends: Theory and experiment
+URL = JCP03318.pdf
+----------
+LABEL = Leibler
+TYPE = article
+AUTHORL = Leibler
+AUTHORF = L.
+TITLE = Theory of Microphase Separation in Blok Copolymers
+JOURNAL = \mml
+PAGE = 1602
+YEAR = 1980
+VOL = 13
+----------
+LABEL = FredricksonHelfand
+TYPE = article
+AUTHORL = Fredrickson|Helfand
+AUTHORF = G. |E.
+AUTHORM = H. |
+TITLE =
+JOURNAL = \mml
+PAGE = 697
+YEAR = 1987
+VOL = 87
+----------
+LABEL = Dobrynin1
+TYPE = article
+AUTHORL = Dobrynin|Erukhimovich
+AUTHORF = A.|I.
+AUTHORM = V.|Y.
+TITLE = Computer-aided comparative investigation of architecture influence of block copolymer phase diagrams
+JOURNAL = \mml
+PAGE = 276
+EPAGE = 281
+YEAR = 1993
+VOL = 26
+----------
+LABEL = Cruz1
+TYPE = article
+AUTHORL = Olvera de la Cruz|Sanchez
+AUTHORF = M. |I.
+TITLE =
+JOURNAL = \mml
+PAGE = 2501
+YEAR = 1986
+VOL = 19
+----------
+LABEL = Foster1
+TYPE = article
+AUTHORL = Foster|Jasnow|Balazs
+AUTHORF = D. |D. |A.
+AUTHORM = P. | |C.
+TITLE =
+JOURNAL = \mml
+PAGE = 3450
+EPAGE = 3462
+YEAR = 1995
+VOL = 28
+TITLE = Macrophase and Microphase Separation in Random Comb Copolymers
+----------
+LABEL = WernerFredrickson
+TYPE = article
+AUTHORL = Werner|Fredrickson
+AUTHORF = A.|G.
+AUTHORM = |H.
+TITLE = Architectural Effects on the Stability Limits of $ABS$ Block Copolymers
+JOURNAL = \jpsb
+PAGE = 849
+EPAGE = 864
+YEAR = 1997
+VOL = 35
+URL = JPolimSciB_v35p849y1997.pdf
+----------
+LABEL = Nap1
+TYPE = article
+AUTHORP = | |ten
+AUTHORL = Nap|Kok|Brinke|Kuchanov
+AUTHORF = R. |C. |G. |S.
+AUTHORM = J. | | |I.
+TITLE = Microphase separation at two length scales
+JOURNAL = \epje
+PAGE = 515
+EPAGE = 519
+YEAR = 2001
+VOL = 4
+----------
+LABEL = Brinke1
+TYPE = article
+AUTHORL = Ruokolainen|M\"akinen|Torkkeli|M\"akel\"a|Serimaa|Brinke|Ikkala
+AUTHORP = | | | | |ten |
+AUTHORF = J.|R.|M.|T.|R.|G.|O.
+TITLE = Switching supramolecular polymeric materials with multiple length scales
+JOURNAL = \science
+PAGE = 557
+EPAGE = 560
+YEAR = 1998
+VOL = 280
+URL = mika/Brinke1.pdf
+----------
+LABEL = Brinke2
+TYPE = article
+AUTHORP = |de |de | | |ten |
+AUTHORL = M\"akinen|Moel|Odorico|Ruokolainen|Stamm|Brinke|Ikkala
+AUTHORF = R.|K.|W.|J.|M.|G.|O.
+TITLE = Communications - "Hairy Tubes": Mesoporous Materials Containing Hollow Self-Organized Cylinders with Polymer Brushes at the Walls
+JOURNAL = \advm
+PAGE = 117
+EPAGE = 121
+YEAR = 2001
+VOL = 13
+URL = mika/Brinke2.pdf
+----------
+LABEL = Brinke3
+TYPE = article
+AUTHORL = Kosonen|Ruokolainen|Knaapila|Torkkeli|Jokela|Serimaa|Brinke|Bras|Monkman|Ikkala
+AUTHORP = | | | | | |ten
+AUTHORF = H.|J.|M.|M.|K.|R.|G.|W.|A.|O.
+TITLE = Nanoscale Conducting Cylinders Based on Self-Organization of Hydrogen-Bonded Polyaniline Supramolecules
+JOURNAL = \mml
+PAGE = 8671
+EPAGE = 8675
+YEAR = 2000
+VOL = 33
+URL = mika/Brinke3.pdf
+----------
+LABEL = 3dFlex
+TYPE = article
+AUTHORP = | | |ten
+AUTHORL = Subbotin|Saariaho|Ikkala|Brinke
+AUTHORF = A. |M. |O. |G.
+TITLE = Elasticity of comb copolymer cylindrical brushes
+JOURNAL = \mml
+PAGE = 3447
+EPAGE = 3452
+YEAR = 2000
+VOL = 33
+URL = mika/3dFlex.pdf
+----------
+LABEL = Birshtein
+TYPE = article
+AUTHORL = Birshtein|Borisov|Zhulina|Khokhlov|Yurasova
+AUTHORF = T.|O.|Y.|A.|T.
+AUTHORM = M.|V.|B.|R.|A.
+TITLE = Conformations of comb-like macromolecules
+JOURNAL = \polsciussr
+PAGE = 1293
+EPAGE = 1300
+YEAR = 1987
+VOL = 29
+----------
+LABEL = Fredrickson
+TYPE = article
+AUTHORL = Fredrickson
+AUTHORF = G
+AUTHORM = H.
+TITLE = Surfactant-induced lyotropic behavior of flexible polymer solutions
+JOURNAL = \mml
+PAGE = 2825
+YEAR = 1993
+VOL = 26
+----------
+LABEL = Rouault1
+TYPE = article
+AUTHORL = Rouault|Borisov
+AUTHORF = Y.|O.
+AUTHORM = |V.
+TITLE = Comb-Branched Polymers: Monte Carlo Simulation and Scaling
+JOURNAL = \mml
+PAGE = 2605
+EPAGE = 2611
+YEAR = 1996
+VOL = 29
+URL = Rouault1.pdf
+----------
+LABEL = Rouault2
+TYPE = article
+AUTHORL = Rouault
+AUTHORF = Y.
+AUTHORM =
+TITLE = From comb polymers to polysoaps: A Monte Carlo attempt
+JOURNAL = \mts
+PAGE = 359
+EPAGE = 365
+YEAR = 1998
+VOL = 7
+URL = rouault_comb_copolymers_to_polysoaps.pdf
+----------
+LABEL = Mika1
+TYPE = article
+AUTHORP = | |ten
+AUTHORL = Saariaho|Ikkala|Brinke
+AUTHORF = M.|O.|G.
+TITLE = Molecular bottle brushes in thin films: An off-lattice Monte Carlo study
+JOURNAL = \jcp
+PAGE = 1180
+EPAGE = 1187
+YEAR = 1999
+VOL = 110
+URL = mika/Mika1.pdf
+----------
+LABEL = Mika2
+TYPE = article
+AUTHORP = | | |ten
+AUTHORL = Saariaho|Subbotin|Ikkala|Brinke
+AUTHORF = M.|A.|O.|G.
+TITLE = Comb copolymer cylindrical brushes containing semiflexible side chains: A Monte Carlo study
+JOURNAL = \mrc
+PAGE = 110
+EPAGE = 115
+YEAR = 2000
+VOL = 21
+URL = mika/Mika2.pdf
+----------
+LABEL = Mika3
+TYPE = article
+AUTHORP = | | | |ten
+AUTHORL = Saariaho|Subbotin|Szleifer|Ikkala|Brinke
+AUTHORF = M.|A.|I.|O.|G.
+TITLE = Effect of Side Chain Rigidity on the Elasticity of Comb Copolymer Cylindrical Brushes: A Monte Carlo Simulation Study
+JOURNAL = \mml
+PAGE = 4439
+EPAGE = 4443
+YEAR = 1999
+VOL = 32
+URL = mika/Mika3.pdf
+----------
+LABEL = Mika4
+TYPE = article
+AUTHORP = | | | |ten
+AUTHORL = Saariaho|Ikkala|Szleifer|Erukhimovich|Brinke
+AUTHORF = M.|O.|I.|I.|G.
+TITLE = On lyotropic behavior of molecular bottle-brushes: A Monte Carlo computer simulation study
+JOURNAL = \jcp
+PAGE = 3267
+EPAGE = 3276
+YEAR = 1997
+VOL = 107
+URL = mika/JCP03267.pdf
+----------
+LABEL = Ball
+TYPE = article
+AUTHORL = Ball|Marko|Milner|Witten
+AUTHORF = R.|J.|S.|T.
+AUTHORM = C.|F.|T.|A.
+JOURNAL = \mml
+YEAR = 1991
+VOL = 24
+PAGE = 693
+----------
+LABEL = Lai
+TYPE = article
+AUTHORL = Lai|Witten
+AUTHORF = H. |T.
+AUTHORM = |A.
+JOURNAL = \mml
+YEAR = 1991
+VOL = 24
+PAGE = 693
+----------
+LABEL = Odijk
+TYPE = article
+AUTHORL = Odijk
+AUTHORF = T.
+AUTHORM =
+JOURNAL = \jpsb
+YEAR = 1977
+VOL = 15
+PAGE = 477
+----------
+LABEL = Odijk1
+TYPE = article
+AUTHORL = Odijk
+AUTHORF = T.
+AUTHORM =
+JOURNAL = \mml
+YEAR = 1986
+VOL = 19
+PAGE = 2313
+EPAGE = 2329
+TITLE = Theory of Lyotropic Polymer Liquid Crystals
+----------
+LABEL = Skolnick
+TYPE = article
+AUTHORL = Skolnick|Fixmann
+AUTHORF = J.|M.
+AUTHORM =
+JOURNAL = \mml
+YEAR = 1977
+VOL = 10
+PAGE = 944
+----------
+LABEL = Sheiko
+TYPE = article
+AUTHORL = Sheiko|Gerle|Fischer|Schmidt|M\"{o}ller
+AUTHORF = S.|M.|F.|M.|M.
+AUTHORM = S.| | | |
+JOURNAL = \lang
+YEAR = 1997
+VOL = 13
+PAGE = 5368
+EPAGE = 5372
+TITLE = Wormlike Polystyrene Brushes in Thin Films
+----------
+LABEL = DziezokSheiko
+TYPE = article
+AUTHORP =
+AUTHORL = Dziezok|Sheiko|Fischer|Schmidt|M\"oller
+AUTHORF = P. |S. |K. |M. |M.
+AUTHORM = |S
+JOURNAL = \ang
+YEAR = 1997
+VOL = 36
+PAGE = 2812
+EPAGE = 2815
+TITLE =
+URL =
+----------
+LABEL = Spirali
+TYPE = article
+AUTHORL = Khalatur|Khokhlov|Prokhorova|Sheiko|M\"oller|Reineker|Shirvanyanz|Starovoitova
+AUTHORF = P.|A.|S.|S.|M.|P.|D.|N.
+AUTHORM = G.|R.|A.|S.| | |G.|
+JOURNAL = \epje
+YEAR = 2000
+VOL = 1
+PAGE = 99
+EPAGE = 103
+TITLE = Unusual conformation of molecular cylindrical brushes strongly adsorbed on a flat solid surface
+URL = Khalatur_EurPhysJ_E.pdf
+----------
+LABEL = Potemkin
+TYPE = article
+AUTHORL = Potemkin|Khokhlov|Reineker
+AUTHORF = I.|A.|P.
+AUTHORM = I.|R.|
+JOURNAL = \epje
+YEAR = 2001
+VOL = 4
+PAGE = 93
+EPAGE = 101
+TITLE = Stiffness and conformations of molecular bottle-brushes strongly adsorbed on a flat surface
+URL = potemkin_e0065.pdf
+----------
+LABEL = 2dComb
+TYPE = article
+AUTHORP = | |ten
+AUTHORL = Stepanyan|Subbotin|Brinke
+AUTHORF = R.|A.|G.
+JOURNAL = \pre
+YEAR = 2001
+VOL = 63
+PAGE = 061805
+TITLE = Strongly adsorbed comb copolymers with rigid side chains
+URL = PRE61805.pdf
+----------
+LABEL = 3dRigid
+TYPE = article
+AUTHORP = | | | |ten
+AUTHORL = Subbotin|Saariaho|Stepanyan|Ikkala|Brinke
+AUTHORF = A. |M. |R. |O. |G.
+JOURNAL = \mml
+YEAR = 2000
+VOL = 33
+PAGE = 6168
+EPAGE = 6173
+TITLE = Cylindrical brushes of comb copolymer molecules containing rigid side chains
+URL = bottrev.mml.pdf
+----------
+LABEL = toroid
+TYPE = article
+AUTHORL = Vasilevskaya|Khokhlov|Kidoaki|Yoshikawa
+AUTHORF = V.|A.|S.|K.
+AUTHORM = V.|R.| |
+JOURNAL = \bio
+YEAR = 1997
+VOL = 41
+PAGE = 51
+EPAGE = 60
+TITLE = Structure of collapsed Persistent macromolecule: toroid vs. spherical globule
+URL = toroid.pdf
+----------
+LABEL = FredricksonLiu
+TYPE = article
+AUTHORL = Fredrickson|Liu
+AUTHORF = G.|A.
+AUTHORM = H.|J.
+JOURNAL = \mml
+YEAR = 1994
+VOL = 27
+PAGE = 2503
+EPAGE = 2511
+TITLE = Entropic corrections to the Flory-Huggins theory of polymer blends: architectural and conformational effects
+RUSSIAN = Popravki k $\chi$ za schet vsyacheskih effectov, tipa arhitektury, gibkosti i t.p.
+----------
+LABEL = LiuFredrickson
+TYPE = article
+AUTHORL = Liu|Fredrickson
+AUTHORF = A.|G.
+AUTHORM = J.|H.
+JOURNAL = \mml
+YEAR = 1993
+VOL = 26
+PAGE = 2817
+EPAGE = 2824
+TITLE = Free energy functionals for semiflexible polymer solutions and blends
+RUSSIAN = fazovoe povedenie s dvumya parametrami: $\chi$ i Maier-Saupe $w$.
+----------
+LABEL = RaphaelFredricksonPincus
+TYPE = article
+AUTHORL = Rapha\"el|Fredrickson|Pincus
+AUTHORF = E.|G.|P.
+AUTHORM = |H.|
+JOURNAL = \jpfrance
+%% J. Phys. II France
+YEAR = 1992
+VOL = 2
+PAGE = 1811
+EPAGE = 1823
+TITLE = One long chain among shorter chains: the Flory approach revisited
+RUSSIAN = Mozhet imeet otnoshenie k tomu, chto Subbotin hochet, chtoby ya delal
+----------
+LABEL = RaphaelPincusFredrickson
+TYPE = article
+AUTHORL = Rapha\"el|Pincus|Fredrickson
+AUTHORF = E.|P.|G.
+AUTHORM = | |H.
+JOURNAL = \mml
+YEAR = 1993
+VOL = 26
+PAGE = 1996
+EPAGE = 2006
+TITLE = Conformation of star polymers in high molecular weight solvent
+RUSSIAN = Mozhet imeet otnoshenie k tomu, chto Subbotin hochet, chtoby ya delal. Zdes' - chistyj scaling!
+----------
+LABEL = FredricksonLeibler
+TYPE = article
+AUTHORL = Fredrickson|Leibler
+AUTHORF = G.|L.
+AUTHORM = H.|
+JOURNAL = \mml
+YEAR = 1989
+VOL = 22
+PAGE = 1238
+EPAGE = 1250
+TITLE = Theory of block copolymer solutions: nonselective good solvent
+URL = fredricksonleibler/fred.pdf
+----------
+LABEL = JoannyLeiblerBall
+TYPE = article
+AUTHORL = Joanny|Leibler|Ball
+AUTHORF = J.-F.|L.|R.
+JOURNAL = \jcp
+YEAR = 1984
+VOL = 81
+PAGE = 4640
+EPAGE = 4656
+TITLE = Is chemical mismatch important in polymer solutions?
+URL = joannyleibler/joannyleibler.pdf
+----------
+LABEL = SchaferKappeler
+TYPE = article
+AUTHORL = Sch\"afer|Kappeler
+AUTHORF = L.|Ch.
+JOURNAL = J. Physique
+YEAR = 1985
+VOL = 46
+PAGE = 1853
+EPAGE = 1864
+TITLE = A renormalization group analysis of ternary polymer solutions
+URL =
+----------
+LABEL = IzmailovMyerson
+TYPE = article
+AUTHORL = Izmailov|Myerson
+AUTHORF = A.|A.
+AUTHORM = F.|S.
+JOURNAL = \pre
+YEAR = 1990
+VOL = 60
+PAGE = 3211
+EPAGE = 3218
+TITLE = Thermodynamic and statistical studies of supersaturated ternary solutions
+URL = PRE_v60p3211-3218y1999.pdf
+----------
+LABEL = BartonMchugh
+TYPE = article
+AUTHORL = Barton|Mchugh
+AUTHORF = B.|A.
+AUTHORM = F.|J.
+JOURNAL = \jpsb
+YEAR = 1999
+VOL = 37
+PAGE = 1449
+EPAGE = 1460
+TITLE = Kinetics of Thermally Induced Phase Separation in Ternary Polymer Solutions. I. Modeling of Phase Separation Dynamics
+URL = J_of_PolScience_v37p1449-1460y1999.pdf
+----------
+LABEL = HongChouHuang
+TYPE = article
+AUTHORL = Hong|Chou|Huang
+AUTHORF = Po-Da|Che-Min|Hsing-Tsai
+JOURNAL = \epolj
+YEAR = 2000
+VOL = 36
+PAGE = 2193
+EPAGE = 2200
+TITLE = Phase separation behavior in polyvinyl alcohol/ethylene glycol/water ternary solutions
+URL = EurPolymJ_v36p2193-2200y200.pdf
+----------
+LABEL = CurrieStuartBorisov
+TYPE = article
+AUTHORL = Currie|Cohen Stuart|Borisov
+AUTHORF = E.|M.|O.
+AUTHORM = P.K.|A.|V.
+JOURNAL = \mml
+YEAR = 2001
+VOL = 34
+PAGE = 1018
+EPAGE = 1030
+TITLE = Phase separation in polymer solutions with annealed excluded volume interactions
+URL = CurrieStuartBorisov.pdf
+----------
+LABEL = DormidontovaErukhimovichKhokhlov
+TYPE = article
+AUTHORL = Dormidontova|Erukhimovich|Khokhlov
+AUTHORF = E.|I.|A.
+AUTHORM = E.|Ya.|R.
+JOURNAL = \cps
+YEAR = 1994
+VOL = 272
+PAGE = 1486
+EPAGE = 1497
+TITLE = Phase diagram for microphase separation transition in poor polymer solutions
+----------
+LABEL = BirshteinZhulinaMercurieva
+TYPE = article
+AUTHORL = Birshtein|Zhulina|Mercurieva
+AUTHORF = T.|E.|A.
+AUTHORM = M.|B.|A.
+JOURNAL = \mts
+YEAR = 2000
+VOL = 9
+PAGE = 47
+EPAGE = 55
+TITLE = Amphiphilic polymer brush in a mixture of incompatible liquids
+URL = brush/BirshteinZhulinaMercurieva.pdf
+----------
+LABEL = KlushinBirshteinMercurieva
+TYPE = article
+AUTHORL = Klushin|Birshtein|Mercurieva
+AUTHORF = L.|T.|A.
+AUTHORM = I.|M.|A.
+JOURNAL = \mts
+YEAR = 1998
+VOL = 7
+PAGE = 483
+EPAGE = 495
+TITLE = Microphase segregation in bridging polymeric brushes: Regular and singular phase diagrams
+URL = brush/KlushinBirstein_MicrophaseSegregationInBrushes.pdf
+----------
+LABEL = DjalaliHugenbergFischerSchmidt
+TYPE = article
+AUTHORL = Djalali|Hugenberg|Fischer|Schmidt
+AUTHORF = R.|N.|K.|M.
+JOURNAL = \mrc
+YEAR = 1999
+VOL = 20
+PAGE = 444
+EPAGE = 449
+TITLE = Amphipolar core-shell cylindrical brushes
+URL = brush/AmphipolarCore-ShellCylindricalBrushes.pdf
+----------
+LABEL = RuckensteinLi
+TYPE = article
+AUTHORL = Ruckenstein|Li
+AUTHORF = E.|B.
+JOURNAL = \jcp
+YEAR = 1997
+VOL = 107
+PAGE = 932
+EPAGE = 942
+TITLE = Steric interactions between two grafted polymer brushes
+URL = brush/StericInteractionBetweenTwoGraftedPolBrushes.pdf
+----------
+LABEL = Morse
+TYPE = article
+AUTHORL = Morse|Fredrickson
+AUTHORF = D.|G.
+AUTHORM = C.|H.
+JOURNAL = \pre
+YEAR = 1994
+VOL = 73
+PAGE = 3235
+EPAGE = 3238
+TITLE = Semiflexible polymers near interfaces
+URL = semiflexible_polymers_near_interfaces_PRL_Fredricson.pdf
+----------
+LABEL = Groh
+TYPE = article
+AUTHORL = Groh
+AUTHORF = B.
+JOURNAL = \pre
+YEAR = 1999
+VOL = 59
+PAGE = 5606
+EPAGE = 5612
+TITLE = Vesicles in solutions of hard rods
+URL = vesticles_in_rods.pdf
+----------
+LABEL = Wilson
+TYPE = article
+AUTHORL = Wilson
+AUTHORF = K.
+AUTHORM = G.
+JOURNAL = \rmp
+YEAR = 1975
+VOL = 47
+PAGE = 773
+EPAGE = 840
+TITLE = The renormalization group: Critical phenomena and the Kondo problem
+URL = renorm/wilson/wilson.pdf
+----------
+LABEL = Fisher
+TYPE = article
+AUTHORL = Fisher
+AUTHORF = M.
+AUTHORM = E.
+JOURNAL = \rmp
+YEAR = 1998
+VOL = 70
+PAGE = 653
+EPAGE = 681
+TITLE = Renormalization group theory: Its basis and formulation in statistical physics
+URL = renorm/fisherRMP000653.pdf
+----------
+LABEL = Morrison
+TYPE = article
+AUTHORL = Morrison
+AUTHORF = P.
+AUTHORM = J.
+JOURNAL = \rmp
+YEAR = 1998
+VOL = 70
+PAGE = 467
+EPAGE = 521
+TITLE = Hamiltonian description of the ideal fluid
+URL = rmp/RMP000467.pdf
+----------
+LABEL = Hogan
+TYPE = article
+AUTHORL = Hogan
+AUTHORF = C.
+AUTHORM = J.
+JOURNAL = \rmp
+YEAR = 2000
+VOL = 72
+PAGE = 1149
+EPAGE = 1161
+TITLE = Why the universe is just so
+URL = rmp/RMP001149.pdf
+----------
+LABEL = Stanley
+TYPE = article
+AUTHORL = Stanley
+AUTHORF = H.
+AUTHORM = E.
+JOURNAL = \rmp
+YEAR = 1999
+VOL = 71
+PAGE = S358
+EPAGE = S366
+TITLE = Scaling, universality, and renormalization: Three pillars of modern critical phenomena
+URL = rmp/RMP00S358.pdf
+----------
+LABEL = GennesRMP
+TYPE = article
+AUTHORP = de
+AUTHORL = Gennes
+AUTHORF = P.-G.
+AUTHORM =
+JOURNAL = \rmp
+YEAR = 1999
+VOL = 71
+PAGE = S374
+EPAGE = S382
+TITLE = Granular matter: a tentative view
+URL = rmp/RMP00S374.pdf
+----------
+LABEL = GennesRPP
+TYPE = article
+AUTHORP = de
+AUTHORL = Gennes
+AUTHORF = P.-G.
+AUTHORM =
+JOURNAL = \rpp
+ %% Reports on Progress in Physics
+YEAR = 1969
+VOL = 32
+PAGE = 187
+EPAGE = 205
+TITLE = Some conformational problems for long macromolecules
+URL =
+----------
+LABEL = EdwardsPPS
+TYPE = article
+AUTHORL = Edwards
+AUTHORF = S.
+AUTHORM = F.
+JOURNAL = \pps
+ %% Proc. Phys. Soc.
+YEAR = 1965
+VOL = 85
+PAGE = 613
+EPAGE = 624
+TITLE = The statistical mechanics of polymers with excluded volume
+URL =
+----------
+LABEL = GrosbergNguyen
+TYPE = eprint
+AUTHORL = Grosberg|Nguyen|Shklovskii
+AUTHORF = A. |T.|B.
+AUTHORM = Ya.|T.|I.
+INFO = cond-mat/0105140
+YEAR = 2001
+TITLE = Low temperature physics at room temperature in water: Charge inversion in chemical and biological systems
+URL = grosberg/01-05-04.pdf
+----------
+LABEL = Pagonabarraga
+TYPE = eprint
+AUTHORL = Pagonabarraga|Cates
+AUTHORF = I.|M.
+AUTHORM = |E.
+INFO = cond-mat/0104449
+YEAR = 2001
+TITLE = A practical density functional for polydisperse polymers
+URL = pagonabarraga/shortpoly2.pdf
+----------
+LABEL = VroegeLekkerkerker
+TYPE = article
+AUTHORL = Vroege|Lekkerkerker
+AUTHORF = G.|H.
+AUTHORM = J.|N.W.
+JOURNAL = \rpp
+ %% Reports on progress in physics
+YEAR = 1992
+VOL = 55
+PAGE = 1241
+EPAGE = 1310
+TITLE = Phase transitions in lyotropic colloidal and polymer liquid crystals
+URL = rp920803.pdf
+----------
+LABEL = WangSafran
+TYPE = article
+AUTHORL = Wang |Safran
+AUTHORF = Z.-G.|S.
+AUTHORM = |A.
+JOURNAL = \jcp
+YEAR = 1988
+VOL = 89
+PAGE = 5323
+EPAGE = 5328
+TITLE = Size distribution for aggregates of associating polymers. II. Linear packing
+URL =
+----------
+LABEL = BrinkeIkkala
+TYPE = article
+AUTHORP = ten
+AUTHORL = Brinke|Ikkala
+AUTHORF = G. |O.
+AUTHORM =
+JOURNAL = \trip
+ %% TRIP
+YEAR = 1997
+VOL = 5
+PAGE = 213
+EPAGE = 217
+TITLE =
+URL =
+----------
+LABEL = Beers1
+TYPE = article
+AUTHORP =
+AUTHORL = Beers|Scott|Mattyjaszewski|Sheiko|M\"oller
+AUTHORF = K. |G. |K. |S. |M.
+AUTHORM = L. |G. | |S. |
+JOURNAL = \mml
+YEAR = 1998
+VOL = 31
+PAGE = 9413
+EPAGE = 9415
+TITLE = The Synthesis of Densely Grafted Copolymers by Atom Transfer Radical Polymerization
+URL = ma981402i.pdf
+----------
+LABEL = Schappacher
+TYPE = article
+AUTHORP =
+AUTHORL = Schappacher|Billaud|Paulo|Deffieux
+AUTHORF = M. |C. |C. |A.
+AUTHORM =
+JOURNAL = \mcp
+YEAR = 1999
+VOL = 200
+PAGE = 2377
+EPAGE = 2386
+TITLE = Synthesis, dimensions and solution properties of linear and macrocyclic poly(chloroethyl vinyl ether)-g-polystyrene comblike polymers
+URL = schappacher.pdf
+----------
+LABEL = Wintermantel1
+TYPE = article
+AUTHORP =
+AUTHORL = Wintermantel|Schmidt|Tsukahara|Kajiwara|Kohjiya
+AUTHORF = M.|M.|Y.|K.|S.
+AUTHORM =
+JOURNAL = \mrc
+YEAR = 1994
+VOL = 15
+PAGE = 279
+EPAGE = 284
+TITLE =
+URL =
+----------
+LABEL = Wintermantel2
+TYPE = article
+AUTHORP =
+AUTHORL = Wintermantel|Fischer|Gerle|Ries|Schmidt|Kajiwara|Urakawa|Wataoka
+AUTHORF = M.|K.|M.|R.|M.|K.|H.|I.
+AUTHORM =
+JOURNAL = \ang
+YEAR = 1995
+VOL = 34
+PAGE = 1472
+EPAGE = 1474
+TITLE =
+URL =
+----------
+LABEL = Wintermantel3
+TYPE = article
+AUTHORP =
+AUTHORL = Wintermantel|Gerle|Fischer|Schmidt|Wataoka|Urakawa|Kajiwara|Tsukahara
+AUTHORF = M.|M.|K.|M.|I.|H.|K.|Y.
+AUTHORM =
+JOURNAL = \mml
+YEAR = 1996
+VOL = 29
+PAGE = 978
+EPAGE = 983
+TITLE = Molecular Bottlebrushes
+URL = ma950227s.pdf
+----------
+LABEL = GerleRoos
+TYPE = article
+AUTHORP =
+AUTHORL = Gerle|Fischer|Roos|M\"uller|Schmidt|Sheiko|Prokhorova|M\"oller
+AUTHORF = M. |K. |S. |A. |M. |S. |S. |M.
+AUTHORM = | | |H.~E. | |S.
+JOURNAL = \mml
+YEAR = 1999
+VOL = 32
+PAGE = 2629
+EPAGE = 2637
+TITLE = Main Chain Conformation and Anomalous Elution Behavior of Cylindrical Brushes As Revealed by GPC/MALLS, Light Scattering, and SFM
+URL = ma9816463.pdf
+----------
+LABEL = FischerGerleSchmidt
+TYPE = article
+AUTHORP =
+AUTHORL = Fischer|Gerle|Schmidt
+AUTHORF = K.|M.|M.
+AUTHORM =
+JOURNAL = Proc. ACS PMSE Anaheim
+YEAR = 1999
+VOL = 30
+PAGE = 133
+EPAGE = 134
+TITLE =
+URL =
+----------
+LABEL = FischerSchmidt
+TYPE = article
+AUTHORP =
+AUTHORL = Fischer|Schmidt
+AUTHORF = K.|M.
+AUTHORM =
+JOURNAL = \mrc
+YEAR = 2001
+VOL = 22
+PAGE = 787
+EPAGE = 791
+TITLE = Solvent-Induced Length Variation of Cylindrical Brushes
+URL = mrc_v22_p787_2001.pdf
+----------
+LABEL = Sheiko2
+TYPE = article
+AUTHORP =
+AUTHORL = Sheiko
+AUTHORF = S.
+AUTHORM = S.
+JOURNAL = \advpolsci
+YEAR = 2000
+VOL = 151
+PAGE = 61
+EPAGE = 174
+TITLE =
+URL =
+----------
+LABEL = BornerBeers
+TYPE = article
+AUTHORP =
+AUTHORL = B\"orner|Beers|Matyjaszewski|Sheiko|M\"oller
+AUTHORF = H. |K. |K. |S. |M.
+AUTHORM = G. | | |S. |
+JOURNAL = \mml
+YEAR = 2001
+VOL = 34
+PAGE = 4375
+EPAGE = 4383
+TITLE = Synthesis of Molecular Brushes with Block Copolymer Side Chains Using Atom Transfer Radical Polymerization
+URL = brush/ma010001r.pdf
+----------
+LABEL = SemenovRubinstein1
+TYPE = article
+AUTHORP =
+AUTHORL = Semenov|Rubinstein
+AUTHORF = A. |M.
+AUTHORM = N. |
+JOURNAL = \mml
+YEAR = 1998
+VOL = 31
+PAGE = 1373
+EPAGE = 1385
+TITLE = Thermoreversible Gelation in Solutions of Associative Polymers. 1. Statics
+URL = ma970616h.pdf
+----------
+LABEL = SemenovRubinstein2
+TYPE = article
+AUTHORP =
+AUTHORL = Semenov|Rubinstein
+AUTHORF = A. |M.
+AUTHORM = N. |
+JOURNAL = \mml
+YEAR = 1998
+VOL = 31
+PAGE = 1386
+EPAGE = 1397
+TITLE = Thermoreversible Gelation in Solutions of Associative Polymers. 2. Linear Dynamics
+URL = ma970617.pdf
+----------
+LABEL = SvenssonLinse1
+TYPE = article
+AUTHORP =
+AUTHORL = Svensson|Linse
+AUTHORF = M. |P.
+AUTHORM =
+JOURNAL = \mml
+YEAR = 1998
+VOL = 31
+PAGE = 1427
+EPAGE = 1429
+TITLE = Mean-Field Study of Interactions between Block Copolymer Micelles and Homopolymers
+URL = ma970975c.pdf
+----------
+LABEL = ChengBokerZhang
+TYPE = article
+AUTHORP =
+AUTHORL = Cheng|B\"oker|Zhang|Krausch|M\"uller
+AUTHORF = G.|A.|M.|G.|A.
+AUTHORM = | | | |H.E.
+JOURNAL = \mml
+YEAR = 2001
+VOL = 34
+PAGE = 6883
+EPAGE = 6888
+TITLE = Amphiphilic Cylindrical Core-Shell Brushes via a "Grafting From" Process Using ATRP
+URL = ma0013962.pdf
+----------
+LABEL = LikhtmanAnastasiadisSemenov
+TYPE = article
+AUTHORP =
+AUTHORL = Likhtman|Anastasiadis|Semenov
+AUTHORF = A.|S.|A.
+AUTHORM = E.|H.|N.
+JOURNAL = \mml
+YEAR = 1999
+VOL = 32
+PAGE = 3474
+EPAGE = 3480
+TITLE = Theory of Surface Deformations of Polymer Brushes in Solution
+URL = ma980572s.pdf
+----------
+LABEL = Gay1
+TYPE = article
+AUTHORP =
+AUTHORL = Gay
+AUTHORF = C.
+AUTHORM =
+JOURNAL = \mml
+YEAR = 1997
+VOL = 30
+PAGE = 5939
+EPAGE = 5943
+TITLE = Wetting of a Polymer Brush by a Chemically Identical Polymer Melt
+URL = ma970107f.pdf
+----------
+LABEL = Moore
+TYPE = article
+AUTHORP =
+AUTHORL = Moore
+AUTHORF = M.
+AUTHORM = A.
+JOURNAL = J. Phys. (Paris)
+YEAR = 1977
+VOL = A 10
+PAGE = 305
+EPAGE = 314
+TITLE = Theory of the polymer coil-globule transition
+URL =
+----------
+LABEL = Wiegel
+TYPE = article
+AUTHORP =
+AUTHORL = Wiegel
+AUTHORF = F.
+AUTHORM = W.
+JOURNAL = J. Phys. (Paris)
+YEAR = 1977
+VOL = A 10
+PAGE = 299
+EPAGE = 303
+TITLE = Adsorption of a macromolecule to a charged surface
+URL =
+----------
+LABEL = LieserOdaMiteva
+TYPE = article
+AUTHORP =
+AUTHORL = Lieser|Oda|Miteva|Meisel|Nothofer|Scherf
+AUTHORF = G.|M|T.|A.|H.-G.|U
+AUTHORM =
+JOURNAL = \mml
+YEAR = 2000
+VOL = 33
+PAGE = 4490
+EPAGE = 4495
+TITLE = Ordering, Graphoepitaxial Orientation, and Conformation of a Polyfluorene Derivative of the Hairy-Rod Type on an Oriented Substrate of Polyimide
+URL = ma9921652.pdf
+----------
+LABEL = PetekidisVlassopoulosFytas1
+TYPE = article
+AUTHORL = Petekidis|Vlassopoulos|Fytas|R\"ulkens|Wegner
+AUTHORF = G.|D.|G.|R.|G.
+JOURNAL = \mml
+YEAR = 1998
+VOL = 31
+PAGE = 6129
+EPAGE = 6138
+TITLE = Orientation Dynamics and Correlations in Hairy-Rod Polymers: Concentrated Regime
+URL = ma9804500.pdf
+----------
+LABEL = AndrikopoulosVlassopoulosVoyiatzis
+TYPE = article
+AUTHORL = Andrikopoulos|Vlassopoulos|Voyiatzis|Yiannopoulos|Kamitsos
+AUTHORF = K.|D.|G.|Y.|E.
+AUTHORM = | |A.|D.|I.
+JOURNAL = \mml
+YEAR = 1998
+VOL = 31
+PAGE = 5465
+EPAGE = 5473
+TITLE = Molecular Orientation of Hairy-Rod Polyesters: Effects of Side Chain Length
+URL = ma971773j.pdf
+----------
+LABEL = PetekidisVlassopoulosFytas2
+TYPE = article
+AUTHORP =
+AUTHORL = Petekidis|Vlassopoulos|Fytas|Kountourakis|Kumar
+AUTHORF = G.|D.|G.|N.|S.
+AUTHORM =
+JOURNAL = \mml
+YEAR = 1997
+VOL = 30
+PAGE = 919
+EPAGE = 931
+TITLE = Association Dynamics in Solutions of Hairy-Rod Polymers
+URL = ma961366s.pdf
+----------
+LABEL = HoBystOswald
+TYPE = article
+AUTHORP =
+AUTHORL = HoByst|Oswald
+AUTHORF = R.|P.
+AUTHORM =
+JOURNAL = \mts
+YEAR = 2001
+VOL = 10
+PAGE = 1
+EPAGE = 16
+TITLE = Liquid-Crystalline Order in Polymer Systems: Basic Models
+URL = macro_th_sim_vol10p1.pdf
+----------
+LABEL = LishchukMalomuzh1
+TYPE = article
+AUTHORP =
+AUTHORL = Lishchuk|Malomuzh
+AUTHORF = S.|N.
+AUTHORM = V.|P.
+JOURNAL = \cpl
+YEAR = 1999
+VOL = 309
+PAGE = 307
+EPAGE = 313
+TITLE = Cluster approach to the problem of diffusion and viscosity in supercooled states of glycerol-like liquids
+URL =
+----------
+LABEL = LishchukMalomuzh2
+TYPE = article
+AUTHORP =
+AUTHORL = Lishchuk|Malomuzh
+AUTHORF = S.|N.
+AUTHORM = V.|P.
+JOURNAL = \jms
+ %% J. of Mol. Structure
+YEAR = 1995
+VOL = 348
+PAGE = 205
+EPAGE = 208
+TITLE = The peculiarities of molecular and stimulated impulsive light scattering in supercooled states of glycerol-like liquids
+URL =
+----------
+LABEL = LishchukMalomuzh3
+TYPE = article
+AUTHORP =
+AUTHORL = Lishchuk|Malomuzh
+AUTHORF = S.|N.
+AUTHORM = V.|P.
+JOURNAL = \jcp
+YEAR = 1997
+VOL = 106
+PAGE = 6160
+EPAGE = 6170
+TITLE = Clusterization in supercooled states of glycerol-like liquids and its manifestation in different phenomena
+URL =
+----------
+LABEL = SemenovOrdering
+TYPE = article
+AUTHORP =
+AUTHORL = Semenov
+AUTHORF = A.
+AUTHORM = N.
+JOURNAL = \mml
+YEAR = 1989
+VOL = 22
+PAGE = 2849
+EPAGE = 2851
+TITLE = Microphase Separation in Diblock-Copolymer Melts: Ordering of Micelles
+URL =
+----------
+LABEL = LeiblerPincus
+TYPE = article
+AUTHORP =
+AUTHORL = Leibler|Pincus
+AUTHORF = L.|P.
+AUTHORM =
+JOURNAL = \mml
+YEAR = 1984
+VOL = 17
+PAGE = 2922
+EPAGE = 2924
+TITLE = Ordering Transition of Copolymer Micelles
+URL =
+----------
+LABEL = Parsons
+TYPE = article
+AUTHORP =
+AUTHORL = Parsons
+AUTHORF = J.
+AUTHORM = D.
+JOURNAL = \pra
+YEAR = 1979
+VOL = 19
+PAGE = 1225
+EPAGE = 1230
+TITLE = Nematic ordering in a system of rods
+URL = PRA_vol_19_p1225.pdf
+----------
+LABEL = Benmouna
+TYPE = article
+AUTHORL = Benmouna|Maschke|Coqueret|Benmouna
+AUTHORF = F.|U.|X.|M.
+AUTHORM =
+JOURNAL = \mts
+YEAR = 2000
+VOL = 9
+PAGE = 215
+EPAGE = 229
+TITLE = Equilibrium phase behavior of polymer and liquid crystal blends
+URL = mts_vol9y2000p215.pdf
+----------
+LABEL = SemenovKhokhlov
+TYPE = article
+AUTHORL = Semenov|Khokhlov
+AUTHORF = A. |A.
+AUTHORM = N. |R.
+JOURNAL = \ufn
+YEAR = 1988
+VOL = 156
+PAGE = 427
+EPAGE = 476
+TITLE = Statistical physics of liquid-crystalline polymers
+URL =
+----------
+LABEL = KhalaturKhokhlov1
+TYPE = article
+AUTHORL = Khalatur|Khokhlov|Nyrkova|Semenov
+AUTHORF = P. |A. |I. |A.
+AUTHORM = G. |R. |A. |N.
+JOURNAL = \mts
+YEAR = 1996
+VOL = 5
+PAGE = 713
+EPAGE = 747
+TITLE = Aggregation processes in self-associating polymer systems: computer simulation study of micelles in the superstrong segregation regime
+URL =
+----------
+LABEL = KhalaturKhokhlov2
+TYPE = article
+AUTHORL = Khalatur|Khokhlov|Nyrkova|Semenov
+AUTHORF = P. |A. |I. |A.
+AUTHORM = G. |R. |A. |N.
+JOURNAL = \mts
+YEAR = 1996
+VOL = 5
+PAGE = 749
+EPAGE = 757
+TITLE = Aggregation processes in self-associating polymer systems: a comparative analysis of theoretical and computer simulation data for micelles in the superstrong segregation regime
+URL =
+----------
+LABEL = SemenovNyrkovaKhokhlov
+TYPE = article
+AUTHORL = Semenov|Nyrkova|Khokhlov
+AUTHORF = A. |I. |A.
+AUTHORM = N. |A. |R.
+JOURNAL = \mml
+YEAR = 1995
+VOL = 28
+PAGE = 7491
+EPAGE = 7500
+TITLE = Polymers with strongly interacting groups: Theory for nonspherical multiplets
+URL =
+----------
+LABEL = SemenovBlockHomo
+TYPE = article
+AUTHORL = Semenov
+AUTHORF = A.
+AUTHORM = N.
+JOURNAL = \mml
+YEAR = 1993
+VOL = 26
+PAGE = 2273
+EPAGE = 2281
+TITLE = Phase equilibria in block copolymer-homopolymer mixtures
+URL =
+----------
+LABEL = SemenovInterface
+TYPE = article
+AUTHORL = Semenov
+AUTHORF = A.
+AUTHORM = N.
+JOURNAL = \mml
+YEAR = 1992
+VOL = 25
+PAGE = 4967
+EPAGE = 4977
+TITLE = Theory of diblock-copolymer segregation to the interface and free surface of a homopolymer layer
+URL =
+----------
+LABEL = tilt
+TYPE = article
+AUTHORL = Kaganer|Osipov|Peterson
+AUTHORF = V.|M.|I.
+AUTHORM = M.|A.|R.
+JOURNAL = \jcp
+YEAR = 1993
+VOL = 98
+PAGE = 3512
+EPAGE = 3527
+TITLE = A molecular model for tilting phase transitions between condensed phases of Langmuir monolayers
+URL =
+----------
+LABEL = ArnoldUspFizNauk
+TYPE = article
+AUTHORL = Arnold
+AUTHORF = V.
+AUTHORM = I.
+JOURNAL = \ufn
+YEAR = 1999
+VOL = 42
+PAGE = 1205
+EPAGE = 1217
+TITLE = Mathematics and physics: mother and daughter or sisters?
+URL = ufn9912c.pdf
+----------
+LABEL = Hartikainen
+TYPE = article
+AUTHORL = Hartikainen|Lahtinen|Torkkeli|Serimaa|Valkonen|Rissanen|Ikkala
+AUTHORF = J. |M. |M. |R. |J. |K. |O.
+AUTHORM =
+JOURNAL = \mml
+YEAR = 2001
+VOL = 34
+PAGE = 7789
+EPAGE = 7795
+TITLE = Comb-Shaped Supramolecules Based on Protonated Polyaniline and Their Self-Organization into Nanoscale Structures: Polyaniline Sulfonates/Zinc Sulfonates
+URL = mika/bhru9332.pdf
+----------
+LABEL = Ruokol1997
+TYPE = article
+AUTHORL = Ruokolainen|Torkkeli|Serimaa|Komanschek|Brinke|Ikkala
+AUTHORF = J. |M. |R. |E. |G. |O.
+AUTHORP = | | | |ten
+JOURNAL = \mml
+YEAR = 1997
+VOL = 30
+PAGE = 2002
+EPAGE = 2007
+TITLE = Order-Disorder Transition in Comblike Block Copolymers Obtained by Hydrogen Bonding between Homopolymers and End-Functionalized Oligomers: Poly(4-vinylpyridine)-Pentadecylphenol
+URL = mika/ma1997p2002.pdf
+----------
+LABEL = Yang1
+TYPE = article
+AUTHORL = Yang|Liang
+AUTHORF = S. |B.
+JOURNAL = \jpsb
+YEAR = 2001
+VOL = 39
+PAGE = 2915
+EPAGE = 2921
+TITLE = Simulation of Phase-Separated Structures of Liquid-Crystalline Polymer/Flexible Polymer Blends
+URL = pol_sci_v39_p2915.pdf
+----------
+LABEL = SchaeferJoannyPincus
+TYPE = article
+AUTHORL = Schaefer|Joanny|Pincus
+AUTHORF = D. |J. |P.
+AUTHORM = W. |F. |
+JOURNAL = \mml
+YEAR = 1980
+VOL = 13
+PAGE = 1280
+EPAGE = 1289
+TITLE = Dynamics of Semiflexible Polymers in Solutions
+URL =
+----------
+LABEL = SteuerRehahnBallauff
+TYPE = article
+AUTHORL = Steuer|Rehahn|Ballauff
+AUTHORF = M. |M. |M.
+AUTHORM =
+JOURNAL = \makchem
+YEAR = 1993
+VOL = 194
+PAGE = 2395
+EPAGE = 2410
+TITLE = Synthesis and characterization of rigid-rod polyesters bearing 3-hydroxypropyl and 3-acetoxypropyl side groups
+URL =
+KEYWORDS= hairy rods
+----------
+LABEL = SteuerHorthBallauff
+TYPE = article
+AUTHORL = Steuer|H\"orth|Ballauff
+AUTHORF = M. |M. |M.
+AUTHORM =
+JOURNAL = \jpsa
+YEAR = 1993
+VOL = 31
+PAGE = 1609
+EPAGE = 1619
+TITLE = Rigid Rod Polymers with Flexible Side Chains. X. Thermotropic Mesophases from Aromatic Stiff-Chain Polyamides Bearing n-Alkoxy Side Chains
+URL =
+KEYWORDS= hairy rods
+----------
+LABEL = AdamSpiess
+TYPE = article
+AUTHORL = Adam|Spiess
+AUTHORF = A. |H.
+AUTHORM = |W.
+JOURNAL = \makchem
+%%Makromol. Chem., Rapid Commun.
+YEAR = 1990
+VOL = 11
+PAGE = 249
+EPAGE = 259
+TITLE = On the packing behaviour of alkoxy-substituted stiff macromolecules
+URL =
+KEYWORDS= hairy rods
+----------
+LABEL = GaldaKistnerMartinBallauff
+TYPE = article
+AUTHORL = Galda|Kistner|Martin|Ballauff
+AUTHORF = P. |D. |A. |M.
+AUTHORM =
+JOURNAL = \mml
+YEAR = 1993
+VOL = 26
+PAGE = 1595
+EPAGE = 1602
+TITLE = Characterization and Analysis of the Phase Behavior of Poly(1,4-phenylene 2,5-di-n-alkoxyterephthalate)s
+URL =
+KEYWORDS= hairy rods
+----------
+LABEL = Pickett
+TYPE = article
+AUTHORL = Pickett
+AUTHORF = G.
+AUTHORM = T.
+JOURNAL = \mml
+YEAR = 2002
+VOL = 35
+PAGE =
+EPAGE =
+TITLE = Flexible/Branched Block Copolymer Melts
+URL = ma011532i.pdf
+KEYWORDS= phase diagram, branched molecules
+----------
+LABEL = WilliamsFredrickson
+TYPE = article
+AUTHORL = Williams|Fredrickson
+AUTHORF = D.|G.
+AUTHORM = R.M.|H.
+JOURNAL = \mml
+YEAR = 1992
+VOL = 25
+PAGE = 3561
+EPAGE = 3568
+TITLE = Cylindrical Micelles in Rigid-Flexible Diblock Copolymers
+URL =
+KEYWORDS=
+----------
+LABEL = MilnerWangWitten
+TYPE = article
+AUTHORL = Milner|Wang|Witten
+AUTHORF = S.|Z.-G.|T.
+AUTHORM = T.| |A.
+JOURNAL = \mml
+YEAR = 1989
+VOL = 22
+PAGE = 489
+EPAGE = 490
+TITLE = End-Confined Polymers: Corrections to the Newtonian Limit
+URL =
+KEYWORDS=
+----------
+LABEL = SubbotinSemenovRandom
+TYPE = article
+AUTHORL = Subbotin|Semenov
+AUTHORF = A. |A.
+AUTHORM = V. |N.
+JOURNAL = \epje
+YEAR = 2002
+VOL = 7
+PAGE = 49
+EPAGE = 64
+TITLE = Phase equilibra in random multiblock copolymers
+URL = 20070049.pdf
+----------
+LABEL = Ballauff:CompatHairyRodsCoils
+TYPE = article
+AUTHORL = Ballauff
+AUTHORF = M.
+JOURNAL = \jpsb
+YEAR = 1987
+VOL = 25
+PAGE = 739
+EPAGE = 747
+TITLE = Compatibility of Coils and Rods Bearing Flexible Side Chains
+KEYWORDS= hairy rods
+----------
+LABEL = Ballauff:PhaseHairyRodsCoils
+TYPE = article
+AUTHORL = Ballauff
+AUTHORF = M.
+JOURNAL = \mml
+YEAR = 1986
+VOL = 19
+PAGE = 1366
+EPAGE = 1374
+TITLE = Phase Equilibra in Rodlike Systems with Flexible Side Chains
+----------
+LABEL = Angerman:PhaseAssocDiblock
+TYPE = article
+AUTHORL = Angerman|Brinke
+AUTHORF = H. |G.
+AUTHORM = J.
+AUTHORP = |ten
+JOURNAL = \mml
+YEAR = 1999
+VOL = 32
+PAGE = 6813
+EPAGE = 6820
+TITLE = Weak Segregation Theory of Microphase Separation in Associating Binary Homopolymer Blends
+URL = ma981518e.pdf
+----------
+LABEL = Dormidontova:PhaseHbondBrush
+TYPE = article
+AUTHORL = Dormidontova|Brinke
+AUTHORF = E. |G.
+AUTHORP = |ten
+JOURNAL = \mml
+YEAR = 1998
+VOL = 31
+PAGE = 2649
+EPAGE = 2660
+TITLE = Phase Behavior of Hydrogen-Bonding Polymer-Oligomer Mixtures
+URL = ma9710904.pdf
+----------
+LABEL = Erukhimovich:Gel
+TYPE = article
+AUTHORL = Erukhimovich
+AUTHORF = I.
+AUTHORM = Ya.
+JOURNAL = \jetp
+YEAR = 1995
+VOL = 81
+PAGE = 553
+EPAGE = 566
+TITLE = Statistical Theory of Sol-Gel Transition in Weak Gels
+URL =
+----------
+LABEL = MB1091
+TYPE = article
+AUTHORL = Matsen|Bates
+AUTHORF = M.|F.
+AUTHORM = W.|S.
+JOURNAL = \mml
+YEAR = 1996
+VOL = 29
+PAGE = 1091
+EPAGE = 1098
+TITLE = Unifying Weak- and Strong-Segregation Block Copolymer Theories
+URL = MB1091.ps
+----------
+LABEL = BF525
+TYPE = article
+AUTHORL = Bates|Fredrickson
+AUTHORF = F.|G.
+AUTHORM = S.|H.
+JOURNAL = \arpc
+YEAR = 1990
+VOL = 41
+PAGE = 525
+EPAGE = 557
+TITLE = Block Copolymer Thermodynamics: Theory And Experiment
+URL = http://physchem.annualreviews.org/1990/
+----------
+LABEL = Flory:MML:11:1138
+TYPE = article
+AUTHORL = Flory
+AUTHORF = P.
+AUTHORM = J.
+JOURNAL = \mml
+YEAR = 1978
+VOL = 11
+PAGE = 1138
+EPAGE =
+TITLE =
+URL =
+----------
+LABEL = 2sorts
+TYPE = article0
+AUTHORL = Stepanyan|Subbotin|Brinke
+AUTHORF = R.|A.|G.
+AUTHORP = | |ten
+JOURNAL = \mml
+STATE = submited
+YEAR =
+VOL =
+PAGE =
+EPAGE =
+TITLE =
+URL =
+----------
+% Napishi konverter Biblio-Bibtex reference file formats!!!!
+%LABEL =
+%TYPE = article
+%AUTHORL =
+%AUTHORF =
+%AUTHORM =
+%JOURNAL =
+%YEAR =
+%VOL =
+%PAGE =
+%EPAGE =
+%TITLE =
+%URL =
+%KEYWORDS=
+%----------
+%LABEL=kukuku
+%TYPE=preprint
+%AUTHORL=kukuauth
+%TITLE=Microphase separation within comb-like copolymer with attractive side-chains: computer simulations1
+%JOURNAL= Macromol. Theory and Simul1.
+%YEAR =1995
+%VOL =4
+%----------
+EOF \ No newline at end of file
diff --git a/support/biblio/bibcheck.pl b/support/biblio/bibcheck.pl
new file mode 100755
index 0000000000..a6f962e745
--- /dev/null
+++ b/support/biblio/bibcheck.pl
@@ -0,0 +1,380 @@
+#!/usr/bin/perl
+use strict;
+
+
+my $BIBCHECK_VERSION = '1.0';
+
+#############################################
+# reserved names in the references file
+my $reservedLABEL='LABEL';
+my $reservedTYPE ='TYPE' ;
+my $reservedDBFILE = 'DBFILE';
+my $reservedLINE = 'LINE';
+
+
+my $reservedAUTHORL='AUTHORL';
+my $reservedAUTHORF='AUTHORF'; #??? po moemu uzhe ne nuzhen!!! ------------???????
+my $reservedAUTHOR ='AUTHOR'; #must be in the form '5;' - 5=five authors must be shown.
+# ';'=1st author from the 2nd should be separated by ';'
+my $reservedAND_SEPARATOR='|'; #what have to be put before the last author goes after this!!!
+
+
+my $reservedCOMMENTSYMBOL = '%';
+my $SEPARATOR = "----------\n";
+
+#
+##############################################
+
+#my @REFS_FILES = ('refers1.db');
+my @REFS_FILES;
+
+my @ALLREFS; #Keeps all data about refs. Is array of hashes
+ #for example this piece of code
+ #
+ #foreach $item (@ALLREFS)
+ #{
+ # print ${$item}{"AUTHOR"},"\n";
+ #};
+ #
+ #will print all ''AUTHOR'' fields
+
+
+my $TOTALLINES = 0;
+my $TOTALERRORS= 0;
+#-----------------------------------------
+#OPTIONS
+
+my $verbosity_level=1; # 5 is max
+
+my $option_do_not_exit_on_empty_label = 0;
+
+my $optionsEXITAFTERERRORS = 5;
+ # after this number of errors it will exit
+ # is set by the option "-e"
+ # "0" means "infinity"
+#-------------------------------------------
+
+&read_inline_arguments;
+
+
+
+&check_for_important_arguments;
+
+if ($verbosity_level > 0)
+{print "\nThis is bibcheck utility version $BIBCHECK_VERSION\n";
+ print 'Author R.Stepanyan <rstepanyan@yahoo.com>',"\n\n"};
+print 'refs databases are <';
+foreach my $qq (@REFS_FILES) {print "$qq "};
+print ">.\n\n";
+
+
+my $REFS_FILE;
+my $current_ref_number=0;
+foreach $REFS_FILE (@REFS_FILES)
+{ #print $REFS_FILE, "-------\n";
+ &read_ref_datafile($REFS_FILE); # all data will be stored in @ALLREFS - array of hashes
+ if($verbosity_level > 4)
+ {print "read_ref_datafile <$REFS_FILE> done...\n";}
+};
+if($verbosity_level > 4){print "\n";}
+
+&check_uniq_labels;
+
+if($verbosity_level > 0)
+{
+ print "Processed ",scalar(@ALLREFS)," records in $TOTALLINES lines of ",scalar(@REFS_FILES)," db-file(s).\n";
+}
+
+exit(0);
+#
+#
+#
+################################################################
+################################################################
+################################################################
+################################################################
+################################################################
+#
+#
+sub read_ref_datafile
+#________________________________________________
+#reads references file. Data stored in @ALLREFS
+#structure of the refs-file:
+#LABEL=3dFlex
+#TYPE=article
+#AUTHORL=subbotin
+#TITLE={Microphase separation within comb-like copolymer with attractive side-chains: computer simulations1.}
+#JOURNAL= Macromol. Theory and Simul1.
+#----------<10pieces>
+#
+#At the end should be Enter, so better to put EOF after it in the
+#next line
+#
+{ my $line;
+ my @fields; my %CURRENT_RECORD;
+
+ my $it_is_label=1;
+
+ my $item;
+ my $REFS_FILE = @_[0];
+
+ my $line_number=0; # at which line of the current file we are at the moment
+
+ open(RF, $REFS_FILE)|| die "Could not open $REFS_FILE: $!";
+ while($line = <RF>)
+ { $line_number++;
+ $TOTALLINES++;
+ next if $line =~ /^\s*$/; # skip blank lines
+ next if (substr(trim($line),0,1) eq $reservedCOMMENTSYMBOL);
+ if($line ne $SEPARATOR)
+ {
+ $line=trim($line);
+ @fields = split(/=/, $line);
+
+ @fields = trim(@fields);
+
+
+ if($fields[0] eq $reservedLABEL)
+ { # if this is label
+ if($CURRENT_RECORD{$fields[0]} ne '') #there is already a label
+ {print STDERR "Record at line $line_number at $REFS_FILE has multiple LABELs\n";
+ &one_more_error;
+ }
+
+ $CURRENT_RECORD{$fields[0]} = trim($fields[1]);
+
+ if($CURRENT_RECORD{$fields[0]} eq '')
+ {print STDERR "Empty label at line $line_number at $REFS_FILE\n";
+ unless($option_do_not_exit_on_empty_label){exit(1)}; # normally - exit after this error
+ &one_more_error;
+ }
+
+ $CURRENT_RECORD{$reservedDBFILE} = $REFS_FILE;
+ $CURRENT_RECORD{$reservedLINE} = $line_number;
+
+
+ }
+ else
+ {
+ if($fields[0] eq $reservedTYPE)
+ { if($CURRENT_RECORD{$reservedTYPE} ne '')
+ {print STDERR "Record at line $line_number at $REFS_FILE has multiple TYPEs\n";
+ &one_more_error;
+ }
+ $CURRENT_RECORD{$reservedTYPE}="$fields[1]" ;
+ }
+
+ };
+
+
+ }
+ else
+ {
+ if($CURRENT_RECORD{$reservedLABEL} eq '')
+ {print STDERR "Record has no LABEL above line $line_number at $REFS_FILE\n";
+ unless($option_do_not_exit_on_empty_label){exit(1)}; # normally - exit after this error
+ &one_more_error;
+ }
+
+ if($CURRENT_RECORD{$reservedTYPE} eq '')
+ {print STDERR "Record has no TYPE near line $line_number at $REFS_FILE\n"; &one_more_error;
+ }
+
+ %{$ALLREFS[$current_ref_number]} = %CURRENT_RECORD;
+
+ # Now erase everything from the hash!!!
+ my @allkeysfromhash = keys %CURRENT_RECORD;
+ foreach $item (@allkeysfromhash){delete($CURRENT_RECORD{$item})};
+
+ $current_ref_number++; #print "-------\n";
+
+ };
+ };
+
+ close(RF);
+};
+
+#-------------------------------------------------------
+sub check_uniq_labels
+{
+
+my $i=0;
+my $j=0;
+
+
+
+for($i=0; $i<scalar(@ALLREFS)-1; $i++)
+{
+ # print ${$ALLREFS[$i]}{"$reservedLABEL"}, "\n"; #will print all labels
+
+ for($j=$i+1; $j<scalar(@ALLREFS); $j++)
+ {
+ if(${$ALLREFS[$i]}{"$reservedLABEL"} eq ${$ALLREFS[$j]}{"$reservedLABEL"})
+ {
+ print STDERR 'Label <',${$ALLREFS[$i]}{"$reservedLABEL"};
+ print STDERR '>',"\n", ${$ALLREFS[$i]}{"$reservedLINE"}," --> ";
+ print STDERR ${$ALLREFS[$i]}{"$reservedDBFILE"}," and ";
+ print STDERR ${$ALLREFS[$j]}{"$reservedLINE"}," --> ";
+ print STDERR ${$ALLREFS[$j]}{"$reservedDBFILE"},"\n\n" ;
+ &one_more_error;
+ }
+ }
+
+}
+
+};
+
+#-------------------------------------------------------
+
+#########################################################
+
+
+sub read_inline_arguments
+{my $DD='--'; my $D='-';
+ my $counter=0; my $current='';
+ my $guess;
+
+for($counter=0;$counter<scalar(@ARGV);$counter++)
+{
+ #print "$item \n";
+ $current = $ARGV[$counter];
+
+#------------------------------------------------------------
+ #first check if it has '--' at the beginning
+ ($guess) = ($current =~/$DD([^ ]*)/);
+ if(($guess ne '')&&(substr($current,0,2) eq $DD))
+ {
+ my $nothing=0;
+ SWITCH: {
+ if ($guess eq "help") {&print_help_info; exit(0);}
+ if ($guess eq "version"){&print_version_info; exit(0);}
+
+ #options
+ if ($guess eq "noexit")
+ { $option_do_not_exit_on_empty_label=1; last SWITCH; }
+ if ($guess eq "errors") #number of errors to exit
+ { $counter++; $optionsEXITAFTERERRORS=$ARGV[$counter]; last SWITCH; }
+
+ #reserved words
+ if ($guess eq 'separator')
+ { $counter++; $SEPARATOR=$ARGV[$counter]; last SWITCH; }
+
+ $nothing = 1;
+ };
+ if($nothing){print STDERR "Unknown option <$current>!!! Exiting!\n"; exit(1);}
+ else{next};
+ };
+ #-------------------------------------------------------------------
+ #second: check if it has '-' at the beginning
+ ($guess) = ($current =~/$D([^ ]*)/);
+ if(($guess ne '')&&(substr($current,0,1) eq $D))
+ {
+ my $nothing=0;
+ SWITCH: {
+ #options
+ if ($guess eq "h")
+ { &print_help_info; exit(0)}
+
+ if ($guess eq "d")
+ { my $itis=1; my $whatis='';
+ while($itis)
+ {
+ $counter++;
+ unless($counter < scalar(@ARGV)){$counter--;last SWITCH;}
+ $whatis = $ARGV[$counter];
+ if((substr($whatis,0,2) eq $DD)||(substr($whatis,0,1) eq $D))
+ {$counter--; $itis=0;}
+ else{$REFS_FILES[$itis-1] = $whatis; $itis++};
+ };
+ if(scalar(@REFS_FILES)<1){print STDERR "Invalid format of -d option";}
+ last SWITCH;
+ }
+ if ($guess eq "v")
+ { $counter++; $verbosity_level=$ARGV[$counter]; last SWITCH; }
+ if ($guess eq "e") #number of errors to exit
+ { $counter++; $optionsEXITAFTERERRORS=$ARGV[$counter]; last SWITCH; }
+ #reserved words
+ #if ($guess eq 'etal')
+ # { $counter++; $reservedET_AL=$ARGV[$counter]; last SWITCH; }
+ $nothing = 1;
+ };
+ if($nothing){print "Unknown option <$current>!!! Exiting!\n"; exit(1);}
+ else{next};
+ };
+ #---------------------------------------------------------------------
+ #so, this is not switch
+ print STDERR "Unknown option <$current>!!! Exiting!\n"; exit(1);
+
+}
+
+};
+
+#----------------------------------
+sub check_for_important_arguments
+{
+
+ if(scalar(@REFS_FILES) == 0)
+ {print STDERR "You must select at least one refs dbase file with -d option!!!";
+ print STDERR "Exiting!\n";
+ exit(1)
+ };
+
+};
+#-----------------------------------
+sub print_version_info
+{
+print "bibcheck utility v.$BIBCHECK_VERSION \n";
+print "Written by R.Stepanyan.\n\n";
+print "This is free software. There is NO warranty! \n";
+print "Redistribution of this software is covered by the terms of";
+print "the GNU General Public License.\n";
+print "For more information, please, contact rstepanyan\@yahoo.com\n";
+};
+#-----------------------------------
+sub print_help_info
+{
+print "This is bibcheck-utility from the Biblio package v.$BIBCHECK_VERSION \n";
+print "It checks your database file (references) for\n";
+print "the presence and consistency of LABELS\n";
+print "bibcheck [keys] -d dbasefile(s)\n";
+print "\n";
+print "-v <number> - verbosity level (0-5)\n";
+print "-h (--help) - this help\n";
+print "--noexit - don\'t exit but go on if an empty label is found\n";
+print "--separator - separator of the records in the DB-file\n";
+print "--version - version information\n";
+print "\n";
+print "About the other parameters see readme.1st \n";
+print "\n";
+#print "\n";
+};
+
+#--------------------------------------------------------
+sub one_more_error
+{
+if($optionsEXITAFTERERRORS > 0)
+{
+ if(++$TOTALERRORS >= $optionsEXITAFTERERRORS)
+ {print STDERR "Too many errors ($TOTALERRORS). Exiting!!!\n";
+ exit(1);
+ };
+}
+};
+
+
+
+
+
+
+
+
+
+##################################################################
+sub trim {
+ my @out = @_;
+ for (@out) {
+ s/^\s+//;
+ s/\s+$//;
+ }
+ return wantarray ? @out : $out[0];
+}
diff --git a/support/biblio/biblio.pl b/support/biblio/biblio.pl
new file mode 100755
index 0000000000..e1bf08b46b
--- /dev/null
+++ b/support/biblio/biblio.pl
@@ -0,0 +1,1436 @@
+#!/usr/bin/perl
+
+#2345678901234567890123456789012345678901234567890123456789012345678901234567890
+# 10 20 30 40 50 60 70
+
+################################################################################
+#12 Mar 2002 : "-a file.name" option (abreviations) is added
+#------------------------------------------------------------------------------
+# 4 Dec 2002 : --movepoint option execution is implemented in a separate
+# function named "ifmovepoint"
+################################################################################
+# 3 Dec 2001 : Added one more feature. Now you can define TWO references formats
+# One is "ref_format", the other is "ref2_format"
+# First will be applied to \cite{}, the 2nd - to \refcite{}
+# this is usefull because I want to use it as
+# ....blah blah.$^3$
+# but
+# ....blah blah ref 3.
+# So, no move poin is applied to 2nd type REF!!!!
+# If you do not use \refcite substitution, do not forget to include
+# line
+# \newcommand{\refcite}{\cite}
+# It is better to have it there anyway!!!
+#-------------------------------------------------------------------------------
+#
+# 4 Oct 2001 : 1. Minor bug is corrected
+# 2. Now no points and commas at the beginning of the line
+# Like in the piece of text
+#
+# Was shown in work
+# \cite{lab2}. Blah-Blah-Blah
+#
+# if we use --movepoint option we get
+#
+# Was shown in work
+# .\cite{lab2} Blah-Blah-Blah
+#
+# But it should be
+#
+# Was shown in work.\cite{lab2} Blah-Blah-Blah
+#
+# That is exactly what is fixed now.
+# Although it adds a new bug: if you have
+#
+# Was shown in work
+# % Blah-Blah-Blah
+# \cite{lab2}. Blah-Blah-Blah#
+#
+# then one line is LOST!!!!
+#------------------------------------------------------------------------------
+# 7 Sep 2001 : $optionsREPLACE_POINT is added
+# (command line argument --movepoint)
+#
+#
+################################################################################
+
+use strict;
+my $BIBLIO_VERSION = '1.21';
+
+##############################################
+# important global data structures
+
+ # contains all "labels", found in the tex file in \cite{} command
+my @REFS; # 0 is NOT used at the beginning. After some point it is used!
+$REFS[0]=''; # I need '' here because all empty refs will be compared
+ # with this one and thrown out (as if they r already present)!
+
+my @ALLREFS; # Keeps all data about refs. Is array of hashes
+ # for example this piece of the code
+ #
+ # foreach $item (@ALLREFS)
+ # {
+ # print ${$item}{"AUTHORL"},"\n";
+ # };
+ #
+ # will print all ''AUTHOR'' fields
+
+my %REFSORDERED; # hash, containing the same, what is in the $REFS,
+ # but $REFSORDERED[$REFS[$i]] == $i
+
+my %ALLFORMATSTRINGS; #Keeps all format strings in the form:
+ #for example $ALLFORMATSTRINGS{'ARTICLE'} is format string for type ARTICLE
+my $CITE_FORMAT;my $REF_FORMAT; # These are for references to articles, etc
+ my $refREF_FORMAT; # (like \cite{...}) and citation at the end of
+ # your tex-document (\begin{references} ...)
+# They are paterns like ^{%s} - means just upper script
+# Or [%s] will produce something like [1,2,6,7] in \cite
+# and just [1] and [2] and .. in the references (literature) at the end of
+# your tex document!
+
+my $ORDERING=''; # must contain key-field, like AUTHORL, or TITLE
+
+#############################################
+# reserved names in the references file
+
+my $reservedLABEL='LABEL';
+my $reservedTYPE ='TYPE' ;
+
+my $reservedAUTHORL='AUTHORL';
+my $reservedAUTHORF='AUTHORF'; #??? po moemu uzhe ne nuzhen!!! ------------???????
+my $reservedAUTHOR ='AUTHOR'; #must be in the form '5;' - 5=five authors must be shown.
+
+my $reservedAND_SEPARATOR='|'; #what have to be put before the last author goes after this!!!
+
+my $reservedET_AL='{ \it{et al}}'; #if number of authors more than shown will be added after the last one.
+
+
+my $reservedDOLLAR = '$';
+my $reservedARRAYSEP = '|';
+my $reservedCOMMENTSYMBOL = '%';
+my $SEPARATOR = "----------\n";
+
+my $reservedHASH_KEY = 'HASH_KEY_';
+my $reservedEMTY_FIELD_SIGN = '???'; #will be written instead of emty fields
+my $reservedNONUMBER = 'NONUMBER'; # if NONUMBER is given in the ref_format or cite_format, then no number will be put in the output.
+ # for example
+ # Normally: [4] Author, F.M. Interesting Articles' Journal
+ # NONUMBER Author, ....
+#--------------------------------------
+# reserved names in the tex file;
+my @STARTREFS= ('begin{references}','begin{thebibliography}');
+my @ENDREFS= ('end{references}', 'end{thebibliography}');
+
+my $CITE = '\\\cite{';
+my $CITE0= '\cite{';
+my $refCITE = '\\\refcite{';
+my $refCITE0= '\refcite{';
+
+
+my $BIBITEM = '%'."\n".'\bibitem{';
+
+my $reservedBEGINBIBLIO='begin{biblio}'; #options for biblio starts like this
+my $reservedENDBIBLIO ='end{biblio}'; #and end like this!
+my $reservedLEFTSTART ='['; #TYPE[FORMAT_STRING]
+my $reservedRIGHTEND =']'; #so, example:
+ # ARTICLE[$AUTHOR0FL, M; $/ {\bf $YEAR$}, $VOL$]
+my $reservedCITE_FORMAT='cite_format='; #must be in the form cite_format=^{%s}
+
+my $reservedREF_FORMAT ='ref_format='; # the same
+my $reservedrefREF_FORMAT ='ref2_format=';
+
+my $reservedORDERING ='ordering='; #must be in the form ordering=AUTHORL. If no this field is given, then "asis" implied
+my $reservedS_STRING ='%s';
+my $reservedS_STRING1 ='\%s';
+my $reservedSTANDARD_CITE_FORMAT = "[$reservedS_STRING]"; # default values
+my $reservedSTANDARD_REF_FORMAT = "[$reservedS_STRING]"; # for references formats
+
+my $reservedREFERENCES ='\begin{center} \refname \end{center}' . "\n"; #'\begin{center} {\bf REFERENCES} \end{center}'."\n"
+my $reservedSTARTREFS ='\begin{flushleft}'."\n\n"; #\begin{tabular}{p{0.05\textwidth}p{0.95\textwidth}}'
+my $reservedENDREFS ='\end{flushleft}'; #\end{tabular}'
+my $reservedBETWEENREFS="\n";
+my $reservedSEPARATORINCITE=','; # \cite[1,2,3,4] will produce {1$reservedSEPARATORINCITE2$reservedSEPARATORINCITE}
+my $reservedMULTISEPARATORINCITE='-'; # \cite{1,2,3,4} => 1-4
+############################################
+
+my %HASH_REFS; #CHANGE IT LATER!!!
+
+
+
+#$REFS_FILE= 'refs.db';
+my @REFS_FILES = ('refers.db');
+#my $REFS_FILE='';# 'refers.db';
+
+#-----------------------------------------
+#OPTIONS
+
+my $verbosity_level=1; # 5 is max
+my $optionsINSERT_EMPTY_FIELDS_SIGN = 1;
+my $optionsKEEP_BIBITEM_AND_CITE = 1;
+ # if 1 \cite{} will not be substituted and output will be written in the form
+ # \bibitem{string} where string is in the apropriate format (like in format_string)
+my $optionsREFS_AS_TEX_LIST =0; #use list enviroment for references
+
+my $optionsREPLACE_POINT =0; # either Biblio should change "works\cite{}." to "works.\cite"
+my $what_we_call_point = '.,;:'; # all signes condidered to be a POINT-sign.
+my $optionsABBREVIATIONS =0; # use abbreviations tex-file
+#-------------------------------------------
+
+my $TEX_NAME ='';# 'probe.tex';
+my $OUT_TEX ='';# 'pprobe.tex';
+my $FORMAT_NAME = '';#'macromolecules';#$TEX_NAME; # file where all rules are!
+my $ABBR_NAME = 'abbr.tex'; #abbreviations file
+
+&read_inline_arguments;
+&check_for_important_arguments;
+
+if ($verbosity_level > 0)
+{ print "\nThis is biblio version $BIBLIO_VERSION\n";
+ print 'Author R.Stepanyan <rstepanyan@yahoo.com>',"\n\n";
+ print "input tex-file is <$TEX_NAME>;\n";
+ print "output file is <$OUT_TEX>;\n";
+ print "formats are in <$FORMAT_NAME>;\n";
+ print 'refs databases are <';
+ foreach my $qq (@REFS_FILES) {print "$qq "};
+ print ">.\n\n";
+};
+if ($verbosity_level > 1)
+{print "cite-tag in your tex-file <$TEX_NAME> assumed to be $CITE \n\n";};
+
+
+&make_list_of_refs; #makes list of all refs in @REFS
+
+my $i=0;
+for($i=0; $i<scalar(@REFS); $i++)
+{
+ $REFS[$i] = $REFS[$i+1];
+};
+$#REFS--; #now $REFS[0] is also used!!!!
+
+#=========================================================
+
+#TO BE REMOVED - format string will be read from tex-file!
+#my $FORMAT_STRING1 ='$AUTHORL$ {\bf $YEAR$}, $VOL$ ' ;
+#print "format string = |$FORMAT_STRING1| \n";
+
+#AUTHOR in the format string:
+# 'AUTHOR5L, FM; ' means:
+# - show max 5 aouthors
+# - do it like this
+# 'Stepanyan, R.R.; Subbotin, A.; ten Brinke, G.'
+#%ALLFORMATSTRINGS= ('ARTICLE' => '$AUTHOR0FL, M; $/ {\bf $YEAR$}, $VOL$ ',
+# 'BOOK' => 'BOOK $AUTHORL$ {\it $YEAR$}, $VOL$ ' ); #TO BE CHANGED should be read from file!!!
+
+&read_formats_and_speak_to_me; #???????????????????
+# OK, we now have
+# 1. %ALLFORMATSTRINGS
+# 2 $CITE_FORMAT and $REF_FORMAT;
+
+
+
+
+$i=0;
+my $item;
+if($verbosity_level > 3)
+{
+foreach $item (@REFS) #
+ {print "cite N$i is $item \n"; $i++
+ };
+};
+if($verbosity_level > 4)
+{print "make_list_of_refs from <$TEX_NAME> done...\n\n";}
+
+my $REFS_FILE;
+foreach $REFS_FILE (@REFS_FILES)
+{ #print $REFS_FILE, "-------\n";
+ &read_ref_datafile($REFS_FILE); # all data will be stored in @ALLREFS - array of hashes
+ if($verbosity_level > 4)
+ {print "read_ref_datafile <$REFS_FILE> done...\n";}
+};
+if($verbosity_level > 4){print "\n";}
+
+#this shows how to access @ALLREFS
+#foreach $item (@ALLREFS)
+#{
+# print ${$item}{"LABEL"},"-->",${$item}{"VOL"},"\n";
+#};
+
+if($verbosity_level > 0)
+{&complain_about_nonexisting_refs;}
+
+&order_this_list;
+if($verbosity_level > 4)
+ {print "ordering of refs is done...\n";}
+
+
+open(OUTTEX, "> $OUT_TEX");
+open(TEX,"$TEX_NAME");
+
+my $do_insert=0; # if 0 - nothing has been done
+ # if 1 - process is going on
+ # if 2 - it is done
+ # if 3 - \end{references} is over
+my $line;
+while(<TEX>)
+{ $line = $_;
+
+ chomp($line); #added 4 oct
+
+ foreach my $s (@STARTREFS)
+ {
+ if($s eq substr($line,1,scalar(split(//,$s))))
+ {&insert_abbreviations_of_journals; $do_insert = 1;}
+ };
+ if(($do_insert==0)||($do_insert==3)||($optionsKEEP_BIBITEM_AND_CITE==1))
+ { # added 11 March 20002
+ if($optionsKEEP_BIBITEM_AND_CITE)
+ { if($optionsREPLACE_POINT)
+ {
+ (my @qguess0) =( $line =~ /$CITE([^}]*)/gi );
+ #now there r all xxx from \cite{xxx} in this array
+ my @qguess=trim(@qguess0); #??????????????? $dst =~ s/this/that/;
+ for(my $i=0; $i<scalar(@qguess); $i++)
+ {
+ my $this = "$CITE$qguess[$i]}";
+ $line = ifmovepoint($this,$line)
+ }
+ };
+ # end 11 March 20002
+ print OUTTEX "\n$line"
+ }
+ else
+ {&find_there_cites_and_substitute_them($line)}
+ };
+ if(($do_insert==2)&&($optionsKEEP_BIBITEM_AND_CITE!=1))
+ {
+ foreach my $s (@ENDREFS) {if($s eq substr($line,1,scalar(split(//,$s)))) {$do_insert = 3;}};
+ };
+ next if $do_insert > 1;
+ next if $line =~ /^\s*$/; # skip blank lines
+ next if (substr(trim($line),0,1) eq $reservedCOMMENTSYMBOL); # we r not interested in comments
+ $line = trim($line);
+ # foreach my $s (@STARTREFS) {if($s eq substr($line,1,scalar(split(//,$s)))) {$do_insert = 1;}};
+ next if $do_insert ne 1;
+ if($optionsKEEP_BIBITEM_AND_CITE)
+ { #\begi{references} is already written
+ &print_all_references_into_tex_in_bibitem_format; $do_insert = 2;
+ }
+ else
+ { if($optionsREFS_AS_TEX_LIST!=1){&print_all_references_into_tex; $do_insert = 2;}
+ else{&print_all_references_into_tex_as_list; $do_insert = 2;}
+ };
+
+};
+close(OUTTEX);
+close(TEX);
+
+if ($verbosity_level > 0) { print "\nFinished!\n"}
+exit(0);
+
+
+
+###############################################
+#*********************************************
+##############################################
+#********************************************
+###############################################
+#===========================
+
+
+
+#makes list of all cites and place them into @REFS
+#order is according to their place in the tex-file
+sub make_list_of_refs
+{
+my $guess; my @multiguess; my $last; my (@qguess,@qguess2);
+open(TEX, $TEX_NAME)|| die "Could not open $TEX_NAME: $!";
+ while (<TEX>) { # read a line from file TEX into $_
+ $last = $_;
+ #next if (substr($last,0,1) eq "$reservedCOMMENTSYMBOL");
+ if ($last =~ m/$reservedCOMMENTSYMBOL/)
+ { if($last =~ m/\\$reservedCOMMENTSYMBOL/)
+ { my $new_last='';#split(//,$last);
+ # my $last1='';
+ # print $last," <-- is \n";
+ # for($i=0;$i<scalar(@new_last);$i++)
+ # {
+ # if()
+ # };
+ my @spl=split(/\\$reservedCOMMENTSYMBOL/,$last);
+ for($i=0;$i<scalar(@spl);$i++)
+ {
+ if(substr($spl[$i], -1) eq "\\") {$new_last = $new_last ."\\" ;last};
+ if($spl[$i] =~ m/$reservedCOMMENTSYMBOL/)
+ { my ($temp)=split(/$reservedCOMMENTSYMBOL/,$spl[$i]);
+ $new_last = $new_last . $temp;
+ last;
+ }
+ else
+ {$new_last = $new_last . $spl[$i];}
+ };
+ $last = $new_last;
+ }
+ else
+ {
+ ($last)= split( /$reservedCOMMENTSYMBOL/,$last);
+ };
+ #Now we should look, might be it was "\%" but not "%"
+
+ };
+ next if (trim($last) eq '' );
+
+# ($guess) =( $last =~ /$CITE([^}]*)/ );
+ (@qguess) =( $last =~ /$CITE([^}]*)/gi );
+ (@qguess2) =( $last =~ /$refCITE([^}]*)/gi );
+ $guess="";
+ my $nn=scalar(@qguess);
+ for($i=0; $i<$nn; $i++)
+ {$guess=$guess.','.$qguess[$i]};
+ my $nn=scalar(@qguess2);
+ for($i=0; $i<$nn; $i++)
+ {$guess=$guess.','.$qguess2[$i]};
+
+ $guess=trim($guess); # remove SPACE from the beginning and end
+ if($guess ne '')
+ {#print "\n this is guess: $guess \n";
+
+ @multiguess = split(/,/ , $guess); # if this is \cite{1,2,3,4,..}
+ @multiguess = trim(@multiguess);
+
+ my $nmulti=scalar(@multiguess);
+
+ for($i=0; $i<$nmulti; $i++)
+ { #print $i,"=",$multiguess[$i]," ";
+ my $notfound=1;
+ foreach $item (@REFS)
+ { if($item eq $multiguess[$i]){$notfound =0; last }
+ };
+
+ if($notfound) {$nn=scalar(@REFS); $REFS[$nn] = $multiguess[$i];}
+ };
+ }
+ };
+
+
+close(TEX);
+
+
+};
+
+#--------------------------------------------------------
+
+sub read_ref_datafile
+#________________________________________________
+#reads references file. Data stored in @ALLREFS
+#structure of the refs-file:
+#LABEL=3dFlex
+#TYPE=article
+#AUTHORL=subbotin
+#TITLE={Microphase separation within comb-like copolymer with attractive side-chains: computer simulations1.}
+#JOURNAL= Macromol. Theory and Simul1.
+#----------<10pieces>
+#
+#At the end should be Enter, so better to put EOF after it in the
+#next line
+#
+{ my $current_ref_number=0; my $line;
+ my @fields; my %CURRENT_RECORD;
+
+ my $it_is_label=1; my $save_current_field=0;
+
+ my $item;
+ my $REFS_FILE = @_[0];
+
+ open(RF, $REFS_FILE)|| die "Could not open $REFS_FILE: $!";
+ while($line = <RF>)
+ { next if $line =~ /^\s*$/; # skip blank lines
+ next if (substr(trim($line),0,1) eq $reservedCOMMENTSYMBOL);
+ if($line ne $SEPARATOR)
+ {
+ $line=trim($line);
+ @fields = split(/=/, $line);
+
+ @fields = trim(@fields);
+
+ if($fields[0] eq $reservedLABEL)
+ {
+ foreach $item (@REFS)
+ { if($item eq $fields[1]) #this label is in REFS
+ { $save_current_field = 1 }
+ }
+ };
+
+ if($save_current_field)
+ { if($fields[0] eq $reservedLABEL){$CURRENT_RECORD{$fields[0]} = $fields[1]; }
+ else
+ {
+ if($CURRENT_RECORD{$fields[0]} ne '')
+ {
+ $fields[1]=trim($fields[1]);
+ $CURRENT_RECORD{$fields[0]}="$CURRENT_RECORD{$fields[0]}$reservedARRAYSEP$fields[1]" ;
+ }
+ else
+ {$CURRENT_RECORD{$fields[0]} = trim($fields[1]); }
+ };
+ #MUST change it to read fields with many '=' in the body text!!!
+ #print "$fields[0] == $CURRENT_RECORD{$fields[0]}\n";
+ }
+ }
+ else
+ {
+ if($save_current_field)
+ { %{$ALLREFS[$current_ref_number]} = %CURRENT_RECORD;
+ # Now erase everything from the hash!!!
+ my @allkeysfromhash = keys %CURRENT_RECORD;
+ foreach $item (@allkeysfromhash){delete($CURRENT_RECORD{$item})};
+
+ $current_ref_number++; #print "-------\n";
+ };
+ $save_current_field = 0;
+ };
+ };
+ close(RF);
+};
+
+#----------------------------------------------------------
+
+sub complain_about_nonexisting_refs
+#check that all @REFS have counterpart in @ALLREFS
+{my $item=''; my $item1=''; my $good_label;
+
+ foreach $item (@REFS)
+ { $good_label=0;
+ foreach $item1 (@ALLREFS)
+ {if($item eq ${$item1}{"$reservedLABEL"}) {$good_label=1; next;}}
+ if($good_label == 0)
+ { print STDERR " WARNING! Cite-label <$item> has not been resolved! \n";
+ }
+ };
+ print STDERR "\n";
+}
+
+#---------------------------------------------------
+sub read_formats_and_speak_to_me
+#calls read_format_string and also produces output about results
+{
+&read_format_strings;
+if($verbosity_level > 3)
+{print "\nread_format_strings from <$FORMAT_NAME> done...\n\n";
+ printf("%16s | %s\n","TYPE","FORMAT STRING");
+ printf("%15s--+-%s\n","---------------","---------------------------------------------------");
+ foreach my $key (keys %ALLFORMATSTRINGS)
+ { printf("%16s | %s\n",$key,$ALLFORMATSTRINGS{$key})};
+ for(my $i=0;$i<70;$i++){print "-";};print "\n";
+};
+if($CITE_FORMAT eq '')
+{ print STDERR "Citation format not found or wrong in <$FORMAT_NAME>. Assuming default!\n";
+ $CITE_FORMAT = $reservedSTANDARD_CITE_FORMAT
+};
+if(uc($CITE_FORMAT) eq $reservedNONUMBER){$CITE_FORMAT='';}; #????????
+if($REF_FORMAT eq '')
+{ print STDERR "Citation reference format not found or wrong in <$FORMAT_NAME>. Assuming default!\n";
+ $REF_FORMAT = $reservedSTANDARD_REF_FORMAT
+};
+
+#print "$CITE_FORMAT $REF_FORMAT \n";
+if($verbosity_level > 0)
+ { print "\n!!! Citation format:$CITE_FORMAT. \n Reference format=$REF_FORMAT. Second reference format=$refREF_FORMAT.\n Ordering:";
+ if($ORDERING eq ''){print "as is\n\n"}else {print " key field is <$ORDERING>\n\n"}
+ };
+
+}
+
+#----------------------------
+sub read_format_strings
+# this function reads formats for references from file $FORMAT_NAME
+# this can be just header in the decument (tex-file) or separate file!
+{my $line='';
+ my $start_interpreting=0; # 0 - not started yet
+ # 1 - interpreting
+
+ my @justarray;
+
+ if($verbosity_level > 3){print "Format strings are in <$FORMAT_NAME>\n\n"}
+
+ open(FRM, "$FORMAT_NAME") || die "Could not open $FORMAT_NAME: $!";
+ while(<FRM>)
+ { my $hash_key=''; my $hash_value='';
+ $line = $_; #print $line;
+ $line = trim($line);
+ next if $line =~ /^\s*$/; # skip blank lines
+ next if (substr(trim($line),0,1) ne $reservedCOMMENTSYMBOL);
+ #skip lines, starting NOT from %
+ next if (substr(trim($line),0,2) eq "$reservedCOMMENTSYMBOL$reservedCOMMENTSYMBOL");
+ $line = substr(trim($line),1);
+ $line=trim($line);
+ next if $line =~ /^\s*$/;
+ if($line eq $reservedBEGINBIBLIO){$start_interpreting=1;next;};
+ if($line eq $reservedENDBIBLIO){ close(FRM); return;};
+
+
+ if(not $start_interpreting){next;};
+
+ #OK, now no shit in this line!
+ if($verbosity_level > 4){print $line," is read from <$FORMAT_NAME>\n";};
+ @justarray=split(//,$line);
+
+ #try to find if this is "cite_format" or "ref_format"
+ my $format='';
+ ($format) = ($line =~ /$reservedCITE_FORMAT([^,\n]*)/);
+ if($format ne '')
+ {if(($format =~ m/$reservedS_STRING1/)||($format =~/$reservedNONUMBER/))
+ { $CITE_FORMAT = $format;
+ if($verbosity_level > 4){print "Citation format=$format\n\n";}
+ next;
+ }
+ else
+ {print STDERR "Unknown citation format \"$format\". Assuming standard=",
+ "$reservedSTANDARD_CITE_FORMAT\n";
+ $CITE_FORMAT = $reservedSTANDARD_CITE_FORMAT ; next;
+ }
+ } ;
+ # now try to find "ref_format"
+ ($format) = ($line =~ /$reservedREF_FORMAT([^,\n]*)/);
+ if($format ne '')
+ {if($format =~ m/$reservedS_STRING1/)
+ { $REF_FORMAT = $format;
+ if($verbosity_level > 4){print "Citation reference format=$format\n\n";};
+ next;
+ }
+ else
+ {print STDERR "Unknown reference format \"$format\". Assuming standard: ",
+ "$reservedSTANDARD_REF_FORMAT\n";
+ $REF_FORMAT = $reservedSTANDARD_REF_FORMAT ; next;
+ }
+ }
+ ($format) = ($line =~ /$reservedrefREF_FORMAT([^,\n]*)/);
+ if($format ne '')
+ {if($format =~ m/$reservedS_STRING1/)
+ { $refREF_FORMAT = $format;
+ if($verbosity_level > 4){print "Citation reference 2nd format=$format\n\n";};
+ next;
+ }
+ else
+ {print STDERR "Unknown 2nd reference format \"$format\". Assuming standard: ",
+ "$reservedSTANDARD_REF_FORMAT\n";
+ $refREF_FORMAT = $reservedSTANDARD_REF_FORMAT ; next;
+ }
+ }
+
+ ($format) = ($line =~ /$reservedORDERING([^,\n]*)/);
+ if($format ne '')
+ {$ORDERING = trim($format);
+ if($verbosity_level > 4){print "Key field for refs ordering=$ORDERING\n\n";};
+ next;
+ } ;
+
+ my $this_is_key=1;
+
+ my $narray=scalar(@justarray);
+ for(my $i=0;$i< $narray-1; $i++)
+ {
+ if(($this_is_key)&&($justarray[$i] eq $reservedLEFTSTART))
+ {$this_is_key = 0; next;};
+ if($this_is_key)
+ {$hash_key ="$hash_key$justarray[$i]";}
+ else
+ {$hash_value = "$hash_value$justarray[$i]"}
+ };
+ if($justarray[$narray-1] ne $reservedRIGHTEND)
+ {
+ print STDERR "Format string \"$line\" must end with \"$reservedRIGHTEND\"!\n";
+ print STDERR "This is fatal error. Exiting...";
+ exit(1);
+ };
+ $hash_key=trim($hash_key);
+ #now analize $hash_key. It must be puur symbolic!
+ unless($hash_key=~ /^[A-Za-z0-9]+$/)
+ {print STDERR "Key field \"$hash_key\" in \"$line\" must include only A-Z,a-z,0-9\n";
+ print STDERR "This is fatal error. Exiting...";
+ exit(1);
+ };
+
+ my $hash_key1=uc($hash_key);
+
+ if (($hash_key1 ne $hash_key)&&($verbosity_level>2))
+ {print " WARNING!!! Key field\n \"$hash_key\" in \"$line\"\n converted to uppercase!!!\n"};
+ $ALLFORMATSTRINGS{$hash_key1} = $hash_value;
+
+ };
+ close(FRM);
+
+
+};
+
+#------------------------------------------------------------
+
+#reads REFS_FILE and finds there text for references
+#according to labels in @REFS
+#All Refs are put into hash %HASH_REFS where index is $REFS (label)
+sub prepare_all_refs
+{
+ my $HASH_CURRENT_ITEM;
+
+ open(REFF,$REFS_FILE)|| die "Could not open $REFS_FILE: $!";
+ my $this_is_label=1; my $label; my $last ; my $refitem;
+ my $HAS_CURRENT_ITEM;
+ while(<REFF>)
+ {
+ $last = $_;
+ if($this_is_label)
+ { $label=$last;chomp($label);$label=trim($label);
+ foreach $refitem (@REFS)
+ {if($label eq $refitem)
+ {$HASH_CURRENT_ITEM = $label;
+ print "found $refitem in $REFS_FILE\n"
+ }
+ }
+ $this_is_label=0;
+ }
+ elsif($last eq $SEPARATOR){$this_is_label=1;
+ print $HASH_REFS{$HASH_CURRENT_ITEM},"\n";}
+ else
+ {
+ $HASH_REFS{$HASH_CURRENT_ITEM}=$HASH_REFS{$HASH_CURRENT_ITEM} . $last;
+ #print $HASH_REFS{$refitem},"\n";
+ }
+
+ };
+ close(REFF);
+};
+#----------------------------------------------------------
+
+sub print_all_references_into_tex_in_bibitem_format
+{ my $item1;
+ print OUTTEX "\n",'%Generated by biblio',"\n";
+ for(my $i=0;$i<scalar(@REFS);$i++)
+ { $item = @REFS[$i];
+ foreach $item1 (@ALLREFS) #loop 1
+ {if($item eq ${$item1}{"$reservedLABEL"})
+ { my $thetype=uc(${$item1}{"$reservedTYPE"}); # IN THE UPPER CASE!
+ if($ALLFORMATSTRINGS{"$thetype"} eq '')
+ { print STDERR "No format string for TYPE <$thetype>. Skipping record <$item>!\n";
+ last;
+ };
+
+ print OUTTEX $BIBITEM,$item,'}',"\n",'{'; #,$CITE_FORMAT;
+
+ #print $thetype,"-->",$ALLFORMATSTRINGS{"$thetype"}, "\n";
+
+ &formated_output($ALLFORMATSTRINGS{"$thetype"},%{$item1}); #CHANGE $FORMAT_STRING1 HERE!!!
+ print OUTTEX '}',"\n";
+ #next;
+
+ last; #this is last for loop 1
+ }
+ };
+
+ };
+ print OUTTEX '%',"\n",'%End of Generated by biblio',"\n";
+
+}
+#-----------------------------------------------------------
+sub print_all_references_into_tex #OUTTEX must be opened!
+{
+my $item1; my $st;
+
+ print OUTTEX "\n$reservedREFERENCES$reservedSTARTREFS";
+
+ my $counter=1;
+
+ my $found_it=0;
+
+ for(my $i=0;$i<scalar(@REFS);$i++)
+ { $item = @REFS[$i];
+ $found_it=0;
+
+ foreach $item1 (@ALLREFS)
+ {if($item eq ${$item1}{"$reservedLABEL"})
+ { my $thetype=uc(${$item1}{"$reservedTYPE"}); # IN THE UPPER CASE!
+ if($ALLFORMATSTRINGS{"$thetype"} eq '')
+ { print STDERR "No format string for TYPE <$thetype>. Skipping record <$item>!\n";
+ $st = sprintf("$CITE_FORMAT",$counter);
+ print OUTTEX "$st ";#,$CITE_FORMAT;
+ $counter++;
+ print OUTTEX "No format string for TYPE <$thetype>. Skipping record <$item>!";
+ print OUTTEX "\n$reservedBETWEENREFS";
+ $found_it = 1;
+ last;
+ };
+ $st = sprintf("$CITE_FORMAT",$counter);
+ print OUTTEX "$st ";#,$CITE_FORMAT;
+ $counter++;
+ #print $thetype,"-->",$ALLFORMATSTRINGS{"$thetype"}, "\n";
+ &formated_output($ALLFORMATSTRINGS{"$thetype"},%{$item1}); #CHANGE $FORMAT_STRING1 HERE!!!
+ print OUTTEX "\n$reservedBETWEENREFS";
+ $found_it=1;
+ last;
+ }
+ }
+ unless($found_it)
+ {
+ $st = sprintf("$CITE_FORMAT",$counter);
+ print OUTTEX "$st ";#,$CITE_FORMAT;
+ $counter++;
+ print OUTTEX "Record <$item> was not found in the references dbases";
+ print OUTTEX "\n$reservedBETWEENREFS";
+ }
+ };
+ print OUTTEX "$reservedENDREFS\n";
+};
+
+#------------------------------------------------------------
+sub print_all_references_into_tex_as_list
+{
+ my $item1; my $st;
+
+ print OUTTEX "\n$reservedREFERENCES";
+
+ print OUTTEX '\newcounter{bibliocounterrr}',"\n";
+ print OUTTEX '\begin{list}';
+
+ $st = sprintf("$CITE_FORMAT",'\arabic{bibliocounterrr}');
+ print OUTTEX '{',"$st",'}',"\n";#,$CITE_FORMAT;
+ print OUTTEX ' {\usecounter{bibliocounterrr}',"\n";
+ print OUTTEX ' \setlength{\labelwidth}{1cm}\setlength{\leftmargin}{1cm}',"\n";
+ print OUTTEX ' \setlength{\labelsep}{0.5cm}\setlength{\rightmargin}{0cm}',"\n";
+ print OUTTEX ' \setlength{\parsep}{0.5ex plus0.2ex minus0.1ex}';
+ print OUTTEX ' \setlength{\itemsep}{1ex plus0.2ex}',"\n";
+ print OUTTEX '}',"\n";
+
+
+
+
+ my $found_it=0;
+
+ for(my $i=0;$i<scalar(@REFS);$i++)
+ { $item = @REFS[$i];
+ $found_it=0;
+
+ foreach $item1 (@ALLREFS)
+ {if($item eq ${$item1}{"$reservedLABEL"})
+ { my $thetype=uc(${$item1}{"$reservedTYPE"}); # IN THE UPPER CASE!
+ if($ALLFORMATSTRINGS{"$thetype"} eq '')
+ { print STDERR "No format string for TYPE <$thetype>. Skipping record <$item>!\n";
+
+ print OUTTEX '\item ';
+
+ print OUTTEX "No format string for TYPE <$thetype>. Skipping record <$item>!";
+ print OUTTEX "\n$reservedBETWEENREFS";
+ $found_it = 1;
+ last;
+ };
+
+ print OUTTEX '\item ';#,$CITE_FORMAT;
+
+ #print $thetype,"-->",$ALLFORMATSTRINGS{"$thetype"}, "\n";
+ &formated_output($ALLFORMATSTRINGS{"$thetype"},%{$item1}); #CHANGE $FORMAT_STRING1 HERE!!!
+ print OUTTEX "\n$reservedBETWEENREFS";
+ $found_it=1;
+ last;
+ }
+ }
+ unless($found_it)
+ {
+
+ print OUTTEX '\item ';#,$CITE_FORMAT;
+
+ print OUTTEX "Record <$item> was not found in the references dbases";
+ print OUTTEX "\n$reservedBETWEENREFS";
+ }
+ };
+ print OUTTEX '\end{list}',"\n";
+
+};
+#------------------------------------------------------------
+
+sub formated_output
+# takes format string in the form
+# $FORMAT_STRING ='$AUTHOR5F L;$ {\bf $YEAR$}, $VOL$ - $NUMBER$' ;
+# and hash
+# of the type
+# my %HASH_REFS= ('AUTHOR' => 'Stepanyan',
+# 'YEAR' => '2000',
+# 'VOL' => '12',
+# 'RT' => 'qq');
+# of course fields in hash can be any.
+# Then makes output of the hash into stdout
+# according to the format string.
+# File with file handle OUTTEX must be opened for writing!!!!
+{
+my @in_arguments = @_; #take all arguments of this function
+
+my $FORMAT_STRING=$in_arguments[0]; # the first MUST be the format string
+
+my %HASH_REFS; #all the rest of arguments
+ #must be put into this hash
+
+my $i; #next lines make hash from array
+for($i=1;$i<scalar(@in_arguments)-1;$i=$i+2)
+{ $HASH_REFS{$in_arguments[$i]} = $in_arguments[$i+1]
+};
+
+
+my @format_char_array; # all chars from the format string
+my @format_array; # if format_string='$AUTHOR$ {\bf 2}'
+ # then format array will be
+ # ('HASH_KEY_AUTHOR',' {\bf 2}')
+
+@format_char_array = split(//, $FORMAT_STRING);
+
+my $start_flag = 0; # when I see $ I do $start_flag=1
+ # when I see it again I do =0
+ # I do it to cath al $xxxx$ things!
+
+my $counter=0; # just counter for the @format_array
+
+
+my $char;
+
+###print "-----\n";
+foreach $char (@format_char_array)
+{
+ ###print "$char\n";
+ if($char ne $reservedDOLLAR) # if it is NOT '$'
+ { # add this char and don't bother yourself with it!
+ $format_array[$counter] = $format_array[$counter] . $char;
+ }
+ else # oooh, this is '$'
+ {
+ if($start_flag == 0){$start_flag = 1} #if it is start of command
+ else{$start_flag = 0}; #if it is end of command
+ $counter++;
+ if($start_flag == 1) #if this will be command
+ #add HASH_KEY before the name of it!
+ {$format_array[$counter] = $reservedHASH_KEY;};
+
+ }
+};
+###print "-----\n";
+###foreach $char (@format_array)
+###{ print "|$char|\n"};
+
+my $char1; my $post_author='';
+
+my @author_fields;
+my $last_sep=''; # 'R.R.Stepanyan',$last_sep,'A.A.Subbotin' - example
+my @author_name_key; my @author_seps;
+
+foreach $char (@format_array)
+{ ($char1) = ( $char =~ /$reservedHASH_KEY([^}]*)/ );
+ # $char1=trim($char1);
+ #$char=trim($char);
+ $#author_fields = -1;
+ if($char1 ne '')
+ { if((not($char1 =~ m/$reservedAUTHOR/))&&($HASH_REFS{$char1} eq '')) #this is not author
+ # and this field is empty
+ { if($optionsINSERT_EMPTY_FIELDS_SIGN)
+ {print OUTTEX '{',$reservedEMTY_FIELD_SIGN,'}'}; #OUTTEX is opened!
+ if($verbosity_level > 1) #complain about absence of field
+ {print STDERR "Field <$char1> in the record <$HASH_REFS{$reservedLABEL}> is empty!\n"};
+ }
+ elsif($char1 =~ m/$reservedAUTHOR/)
+ { ($post_author) = ($char1 =~ /$reservedAUTHOR([^\$]*)/); # what if after AUTHOR ??
+ @author_fields=split(//,$post_author);
+
+ my $iaf=0; #number of names in one author (last, first, middle name = 3)
+ my $saf=0; #number of separators
+ my $start=0;
+ my $max_n_of_aut=0;#max num of authors to show. If 0 then unlimited! ??????????
+
+ my $and_word=''; #have to be before the last author if number of outhors>1
+
+ while($author_fields[$start] =~ /^[0-9]+$/)
+ {$max_n_of_aut="$max_n_of_aut$author_fields[$start]";
+ $start++;
+ };
+
+ my $niaf;
+ $niaf=scalar(@author_fields);
+ $#author_name_key = -1; $#author_seps = -1; #to make them clean!
+
+ for(my $ii=$start; $ii<$niaf; $ii++)
+ {
+ if($author_fields[$ii] =~/^[A-Za-z]+$/)
+ {$author_name_key[$iaf] = "$reservedAUTHOR$author_fields[$ii]"; $iaf++; $saf++;}
+ elsif($author_fields[$ii] ne $reservedAND_SEPARATOR)
+ {$author_seps[$saf] = "$author_seps[$saf]$author_fields[$ii]"}
+ else{$and_word = substr($post_author,$ii+1);
+ $ii=$niaf+1; #to finish the loop
+ }
+ };
+
+ $last_sep=$author_seps[$saf];
+
+ #Thus we have
+ # @author_name_key - array of the type (AUTHORL, AUTHORF, AUTHORM)
+ # @author_seps - $author_seps[1] is what should be placed after AUTHORF, 0-th - after AUTHORL
+ # $last_sep - should be placed after the complete name of one person!
+
+ #print $HASH_REFS{'AUTHORL'} ;
+ my $n_of_aut=0 ; my $schet=0; my @avtor;
+
+ #HOW MANY AUTHOR WE HAVE??? We should find MAXIMUM!!
+
+ while($schet < scalar(@author_name_key) )
+ { @avtor = split(/\|/,$HASH_REFS{$author_name_key[$schet]}); #
+ if($n_of_aut < scalar(@avtor)){$n_of_aut = scalar(@avtor)}; #number of authors
+ $schet++;
+ };
+ # Now number of authors is in the $n_of_aut
+
+
+ my $print_etal = 0; #?????????????
+ if(($max_n_of_aut > 0)&&($max_n_of_aut < $n_of_aut)){$n_of_aut=$max_n_of_aut; $print_etal=1;}
+ # now number of authors to display is '$n_of_aut'!
+
+ my $jj; #counter for all names of one author!
+ my $max_jj = scalar(@author_name_key);
+
+ for(my $ii=0;$ii<$n_of_aut;$ii++) # $ii is number of aut to display
+ {
+ for($jj=0;$jj<$max_jj ;$jj++) # $jj is counter of name of the same person
+ {
+ #print OUTTEX $author_seps[$jj];
+ @avtor = split(/\|/,$HASH_REFS{$author_name_key[$jj]});
+ @avtor = trim(@avtor);
+ if($avtor[$ii] ne ''){print OUTTEX $author_seps[$jj];
+
+ print OUTTEX $avtor[$ii];};
+ };
+
+
+ if($ii<$n_of_aut-2){print OUTTEX $last_sep;}; #for all except the last
+ if($ii == $n_of_aut-2)
+ { if(($n_of_aut>2)||(trim($and_word) eq "")){print OUTTEX $last_sep};
+ if(($n_of_aut>1)&&($print_etal == 0)){print OUTTEX " $and_word ";}
+
+ };
+ };
+ #print $last_sep;
+ if($print_etal){print OUTTEX $reservedET_AL;}
+ }
+ else
+ {
+ print OUTTEX '{',$HASH_REFS{$char1},'}'
+ };
+
+
+ }
+ else{print OUTTEX $char};
+};
+#print "\n";
+};
+#---------------------------------------------------
+sub find_there_cites_and_substitute_them
+#processes line like 'this was done in works \cite{qq,rt6,markus,work56}'
+#from INPUT.tex
+#into the line like 'this was done in works $^{1-3,8}$'
+#and writes it into OUTPUT.tex
+{
+ my @out = @_ ;
+ my $line=$out[0];
+
+ my (@qguess, @qguess2); #keeps lines like "label1,label2,label3"
+ my (@qresults,@qresults2); #must keep numbers like "1,2,3"
+ (my @qguess0) =( $line =~ /$CITE([^}]*)/gi ); #now there r all xxx from \cite{xxx} in this array
+ (my @qguess00) =( $line =~ /$refCITE([^}]*)/gi ); #now there r all xxx from \refcite{xxx} in this array
+ # if there are more than one \cite in this line, then number of elements in qguess>1
+
+ #added 4 Oct (1.)
+ chomp($line);
+ #
+
+ if((scalar(@qguess0)==0)&&(scalar(@qguess00)==0))
+ {print OUTTEX "\n",trim($line); return}; # trim() - because we do not want
+ # spaces at the end!!!
+#--------------
+ @qguess=trim(@qguess0); #??????????????? $dst =~ s/this/that/;
+ my @current;
+ for(my $i=0; $i<scalar(@qguess); $i++)
+ { $#current=-1;
+ @current = trim(split(/,/, $qguess[$i])) ;
+ for(my $j=0; $j<scalar(@current);$j++)
+ { # print OUTTEX $current[$j]," " ;
+ # for( my $k=0; $k<scalar(@ALLREFS); $k++)
+ # { if( $current[$j] eq $ALLREFS[$k]) {$qresults[$i] = "$qresults[$i]$k"}
+ # };
+ if($qresults[$i] eq ''){$qresults[$i]="$REFSORDERED{$current[$j]}" ; }
+ else{$qresults[$i]="$qresults[$i]$reservedSEPARATORINCITE$REFSORDERED{$current[$j]}"}
+ };
+ };
+ #######
+ @qguess2=trim(@qguess00);
+ my @current2;
+ for(my $i=0; $i<scalar(@qguess2); $i++)
+ { $#current2=-1;
+ @current2 = trim(split(/,/, $qguess2[$i])) ;
+ for(my $j=0; $j<scalar(@current2);$j++)
+ { if($qresults2[$i] eq ''){$qresults2[$i]="$REFSORDERED{$current2[$j]}" ; }
+ else{$qresults2[$i]="$qresults2[$i]$reservedSEPARATORINCITE$REFSORDERED{$current2[$j]}"}
+ };
+ };
+#-------------
+
+ for(my $i=0; $i<scalar(@qresults); $i++)
+ { #print OUTTEX $qresults[$i],"|";
+ my $this = "$CITE$qguess[$i]}";
+ $qresults[$i] = &make_1234__1_4($qresults[$i]) ;
+ my $that = sprintf("$REF_FORMAT",$qresults[$i]) ;
+
+ # at this point one can change order of [.,;:] and \cite{}
+ # because it has to be: works.$^{1,3,7}$
+ # instead of : works$^{1,3,7}$.
+ # whereas in the source it is: works \cite{1,3,7}.
+ # parameter $optionsREPLACE_POINT governes that
+ # $what_we_call_point = '.,:;' includes all POINT-like characters
+
+ # what we do:
+ # 1. divide $line into 3 parts: 1st = waht is before \cite
+ # 2nd = \cite{ } itself
+ # 3rd = what is after \cite{}
+ # so, if one had $line = 'word \cite{1}. After'
+ # then: $part1 = 'word ' $part2='\cite{1}' $part3='. After'
+ #
+ # 2. make $part3a=trim($part3)
+ # 3. take the first character from $place3a and
+ # check if it is in $what_we_call_point
+ # 4. if answer from 3 is YES:
+ #
+ #
+
+ if($optionsREPLACE_POINT)
+ { $line = ifmovepoint($this,$line) };
+
+ $line =~ s/ $this/$that/; $line =~ s/$this/$that/;
+ };
+
+
+ for(my $i=0; $i<scalar(@qresults2); $i++)
+ { #print OUTTEX $qresults2[$i],"|";
+ my $this = "$refCITE$qguess2[$i]}";
+ $qresults2[$i] = &make_1234__1_4($qresults2[$i]) ;
+ my $that = sprintf("$refREF_FORMAT",$qresults2[$i]) ;
+
+ $line =~ s/ $this/$that/; $line =~ s/$this/$that/;
+ };
+
+ #now let us check, that $line has \n at the end. If it does not we have to add it
+# chomp($line); # just to be sure!!!
+# $line="$line\n";
+
+
+
+ #added 4 Oct 2001
+ #At this point we have to look if there is "so called point" at the beginning of the $line
+
+ my $first_character_in_this_line = substr($line,0,1);
+ if($first_character_in_this_line =~ /[$what_we_call_point]/)
+ { print OUTTEX $line; }
+ else
+ { print OUTTEX "\n$line";}
+ #end of added 4 Oct 2001
+
+ # before 4 Oct it was just: print OUTTEX $line;
+};
+#---------------------------------------------------
+sub make_1234__1_4
+{
+ my $line = @_[0];
+ #print $line;
+ my @LINE = trim(split(/$reservedSEPARATORINCITE/,$line));
+ if(scalar(@LINE) < 3){ return $line;};
+ # print " ",$LINE[0], $LINE[1], "\n" ;
+ $line = $LINE[0];
+ my $currentseparator= $reservedSEPARATORINCITE;
+ for(my $i=1; $i<scalar(@LINE); $i++)
+ {
+ if(($LINE[$i] != $LINE[$i-1]+1)||($i+1 == scalar(@LINE))||($LINE[$i] != $LINE[$i+1]-1))
+ { #$currentseparator= $reservedSEPARATORINCITE;
+ $line = "$line$currentseparator$LINE[$i]";$currentseparator= $reservedSEPARATORINCITE;
+ }
+ else
+ {$currentseparator= $reservedMULTISEPARATORINCITE}
+ };
+
+ return $line;
+};
+#---------------------------------------------------
+sub order_this_list
+{ #??? TO BE DONE!!!!!!!
+ #for(my $i=0; $i<scalar(@REFS); $i++){ print "$i ->>> $REFS[$i] --\n"};
+
+ unless($ORDERING eq '')
+ {
+ my $do_ordering=1;
+ while($do_ordering)
+ { $do_ordering=0;
+ for(my $i=1; $i<scalar(@REFS); $i++)
+ {
+ if(&keyfield($REFS[$i-1]) gt &keyfield($REFS[$i]) )
+ {($REFS[$i-1], $REFS[$i]) = ($REFS[$i], $REFS[$i-1]); $do_ordering =1 }
+ }
+ };
+ };
+
+ for(my $i=0; $i<scalar(@REFS); $i++){ $REFSORDERED{"$REFS[$i]"} = $i+1};
+ #foreach $item (keys %REFSORDERED){ print $item,"--->",$REFSORDERED{"$item"},"\n"}
+};
+
+sub keyfield
+{
+ my $a = @_[0];
+
+ foreach $item (@ALLREFS)
+ {
+ # print ${$item}{"LABEL"},"-->",${$item}{"VOL"},"\n";
+ if(${$item}{"$reservedLABEL"} eq $a) {return ${$item}{"$ORDERING"}}
+ };
+ return '';
+};
+#---------------------------------------------------
+sub trim {
+ my @out = @_;
+ for (@out) {
+ s/^\s+//;
+ s/\s+$//;
+ }
+ return wantarray ? @out : $out[0];
+}
+#########################################################
+
+
+sub read_inline_arguments
+{my $DD='--'; my $D='-';
+ my $counter=0; my $current='';
+ my $guess;
+
+for($counter=0;$counter<scalar(@ARGV);$counter++)
+{
+ #print "$item \n";
+ $current = $ARGV[$counter];
+
+#------------------------------------------------------------
+ #first check if it has '--' at the beginning
+ ($guess) = ($current =~/$DD([^ ]*)/);
+ if(($guess ne '')&&(substr($current,0,2) eq $DD))
+ {
+ my $nothing=0;
+ SWITCH: {
+ if ($guess eq "help") {&print_help_info; exit(0);}
+ if ($guess eq "version"){&print_version_info; exit(0);}
+
+ #options
+ if ($guess eq "nobibitem")
+ { $optionsKEEP_BIBITEM_AND_CITE=0; last SWITCH; }
+ if ($guess eq "not_insert_empty_field_sign")
+ { $optionsINSERT_EMPTY_FIELDS_SIGN=0 ; last SWITCH; }
+ if ($guess eq "uselist")
+ { $optionsREFS_AS_TEX_LIST=1 ; last SWITCH; }
+ if ($guess eq "movepoint")
+ { $optionsREPLACE_POINT=1 ; last SWITCH; }
+
+
+ #reserved words
+ if ($guess eq 'separator')
+ { $counter++; $SEPARATOR=$ARGV[$counter]; last SWITCH; }
+ if ($guess eq 'start_refs')
+ { my $itis=1; my $whatis='';
+ $#STARTREFS=-1;
+ while($itis)
+ {
+ $counter++;
+ unless($counter < scalar(@ARGV)-1){$counter--;last SWITCH;}
+ $whatis = $ARGV[$counter];
+ if((substr($whatis,0,2) eq $DD)||(substr($whatis,0,1) eq $D))
+ {$counter--; $itis=0;}
+ else{$STARTREFS[$itis-1] = $whatis; $itis++};
+ };
+ if(scalar(@STARTREFS)<1){print STDERR "Invalid format of --start_refs option";}
+ last SWITCH;
+ }
+ if ($guess eq 'end_refs')
+ { my $itis=1; my $whatis='';
+ $#ENDREFS=-1;
+ while($itis)
+ {
+ $counter++;
+ unless($counter < scalar(@ARGV)-1){$counter--;last SWITCH;}
+ $whatis = $ARGV[$counter];
+ if((substr($whatis,0,2) eq $DD)||(substr($whatis,0,1) eq $D))
+ {$counter--; $itis=0;}
+ else{$ENDREFS[$itis-1] = $whatis; $itis++};
+ };
+ if(scalar(@ENDREFS)<1){print STDERR "Invalid format of --end_refs option";}
+ last SWITCH;
+ }
+ if ($guess eq 'etal')
+ { $counter++; $reservedET_AL=$ARGV[$counter]; last SWITCH; }
+ if ($guess eq 'empty_field_sign')
+ { $counter++; $reservedEMTY_FIELD_SIGN=$ARGV[$counter]; last SWITCH; }
+ $nothing = 1;
+ };
+ if($nothing){print STDERR "Unknown option <$current>!!! Exiting!\n"; exit(1);}
+ else{next};
+ };
+ #-------------------------------------------------------------------
+ #second: check if it has '-' at the beginning
+ ($guess) = ($current =~/$D([^ ]*)/);
+ if(($guess ne '')&&(substr($current,0,1) eq $D))
+ {
+ my $nothing=0;
+ SWITCH: {
+ #options
+ if ($guess eq "h")
+ { &print_help_info; exit(0)}
+ if ($guess eq "o")
+ { $counter++; $OUT_TEX=$ARGV[$counter]; last SWITCH; }
+ if ($guess eq "f")
+ { $counter++; $FORMAT_NAME=$ARGV[$counter]; last SWITCH; }
+ if ($guess eq "d")
+ { my $itis=1; my $whatis='';
+ while($itis)
+ {
+ $counter++;
+ unless($counter < scalar(@ARGV)-1){$counter--;last SWITCH;}
+ $whatis = $ARGV[$counter];
+ if((substr($whatis,0,2) eq $DD)||(substr($whatis,0,1) eq $D))
+ {$counter--; $itis=0;}
+ else{$REFS_FILES[$itis-1] = $whatis; $itis++};
+ };
+ if(scalar(@REFS_FILES)<1){print STDERR "Invalid format of -d option";}
+ last SWITCH;
+ }
+ if ($guess eq "a")
+ { $counter++; $ABBR_NAME=$ARGV[$counter]; $optionsABBREVIATIONS=1; last SWITCH; }
+
+
+
+ if ($guess eq "v")
+ { $counter++; $verbosity_level=$ARGV[$counter]; last SWITCH; }
+ #reserved words
+ #if ($guess eq 'etal')
+ # { $counter++; $reservedET_AL=$ARGV[$counter]; last SWITCH; }
+ $nothing = 1;
+ };
+ if($nothing){print "Unknown option <$current>!!! Exiting!\n"; exit(1);}
+ else{next};
+ };
+ #---------------------------------------------------------------------
+ #so, this is not switch
+ if($counter+1 != scalar(@ARGV))
+ {print STDERR "Unknown option <$current>!!! Exiting!\n"; exit(1);}
+ else{$TEX_NAME = $current;}
+}
+
+};
+
+#----------------------------------
+sub check_for_important_arguments
+{
+ if($TEX_NAME eq ''){print STDERR "No input file!!! Exiting!\n"; exit(1);};
+ if($OUT_TEX eq ''){$OUT_TEX = "biblio.$TEX_NAME"};
+ if(scalar(@REFS_FILES) == 0)
+ {print STDERR "You must select at least one refs dbase file with -d option!!!";
+ print STDERR "Exiting!\n";
+ exit(1)
+ };
+ if(scalar(@STARTREFS) == 0)
+ {print STDERR "You must select where I should start the bibliography (--start_refs)!!!";
+ print STDERR "Exiting!\n";
+ exit(1)
+ };
+ if(scalar(@ENDREFS) == 0)
+ {print STDERR "You must select where I should end the bibliography (--end_refs)!!!";
+ print STDERR "Exiting!\n";
+ exit(1)
+ };
+ if($FORMAT_NAME eq ''){$FORMAT_NAME = $TEX_NAME};
+};
+#-----------------------------------
+sub print_version_info
+{
+print "biblio v.$BIBLIO_VERSION \n";
+print "Written by R.Stepanyan.\n\n";
+print "This is free software. There is NO warranty! \n";
+print "Redistribution of this software is covered by the terms of";
+print "the GNU General Public License.\n";
+print "For more information, please, contact rstepanyan\@yahoo.com\n";
+};
+#-----------------------------------
+sub print_help_info
+{
+print "biblio v.$BIBLIO_VERSION \n";
+print "biblio [-o outfile] [-f formatfile] -d dbasefile(s) [other keys] filename.tex\n";
+print "\n";
+print "-v <number> - verbosity level (0-5)\n";
+print "-h (--help) - this help\n";
+print "--nobibitem, --uselist - see readme.1st file\n";
+print "--version - version information\n";
+print "\n";
+print "About the other parameters see readme.1st \n";
+print "\n";
+#print "\n";
+};
+
+
+##################################################################
+
+sub ifmovepoint
+# needs $this $line as arguments
+# returns $line with changed order of \cite and [.,;etc]
+{ my @allargs = @_;
+ my $this = $allargs[0];
+ my $line = $allargs[1];
+ #
+ # let's do N 1 from our plan
+ #
+ my $part1; my $part2; my $part3;
+ ($part1, $part3) = split(/$this/, $line);
+ $part2 = $this;
+ #print "$line\n";
+ #print "|1:$part1|2:$part2|3:$part3|end\n\n";
+ #
+ # let's do N 2 from our plan
+ #
+ my $part3a = trim($part3);
+ if($part3a ne '')
+ {
+ #
+ # let's do N 3 from our plan
+ #
+ my $first_in_part3 = substr($part3a,0,1);
+ #
+ # let's do N 4 from our plan
+ #
+
+ if($first_in_part3 =~ /[$what_we_call_point]/)
+ # $first_in_part3 includes only characters from $what_we_call_poin
+ {
+ $line = trim($part1) . $first_in_part3 . substr($this,1) ." " . substr($part3a,1);
+ };
+ };
+ return $line;
+}
+
+########################################################################
+sub insert_abbreviations_of_journals # $OUTTEX must be opened already
+{ my $aline='';
+ if($optionsABBREVIATIONS==1)
+ { open(ABBR,"$ABBR_NAME");
+
+ print OUTTEX "\n";
+
+ while(<ABBR>)
+ { $aline = $_;
+ print OUTTEX "$aline"
+ }
+ close(ABBR);
+
+ print OUTTEX "\n";
+ return 0;
+ }
+ else
+ { return 0;
+ }
+};
diff --git a/support/biblio/biblist b/support/biblio/biblist
new file mode 100755
index 0000000000..21a4253ba6
--- /dev/null
+++ b/support/biblio/biblist
@@ -0,0 +1,13 @@
+VLEVEL="1" #verbosity level
+
+REFS="refers.db"
+FORMATS="formats/formats.biblist"
+REFSTEX="references.tex"
+ABBR="formats/abbr.tex"
+
+echo ----------------------------
+echo Outpit goes to "$REFSTEX"
+echo ----------------------------
+biblist.pl -f $FORMATS -a $ABBR -d $REFS -o $REFSTEX
+latex $REFSTEX
+pdflatex $REFSTEX \ No newline at end of file
diff --git a/support/biblio/biblist.pl b/support/biblio/biblist.pl
new file mode 100755
index 0000000000..6af7495de5
--- /dev/null
+++ b/support/biblio/biblist.pl
@@ -0,0 +1,896 @@
+#!/usr/bin/perl
+use strict;
+
+my $BIBLIST_VERSION = '1.2';
+
+my @REFS_FILES = ('refers.db');
+
+my @REFS;
+$REFS[0]='';
+
+my @ALLREFS;
+my %REFSORDERED;
+my %ALLFORMATSTRINGS;
+my $CITE_FORMAT;my $REF_FORMAT;
+
+my $ORDERING=''; #must contain key-field, like AUTHORL, or TITLE
+
+my $reservedLABEL='LABEL';
+my $reservedTYPE ='TYPE' ;
+my $reservedURL='URL';
+
+
+my $reservedAUTHOR ='AUTHOR'; #must be in the form '5;' - 5=five authors must be shown.
+ # ';'=1st author from the 2nd should be separated by ';'
+my $reservedAND_SEPARATOR='|'; #what have to be put before the last author goes after this!!!
+my $reservedET_AL='{ \it{et al}}'; #if number of authors more than shown will be added after the last one.
+
+
+my $reservedDOLLAR = '$';
+my $reservedARRAYSEP = '|';
+my $reservedCOMMENTSYMBOL = '%';
+my $SEPARATOR = "----------\n";
+
+my $reservedHASH_KEY = 'HASH_KEY_';
+my $reservedEMTY_FIELD_SIGN = '???'; #will be written instead of emty fields
+my $reservedNONUMBER = 'NONUMBER'; # if NONUMBER is given in the ref_format or cite_format, then no number will be put in the output.
+ # for example
+ # Normally: [4] Author, F.M. Interesting Articles' Journal
+ # NONUMBER Author, ....
+#--------------------------------------
+my $BIBITEM = '%'."\n".'\item'."\n".'% {';
+
+my $reservedBEGINBIBLIO='begin{biblio}'; #options for biblio starts like this
+my $reservedENDBIBLIO ='end{biblio}'; #and end like this!
+my $reservedLEFTSTART ='['; #TYPE[FORMAT_STRING]
+my $reservedRIGHTEND =']'; #so, example:
+ # ARTICLE[$AUTHOR0FL, M; $/ {\bf $YEAR$}, $VOL$]
+my $reservedCITE_FORMAT='cite_format='; #must be in the form cite_format=^{%s}
+my $reservedREF_FORMAT ='ref_format='; # the same
+my $reservedORDERING ='ordering='; #must be in the form ordering=AUTHORL. If no this field is given, then "asis" implied
+my $reservedS_STRING ='%s';
+my $reservedS_STRING1 ='\%s';
+my $reservedSTANDARD_CITE_FORMAT = "[$reservedS_STRING]"; # default values
+my $reservedSTANDARD_REF_FORMAT = "[$reservedS_STRING]"; # for references formats
+
+my %HASH_REFS; #CHANGE IT LATER!!!
+
+my $verbosity_level=1; # 5 is max
+my $optionsINSERT_EMPTY_FIELDS_SIGN = 1;
+my $optionsKEEP_BIBITEM_AND_CITE = 1;
+my $optionsHTML_OUTPUT = 0;
+
+my $optionsABBREVIATIONS =0; # use abbreviations tex-file
+
+my $httpprefix='';
+
+my $OUT_TEX =''; #'allrefs.tex';
+my $FORMAT_NAME ='';#'macromolecules';#$TEX_NAME; # file where all rules are!
+my $ABBR_NAME = 'abbr.tex'; #abbreviations file
+
+##############################################3
+
+
+&read_inline_arguments;
+&check_for_important_arguments;
+
+if ($verbosity_level > 0)
+{print "\nThis is biblist utility version $BIBLIST_VERSION\n";
+ print 'Author R.Stepanyan <rstepanyan@yahoo.com>',"\n\n"};
+print "output file is <$OUT_TEX>;\n";
+print "formats are in <$FORMAT_NAME>;\n";
+print 'refs databases are <';
+foreach my $qq (@REFS_FILES) {print "$qq "};
+print ">.\n\n";
+
+my $REFS_FILE;
+foreach $REFS_FILE (@REFS_FILES)
+{
+ &make_list_of_refs_in_dbase($REFS_FILE); #makes list of all refs in @REFS
+ if($verbosity_level > 4)
+ {print "read_ref_datafile <$REFS_FILE> first time: done...\n";}
+};
+
+
+my $i=0;
+for($i=0; $i<scalar(@REFS); $i++)
+{
+ $REFS[$i] = $REFS[$i+1];
+};
+$#REFS--; #now $REFS[0] is also used!!!!
+
+&read_formats_and_speak_to_me;
+
+
+foreach $REFS_FILE (@REFS_FILES)
+{ #print $REFS_FILE, "-------\n";
+ &read_ref_datafile($REFS_FILE); # all data will be stored in @ALLREFS - array of hashes
+ if($verbosity_level > 4)
+ {print "read_ref_datafile <$REFS_FILE> done...\n";}
+};
+if($verbosity_level > 4){print "\n";}
+
+&order_this_list;
+if($verbosity_level > 4)
+ {print "ordering of refs is done...\n";}
+
+
+if($optionsHTML_OUTPUT)
+{
+ open(OUTTEX, "> $OUT_TEX");
+ print OUTTEX '<html>',"\n";
+ print OUTTEX '<head>',"\n";
+ print OUTTEX ' <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">',"\n";
+ print OUTTEX ' <meta NAME="Generator" CONTENT="biblist.pl">',"\n";
+ print OUTTEX ' <title>The bibliography list</title>',"\n";
+ print OUTTEX '</head>',"\n";
+ print OUTTEX '',"\n";
+ &insert_abbreviations_of_journals;
+ print OUTTEX '<dl compact><dd>',"\n";
+ &print_all_references_into_tex_in_html_format;
+ print OUTTEX '</dl>',"\n";
+ print OUTTEX '',"\n";
+ print OUTTEX '',"\n";
+ print OUTTEX '',"\n";
+ print OUTTEX '',"\n";
+ print OUTTEX '',"\n";
+ print OUTTEX '',"\n";
+ print OUTTEX '</html>',"\n";
+ close(OUTTEX);
+
+}
+else
+{
+ open(OUTTEX, "> $OUT_TEX");
+
+ print OUTTEX '\documentstyle[12pt,a4]{article}',"\n";
+ #print OUTTEX '\documentstyle[aps,manuscript]{revtex}',"\n";
+ print OUTTEX '\title{List of references \\\ Generated by "biblist.pl"}',"\n";
+ print OUTTEX '\date{\today}',"\n";
+ print OUTTEX '\begin{document}\maketitle',"\n";
+
+ &insert_abbreviations_of_journals;
+
+ print OUTTEX 'This list of references is generated from the following data-files:\newline',"\n",'\begin{center}{\it{';
+ for(my $RI=0; $RI<scalar(@REFS_FILES);$RI++)
+ { if($RI+1<scalar(@REFS_FILES)){print OUTTEX "$REFS_FILES[$RI], "}
+ else {print OUTTEX "$REFS_FILES[$RI]"};
+ };
+ print OUTTEX '}}\end{center}',"\n";
+ #print OUTTEX '\begin{thebibliography}',"\n";
+ print OUTTEX '\newcounter{bibliocounterrr}';
+ print OUTTEX '\begin{list}';
+ print OUTTEX '{\bfseries\upshape', '\arabic{bibliocounterrr}}';
+ print OUTTEX '{\usecounter{bibliocounterrr}',"\n";
+ print OUTTEX '\setlength{\labelwidth}{1cm}\setlength{\leftmargin}{0cm}',"\n";
+ print OUTTEX '\setlength{\labelsep}{0.5cm}\setlength{\rightmargin}{0cm}',"\n";
+ print OUTTEX '\setlength{\parsep}{0.5ex plus0.2ex minus0.1ex}',"\n";
+ print OUTTEX '\setlength{\itemsep}{1ex plus0.2ex}',"\n";
+ print OUTTEX '%\slshape',"\n";
+ print OUTTEX '}',"\n";
+ &print_all_references_into_tex_in_bibitem_format;
+ print OUTTEX '\end{list}',"\n";
+ #print OUTTEX '\end{thebibliography}',"\n";
+
+ print OUTTEX '\end{document}';
+ close(OUTTEX);
+}
+
+
+exit(0);
+
+
+
+
+
+
+
+
+################################################
+sub print_all_references_into_tex_in_html_format
+{ my ($item1, $item); my $thecounter=1;
+ #print OUTTEX '%Generated by biblio',"\n";
+ for(my $i=0;$i<scalar(@REFS);$i++)
+ {$item = @REFS[$i];
+ foreach $item1 (@ALLREFS) #loop 1
+ {if($item eq ${$item1}{"$reservedLABEL"})
+ { my $thetype=uc(${$item1}{"$reservedTYPE"}); # IN THE UPPER CASE!
+ if($ALLFORMATSTRINGS{"$thetype"} eq '')
+ { print OUTTEX '<dt> <a name="',${$item1}{"$reservedLABEL"} ,'">',$thecounter,'</a></dt>',"\n";
+ $thecounter++;
+ print OUTTEX "No format string for TYPE \"$thetype\". Skipping record \"$item\"!\n";
+ print STDERR "No format string for TYPE <$thetype>. Skipping record <$item>!\n";
+ last;
+ };
+
+
+ print OUTTEX "\n",'<dt> <a name="',${$item1}{"$reservedLABEL"} ,'">',$thecounter,'</a></dt>',"\n";
+ $thecounter++;
+ #print $thetype,"-->",$ALLFORMATSTRINGS{"$thetype"}, "\n";
+
+ print OUTTEX '<dd> ';
+ &formated_output($ALLFORMATSTRINGS{"$thetype"},%{$item1}); #CHANGE $FORMAT_STRING1 HERE!!!
+ if(${$item1}{"$reservedURL"} ne '')
+ {
+ print OUTTEX '<br><a href="';
+ my $theurl=${$item1}{"$reservedURL"};
+ if($theurl =~ m/http:\/\//)
+ {print OUTTEX $theurl,'">';}
+ else{print OUTTEX $httpprefix,$theurl,'">';}
+ print OUTTEX ${$item1}{"$reservedURL"};
+ print OUTTEX '</a>';
+ };
+ print OUTTEX '<br> &nbsp; </dd>',"\n";
+ #next;
+
+ last; #this is last for loop 1
+ }
+ };
+
+ };
+ #print OUTTEX '%',"\n",'%End of Generated by biblio',"\n";
+
+}
+#-----------------------------------------------------------
+sub print_all_references_into_tex_in_bibitem_format
+{ my ($item1, $item);
+ print OUTTEX '%Generated by biblio',"\n";
+ for(my $i=0;$i<scalar(@REFS);$i++)
+ {$item = @REFS[$i];
+ foreach $item1 (@ALLREFS) #loop 1
+ {if($item eq ${$item1}{"$reservedLABEL"})
+ { my $thetype=uc(${$item1}{"$reservedTYPE"}); # IN THE UPPER CASE!
+ if($ALLFORMATSTRINGS{"$thetype"} eq '')
+ { print OUTTEX $BIBITEM,$item,'}',"\n";
+ print OUTTEX "No format string for TYPE \"$thetype\". Skipping record \"$item\"!\n";
+ print STDERR "No format string for TYPE <$thetype>. Skipping record <$item>!\n";
+ last;
+ };
+
+ print OUTTEX $BIBITEM,$item,'}',"\n"; #,$CITE_FORMAT;
+
+ #print $thetype,"-->",$ALLFORMATSTRINGS{"$thetype"}, "\n";
+
+ &formated_output($ALLFORMATSTRINGS{"$thetype"},%{$item1}); #CHANGE $FORMAT_STRING1 HERE!!!
+ print OUTTEX "\n";
+ #next;
+
+ last; #this is last for loop 1
+ }
+ };
+
+ };
+ print OUTTEX '%',"\n",'%End of Generated by biblio',"\n";
+
+}
+#-----------------------------------------------------------
+sub order_this_list
+{ #??? TO BE DONE!!!!!!!
+ #for(my $i=0; $i<scalar(@REFS); $i++){ print "$i ->>> $REFS[$i] --\n"};
+
+ unless($ORDERING eq '')
+ {
+ my $do_ordering=1;
+ while($do_ordering)
+ { $do_ordering=0;
+ for(my $i=1; $i<scalar(@REFS); $i++)
+ {
+ if(&keyfield($REFS[$i-1]) gt &keyfield($REFS[$i]) )
+ {($REFS[$i-1], $REFS[$i]) = ($REFS[$i], $REFS[$i-1]); $do_ordering =1 }
+ }
+ };
+ };
+
+ for(my $i=0; $i<scalar(@REFS); $i++){ $REFSORDERED{"$REFS[$i]"} = $i+1};
+ #foreach $item (keys %REFSORDERED){ print $item,"--->",$REFSORDERED{"$item"},"\n"}
+};
+
+sub keyfield
+{
+ my $a = @_[0];
+
+ foreach my $item (@ALLREFS)
+ {
+ # print ${$item}{"LABEL"},"-->",${$item}{"VOL"},"\n";
+ if(${$item}{"$reservedLABEL"} eq $a) {return uc(${$item}{"$ORDERING"})}
+ };
+ return '';
+};
+#---------------------------------------------------
+sub read_ref_datafile
+#________________________________________________
+#reads references file. Data stored in @ALLREFS
+#structure of the refs-file:
+#LABEL=3dFlex
+#TYPE=article
+#AUTHORL=subbotin
+#TITLE={Microphase separation within comb-like copolymer with attractive side-chains: computer simulations1.}
+#JOURNAL= Macromol. Theory and Simul1.
+#----------<10pieces>
+#
+#At the end should be Enter, so better to put EOF after it in the
+#next line
+#
+{ my $current_ref_number=0; my $line;
+ my @fields; my %CURRENT_RECORD;
+
+ my $it_is_label=1; my $save_current_field=0;
+
+ my $item;
+ my $REFS_FILE = @_[0];
+
+ open(RF, $REFS_FILE)|| die "Could not open $REFS_FILE: $!";
+ while($line = <RF>)
+ { next if $line =~ /^\s*$/; # skip blank lines
+ next if (substr(trim($line),0,1) eq $reservedCOMMENTSYMBOL);
+ if($line ne $SEPARATOR)
+ {
+ $line=trim($line);
+ @fields = split(/=/, $line);
+
+ @fields = trim(@fields);
+
+ if($fields[0] eq $reservedLABEL)
+ {
+ foreach $item (@REFS)
+ { if($item eq $fields[1]) #this label is in REFS
+ { $save_current_field = 1 }
+ }
+ };
+
+ if($save_current_field)
+ { if($fields[0] eq $reservedLABEL){$CURRENT_RECORD{$fields[0]} = $fields[1]; }
+ else
+ {
+ if($CURRENT_RECORD{$fields[0]} ne '')
+ {
+ $fields[1]=trim($fields[1]);
+ $CURRENT_RECORD{$fields[0]}="$CURRENT_RECORD{$fields[0]}$reservedARRAYSEP$fields[1]" ;
+ }
+ else
+ {$CURRENT_RECORD{$fields[0]} = trim($fields[1]); }
+ };
+ #MUST change it to read fields with many '=' in the body text!!!
+ #print "$fields[0] == $CURRENT_RECORD{$fields[0]}\n";
+ }
+ }
+ else
+ {
+ if($save_current_field)
+ { %{$ALLREFS[$current_ref_number]} = %CURRENT_RECORD;
+ # Now erase everything from the hash!!!
+ my @allkeysfromhash = keys %CURRENT_RECORD;
+ foreach $item (@allkeysfromhash){delete($CURRENT_RECORD{$item})};
+
+ $current_ref_number++; #print "-------\n";
+ };
+ $save_current_field = 0;
+ };
+ };
+ close(RF);
+};
+
+#----------------------------------------------------------
+sub read_formats_and_speak_to_me
+#calls read_format_string and also produces output about results
+{
+&read_format_strings;
+if($verbosity_level > 3)
+{print "\nread_format_strings from <$FORMAT_NAME> done...\n\n";
+ printf("%16s | %s\n","TYPE","FORMAT STRING");
+ printf("%15s--+-%s\n","---------------","---------------------------------------------------");
+ foreach my $key (keys %ALLFORMATSTRINGS)
+ { printf("%16s | %s\n",$key,$ALLFORMATSTRINGS{$key})};
+ for(my $i=0;$i<70;$i++){print "-";};print "\n";
+};
+if($CITE_FORMAT eq '')
+{ print STDERR "Citation format not found or wrong in <$FORMAT_NAME>. Assuming default!\n";
+ $CITE_FORMAT = $reservedSTANDARD_CITE_FORMAT
+};
+if(uc($CITE_FORMAT) eq $reservedNONUMBER){$CITE_FORMAT='';}; #????????
+if($REF_FORMAT eq '')
+{ print STDERR "Citation reference format not found or wrong in <$FORMAT_NAME>. Assuming default!\n";
+ $REF_FORMAT = $reservedSTANDARD_REF_FORMAT
+};
+
+#print "$CITE_FORMAT $REF_FORMAT \n";
+if($verbosity_level > 0)
+ { print "\n!!! Citation format:$CITE_FORMAT. Reference format=$REF_FORMAT.\n Ordering:";
+ if($ORDERING eq ''){print "as is\n\n"}else {print " key field is <$ORDERING>\n\n"}
+ };
+
+}
+
+#----------------------------
+sub read_format_strings
+# this function reads formats for references from file $FORMAT_NAME
+# this can be just header in the decument (tex-file) or separate file!
+{my $line='';
+ my $start_interpreting=0; # 0 - not started yet
+ # 1 - interpreting
+
+ my @justarray;
+
+ if($verbosity_level > 3){print "Format strings are in <$FORMAT_NAME>\n\n"}
+
+ open(FRM, "$FORMAT_NAME") || die "Could not open $FORMAT_NAME: $!";
+ while(<FRM>)
+ { my $hash_key=''; my $hash_value='';
+ $line = $_; #print $line;
+ $line = trim($line);
+ next if $line =~ /^\s*$/; # skip blank lines
+ next if (substr(trim($line),0,1) ne $reservedCOMMENTSYMBOL);
+ #skip lines, starting NOT from %
+ next if (substr(trim($line),0,2) eq "$reservedCOMMENTSYMBOL$reservedCOMMENTSYMBOL");
+ $line = substr(trim($line),1);
+ $line=trim($line);
+ next if $line =~ /^\s*$/;
+ if($line eq $reservedBEGINBIBLIO){$start_interpreting=1;next;};
+ if($line eq $reservedENDBIBLIO){ close(FRM); return;};
+
+
+ if(not $start_interpreting){next;};
+
+ #OK, now no shit in this line!
+ if($verbosity_level > 4){print $line," is read from <$FORMAT_NAME>\n";};
+ @justarray=split(//,$line);
+
+ #try to find if this is "cite_format" or "ref_format"
+ my $format='';
+ ($format) = ($line =~ /$reservedCITE_FORMAT([^,\n]*)/);
+ if($format ne '')
+ {if(($format =~ m/$reservedS_STRING1/)||($format =~/$reservedNONUMBER/))
+ { $CITE_FORMAT = $format;
+ if($verbosity_level > 4){print "Citation format=$format\n\n";}
+ next;
+ }
+ else
+ {print STDERR "Unknown citation format \"$format\". Assuming standard=",
+ "$reservedSTANDARD_CITE_FORMAT\n";
+ $CITE_FORMAT = $reservedSTANDARD_CITE_FORMAT ; next;
+ }
+ } ;
+ # now try to find "ref_format"
+ ($format) = ($line =~ /$reservedREF_FORMAT([^,\n]*)/);
+ if($format ne '')
+ {if($format =~ m/$reservedS_STRING1/)
+ { $REF_FORMAT = $format;
+ if($verbosity_level > 4){print "Citation reference format=$format\n\n";};
+ next;
+ }
+ else
+ {print STDERR "Unknown reference format \"$format\". Assuming standard: ",
+ "$reservedSTANDARD_REF_FORMAT\n";
+ $REF_FORMAT = $reservedSTANDARD_REF_FORMAT ; next;
+ }
+ }
+ ($format) = ($line =~ /$reservedORDERING([^,\n]*)/);
+ if($format ne '')
+ {$ORDERING = trim($format);
+ if($verbosity_level > 4){print "Key field for refs ordering=$ORDERING\n\n";};
+ next;
+ } ;
+
+ my $this_is_key=1;
+
+ my $narray=scalar(@justarray);
+ for(my $i=0;$i< $narray-1; $i++)
+ {
+ if(($this_is_key)&&($justarray[$i] eq $reservedLEFTSTART))
+ {$this_is_key = 0; next;};
+ if($this_is_key)
+ {$hash_key ="$hash_key$justarray[$i]";}
+ else
+ {$hash_value = "$hash_value$justarray[$i]"}
+ };
+ if($justarray[$narray-1] ne $reservedRIGHTEND)
+ {
+ print STDERR "Format string \"$line\" must end with \"$reservedRIGHTEND\"!\n";
+ print STDERR "This is fatal error. Exiting...";
+ exit(1);
+ };
+ $hash_key=trim($hash_key);
+ #now analize $hash_key. It must be puur symbolic!
+ unless($hash_key=~ /^[A-Za-z0-9]+$/)
+ {print STDERR "Key field \"$hash_key\" in \"$line\" must include only A-Z,a-z,0-9\n";
+ print STDERR "This is fatal error. Exiting...";
+ exit(1);
+ };
+
+ my $hash_key1=uc($hash_key);
+
+ if (($hash_key1 ne $hash_key)&&($verbosity_level>2))
+ {print " WARNING!!! Key field\n \"$hash_key\" in \"$line\"\n converted to uppercase!!!\n"};
+ $ALLFORMATSTRINGS{$hash_key1} = $hash_value;
+
+ };
+ close(FRM);
+
+
+};
+#--------------------------------------
+sub make_list_of_refs_in_dbase
+
+#
+{ my $current_ref_number=0; my $line;
+ my @fields; my %CURRENT_RECORD;
+
+ my $it_is_label=1; my $save_current_field=0;
+
+ my $item;
+ my $REFS_FILE = @_[0];
+
+ open(RF, $REFS_FILE)|| die "Could not open $REFS_FILE: $!";
+ while($line = <RF>)
+ { next if $line =~ /^\s*$/; # skip blank lines
+ next if (substr(trim($line),0,1) eq $reservedCOMMENTSYMBOL);
+ if($line ne $SEPARATOR)
+ {
+ $line=trim($line);
+ @fields = split(/=/, $line);
+
+ @fields = trim(@fields);
+
+ if($fields[0] eq $reservedLABEL)
+ {
+ my $REFS_N = scalar(@REFS);
+ if(scalar(@fields)>2)
+ { for(my $i=2;$i<scalar(@fields);$i++)
+ {$fields[1] = "$fields[1].$fields[$i]"}
+ };
+ $REFS[$REFS_N] = $fields[1];
+ };
+ };
+ };
+ close(RF);
+};
+
+#------------------------------------------------------------
+
+sub formated_output
+# takes format string in the form
+# $FORMAT_STRING ='$AUTHOR5F L;$ {\bf $YEAR$}, $VOL$ - $NUMBER$' ;
+# and hash
+# of the type
+# my %HASH_REFS= ('AUTHOR' => 'Stepanyan',
+# 'YEAR' => '2000',
+# 'VOL' => '12',
+# 'RT' => 'qq');
+# of course fields in hash can be any.
+# Then makes output of the hash into stdout
+# according to the format string.
+# File with file handle OUTTEX must be opened for writing!!!!
+{
+my @in_arguments = @_; #take all arguments of this function
+
+my $FORMAT_STRING=$in_arguments[0]; # the first MUST be the format string
+
+my %HASH_REFS; #all the rest of arguments
+ #must be put into this hash
+
+my $i; #next lines make hash from array
+for($i=1;$i<scalar(@in_arguments)-1;$i=$i+2)
+{ $HASH_REFS{$in_arguments[$i]} = $in_arguments[$i+1]
+};
+
+
+my @format_char_array; # all chars from the format string
+my @format_array; # if format_string='$AUTHOR$ {\bf 2}'
+ # then format array will be
+ # ('HASH_KEY_AUTHOR',' {\bf 2}')
+
+@format_char_array = split(//, $FORMAT_STRING);
+
+my $start_flag = 0; # when I see $ I do $start_flag=1
+ # when I see it again I do =0
+ # I do it to cath al $xxxx$ things!
+
+my $counter=0; # just counter for the @format_array
+
+
+my $char;
+
+###print "-----\n";
+foreach $char (@format_char_array)
+{
+ ###print "$char\n";
+ if($char ne $reservedDOLLAR) # if it is NOT '$'
+ { # add this char and don't bother yourself with it!
+ $format_array[$counter] = $format_array[$counter] . $char;
+ }
+ else # oooh, this is '$'
+ {
+ if($start_flag == 0){$start_flag = 1} #if it is start of command
+ else{$start_flag = 0}; #if it is end of command
+ $counter++;
+ if($start_flag == 1) #if this will be command
+ #add HASH_KEY before the name of it!
+ {$format_array[$counter] = $reservedHASH_KEY;};
+
+ }
+};
+###print "-----\n";
+###foreach $char (@format_array)
+###{ print "|$char|\n"};
+
+my $char1; my $post_author='';
+
+my @author_fields;
+my $last_sep=''; # 'R.R.Stepanyan',$last_sep,'A.A.Subbotin' - example
+my @author_name_key; my @author_seps;
+
+foreach $char (@format_array)
+{ ($char1) = ( $char =~ /$reservedHASH_KEY([^}]*)/ );
+ # $char1=trim($char1);
+ #$char=trim($char);
+ $#author_fields = -1;
+ if($char1 ne '')
+ { if((not($char1 =~ m/$reservedAUTHOR/))&&($HASH_REFS{$char1} eq '')) #this is not author
+ # and this field is empty
+ { if($optionsINSERT_EMPTY_FIELDS_SIGN)
+ {print OUTTEX $reservedEMTY_FIELD_SIGN}; #OUTTEX is opened!
+ if($verbosity_level > 1) #complain about absence of field
+ {print STDERR "Field <$char1> in the record <$HASH_REFS{$reservedLABEL}> is empty!\n"};
+ }
+ elsif($char1 =~ m/$reservedAUTHOR/)
+ { ($post_author) = ($char1 =~ /$reservedAUTHOR([^\$]*)/); # what if after AUTHOR ??
+ @author_fields=split(//,$post_author);
+
+ my $iaf=0; #number of names in one author (last, first, middle name = 3)
+ my $saf=0; #number of separators
+ my $start=0;
+ my $max_n_of_aut=0;#max num of authors to show. If 0 then unlimited! ??????????
+
+ my $and_word=''; #have to be before the last author if number of outhors>1
+
+ while($author_fields[$start] =~ /^[0-9]+$/)
+ {$max_n_of_aut="$max_n_of_aut$author_fields[$start]";
+ $start++;
+ };
+
+ my $niaf;
+ $niaf=scalar(@author_fields);
+ $#author_name_key = -1; $#author_seps = -1; #to make them clean!
+
+ for(my $ii=$start; $ii<$niaf; $ii++)
+ {
+ if($author_fields[$ii] =~/^[A-Za-z]+$/)
+ {$author_name_key[$iaf] = "$reservedAUTHOR$author_fields[$ii]"; $iaf++; $saf++;}
+ elsif($author_fields[$ii] ne $reservedAND_SEPARATOR)
+ {$author_seps[$saf] = "$author_seps[$saf]$author_fields[$ii]"}
+ else{$and_word = substr($post_author,$ii+1);
+ $ii=$niaf+1; #to finish the loop
+ }
+ };
+
+ $last_sep=$author_seps[$saf];
+
+ #Thus we have
+ # @author_name_key - array of the type (AUTHORL, AUTHORF, AUTHORM)
+ # @author_seps - $author_seps[1] is what should be placed after AUTHORF, 0-th - after AUTHORL
+ # $last_sep - should be placed after the complete name of one person!
+
+ #print $HASH_REFS{'AUTHORL'} ;
+ my $n_of_aut=0 ; my $schet=0; my @avtor;
+ #HOW MANY AUTHOR WE HAVE??? We should find MAXIMUM!!
+
+ while($schet < scalar(@author_name_key) )
+ { @avtor = split(/\|/,$HASH_REFS{$author_name_key[$schet]}); #
+ if($n_of_aut < scalar(@avtor)){$n_of_aut = scalar(@avtor)}; #number of authors
+ $schet++;
+ };
+ # Now number of authors is in the $n_of_aut
+
+
+ my $print_etal = 0; #?????????????
+ if(($max_n_of_aut > 0)&&($max_n_of_aut < $n_of_aut)){$n_of_aut=$max_n_of_aut; $print_etal=1;}
+ # now number of authors to display is '$n_of_aut'!
+
+ my $jj; #counter for all names of one author!
+ my $max_jj = scalar(@author_name_key);
+
+ for(my $ii=0;$ii<$n_of_aut;$ii++) # $ii is number of aut to display
+ {
+ for($jj=0;$jj<$max_jj ;$jj++) # $jj is counter of name of the same person
+ {
+ #print OUTTEX $author_seps[$jj];
+ @avtor = split(/\|/,$HASH_REFS{$author_name_key[$jj]});
+ @avtor = trim(@avtor);
+ if($avtor[$ii] ne ''){print OUTTEX $author_seps[$jj];
+
+ print OUTTEX $avtor[$ii];};
+ };
+
+
+ if($ii<$n_of_aut-2){print OUTTEX $last_sep;}; #for all except the last
+ if($ii == $n_of_aut-2)
+ { if(($n_of_aut>2)||(trim($and_word) eq "")){print OUTTEX $last_sep};
+ if(($n_of_aut>1)&&($print_etal == 0)){print OUTTEX " $and_word ";}
+
+ };
+ };
+ #print $last_sep;
+ if($print_etal){print OUTTEX $reservedET_AL;}
+ }
+ else
+ {
+ print OUTTEX $HASH_REFS{$char1};
+ };
+
+
+ }
+ else{print OUTTEX $char};
+};
+#print "\n";
+};
+#---------------------------------------------------
+
+sub read_inline_arguments
+{my $DD='--'; my $D='-';
+ my $counter=0; my $current='';
+ my $guess;
+
+for($counter=0;$counter<scalar(@ARGV);$counter++)
+{
+ #print "$item \n";
+ $current = $ARGV[$counter];
+
+#------------------------------------------------------------
+ #first check if it has '--' at the beginning
+ ($guess) = ($current =~/$DD([^ ]*)/);
+ if(($guess ne '')&&(substr($current,0,2) eq $DD))
+ {
+ my $nothing=0;
+ SWITCH: {
+ if ($guess eq "help") {&print_help_info; exit(0);}
+ if ($guess eq "version"){&print_version_info; exit(0);}
+
+ #options
+ if ($guess eq "nobibitem")
+ { $optionsKEEP_BIBITEM_AND_CITE=0; last SWITCH; }
+ if ($guess eq "not_insert_empty_field_sign")
+ { $optionsINSERT_EMPTY_FIELDS_SIGN=0 ; last SWITCH; }
+
+ #reserved words
+ if ($guess eq 'separator')
+ { $counter++; $SEPARATOR=$ARGV[$counter]; last SWITCH; }
+
+ if ($guess eq 'etal')
+ { $counter++; $reservedET_AL=$ARGV[$counter]; last SWITCH; }
+ if ($guess eq 'empty_field_sign')
+ { $counter++; $reservedEMTY_FIELD_SIGN=$ARGV[$counter]; last SWITCH; }
+ if ($guess eq 'html')
+ { $optionsHTML_OUTPUT = 1; last SWITCH; }
+ if ($guess eq 'prefix')
+ { $counter++; $httpprefix=$ARGV[$counter]; last SWITCH; }
+
+ $nothing = 1;
+ };
+ if($nothing){print STDERR "Unknown option <$current>!!! Exiting!\n"; exit(1);}
+ else{next};
+ };
+ #-------------------------------------------------------------------
+ #second: check if it has '-' at the beginning
+ ($guess) = ($current =~/$D([^ ]*)/);
+ if(($guess ne '')&&(substr($current,0,1) eq $D))
+ {
+ my $nothing=0;
+ SWITCH: {
+ #options
+ if ($guess eq "h")
+ { &print_help_info; exit(0)}
+ if ($guess eq "o")
+ { $counter++; $OUT_TEX=$ARGV[$counter]; last SWITCH; }
+ if ($guess eq "f")
+ { $counter++; $FORMAT_NAME=$ARGV[$counter]; last SWITCH; }
+ if ($guess eq "d")
+ { my $itis=1; my $whatis='';
+ while($itis)
+ {
+ $counter++;
+ #unless($counter < scalar(@ARGV)-1){$counter--;last SWITCH;}
+ $whatis = $ARGV[$counter];
+ if((substr($whatis,0,2) eq $DD)||(substr($whatis,0,1) eq $D))
+ {$counter--; $itis=0;}
+ else{$REFS_FILES[$itis-1] = $whatis; $itis++};
+ };
+ if(scalar(@REFS_FILES)<1){print STDERR "Invalid format of -d option";}
+ last SWITCH;
+ }
+
+ if ($guess eq "a")
+ { $counter++; $ABBR_NAME=$ARGV[$counter]; $optionsABBREVIATIONS=1; last SWITCH; }
+
+
+ if ($guess eq "v")
+ { $counter++; $verbosity_level=$ARGV[$counter]; last SWITCH; }
+
+ #reserved words
+ #if ($guess eq 'etal')
+ # { $counter++; $reservedET_AL=$ARGV[$counter]; last SWITCH; }
+ $nothing = 1;
+ };
+ if($nothing){print "Unknown option <$current>!!! Exiting!\n"; exit(1);}
+ else{next};
+ };
+ #---------------------------------------------------------------------
+ #so, this is not switch
+
+}
+
+};
+
+#----------------------------------
+sub check_for_important_arguments
+{
+
+ if($OUT_TEX eq ''){$OUT_TEX = "biblist.output.tex"};
+ if(scalar(@REFS_FILES) == 0)
+ {print STDERR "You must select at least one refs dbase file with -d option!!!";
+ print STDERR "Exiting!\n";
+ exit(1)
+ };
+
+
+ if($FORMAT_NAME eq '')
+ {print STDERR "You must select one formats file with -f option!!!";
+ print STDERR "Exiting!\n";
+ exit(1)
+ };
+};
+#-----------------------------------
+sub print_version_info
+{
+print "biblist v.$BIBLIST_VERSION \n";
+print "Written by R.Stepanyan.\n\n";
+print "This is free software. There is NO warranty! \n";
+print "Redistribution of this software is covered by the terms of";
+print "the GNU General Public License.\n";
+print "For more information, please, contact rstepanyan\@yahoo.com\n";
+};
+#-----------------------------------------------
+sub print_help_info
+{
+print "biblist v.$BIBLIST_VERSION \n";
+print "biblist [-o outfile] [-f formatfile] -d dbasefile(s) [other keys] \n";
+print "\n";
+print "-v <number> - verbosity level (0-5)\n";
+print "-h (--help) - this help\n";
+print "--version - version information\n";
+print "\n";
+print "About the other parameters see readme.1st \n";
+print "\n";
+#print "\n";
+};
+
+#----------------------------------------------------
+sub trim {
+ my @out = @_;
+ for (@out) {
+ s/^\s+//;
+ s/\s+$//;
+ }
+ return wantarray ? @out : $out[0];
+}
+#------------------------------------------------------------------------------
+sub insert_abbreviations_of_journals # $OUTTEX must be opened already
+{ my $aline='';
+ if($optionsABBREVIATIONS==1)
+ { open(ABBR,"$ABBR_NAME");
+
+ if($optionsHTML_OUTPUT){print OUTTEX "<br>";} else{print OUTTEX "\n"; };
+
+ while(<ABBR>)
+ { $aline = $_;
+ print OUTTEX "$aline" ;
+ if($optionsHTML_OUTPUT){print OUTTEX "<br>";} ;
+ }
+ close(ABBR);
+
+ if($optionsHTML_OUTPUT){print OUTTEX "<br>";} else{print OUTTEX "\n"; }
+ return 0;
+ }
+ else
+ { return 0;
+ }
+};
diff --git a/support/biblio/biblist_html b/support/biblio/biblist_html
new file mode 100755
index 0000000000..86cb3c36e0
--- /dev/null
+++ b/support/biblio/biblist_html
@@ -0,0 +1,13 @@
+VLEVEL="1" #verbosity level
+
+REFS="refers.db"
+FORMATS="formats/formats_html.biblist"
+REFSHTML="references.html"
+ABBR="formats/abbr.tex"
+
+echo ----------------------------
+echo Outpit goes to "$REFSHTML"
+echo ----------------------------
+biblist.pl -f $FORMATS -d $REFS -a $ABBR -o $REFSHTML --html --prefix http://polypc93.chem.rug.nl/~stepanrr/articles/
+
+
diff --git a/support/biblio/formats/README.formats b/support/biblio/formats/README.formats
new file mode 100644
index 0000000000..43892cf75c
--- /dev/null
+++ b/support/biblio/formats/README.formats
@@ -0,0 +1,18 @@
+12345678901234567890123456789012345678901234567890123456789012345678901234567890
+ 1 2 3 4 5 6 7 8
+
+Biblio formats:
+
+1. macromolecules Macromolecules
+2. physreve Phys.Rev.E
+3. macromoltheorysimul Macromol. Theory and Simul
+4. jchemphys Journal of Chem. Phys.
+5. europhysletters EUROPHYSICS LETTERS
+6. biopolymers Biopolymers
+
+===============================================================================
+Biblist formats:
+
+1. formats.biblist for TeX output. Made from "macromolecules"
+ for biblio
+2. formats_html.biblist for HTML output. Made from "macromolecules". \ No newline at end of file
diff --git a/support/biblio/formats/abbr.tex b/support/biblio/formats/abbr.tex
new file mode 100644
index 0000000000..4dd2b244a4
--- /dev/null
+++ b/support/biblio/formats/abbr.tex
@@ -0,0 +1,49 @@
+%definitions for titles of journals
+
+\def\ang{Angew. Chem. Int. Ed. Engl.}
+\def\advm{Adv. Mater.}
+\def\advpolsci{Advances Polym. Sci.}
+\def\arpc{Annu. Rev. Phys. Chem.}
+
+\def\bio{Biopolymers}
+
+\def\cps{Colloid Polym Sci.}
+\def\cpl{Chem. Phys. Letters}
+
+\def\epje{Eur. Phys. J. E}
+\def\epolj{European Polymer Journal}
+
+\def\jetp{Sov. Phys. JETP}
+\def\jcp{J. of Chem. Phys.}
+\def\jpsa{J. Polym. Sci. A: Polym. Chem.}
+\def\jpsb{J. Polym. Sci. B: Polym. Phys.}
+\def\jpfrance{J. Phys. II France} % ???J. Physique ???J. Phys. (Paris)
+\def\jms{J. of Mol. Structure}
+
+\def\lang{Langmuir}
+
+\def\mml{Macromol.} % Macromolecules
+\def\mrc{Macromol. Rapid. Commun.}
+\def\mts{Macromol. Theory and Simul.} % Macromolecular Theory and Simulations
+\def\mcp{Macromol. Chem. Phys.}
+\def\makchem{Makromol. Chem.} %???Makromol. Chem., Rapid Commun.
+
+\def\polsciussr{Polym. Sci. USSR}
+\def\pra{Phys. Rev. A.}
+\def\prb{Phys. Rev. B.}
+\def\pre{Phys. Rev. E.}
+\def\prd{Phys. Rev. D.}
+\def\prl{Phys. Rev. Letters}
+\def\pps{Proc. Phys. Soc.} %Proceedings of Phys Society
+
+\def\rmp{Rev. Mod. Phys.}
+\def\rpp{Rep. Prog. Phys.} %Reports on Progress in Physics
+
+
+\def\science{Science}
+
+\def\ufn{Sov. Usp. Fiz. Nauk} % ???Sov. Phys. Uspekhi
+
+\def\trip{TRIP}
+
+% end of definitions \ No newline at end of file
diff --git a/support/biblio/formats/biopolymers b/support/biblio/formats/biopolymers
new file mode 100644
index 0000000000..c0e6ad9b18
--- /dev/null
+++ b/support/biblio/formats/biopolymers
@@ -0,0 +1,32 @@
+% this is template for Biopolymers
+% no ordering of the references is needed. Otherwise add line
+% '%ordering= AUTHORL'
+
+%begin{biblio}
+
+%cite_format={%s.}
+%ref_format=${^{%s}}$
+
+%% normal article:
+% ARTICLE [$AUTHOR0P~L,~F~M, |\&$ ($YEAR$) {\it $JOURNAL$} {\bf $VOL$}, $PAGE$-$EPAGE$.]
+
+%% article which is submitted or accepted
+% ARTICLE0[$AUTHOR0P~L,~F~M, |\&$ {\it $JOURNAL$}, $STATE$.]
+
+%% normal book
+% BOOK [$AUTHOR0P~L,~F~M, |\&$ ($YEAR$) {\it $TITLE$}, $PUBL$, $PLACE$.]
+
+%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% and middle names of the editor
+% EDBOOK [$AUTHOR0P~L,~F~M, |\&$ ($YEAR$) in {\it $BOOKTITLE$}, edited by $AUTHOR0I~E,~G~H, |\&$, $PUBL$: $PLACE$.]
+
+%% article in a book without editor
+% INBOOK [$AUTHOR0P~L,~F~M, |\&$ ($YEAR$) in {\it $BOOKTITLE$}, $PUBL$, $PLACE$.]
+
+% EPRINT [$AUTHOR0P~L,~F~M, |\&$ ($YEAR$) in {\it $BOOKTITLE$} $INFO$.]
+
+%% Thesis
+% THESIS [$AUTHOR0P~L,~F~M, |\&$ ($YEAR$) {\it $SORT$}, $UNIV$, $PLACE$.]
+
+
+%end{biblio} \ No newline at end of file
diff --git a/support/biblio/formats/europhysletters b/support/biblio/formats/europhysletters
new file mode 100644
index 0000000000..04a9e99dee
--- /dev/null
+++ b/support/biblio/formats/europhysletters
@@ -0,0 +1,35 @@
+% this is template for EuroPhys. Letters
+% no ordering of the references is needed. Otherwise add line
+% '%ordering= AUTHORL' wher AUTHORL is taken just as example!
+
+%begin{biblio}
+
+
+%cite_format={[%s]}
+%ref_format=${[%s]}$
+
+%% normal article:
+% ARTICLE [\textsc{$AUTHOR0P~L~F~M, |and$}, {\it $JOURNAL$} {\bf $VOL$} ($YEAR$) $PAGE$.]
+]
+
+%% article which is submitted or accepted
+% ARTICLE0[\textsc{$AUTHOR0F~M~P~L, |and$}, {\it $JOURNAL$}, $STATE$.]
+
+%% normal book
+% BOOK [\textsc{$AUTHOR0F~M~P~L, |and$}, {\it $TITLE$} ($PUBL$, $PLACE$) $YEAR$.]
+
+%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% and middle names of the editor
+% EDBOOK [\textsc{$AUTHOR0F~M~P~L, |and$}, in {\it $BOOKTITLE$}, edited by \textsc{$AUTHOR0I~G~H~E, |and$}, ($PUBL$, $PLACE$) $YEAR$.]
+
+%% article in a book without editor
+% INBOOK [\textsc{$AUTHOR0F~M~P~L, |and$}, {\it $TITLE$}, in {\it $BOOKTITLE$}, ($PUBL$, $PLACE$) $YEAR$.]
+
+
+% EPRINT [\textsc{$AUTHOR0F~M~P~L, |and$}, $INFO$ ($YEAR$).]
+
+%% Thesis ???
+% THESIS [\textsc{$AUTHOR0F~M~P~L, |and$}, {\it $SORT$} ($UNIV$, $PLACE$) $YEAR$.]
+
+
+%end{biblio}
diff --git a/support/biblio/formats/formats.biblist b/support/biblio/formats/formats.biblist
new file mode 100644
index 0000000000..a1321865d6
--- /dev/null
+++ b/support/biblio/formats/formats.biblist
@@ -0,0 +1,26 @@
+% this is template for biblist.pl
+
+
+%begin{biblio}
+
+% ordering= AUTHORL
+
+%% normal article:
+% ARTICLE [\texttt{$LABEL$} \\ $AUTHOR0P L,~F~M; $ {\it $JOURNAL$} {\bf $YEAR$}, {\it $VOL$}, $PAGE$-$EPAGE$.\newline {\bf $TITLE$}]
+
+%% article which is submitted or accepted
+% ARTICLE0[\texttt{$LABEL$} \\ $AUTHOR0P L,~F~M; $ {\it $JOURNAL$} $STATE$.\newline {\bf $TITLE$}]
+
+%% normal book
+% BOOK [\texttt{$LABEL$} \\ $AUTHOR0P L,~F~M; $ {\it $TITLE$}; $PUBL$: $PLACE$, $YEAR$.]
+
+%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% and middle names of the editor
+% EDBOOK [\texttt{$LABEL$} \\ $AUTHOR0P L,~F~M; $ in {\it $BOOKTITLE$}, edited by $AUTHOR0I E,~G~H;$; $PUBL$: $PLACE$, $YEAR$.]
+
+%% article in a book without editor
+% INBOOK [\texttt{$LABEL$} \\ $AUTHOR0P L,~F~M; $ in {\it $BOOKTITLE$}, p.$PAGE$ $PUBL$: $PLACE$, $YEAR$.]
+
+% EPRINT [\texttt{$LABEL$} \\ $AUTHOR0P L,~F~M; $ $INFO$, $YEAR$.\newline {\bf $TITLE$}]
+
+%end{biblio} \ No newline at end of file
diff --git a/support/biblio/formats/formats_html.biblist b/support/biblio/formats/formats_html.biblist
new file mode 100644
index 0000000000..4f1a6d2d34
--- /dev/null
+++ b/support/biblio/formats/formats_html.biblist
@@ -0,0 +1,31 @@
+%% this is template for biblist.pl for "html" output!!!
+
+
+%begin{biblio}
+
+% ordering= AUTHORL
+
+%% normal article:
+
+% ARTICLE [<font size=-1> $LABEL$</font> <br> $AUTHOR0P L, F M; $ <em> $JOURNAL$ </em> <b>$YEAR$</b>, <em>$VOL$</em>, $PAGE$.<br> <b>$TITLE$</b>]
+
+%% article which is submitted or accepted
+
+% ARTICLE0[<font size=-1>$LABEL$</font> <br> $AUTHOR0P L, F M; $ <em> $JOURNAL$ </em> $STATE$. <br> <b> $TITLE$ </b>]
+
+%% normal book
+
+% BOOK [<font size=-1>$LABEL$</font> <br> $AUTHOR0P L, F M; $ <em> $TITLE$ </em>; $PUBL$: $PLACE$, $YEAR$.]
+
+%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% and middle names of the editor
+
+% EDBOOK [<font size=-1>$LABEL$</font> <br> $AUTHOR0P L, F M; $ in <em> $BOOKTITLE$ </em>, edited by $AUTHOR0I E, G H;$; $PUBL$: $PLACE$, $YEAR$.]
+
+%% article in a book without editor
+
+% EDBOOK [<font size=-1>$LABEL$</font> <br> $AUTHOR0P L, F M; $ in <em> $BOOKTITLE$ </em>, p.$PAGE$ $PUBL$: $PLACE$, $YEAR$.]
+
+% EPRINT [<font size=-1>$LABEL$</font> <br> $AUTHOR0P L, F M; $ $INFO$, $YEAR$.<br><b> $TITLE$ </b>]
+
+%end{biblio} \ No newline at end of file
diff --git a/support/biblio/formats/jchemphys b/support/biblio/formats/jchemphys
new file mode 100644
index 0000000000..45642ebea6
--- /dev/null
+++ b/support/biblio/formats/jchemphys
@@ -0,0 +1,35 @@
+% this is template for Journal of Chemical Physics
+% no ordering of the references is needed. Otherwise add line
+% '%ordering= AUTHORL' wher AUTHORL is taken just as example!
+
+%begin{biblio}
+
+
+%cite_format=$^{%s}$
+%ref_format=$^{%s}$
+
+%% normal article:
+% ARTICLE [$AUTHOR0F~M~P~L, |and$, $JOURNAL$ {\bf $VOL$}, $PAGE$ ($YEAR$).]
+]
+
+%% article which is submitted or accepted
+% ARTICLE0[$AUTHOR0F~M~P~L, |and$, $JOURNAL$ $STATE$.]
+
+%% normal book
+% BOOK [$AUTHOR0F~M~P~L, |and$, {\it $TITLE$} ($PUBL$, $PLACE$, $YEAR$).]
+
+%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% and middle names of the editor
+% EDBOOK [$AUTHOR0F~M~P~L, |and$, in {\it $BOOKTITLE$}, edited by $AUTHOR0I~G~H~E, |and$, ($PUBL$, $PLACE$, $YEAR$).]
+
+%% article in a book without editor
+% INBOOK [$AUTHOR0F~M~P~L, |and$, in {\it $BOOKTITLE$}, p.$PAGE$ ($PUBL$, $PLACE$, $YEAR$).]
+
+
+% EPRINT [$AUTHOR0F~M~P~L, |and$ $INFO$ ($YEAR$).]
+
+%% Thesis
+% THESIS [$AUTHOR0F~M~P~L, $, {\it $SORT$}, ($UNIV$, $PLACE$, $YEAR$).]
+
+
+%end{biblio}
diff --git a/support/biblio/formats/macromolecules b/support/biblio/formats/macromolecules
new file mode 100644
index 0000000000..c5477b87f3
--- /dev/null
+++ b/support/biblio/formats/macromolecules
@@ -0,0 +1,33 @@
+% this is template for Macromolecules
+% no ordering of the references is needed. Otherwise add line
+% '%ordering= AUTHORL'
+
+%begin{biblio}
+
+
+%cite_format={(%s)}
+%ref_format=${^{%s}}$
+
+%% normal article:
+% ARTICLE [$AUTHOR0P~L,~F~M; $ {\it $JOURNAL$} {\bf $YEAR$}, {\it $VOL$}, $PAGE$.]
+
+%% article which is submitted or accepted
+% ARTICLE0[$AUTHOR0P~L,~F~M; $ {\it $JOURNAL$} $STATE$.]
+
+%% normal book
+% BOOK [$AUTHOR0P~L,~F~M; $ {\it $TITLE$}; $PUBL$: $PLACE$, $YEAR$.]
+
+%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% and middle names of the editor
+% EDBOOK [$AUTHOR0P~L,~F~M; $ in {\it $BOOKTITLE$}, edited by $AUTHOR0I~E,~G~H;$; $PUBL$: $PLACE$, $YEAR$.]
+
+%% article in a book without editor
+% INBOOK [$AUTHOR0P~L,~F~M; $ in {\it $BOOKTITLE$}, p.$PAGE$ $PUBL$: $PLACE$, $YEAR$.]
+
+% EPRINT [$AUTHOR0P~L,~F~M; $ in {\it $BOOKTITLE$} $INFO$, $YEAR$.]
+
+%% Thesis
+% THESIS [$AUTHOR0P~L,~F~M; $ {\it $SORT$}; $UNIV$: $PLACE$, $YEAR$.]
+
+
+%end{biblio} \ No newline at end of file
diff --git a/support/biblio/formats/macromoltheorysimul b/support/biblio/formats/macromoltheorysimul
new file mode 100644
index 0000000000..abf102e2c5
--- /dev/null
+++ b/support/biblio/formats/macromoltheorysimul
@@ -0,0 +1,35 @@
+% this is template for Macromolecular Theory and Simulations
+% according to 2001 year rules
+% no ordering of the references is needed. Otherwise add line
+% '%ordering= AUTHORL' wher AUTHORL is taken just as example!
+
+%begin{biblio}
+
+
+%cref_format=${^{[%s]}}$
+%cite_format={[%s]}
+
+%% +normal article:
+% ARTICLE [$AUTHOR0F~M~P~L, $, {\it $JOURNAL$} {\bf $YEAR$}, {\it $VOL$}, $PAGE$.]
+]
+
+%% +article which is submitted or accepted
+% ARTICLE0[$AUTHOR0F~M~P~L, $, {\it $JOURNAL$} $STATE$.]
+
+%% +normal book
+% BOOK [$AUTHOR0F~M~P~L, $, "{\it $TITLE$}", $PUBL$, $PLACE$, $YEAR$, p.~$PAGES$.]
+
+%% +article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% +and middle names of the editor
+% EDBOOK [$AUTHOR0F~M~P~L, $, "$TITLE$", in: {\it $BOOKTITLE$}, $AUTHOR0G~H~I~E, $,Eds., $PUBL$, $PLACE$ $YEAR$, p.~$PAGE$.]
+
+%% +article in a book without editor
+% INBOOK [$AUTHOR0F~M~P~L, $, "$TITLE$", in: {\it $BOOKTITLE$}, $PUBL$, $PLACE$ $YEAR$, p.~$PAGE$.]
+
+%% +Thesis
+% THESIS [$AUTHOR0F~M~P~L, $, {\it $SORT$}, $UNIV$, $PLACE$ $YEAR$.]
+
+%% Electronic preprint (like on xxx.lanl.gov)
+% EPRINT [$AUTHOR0F~M~P~L; $ $INFO$ $YEAR$.]
+
+%end{biblio}
diff --git a/support/biblio/formats/physreve b/support/biblio/formats/physreve
new file mode 100644
index 0000000000..e89d7d33a3
--- /dev/null
+++ b/support/biblio/formats/physreve
@@ -0,0 +1,35 @@
+% this is template for Phys.Rev.E
+% no ordering of the references is needed. Otherwise add line
+% '%ordering= AUTHORL' wher AUTHORL is taken just as example!
+
+%begin{biblio}
+
+
+%cite_format={[%s]}
+%ref_format=${[%s]}$
+
+%% normal article:
+% ARTICLE [$AUTHOR0F~M~P~L, |and$, $JOURNAL$ {\bf $VOL$}, $PAGE$ ($YEAR$).]
+]
+
+%% article which is submitted or accepted
+% ARTICLE0[$AUTHOR0F~M~P~L, |and$, $JOURNAL$ $STATE$.]
+
+%% normal book
+% BOOK [$AUTHOR0F~M~P~L, |and$, {\it $TITLE$} ($PUBL$, $PLACE$, $YEAR$).]
+
+%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% and middle names of the editor
+% EDBOOK [$AUTHOR0F~M~P~L, |and$, in {\it $BOOKTITLE$}, edited by $AUTHOR0I~G~H~E, |and$, ($PUBL$, $PLACE$, $YEAR$).]
+
+%% article in a book without editor
+% INBOOK [$AUTHOR0F~M~P~L, |and$, in {\it $BOOKTITLE$}, p.$PAGE$ ($PUBL$, $PLACE$, $YEAR$).]
+
+
+% EPRINT [$AUTHOR0F~M~P~L, |and$ $INFO$ ($YEAR$).]
+
+%% Thesis
+% THESIS [$AUTHOR0F~M~P~L, $, {\it $SORT$}, ($UNIV$, $PLACE$, $YEAR$).]
+
+
+%end{biblio}
diff --git a/support/biblio/formats/physreve_with_title b/support/biblio/formats/physreve_with_title
new file mode 100644
index 0000000000..04ef33b2f5
--- /dev/null
+++ b/support/biblio/formats/physreve_with_title
@@ -0,0 +1,35 @@
+% this is template for Phys.Rev.E
+% no ordering of the references is needed. Otherwise add line
+% '%ordering= AUTHORL' wher AUTHORL is taken just as example!
+
+%begin{biblio}
+
+
+%cite_format={[%s]}
+%ref_format=${[%s]}$
+
+%% normal article:
+% ARTICLE [$AUTHOR0F~M~P~L, |and$, {\bf $TITLE$}, $JOURNAL$ {\bf $VOL$}, $PAGE$ ($YEAR$).]
+]
+
+%% article which is submitted or accepted
+% ARTICLE0[$AUTHOR0F~M~P~L, |and$, {\bf $TITLE$}, $JOURNAL$ $STATE$.]
+
+%% normal book
+% BOOK [$AUTHOR0F~M~P~L, |and$, {\it $TITLE$} ($PUBL$, $PLACE$, $YEAR$).]
+
+%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% and middle names of the editor
+% EDBOOK [$AUTHOR0F~M~P~L, |and$, in {\it $BOOKTITLE$}, edited by $AUTHOR0I~G~H~E, |and$, ($PUBL$, $PLACE$, $YEAR$).]
+
+%% article in a book without editor
+% INBOOK [$AUTHOR0F~M~P~L, |and$, {\bf $TITLE$}, in {\it $BOOKTITLE$}, p.$PAGE$ ($PUBL$, $PLACE$, $YEAR$).]
+
+
+% EPRINT [$AUTHOR0F~M~P~L, |and$, {\bf $TITLE$}, $INFO$ ($YEAR$).]
+
+%% Thesis
+% THESIS [$AUTHOR0F~M~P~L, $, {\it $SORT$}, ($UNIV$, $PLACE$, $YEAR$).]
+
+
+%end{biblio}
diff --git a/support/biblio/install b/support/biblio/install
new file mode 100755
index 0000000000..af5e010a1c
--- /dev/null
+++ b/support/biblio/install
@@ -0,0 +1,89 @@
+#!/bin/sh
+
+PREFIX="/usr/local/biblio/"
+BINDIR="/usr/local/bin/"
+ADDSCRIPTS="ADDSCRIPTS"
+
+CP="cp"
+LN="ln -s"
+COPYERROR="Copy Error"
+
+
+if [ -d $PREFIX ] ; then
+ echo "$PREFIX already exist!!! Delete it and repeate $0"
+ exit 0
+fi
+
+
+mkdir $PREFIX
+
+if [ -d $PREFIX ] ; then
+ echo "$PREFIX is created"
+ echo ""
+ $CP biblio.pl "$PREFIX"
+ if [ -e "$PREFIX"biblio.pl ] ; then
+ echo "$PREFIX"biblio.pl is copied
+ echo "Copying directories..."
+ $CP -r formats "$PREFIX"
+ $CP -r EXAMPLES "$PREFIX"
+ $CP -r ADDSCRIPTS "$PREFIX"
+
+ if [ -d "$PREFIX"formats ] ; then
+ if [ -d "$PREFIX"EXAMPLES ] ; then
+ if [ -d "$PREFIX"ADDSCRIPTS ] ; then
+ echo "All files are copied."
+ else
+ echo "$COPYERROR ADDSCRIPTS"
+ exit 0
+ fi
+ else
+ echo "$COPYERROR EXAMPLES"
+ exit 0
+ fi
+
+ else
+ echo "$COPYERROR formats"
+ exit 0
+ fi
+
+ else
+ echo "$COPYERROR biblio.pl"
+ exit 0
+ fi
+
+ echo "Changing dir to $PREFIX"
+ cd $PREFIX
+ $LN biblio.pl biblio
+ if [ -e biblio ] ; then
+ echo "Link biblio to biblio.pl is created"
+ else
+ echo "Failed to create a link to biblio.pl. Exiting..."
+ exit 0
+ fi
+
+ echo "Changing dir to $BINDIR"
+ cd $BINDIR
+
+ $LN "$PREFIX"biblio biblio
+ if [ -e biblio ] ; then
+ echo "Link $BINDIR"biblio to "$PREFIX"biblio is created
+ else
+ echo Error creating link "$BINDIR"biblio! Exiting...
+ exit 0
+ fi
+
+ $LN "$PREFIX""$ADDSCRIPTS"/biblist.pl biblist.pl
+ if [ -e biblist.pl ] ; then
+ echo "Link $BINDIR"biblist.pl to "$PREFIX"biblist.pl is created
+ else
+ echo Error creating link "$BINDIR"biblist! Exiting...
+ exit 0
+ fi
+
+ echo "Done!!!"
+ echo
+
+else
+ echo Error creating "$PREFIX". Exiting...
+ exit 0
+fi \ No newline at end of file
diff --git a/support/biblio/libtex b/support/biblio/libtex
new file mode 100755
index 0000000000..9aac518d83
--- /dev/null
+++ b/support/biblio/libtex
@@ -0,0 +1,36 @@
+JOURNAL="physreve"
+PREFIX="/home93/stepanrr/cgi-bin/Biblio/"
+
+VLEVEL="1" #verbosity level
+PROJECT=$1
+REFS=$PREFIX"refers.db"
+FORMATS=$PREFIX"formats/"$JOURNAL
+
+if [ $# = 0 ]
+then
+ echo "Syntax: $0 <tex-file without (!!!) \".tex\"> "
+ exit 0
+fi
+
+SUFFIX=".1"
+
+OUTTEX="$PROJECT$SUFFIX.tex"
+OUTDVI="$PROJECT$SUFFIX.dvi"
+TEXFILE="$PROJECT.tex"
+DVIFILE="$PROJECT.dvi"
+
+
+echo $OUTTEX
+
+if [ $JOURNAL = "physreve" ]
+then
+ biblio -v $VLEVEL -o $OUTTEX -d $REFS -f $FORMATS $TEXFILE
+else
+ biblio -v $VLEVEL -o $OUTTEX -d $REFS -f $FORMATS --nobibitem --uselist $TEXFILE
+fi
+
+
+latex $OUTTEX
+latex $OUTTEX
+mv $OUTDVI $DVIFILE
+#rm *.aux *.log *~ \ No newline at end of file
diff --git a/support/biblio/readme.1st b/support/biblio/readme.1st
new file mode 100644
index 0000000000..187801da12
--- /dev/null
+++ b/support/biblio/readme.1st
@@ -0,0 +1,918 @@
+
+ BIBLIO
+ bibliographic preprocessor
+
+
+ 09 April 2001
+ 27 June 2001
+ 07 Sept 2001 (ver 1.1)
+ 17 Sep 2001 (ver 1.11)
+ 04 Oct 2001 (ver 1.2)
+ 12 March 2002 (ver 1.21)
+
+CONTENT
+
+Abstract
+
+0. Copyright
+1. Statement of Purpose
+2. General Ideas
+3. Structure of the Biblio-Database
+4. Structure of the Format File (Format Strings)
+5. Running Biblio
+6. Examples
+7. Additional Scripts
+8. Installation Guide and Short Instruction
+9. Perl To C
+10. To Do
+11. Known Bugs
+
+===============================================================================
+
+ Abstract
+
+Biblio is a programm for preprocessing your bibliographic references. It is
+written in Perl and does not use the LaTeX internal language. After
+preprocessing the input TeX file it creates output TeX file with references
+included according to the formats prescribed either in a separate file
+(called "template" or "format file" further on)
+or in the header of the input TeX file. Output TeX is ready for LaTeX.
+If you do not need details, move to the section 8 (and 9) of this text.
+
+
+-------------------------------------
+
+0. COPYRIGHT
+
+This is free software. But NO use in commercial purposes is allowed.
+There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE.
+
+-------------------------------------
+
+1. STATEMENT OF PURPOSE
+
+Don't reinvent a wheel - this should be your first reaction. Might be you are
+right: many people use BibTeX or some other (I don't know which but pretty sure
+they do exist) programs to pre-process their bibliographic references lists.
+But what I did before was just including all citations directly into my
+TeX-file. Before... Before this story has happened.
+
+I was writing an article and from the very beginning we (I and my bosses)
+decided to send it to the Journal A. Of course, I wrote everything including
+citations in the style of this journal. But when the work was almost finished
+we (you know whom I mean) decided to send the paper to another journal, say
+Journal B. And of course it has different rules and standards.
+No problem - one should say,- Use BibTeX. Yes, that's OK - is my reply.
+But what I basicly needed was to change the order of names (last, first, etc)
+in the authors list. Like instead of "J.J.Smith" now I needed "Smith, J.J.".
+Might be information I used was quite outdated, but I could not find the way to
+handle this kind of things with the BibTeX.
+
+Another reason to start this project was handle somehow ordering of the
+citation list. Normally articles in the "References and Notes" section should
+appear in the same order as they are in the body-text. But sometimes it's quite
+useful to have the list ordered according to the first author name or something
+different.
+
+And finally, some journals prefer to have "as raw text as possible". They do
+accept TeX-files but... without cross references and citations which means,
+that everything have to be done by hands and ONLY ONE file has to be submitted.
+I don't like this idea! But I DO want to be published there! So, may be a
+partial solution is (for citations at least) is to pre-process the TeX-file to
+another TeX-file where all \cite and \bibitem commands are substituted by
+normal text. Of course, according to some pattern. This solves one more
+problem - I'm not very good in TeX programming and find it quite difficult to
+make TeX command \cite produce some nice output in the form $^{1,2,6}$ instead
+of [1,2,6].
+
+So, let's move to the GENERAL IDEAS
+
+-----------------------------------------------------
+
+2.GENERAL IDEAS
+
+ A. This program pre-processes TeX-file making another TeX-file.
+
+ B. Citations are inserted from the DataBase(s) which has form of a separate
+file. Fields of the records in this file are absolutely ARBITRARY, except for
+LABEL and TYPE. Field AUTHOR has also some special meaning which will be
+clarified further on.
+This DataBase has form of
+======================================================
+LABEL = Landau
+TYPE = book
+AUTHORL = Landau|Lifshits
+AUTHORF = L |E.
+AUTHORM = D. |M.
+TITLE = Statistical Physics
+PUBL = Pergamon
+PLACE = Oxford
+YEAR = 1980
+----------
+LABEL = Vasilevskaya
+TYPE = article0
+AUTHORL = Vasilevskaya|Klochkov|Khalatur|Khokhlov|Brinke
+AUTHORF = V. |A. |P. |A. |G.
+AUTHORM = V. |A. |G. |R. |
+TITLE = Microphase separation within comb-like copolymer with attractive side-chains: computer simulations.
+JOURNAL = Macromol. Theory and Simul.
+STATE = accepted
+----------
+LABEL = Helfand1
+TYPE = article
+AUTHORL = Helfand|Wasserman
+AUTHORF = E. |Z.
+AUTHORM = |R.
+JOURNAL = Macromolecules
+VOL = 9
+PAGE = 879
+YEAR = 1976
+----------
+LABEL = 3dFlex
+TYPE = article
+AUTHORP = | | |ten
+AUTHORL = Subbotin|Saariaho|Ikkala|Brinke
+AUTHORF = A. |M. |O. |G.
+TITLE = Elasticity of comb copolymer cylindrical brushes
+JOURNAL = Macromolecules
+PAGE = 3447
+YEAR = 2000
+VOL = 33
+----------
+LABEL = Dobrynin1
+TYPE = article
+AUTHORL = Dobrynin|Erukhimovich
+AUTHORF = A.|I.
+AUTHORM = V.|Y.
+TITLE = Computer-aided comparative investigation of architecture influence of block copolymer phase diagrams
+JOURNAL = Macromolecules
+PAGE = 276
+EPAGE = 281
+YEAR = 1993
+VOL = 26
+COMMENT = Read it before you have graduated!!!
+----------
+====================================================================
+
+Please, note that the last entry has EPAGE (which means "end page") and title
+also included whereas record "Helfand1" contains much less information.
+This will not cause any problem. The only person to whom you have to agree is
+yourself: if you call the first (starting) page of the paper (book, etc) "PAGE",
+do it for all entries. If you prefer to call it "EGAP" - it's your choice!
+
+One can use abbreviation in the form of TeX commands, like
+"\mml" can mean "Macromol." if we include line "\def\mml{Macromol.}"
+somewhere in the tex-source. To do so see "-a" option: to point to the
+abbreviations file "-a abbr.tex" should be used. Note: Biblio will not check
+consistency of your abbreviations!!!
+
+LABEL and TYPE are predefined! Also AUTHOR is predefined. "AUTHOR" without "L",
+"R" or anything else at the end. It is predefined in the sense, that entries in
+the database, which start with "AUTHOR" ("AUTHORL", "AUTHORF") are considered to
+be arrays with separator "|". There are two equivalent ways to represent them
+in the DataBase:
+* one is shown above (with "|" as separator)
+* the "Dobrynin1" entry can be also written in the form
+==============
+AUTHORL = Dobrynin
+AUTHORF = A.
+AUTHORM = V.
+AUTHORL = Erukhimovich
+AUTHORF = I.
+AUTHORM = Y.
+===============
+The only important issue is the order of this entries: the first AUTHORF belongs
+to the first AUTHORL. In principle you can include anything between them, like:
+===============
+AUTHORL = Dobrynin
+YEAR = 1993
+AUTHORF = A.
+AUTHORM = V.
+PAGE = 276
+AUTHORL = Erukhimovich
+AUTHORF = I.
+AUTHORM = Y.
+==============
+It will produce the same result.
+
+If there are several entries for the same key (like YEAR) which is NOT supposed
+to be array (i.e. does not start with AUTHOR), then only the last one will
+influence the final result.
+
+The fact that all arrays should start with AUTHOR does not mean that you can
+apply it to the authors' list only. It will become more transparent further.
+
+ C. Of course you want some nice output. Your LaTeX document should look like:
+
+====
+\documentstyle[12pt,a4]{article}
+\title{Blah-blah}
+\begin{document}\maketitle
+
+Text text \cite{Dobrynin1}.
+Text Text text \cite {Dobrynin1,3dFlex}
+
+\begin{thebibliography}
+
+\end{thebibliography}
+
+Something more you need (list of figures or whatever)
+
+\end{document}
+====
+
+Note, that NOTHING is between \begin{thebibliography} and
+\end{thebibliography}. These two are just signs for Biblio to insert your
+references list in between.
+
+What does Biblio do? It reads your TeX-file and finds all references (which you
+have in \cite command) in the database. Then it inserts them according to some
+formats (see further) between \begin{thebibliography} and \end{thebibliography}.
+It can do it in two ways:
+
+FIRST: insert them as "\bibitem{LABEL} TEXT OF THE REF" and not touching
+anything else (text of the ref is according to the format, of course);
+
+SECOND: insert them in some special way, where you can define what \cite will
+produce and what kind of numbering you want in the references list. For example,
+if you like $^{1,5-7}$ more than standard [1,5-7], normally produced by \cite,
+and
+(1) ref1
+(2) ref2
+instead of
+[1] ref1
+[2] ref2
+produced by \bibitem.
+
+(Hint: your choice between FIRST and SECOND you can do by using "--nobibitem"
+parameter, and "cite_format" and "ref_format" fields in the format file).
+
+After it's done, you can process output file with normal LaTeX.
+
+(Hint: You can find script "libtex" which will help you to handle it.)
+
+ D. All formats are stored in the format file (see -f command line option)
+or just in your TeX document's header. About rules (how to write this formats)
+you can read below.
+
+
+ E. So, your checklist is:
+ 1. Input TeX file.
+ 2. References database.
+ 3. Format file
+
+If you have all these you have to do
+
+biblio -o outdoc.tex -d refsdata.db refsdata1.db -f formats.db indoc.tex
+
+where
+- outdoc.tex - output filename
+ (if not given, them "biblio."-prefix is added to "indoc.tex"
+ like "biblio.indoc.tex")
+- refsdata.db - references database (may be more than one)
+- formats.db - format file (only ONE)
+- indoc.tex - input file
+
+The order of the parameters is not important.
+
+-------------------------------------
+
+3. STRUCTURE OF THE BIBLIO-DATABASE
+
+It has form described in 2.B. It consists of records. After each record a
+separator has to be placed. By default, it is "----------\n". You can easily
+change it by command line option "--separator". Only on separator can be used!
+
+Each record has fields. One line per one field - is a rule!
+You cannot change it (without looking into the source, of course)!
+
+Each field has a structure NAME = VALUE.
+
+Fields' names LABEL and TYPE are predefined - each record has to have them.
+Otherwise it will be ignored.
+
+Field AUTHOR has a special structure.
+Usage is quite obvious from an example
+
+AUTHORP = | | |ten
+AUTHORL = Subbotin|Saariaho|Ikkala|Brinke
+AUTHORF = A. |M. |O. |G.
+AUTHORM = V.
+
+There are 4 authors: Subbotin A.V.; Saariaho M.; Ikkala O. and ten Brinke G.
+
+P, L, F and M are from "prefix", "last", "first", "middle".
+
+Sign "|" separates authors. It is reserved and cannot be changed!
+
+You can use as many fields as you like. If you don't use them in the
+output - no problem, part of them will be ignored.
+
+You can have several databases. Use inline option "-d" to say Biblio names
+of databases you want to use.
+
+That's all!
+
+-------------------------------------
+
+4. STRUCTURE OF THE FORMAT FILE (FORMAT STRING)
+
+Your output (formated entries from database put into the TeX document) has to
+be formated according to the rules described in the so called format file (or
+templates) or just in the beginning of your TeX document.
+The first way is preferable - it gives taste of more structural ordering.
+Use option "-f" to point to a format file. Otherwise Biblio will try to find
+formats in the TeX-file and, if not succeeded, will complain and halt.
+
+What we want to format?
+1. References list (what you normally have at the end of your paper)
+2. Citations in the text (what you do with \cite)
+
+Before reading this, read 2.C from "General Ideas" section.
+
+How to write formats? That's the hardest part!
+
+Let's start from an
+EXAMPLE:
+-------------------
+% this is template for Macromolecules
+% no ordering of the references is needed. Otherwise add line
+% '%ordering= AUTHORL' - ordering with key field 'AUTHORL'
+
+%begin{biblio}
+
+%cite_format={(%s)}
+%ref_format=${^{%s}}$
+
+%% normal article:
+% ARTICLE [$AUTHOR0P~L,~F~M; $ {\it $JOURNAL$} {\bf $YEAR$}, {\it $VOL$}, $PAGE$.]
+
+%% article which is submitted or accepted
+% ARTICLE0[$AUTHOR0P~L,~F~M; $ {\it $JOURNAL$} $STATE$.]
+
+%% normal book
+% BOOK [$AUTHOR0P~L,~F~M; $ {\it $TITLE$}; $PUBL$: $PLACE$, $YEAR$.]
+
+%% article in a book AUTHORE, AUTHORG and AUTHORH - last, first
+%% and middle names of the editor
+% EDBOOK [$AUTHOR0P~L,~F~M; $ in {\it $BOOKTITLE$}, edited by $AUTHOR0I~E,~G~H;$; $PUBL$: $PLACE$, $YEAR$.]
+
+%% article in a book without editor
+% INBOOK [$AUTHOR0P~L,~F~M; $ in {\it $BOOKTITLE$}, p.$PAGE$ $PUBL$: $PLACE$, $
+YEAR$.]
+
+% EPRINT [$AUTHOR0P~L,~F~M; $ in {\it $BOOKTITLE$} $INFO$, $YEAR$.]
+
+%end{biblio}
+-------------------
+4.0. Syntax
+
+ A. Each line starts with %-sign. This is needed because in principle this can
+ be included into your TeX-document, so it has to be considered as a comment
+ by LaTeX. Lines, starting with %% are "REAL" comments (i.e. they are
+ comments for Biblio too).
+
+ B. All this information has to be stored either in a template file (format
+ file) [use option -f filename] or just in the header of your TeX document.
+ In both cases it has to start with '%begin{biblio}' line and end with
+ '%end{biblio}'.
+ Only one template file is allowed (you cannot read from 2 for the
+ same document).
+
+ C. There are some OPTIONAL reserved keys. If omitted, default values are
+ assumed and warning is printed.
+ Reserved keys are
+ C.1. cite_format: has a form %cite_format={(%s)}
+ %s just means "string". {(%s)} will produce output in your
+ references list like
+
+ (1) Simpson,....
+ (2) Tompson...
+ ...
+
+ or %cite_format={%s.} will produce
+
+ 1. Simpson,....
+ 2. Tompson...
+ ...
+
+
+ C.2. ref_format: has a form %ref_format=${^{%s}}$
+ This means how your \cite command output will look like.
+ For example, we have \cite{Aw1,Paper3,John} in the TeX document and
+ %ref_format=${^{%s}}$ in your format file. Then you get
+
+ ${^{2,4,5}}$ (numbers depend on what is ordering, of
+ course)
+ or
+ ${^{2-4}}$ if they all are going one by one in your refslist.
+
+ in the output TeX file instead of your \cite command.
+ If you have %ref_format={[%s]} then
+
+ {[2,4,5]}
+ or
+ {[2-4]}
+
+ C.3. ordering: has a form %ordering= AUTHORL
+ This means that the field AUTHORL has to be considered as a key field
+ in ordering of your references. You can put whatever you want there,
+ like YEAR, VOL,...
+ If this filed is not present in some entries, it considered to be
+ empty.
+
+ D. Each TYPE (TYPE is article, book or something like this) has to have an
+ entry in the format file. This entry (format string) has a form
+
+ % TYPE [format string]
+
+ (it MUST be in ONE line!!!)
+ where the "format string" says to Biblio how to output information about
+ your reference of the type TYPE.
+ "[" and "]" MUST be there! They say where you start your format line and
+ where it ends (if you need to use inside the format line, don't worry:
+ the first [ is the start and the last ] is the end of the string;
+ all the rest are just characters).
+ Everything between $-signs is a filed name. $VOL$ will be substituted by
+ 54 if you have an entry
+ VOL = 54
+ for this given article in your database.
+ It's a bit more tricky for AUTHOR (see below).
+ All the other words are just normal text or LaTeX commands.
+ Example:
+
+ Let say, you have the following item in your database file
+
+ LABEL = LifshitzGrosbergKhokhlov1
+ TYPE = article
+ AUTHORL = Lifshitz|Grosberg|Khokhlov
+ AUTHORF = I. |A. |A.
+ AUTHORM = M. |Yu. |R.
+ JOURNAL = Rev. Mod. Phys.
+ VOL = 50
+ PAGE = 683
+ EPAGE = 713
+ YEAR = 1978
+ TITLE = Some problems of the statistical physics of...
+
+ and an entry
+
+ % ARTICLE [$AUTHOR0P~L,~F~M; $ {\it $JOURNAL$} {\bf $YEAR$}, {\it $VOL$}, $PAGE$.]
+
+ in your format file (I assume also '%cite_format={(%s)}').
+ Then output will be
+
+ (1) ~Lifshitz,~I.~M.; ~Grosberg,~A.~Yu.; ~Khokhlov,~A.~R.
+ {\it {Rev. Mod. Phys.}} {\bf {1978}}, {\it {50}}, {683}.
+
+
+4.1. AUTHOR-word:
+
+ A. Word AUTHOR is reserved and assumed to be an array.
+ This means, that AUTHORLFM is in fact
+ hash index with keys AUTHORL, AUTHORF, AUTHORM,
+ or, if you like
+ AUTHOR[L]='Smith'
+ AUTHOR[F]='J.'
+ AUTHOR[M]='A.'
+
+ B. After the word AUTHOR follows the max number of authors to show
+ (let us call it max_A).
+ If actual number of authors n_A > max_A,
+ then "$reservedET_AL" will be written after the
+ author number max_A and names of all the others will be omitted.
+ "max_A==0" (zero) means "max_A==infty"
+ C. $AUTHOR0L, F; $ means that fields should be written as follows:
+ 1) "AUTHORL"
+ 2) ", "
+ 3) "AUTHORF"
+ 4) "; " (let us denote it as "last_sep")
+ 5) go to "1)" for the next author
+
+
+ For example, for the Lifshitz' article above:
+
+ $AUTHOR0L, F, M; $ produces
+ Lifshitz, I. M.; Grosberg, A. Yu.; Khokhlov, A. R.
+
+ or
+
+ $AUTHOR1L, F; $ produces
+ Lifshitz, I. et al
+
+ Note, there is no the middle name in the 2nd example, because there is
+ no "M" in the format line.
+
+ D. There is a special sign "|" which means that AUTHOR format line is ended
+ in fact and everything after it is so called "and_word".
+ This "and_word" (normally, it contains only "and") is something what is
+ written before the last author if the number of authors in larger than 1.
+
+ Example:
+ $AUTHOR0L, F, M; |and$ produces
+ Lifshitz, I. M.; Grosberg, A. Yu.; and Khokhlov, A. R.
+
+
+ Note, that
+ 1) if "et al" have to be printed, "and_word" will not be there!
+
+ $AUTHOR2L, F; |and$ produces
+ Lifshitz, I.; Grosberg, A. Yu. et al
+
+ 2) if number of authors is larger than 2 but less or equal to max_A:
+ before the "end_word" the "last_sep" has to be written
+ otherwise - if only 2 authors: print "and_word", but no "last_sep"
+
+ Example: Q.W. Rom and R.T. Lai
+ but Q.W. Rom, T.G. Doi, and R.T. Lai
+ here: last_sep="," ; and_word="and")
+
+ This example corresponds to
+ $AUTHOR0FM L, |and$
+
+
+4.2. Fields LABEL, TYPE and AUTHOR are predefined. All the others can be named
+ by you. The only condition is: your fields in the database and in the formats
+ have to coincide. If some field is present in the format string but there
+ is no value of it in the database, sign $reservedEMPTY_FIELD_SIGN will be
+ printed out instead (see command line parameter --empty_field_sign);
+ by default $reservedEMPTY_FIELD_SIGN == '???'.
+ My suggestion is: use YEAR, VOL, PAGE, etc. for the year, volume and page and
+ don't name page as RTY45 - this is mush less readable.
+
+-------------------------------------
+
+5. RUNNING BIBLIO
+
+So, now you have references database and format file. It is time to talk about
+command line parameters. Here they are:
+
+ ESSENTIAL PARAMETERS
+
++ -o output.file => $OUT_TEX ;
+ if no given, assuming $OUT_TEX = "biblio.$TEX_NAME"
++ -f format.file => $FORMAT_NAME
+ (can introduce templates for Macromolecules,
+ etc. If given, "in-tex" parameters will be
+ ignored!!!)
+
++ -d dbase.file => @REFS_FILES (where all info about refs is!)
+ accepts many arguments
+
++ -a abbrev.file => file of abbreviations (tex file)
+ if given, will be inserted just BEFORE
+ "\begin{references}" in the output.file.
+ Consists of anything you want, but the idea is
+ to use it like "\def\mml{Macromol.}"
+ and have entry
+ JOURNAL = \mml
+ instead of
+ JOURNAL = Macromol.
+ in the dbase.file.
+
++ -v <number> => verbosity level (0-5) $verbosity_level
+
++ -h or --help => short help information
+
++ --nobibitem => $optionsKEEP_BIBITEM_AND_CITE=0. Default is 1!!!
+ (read 2.C too)
+ If not given, Biblio will insert all references
+(formated, of course) into the out-TeX document, and that's it! You will
+have \cite-commands as you had them before. List of references will be
+produced by LaTeX itself (with \bibitem).
+If given (but NO --uselist), it will print your references as a simple text,
+flushed left.
+
+
++ --uselist => $optionsREFS_AS_TEX_LIST=1 Default is 0!!!
+ Will output the references list as a TeX list
+with counter. Looks much better than \flushleft (try it!)
+
+
+(if no --nobibitem nor --uselist is given it is assumed to use \bibitem
+ if --nobibitem is given, it will use \flushleft
+ if --nobibitem AND --uselist are given it will use \list
+)
+
+
+ ADDITIONAL PARAMETERS
+
+ key variable in the source,default value
+ and some info
+
++ --etal "{\it{et al}}" => form of "et al"-string in $reservedET_AL
+ (see 4.1.C)
++ --separator "----------\n" => separator in the database-file
+
++ --not_insert_empty_field_sign => $optionsINSERT_EMPTY_FIELDS_SIGN=0
+ If some field is present in the format
+string for the given TYPE, but is not in the database, Biblio will
+insert some sign instead (see --empty_field_sign).
+
++ --empty_field_sign xxx => $reservedEMTY_FIELD_SIGN = '???'
+ (see --not_insert_empty_field_sign)
+
++ --start_refs => @STARTREFS=
+ accepts many arguments ('begin{references}','begin{thebibliography}');
+ Tells where Biblio has to start inserting
+ the references list.
+
++ --end_refs => my @ENDREFS= ....
+ accepts many arguments
+
+? --bibitem_string => my $BIBITEM = '%'."\n".'\bibitem{';
+
++ --version => version info
+
++ --movepoint => added in ver1.1
+ make "word.\cite{} Another sent"
+ from "word \cite{}. Another sent"
+ Everything in the variable $what_we_call_point='.,;:' is considered
+ to be a "point".
+ This way of making citations is required by some journals
+ (for instance, Macromolecules) which have citation in the form
+ "in recent works$^1-5$"
+ There point (or comma,...) has to be placed BEFORE citation, like
+ 'works.$^{1-5}$' but NOT 'works$^{1-5}$.'
+ NOTE: this will work only for point IN THE SAME LINE, like
+ 'was show recently \cite{q2,lab4,yt6}. Therefore'
+ but NOT for
+ 'was show recently \cite{q2,lab4,yt6}
+ . Therefore'
+
+(not everything is accomplished. So, ?-sign means, that in your version
+this parameter might be still not working)
+
+-------------------------------------
+
+6. EXAMPLES
+
+ A. I have a couple of format files (in the directory called "formats")
+and a database. First, about the structure, I decided to follow. (It does
+NOT mean you have to do it in the same way!)
+
+Types I use are
+
+ARTICLE just regular article
+ARTICLE0 submitted or accepted article
+
+BOOK regular book
+EDBOOK article in a book (with an editor!)
+INBOOK article in a book without editor
+
+EPRINT electronic preprint
+
+Some examples of format files you can find in the "formats" directory.
+
+Example of a database is called "refers.db".
+
+
+ B. Document "EXAMPLES/2sorts/2sorts.tex" is an introduction
+to one of my articles. You can use it as an example.
+It needs templates which are in the "formats" dir.
+Just type "./libtex" and that's it!
+
+ C. Document "EXAMPLES/2sorts/2sorts_formats.tex" is
+the same as in B., but all formats are included into the header
+of the document. Read this header to find out how to compile it.
+
+ D. Document "EXAMPLES/hairy/hairy.tex" shows how to use abbreviations.
+
+-------------------------------------
+
+7. ADDITIONAL SCRIPTS
+
+You can find some more scripts in the top directory.
+
+ A. libtex
+ is a useful script for processing TeX documents on the
+ stage of their development. It can be easily adjusted
+ (open it in any text editor and change parameters). The idea is
+ to keep its copy at the same directory where your document (tex file)
+ is situated.
+ Then instead of running LaTeX itself you have to run "libtex" as
+ libtex filename
+ ("filename" WITHOUT tex extension!!! For 2sorts.tex it is "2sorts")
+
+ JOURNAL - name of the template
+ PREFIX - Biblio's home directory (where in the "formats" directory all
+ formats are stored)
+
+ B. biblist_html
+ Makes an HTML formated list from your references database. I use (as you
+ could see in refers.db) field URL for articles, which I have
+ electronically. This script will run "biblist.pl" (see below) with --html
+ key. This will produce nice html output with hyperlinks to your e-library
+ (it will put prefix "--prefix" for all hyperlinks except starting already
+ with "http:" )
+ Of course, you can use "--prefix /home/usrname/base/" if you want to make
+ all refs local.
+
+ C. biblist
+ The same as the previous one but output in TeX format. Uses biblist.pl
+ without --html key.
+
+ D. biblist.pl
+ Makes a list of references from the whole database file. Can output in
+ TeX file or HTML. Has switches: almost all, which biblio has plus --html.
+ Does not have --uselist (it is always on), --start_refs, --end_refs.
+ And, of course, it does not need an input TeX file! Therefore you
+ always have to provide format file.
+ If --html is not given, produces TeX file.
+ HTML output needs special formats, of course. Example is in
+ EXAMPLES/formats/formats_html.biblist
+
+ Example of a format file for TeX output is in
+ EXAMPLES/formats/formats.biblist
+
+ E. bibcheck.pl (added 17 Sep 2001)
+ Checks your database (one ore more files containing references).
+ Complains if it has:
+ - records with empty LABEL or TYPE
+ - several records with the same LABEL
+ Has specific parameter "--noexit" which means "do not exit if
+ found a record without a label, just go on". By default it will
+ halt in this case.
+ Parameter -e (or --errors) says "after how many errors exit the program"
+ (default is 5)
+ For instance:
+ bibcheck.pl -e 10 -d myrefers.db onemorerefs.db
+ or
+ bibcheck.pl --errors 10 -d myrefers.db onemorerefs.db
+ will process files "myrefers.db" and "onemorerefs.db" but exit if at
+ some point number of errors will exceed 10.
+
+
+That's all for the moment.
+
+-------------------------------------
+
+8. INSTALLATION GUIDE and SHORT INSTRUCTIONS
+
+I decided to put this section at the very end because now, I hope, you know what
+you are installing.
+
+After unpacking the archive you have:
+
+ * biblio.pl - the main "executable"
+ * dir formats - format files (template) and
+ abbreviations file "abbr.tex". Ready for use.
+ * biblist.pl; biblist.pl; biblist_html; bibcheck.pl
+ - some additional scripts (see section 7).
+ * dir EXAMPLES - examples (see section 6).
+
+and bash script "install" to help you to install.
+
+1. Edit script "install" First two lines have to point to
+ * PREFIX to the directory, where you want to install biblio
+ (formats, examples, etc.). It must NOT exist yet.
+
+ * BINDIR to the binaries directory, where it will put links to biblio and
+ biblist
+
+ Edit biblio.pl and ADDSCRIPTS/biblist.pl: in the first line it should be
+ a full path to your Perl!!!
+
+2. Run "./install". Then change dir to your PREFIX dir and check, that biblio.pl
+ and everything in the ADDSCRIPT directory is executable. If not, do
+
+ chmod a+x name_of_the_file
+
+
+3. If installation script failed, you can do it yourself.
+ Just create a directory for biblio.
+ Copy there everything you found in the current directory (see above).
+ Then
+
+ ln -s biblio biblio.pl
+
+ Chenge dir to your normal binaries dir and do
+
+ ln -s biblio PREFIX/biblio
+ ln -s biblist.pl PREFIX/ADDSCRIPT/biblist.pl
+
+ where PREFIX has to be a real path (like /usr/local/biblio)
+
+ Be sure about file permissions (everybody, or at least you, has to be
+ able to execute!).
+
+That's all. Now you have commands "biblio" and "biblist"
+
+About usage of additional scripts. What I normally do is like this:
+
+1. Copy libtex from ADDSCRIPTS to the directory where my current TeX document
+is.
+
+2. Edit it
+
+ * JOURNAL is the name of the template
+ * PREFIX is the place where you keep biblio (and all its stuff)
+ * REFS is your references database
+ * FORMATS is a place where you keep format files (templates)
+ * PROJECT is a name of your TeX file WITHOUT extension.
+ Normally you do for file myarticle.tex
+ libtex myarticle
+ and myarticle goes to PROJECT variable.
+ But you can just put it like
+ PROJECT=myarticle
+ in the text of libtex and then type
+ libtex
+ only to compile your TeX document.
+
+3. After running libtex (if everything goes right) you will have
+ a file named "myarticle.dvi" and "myarticle.1.tex" and some more, which are
+ not important.
+
+Working version of libtex (it works even without any installation) is in the
+EXAMPLES dir. Try it.
+-----
+
+About biblist - it produces a full references list from all the entries you have
+in your database. Copy it somewhere and edit:
+REFSTEX is the output file;
+FORMATS is the format file. You can edit it, if you like.
+
+Run biblist and you get references.tex file, and references.dvi file.
+-----
+
+About biblist_html - does the same what biblist does, but outputs in HTML.
+About --prefix option you can read in 7.B and 7.C. Formats, of course, are
+different from what you use for TeX output. I provide formats_html.biblist file
+(find it in the "formats" directory) - you can easily edit it.
+
+-------------------------------------
+
+9. PERL TO C
+
+If everything went OK and you are going to use biblio, I have an idea about
+speeding it up. You can use "perlcc" to make a real binary from Perl's script.
+Sometimes it is a good idea, sometimes not. What I found: binary of biblio
+is 50% (yeah, yeah - 50!) faster than Perl-script. So it is worthy of trying!
+Do:
+
+ perlcc -o biblio.exe biblio.pl
+
+and you will get biblio.exe executable (it will take some time - translation to
+C and then compilation).
+
+If you succeeded, make a link called "biblio" to biblio.exe (at the same
+directory, where you have biblio.pl; so, you have to erase an old link biblio
+pointing to biblio.pl).
+
+All the rest is the same.
+
+If you are interested in C sources, try
+
+ perlcc -sav -o biblio.exe biblio.pl
+
+It will save sources for you! Just great! Althoug I don't think, this C-source
+is really readable! :)
+
+-------------------------------------
+
+10. TO DO
+
+A lot of things are very raw. Only a couple of people tried it and I cannot say
+it was sufficiently tested. So if you discover any bug or have any suggestion
+write directly to me (rstepanyan@yahoo.com).
+
+This script now supports only very primitive way of citation: each citation
+is numbered and this number is its identifier. So, citation in the form
+"Smith(1990a)" are impossible. That is, probably, the first thing to do
+(This kind of citations is used in Rev. of Modern Physics, for instance).
+
+I do not have too much time right now, but I am constantly thinking about it.
+
+-------------------------------------
+
+11. Known Bugs
+
+11.A. Lost Lines (for ver.1.2 only)
+
+From ver.1.2 there is no points and commas at the beginning of the line.
+Like in the piece of text
+
+ Was shown in work
+ \cite{lab2}. Blah-Blah-Blah
+
+if we use --movepoint option we get
+
+ Was shown in work
+ .\cite{lab2} Blah-Blah-Blah
+
+(and ver.1.1 really did it this way).
+But it should be (and from ver.1.2 it IS)
+
+ Was shown in work.\cite{lab2} Blah-Blah-Blah
+
+That is exactly what is fixed now. Although it adds a new bug: if you have
+
+ Was shown in work
+ % Blah-Blah-Blah
+ \cite{lab2}. Blah-Blah-Blah#
+
+then one line is LOST!!!! (Guess why!)
+
+-------------------------------------
+Oh, now it is really the EOF! \ No newline at end of file
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