packages feed

hs-bibutils 6.8.0.0 → 6.10.0.0

raw patch · 70 files changed

+8028/−6828 lines, 70 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,3 +1,8 @@+# 6.10.0.0++  - Import Bibutils 6.10++ # 6.8.0.0    - Import Bibutils 6.8
bibutils/adsout.c view
@@ -1,8 +1,8 @@ /*  * adsout.c  *- * Copyright (c) Richard Mathar 2007-2019- * Copyright (c) Chris Putnam 2007-2019+ * Copyright (c) Richard Mathar 2007-2020+ * Copyright (c) Chris Putnam 2007-2020  *  * Program and source code released under the GPL version 2  *@@ -174,8 +174,7 @@ 			str_strcat( &fulltitle, vol ); 		} -		iss = fields_findv_firstof( in, LEVEL_ANY, FIELDS_STRP, "ISSUE",-			"NUMBER", NULL );+		iss = fields_findv_firstof( in, LEVEL_ANY, FIELDS_STRP, "ISSUE", "NUMBER", NULL ); 		if ( str_has_value( iss ) ) { 			str_strcatc( &fulltitle, ", no. " ); 			str_strcat( &fulltitle, iss );@@ -632,7 +631,7 @@ { 	int type, status = BIBL_OK; -	fields_clearused( in );+	fields_clear_used( in ); 	type = get_type( in );  	append_Rtag   ( in, "%R", type, out, &status );
bibutils/adsout_journals.c view
@@ -1,4510 +1,4434 @@ /* http://adsabs.harvard.edu/abs_doc/journals1.html  * download URL source then parse with  * fgrep setfields journals1.html | awk -F ';' '{printf "%s\n",$2}'- * | cut -c 7-12,24- | sed 's/"//g' | awk '{printf "\"%s\",\n",$0}'- * | sort -k 2- *- */-static const char *journals[] = {-"TDR.. 3D Research",-"AASHS AAS Hist. Ser.",-"AASPB AAS Photo Bulletin",-"AAN.. AAVSO Alert Notice",-"AAVSC AAVSO Circular",-"AAVSN AAVSO Newsletter",-"AAVSB AAVSO Solar Bulletin",-"AbaOB Abastumanskaia Astrofizicheskaia Observatoriia Byulleten",-"AbbOO Abbadia Observatory Observations",-"AADDR Abhandlungen Akad. Wiss. DDR",-"AAGot Abhandlungen Akad. Wiss. Göttingen",-"ABWG. Abh. Braunschweigische Wissenschaftliche Ges.",-"AbhP. Abh. der Preuß. Akademie der Wissenschaften Jahrg",-"AbhKP Abh. Konigl. Preuss. Akad. Wissenschaften Jahre 1906,92, Berlin,1907",-"AbhBr Abh. naturwiss. Verein Bremen",-"AbApA Abstract and Applied Analysis",-"ASFAS Academia Scientiarum Fennica Annales Series Physica",-"AOIJ. Academic Open Internet Journal",-"CR2.. Academie des Sciences Comptes Rendus Serie Mecanique Physique Chimie Sciences de la Terre et de l Univers",-"CRAS. Academie des Sciences Paris Comptes Rendus",-"CRASB Academie des Sciences Paris Comptes Rendus Serie B Sciences Physiques",-"CRASG Academie des Sciences Paris Comptes Rendus Serie Generale La Vie des Sciences",-"CRASP Academie des Sciences Paris Comptes Rendus Serie Physique Astrophysique",-"CRASM Academie des Sciences Paris Comptes Rendus Serie Sciences Mathematiques",-"CRASA Academie des Sciences Paris Comptes Rendus Vie Academique Semester Supplement",-"MeARB Academie Royale de Belgique Classe des Sciences Memoires",-"ASSAB Academie Serbe des Sciences et des Arts Bulletin Classe des Sciences Techniques",-"ASLLR Accademia di Scienze e Lettere Istituto Lombardo Rendiconti Serie della Classe di Scienze Matematiche e Naturali Sezione Scienze Matematiche Fisiche Chimiche e Geologiche",-"ANLAM Accademia Nazionale dei Lincei Atti Rendiconti Classe di Matematica e Applicazioni",-"ANLAF Accademia Nazionale dei Lincei Atti Rendiconti Classe di Scienze Fisiche e Naturali",-"ANLAR Accademia Nazionale dei Lincei Atti Rendiconti Classe di Scienze Fisiche Matematiche e Naturali",-"AcChR Accounts Chem. Res.",-"AcBu. Acoust. Bull.",-"AIH.. Acoustical Imaging and Holography",-"APhy. Acoustical Physics",-"ASAJ. Acoustical Society of America Journal",-"AcouL Acoustics Letters",-"AcAcu Acta Acustica",-"AcAer Acta Aerodynamica Sinica",-"AcAAS Acta Aeronautica et Astronautica Sinica",-"AcAM. Acta Applicandae Mathematicae",-"AcAri Acta Arithmetica",-"AcArm Acta Armamentarii",-"AcAau Acta Astronautica",-"AcA.. Acta Astronomica",-"AcASn Acta Astronomica Sinica",-"AcAS. Acta Astronomica Supplementa",-"AcApS Acta Astrophysica Sinica",-"AcAuS Acta Automatica Sinica",-"AcBAS Acta Biochimica and Biophysica Academiae Scientarium Hungarica",-"AcBBH Acta Biochimica et Biophysica Hungarica",-"AcBBS Acta Biochimica et Biophysica Sinica",-"AcBio Acta Biotheoretica",-"AcCS. Acta Chemica Scandinavica Series A",-"ACIP. Acta Cienc. Indica Phys.",-"AcC.. Acta Cosmologica",-"AcCrA Acta Crystallographica Section A",-"AcCrB Acta Crystallographica Section B",-"AcCrC Acta Crystallographica Section C",-"AcCrD Acta Crystallographica Section D",-"AcElc Acta Electrochimica",-"AcEle Acta Electronica",-"AcElS Acta Electronica Sinica",-"AcESn Acta Electron. Sinica",-"AcFre Acta Frequenza",-"AcGG. Acta Geod. Geophys.",-"AcGeo Acta Geophysica",-"AcGeP Acta Geophysica Polonica",-"AcGSn Acta Geophys. Sinica",-"AcHA. Acta Historica Astronomiae",-"AcMCS Acta Materiae Compositae Sinica",-"AcMat Acta Materialia",-"AcMa. Acta Mathematica",-"AcMaH Acta Mathematica Hungarica",-"AcMaS Acta Mathematica Sinica",-"AcMSw Acta Mathematica Sweden",-"AcMec Acta Mechanica",-"AcMSn Acta Mechanica Sinica",-"AcMSS Acta Mechanica Solida Sinica",-"AcMet Acta Metallurgica",-"AcMMS Acta Metallurgica et Materialia Supplement",-"AcMeS Acta Meteorologica Sinica",-"AcNum Acta Numerica",-"AcOSi Acta Oceanica Sinica",-"AcOdS Acta Odontologica Scandinavica",-"AcO.. Acta Oecologica",-"AcOpS Acta Optica Sinica",-"AcOrS Acta Orthopaedica Scandinavica",-"AcPSi Acta Photonica Sinica",-"AcPhy Acta Physica",-"APASH Acta Physica Academiae Scientiarum Hungaricae",-"AcPhA Acta Physica Austriaca",-"AcPAS Acta Physica Austriaca Supplement",-"AcPhC Acta Physica et Chemica",-"AcPhH Acta Physica Hungarica",-"APHHI Acta Physica Hungarica Heavy Ion Physics",-"APHQE Acta Physica Hungarica Quantum Electronics",-"AcPP. Acta Physica Polonica",-"AcPPA Acta Physica Polonica A",-"AcPPB Acta Physica Polonica B",-"AcPSn Acta Physica Sinica",-"AcPSl Acta Physica Slovaca",-"AcPhS Acta Physiologica Scandinavica",-"AcPol Acta Polytechnica",-"AcPSc Acta Polytechnica Scandinavica Applied Physics Series",-"AcPSP Acta Polytechnica Scandinavica Physics",-"AcSSn Acta Seismologica Sinica",-"ASSF. Acta Societatis Scientarum Fennicae",-"ASSFA Acta Societatis Scientarum Fennicae Series A",-"AcTec Acta Technica",-"AcUni Acta Universitaria",-"AcMPh Acta Universitatis Caroliae. Mathematica et Physica",-"AcMPS Acta Universitatis Caroliae. Mathematica et Physica Supplement",-"APEC. Active and Passive Electronic Components",-"Acu.. Acustica",-"AdBeh Adaptive Behaviour",-"AdAs. Ad Astra",-"ARPM. Adgeziia Rasplavov i Paika Materialov",-"Adsor Adsorption",-"AdCM. Advanced Ceramic Materials",-"AdCoL Advanced Composites Letters",-"AMP.. Advanced Materials and Processes",-"APM.. Advanced Performance Materials",-"ASL.. Advanced Science Letters",-"AdSAC Advanced Series in Astrophysics and Cosmology",-"AdSMP Advanced Series in Mathematical Physics",-"ASDHE Advanced Series on Directions in High Energy Physics",-"AdTPh Advanced Texts in Physics",-"AdAeS Advances in Aeronautical Sciences",-"AdApM Advances in Applied Mathematics",-"AdAst Advances in Astronomy",-"AASP. Advances in Astronomy and Space Physics",-"AdAtS Advances in Atmospheric Sciences",-"AdAMP Advances in Atomic and Molecular Physics",-"AAMOP Advances in Atomic Molecular and Optical Physics",-"AdBMP Advances in Biological and Medical Physics",-"AdBio Advances in Biophysics",-"AdCP. Advances in Cardiovascular Physics",-"AdChP Advances in Chemical Physics",-"AdCIS Advances in Colloid and Interface Science",-"AdCoM Advances in Computational Mathematics",-"AdCMP Advances in Condensed Matter Physics",-"AdEPS Advances in Earth and Planetary Sciences",-"AdEOA Advances in Earth Oriented Applications and Space Technology",-"AEEP. Advances in Electronics and Electron Physics",-"AEEPS Advances in Electronics and Electron Physics Supplement",-"AdExG Advances in Exploration Geophysics",-"AdGDP Advances in Geophysical Data Processing",-"AdGR. Advances in Geophysical Research",-"AdGeo Advances in Geophysics",-"AdGeS Advances in Geophysics Supplement",-"AdG.. Advances in Geosciences",-"AdHEP Advances in High Energy Physics",-"ADIEP Advances in Imaging and Electron Physics",-"AdMRe Advances in Magnetic Resonance",-"AdMPC Advances in Materials Physics and Chemistry",-"AdMS. Advances in Materials Science",-"AdMSE Advances in Materials Science and Engineering",-"AdMaP Advances in Mathematical Physics",-"AdMat Advances in Mathematics",-"AdMPS Advances in Mechanics and Physics of Surfaces",-"AdMUM Advances in Mechanics Uspekhi Mekhaniki",-"AdMet Advances in Meteorology",-"AdNOp Advances in Nonlinear Optics",-"AdNuP Advances in Nuclear Physics",-"AdPhG Advances in Physical Geochemistry",-"AdPhy Advances in Physics",-"AdPlP Advances in Plasma Physics",-"AdPPR Advances in Plasma Physics Research",-"AdPoS Advances in Polymer Science",-"AdQC. Advances in Quantum Chemistry",-"AdRS. Advances in Radio Science",-"AdSR. Advances in Science and Research",-"AdSSP Advances in Solid State Physics",-"AdSpR Advances in Space Research",-"AdAnS Advances in the Astronautical Sciences",-"AdTAM Advances in Theoretical and Applied Mechanics",-"AdTMP Advances in Theoretical and Mathematical Physics",-"AdThP Advances in Theoretical Physics",-"AdWR. Advances in Water Resources",-"AAMS. Adv. Appl. Mech. Suppl.",-"ATTM. AEG Telefunken Technische Mitteilungen",-"AeoRe Aeolian Research",-"Aekv. Aerodinamika kanalov i ventiliatorov",-"AeRaG Aerodinamika Razrezhennykh Gazov",-"AerTe Aerojet Technology",-"AeIBu Aerokosmicheski Izsledvaniia B lgariia",-"AeJ.. Aeronautical Journal",-"AeQ.. Aeronautical Quarterly",-"AeSIJ Aeronautical Society India Journal",-"AerST Aerosol Science Technology",-"AeAm. Aerospace America",-"AeCh. Aerospace China",-"AeCM. Aerospace Composites and Materials",-"AeDy. Aerospace Dynamics",-"AeEn. Aerospace Engineering",-"AeMat Aerospace Materials",-"AeMed Aerospace Medicine",-"ARBl. Aerospace Research in Bulgaria",-"AeTJa Aerospace Technology Japan",-"Aero. Aerospace UK",-"AFGL. AFGL-TR-0208 Environemental Research papers",-"AfrSk African Skies",-"AGUFM AGU Fall Meeting Abstracts",-"AGUSM AGU Spring Meeting Abstracts",-"AIAAJ AIAA Journal",-"AIASJ AIAA Student Journal",-"AIChE AIChE Journal",-"EDAM. AI EDAM",-"AIHAJ AIHA Journal",-"AIPA. AIP Advances",-"AirSp Air and Space",-"AirE. Aircraft Engineering",-"AirCo Air et Cosmos",-"AFMa. Air Force Magazine",-"AiInt Air International",-"APCAJ Air Pollution Control Association Journal",-"AkAtP Akademia Athenon Praktika",-"DoArm Akademiia Nauk Armianskoi SSR Doklady",-"DoAze Akademiia Nauk Azerbaidzhanskoi SSR Doklady",-"IzAze Akademiia Nauk Azerbaidzhanskoi SSR Izvestiia Seriia Fiziko Tekhnicheskikh i Matematicheskikh Nauk",-"IFBel Akademiia Nauk Belorusskoi SSR Institut Fiziki Nauchnaia Sessiia Minsk Belorussian SSR Zhurnal Prikladnoi Spektroskopii",-"DoBel Akademiia Nauk BSSR Doklady",-"SoGru Akademiia Nauk Gruzii Soobshcheniia",-"VeKaz Akademiia Nauk Kazakhskoi SSR Vestnik",-"IzLat Akademiia Nauk Latviiskoi SSR Izvestiia Seriia Fizicheskikh i Tekhnicheskikh Nauk",-"IzMol Akademiia Nauk Moldavskoi SSR Izvestiia Seriia Fiziko Tekhnicheskikh i Matematicheskikh Nauk",-"DoSSR Akademiia Nauk SSSR Doklady",-"FizAO Akademiia Nauk SSSR Fizika Atmosfery i Okeana",-"InSSR Akademiia Nauk SSSR Investiia Mekhanika Zhidkosti i Gaza",-"IzFZ. Akademiia Nauk SSSR, Izvestiia, Fizika Zemli",-"IzSSR Akademiia Nauk SSSR Izvestiia Seriia Fizicheskaia",-"MeSSR Akademiia Nauk SSSR Mekhanika Zhidkosti i Gaza",-"FiMos Akademiia Nauk SSSR Otdelenie Obshchei Fiziki i Astronomii Nauchnaia Sessiia Moscow USSR Uspekhi Fizicheskikh Nauk",-"IzSib Akademiia Nauk SSSR Sibirskoe Otdelenie Izvestiia",-"SiSSR Akademiia Nauk SSSR Sibirskoe Otdelenie Izvestiia Seriia Tekhnicheskie Nauki",-"KzSib Akademiia Nauk SSSR Sibirskoi Otdelenie Izvestiia Seriia Tekhnicheskikh Nauk",-"VeSSR Akademiia Nauk SSSR Vestnik",-"DoTad Akademiia Nauk Tadzhikskoi SSR Doklady",-"FiSSR Akademiia Nauk Tadzhikskoi SSR Fiziko Tekhnicheskii Institut Dyushambe Tadzhik SSR Akademiia Nauk Tadzhikskoi SSR Doklady",-"ABTad Akademiia Nauk Tadzhikskoi SSR Institut Astrofiziki Biulleten",-"IzTur Akademiia Nauk Turkmenskoi SSR Izvestiia Seriia Fiziko Tekhnicheskikh Khimicheskikh i Geologicheskikh Nauk",-"IzUkr Akademiia Nauk Ukrainian SSSR Izvestiia Seriia Fizicheskaia",-"PrUkr Akademiia Nauk Ukrains koi RSR Dopovidi Matematika Prirodoznavstvo Tekhnichni Nauki",-"FiUkr Akademiia Nauk Ukrain skoi RSR Dopovidi Seriia Fiziko Matematichni ta Tekhnichni Nauki",-"DoUkr Akademiia Nauk Ukrains koi RSR Dopovidi Seriia Fiziko Matematichni ta Tekhnichni Nauki",-"ViUkr Akademiia Nauk Ukrains koi RSR Visnik",-"MGUkr Akademiia Nauk Ukrainskoi SSR Morskie Gidrofizicheskie Issledovaniia",-"DoUzb Akademiia Nauk Uzbekskoi SSR Doklady",-"IzUzb Akademiia Nauk Uzbekskoi SSR Izvestiia Seriia Fiziko Matematicheskikh Nauk",-"VeNav Akademiia Navuk BSSR Vestsi Seryia Fizika Tekhnichnykh Navuk",-"AkZh. Akusticheskii Zhurnal",-"AkTek Akustika i Ul trazvukovaia Tekhnika",-"AAIzN Alma Ata Izdatel Nauka",-"ALMAN ALMA Newsletter",-"AlFr. Alta Frequenza",-"AFRE. Alta Frequenza Rivista di Elettronica",-"Ambio Ambio",-"AVSOA American Association of Variable Stars Observers Abstracts",-"AVSOM American Association of Variable Stars Observers Monographs",-"AVSOQ American Association of Variable Stars Observers Quarterly Reports",-"AVSOR American Association of Variable Stars Observers Reports",-"ACSB. American Ceramic Society Bulletin",-"ACSC. American Ceramic Society Communications",-"ACSJ. American Ceramic Society Journal",-"AHSJ. American Helicopter Society Journal",-"AmJC. American Journal of Cardiology",-"AmJM. American Journal of Mathematics",-"AmJPh American Journal of Physics",-"AmJS. American Journal of Science",-"AmJSA American Journal of Science and Arts",-"AMSBu American Meteorological Society Bulletin",-"AmMin American Mineralogist",-"AmSci American Scientist",-"ASME. American Society of Mechanical Engineers",-"AnCoi Anais do Observatorio Astronomico da Universidade de Coimbra",-"AnFis Anales de Fisica",-"AICSP Analog Integrated Circuits and Signal Processing",-"AnMP. Analysis and Mathematical Physics",-"AnBio Analytical Biochemistry",-"AnaCh Analytical Chemistry",-"AnaIn Analytical Instrumentation",-"BSSR. AN BSSR Institut Teplo i Massoobmena Vsesoiuznaia Konferentsiia Teplomassoobmenu Minsk Belorussian SSR Preprint",-"AAONw Anglo-Australian Observatory Epping Newsletter",-"AAOPr Anglo-Australian Observatory Epping Preprint",-"ARIJ. An Interdisciplinary Journal of Physical and Engineering Sciences",-"CSMPA Ankara Universite Faculte des Sciences Communications Serie Mathematiques Physique et Astronomie",-"AASF. Ann. Acad. Sci. Fennicae",-"AnStr Annalen der Kaiserlichen Universitats-Sternwarte in Strassburg",-"AnWie Annalen der K.K. Sternwarte Wien",-"AnSWi Annalen der K.K. Universitaets-Sternwarte in Wien (Waehring)",-"AnMun Annalen der Koeniglichen Sternwarte bei Muenchen",-"AnP.. Annalen der Physik",-"AnWiD Annalen der Universitaets-Sternwarte Wien, Dritter Folge",-"AnMet Annalen Meteorologie",-"AnLei Annalen van de Sterrewacht te Leiden",-"AnAp. Annales d'Astrophysique",-"AnCPh Annales de Chimie et de Physique",-"AnG.. Annales de Geophysique",-"AFLB. Annales de la Fondation Louis de Broglie",-"ASSB. Annales de la Societe Scietifique de Bruxelles",-"AnIHP Annales de L'Institut Henri Poincare Section Physique Theorique",-"AnTou Annales de l'Observatoire Astron. et Meteo. de Toulouse",-"AnAIK Annales de l'Observatoire astronomique de l'Université imériale de Kharkow",-"AOTok Annales de l'Observatoire astronomique de Tokyo",-"AnZoC Annales de l'Observatoire astronomique de Zô-sè (Chine)",-"AnAPM Annales de l'Observatoire d'astronomie physique de Paris, Section d'astrophysique, à Meudon",-"AnBes Annales de l'Observatoire de Besancon",-"AnBor Annales de l'Observatoire de Bordeaux",-"AnNic Annales de l'Observatoire de Nice",-"AnPar Annales de l'Observatoire de Paris",-"AnPOb Annales de l'Observatoire de Paris. Observations",-"AnOSt Annales de l'Observatoire de Strasbourg",-"AnRio Annales de l'Observatoire Imperial de Rio de Janeiro",-"AnAth Annales de l'Observatoire national d'Athènes",-"AnOB. Annales de l'Observatoire Royal de Belgique",-"AnOBN Annales de l'Observatoire Royal de Belgique Nouvelle serie",-"AnBru Annales de l'Observatoire Royal de Bruxelles",-"AnPh. Annales de Physique",-"AnPBM Annales de Physique Biologique et Medicale",-"AnPCS Annales de Physique Colloque Supplement",-"AnTel Annales des Telecommunications",-"AnGVP Annales du Bureau des Longitudes, Gauthier-Villars, Paris",-"AFChr Annales Francaises de Chronometrie",-"AnGeo Annales Geophysicae",-"AnGeA Annales Geophysicae Series A Upper Atmosphere and Space Sciences",-"AnGeB Annales Geophysicae Series B Terrestrial and Planetary Physics",-"AnHP. Annales Henri Poincaré",-"AnTec Annales Tectonicae",-"AUGGM Annales UMCS, Geographia, Geologia, Mineralogia et Petrographia",-"AUSPh Annales UMCS, Sectio AAA: PHYSICA",-"AnApS Annals of Applied Statistics",-"AGp.. Annals of Geophysics",-"AnGla Annals of Glaciology",-"AnGAG Annals of Global Analysis Geometry",-"AnHar Annals of Harvard College Observatory",-"AnMat Annals of Mathematics",-"AnMAI Annals of Mathematics and Artificial Intelligence",-"AnOR. Annals of Operations Research",-"AnPhy Annals of Physics",-"AnREE Annals of Research on Engineering Education",-"AnCGH Annals of Royal Observatory, Cape of Good Hope",-"AnSci Annals of Science",-"AnSta Annals of Statistics",-"AnSAO Annals of the Astrophysical Observatory of the Smithsonian Institution",-"AnBos Annals of the Bosscha Observatory Lembang (Java) Indonesia",-"AnCap Annals of the Cape Observatory",-"AnDea Annals of the Dearborn Observatory",-"AnDud Annals of the Dudley Observatory",-"AnISM Annals of the Institute of Statistical Mathematics",-"AIQSY Annals of the IQSY",-"AnIPS Annals of the Israel Physical Society",-"AnLow Annals of the Lowell Observatory",-"NYASA Annals of the New York Academy of Sciences",-"AnLL. Annals of the Observatory of Lucien Libert",-"AnLun Annals of the Observatory of Lund",-"AnLuS Annals of the Observatory of Lund Supplement",-"AnOLL Annals of the Private Observatory of Lucien Libert",-"AnEdi Annals of the Royal Observatory, Edinburgh",-"AnSPC Annals of the Solar Physics Observatory Cambridge England",-"AnTok Annals of the Tokyo Astronomical Observatory",-"AnUCP Annals of the University of Craiova Physics AUC",-"AnRev Ann Rev",-"AnBSJ Annual Bulletin of the Societe Jersiaise",-"YalAR Annual Report of the Astronomer of the Winchester Observatory of Yale College",-"ARKod Annual Report of the Kodaikanal Observatory",-"MMAAR Annual Report of the Maria Mitchell Association",-"ARAOJ Annual Report of the National Astronomical Observatory of Japan",-"AnRSI Annual Report of the Smithsonian Institution",-"WinAR Annual Report of the Windsor Observatory, New South Wales",-"ARAC. Annual Review of Analytical Chemistry",-"ARCMP Annual Review of Condensed Matter Physics",-"AREPS Annual Review of Earth and Planetary Sciences",-"AnRE. Annual Review of Energy",-"AnRFM Annual Review of Fluid Mechanics",-"ARIST Annual Review of Information Science and Technology",-"ARMS. Annual Review of Marine Science",-"AnRMS Annual Review of Materials Science",-"ARNPS Annual Review of Nuclear and Particle Science",-"ARPC. Annual Review of Physical Chemistry",-"ARCP. Annual Reviews of Computational Physics",-"AnMN. Antarctic Meteorite Newsletter",-"AMR.. Antarctic Meteorite Research",-"Antk. Antarktika",-"Anten Antenny",-"AnCan Anticancer Research",-"IORA. Anuario publicado pelo Imperial Observatorio do Rio de Janeiro",-"IORAS Anuario publicado pelo Imperial Observatorio do Rio de Janeiro Suplemento",-"ApAN. Apatity Akademiia Nauk SSSR",-"ApKF. Apatity Kol skii Filial AN SSSR",-"Apei. Apeiron",-"ApMat Aplikace Matematiky, Applied Mathematics",-"AppAn Applicable Analysis",-"ApMa. Applications of Mathematics",-"ApAc. Applied Acoustics",-"ApAI. Applied Artificial Intelligence",-"ApCM. Applied Composite Materials",-"ACESJ Applied Computational Electromagnetics Society Journal",-"ApEn. Applied Energy",-"ApEnM Applied Environmental Microbiology",-"ApGeo Applied Geophysics",-"ApMF. Applied Mathematical Finance",-"AMat. Applied Mathematics",-"ApMM. Applied Mathematics and Mechanics",-"ApMaC Applied Mathematics Computation",-"ApMaL Applied Mathematics Letters",-"ApMaM Applied Mathematics Mechanics English Edition",-"ApMaO Applied Mathematics Optimization",-"AMM.. Applied Mechanics and Materials",-"ApMRv Applied Mechanics Reviews",-"ApMic Applied Microbiology",-"ApMT. Applied Microgravity Technology",-"ApNan Applied Nanoscience",-"ApNM. Applied Numerical Mathematics",-"ApOpt Applied Optics",-"ApPhy Applied Physics",-"ApPhA Applied Physics A: Materials Science &amp",-"ApPhB Applied Physics B: Lasers and Optics",-"ApPPL Applied Physics B Photophysics Laser Chemistry",-"ApPhC Applied Physics Communications",-"APExp Applied Physics Express",-"ApPhL Applied Physics Letters",-"ApPhR Applied Physics Research",-"ApScR Applied Scientific Research",-"ApSRA Applied Scientific Research Section A",-"ApSRB Applied Scientific Research Section B",-"ApSpe Applied Spectroscopy",-"ApSRv Applied Spectroscopy Reviews",-"ApSup Applied Superconductivity",-"ApSS. Applied Surface Science",-"ApWS. Applied Water Science",-"APS.. APS Meeting Abstracts",-"ACMFE Aquatic Conservation: Marine and Freshwater Ecosystems",-"AJSE. Arabian Journal of Science Engineering",-"Arch. Archaeoastronomy",-"ArchS Archaeoastronomy Supplement",-"Archa Archaeometry",-"ASBTV Archenhold-Sternwarte Berlin-Treptow, Vortrage Schr.",-"ArApM Archive Applied Mechanics",-"AHES. Archive for History of Exact Sciences",-"ArRMA Archive for Rational Mechanics and Analysis",-"ArElU Archiv Elektronik und Uebertragungstechnik",-"AAM.. Archive of Applied Mechanics",-"ArApM Archive of Applied Mechanics",-"ArBB. Archive of Biochemistry and Biophysics",-"ArAco Archives Acoustics",-"ArS.. Archives des Sciences",-"ArSPN Archives des Sciences Physiques et Naturelles",-"AMGBA Archives for Meteorology Geophysics and Bioclimatology Series A Meteorology and Atmopsheric Physics",-"AMGBB Archives for Meteorology Geophysics and Bioclimatology Series B Theoretical and Applied Climatology",-"AIPBB Archives Internationales de Physiologie de Biochimie et de Biophysique",-"ArNSc Archives Neerlandaises des Sciences Exactes et Naturelles",-"ArMaN Archiv for Mathematik og Naturvidenskab",-"AMGBK Archiv Meteorologie Geophysik und Bioklimatologie Serie B Klimatologie und Umweltmeteorologie Strahlungsforschung",-"AMGBS Archiv Meteorologie Geophysik und Bioklimatologie Serie Meteorologie und Geophysik",-"ArMeS Archiv of Mechanics, Archiwum Mechaniki Stosowanej",-"ArCom Archivum Combustionis",-"ArAku Archiwum Akustyki",-"ArAuT Archiwum Automatyki i Telemechaniki",-"ArBuM Archiwum Budowy Maszyn",-"ArEle Archiwum Elektrotechniki",-"ArMeS Archiwum Mechaniki Stosowanej",-"ArPSp Archiwum Procesow Spalania",-"ArTSp Archiwum Termodynamiki i Spalania",-"AAAR. Arctic, Antarctic and Alpine Research",-"ArA.. Arkiv for Astronomi",-"ArM.. Arkiv for Matematik",-"ArMAF Arkiv for Matematik, Astronomi och Fysik",-"ArmOL Armagh Observatory Leaflet",-"ArJPh Armenian Journal of Physics",-"ArtSa Artificial Satellites",-"astro ArXiv Astrophysics e-prints",-"cs... ArXiv Computer Science e-prints",-"arXiv ArXiv e-prints",-"gr.qc ArXiv General Relativity and Quantum Cosmology eprints",-"hepex ArXiv High Energy Physics - Experiment e-prints",-"hepla ArXiv High Energy Physics - Lattice e-prints",-"hepph ArXiv High Energy Physics - Phenomenology e-prints",-"hepth ArXiv High Energy Physics - Theory e-prints",-"mathp ArXiv Mathematical Physics e-prints",-"math. ArXiv Mathematics e-prints",-"nlin. ArXiv Nonlinear Sciences e-prints",-"nucle ArXiv Nuclear Experiment e-prints",-"nuclt ArXiv Nuclear Theory e-prints",-"physicArXiv Physics e-prints",-"ASHRA ASHRAE Journal",-"AsJPh Asian Journal of Physics",-"Aslib Aslib Proceedings: new information perspectives",-"ATJEM ASME Transactions Journal Engineering Materials and Technology",-"ATJDS ASME Transactions Journal of Dynamic Systems and Measurement Control B",-"ATJEl ASME Transactions Journal of Electronic Packaging",-"ATJEG ASME Transactions Journal of Engineering Gas Turbines and Power",-"ATJEP ASME Transactions Journal of Engineering Power",-"ATJFE ASME Transactions Journal of Fluids Engineering",-"ATJHT ASME Transactions Journal of Heat Transfer",-"ATJLT ASME Transactions Journal of Lubrication Technology",-"ATJSE ASME Transactions Journal of Solar Energy and Engineering",-"ATJTr ASME Transactions Journal of Tribology",-"ATJTu ASME Transactions Journal of Turbomachinery",-"ATJVA ASME Transactions Journal of Vibration Acoustics",-"ATJAM ASME Transactions Series E Journal of Applied Mechanics",-"ATJEP ASME Transactions Series Journal of Engineering Power",-"AsAut Assembly Automation",-"ATMAB Association Technique Maritime et Aeronautique Bulletin",-"ATMAS Association Technique Maritime et Aeronautique Session Paris France ONERA TP",-"AVSVB Associazione Veneta Osservatori di Stelle Variabili Bulletin",-"Aster Aster",-"StNws ASTM Standardization News",-"AsBio Astrobiology",-"AISAO Astrofizicheskie Issledovaniia Izvestiya Spetsial'noj Astrofizicheskoj Observatorii",-"AISof Astrofizicheskie Issledovaniya Sofia",-"Afz.. Astrofizika",-"AAfz. Astrometriia i Astrofizika",-"AsAc. Astronautica Acta",-"AsAcS Astronautica Acta Supplement",-"AsAer Astronautics Aeronautics",-"Asnau Astronautik",-"AUBas Astron. Inst. Univ. Basel",-"Anews ASTRON Newsletter",-"AsUAI Astronomia. La rivista dell' Unione Astrofili Italiani",-"Astnm Astronomia UAI",-"USNOM Astronomical and Meteorological Observations made at the U.S. Naval Observatory",-"ACiCh Astronomical Circular",-"ACMan Astronomical Contributions from the University of Manchester",-"TamCo Astronomical Contributions from the University of South Florida Tampa",-"adass Astronomical Data Analysis Software and Systems",-"ADCBu Astronomical Data Center Bulletin",-"AstHe Astronomical Herald",-"AstLt Astronomical Letters",-"ANote Astronomical Notes University of Gothenburg Sweden Section of Astronomy",-"USNOA Astronomical Observations made at the U.S. Naval Observatory",-"UCLAP Astronomical Papers University of California Los Angeles",-"AReg. Astronomical Register",-"ASSA. Astronomical Society of South Africa, Cape Centre",-"AVest Astronomicheskii Vestnik",-"AVISS Astronomicheskii Vestnik Issledovaniia Solnechnoi Sistemy",-"AZh.. Astronomicheskii Zhurnal",-"ATsir Astronomicheskij Tsirkulyar",-"KazOB Astronomicheskoj Observatorii Kazan Byulleten",-"AsSch Astronomie in der Schule",-"AAAN. Astronomische Abhandlungen als Erganzungshefte zu den Astronomische Nachrichten",-"AAHam Astronomische Abhandlungen der Hamburger Sternwarte",-"ABMun Astronomische Beobachtungen angestellt auf der K. Sternwarte zu Bogenhausen bei Muenchen",-"ABSBe Astronomische Beobachtungen auf der Koniglichen Sternwarte zu Berlin",-"ABKie Astronomische Beobachtungen auf der Sternwarte der Koeniglichen Christian-Albrechts-Universitaet zu Kiel",-"MiZur Astronomische Mitteilungen der Eidgenössischen Sternwarte Zurich",-"MiBre Astronomische Mitteilungen der Koeniglichen Universitaets-Sternwarte zu Breslau",-"MiGoe Astronomische Mitteilungen der Universitaets-Sternwarte zu Goettingen",-"AN... Astronomische Nachrichten",-"ANS.. Astronomische Nachrichten Supplement",-"MitSZ Astronomischen Mitteilungen Eidgen. Sternwarte Zurich",-"AJB.. Astronomischer Jahresbericht",-"MiARI Astronomisches Rechen-Institut Heidelberg Mitteilungen Serie A",-"MiARB Astronomisches Rechen-Institut Heidelberg Mitteilungen Serie B",-"ATi.. Astronomisk Tidsskrift",-"Ast.. Astronomy",-"Astro Astronomy",-"AstAp Astronomy and Astro-Physics (formerly The Sidereal Messenger)",-"ADIL. Astronomy Data Image Library",-"AEdRv Astronomy Education Review",-"AExpr Astronomy Express",-"AstL. Astronomy Letters",-"AsNow Astronomy Now",-"AstQ. Astronomy Quarterly",-"ARep. Astronomy Reports",-"AASPP Astrononomy and Astrophysics Series",-"APh.. Astroparticle Physics",-"AstBu Astrophysical Bulletin",-"ApInv Astrophysical Investigations",-"ApL.. Astrophysical Letters",-"ApNr. Astrophysica Norvegica",-"Ap... Astrophysics",-"ASPRv Astrophysics and Space Physics Reviews",-"ApSSP Astrophysics and Space Science Proceedings",-"ASTRA Astrophysics and Space Sciences Transactions",-"ApSSS Astrophysics and Space Science Supplement",-"MKAtl Astrophysics monographs University of Chicago Press",-"ArBei Astrophysics Reports Publications of the Beijing Astronomical Observatory",-"ApT.. Astrophysics Today",-"AstPo Astropolitics",-"AsAna Asymptotic Analysis",-"BLabR AT&amp",-"AJSEd Atlas Journal of Science Education",-"AtlVS Atlas Poiskovykh Kart Peremennykh Zvezd",-"Atmos Atmosphere",-"AtO.. Atmosphere Ocean",-"AtOpt Atmosphere Optics",-"ACP.. Atmospheric Chemistry &amp",-"ACPD. Atmospheric Chemistry &amp",-"AtmEn Atmospheric Environment",-"AMT.. Atmospheric Measurement Techniques",-"AMTD. Atmospheric Measurement Techniques Discussions",-"AtmRe Atmospheric Research",-"AtSc. Atmospheric Science",-"AtScL Atmospheric Science Letters",-"AtmTe Atmospheric Technology",-"atnfp ATNF Proposal",-"Atom. Atom",-"AD... Atomic Data",-"ADNDT Atomic Data and Nuclear Data Tables",-"AtERv Atomic Energy Review",-"AMOP. Atomic Molecular and Optical Physics",-"AtPhy Atomic Physics",-"AtST. Atomisation Spray Technology",-"AtKe. Atomkernenergie",-"AtEn. Atomnaia Energiia",-"AVET. Atomno Vodorodnaia Energetika i Tekhnologiia",-"ATR.. ATR Australian Telecommunication Research",-"AALST Atti Accad. Ligure Sci. Lett.",-"AAPon Atti Accad. Pontaniana",-"AAST. Atti Accad. Sco. Torino I",-"ATTTJ AT T Technical Journal",-"AurPh Auroral physics",-"AuJAR Australian Journal of Agricultural Research",-"AuJA. Australian Journal of Astronomy",-"AuJCE Australian Journal of Chemical Education",-"AJCh. Australian Journal of Chemistry",-"AuJES Australian Journal of Earth Sciences",-"AuJPh Australian Journal of Physics",-"AuJPA Australian Journal of Physics Astrophysical Supplement",-"AuSRA Australian Journal of Scientific Research A Physical Sciences",-"AJSR. Australian Journal of Soil Research",-"AuMSJ Australian Mathematical Society Journal Series B -- Applied Mathematics",-"AuMM. Australian Meteorological Magazine",-"Autom Automatica",-"ACTAp Automatic Control Theory Applications",-"AuRob Autonomous Robots",-"AvSeM Aviation Space and Environmental Medicine",-"AvWST Aviation Week Space Technology",-"AvKos Aviatsiia i Kosmonavtika",-"AvTek Aviatsionnaia Tekhnika",-"AvTel Avtomatika i Telemekhanika",-"AvPE. Avtomatizatsiia Proektirovaniia Elektronike",-"Avtme Avtometriia",-"BBUSS Babes Bolyai Universitas Studia Series Mathematica",-"BBUSM Babes Bolyai Universitas Studia Series Physica",-"BaPhL Balkan Physics Letters",-"BaltA Baltic Astronomy",-"BamKV Bamberg Kleine Veroeffentlichungen der Remeis-Sternwarte",-"BAVRu BAV Rundbrief",-"BAVSR BAV Rundbrief - Mitteilungsblatt der Berliner Arbeits-gemeinschaft fuer Veraenderliche Sterne",-"BAWMN Bayerische Akademie Wissenschaften mathematisch naturwissenschaftliche Klasse Sitzungsberichte",-"BayAn Bayesian Analysis",-"BBCEn BBC Engineering",-"BRMIC Behavior Research Methods Instruments and Computers",-"BIT.. Behaviour &amp",-"BUAAJ Beijing University Aeronautics and Astronautics Journal",-"BePl. Beitraege Plasmaphysik",-"BeiGe Beitraege zur Geophysik",-"BeiMP Beitraege zur Mineralogie und Petrographie",-"BROGS Belgian Royal Observatory Communications Series Geophysics Series",-"BKAD. Beobachtungen der Kaiserlichen Universitaets-Sternwarte Dorpat",-"BKUJ. Beobachtungen der Kaiserlichen Universitaets-Sternwarte Jurjew",-"BESBe Beobachtungs-Ergebnisse der Koniglichen Sternwarte zu Berlin",-"ANZi. Beobachtungs-Zirkular der Astronomischen Nachrichten",-"BBGPC Berichte der Bunsen-Gesellschaft Physical Chemistry Chemical Physics Berichte",-"BADPG Berlin East Germany Akademie Verlag GmbH Ergebnisse Plasmaphysik und Gaselektronik",-"BAVMM Berlin East Germany Akademie Verlag GmbH Shriftenreihe des Zentralinstituts Mathematik und Mechanik",-"BAVSM Berliner Arbeitsgemeinschaft fuer Veraenderliche Sterne - Mitteilungen",-"BGBGM Berlin Gebrueder Borntraeger Geoexploration Monographs Series",-"Bern. Bernoulli",-"BeElM Beskontaktnye Elektricheskie Mashiny",-"BeSN. Be Star Newsletter",-"BGIBI BGI Bulletin d'Information",-"AstBa Biblioteca Astrei Basarabene",-"BEPM. Bielefeld Encounters in Physics and Mathematics",-"BiLuf Bildmessung und Luftbildwessen",-"BBRC. Biochemical and Biophysical Research Communications",-"BioJ. Biochemical Journal",-"BCB.. Biochemistry and Cell Biology",-"AcBB. Biochimica et Biophysica Acta",-"BioFa Biofabrication",-"BGeo. Biogeosciences",-"BGD.. Biogeosciences Discussions",-"BMNAS Biographical Memoirs National Academy of Sciences",-"BMFRS Biographical Memoirs of Fellows of the Royal Society",-"BiBi. Bioinspiration and Biomimetics",-"BMP.. Biological and Medical Physics",-"BPS.. Biological Physics Series",-"BRCPS Biological Reviews of the Cambridge Philosophical Society",-"BioMa Biomedical Materials",-"BioMi Biomedical Microdevices",-"Biome Biometrika",-"Bion. Bionika",-"BioCh Biophysical Chemistry",-"BpJ.. Biophysical Journal",-"BpBeS Biophysics and Bioengineering Series",-"BioSM Biophysics of Structure and Mechanism",-"Bioph Biophysics USSR",-"Biopk Biophysik",-"Biorh Biorheology",-"BioSc BioScience",-"BiotL Biotechnology Letters",-"BOTor Biuletyn Obserwatoium Astronomicznego Uniwersytetu M. Kopernika w Toruniu",-"BITad Biulletini of the Astronomical Institute Akademiia Nauk Tadzhikskoi",-"BIAst Bjull. Inst. Astrofizikii",-"BlazD BLAZAR Data",-"BAAA. Boletin de la Asociacion Argentina de Astronomia La Plata Argentina",-"BAOM. Boletin de la Astronomico Observatorio de Madrid",-"BIMAF Boletin del Instituto de Matematica Astronomica y Fisica Universidad Nacional de Cordoba Argentina",-"BITon Boletin del Instituto de Tonantzintla",-"BOTT. Boletin de los Observatorios Tonantzintla y Tacubaya",-"BMOE. Boletin mensual del Observatorio del Ebro",-"BlDok Bolgarska Akademiia Nauk Doklady",-"BSVit Bolletino della Societa dei Variabilisti Italiani",-"BoSAI Bollettino della Societa Astronomica Italiana",-"BGSA. Bollettino Geod. Scienzi Affini",-"BonD. Bonner Durchmusterung",-"BoLMe Boundary-Layer Meteorology",-"Brain Brain",-"BVVSA Bratislava Veda Vydavatelstvo Slovenskej Akademie Vied",-"BFWSG Braunschweig Friedr Vieweg und Sohn GmbH",-"BTUM. Braunschweig Technische Universitaet Mitteilungen",-"BrJPh Brazilian Journal of Physics",-"BrWK. Brennstoff Waerme Kraft",-"BJAP. British Journal of Applied Physics",-"BJET. British Journal of Educational Technology",-"BJMSP British Journal of Mathematical and Statistical Psychology",-"BJP.. British Journal of Psychology",-"BTE.. British Telecommunications Engineering",-"BIRM. Brussels Institute Royal Meteorologique de Belgique",-"BuAkK Budapest Akademiai Kiado",-"BlgAJ Bulgarian Astronomical Journal",-"BlGJ. Bulgarian Geophysical Journal",-"BlJMH Bulgarian Journal of Meteorology and Hydrology",-"BlJPh Bulgarian Journal of Physics",-"BlJPS Bulgarian Journal of Physics Supplement",-"BlGeo Bulgarska Akademiia Naukite Geofizichni Institut Izvestiia",-"BlTek Bulgarska Akademiia Naukite Institut Tekhnicheska Kibernetika Izvestiia",-"BlMat Bulgarska Akademiia Naukite Matematicheski Institut Izvestiia",-"BlSpi Bulgarska Akademiia Naukite Spisanie",-"BlTse Bulgarska Akademiia Naukite Tsentralna Laboratoriia Geodeziia Izvestiia",-"BlGSp Bulgarsko Geofizichno Spisanie",-"BAFOE Bulletin Association Fran. Obs. Etoiles Variables",-"BuAst Bulletin Astronomique",-"BABel Bulletin Astronomique de Belgrade",-"BuAsR Bulletin Astronomique, Revue Generale des Travaux Astronomiques",-"BuAsI Bulletin Astronomique, Serie I",-"BuChr Bulletin Chronometrique (Besancon)",-"BCSAB Bulletin Cl. Science Academy Royal de Belgique",-"BCrAO Bulletin Crimean Astrophysical Observatory",-"BAPSS Bulletin de l'Academie Polonaise des Sciences Series des Sciences Mathematiques Astronomiques et Physiques",-"BARB. Bulletin de l'Academie Royale de Belgique",-"BSAF. Bulletin de la Societe Astronomique de France",-"BSAFR Bulletin de la Societe Astronomique de France et Revue Mensuelle d'Astronomie, de Meteorologie et de Physique du Globe",-"BSAL. Bulletin de la Societe Astronomique de Liege",-"BSBA. Bulletin de la Societe Belge d'Astronomie",-"BSRSL Bulletin de la Societe Royale des Sciences de Liege",-"AFOEV Bulletin de l'Association Francaise d'Observateurs d'Etoiles Variables",-"BMai. Bulletin de la Station Astrophotographique de Mainterne",-"BOBeo Bulletin de l'Observatoire Astronomique de Belgrade",-"BuLyo Bulletin de l'Observatoire de Lyon",-"BBSAG Bulletin der Bedeckungsveraenderlichen-Beobachter der Schweizerischen Astronomischen Gesellschaft",-"BIEBe Bulletin d'Information d'Etoiles Be",-"BIM.. Bulletin d'Information des Marees Terrestres",-"BIBGI Bulletin d'Information du Bureau Gravimetrique International",-"BICDS Bulletin d'Information du Centre de Donnees Stellaires",-"BCFHT Bulletin d'information du telescope Canada-France-Hawaii",-"BGeod Bulletin Geodesique",-"BGNS. Bulletin Geodesique, Nouvelle Series",-"BuBIH Bulletin Horaire du Bureau International de l'Heure",-"BOPul Bulletin (Izvestiya) de l'Observatoire Central a Poulkovo",-"BuMat Bulletin Mathematique",-"BKoAS Bulletin of Korean Astronomical Society",-"BMBio Bulletin of Mathematical Biology",-"BMBp. Bulletin of Mathematical Biophysics",-"BPAS. Bulletin of Pure and Applied Science (Physics)",-"BAAPG Bulletin of the American Association of Petroleum Geologists",-"BAVSO Bulletin of the American Association of Variable Stars Observers",-"BAAS. Bulletin of the American Astronomical Society",-"BAMaS Bulletin of the American Mathematical Society",-"BAMS. Bulletin of the American Meteorological Society",-"BAPS. Bulletin of the American Physical Society",-"BAICz Bulletin of the Astronomical Institutes of Czechoslovakia",-"BAN.. Bulletin of the Astronomical Institutes of the Netherlands",-"BANS. Bulletin of the Astronomical Institutes of the Netherlands Supplement Series",-"BAORB Bulletin of the Astronomical Observatoire Royale de Belgique",-"IllOB Bulletin of the Astronomical Observatory of the University of Illinois",-"BASBr Bulletin of the Astronomical Society of Brazil",-"BASI. Bulletin of the Astronomical Society of India",-"BCAIC Bulletin of the Central Astronomical Institute of Czechoslovakia",-"BuGSA Bulletin of the Geological Society of America",-"BIMIA Bulletin of the Institute of Mathematics and Its Applications",-"BuIPS Bulletin of the Israel Physical Society",-"BKobO Bulletin of the Kobe Marine Observatory Kobe Japan",-"BLPI. Bulletin of the Lebedev Physics Institute",-"BuLMS Bulletin of the London Mathematical Society",-"BRASP Bulletin of the Russian Academy of Science, Phys.",-"BSAst Bulletin of the Section of Astronomy",-"BSAE. Bulletin of the Soviet Antarctic Expedition",-"BuONC Bulletin of the Special Astrophysical Observatory, Northern Caucasus",-"BSAO. Bulletin of the Special Astrophysics Observatory",-"BTasO Bulletin of the Tashkent Observatory",-"BTok. Bulletin of the Tokyo Astronomical Observatory",-"BToIT Bulletin of the Tokyo Institute of Technology",-"BUBes Bulletin of the University of Besancon Observatory",-"BYam. Bulletin of the Yamagata University Yamagata Japan",-"YerOB Bulletin of the Yerkes Observatory of the University of Chicago",-"BVol. Bulletin of Volcanology",-"BCNRS Bulletin Signaletique - Centre National de la Recherche Scientifique",-"BSAO. Bull. Special Astrophys. Obs.",-"BIHCD Bureau Internationale Heure, Paris, Circulaire",-"BDus. Byulleten' Instituta Astrofiziki Dushanbe Akademiya Nauk Tadzhikskoj SSR",-"BITA. Byulleten' Instituta Teoreticheskoj Astronomii (Leningrad)",-"BStaO Byulleten' Stalinabadskoj Astronomicheskoj Observatorii Akademiya Nauk Tadzhikskoj SSR",-"ByuRe Byurakan Astrophysical Observatory Armenia USSR Reprints",-"ByuPr Byurakanskaya Astrofizicheskaya Observatoriya Preprint",-"CahPh Cahiers de Physique",-"CAS.. Cambridge Astrophysics Series",-"CCA.. Cambridge Contemporary Astrophysics",-"CamRe Cambridge Observatories Reprints",-"CMPNC Cambridge Monographs on Particle Physics, Nuclear Physics and Cosmology",-"CMPPh Cambridge Monographs on Plasma Physics",-"CSLPT Cambridge Studies in Low Temperature Physics",-"CTMPC Cambridge Topics in Mineral Physics and Chemistry",-"BCNRC Canada National Research Council Division Mechanical Engineering National Aeronautical Establishment Quarterly Bulletin",-"CASJ. Canadian Aeronautics and Space Journal",-"CASJQ Canadian Aeronautics and Space Journal Quarter",-"CEEJ. Canadian Electrical Engineering Journal",-"CaGeJ Canadian Geotechnical Journal",-"CIPSG Canadian Information Processing Society Graphics Interface",-"CJChE Canadian Journal of Chemical Engineering",-"CaJCh Canadian Journal of Chemistry",-"CaJCE Canadian Journal of Civil Engineering",-"CaJES Canadian Journal of Earth Sciences",-"CJECE Canadian Journal of Electrical Computer Engineering",-"CJMat Canadian Journal of Mathematics",-"CaJPh Canadian Journal of Physics",-"CaJPS Canadian Journal of Physics Supplement",-"CaJRS Canadian Journal of Remote Sensing",-"CJRA. Canadian Journal of Research Section A",-"CJSMT Canadian Journal of Science Mathematics and Technology Education",-"CaJSS Canadian Journal of Soil Science",-"CaRes Cancer Research",-"CPhD. Cape Photographic Durchmusterung",-"CarR. Caries Research",-"GCRV. Carnegie Institute Washington D.C. Publication",-"CarOB Carter Observatory Wellington New Zealand Astronomical Bulletins",-"CarRe Carter Observatory Wellington New Zealand Reprints",-"CasRe Case Western Reserve University Warner and Swasey Observatory Cleveland Ohio Reprints",-"CASI. CASI Transactions",-"CSVS. Catalogue of suspected variable stars. Acad. of Sciences USSR Shternberg.",-"CatL. Catalysis Letters",-"CarRv Catalysis Reviews",-"Catt. CATTECH",-"CCDA. CCD Astronomy",-"CEGB. CEGB Research",-"CeMec Celestial Mechanics",-"CeMDA Celestial Mechanics and Dynamical Astronomy",-"Cell. Cell",-"Cellu Cellulose",-"Cent. Centaurus",-"CfAPr Center for Astrophysics Cambridge Mass Preprint Series",-"CBET. Central Bureau Electronic Telegrams",-"CEAB. Central European Astrophysical Bulletin",-"CEJE. Central European Journal of Engineering",-"CEJG. Central European Journal of Geosciences",-"CEJPh Central European Journal of Physics",-"CPH.. Centre de Physique des Houches",-"CCpFS Ceskoslovensky Casopis pro Fyziku Sekce",-"CFDAA CFD Advances Applications",-"CKH.. Chagyo Kenkyu Hokoku (Tea Research Journal)",-"ChNew Chandra News",-"Chaos Chaos",-"CSF.. Chaos Solitons and Fractals",-"ChCom Chemical Communications",-"ChEdu Chemical Educator",-"ChEnC Chemical Engineering Communications",-"ChEnN Chemical Engineering News",-"CERDA Chemical Engineering Research &amp",-"ChEnS Chemical Engineering Science",-"ChGeo Chemical Geology",-"CP... Chemical Physics",-"CPL.. Chemical Physics Letters",-"CPSS. Chemical Physics of Solid Surfaces",-"CPSSH Chemical Physics of Solid Surfaces and Heterogeneous Catalysis",-"CPR.. Chemical Physics Reports",-"ChSRv Chemical Society Reviews",-"ChEG. Chemie der Erde / Geochemistry",-"CEJ.. Chemistry A European Journal",-"CPCar Chemistry and Physics of Carbon",-"CPLip Chemistry and Physics of Lipids",-"ChUDA Chile Universidad Departamento de Astronomia Publicaciones",-"ChOE. China Ocean Engineering",-"ChRST China Rept Sci Technol JPRS CST",-"ChA.. Chinese Astronomy",-"ChIEJ Chinese Institute of Engineers Journal",-"ChJA. Chinese Journal of Aeronautics",-"ChJAA Chinese Journal of Astronomy and Astrophysics",-"ChJAS Chinese Journal of Astronomy and Astrophysics Supplement",-"ChJCP Chinese Journal of Chemical Physics",-"ChJG. Chinese Journal of Geophysics",-"ChJIR Chinese Journal of Infrared Research",-"ChJL. Chinese Journal of Lasers",-"ChJLB Chinese Journal of Lasers B",-"CJLTP Chinese Journal of Low Temperature Physics",-"ChJME Chinese Journal of Mechanical Engineering",-"ChJNP Chinese Journal of Nuclear Physics",-"ChJOL Chinese Journal of Oceanology and Limnology",-"ChJPh Chinese Journal of Physics",-"ChJPR Chinese Journal of Polar Research",-"ChJS. Chinese Journal of Semiconductors",-"ChJSS Chinese Journal of Space Science",-"ChOpL Chinese Optics Letters",-"ChPhy Chinese Physics",-"ChPhB Chinese Physics B",-"ChPhC Chinese Physics C",-"ChPhL Chinese Physics Letters",-"ChSBu Chinese Science Bulletin",-"ChSAJ Chinese Society of Astronautics Journal",-"ChSMJ Chinese Society of Mechanical Engineers Journal",-"ChSST Chinese Space Science Technology",-"CMDRG Chislennye Metody Dinamike Razrezhennykh Gazov",-"CHOCS CHOCS",-"CITM. Chubu Institute Technology Memoirs",-"CIDA. CIDA",-"CTE.. Ciencias de la Tierra y del Espacio",-"CiInf Circ. Inf.",-"CiSSV Circolare Interna della Sezione Stelle Variabili dell'Unione Astrofili Italiani",-"CSSP. Circuits Systems and Signal Processing",-"CirW. Circuit World",-"CAFOE Circulaire de l'Association Francaise d'Observateurs d'Etoiles Variables",-"CiBAA Circular of the British Astronomical Association",-"CiUO. Circular of the Union Observatory Johannesburg",-"CiPoJ Circumpolar Journal",-"CQGra Classical and Quantum Gravity",-"CQGrS Classical and Quantum Gravity Supplement",-"CRMMP Classical Reviews in Mathematics and Mathematical Physics",-"CTPhy Classical Theoretical Physics",-"CCM.. Clays and Clay Minerals",-"ClDy. Climate Dynamics",-"CliPa Climate of the Past",-"CliPD Climate of the Past Discussions",-"ClCh. Climatic Change",-"COIR. Clinical Oral Implants Research",-"CPPM. Clinical Physics and Physiological Measurement",-"CNRAe CNR Aeritalia S",-"CODAB CODATA Bulletin",-"Coel. Coelum Periodico Bimestrale per la Divulgazione dell'Astronomia",-"AeSc. Collection of Papers on Aerospace Science",-"ColJ. Colloid Journal",-"ColSu Colloids and Surfaces",-"CPC.. Combinatorics, Probability and Computing",-"CoFl. Combustion and Flame",-"CST.. Combustion Science and Technology",-"CTM.. Combustion Theory Modelling",-"CNSMP Comet News Service, McDonnell Planetarium",-"CPMCM Commentationes Physico-Mathematicae et Chemico-Medicae",-"ComMP Comments in Modern Physics",-"ComAp Comments on Astrophysics",-"CoASP Comments on Astrophysics and Space Physics",-"CoAMP Comments on Atomic and Molecular Physics",-"CoCMP Comments on Condensed Matter Physics",-"CoNPP Comments on Nuclear and Particle Physics",-"CoPPC Comments on Plasma Physics and Controlled Fusion",-"ComSp Commercial Space",-"CoKon Commmunications of the Konkoly Observatory Hungary",-"CAPJ. Communication Astronomy with the Public Journal",-"ComBr Communication Broadcasting",-"CoSSC Communication in Statistics - Simulation and Computation",-"CoSTM Communication in Statistics - Theory and Methods",-"Commu Communications",-"CoORB Communications de l'Observatoire Royal de Belgique",-"MonAP Communications du Departement d'Astrophysique de la Faculte des Sciences de Mons Mons Astrophysical Papers",-"CoDDO Communications from the David Dunlap Observatory",-"CoMtW Communications from the Mount Wilson Solar Observatory to the National Academy of Sciences",-"CoRad Communications from the Radcliffe Observatory Pretoria South Africa",-"CoROE Communications from the Royal Observatory Edinburgh",-"CoOxf Communications from the University Observatory Oxford",-"CoStA Communications from the University Observatory St Andrews Scotland",-"CEST. Communications Gillies Inc Electronic Systems in Transportation",-"CoAlg Communications in Algebra",-"CANM. Communications in Applied Numerical Methods",-"CoAst Communications in Asteroseismology",-"CCoPh Communications in Computational Physics",-"CMaPh Communications in Mathematical Physics",-"CNSNS Communications in Nonlinear Science and Numerical Simulations",-"CNME. Communications in Numerical Methods in Engineering",-"CoPDE Communications in Partial Differential Equations",-"CPAM. Communications in Pure Applied Mathematics",-"CoTPh Communications in Theoretical Physics",-"CoAnk Communications of the Department of Astronomy of Ankara University",-"CoLPL Communications of the Lunar and Planetary Laboratory",-"CoLon Communications of the University of London Observatory",-"CPhy. Communications on Physics",-"CRLJ. Communications Research Laboratory Journal",-"CRLRv Communications Research Laboratory Review",-"ComSo Communications Society",-"Compe COMPEL: The International Journal for Computation and Mathematics in Electrical and Electronic Engineering",-"CoVar Complex Variables",-"Compo Composites",-"CmpEn Composites Engineering",-"CmpMa Composites Manufacturing",-"ComST Composites Science Technology",-"CmpSt Composite Structures",-"CoMat Compositio Mathematica",-"CRSPH Compte Rendu des Seances de la Societe de Physique et d'Histoire Naturelle de Genere",-"CR... Comptes Rendus Academie des Sciences (serie non specifiee)",-"CRABS Comptes Rendus de l'Academie Bulgare des Sciences",-"CRASE Comptes Rendus de l'Académie des Sciences - Series IIA - Earth and Planetary Science",-"CRGeo Comptes Rendus Geoscience",-"CRMat Comptes Rendus Mathematique",-"CRMec Comptes Rendus Mecanique",-"CRPhy Comptes Rendus Physique",-"CAMP. Computational and Applied Mathematical Physics",-"ComMS Computational Materials Science",-"CMMPh Computational Mathematics and Mathematical Physics",-"CompM Computational Mechanics",-"COA.. Computational Optimization and Applications",-"CSMA. Computational Structural Mechanics and Applications",-"Compr Computer",-"CAD.. Computer-Aided Design",-"CGIP. Computer Graphics Image Processing",-"CMAME Computer Methods in Applied Mechanics and Engineering",-"CoPhC Computer Physics Communications",-"CoPhR Computer Physics Reports",-"CBR.. Computers and Biomedical Research",-"CEE.. Computers and Electrical Engineering",-"CF... Computers and Fluids",-"CG... Computers and Geosciences",-"CMwA. Computers and Mathematics with Applications",-"CoStr Computers and Structures",-"CSEd. Computer Science Education",-"ComPh Computers in Physics",-"CVIU. Computer Vision and Image Understanding",-"CVGIP Computer Vision Graphics and Image Processing",-"Compu Computing",-"CSE.. Computing in Science and Engineering",-"ComSE Computing Systems in Engineering",-"COMTR COMSAT Technical Review",-"CoCoi Comunicacoes do Observatonio Astronomico da Universidade de Coimbra",-"CoMRA Concepts in Magnetic Resonances A",-"CoMRB Concepts in Magnetic Resonances B",-"CMPhy Condensed Matter Physics",-"CGDAM Conformal Geometry and Dynamics of the American Mathematical Society",-"CDT.. Connaissance des Temps",-"ConSc Connection Science",-"CoFra Consiglio Nazionale delle Ricerche Italia. Laboratorio di Astrofisica Frascati Roma Contributi",-"ConCP Contemporary Concepts in Physics",-"ConFP Contemporary Fundamental Physics",-"ConPh Contemporary Physics",-"CSR.. Continental Shelf Research",-"CMT.. Continuum Mechanics and Thermodynamics",-"CoIAP Contributions de l'Institut d'Astrophysique de Paris Serie A",-"CoIAB Contributions de l'Institut d'Astrophysique de Paris Serie B",-"CoAsi Contributions dell'Osservatorio Astrofisica dell'Universita di Padova in Asiago",-"CoMil Contributions dell'Osservatorio Astrononia di Milano-Merate",-"CoArm Contributions from the Armagh Observatory",-"CoThe Contributions from the Astronomical Department of the University of Thessaloniki",-"CoBos Contributions from the Bosscha Observervatory",-"CoCam Contributions from the Cambridge Observatory England",-"CoTol Contributions from the Cerro Tololo Inter-American Observatory",-"CoTok Contributions from the Department of Astronomy University of Tokyo",-"CoDAO Contributions from the Dominion Astrophysical Observatory in Victoria",-"CoDun Contributions from the Dunsink Observatory Dublin Ireland",-"CoKyo Contributions from the Institute of Astrophysics and Kwasan Observatory Kyoto",-"CoKit Contributions from the Kitt Peak National Observatory",-"CoKwa Contributions from the Kwasan and Hida Observatories University of Kyoto",-"CoIoa Contributions from the Laboratory of Astronomy - University of Ioannina Greece",-"CoMcD Contributions from the McDonald Observatory University of Texas Fort Davis",-"CMWCI Contributions from the Mount Wilson Observatory / Carnegie Institution of Washington",-"CoPri Contributions from the Princeton University Observatory",-"CoRut Contributions from the Rutherford Observatory of Columbia University New York",-"CoWas Contributions from the Washburn Observatory of the University of Wisconsin",-"CoAth Contributions from the Wroclaw Astronomical Observatory",-"CoLic Contributions of Lick Observatory",-"CLic2 Contributions of Lick Observatory, Series II",-"CoPer Contributions of Perkins Observatory",-"CoSka Contributions of the Astronomical Observatory Skalnate Pleso",-"CoSkL Contributions of the Astronomical Observatory Skalnate Pleso Letters",-"CoSkS Contributions of the Astronomical Observatory Skalnate Pleso Supplement",-"CoLou Contributions of the Louisiana State University Observatory Baton Rouge Louisiana",-"CoNMx Contributions of the Observatory of New Mexico State University Las Cruces New Mexico",-"CoBrn Contributions of the Public Observatory and Planetarium in Brno",-"CSASG Contributions of the Slovak Academy Sciences Geophysical Institute",-"CoWat Contributions of the University of Waterloo Observatory",-"CoVVO Contributions of the Van Vleck Observatory",-"ConAP Contributions to Atmospheric Physics/Beitraege zur Physik Atmosphaere",-"CoGG. Contributions to Geophysics and Geodesy",-"CoMP. Contributions to Mineralogy and Petrology",-"CoPP. Contributions to Plasma Physics",-"CoUCL Contributions Universite Catholique de Louvain",-"CoSte Contributions University of Arizona Steward Observatory Tucson Arizona",-"CoRHO Contributions University of Florida Rosemary Hill Observatory Gainesville",-"CoCom Control and Computers",-"CopRe Copenhagen University Observatory Reprints",-"CorRe Coral Reefs",-"CorD. Cordoba Durchmusterung",-"CAGHS Correspondance Astronomique, Geographique, Hydrographique et statistique",-"CosEl Cosmic Electrodynamics",-"CosRe Cosmic Research",-"CosSe Cosmic Search",-"CTP.. Course of Theoretical Physics",-"CRB.. C.R. Acad. Sci. Ser. B1",-"CraRe Cracow Observatory Reprints",-"CRSSM Critical Reviews in Solid State &amp",-"Cryo. Cryogenics",-"CryRp Crystallography Reports",-"CSSE. Cultural Studies of Science Education",-"CuCo. Culture and Cosmos",-"CAP.. Current Applied Physics",-"CCPCE Current Contents Physical Chemical and Earth Sciences",-"CEyeR Current Eye Research",-"CNan. Current Nanoscience",-"COSSM Current Opinion in Solid State and Materials Science",-"CSci. Current Science",-"CySys Cybernetics and Systems",-"CzJPh Czechoslovak Journal of Physics",-"CzJPB Czechoslovak Journal of Physics B",-"CzJPS Czechoslovak Journal of Physics Supplement",-"CzMJ. Czechoslovak Mathematical Journal",-"DTr.. Dalton Transactions",-"DMKD. Data Mining and Knowledge Discovery",-"DatSJ Data Science Journal",-"DDORe David Dunlap Observatory Richmond Hill Reprints",-"DeaCo Dearborn Observatory Contributions",-"DSR.. Deep Sea Research Part II: Topical Studies in Oceanography",-"DSRI. Deep Sea Research Part I: Oceanographic Research",-"DSNPR Deep Space Network Progress Report",-"Defek Defektoskopiia",-"DefEl Defense Electronics",-"DMJ.. Defense Management Journal",-"DeScE Defense Science Electronics",-"DSJ.. Defense Science Journal",-"DSRMC Defense Systems Review Military Communications",-"DSSN. Delta Scuti Star Newsletter",-"Sterb Der Sternenbote Monatsschrift fuer Oesterreichs Amateur-astronomen",-"DGKBA Deutsche Geodaetische Kommission Bayer. Akad. Wiss.",-"DGKBB Deutsche Geodaetische Kommission Bayer. Akad. Wiss. B",-"DGKGN Deutsche Geodaetische Kommission Gravity Network West Germany DSGN Data Adjustment",-"DeHyZ Deutsche Hydrographische Zeitschrift",-"DPhyG Deutsche Physikalische Gesellschaft",-"DSEG. Developments in Solid Earth Geophysics",-"DFVLR DFVLR",-"DRM.. Diamond and Related Materials",-"Stern Die Sterne",-"Welt. Die Weltall",-"DnU.. Differentsial nye Uravneniia",-"DSP.. Digital Signal Processing",-"Dimen Dimensions",-"DiSis Dinamicheskie Sistemy",-"DPM.. Dinamika i Prochnost Mashin",-"DiRaG Dinamika razrezhennykh gazov",-"DIO.. DIO",-"DCMP. Directions in Condensed Matter Physics",-"DISA. DISA Information",-"Disc. Discover",-"DImTe Display Imaging Technology",-"Displ Displays",-"DSE.. Distributed Systems Engineering",-"DLGRM DLGR Magnetofluiddyn",-"Dlib. D-Lib Magazine",-"DLRNa DLR Nachrichten",-"DOCi. Documentation des Observateurs Circulaire",-"DOIAP Documentation des Observateurs Institut d'Astrophysique de Paris",-"DoANT Doklady Akademiia Nauk TadzhSSR",-"DokAN Doklady Akad Nauk Minerologia USSR",-"DoBan Doklady Bolgarskoi Akademiia Nauk",-"DokES Doklady Earth Sciences",-"DokPC Doklady Physical Chemistry",-"DAOAR Dominion Astrophysical Observatory Annual Report",-"DorPo Dornier Post",-"DSO.. Double Star Observer",-"DSSC. Double Star Section Circulars",-"DudOR Dudley Observatory Reports",-"PODE. Dun Echt Observatory Publications",-"DunOP Dunsink Observatory Publications",-"DunRe Dunsink Observatory Reprints",-"DurOO Durham Observatory Observations",-"IzDus Dushanbe Izdatel Donish",-"DyeRe Dyer Observatory Reprints",-"DySys Dynamical Systems: An International Journal",-"DynCo Dynamics and Control",-"DSSys Dynamics and Stability of Systems",-"DyAtO Dynamics of Atmospheres and Oceans",-"EESC. Earth and Environmental Science Conference Series",-"EaEvS Earth and Evolution Sciences",-"EExSc Earth and Extraterrestrial Sciences",-"EaInt Earth Interactions",-"EOAST Earth-Oriented Applications and Space Technology",-"EEEV. Earthquake Engineering and Engineering Vibration",-"EaSci Earthquake Science",-"ESRv. Earth Science Reviews",-"ESPL. Earth Surface Processes and Landforms",-"ESD.. Earth System Dynamics",-"ESDD. Earth System Dynamics Discussion",-"ESSD. Earth System Science Data",-"ESSDD Earth System Science Data Discussions",-"EERST East European Rept Sci. Technol. JPRS ESA",-"EERSA East Europe Rept Sci Affairs JPRS",-"EBCi. Eclipsing Binaries Circulars",-"EcGH. Eclogae geologae Helvetii",-"Ecogr Ecography",-"EcGou Ecole de Goutelas",-"Earth eEarth",-"EartD eEarth Discussions",-"ETATF Eesti NSV Teaduste Akadeemia Toimetised Fuusika Matemaatika",-"IzmP. Ege University Izmir Publications of the Department of Astronomy",-"EJSM. e-Journal of Soft Materials",-"Elast Elastic",-"ECLRv Electrical Communication Laboratories Review",-"JElEn Electrical Engineering of Japan",-"EMPS. Electric Machines and Power Systems",-"Elecm Electromagnetics",-"EJSEd Electronic Journal of Science Education",-"EJSta Electronic Journal of Statistics",-"EJTP. Electronic Journal of Theoretical Physics",-"EML.. Electronic Materials Letters",-"ElPro Electronic Progress",-"JElCo Electronics Communications of Japan",-"ElL.. Electronics Letters",-"ElP.. Electronics Power",-"EOSD. Electro Optical Systems Design",-"ElLC. Electrotechnical Laboratory Circulars",-"ElLR. Electrotechnical Laboratory Researches",-"ElW.. Electrowaerme International",-"ElBah Elektrische Bahnen",-"Elem. Elektromekhanika",-"Elek. Elektronika",-"ElTA. Elektronnaia Tekhnika Avtomatike",-"ElMod Elektronnoe Modelirovanie",-"ETRE. Elektrosviaz Telecommunications Radio Engineering Telecommunications",-"EVest Elektrotehniski Vestnik",-"OED.. El Observador de Estrellas Dobles",-"ElUn. El Universo",-"EMCT. EMC Technology",-"EBBT. Emerging Biochemical and Biophysical Techniques",-"EAA.. Encyclopedia of Astronomy and Astrophysics",-"Endvr Endeavour",-"Energ Energetika",-"EnAt. Energia es Atomtechnika",-"EnUK. Energy",-"EnC.. Energy Conversion",-"ECM.. Energy Conversion Management",-"EnS.. Energy Sources",-"EnTR. Energy Technology Review",-"EnUK. Energy UK",-"EngAn Engineering Analysis",-"EnSci Engineering and Science",-"EngCo Engineering Computations",-"EnFM. Engineering Fracture Mechanics",-"EnOp. Engineering Optimization",-"CEnTp Engineering Thermophysics China",-"Entro Entropie",-"Entrp Entropy",-"EnAPC Environmental Analytical and Physical Chemistry Series",-"EES.. Environmental Earth Sciences",-"EnEng Environmental Engineering",-"EFM.. Environmental Fluid Mechanics",-"EnGeo Environmental Geology",-"EnMan Environmental Management",-"EnP.. Environmental Pollution Series B Chemical and Physical",-"ER... Environmental Research",-"ERL.. Environmental Research Letters",-"EnST. Environmental Science Technology",-"EnTox Environmental Toxicology",-"ETWQ. Environmental Toxicology and Water Quality",-"Env.. Environmentrics",-"EOSTr EOS Transactions",-"EL... EPL (Europhysics Letters)",-"EPRIJ EPRI Journal",-"AnErg Ergaenzungshefte zu den Astronomischen Nachrichten",-"ErNW. Ergebnisse der exakten Naturwissenschaften",-"ETDS. Ergodic Theory and Dynamical Systems",-"Ergo. Ergonomics",-"ESABu ESA Bulletin",-"ESAHR ESA History Study Reports",-"EIUEN ESA IUE Newsletter",-"ESAJ. ESA Journal",-"ESASM ESA Scientific &amp",-"ESAST ESA Scientific Technical Review",-"ESATM ESA Training Manual",-"EssPh Essays in Physics",-"ECSS. Estuarine Coastal and Shelf Science",-"EUCAS EUCASS Proceedings Series",-"EurSS Eurasian Soil Science",-"EJASP EURASIP Journal on Applied Signal Processing",-"EBioJ European Biophysics Journal",-"EJAM. European Journal of Applied Mathematics",-"EJBio European Journal of Biochemistry",-"EJC.. European Journal of Combinatorics",-"EJEE. European Journal of Engineering Education",-"EJMF. European Journal of Mechanics B Fluids",-"EJMS. European Journal of Mechanics Solids",-"EJPh. European Journal of Physics",-"EPJA. European Physical Journal A",-"EPJAP European Physical Journal Applied Physics",-"EPJAS European Physical Journal A Supplement",-"EPJB. European Physical Journal B",-"EPJC. European Physical Journal C",-"EPJCS European Physical Journal C Supplement",-"EPJD. European Physical Journal D",-"EPJE. European Physical Journal E",-"EPJH. European Physical Journal H",-"EPJP. European Physical Journal Plus",-"EPJST European Physical Journal Special Topics",-"EuRv. European Review",-"ESN.. European Science Notes",-"ESOAR European Southern Observatory Annual Reports",-"ESOB. European Southern Observatory ESO Bulletin",-"ESOSP European Southern Observatory Scientific Preprints",-"ESOSR European Southern Observatory Scientific Report",-"ETTRT European Transactions Telecommunications Related Technologies",-"ERST. Europe Report Science Technology",-"EL... Europhysics Letters",-"ENews Europhysics News",-"EXOSA EXOSAT Express",-"ExA.. Experimental Astronomy",-"EEyeR Experimental Eye Research",-"ExHT. Experimental Heat Transfer",-"ExM.. Experimental Mechanics",-"ExMPS Experimental Methods in the Physical Sciences",-"ExT.. Experimental Techniques",-"ExTFS Experimental Thermal Fluid Science",-"ExFl. Experiments in Fluids",-"ExG.. Exploration Geophysics",-"Extr. Extraction",-"PMtv. Facultad de Humanidades y Ciencias Universidad de la Republica Montevideo",-"FaDi. Faraday Discussions",-"FaTr. Faraday Transactions",-"FFEMS Fatigue and Fracture of Engineering Materials and Structures",-"FerNo Fermilab Note",-"Fer.. Ferroelectrics",-"FerLS Ferroelectrics Letters Section",-"FBS.. Few-Body Systems",-"FiIO. Fiber and Integrated Optics",-"Filom Filomat",-"FeMik Finommechanika Mikrotechnika",-"FiBr. First Break",-"FizEl Fizicheskaia Elektronika",-"FiMek Fizicheskaia Mekhanika",-"Fiz.. Fizika",-"FizA. Fizika A",-"FizAS Fizika Aerodispersnykh Sistem",-"FizB. Fizika B",-"FizGV Fizika Goreniia i Vzryva",-"FizKO Fizika i Khimiia Obrabotki Materialov",-"FizTV Fizika i Tekhnika Vysokikh Davlenii",-"FizMM Fizika Metallov i Metallovedenie",-"FizMS Fizika Mnogochastichnykh Sistem",-"FizNT Fizika Nizkikh Temperatur",-"FizPl Fizika Plazmy",-"FizSz Fizika Sz.",-"FizTT Fizika Tverdogo Tela",-"FizZS Fizika Zhidkogo Sostoianiia",-"FizAt Fiziki Atmosfery",-"FizKM Fiziko Khimicheskaia Mekhanika Materialov",-"FizCh Fizyki i Chemii Seria Fizyka",-"FliIn Flight International",-"FNL.. Fluctuation and Noise Letters",-"FRFI. Flug Revue Flugwelt International",-"FlDy. Fluid Dynamics",-"FlDyR Fluid Dynamics Research",-"FlDyT Fluid Dynamics Transactions",-"Fluid Fluidika",-"FMAG. Fluid Mechanics of Astrophysics and Geophysics",-"FlMSR Fluid Mechanics Soviet Research",-"FluQ. Fluids Quarterly",-"FBP.. Food and Bioproducts Processing. Part C, Transactions of the Institution of Chemical Engineers",-"ForPh Fortschritte der Physik",-"FoGeo Fotointerpretacja w Geografii",-"FoPh. Foundations of Physics",-"FoPhL Foundations of Physics Letters",-"Fract Fractals",-"Freq. Frequenz",-"FrES. Frontiers of Earth Science",-"FrMS. Frontiers of Materials Science",-"FrME. Frontiers of Mechanical Engineering",-"FrPhy Frontiers of Physics",-"FrPhC Frontiers of Physics in China",-"IzFru Frunze Izdatel Ilim",-"FSTJ. Fujitsu Scientific Technical Journal",-"FST.. Fullerene Science and Technology",-"FAAp. Functional Analysis and Its Applications",-"FML.. Functional Materials Letters",-"FACM. Functiones et Approximatio Commentarii Mathematici",-"FInfo Fundamenta Informaticae",-"FANP. Fundamental and Applied Nuclear Physics Series",-"OOPS. Fundamental nye Osnovy Opticheskoi Pamiati i Sredy",-"FCPh. Fundamentals of Cosmic Physics",-"FTP.. Fundamental Theories of Physics",-"Futur Future Spring",-"GCNew Galactic Center Newsletter",-"galxp GALEX Proposal",-"GalEl Galilean Electrodynamics",-"GEB.. Games and Economic Behavior",-"GGMit Gauss-Gesellschaft e.V. Göttingen, Mitteilungen",-"GVPOO Gauthier-Villars Paris Observatory Observations",-"GazA. Gazette Astronomique",-"GazAM Gazette Astronomique Memoires",-"GazT. Gazodinamika i Teploobmen",-"GCNR. GCN Report",-"GECJR GEC Journal Research",-"Gelio Geliotekhnika",-"Gemin GEMINI Newsletter Royal Greenwich Observatory",-"GHA.. General History of Astronomy",-"GPB.. General Physiology and Biophysics",-"GReGr General Relativity and Gravitation",-"Gen.. Genetica",-"GeoIn Geocarto International",-"GeocJ Geochemical Journal",-"Geoch Geochemistry",-"GGG.. Geochemistry, Geophysics, Geosystems",-"GeocI Geochemistry International",-"GeCoA Geochimica et Cosmochimica Acta",-"GeCAS Geochimica et Cosmochimica Acta Supplement",-"GeCar Geodesy and Cartography",-"GeAer Geodeziia i Aerofotos",-"GeKar Geodeziia i Kartografiia",-"GKA.. Geodeziia i Kartografiia Aehrofotosemka, L'vov",-"GeKaA Geodeziia Kartografiia i Aerofotos",-"GeoK. Geodezja i Kartografia",-"GeoAc Geodinamica Acta",-"GeofI Geofisica Internacional",-"GeoPA Geofisica Pura e Applicata",-"GeoSb Geofizicheskii Sbornik",-"GeoZh Geofizicheskii Zhurnal",-"GeoAA Geografiska Annaler, Series A: Physical Geography",-"GeoAB Geografiska Annaler, Series B: Human Geography",-"GeIss Geoinformation Issues",-"Geokh Geokhimiia",-"GCarp Geologica Carpathica",-"GeolJ Geological Journal",-"GeoM. Geological Magazine",-"GeoSJ Geological Society Journal",-"GSAMB Geological Society of America Bulletin",-"GSAMm Geological Society of America Memoir",-"GSASP Geological Society of America Special Papers",-"GSLSP Geological Society of London Special Publications",-"Geolo Geologija",-"GeoRu Geologische Rundschau",-"Geolg Geologos",-"Geo.. Geology",-"GeoOD Geology of Ore Deposits",-"GeoIs Geomagnitnye Issledovaniia",-"GML.. Geo-Marine Letters",-"GeoD. Geometriae Dedicata",-"GeomJ Geomicrobiology Journal",-"Geomo Geomorphology",-"Geoph Geophysica",-"GeGe. Geophysica et Geodaetica",-"GApFD Geophysical and Astrophysical Fluid Dynamics",-"GDS.. Geophysical Developments Series",-"GeoJ. Geophysical Journal",-"GeoJI Geophysical Journal International",-"GeopP Geophysical Prospecting",-"GeopR Geophysical References",-"GeoRL Geophysical Research Letters",-"GeoSu Geophysical Surveys",-"GeoNr Geophysica Norvegica",-"Geop. Geophysics",-"GAM.. Geophysics and Astrophysics Monographs",-"GeoOM Georgetown Observatory Monogram",-"GeoRe Georgetown Observatory Reprints",-"GMD.. Geoscientific Model Development",-"GMDD. Geoscientific Model Development Discussions",-"GEOCE GEOS Circular on Eclipsing Binaries",-"GEOCR GEOS Circular on RR Lyr Type Variables",-"GEOCA GEOS Circular on Small-Amplitude Variables",-"GEOSN GEOS Note Circulaire",-"Geote Geotectonics",-"TrGRC Geothermal Resources Council Transactions",-"Geoth Geothermics",-"Geot. Geotimes",-"Gerb. Gerbertvs, International Academic Publication on History of Medieval Science",-"GBzG. Gerlands Beitraege zur Geophysik",-"GUL.. Geschichte und Lichtwechsel der Veraenderlichen Sterne (Potsdam)",-"GATAN Gesellschaft Aerosolforschung Tagung ueber Aerosole Naturwissenschaft Medizin und Technik Messtechnik und technische Anwendung",-"GMMWJ Gesellschaft angewandte Mathematik und Mechanik Jahrestagung Goettingen West Germany Zeitschrift Flugwissenschaften",-"GaMuM Gesellschaft Angewandte Mathematik und Mechanik Workshop Paris France",-"GMuD. Gesellschaft Mathematik und Datenverarbeitung mbH Multigrid Methods Special Topics Applications",-"GVMK. Gibridnye Vychislitel nye Mashiny i Kompleksy",-"Gidro Gidromekhanika",-"GiGi. Gidroprivod i Gidropnevmoavtomatika",-"GiSan Gigiena i Sanitariia",-"GTPZ. Gigiena Truda i Professional nye Zabolevaniia",-"GAst. Giornale di Astronomia",-"GlMaJ Glasgow Mathematical Journal",-"GPC.. Global and Planetary Change",-"GBioC Global Biogeochemical Cycles",-"GLORe Goethe Link Observatory Reprints",-"GPSW. GPS World",-"GMIP. Graphical Models and Image Processing",-"GrCo. Gravitation and Cosmology",-"GrCoS Gravitation and Cosmology Supplement",-"GrTOn Gravitatsiia i Teoriia Otnositel nosti",-"GCN.. GRB Coordinates Network",-"GGMM. Greenhouse Gas Measurement &amp",-"GriO. Griffith Observer",-"GrAeH Grumman Aerospace Horizons",-"Grund Grundwasser",-"GICi. Gruppo Italiano RV Tauri Circolare",-"HalRe Hale Observatories Reprints",-"HadJ. Hadronic Journal",-"HadJS Hadronic Journal Supplement",-"BSD.. Hamburger Sternwarte Bergedorf",-"HamS. Hamburger Sternwarte Sonderdrucke",-"LS... Hamburger Sternw. Warner &amp",-"HAAG. Handbook of Astronomy Astrophysics and Geophysics",-"HBP.. Handbook of Biological Physics",-"HGE.. Handbook of Geophysical Exploration",-"HPlPh Handbook of Plasma Physics",-"HPCRE Handbook on the Physics and Chemistry of Rare Earths",-"HDA.. Handbuch der Astrophysik",-"HDP.. Handbuch der Physik",-"HarZi Harthaer Beobachtungs-Zirkular",-"HarAC Harvard College Observatory Announcement Card",-"HarAR Harvard College Observatory Annual Report",-"BHarO Harvard College Observatory Bulletin",-"HarCi Harvard College Observatory Circular",-"HarPa Harvard College Observatory Papers",-"HarRe Harvard College Observatory Reprints",-"HarMi Harvard Observatory Mimeograms",-"HarMo Harvard Observatory Monographs",-"HeaPh Health Physics",-"HMT.. Heat and Mass Transfer",-"HTrEn Heat Transfer Engineering",-"HTJR. Heat Transfer Japanese Research",-"HTSR. Heat Transfer Soviet Research",-"Heavn Heavens",-"HWM.. Helgoländer Wissenschaftliche Meeresuntersuchungen",-"HMR.. Helgoland Marine Research",-"AcHCh Helvetica Chimica Acta",-"AcHPh Helvetica Physica Acta",-"AcHPS Helvetica Physica Acta Supplementum",-"HelOB Helwan Institute of Astronomy and Geophysics Bulletins",-"HemD. Hemel en Dampkring",-"HECh. High Energy Chemistry",-"HEDP. High Energy Density Physics",-"HEPNP High Energy Physics and Nuclear Physics",-"HiA.. Highlights of Astronomy",-"HPP.. High Performance Polymers",-"HPR.. High Pressure Research",-"HiTec High Technology",-"HTHP. High Temperatures and High Pressures",-"HTemS High Temperature Science",-"HARSB Histoire de l'Academie Royale des Sciences et des Belles-Lettres de Berlin",-"HSPBS Historical Studies in the Physical and Biological Sciences",-"HGeo. History of Geophysics",-"HGSS. History of Geo- and Space Sciences",-"HisSc History of Science",-"HUFEB Hokkaido University Faculty Engineering Bulletin",-"HUFEM Hokkaido University Faculty Engineering Memoirs",-"Holz. Holzforschung",-"HBB.. Horizons in Biochemistry and Biophysics",-"HWP.. Horizons in World Physics",-"HCHy. Hovering Craft and Hydrofoil",-"HGT.. Human Gene Therapy",-"HvaOB Hvar Observatory Bulletin",-"HvOBS Hvar Observatory Bulletin Supplement",-"HyBio Hydrobiologia",-"HydJ. Hydrogeology Journal",-"HyPr. Hydrological Processes",-"HESS. Hydrology and Earth System Sciences",-"HESSD Hydrology and Earth System Sciences Discussions",-"HyInt Hyperfine Interactions",-"IadEn Iadernaia Energiia",-"IAGBu IAGA Bulletin",-"IaIaF Iakutsk Iakutskii Filial SO AN SSSR",-"BSEEA Iasi Institutul Politehnic Buletinul Sectia Electrotehnica Electronica Automatizari",-"BSMMT Iasi Institutul Politehnic Buletinul Sectia Matematica Mecanica Teoretica Fizica",-"BSMT. Iasi Institutul Politehnic Buletinul Sectia Mecanica Tehnica",-"IAUCB IAU Commission on Close Binary Stars",-"IAUDS IAU Commission on Double Stars",-"IAUIn IAU Commission on Instruments",-"IAUGA IAU General Assembly",-"IAUIB IAU Information Bulletin",-"IAUSS IAU Special Session",-"WFINw IAU Working Group on Wide-Field Imaging, Newsletter",-"IBMJ. IBM Journal of Research and Development",-"ICAOB ICAO Bulletin",-"Icar. Icarus",-"IAESM IEEE Aerospace Electronic Systems Magazine",-"IAWPL IEEE Antennas and Wireless Propagation Letters",-"IAPM. IEEE Antennas Propagation Magazine",-"IASSP IEEE ASSP Magazine",-"ICiSM IEEE Circuits Systems Magazine",-"IComM IEEE Communications Magazine",-"ICSEn IEEE Computational Science and Engineering",-"ICGA. IEEE Computer Graphics Applications",-"ICSM. IEEE Computer Systems Magazine",-"IDTC. IEEE Design Test Computers",-"IEDL. IEEE Electron Device Letters",-"IExp. IEEE Expert",-"IGRSL IEEE Geoscience and Remote Sensing Letters",-"IISys IEEE Intelligent Systems",-"IJOE. IEEE Journal of Oceanic Engineering",-"IJQE. IEEE Journal of Quantum Electronics",-"IJRA. IEEE Journal of Robotics Automation",-"ISTSP IEEE Journal of Selected Topics in Signal Processing",-"IJSSC IEEE Journal of Solid-State Circuits",-"IJSAC IEEE Journal on Selected Areas in Communications",-"ILCSM IEEE LCS Magazine",-"ILTS. IEEE LTS",-"IMGWL IEEE Microwave and Guided Wave Letters",-"IMMag IEEE Microwave Magazine",-"IEEEN IEEE Network",-"IPTL. IEEE Photonics Technology Letters",-"IEEEP IEEE Proceedings",-"ISPL. IEEE Signal Processing Letters",-"ISPM. IEEE Signal Processing Magazine",-"IEEES IEEE Spectrum",-"ISysJ IEEE Systems Journal",-"ITASS IEEE Transactions on Acoustics Speech and Signal Processing",-"ITAES IEEE Transactions on Aerospace Electronic Systems",-"ITAP. IEEE Transactions on Antennas and Propagation",-"ITAS. IEEE Transactions on Applied Superconductivity",-"ITAC. IEEE Transactions on Automatic Control",-"ITBE. IEEE Transactions on Biomedical Engineering",-"ITB.. IEEE Transactions on Broadcasting",-"ITCS. IEEE Transactions on Circuits Systems",-"ITCom IEEE Transactions on Communications",-"ITCHM IEEE Transactions on Components Hybrids and Manufacturing Technology",-"ITCAD IEEE Transactions on Computer Aided Design",-"ITCmp IEEE Transactions on Computers",-"ITDEI IEEE Transactions on Dielectrics and Electrical Insulation",-"ITEdu IEEE Transactions on Education",-"ITEI. IEEE Transactions on Electrical Insulation",-"ITElC IEEE Transactions on Electromagnetic Compatibility",-"ITED. IEEE Transactions on Electron Devices",-"ITEnC IEEE Transactions on Energy Conversion",-"ITEM. IEEE Transactions on Engineering Management",-"ITGRS IEEE Transactions on Geoscience and Remote Sensing",-"ITGE. IEEE Transactions on Geoscience Electronics",-"ITIP. IEEE Transactions on Image Processing",-"ITIE. IEEE Transactions on Industrial Electronics",-"ITIEC IEEE Transactions on Industrial Electronics and Control Instrumentation",-"ITIA. IEEE Transactions on Industry Applications",-"ITIT. IEEE Transactions on Information Theory",-"ITIM. IEEE Transactions on Instrumentation Measurement",-"ITM.. IEEE Transactions on Magnetics",-"ITMI. IEEE Transactions on Medical Imaging",-"ITMTT IEEE Transactions on Microwave Theory Techniques",-"ITME. IEEE Transactions on Military Electronics",-"ITNan IEEE Transactions on Nanotechnology",-"ITNN. IEEE Transactions on Neural Networks",-"ITNS. IEEE Transactions on Nuclear Science",-"ITPHP IEEE Transactions on Parts Hybrids and Packaging",-"ITPAM IEEE Transactions on Pattern Analysis and Machine Intelligence",-"ITPS. IEEE Transactions on Plasma Science",-"ITPAS IEEE Transactions on Power Apparatus Systems",-"ITPD. IEEE Transactions on Power Delivery",-"ITPE. IEEE Transactions on Power Electronics",-"ITR.. IEEE Transactions on Reliability",-"ITRA. IEEE Transactions on Robotics Automation",-"ITSTQ IEEE Transactions on Selected Topics in Quantum Electronics",-"ITSM. IEEE Transactions on Semiconduct M",-"ITSP. IEEE Transactions on Signal Processing",-"ITSE. IEEE Transactions on Software Engineering",-"ITSU. IEEE Transactions on Sonics Ultrasonics",-"ITSMC IEEE Transactions on Systems Man and Cybernetics",-"ITUFF IEEE Transactions on Ultrasonics Ferroelectrics and Frequency Control",-"ITVT. IEEE Transactions on Vehicular Technology",-"JMOA. IEE Journal of Microwaves Optics and Acoustics",-"JSSED IEE Journal of Solid-State Electron Devices",-"ITEIS IEEJ Transactions on Electronics, Information and Systems",-"IJTFM IEEJ Transactions on Fundamentals and Materials",-"IJTIA IEEJ Transactions on Industry Applications",-"IJTPE IEEJ Transactions on Power and Energy",-"IJTSM IEEJ Transactions on Sensors and Micromachines",-"IPEPA IEE Proceedings B: Electric Power Applications",-"IPGTD IEE Proceedings C: Generation Transmission Distribution",-"IPCSV IEE Proceedings: Communications Speech and Vision",-"IPCTA IEE Proceedings D: Control Theory Applications",-"IPCDT IEE Proceedings E: Computers and Digital Techniques",-"IPCRS IEE Proceedings F: Communications Radar and Signal Processing",-"IPRSP IEE Proceedings F: Radar and Signal Processing",-"IPMAP IEE Proceedings H: Microwaves Antennas and Propagation",-"IPMOA IEE Proceedings H: Microwaves Optics and Antennas",-"IPOpt IEE Proceedings J: Optoelectronics",-"IPPSM IEE Proceedings: Physical Science Measurement and Instrumentation Management and Education Reviews",-"IPSSE IEE Proceedings: Solid-State Electron Devices",-"IEERv IEE Reviews",-"IEIEE IEICE Electronics Express",-"ESSFR IEICE ESS Fundamentals Review",-"IEITC IEICE Transactions on Communications",-"IEITE IEICE Transactions on Electronics",-"IEITF IEICE Transactions on Fundamentals of Electronics Communications and Computer Sciences",-"IEITI IEICE Transactions on Information and Systems",-"ITN.. IERS Technical Note",-"IESJ. IES Journal",-"IHWN. IHW Newsletter",-"JApMa IMA Journal of Applied Mathematics",-"IJNA. IMA Journal of Numerical Analysis",-"IVMA. IMA Volumes in Mathematics and its Applications",-"IMEPA IME Proceedings. Part A: Journal of Power and Energy",-"IMEPB IME Proceedings. Part B: Journal of Engineering Manufacture",-"IMEPC IME Proceedings. Part C: Journal of Mechanical Engineering Science",-"IMEPD IME Proceedings. Part D: Journal of Automobile Engineering",-"IMEPE IME Proceedings. Part E: Journal of Process Mechanical Engineering",-"IMEPG IME Proceedings. Part G: Journal of Aerospace Engineering",-"IMEPH IME Proceedings. Part H: Journal of Engineering in Medicine",-"IMEPI IME Proceedings. Part I: Journal of Systems and Control Engineering",-"IMEPK IME Proceedings. Part K: Journal of Multibody Dynamics",-"ICSE. Impact of Computing in Science and Engineering",-"InEPS Indian Academy of Sciences Proceedings: Earth and Planetary Sciences",-"InMS. Indian Academy of Sciences Proceedings Mathematical Sciences",-"InASP Indian Academy of Sciences Proceedings Section",-"InES. Indian Academy of Sciences Proceedings: Section C Engineering Sciences",-"IUMJ. Indiana University Mathematics Journal",-"IIApN Indian Institute of Astrophysics Newsletter",-"InISJ Indian Institute of Science Journal",-"InISA Indian Institute of Science Journal of Aeronomical Society of India",-"ITJSE Indian Institute of Technology Journal on Section Engineering Technology",-"InJAE Indian Journal of Aerospace Engineering Division",-"InJBB Indian Journal of Biochemistry and Biophysics",-"InJET Indian Journal of Electronics Telecommunication Engineering Division",-"InJME Indian Journal of Mechanical Engineering Division",-"IJMHG Indian Journal of Meteorology Hydrology and Geophysics",-"InJPh Indian Journal of Physics",-"InJP. Indian Journal of Physics and Proceedings of the Indian Assocatiation for the Cultivation of Science",-"InJPA Indian Journal of Physics Section A",-"InJPB Indian Journal of Physics Section B",-"IJPAM Indian Journal of Pure and Applied Mathematics",-"IJPAP Indian Journal of Pure and Applied Physics",-"IJRSP Indian Journal of Radio and Space Physics",-"InJHS Indian Journal of the History of Science",-"InJTP Indian Journal of Theoretical Physics",-"INSAP Indian National Science Academy Proceedings Supplement",-"IDAQP Infinite Dimensional Analysis, Quantum Probability and Related Topics",-"IBSH. Informational Bulletin of the Southern Hemisphere",-"IBUAA Informational Bulletin of the Ukrainian Astronomical Association",-"InCo. Information and Computation",-"IBVS. Information Bulletin on Variable Stars",-"InfCo Information Control",-"InfD. Information Display",-"IPM.. Information Processing and Management",-"IPL.. Information Processing Letters",-"ISNL. Information Systems Newsletter",-"IRA.. Infrared Astronomy",-"InfPh Infrared Physics",-"InPhT Infrared Physics and Technology",-"Ingeg Ingegneria",-"IngAr Ingenieur Archiv",-"InCh. Inorganic Chemistry",-"IAL1K Institut d'Astronomie de Lausanne",-"IMA.. Institute for Mathematics and Its Applications",-"InFuJ Institute Fuel Journal",-"JIECE Institute of Electronics Communication Engineers of Japan Transactions Section E English",-"IPASA Institute of Physics Academia Sinica Annual Report",-"ISASS Institute of Space and Astronautical Science Report",-"ITABO Institute of Theoretical Astrophysics, Blindern-Oslo",-"OslR. Institute of Theoretical Astrophysics Blindern Oslo Reports",-"IEAEE Institution Engineers Australia Electrical Engineering Transactions",-"IEEP. Institution of Electrical Engineers Proceedings",-"IEREJ Institution of Electronic Radio Engineers Journal",-"IETE. Institution of Electronics Telecommunication Engineers",-"IAFET Instituto de Astronomia y Fisica del Espacio Buenos Aires",-"MerRe Instituto Venezolano de Astronomia Merida Venezuela",-"IRMBP Institut Royal Meteorologique de Belgique Publications Serie",-"ITAB. Institut Teoreticheskoi Astronomii Byulleten",-"TrITA Institut Teoreticheskoi Astronomii Trudy",-"IET.. Instruments and Experimental Techniques",-"InLoP Instytut Lotnictwa Prace",-"InMPP Instytut Maszyn Przeplywowych Prace",-"IntaC Inta Conie",-"ITSF. Integral Transforms and Special Functions",-"ICAE. Integrated Computer-Aided Engineering",-"InFer Integrated Ferroelectrics",-"Inter Interavia",-"IntSM Interavia Space Markets",-"ISRv. Interdisciplinary Science Reviews",-"IFB.. Interfaces and Free Boundaries",-"IPAUC INTERKOSMOS Prague Astronomicky Ustav Ceskoslovenske Akademie Ved",-"IANT. International Advances in Nondestructive Testing",-"IntAg International Agrophysics",-"IAPPP International Amateur-Professional Photoelectric Photometry Communications",-"IAM.. International Applied Mechanics",-"IAUC. International Astronomical Union Circular",-"ICQ.. International Comet Quarterly",-"ICHMT International Communications in Heat and Mass Transfer",-"IrPH. International Conference Infrared Physics Zurich Switzerland",-"ICML. International Conference on Machine Learning",-"IER.. Internationale Elektronische Rundschau",-"InGeo International Geophysics Series",-"IJCEM International Journal for Computational Methods in Engineering Science and Mechanics",-"IJNAM International Journal for Numerical and Analytical Methods in Geomechanics",-"IJNME International Journal for Numerical Methods in Engineering",-"IJNMF International Journal for Numerical Methods in Fluids",-"IJRPC International Journal for Radiation Physics and Chemistry",-"IJACS International Journal of Adaptive Control and Signal Processing",-"IJAdA International Journal of Adhesion Adhesives",-"IJASS International Journal of Aeronautical and Space Sciences",-"IJAEM International Journal of Analytical and Experimental Modal Analysis",-"IJAEO International Journal of Applied Earth Observation and Geoinformation",-"IJApE International Journal of Electromagnetics and Mechanics",-"IJAIS International Journal of Applied Information Systems",-"IJAM. International Journal of Applied Mechanics",-"IJAsB International Journal of Astrobiology",-"IJAA. International Journal of Astronomy and Astrophysics",-"IJAP. International Journal of Aviation Psychology",-"IJBC. International Journal of Bifurcation and Chaos",-"IJBB. International Journal of Bioclimatology Biometeorology",-"IJBm. International Journal of Biometeorology",-"IJCli International Journal of Climatology",-"IJCES International Journal of Computational Engineering Science",-"IJCFD International Journal of Computational Fluid Dynamics",-"IJCMS International Journal of Computational Materials Science and Engineering",-"IJCA. International Journal of Computer Applications",-"IJCAT International Journal of Computer Applications and Technology",-"IJCMB International Journal of Computer Mathematics Section B",-"IJCV. International Journal of Computer Vision",-"IJC.. International Journal of Control",-"IJDM. International Journal of Damage Mechanics",-"IJDE. International Journal of Digital Earth",-"IJDF. International Journal of Dynamics of Fluids",-"IJEaS International Journal of Earth Sciences",-"IJE.. International Journal of Electronics",-"IJER. International Journal of Energy Research",-"IJEFM International Journal of Engineering and Fluid Mechanics Spring",-"IJES. International Journal of Engineering Science",-"IJFa. International Journal of Fatigue",-"IJFD. International Journal of Fluid Dynamics",-"IJFr. International Journal of Fracture",-"IJFE. International Journal of Fusion Energy",-"IJGS. International Journal of General Systems",-"IJGA. International Journal of Geomagnetism and Aeronomy",-"IJGMM International Journal of Geometric Methods in Modern Physics",-"IJGeo International Journal of Geophysics",-"IJGNP International Journal of Green Nanotechnology Physics and Chemistry",-"IJHFF International Journal of Heat and Fluid Flow",-"IJHMT International Journal of Heat and Mass Transfer",-"IJHSC International Journal of High Speed Computing",-"IJHSE International Journal of High Speed Electronics and Systems",-"IJHM. International Journal of Hybrid Microelectronics Fall",-"IJHE. International Journal of Hydrogen Energy",-"IJHy. International Journal of Hyperthermia",-"IJIDF International Journal of Image and Data Fusion",-"IJIG. International Journal of Image and Graphics",-"IJIST International Journal of Imaging Systems Technology",-"IJIE. International Journal of Impact Engineering",-"IJIMW International Journal of Infrared and Millimeter Waves",-"IJICS International Journal of Intelligent Control and Systems",-"IJMSE International Journal of Mars Science and Exploration",-"IJMSp International Journal of Mass Spectrometry",-"IJMSI International Journal of Mass Spectrometry and Ion Processes",-"IJMES International Journal of Mathematical Education in Science and Technology",-"IJM.. International Journal of Mathematics",-"IJMS. International Journal of Mechanical Sciences",-"IJMW. International Journal of Mine Water",-"IJMM. International Journal of Mini Microcomputers",-"IJMoS International Journal of Modelling and Simulation",-"IJMPA International Journal of Modern Physics A",-"IJMPB International Journal of Modern Physics B",-"IJMPC International Journal of Modern Physics C",-"IJMPS International Journal of Modern Physics Conference Series",-"IJMPD International Journal of Modern Physics D",-"IJMPE International Journal of Modern Physics E",-"IJMF. International Journal of Multiphase Flow",-"IJN.. International Journal of Nanoscience",-"IJNT. International Journal of Nanotechnology",-"IJNS. International Journal of Neural Systems",-"IJNLM International Journal of Non Linear Mechanics",-"IJNOP International Journal of Nonlinear Optical Physics",-"IJNMH International Journal of Numerical Methods for Heat &amp",-"IJOpt International Journal of Optics",-"IJOMS International Journal of Oral and Maxillofacial Surgery",-"IJPRS International Journal of Photogrammetry and Remote Sensing",-"IJPES International Journal of Physical and Engineering Sciences",-"IJP.. International Journal of Plasticity",-"IJPM. International Journal of Polymeric Materials",-"IJPG. International Journal of Population Geography",-"IJPR. International Journal of Production Research",-"IJQC. International Journal of Quantum Chemistry",-"IJRAI International Journal of Radiation Applications and Instrumentation D Nuclear Tracks and Radiation Measurements",-"IJRB. International Journal of Radiation Biology",-"IJRQS International Journal of Reliability, Quality and Safety Engineering",-"IJRS. International Journal of Remote Sensing",-"IJRR. International Journal of Robotics Research",-"IJSC. International Journal of Satellite Communications",-"IJSME International Journal of Science and Mathematics Education",-"IJSEd International Journal of Science Education",-"IJSE. International Journal of Solar Energy",-"IJSS. International Journal of Solids and Structures",-"IJSSD International Journal of Structural Stability and Dynamics",-"IJScA International Journal of Supercomputer Applications",-"IJSyS International Journal of Systems Science",-"IJTP. International Journal of Theoretical Physics",-"IJT.. International Journal of Thermophysics",-"IJTJE International Journal of Turbo Jet Engines",-"IMRv. International Materials Reviews",-"IMeRv International Metals Reviews",-"IREdu International Review of Education",-"IRH.. International Review of Hydrobiology",-"IRNP. International Review of Nuclear Physics",-"IRPC. International Reviews in Physical Chemistry",-"ISBRv International Space Business Review",-"IUGG. International Union of Geodesy and Geophysics General Assembly",-"IPNPR Interplanetary Network Progress Report",-"IMPA. Interscience Monographs in Physics and Astronomy",-"ITPA. Interscience Tracts on Physics and Astronomy",-"InMat Inventiones Mathematicae",-"InvPr Inverse Problems",-"IGeo. Investigations in Geophysics",-"InFiZ Inzhenerno Fizicheskii Zhurnal",-"IonIs Ionosfernye Issledovaniia",-"Iono. Ionosphere",-"Ippa. Ipparchos",-"IrJST Iranian Journal of Science Technology",-"IRETE IRE Transactions on Education",-"IrAJ. Irish Astronomical Journal",-"IrAJS Irish Astronomical Journal Supplement",-"ISAP. ISA Proceedings",-"ISAT. ISA Transactions",-"IHERv Ishikawajima Harima Engineering Review",-"Isis. Isis. Journal of the History of Science Society",-"IPBS. Isotopes in the Physical and Biomedical Sciences",-"IsJT. Israel Journal of Technology",-"IsSRT Israel Space Research and Technology Information Bulletin",-"ISRAA ISRN Astronomy and Astrophysics",-"ISCJS ISRO Satellite Centre Journal of Spacecraft Technology",-"ISSIR ISSI Scientific Reports Series",-"ISSIR ISSI Scientific Reports Series",-"IssZK Issledovanie Zemli Fiz Kosmosa",-"IGAFS Issledovaniia Geomagnetizmu Aeronomii i Fizike Solntsa",-"IsMTD Issledovaniia Mekhanike i Teploobmenu Dvukhfaznykh Sred",-"IssUP Issledovaniia Uprugosti i Plastichnosti",-"ISKZ. Issledovaniya Solntsa i Krasnykh Zvezd",-"IST.. Issues in Science and Technology",-"IsJAP Istanbul University Faculty of Science Journal of Astronomy Physics",-"IsRvC Istanbul University Faculty Science Review Serie C",-"IINA. Istituto Italiano di Navigazione Atti",-"IAIss Istoriko-Astronomicheskie Issledovaniya",-"ITCJ. ITC Journal",-"INTSA Itogi Nauki i Tekhniki Seriia Astronomiia",-"INTSF Itogi Nauki i Tekhniki Seriia Fizika Plazmy",-"INTSI Itogi Nauki i Tekhniki Seriia Issledovanie Kosmicheskogo Prostranstva",-"INTMK Itogi Nauki i Tekhniki Seriia Meteorologiia i Klimatologiia",-"INTSO Itogi Nauki i Tekhniki Seriia Okeanologiia",-"INTSR Itogi Nauki i Tekhniki Seriia Radiotekhnika",-"INTSS Itogi Nauki i Tekhniki Seriia Sovremennye Problemy Matematiki",-"INTSV Itogi Nauki i Tekhniki Seriia Vozdushnyi Transport",-"ITUTJ ITU Telecommunication Journal",-"IUEEN IUE ESA Newsletter",-"IUENN IUE NASA Newsletter",-"IzTad Izvestiia Akademiia Nauk TadzhSSR",-"IzSF. Izvestiia Akademii Nauk Seriya Fizicheskaya",-"IzGla Izvestiia Glavnoi rossiiskoi astronomicheskoi observatorii",-"IzVGA Izvestiia vuzov. Geodeziia Aehrofotosemka",-"IzVF. Izvestiia Vysshaia Uchebn. Zaved., Fizika",-"IzVUZ Izvestiia Vysshaia Uchebn. Zaved., Radiofizika",-"IzAsh Izvestiya Akademii Nauk Turkmenskoj SSR Ashkhabad",-"IzArm Izvestiya Akademiya Nauk Armyanskoi",-"IzAlm Izvestiya Astrofizicheskogo Instituta Alma-Ata",-"IzEhn Izvestiya Astronomicheskoj Engel'gardt obskoj Observatorii Kazan",-"IzAOP Izvestiya Atmospheric and Oceanic Physics",-"IzKie Izvestiya Glavnoj Astronomicheskoj Observatorii Kiev",-"IzPul Izvestiya Glavnoj Astronomicheskoj Observatorii v Pulkove",-"IzMat Izvestiya: Mathematics",-"IzAne Izvestiya na Fizicheskiya Institut s Aneb",-"IzKry Izvestiya Ordena Trudovogo Krasnogo Znameni Krymskoj Astrofizicheskoj Observatorii",-"IzPSE Izvestiya Physics of the Solid Earth",-"IzAvT Izvestiya VUZ Aviatsionnaya Tekhnika",-"IzRad Izvestiya VUZ Radiofizika",-"IzNic Izviestiia Nikolaevskoi glavnoi astronomicheskoi observatorii",-"JWUDF Jahns Wöchentliche Unterhaltungen Für Dilettanten und Freunde der Astronomie, Georgraphie und Witterungskunde",-"JRE.. Jahrbuch der Radioaktivität und Elektronik",-"JASAC Japan Astronomical Study Association Circulars",-"JaJAP Japanese Journal of Applied Physics",-"JJAPL Japanese Journal of Applied Physics Letters B",-"JJAPR Japanese Journal of Applied Physics Regular Papers Short Notes and Review Papers",-"JJAPS Japanese Journal of Applied Physics Supplement",-"JaJAG Japanese Journal of Astronomy and Geophysics",-"JMMPS Japanese Magazine of Mineralogical and Petrological Sciences",-"JaIMJ Japan Institute of Metals Journal",-"JSASS Japan Society of Aeronautical Space Sciences",-"JSAST Japan Society of Aeronautical Space Sciences Transactions",-"JSAPJ Japan Society of Air Pollution Journal",-"JSCMJ Japan Society of Composite Materials Journal",-"JSLEJ Japan Society of Lubrication Engineers Journal",-"JSMSJ Japan Society of Materials Science Journal",-"JSPS. Japan Society of Promotion Science",-"JSMAJ JASMA Japan Society of Microgravity Application Journal",-"JMeOp Jemna Mechanika Optika",-"JenRu Jenaer Rundschau",-"JenRv Jena Review",-"JBAn. Jodrell Bank Annals",-"JBASP Jodrell Bank Ann Ser Pt",-"JBRe. Jodrell Bank Reprints",-"JHATD Johns Hopkins APL Technical Digest",-"JOM.. JOM - Journal of the Minerals, Metals and Materials Society",-"RSNSW Journal and Proceedings of the Royal Society of New South Wales",-"JAco. Journal d'Acoustique",-"JCP.. Journal de Chimie Physique",-"JCPPC Journal de Chimie Physique et de Physico-Chimie Biologique",-"JMec. Journal de Mecanique",-"JMecA Journal de Mecanique Appliquee",-"JMecT Journal de Mecanique Theorique et Appliquee",-"JMTAS Journal de Mecanique Theorique et Appliquee Supplement",-"JPhys Journal de Physique",-"JPhyC Journal de Physique Colloque",-"JPR.. Journal de Physique et le Radium",-"JPhy1 Journal de Physique I",-"JPhy2 Journal de Physique II",-"JPhy3 Journal de Physique III",-"JPhy4 Journal de Physique IV",-"JPhyL Journal de Physique Lettres",-"JPhTA Journal de Physique Theorique et Apliquee",-"JReAt Journal de Recherches Atmospheriques",-"JAF.. Journal des Astronomes Francais",-"JO... Journal des Observateurs",-"JOp.. Journal d'Optique",-"JTP.. Journal for Technology of Plasticity",-"JHA.. Journal for the History of Astronomy",-"JHAS. Journal for the History of Astronomy Supplement",-"JRAM. Journal fur die reine und angewandte Mathematik",-"JNanU Journal Nanjing Univ",-"JNIRE Journal NIRE",-"JAE.. Journal of Acoustic Emission",-"JAMDS Journal of Advanced Mechanical Design, Systems, and Manufacturing",-"JAMES Journal of Advances in Modeling Earth Systems",-"JAerS Journal of Aerosol Science",-"JAerE Journal of Aerospace Engineering",-"JAerP Journal of Aerospace Power",-"JAfES Journal of African Earth Sciences",-"JAER. Journal of Agricultural Engineering Research",-"JAir. Journal of Aircraft",-"JAlg. Journal of Algebra",-"JAlgC Journal of Algebraic Combinatorics",-"JAlgo Journal of Algorithms",-"JAllC Journal of Alloys and Compounds",-"JACS. Journal of American Ceramic Society",-"JAAS. Journal of Analytical Atomic Spectrometry",-"JApCr Journal of Applied Crystallography",-"JApEl Journal of Applied Electrochemistry",-"JAG.. Journal of Applied Geophysics",-"JApMM Journal of Applied Mathematics and Mechanics",-"JAM.. Journal of Applied Mechanics",-"JAMTP Journal of Applied Mechanics and Technical Physics",-"JApMw Journal of Applied Metalworking",-"JApMe Journal of Applied Meteorology",-"JApMC Journal of Applied Meteorology and Climatology",-"JAPE. Journal of Applied Photographic Engineering",-"JAP.. Journal of Applied Physics",-"JAPh. Journal of Applied Physiology",-"JARS. Journal of Applied Remote Sensing",-"JASE. Journal of Applied Science and Engineering Section on Electrical Power and Information Systems",-"JApSc Journal of Applied Sciences",-"JApSp Journal of Applied Spectroscopy",-"JApS. Journal of Applied Statistics",-"JApT. Journal of Approximation Theory",-"JAESc Journal of Asian Earth Sciences",-"JAD.. Journal of Astronomical Data",-"JAHH. Journal of Astronomical History and Heritage",-"JAI.. Journal of Astronomical Instrumentation",-"JAsPh Journal of Astronomy and Physics (Turkey)",-"JASS. Journal of Astronomy and Space Sciences",-"JApA. Journal of Astrophysics and Astronomy",-"JApAS Journal of Astrophysics and Astronomy Supplement",-"JAtOT Journal of Atmospheric and Oceanic Technology",-"JASTP Journal of Atmospheric and Solar-Terrestrial Physics",-"JATP. Journal of Atmospheric and Terrestrial Physics",-"JAtC. Journal of Atmospheric Chemistry",-"JAtS. Journal of Atmospheric Sciences",-"JAMOP Journal of Atomic, Molecular and Optical Physics",-"JAES. Journal of Audio Engineering Society",-"JAuGG Journal of Australian Geology and Geophysics",-"JAuR. Journal of Automated Reasoning",-"JBall Journal of Ballistics",-"JBBM. Journal of Biochemical and Biophysical Methods",-"JBB.. Journal of Bioenergetics and Biomembranes",-"JBC.. Journal of Biological Chemistry",-"JBP.. Journal of Biological Physics",-"JBiom Journal of Biomechanics",-"JBO.. Journal of Biomedical Optics",-"JBNMR Journal of Biomolecular NMR",-"JBBC. Journal of Biophysical and Biochemical Cytology",-"JBiop Journal of Biophysics",-"JBiBi Journal of Biophysique et Biomecanique",-"JBMN. Journal of Biophysique et Medecine Nucleaire",-"JBMR. Journal of Bone and Mineral Research",-"JBR.. Journal of Breath Research",-"JCat. Journal of Catalysis",-"JChEd Journal of Chemical Education",-"JChPh Journal of Chemical Physics",-"JChS. Journal of Chromatographic Science",-"JCh.. Journal of Chromatography",-"JCSC. Journal of Circuits, Systems and Computers",-"JCli. Journal of Climate",-"JCAM. Journal of Climate and Applied Meteorology",-"JClim Journal of Climatology",-"JCS.. Journal of Clinical Microbiology",-"JClP. Journal of Clinical Pharmacology",-"JCS.. Journal of Cluster Science",-"JCScT Journal of College Science Teaching",-"JCIS. Journal of Colloid and Interface Science",-"JCoSc Journal of Colloid Science",-"JCTA. Journal of Combinatorial Theory, Series A",-"JCTB. Journal of Combinatorial Theory, Series B",-"JCom. Journal of Communications",-"CoNet Journal of Communications and Networks",-"JComp Journal of Complexity",-"JCoMa Journal of Composite Materials",-"JCTR. Journal of Composites and Technology Research",-"JCA.. Journal of Computational Acoustics",-"JTCN. Journal of Computational and Theoretical Nanoscience",-"JCoAM Journal of Computational and Applied Mathematics",-"JCoB. Journal of Computational Biology",-"JCoCh Journal of Computational Chemistry",-"JCM.. Journal of Computational Mathematics",-"JCoN. Journal of Computational Neuroscience",-"JCoPh Journal of Computational Physics",-"JCST. Journal of Computational Science and Technology",-"JCMD. Journal of Computer-Aided Materials Design",-"JCAMD Journal of Computer-Aided Molecular Design",-"JCoSS Journal of Computer and System Sciences",-"JCHyd Journal of Contaminant Hydrology",-"JConP Journal of Contemporary Physics (Armenian Academy of Sciences)",-"JCos. Journal of Cosmology",-"JCAP. Journal of Cosmology and Astro-Particle Physics",-"JCrGr Journal of Crystal Growth",-"JDR.. Journal of Dairy Research",-"JDE.. Journal of Differential Equations",-"JDGeo Journal of Differential Geometry",-"JoDI. Journal of Digital Information",-"JDST. Journal of Dispersion Science and Technology",-"JDisT Journal of Display Technology",-"JDSO. Journal of Double Star Observations",-"JDCS. Journal of Dynamical and Control Systems",-"JDDE. Journal of Dynamics and Differential Equations",-"JESS. Journal of Earth System Science",-"JElas Journal of Elasticity",-"JEEEA Journal of Electrical and Electronics Engineering Australia",-"JEE.. Journal of Electrical Engineering",-"JElec Journal of Electroceramics",-"JEAA. Journal of Electromagnetic Analysis and Application",-"JEWA. Journal of Electromagnetic Waves and Applications",-"JECS. Journal of Electronic Circuits and Systems",-"JEI.. Journal of Electronic Imaging",-"JEMat Journal of Electronic Materials",-"JEPub Journal of Electronic Publishing",-"JECTC Journal of Electronics Cooling and Thermal Control",-"JElM. Journal of Electronics Manufacturing",-"JEMT. Journal of Electron Microscopy Technique",-"JESRP Journal of Electron Spectroscopy and Related Phenomena",-"JESEd Journal of Elementary Science Education",-"JEner Journal of Energy",-"JEAS. Journal of Engineering and Applied Sciences",-"JEnMa Journal of Engineering and Mathematics",-"JEngM Journal of Engineering and Mechanics",-"JETh. Journal of Engineering and Thermophysics",-"JEER. Journal of Engineering Education Research",-"JEP.. Journal of Engineering Physics",-"JEPT. Journal of Engineering Physics and Thermophysics",-"JEngS Journal of Engineering Sciences",-"JEEM. Journal of Environmental and Economics Management",-"JECE. Journal of Environmental Conservation Engineering",-"JEnvS Journal of Environmental Sciences",-"JExB. Journal of Experimental Botany",-"JENan Journal of Experimental Nanoscience",-"JFF.. Journal of Fire Flammability",-"JFC.. Journal of Fluid Control",-"JFM.. Journal of Fluid Mechanics",-"JFS.. Journal of Fluids and Structures",-"JFST. Journal of Fluid Science and Technology",-"JFlu. Journal of Fluorescence",-"JFAA. Journal of Fourier Analysis and Applications",-"JFuA. Journal of Functional Analysis",-"JGeod Journal of Geodesy",-"JGeo. Journal of Geodynamics",-"JGS.. Journal of Geographical Systems",-"JGIS. Journal of Geographic Information System",-"JG... Journal of Geology",-"JGG.. Journal of Geomagnetism and Geoelectricity",-"JGGS. Journal of Geomagnetism and Geoelectricity Supplement",-"JGP.. Journal of Geometry and Physics",-"JGR.. Journal of Geophysical Research",-"JGRD. Journal of Geophysical Research (Atmospheres)",-"JGRG. Journal of Geophysical Research (Biogeosciences)",-"JGRF. Journal of Geophysical Research (Earth Surface)",-"JGRC. Journal of Geophysical Research (Oceans)",-"JGRE. Journal of Geophysical Research (Planets)",-"JGRB. Journal of Geophysical Research (Solid Earth)",-"JGRA. Journal of Geophysical Research (Space Physics)",-"JGRS. Journal of Geophysical Research Supplement",-"JGE.. Journal of Geophysics and Engineering",-"JGZG. Journal of Geophysics Zeitschrift Geophysik",-"JGeEd Journal of Geoscience Education",-"JGlac Journal of Glaciology",-"JGO.. Journal of Global Optimization",-"JGrPh Journal of Gravitational Physics",-"JGHyd Journal of Groundwater Hydrology",-"JGuC. Journal of Guidance Control",-"JGCD. Journal of Guidance Control Dynamics",-"JHeu. Journal of Heuristics",-"JHENP Journal of High Energy and Nuclear Physics",-"JHEP. Journal of High Energy Physics",-"JHEPC Journal of High Energy Physics Conference Proceedings",-"JHSN. Journal of High Speed Networks",-"JHTS. Journal of High Temperature Society",-"JHyd. Journal of Hydrology",-"JHyMe Journal of Hydrometeorology",-"JHyn. Journal of Hydronautics",-"JIST. Journal of Imaging Science and Technology",-"JIPM. Journal of Information Processing and Management",-"JInfo Journal of Informetrics",-"JIMW. Journal of Infrared and Millimeter Waves",-"JInst Journal of Instrumentation",-"JIntS Journal of Integer Sequences",-"JIEq. Journal of Integral Equations",-"JIRS. Journal of Intelligent and Robotic Systems",-"JIMSS Journal of Intelligent Material Systems and Structures",-"JIEx. Journal of Ion Exchange",-"JJAEE Journal of Japan Association for Earthquake Engineering",-"JJAHS Journal of Japanese Association of Hydrological Sciences",-"JJSEE Journal of Japanese Society for Engineering Education",-"JSCSE Journal of Japan Society of Civil Engineers, Ser. A1 (Structural Engineering &amp",-"JSCAM Journal of Japan Society of Civil Engineers, Ser. A2 (Applied Mechanics (AM))",-"JSCHE Journal of Japan Society of Civil Engineers, Ser. B1 (Hydraulic Engineering)",-"JSCGE Journal of Japan Society of Civil Engineers, Ser. C (Geosphere Engineering)",-"JSCAI Journal of Japan Society of Civil Engineers, Ser. D1 (Architecture of Infrastructure and Environment)",-"JSCHS Journal of Japan Society of Civil Engineers, Ser. D2 (Historical Studies in Civil Engineering)",-"JSCIP Journal of Japan Society of Civil Engineers, Ser. D3 (Infrastructure Planning and Management)",-"JSCPE Journal of Japan Society of Civil Engineers, Ser. E1 (Pavement Engineering)",-"JSCMC Journal of Japan Society of Civil Engineers, Ser. E2 (Materials and Concrete Structures)",-"JSCTE Journal of Japan Society of Civil Engineers, Ser. F1 (Tunnel Engineering)",-"JSCUS Journal of Japan Society of Civil Engineers, Ser. F2 (Underground Space Research)",-"JSCCE Journal of Japan Society of Civil Engineers, Ser. F3 (Civil Engineering Informatics)",-"JSCCM Journal of Japan Society of Civil Engineers, Ser. F4 (Construction and Management)",-"JSCPP Journal of Japan Society of Civil Engineers, Ser. F5 (Professional Practices in Civil Engineering)",-"JSCSP Journal of Japan Society of Civil Engineers, Ser. F6 (Safety Problem)",-"JSCER Journal of Japan Society of Civil Engineers, Ser. G (Environmental Research)",-"JKTR. Journal of Knot Theory and its Ramifications",-"JKAS. Journal of Korean Astronomical Society",-"JKASS Journal of Korean Astronomical Society Supplement",-"JKPS. Journal of Korean Physical Society",-"JLCMe Journal of Laboratory and Clinical Medicine",-"JLasA Journal of Laser Applications",-"JLCM. Journal of Less Common Metals",-"JLVEn Journal of Light &amp",-"JLwT. Journal of Lightwave Technology",-"JLTP. Journal of Low Temperature Physics",-"JLum. Journal of Luminescence",-"JMSB. Journal of Macromolecular Science, Part B: Physics",-"JMSC. Journal of Macromolecular Science, Part C: Reviews in Macromolecular Chemistry and Physics",-"JMagR Journal of Magnetic Resonance",-"JMMM. Journal of Magnetism and Magnetic Materials",-"JMR.. Journal of Marine Research",-"JMSA. Journal of Marine Science and Application",-"JMS.. Journal of Marine Systems",-"JMarA Journal of Maritime Archaeology",-"JMES. Journal of Materials and Energy Systems",-"JMCh. Journal of Materials Chemistry",-"JMEP. Journal of Materials Engineering and Performance",-"JMPMS Journal of Materials Processing and Manufacturing Science",-"JMatR Journal of Materials Research",-"JMatS Journal of Materials Science",-"JMSME Journal of Materials Science and Materials Electronics",-"JMSL. Journal of Materials Science Letters",-"JMSMM Journal of Materials Science: Materials in Medicine",-"JMSP. Journal of Materials Synthesis and Processing",-"JMAA. Journal of Mathematical Analysis and Applications",-"JMCS. Journal of Mathematical and Computational Science",-"JMPS. Journal of Mathematical and Physical Sciences",-"JMaCh Journal of Mathematical Chemistry",-"JMFM. Journal of Mathematical Fluid Mechanics",-"JMIV. Journal of Mathematical Imaging and Vision",-"JMP.. Journal of Mathematical Physics",-"JMPsy Journal of Mathematical Psychology",-"JMaSc Journal of Mathematical Sciences",-"JMSo. Journal of Mathematical Sociology",-"JMaMe Journal of Mathematics and Mechanics",-"JMaPh Journal of Mathematics and Physics",-"JMecE Journal of Mechanical and Engineering Science",-"JMBM. Journal of Mechanical Behavior and Materials",-"JMSTL Journal of Mechanical Systems for Transportation and Logistics",-"JMPSo Journal of Mechanics Physics of Solids",-"JMNB. Journal of Medecine Nucleaire et Biophysique",-"JMet. Journal of Metals",-"JMemS Journal of Microelectromechanical Systems",-"JMiMi Journal of Micromechanics and Microengineering",-"JMic. Journal of Microscopy",-"JMPeS Journal of Mineralogical and Petrological Sciences",-"JMOp. Journal of Modern Optics",-"JMPh. Journal of Modern Physics",-"JMBio Journal of Molecular Biology",-"JMoEl Journal of Molecular Electronics",-"JMolE Journal of Molecular Evolution",-"JMoSp Journal of Molecular Spectroscopy",-"JMoSt Journal of Molecular Structure",-"JMA.. Journal of Multivariate Analysis",-"JNUNS Journal of Nanjing University (Natural Sciences)",-"JNR.. Journal of Nanoparticle Research",-"JNano Journal of Nanophotonics",-"JNav. Journal of Navigation",-"JNIS. Journal of Near Infrared Spectroscopy",-"JNEng Journal of Neural Engineering",-"JNeur Journal of Neurochemistry",-"JNO.. Journal of Neuro-Oncology",-"JNCS. Journal of Non Crystalline Solids",-"JNE.. Journal of Nondestructive Evaluation",-"JNET. Journal of Non Equilibrium Thermodynamics",-"JNMP. Journal of Nonlinear Mathematical Physics",-"JNLM. Journal of Non Linear Mechanics",-"JNOPM Journal of Nonlinear Optical Physics and Materials",-"JNS.. Journal of NonLinear Science",-"JNuE. Journal of Nuclear Energy",-"JNuM. Journal of Nuclear Materials",-"JNT.. Journal of Number Theory",-"JOUC. Journal of Ocean University of China",-"JOC.. Journal of Optical Communications",-"JON.. Journal of Optical Networking",-"JOptT Journal of Optical Technology",-"JOpt. Journal of Optics",-"JOptA Journal of Optics A: Pure and Applied Optics",-"JOptB Journal of Optics B: Quantum and Semiclassical Optics",-"JOTA. Journal of Optimization Theory Applications",-"JOMS. Journal of Oral and Maxillofacial Surgery",-"JOR.. Journal of Oral Rehabilitation",-"JPal. Journal of Paleontology",-"JPDC. Journal of Parallel and Distributed Computing",-"JPet. Journal of Petrology",-"JPhPh Journal of Pharmacy and Pharmacology",-"JPCRD Journal of Physical and Chemical Reference Data",-"JPCC. Journal of Physical and Colloid Chemistry",-"JPhCh Journal of Physical Chemistry",-"JPCA. Journal of Physical Chemistry A",-"JPCB. Journal of Physical Chemistry B",-"JPO.. Journal of Physical Oceanography",-"JPhSt Journal of Physical Studies",-"JPhA. Journal of Physics A Mathematical General",-"JPCS. Journal of Physics and Chemistry of Solids",-"JPhB. Journal of Physics B Atomic Molecular Physics",-"JPCM. Journal of Physics Condensed Matter",-"JPhCS Journal of Physics Conference Series",-"JPhC. Journal of Physics C Solid State Physics",-"JPhD. Journal of Physics D Applied Physics",-"JPhE. Journal of Physics E Scientific Instruments",-"JPhF. Journal of Physics F Metal Physics",-"JPhG. Journal of Physics G Nuclear Physics",-"JPhGS Journal of Physics G Nuclear Physics Supplement",-"JPE.. Journal of Physics of the Earth",-"JPTEO Journal of Physics Teacher Education Online",-"JPhsg Journal of Physiology",-"JPFR. Journal of Plasma and Fusion Research",-"JPlPh Journal of Plasma Physics",-"JPoSc Journal of Polymer Science",-"JPoSA Journal of Polymer Science A Polymer Chemistry",-"JPoSB Journal of Polymer Science B Polymer Physics",-"JPoSL Journal of Polymer Science: Polymer Letters Edition",-"JPMat Journal of Porous Materials",-"JPES. Journal of Power and Energy Systems",-"JPS.. Journal of Power Sources",-"JPAS. Journal of Practical Applications in Space",-"JPP.. Journal of Propulsion and Power",-"JPT.. Journal of Propulsion Technology",-"JPrCh Journal of Protein Chemistry",-"JPApS Journal of Pure Applied Sciences",-"JQT.. Journal of Quality Technology",-"JQSRT Journal of Quantitative Spectroscopy and Radiative Transfer",-"JQS.. Journal of Quaternary Science",-"JRNC. Journal of Radioanalytical and Nuclear Chemistry",-"JRAC. Journal of Radioanalytical Chemistry",-"JRP.. Journal of Radiological Protection",-"JRSp. Journal of Raman Spectroscopy",-"JRPC. Journal of Reinforced Plastics and Composites",-"JRes. Journal of Research",-"JRPhy Journal of Research in Physics",-"JRScT Journal of Research in Science Teaching",-"JRIST Journal of Research Institute of Science and Technology, College of Science and Technology, Nihon University",-"JRNBS Journal of Research of the National Bureau of Standards",-"JRNBA Journal of Research of the National Bureau of Standards A Physica and Chemsitry",-"JRNBB Journal of Research of the National Bureau of Standards B Mathematical Sciences",-"JRTEd Journal of Research on Technology in Education",-"JResB Journal of Research Section B Mathematical Sciences B",-"JRheo Journal of Rheology",-"JRoS. Journal of Robotic Systems",-"JRLR. Journal of Russian Laser Research",-"JSEdT Journal of Science Education and Technology",-"JSTEd Journal of Science Teacher Education",-"JSCom Journal of Scientific Computing",-"JScI. Journal of Scientific Instruments",-"JSIPI Journal of Scientific Instruments and of Physics in Industry",-"JSR.. Journal of Sea Research",-"JSedR Journal of Sedimentary Research",-"JSeis Journal of Seismology",-"JSemi Journal of Semiconductors",-"JSGeo Journal of Series Geophysics",-"JShR. Journal of Ship Research",-"JSGST Journal of Sol-Gel Science and Technology",-"JSMME Journal of Solid Mechanics and Materials Engineering",-"JSSCh Journal of Solid State Chemistry France",-"JSCh. Journal of Solution Chemistry",-"JSV.. Journal of Sound Vibration",-"JSAES Journal of South American Earth Sciences",-"JSLR. Journal of Soviet Laser Research",-"JSAR. Journal of Space Astronomy Research",-"JSpRo Journal of Spacecraft and Rockets",-"JSpT. Journal of Spacecraft Technology",-"JSpEn Journal of Space Engineering",-"JSWSC Journal of Space Weather and Space Climate",-"JSCS. Journal of Statistical Computation and Simulation",-"JSMTE Journal of Statistical Mechanics: Theory and Experiment",-"JSP.. Journal of Statistical Physics",-"JStA. Journal of Strain Analysis and Engineering Design",-"JSG.. Journal of Structural Geology",-"JSM.. Journal of Structural Mechanics",-"JSup. Journal of Superconductivity",-"JSymC Journal of Symbolic Computation",-"JSDD. Journal of System Design and Dynamics",-"JTePh Journal of Technical Physics",-"JTech Journal of Technology",-"JTeEv Journal of Testing Evaluation",-"JASJa Journal of the Acoustical Society of Japan",-"JAVSO Journal of the American Association of Variable Star Observers (JAAVSO)",-"JAChS Journal of the American Chemical Society",-"JAMS. Journal of the American Mathematical Society",-"JASIS Journal of the American Society for Information Science and Technology",-"JASCE Journal of the American Society of Civil Engineers",-"JAWRA Journal of the American Water Resources Association",-"JALPO Journal of the Association of Lunar and Planetary Observers, the Strolling Astronomer",-"JAnSc Journal of the Astronautical Sciences",-"JASEg Journal of the Astronomical Society of Egypt",-"JASSA Journal of the Astronomical Society of Southern Africa",-"JASV. Journal of the Astronomical Society of Victoria Melbourne",-"JASWA Journal of the Astronomical Society of Western Australia",-"JBAA. Journal of the British Astronomical Association",-"JBAS. Journal of the British Astronomical Society",-"JBIS. Journal of the British Interplanetary Society",-"JCSS. Journal of the Chinese Silicate Society",-"JElS. Journal of the Electrochemical Society",-"FrInJ Journal of The Franklin Institute",-"JGSJ. Journal of the Geodetic Society of Japan",-"JIISB Journal of the Indian Institute of Science Section B Physical and Chemical Series",-"JIEEJ Journal of The Institute of Electrical Engineers of Japan",-"JIMIA Journal of the Institute of Mathematics and Its Applications",-"JIPNT Journal of the Institute of Positioning, Navigation and Timing of Japan",-"JIETE Journal of the Institution of Electronics and Telecommunication Engineers",-"JJSMS Journal of the Japan Society for Marine Surveys and Technology",-"JLMS. Journal of the London Mathematical Society",-"JORS. Journal of the Operational Research Society",-"JOSA. Journal of the Optical Society of America (1917-1983)",-"JOSAA Journal of the Optical Society of America A",-"JOSAB Journal of the Optical Society of America B Optical Physics",-"JTAM. Journal of Theoretical and Applied Mechanics",-"JTBio Journal of Theoretical Biology",-"JPSJ. Journal of the Physical Society of Japan",-"JPSJS Journal of the Physical Society of Japan Supplement",-"JTAC. Journal of Thermal Analysis and Calorimetry",-"JThSc Journal of Thermal Science",-"JJTST Journal of Thermal Science and Technology",-"JTST. Journal of Thermal Spray Technology",-"JThSt Journal of Thermal Stresses",-"JTh.. Journal of Thermodynamics",-"JTHT. Journal of Thermophysics and Heat Transfer",-"JThCM Journal of Thermoplastic Composite Materials",-"JRASA Journal of the Royal Aeronautical Society of London",-"JRASC Journal of the Royal Astronomical Society of Canada",-"JRASN Journal of the Royal Astronomical Society of New Zealand",-"JRCSE Journal of the Royal College of Surgeons of Edinburgh",-"JRSSD Journal of the Royal Statistical Society: Series D (The Statistician)",-"JSRP. Journal of the Society for Radiological Protection",-"JSPST Journal of The Society of Photographic Science and Technology of Japan",-"JSARA Journal of the Southeastern Association for Research in Astronomy",-"JSD.. Journal of the Structural Division, American Society of Civil Engineers",-"JVSJ  Journal of the Vacuum Society of Japan",-"JWasA Journal of the Washington Academy of Sciences",-"JTF.. Journal of Time and Frequency",-"JTurb Journal of Turbulence",-"JVST. Journal of Vacuum Science Technology",-"JVSTA Journal of Vacuum Science Technology A: Vacuum Surfaces and Films",-"JVSTB Journal of Vacuum Science Technology B: Microelectronics and Nanometer Structures",-"JVC.. Journal of Vibration and Control",-"JVE.. Journal of Vibration Engineering",-"JVCIR Journal of Visual Communication and Image Representation",-"JVGR. Journal of Volcanology and Geothermal Research",-"JWMSE Journal of Women and Minorities in Science and Engineering",-"JXST. Journal of X-Ray Science and Technology",-"RpScT JPRS Report Science Technology USSR Space",-"JSMB. JSME Bulletin",-"JSMEJ JSME International Journal",-"JSMEA JSME International Journal Series A",-"JSMEB JSME International Journal Series B",-"JSMEC JSME International Journal Series C",-"JSMET JSME Transactions",-"KKR.. Kagaku Kogaku Ronbunshu",-"MmKMO Kakioka Magnetic Observatory Memoirs",-"KEIJ. Kansei Engineering International Journal",-"GroR. Kapteyn Astronomical Laboratory Groningen Reports",-"KIzKU Kazan Izdatel Kazanskogo Universiteta",-"MeeRe Kenneth Mees Observatory Reprints",-"KernR Kernforschungsanlage Rept Res Results Solid State Nucl Phys",-"KexT. Kexue Tongbao",-"Khago Khagol",-"KharI Kharkov Izdanie IRE AN USSR",-"KTTM. Khimiia i Tekhnologiia Topliv i Masel",-"KhPl. Khimiia Plazmy",-"KVnT. Kibernetika i Vychislitel naia Tekhnika",-"KiInF Kiev Institut Fiziki AN USSR",-"KiInM Kiev Institut Matematiki AN USSR",-"KIPME Kiev Institut Problem Modelirovaniia Energetike AN USSR",-"KIzIM Kiev Izdanie Instituta Matematiki AN USSR",-"KiIND Kiev Izdatel Naukova Dumka",-"KiIzT Kiev Izdatel Tekhnika",-"KIzVS Kiev Izdatel Vishcha Shkola",-"KiePr Kievskij Ordena Lenina Gosudarstvennyj Universitet Shevchenko Astronomicheskaya Observatoriya - Preprint",-"KPCB. Kinematics and Physics of Celestial Bodies",-"KPCBS Kinematics and Physics of Celestial Bodies, Supplement",-"KFNT. Kinematika i Fizika Nebesnykh Tel",-"KFNTS Kinematika i Fizika Nebesnykh Tel Supplement",-"KiCat Kinetics and Catalysis",-"KIzS. Kishinev Izdatel Shtiintsa",-"KPNON Kitt Peak National Observatory Newsletter",-"KVeBB Kleine Veroeffentlichungen der Universitaetssternwarte zu Berlin Babelsberg",-"KlBer Kleinheubacher Berichte",-"KodOB Kodaikanal Observatory Bulletins",-"KodRe Kodaikanal Observatory Reprints",-"KomTs Kometnyj Tsirkulyar",-"KomMe Komety i Meteory",-"KNAB. Koninklijke Nederlandse Akademie van Weteschappen Proceedings Series B Physical Sciences",-"KIMMJ Korean Institute of Metals and Materials Journal",-"KNT.. Kosmicheskaia Nauka i Tekhnika",-"KosIs Kosmicheskie Issledovaniia",-"KosIU Kosmicheskie Issledovaniia Ukraine",-"KosLu Kosmicheskie Luchi",-"KosNT Kosmichna Nauka i Tekhnologiya",-"Kozmo Kozmos",-"KT... K-Theory",-"KSVH. Kungl. Svenska Vetenskapsakademiens Handlingar",-"KvanE Kvantovaia Elektronika Moscow",-"Kyb.. Kybernetes",-"KyoMe Kyoto University Faculty Engineering Memoirs",-"KyITB Kyushu Institute Technology Bulletin",-"KUFEM Kyushu University Faculty Engineering Memoirs",-"KyUAM Kyushu University Research Institute Applied Mechanics Reports",-"KyUSR Kyushu University Research Institute Industrial Science Reports",-"KyUTR Kyushu University Technology Reports",-"LChip Lab on a Chip",-"AerAs L'Aeronautique et L'Astronautique",-"AerMS L'Aerotecnica Missili e Spazio",-"LHBl. La Houille Blanche",-"Meteo La Meteorologie",-"LDD.. Land Degradation &amp",-"LanB. Landolt Börnstein",-"Langm Langmuir",-"LaJ.. Lapidary Journal",-"Rech. La Recherche",-"ReAer La Recherche Aerospatiale",-"ReAeB La Recherche Aerospatiale Bimonthly Bulletin ESA",-"ReSp. La Recherche Spatiale",-"LPB.. Laser and Particle Beams",-"LaEO. Laser Elektro Optik",-"LaFoc Laser Focus",-"LasJ. Laser Journal",-"LaPhy Laser Physics",-"LaPhL Laser Physics Letters",-"LaPhR Laser Physics Review",-"Astrf L'Astrofilo Bolletino Trimestral del Gruppo Astrofili Villaggio Sereno Brescia",-"LAstr L'Astronomie",-"LTerm La Termotecnica",-"LatJP Latvian Journal of Physics and Technical Sciences",-"LatME Latviiskii Matematicheskii Ezhegodnik",-"LawOB Laws Observatory Bulletin, University of Missouri",-"LBLRR LBL Research Review",-"ASPL. Leaflet of the Astronomical Society of the Pacific",-"ASPLS Leaflet of the Astronomical Society of the Pacific (Supplement)",-"LePub Learned Publishing",-"LERec L'Echo des Recherches",-"Ciel. Le Ciel",-"LNEA. Lecture Notes and Essays in Astrophysics",-"LNSP. Lecture Notes and Supplements in Physics",-"LNCS. Lecture Notes in Computer Science",-"LNES. Lecture Notes in Earth Sciences, Berlin Springer Verlag",-"LNEn. Lecture Notes in Engineering, Berlin Springer Verlag",-"LNM.. Lecture Notes in Mathematics, Berlin Springer Verlag",-"LNP.. Lecture Notes in Physics, Berlin Springer Verlag",-"LNPAM Lecture Notes in Pure and Applied Mathematics",-"LeBAN Leningrad Biblioteka Akademii Nauk SSSR",-"LeEne Leningrad Energoizdat",-"LeGid Leningrad Gidrometeoizdat",-"PrAtO Leningrad Gidrometeoizdat Sovremennye Problemy Atmosfernoi Optiki",-"LeIzE Leningrad Izdatel Energiia",-"LeIzG Leningrad Izdatel Gidrometeoizdat",-"LeIzK Leningrad Izdatel Khimiia",-"LeIzU Leningrad Izdatel Leningradskogo Universiteta",-"LeIzM Leningrad Izdatel Mashinostroenie",-"LeIzN Leningrad Izdatel Nauka",-"LIzNe Leningrad Izdatel Nedra",-"IzLen Leningrad, Izdatel'stvo Nauka",-"LeIzS Leningrad Izdatel Sudostroenie",-"LeLen Leningrad Lenizdat",-"LGUPM Leningradskii Gosudarstvennyi Universitet Problemy Matematicheskoi Fiziki",-"VeLen Leningradskii Universitet Vestnik Matematika Mekhanika Astronomiia",-"LeRad Le Radium",-"Leo.. Leonardo",-"LFTR. LEST Foundation, Technical Report",-"LHMT. Letters Heat Mass Transfer",-"LAES. Letters in Applied and Engineering Sciences",-"LMaPh Letters in Mathematical Physics",-"LicOB Lick Observatory Bulletin",-"LFR.. Lietuvos Fizikos Rinkinys",-"LDA.. Lifetime Data Analysis",-"LLabJ Lincoln Laboratory Journal",-"LiCr. Liquid Crystals",-"Litho Lithos",-"LitJP Lithuanian Journal of Physics and Technical Sciences",-"LRR.. Living Reviews in Relativity",-"LRSP. Living Reviews in Solar Physics",-"LockH Lockheed Horizons",-"LOEle L'Onde Electrique",-"LowOB Lowell Observatory Bulletin",-"LTP.. Low Temperature Physics",-"LPIBu LPI Bulletin",-"LPICo LPI Contributions",-"LubEn Lubrication Engineering",-"LR... Luft und Raumfahrt",-"LuRaQ Luft und Raumfahrt Quarter",-"LPSC. Lunar and Planetary Science Conference Proceedings",-"LCEC. Luxembourg Commission European Communities",-"LIVS. Lvov Izdatel Vishcha Shkola",-"LvoTs L'vovskij Ordena Lenina Gosudarstvennyj Universitet Tsirkulyar",-"MaDes Machine Design",-"MLear Machine Learning",-"MmCP. Macromolecular Chemistry and Physics",-"MaMol Macromolecules",-"MadOO Madras Observatory Astronomical Observations",-"MadOb Madras Observatory Observations",-"MagFE Magnetic Fusion Energy",-"MRMed Magnetic Resonance in Medicine",-"MRMPB Magnetic Resonance Materials in Physics Biology and Medicine",-"MRRev Magnetic Resonance Review",-"MHD.. Magnetohydrodynamics",-"MagGi Magnitnaia Gidrodinamika",-"MagIs Magnitosfernye Issledovaniia",-"MTACI Magyar Tudomanyos Akademia Csillagvizsgalo Intezetenek koezlemenyei",-"MAWMN Mainz Akademie Wissenschaften Mathematisch Naturwissenschaftliche Klasse",-"Lapa. Majalah LAPAN",-"MWGBI Mannheim West Germany Bibliographisches Institut AG",-"MaTeJ ManTech Journal",-"MGeo. Manuscr. Geod.",-"ManGe Manuscripta Geodaetica",-"MarRv Marconi Review",-"MarGe Marine Geodesy",-"MarGR Marine Geophysical Research",-"MarPG Marine Petroleum Geology",-"Mars. Mars",-"Mashi Mashinostroenie",-"MsT.. Masters Thesis",-"MaFiz Matematicheskaia Fizika",-"MFiNM Matematicheskaia Fizika i Nelineinaia Mekhanika",-"MatIs Matematicheskie Issledovaniia",-"MMFMP Matematicheskie Metody i Fiziko Mekhanicheskie Polia",-"MISTr Matematicheskii Institut imeni Steklova Trudy",-"MMTET Matematicheskoe Modelirovanie i Teoriia Elektricheskikh Tsepei",-"MatVe Matematichki Vesnik",-"Mater Materialpruefung",-"Mate. Materials",-"MMP.. Materials and Manufacturing Processes",-"MCP.. Materials Chemistry and Physics",-"MaHT. Materials at High Temperatures",-"MatEv Materials Evaluation",-"MatL. Materials Letters",-"MaRBu Materials Research Bulletin",-"MRSSP Materials Research Society Symposia Proceedings",-"MSEng Materials Science and Engineering",-"MSEnA Materials Science and Engineering A",-"MSEnB Materials Science and Engineering B",-"MSEnC Materials Science and Engineering C",-"MSEnR Materials Science and Engineering R Reports",-"MSTec Materials Science and Technology",-"MSF.. Materials Science Forum",-"MatSP Materials Science Poland",-"MatST Materials Science Technology",-"MatTr Materials Transactions JIM",-"MatTe Materiaux et Techniques",-"MComM Mathematical and Computer Modelling",-"MEI.. Mathematical Engineering Industry",-"MaFi. Mathematical Finance",-"MatG. Mathematical Geology",-"MMAS. Mathematical Methods in the Applied Sciences",-"MatM. Mathematical Modelling",-"MMNA. Mathematical Modelling Numerical Analysis",-"M3AS. Mathematical Models and Methods in Applied Sciences",-"MPAG. Mathematical Physics, Analysis and Geometry",-"MPAM. Mathematical Physics and Applied Mathematics",-"MaPEJ Mathematical Physics Electronic Journal",-"MaPhS Mathematical Physics Studies",-"MaPr. Mathematical Proceedings",-"MPCPS Mathematical Proceedings of the Cambridge Philosophical Society",-"MatPr Mathematical Programming",-"MatRv Mathematical Reviews",-"MMS.. Mathematics and Mechanics of Solids",-"MEdRJ Mathematics Education Research Journal",-"MaCom Mathematics of Computation",-"Mat.. Mathematika",-"MatAn Mathematische Annalen",-"MatNa Mathematische Nachrichten",-"MatZe Mathematische Zeitschrift",-"MitAe Max Planck Institut Aeronomie Mitteilungen",-"MPARp Max Planck Institut fur Astrophysik Report",-"Meas. Measurements",-"MeScT Measurement Science and Technology",-"MeScR Measurement Science Review",-"Mecc. Meccanica",-"MecEn Mechanical Engineering",-"MSSP. Mechanical Systems and Signal Processing",-"MPDS. Mechanics and Physics of Discrete Systems",-"MCMS. Mechanics of Composite Materials",-"MSM.. Mechanics of Structures and Machines",-"MTDM. Mechanics of Time-Dependent Materials",-"MeReC Mechanics Research Communications",-"MeTeS Mechanika Teoretyczna i Stosowana",-"MeMaT Mechanism and Machine Theory",-"MeUpp Meddelanden fran Astronomiska Observatorium Uppsala",-"MeLu1 Meddelanden fran Lunds Astronomiska Observatorium Serie I",-"MeLu2 Meddelanden fran Lunds Astronomiska Observatorium Serie II",-"MeAar Meddelser fra Ole Romer Observatoriet Aarhus",-"MeGen Mededelingen Universiteit te Gent Sterrenkundig Instituut",-"MeLeu Mededelingen van het Astronomisch Instituut van de Katholieke Universiteit Leuven",-"MedPh Medical Physics",-"MekGS Mekhanika Giroskopicheskikh Sistem",-"MekKM Mekhanika Kompozitnykh Materialov",-"MekP. Mekhanika Polimerov",-"MekTT Mekhanika Tverdogo Tela",-"MelAR Melbourne Observatory Annual Report",-"MelOO Melbourne Observatory Observations",-"MmEbr Memoires de l'Observatoire de l'Ebre",-"MmARB Memoires of the Academie Royale de Belgique",-"MmMtS Memoires of the Mount Stromlo Observervatory",-"MSRSL Memoires of the Societe Royale des Sciences de Liege",-"MeSRM Memoires Scientifiques de la Revue de Metallurgie",-"MmKyo Memoirs Faculty of Sciences University of Kyoto",-"MmASI Memoirs of the Astronomical Society of India",-"MmBAA Memoirs of the British Astronomical Association",-"MmRAS Memoirs of the Royal Astronomical Society",-"MmSAI Memorie della Societa Astronomica Italiana",-"MSAIS Memorie della Societa Astronomica Italiana Supplementi",-"MmSSI Memorie della Societa Degli Spettroscopisti Italiani",-"MmSS. Memorie della Societa Degli Spettroscopisti Italiani, serie 2",-"MmSGI Memorie della Societa Geologica Italiana",-"MmNap Memorie del R. Osservatorio di Capodimonte in Napoli",-"MeCom Mendeleev Communications",-"Mercu Mercury",-"MeAut Meres es Automatika",-"MeRAu Mesures Regulation Automatisme",-"Metal Metallofizika",-"MTObM Metallovedenie i Termicheskaia Obrabotka Metallov",-"MMTA. Metallurgical and Materials Transactions A",-"MMTB. Metallurgical and Materials Transactions B",-"MTA.. Metallurgical Transactions A",-"MTB.. Metallurgical Transactions B",-"MTPMM Metallurgical Transactions Physical Metallurgy Materials Science",-"MetaM Metamaterials",-"MTRMA Meteor Forschungsergebnisse Reihe B Meteorologie und Aeronomie",-"Metit Meteorites",-"Met.. Meteorite - The International Quarterly of Meteorites and Meteorite Science",-"Metic Meteoritics",-"Metik Meteoritika",-"MetRR Meteornoe Rasprostranenie Radiovoln",-"MetIs Meteornye Issledovaniia",-"MeApp Meteorological Applications",-"MetMa Meteorological Magazine",-"MetMo Meteorological Monographs",-"MSCTN Meteorological Satellite Center Technical Note",-"MeSJJ Meteorological Society of Japan Journal",-"MetZp Meteorologicke Zpravy",-"MeGid Meteorologiia i Gidrologiia",-"MetRu Meteorologische Rundschau",-"MetZe Meteorologische Zeitschrift",-"MAP.. Meteorology and Atmospheric Physics",-"MetAP Meteorology Atmospheric Physics",-"MetHy Meteorology Hydrology JPRS",-"MeRR. Meteor. rasprostr. radiovoln, Kazan",-"MVMP. Methoden und Verfahren der Mathematischen Physik",-"MCME. Methods: A Companion to Methods in Enzymology",-"MApAn Methods and Applications of Analysis",-"MComP Methods in Computational Physics",-"MGG.. Methods in Geochemistry and Geophysics",-"MSB.. Methods in Subnuclear Physics",-"MExP. Methods of Experimental Physics",-"MetVy Metody Vychislenii",-"Metro Metrologia",-"MicEc Microbial Ecology",-"MPFD. Microdevices: Physics and Fabrication Technologies",-"MiEng Microelectronic Engineering",-"MiI.. Microelectronics International",-"MiRe. Microelectronics Reliability",-"MicgQ Microgravity Quarterly",-"MiST. Microgravity Science and Technology",-"MTEng Microscale Thermophysical Engineering",-"MiMic Microscopy and Microanalysis",-"MiOTL Microwave and Optical Technology Letters",-"MiJo. Microwave Journal",-"MicWa Microwaves",-"AcMik Mikrochimica Acta",-"Mikro Mikroelektronika",-"MikSb Mikroelektronika Sbornik",-"MAIMT Milan Associazione Italiana di Meccanica Teorica ed Applicata",-"MSMFR Milano Seminario Matematico e Fisico Rendiconti",-"MiElC Military Electronics Countermeasures",-"MiLa. Mind and Language",-"MinDe Mineralium Deposita",-"Miner Mineralogia",-"MinM. Mineralogical Magazine",-"MinPe Mineralogy and Petrology",-"MinPh Mineral Physics",-"MWE.. Mine Water and The Environment",-"MPBu. Minor Planet Bulletin",-"MPC.. Minor Planet Circulars",-"MPEC. Minor Planet Electronic Circulars",-"IzMin Minsk Izdatel BGU",-"MiINT Minsk Izdatel Nauka i Tekhnika",-"MisSp Missiles Spacecraft",-"MAPSE Mission Analysis Program Solar Electric Propulsion MAPSEP",-"MHITR Mitsubishi Heavy Industries Technical Review",-"MitAG Mitteilungen der Astronomischen Gesellschaft Hamburg",-"MiBon Mitteilungen der Astronomischen Institute der Universitaet Bonn",-"MiBas Mitteilungen der Astronomisch-Meteorologischen Anstalt der Universitaet Basel Astronomische Reihe",-"MiHar Mitteilungen der Bruno-H.-Buergel-Sternwarte Hartha DDR",-"MiHam Mitteilungen der Hamburger Sternwarte in Bergedorf",-"MiKon Mitteilungen der Konkoly Sternwarte Budapest-Szabadsaghegy",-"MiPul Mitteilungen der Nikolai-Hauptsternwarte zu Pulkowo",-"MiBud Mitteilungen der Sternwarte der Ungarischen Akademie der Wissenschaften Budapest",-"MiInn Mitteilungen der Sternwarte Innsbruck",-"MiMun Mitteilungen der Sternwarte Munchen",-"MiSon Mitteilungen der Sternwarte zu Sonneberg",-"MiGra Mitteilungen der Universitaets-Sternwarte Graz",-"MiWie Mitteilungen der Universitaets-Sternwarte Wien",-"MiJen Mitteilungen der Universitaets-Sternwarte zu Jena",-"MiTue Mitteilungen des Astronomischen Instituts der Universitaet Tuebingen",-"MiMue Mitteilungen des Astronomischen Instituts des Universitaet Munster",-"MiPot Mitteilungen des Astrophysikalischen Observatoriums Potsdam",-"MiGIR Mitteilungen Geod. Institut Rheinischen Friedrich-Wilhelms-Universitaets. Bonn",-"MSMSE Modelling Simul. Mater. Sci. Eng.",-"MAG.. Modern Approaches in Geophysics",-"ModGe Modern Geology",-"ModIn Modern Instrumentation",-"MIMPE Modern Instrumentation and Measurements in Physics and Engineering",-"ModPh Modern Physics",-"MPLA. Modern Physics Letters A",-"MPLB. Modern Physics Letters B",-"MJPS. Moldavian Journal of the Physical Sciences",-"MBB.. Molecular Biology and Biophysics",-"MBBB. Molecular Biology Biochemistry and Biophysics",-"MCLC. Molecular Crystals and Liquid Crystals",-"MGM.. Molecular Genetics and Metabolism",-"MolPh Molecular Physics",-"MoPhR Molecular Physics Reports",-"MoSim Molecular Simulation",-"MCBEH Monatliche Correspondenz zur Beforderung der Erd- und Himmels-kunde",-"WisBB Monatsber. Deutsch. Akad Wissenschaftliche Berlin",-"MEEP. Monographs on Environment, Earth and Planets",-"MNSSJ Monthly notes of the Astronomical Society of South Africa",-"MNSSA Monthly Notes of the Astronomical Society of South Africa",-"MNRAS Monthly Notices of the Royal Astronomical Society",-"MWRv. Monthly Weather Review",-"Moon. Moon",-"MorGI Morskie Gidrofizicheskie Issledovaniia",-"MAtom Moscow Atomizdat",-"MoEBA Moscow Energoatomizdat Biblioteka Automatike",-"MEner Moscow Energoizdat",-"MoGid Moscow Gidrometeoizdat",-"MoIKI Moscow Institut Kosmicheskikh Issledovanii AN SSSR",-"MoIPM Moscow Institut Prikladnoi Matematiki AN SSSR",-"MoIzA Moscow Izdatel Atomizdat",-"MoIzE Moscow Izdatel Energiia",-"MIEBA Moscow Izdatel Energiia Biblioteka Avtomatike",-"MIEBR Moscow Izdatel Energiia Biblioteka Radioelektronike",-"MoIzK Moscow Izdatel Khimiia",-"MIzLI Moscow Izdatel Legkaia Industriia",-"MIzMa Moscow Izdatel Mashinostroenie",-"MIzMe Moscow Izdatel Metallurgiia",-"MoIzM Moscow Izdatel Moskovskogo Universiteta",-"MIzMU Moscow Izdatel Moskovskogo Universiteta Pt",-"MoIzN Moscow Izdatel Nauka",-"MINFI Moscow Izdatel Nauka AN SSR Fizicheskii Institut Trudy",-"MINCV Moscow Izdatel Nauka AN SSSR Chteniia imeni Vernadskogo",-"MoINA Moscow Izdatel Nauka AN SSSR Fizicheskii Institut Trudy",-"MINGI Moscow Izdatel Nauka AN SSSR Geologicheskoi Institut Trudy",-"MINMI Moscow Izdatel Nauka AN SSSR Matematicheskii Institut Trudy",-"MoINI Moscow Izdatel Nauka Issledovaniia Geomagnetizmu Aeronomii i Fizike Solntsa",-"MINTF Moscow Izdatel Nauka Teoreticheskaia Fizika",-"MINVS Moscow Izdatel Nauka Vychislitel naia Seismologiia",-"MIzNe Moscow Izdatel Nedra",-"MIzRS Moscow Izdatel Radio Sviaz",-"MIzSR Moscow Izdatel Sovetskoe Radio",-"MISRI Moscow Izdatel Sovetskoe Radio Ionosfernye Issledovaniia",-"MoIzS Moscow Izdatel Sviaz",-"MISST Moscow Izdatel Sviaz Statisticheskaia Teoriia sviazi",-"MoIzT Moscow Izdatel Transport",-"MoIzV Moscow Izdatel VINITI",-"MIzVS Moscow Izdatel Vysshaia Shkola",-"MoIzZ Moscow Izdatel Znanie",-"MIZNZ Moscow Izdatel Znanie Novoe Zhizni Nauke Tekhnike Seriia Fizika",-"MosIZ Moscow IZMIRAN",-"MoMTN Moscow Mezhdunarodnyi Tsentr Nauchnoi i Tekhnicheskoi Informatsii",-"MoMGK Moscow Mezhduvedomstvennyi Geofizicheskii Komitet",-"MUPB. Moscow University Physics Bulletin",-"MoVIN Moscow VINITI",-"MosVo Moscow Voenizdat",-"MosVI Moscow Voennoe Izdatel",-"MoVNT Moscow Vychislitel nyi Tsentr AN SSSR",-"MoVyS Moscow Vysshaia Shkola",-"MoLLP Moshchnye lazery i lazernaia plazma",-"MoEIT Moskovskii Energeticheskii Institut Trudy",-"MGUMN Moskovskii Gosudarstvennyi Universitet Institut Mekhaniki Nauchnye Trudy",-"MGIMO Moskovskii Gosudarstvennyi Universitet Institut Mekhaniki Otchet",-"MVSFA Moskovskii Universitet Vestnik Seriia Fizika Astronomiia",-"MUVSK Moskovskii Universitet Vestnik Seriia Khimiia",-"MVSMM Moskovskii Universitet Vestnik Seriia Matematika Mekhanika",-"MGTVM Moskovskij Gosudarstvennyj Tekhnicheskij Universitet Vestnik Seriya Mashinostroenie",-"MGTVP Moskovskij Gosudarstvennyj Tekhnicheskij Universitet Vestnik Seriya Priborostroenie",-"MotZe Motortechnische Zeitschrift",-"MtSOM Mount Stromlo Observatory Mimeographs",-"MtSRe Mount Stromlo Observatory Reprints",-"MtWAR Mount Wilson and Palomar Observatory Annual Report",-"MtWRe Mount Wilson and Palomar Observatory Reprints",-"MWOAR Mount Wilson Observatory Annual Report",-"MPERp MPE Report",-"MRSBu MRS Bulletin",-"MUSS. Muenchen Universitaets Schriften Serie",-"MROVG Munich R Oldenbourg Verlag GmbH",-"NISZ. Nabliudeniia Iskusstvennykh Sputnikov Zemli",-"NINT. Nablyud. Iskusstvennykh Nebesnykh Tel",-"NAZ.. Nachrichtenblatt der Astronomischen Zentralstelle Heidelberg",-"NVS.. Nachrichtenblatt der Vereinigung der Sternfreunde",-"NacEl Nachrichten Elektronik",-"NGFAW Nachrichtentechnische Gesellschaft Fachtagung ueber Antennen",-"NacZe Nachrichtentechnische Zeitschrift",-"NOGB. Nachr. Olbers-Ges. Bremen",-"NUFEM Nagoya University Faculty Engineering Memoirs",-"NURIA Nagoya University Research Institute of Atmospherics Proceedings",-"NUSEM Nagoya University School Engineering Memoirs",-"NaAIJ Nanjing Aeronautical Institute Journal",-"NUAAJ Nanjing University Aeronautics and Astronautics Journal",-"NanoL Nano Letters",-"Nanos Nanoscale",-"NRL.. Nanoscale Research Letters",-"Nanot Nanotechnology",-"NIUNA Napoli Istituto Universitario Navale Annali",-"NASCL NASA Circular Letter",-"PDSS. NASA Planetary Data System",-"NASRP NASA Reference Publication",-"NASSP NASA Special Publication",-"STIA. NASA STI/Recon Technical Report A",-"STIN. NASA STI/Recon Technical Report N",-"NASTM NASA Technical Memo",-"NBSSP National Bureau of Standards Special Publication",-"NBSTN National Bureau of Standards Technical Note",-"NaGe. National Geographic",-"NISTJ National Institute of Standards and Technology Journal of Research",-"PolRe National Institute Polar Research Memoirs",-"BAth. National Observatory of Athens Greece Bulletin of the Astronomical Institute",-"NRAON National Radio Astronomy Observatory Newsletter",-"NRAOR National Radio Astronomy Observatory Reprints",-"NRAOW National Radio Astronomy Observatory Workshop",-"NUDTJ National University Defense Technology Journal",-"NHESS Natural Hazards and Earth System Sciences",-"NatH. Natural History",-"NatSc Natural Science",-"Natur Nature",-"NatBi Nature Biotechnology",-"NatCh Nature Chemistry",-"NatCC Nature Climate Change",-"NatCo Nature Communications",-"NatGe Nature Geoscience",-"NatMa Nature Materials",-"NatNa Nature Nanotechnology",-"NaPho Nature Photonics",-"NPhS. Nature Physical Science",-"NatPh Nature Physics",-"NatSR Nature Scientific Reports",-"NW... Naturwissenschaften",-"NInfo Nauchnye Informatsii",-"NRRv. Naval Research Reviews",-"Navig Navigation",-"NavAu Navigation Australia",-"NavPa Navigation Paris",-"NVVSR Nederlandse Vereiniging voor Weer en Sterrenkunde Werkgroep veranderlijke Sterren Reports",-"NCNS. Network: Computation in Neural Systems",-"NSpEc Networks and Spatial Economics",-"AnBog Neue Annalen der Koeniglichen Sternwarte in Bogenhausen bei Muenchen",-"NJMM. Neues Jahrbuch Mineralogie Monatshefte",-"NeCom Neural Computation",-"NN... Neural Networks",-"NeuL. Neuroscience Letters",-"NPNDS Neutron Physics and Nuclear Data in Science and Technology",-"NewA. New Astronomy",-"NewAR New Astronomy Reviews",-"NJCh. New Journal of Chemistry",-"NJPh. New Journal of Physics",-"NewSc New Scientist",-"ASNYN News Letter of the Astronomical Society of New York",-"ICHIN Newsletters of the Interdivisional Commission on History of the IAGA",-"NTN.. New Technology News",-"NZJGG New Zealand Journal Geology and Geophysics",-"NZJS. New Zealand Journal of Science",-"NKG.. Nihon Kessho Gakkaishi",-"NOHIC Nizamiah JAPAL Rangapur Observatories Hyderabad India Contributions",-"NizRe Nizamiah Observatory Reprints",-"NCE.. Noise Control Engineering Journal",-"NTE.. Nondestructive Testing and Evaluation",-"NDTI. Nondestructive Testing and Evaluation International",-"NTCo. Nondestructive Testing Communications",-"NPPSB Nonequilibrium Problems in the Physical Sciences and Biology",-"NATM. Nonlinear Analysis Theory Methods Applications",-"Nonli Nonlinearity",-"NlOpt Nonlinear Optics",-"NPGeo Nonlinear Processes in Geophysics",-"NSAP. Nonlinear, Statistical and Applied Physics",-"NTA.. Nonlinear Theory and Its Applications, IEICE",-"NATi. Nordisk Astronomisk Tidsskrift",-"SApMM North Holland Series Applied Mathematical Mechanics",-"NHCWP North Hollywood Calif Western Periodicals Co",-"NPUJ. Northwestern Polytechnical University Journal",-"NoDef Not Defined",-"NoPar Notes et Informations",-"NROpt Nouvelle Revue d'Optique",-"NROA. Nouvelle Revue d'Optique Appliquee",-"UGC.. Nova Acta Regiae Soc. Sci. Upsaliensis Ser. V",-"NTvA. Novaya tekhn. v astron.",-"NoIGG Novosibirsk Institut Geologii i Geofiziki SO AN SSSR",-"NovIG Novosibirsk Institut Gidrodinamiki SO AN SSSR Dinamika Sploshnoi Sredy",-"NoIzN Novosibirsk Izdatel Nauka",-"NSSDC NSSDC Publication",-"NTTRv NTT Review",-"NDS.. Nuclear Data Sheets",-"NDT.. Nuclear Data Tables",-"NuEnD Nuclear Engineering and Design",-"NucFu Nuclear Fusion",-"NucFS Nuclear Fusion Special Supplement",-"NuGeo Nuclear Geophysics",-"NucIM Nuclear Instruments and Methods",-"NIMPR Nuclear Instruments and Methods in Physics Research",-"NIMPA Nuclear Instruments and Methods in Physics Research A",-"NIMPB Nuclear Instruments and Methods in Physics Research B",-"NucPh Nuclear Physics",-"NuPhA Nuclear Physics A",-"NuPhB Nuclear Physics B",-"NuPhS Nuclear Physics B Proceedings Supplements",-"NSE.. Nuclear Science Engineering",-"NucTe Nuclear Technology",-"NucTF Nuclear Technology Fusion",-"NAR.. Nucleic Acids Research",-"NuAlg Numerical Algorithms",-"NFAO. Numerical Functional Analysis and Optimization",-"NumHT Numerical Heat Transfer",-"NHTA. Numerical Heat Transfer Part A - Applications",-"NHTB. Numerical Heat Transfer Part B - Fundamentals",-"NuMat Numerische Mathematik",-"NCimA Nuovo Cimento A Serie",-"NCimB Nuovo Cimento B Serie",-"NCimC Nuovo Cimento C Geophysics Space Physics C",-"NCimD Nuovo Cimento D Serie",-"NCimL Nuovo Cimento Lettere",-"NCimR Nuovo Cimento Rivista Serie",-"NCimS Nuovo Cimento Serie",-"OCSC. OAA Compututer Section Circular",-"OSUC. Observationes Astronomicas Insitutas in Specula Universitatis Caesareae Dorpatensis",-"OVS.. Observation of Variable Stars",-"Obser Observation pi",-"OAORP Observations astronomiques faites a l'Observatoire royal de Paris",-"USNOO Observations made at the U.S. Naval Observatory",-"OOVRO Observations Owens Valley Radio Observatory",-"Bes1K Observatoire de Besancon",-"OBN1K Observatoire de Besancon - CNES",-"Gen1K Observatoire de Geneve",-"OSFOT Observatoire de la Société Astronomique de France Observations et Travaux",-"LyoRe Observatoire de Lyon Reprints",-"Meu1K Observatoire de Meudon",-"Nic1K Observatoire de Nice",-"CORB. Observatoire Royal de Belgique Communications Serie B",-"LPlaC Observatorio Astronomico de La Plata Circular",-"LPlaS Observatorio Astronomico de La Plata Separata Astronomica",-"RosOB Observatorio Astronomico Municipal de Rosario Argentia  Boletin",-"RioB. Observatorio Nacional Publicacoes do Servico Astronomico Rio de Janeiro",-"HelR. Observatory and Astrophysics Laboratory University of Helsinki Report",-"PLPla Observatory Astronomical La Plata Series Astronomies",-"ObVyS Obzory Vysokotemperaturnoi Sverkhprovodimosti",-"ONRAS Occasional Notes of the Royal Astronomical Society",-"ORROE Occasional Reports of the Royal Observatory Edinburgh",-"OccN. Occultation Newsletter, International Occultation Timing Association (IOTA)",-"OcDyn Ocean Dynamics",-"OcEng Ocean Engineering",-"OcMod Ocean Modelling",-"OSJaJ Oceanographical Society of Japan Journal",-"AcOC. Oceanologica Acta",-"Ocgy. Oceanology",-"OcPhE Ocean Physics and Engineering",-"OcSci Ocean Science",-"OcScD Ocean Science Discussions",-"OSJ.. Ocean Science Journal",-"Ocean Oceanus Summer",-"OAP.. Odessa Astronomical Publications",-"BOOde Odesskij Gosudarstvennyi Universitet im. I. I. Mechnikova Byulletin Astronomicheskoj Observatorii",-"IzOde Odesskij Gosudarstvennyi Universitet im. I. I. Mechnikova Izvestiya Astronomicheskoj Observatorii",-"OAWMN Oesterreichische Akademie Wissenschaften Mathematisch naturwissenschaftliche Klasse Sitzungsberichte Abteilung",-"Oikos Oikos",-"Okean Okeanologiia",-"ONCP. Old and New Concepts of Physics",-"OCzAS Ondrejov Czechoslovakia Czechoslovak Academy Sciences CAS Astronomical Institute Publications",-"ONERA ONERA TP",-"OEJV. Open European Journal on Variable Stars",-"OJA.. Open Journal of Acoustics",-"OJAS. Open Journal of Applied Sciences",-"OJBp. Open Journal of Biophysics",-"OJFD. Open Journal of Fluid Dynamics",-"OJGeo Open Journal of Geology",-"OJMic Open Journal of Microphysics",-"OLear Open Learning",-"OSID. Open Systems and Information Dynamics",-"AcOpt Optica Acta",-"OQE.. Optical and Quantum Electronics",-"OptEn Optical Engineering",-"OptFT Optical Fiber Technology",-"OptMa Optical Materials",-"OptPE Optical Physics and Engineering",-"OptQE Optical Quantum Electronics",-"OptRv Optical Review",-"OpSCN Optical Sciences Center Newsletter",-"OSAJI Optical Society of America Journal Optics and Image Science",-"OptPN Optics &amp",-"OptLE Optics and Lasers in Engineering",-"OPJ.. Optics and Photonics Journal",-"OptSp Optics and Spectroscopy",-"OptCo Optics Communications",-"OExpr Optics Express",-"OptLT Optics Laser Technology",-"OptL. Optics Letters",-"OptN. Optics News",-"Optik Optik",-"OpAt. Optika Atmosfery",-"OpAtO Optika Atmosfery i Okeana",-"OpSp. Optika i Spektroskopiia",-"OpMeP Optiko Mekhanicheskaia Promyshlennost",-"OCAM. Optimal Control Applications and Methods",-"OptEL Optoelectronics Letters",-"OERv. Opto-Electronics Review",-"OpPuT Optoelektronika i Poluprovodnikovaia Tekhnika",-"OrGeo Organic Geochemistry",-"OrLi. Origins of Life",-"OLEB. Origins of Life and Evolution of the Biosphere",-"Ori.. Orione",-"Orion Orion: Zeitschrift für Amateur-Astronomie",-"IGS.. Orlando FL Academic Press Inc International Geophysics Series",-"OrNav Ortung und Navigation",-"BuENS Osaka Prefecture University Bulletin Series Engineering Natural Sciences",-"OsUTR Osaka University Technology Reports",-"Osir. Osiris",-"NapCo Osservatorio Astronomico di Capodimonte Napoli Contributi Astronomici",-"TerCo Osservatorio Astronomico di Collurania Teramo Contributi",-"TerMm Osservatorio Astronomico di Collurania Teramo Memorie ed Osservazioni",-"TerNC Osservatorio Astronomico di Collurania Teramo Note e Comunicazioni",-"PadCR Osservatorio Astronomico di Padova Comunicazioni e Rassegne",-"RomCo Osservatorio Astronomico di Roma su Monte Mario Contributi Scientifici",-"TriP. Osservatorio Astronomico di Trieste Pubblicazioni",-"TreP. Osservatorio Privato Specola Ariel Treviso Italia Pubblicazione",-"MmArc Osservazioni e memorie dell'Osservatorio astrofisico di Arcetri",-"MmArS Osservazioni e memorie dell'Osservatorio astrofisico di Arcetri - Appendici",-"OsCar Osteoarthritis and Cartilage",-"OtObI Otbor i Obrabotka Informatsii",-"OtPI. Otbor i Peredacha Informatsii",-"OISNP Oxford Pergamon Press International Series on Natural Philosophy",-"OISTS Oxford Pergamon Press International Tables Selected Constants",-"OxfOO Oxford University Observatory Observations",-"OxM.. Oxidation of Metals",-"OzSE. Ozone: Science &amp",-"Palb. Paleobiology",-"PalOc Paleoceanography",-"PMetR Papers in Meteorological Research",-"PPh.. Papers in Physics",-"PMG.. Papers Meteorology Geophysics",-"PGC.. Papers on Global Change IGBP",-"ParC. Parallel Computing",-"Paras Parasitology",-"ParAc Particle Accelerators",-"PPhI. Particle Physics Insights",-"PaReL Pattern Recognition Letters",-"PerMS Perceptual Motor Skills",-"PZ... Peremennye Zvezdy",-"PZP.. Peremennye Zvezdy Prilozhenie",-"PMHu. Periodica Mathematica Hungarica",-"PPEE. Periodica Polytechnica Electrical Engineering",-"PPME. Periodica Polytechnica Mechanical Engineering",-"PPTE. Periodica Polytechnica Transportation Engineering",-"PerCo Perkins Observatory Contributions",-"PMO.. Perth Meridien Observations",-"PTMJ. Phase Transitions: A Multinational Journal",-"PhDT. Ph.D. Thesis",-"PhiJR Philips Journal Research",-"PhiRR Philips Research Reports",-"PhiTR Philips Technical Review",-"PMag. Philosophical Magazine",-"PMagL Philosophical Magazine Letters",-"PMagA Philosophical Magazine, Part A",-"PMagB Philosophical Magazine, Part B",-"PFP.. Philosophy and Foundations of Physics",-"Phoen Phoenix Mitteilungsblatt fuer Veraenderlichenbeobachter",-"PcPb. Photochemistry and Photobiology",-"Pg... Photogrammetria",-"PgE.. Photogrammetric Engineering",-"PgERS Photogrammetric Engineering and Remote Sensing",-"PhInt Photo Interpretation",-"PhNan Photonics and Nanostructures",-"PhSen Photonic Sensors",-"PhoSp Photonics Spectra",-"PsynR Photosynthesis Research",-"Psyn. Photosynthetica",-"PhyOJ Physcs Online Journal",-"Phy.. Physica",-"PhyA. Physica A Statistical Mechanics and its Applications",-"PhyBC Physica B+C",-"PhyB. Physica B Condensed Matter",-"PhyC. Physica C Superconductivity",-"PhyD. Physica D Nonlinear Phenomena",-"PhyE. Physica E Low-Dimensional Systems and Nanostructures",-"PEFPN Physica Energiae Fortis et Physica Nuclearis",-"PhAco Physical Acoustics",-"PhBio Physical Biology",-"PCESR Physical Chemical and Earth Sciences Research Reports",-"PCCP. Physical Chemistry Chemical Physics (Incorporating Faraday Transactions)",-"PCSE. Physical Chemistry: Science and Engineering",-"PhGeo Physical Geography",-"PPHTS Physical Properties of High Temperature Superconductors",-"PhyR. Physical Research",-"PhRv. Physical Review",-"PhRvA Physical Review A",-"PhRvB Physical Review B",-"PhRvC Physical Review C",-"PhRvD Physical Review D",-"PhRvE Physical Review E",-"PhRvL Physical Review Letters",-"PhRvI Physical Review Series I",-"PhRvS Physical Review Special Topics Accelerators and Beams",-"PRSTP Physical Review Special Topics Physics Education",-"PhRvX Physical Review X",-"PSD.. Physical Sciences Data",-"PSCEC Physical Sciences Series of the Commission of European Communities",-"PhyNr Physica Norvegica",-"PhyS. Physica Scripta",-"PhySB Physica Scripta B",-"PhST. Physica Scripta Volume T",-"PSSAR Physica Status Solidi Applied Research",-"PSSBR Physica Status Solidi B Basic Research",-"PSSCR Physica Status Solidi C Current Topics",-"PSSRR Physica Status Solidi Rapid Research Letters",-"PhySS Physica Status Solids",-"PhyL. Physic Letters",-"PhChH PhysicoChemical Hydrodynamics",-"Physi Physics",-"PCS.. Physics and Chemistry in Space",-"PhChE Physics and Chemistry of Earth",-"PCL.. Physics and Chemistry of Liquids",-"PCMLD Physics and Chemistry of Materials with Low-Dimensional Structures",-"PCMLA Physics and Chemistry of Materials with Low-Dimensional Structures Series A",-"PCMLB Physics and Chemistry of Materials with Low-Dimensional Structures Series B",-"PCMLC Physics and Chemistry of Materials with Low-Dimensional Structures Series C",-"PCM.. Physics and Chemistry of Minerals",-"PCE.. Physics and Chemistry of the Earth",-"PCEA. Physics and Chemistry of the Earth A",-"PCEB. Physics and Chemistry of the Earth B",-"PCEC. Physics and Chemistry of the Earth C",-"PCED. Physics and Chemistry of the Earth Delta",-"PEEI. Physics and Evolution of the Earth's Interior",-"PhApp Physics and its Applications",-"PTPPB Physics and Technology of Particle and Photon Beams",-"PhB.. Physics Bulletin",-"DokPh Physics - Doklady",-"PhyEd Physics Education",-"PhyEs Physics Essays",-"PCHEI Physics in Collision: High-Energy ee/ep/pp Interactions",-"PMB.. Physics in Medicine and Biology",-"PhP.. Physics in Perspective",-"PhTec Physics in Technology",-"PhyIn Physics International",-"PhLF. Physics Laser Fusion",-"PhL.. Physics Letters",-"PhLA. Physics Letters A",-"PhLB. Physics Letters B",-"PhLC. Physics Letters Section C Physics Reports C",-"PhyNY Physics New York",-"PhyN. Physics Notes",-"PAN.. Physics of Atomic Nuclei",-"PAM.. Physics of Atoms and Molecules",-"PhFl. Physics of Fluids",-"PhFlB Physics of Fluids B",-"PhLRv Physics of Life Reviews",-"PLDS. Physics of Low-Dimensional Structures",-"PhMet Physics of Metals",-"PMM.. Physics of Metals and Metallography",-"PPN.. Physics of Particles and Nuclei",-"PPNL. Physics of Particles and Nuclei Letters",-"PhPl. Physics of Plasmas",-"PhQE. Physics of Quantum Electronics",-"PSL.. Physics of Solids and Liquids",-"PEPI. Physics of the Earth and Planetary Interiors",-"PhSS. Physics of the Solid State",-"PTF.. Physics of Thin Films",-"PWP.. Physics of Wave Phenomena",-"PhR.. Physics Reports",-"PRI.. Physics Research International",-"PhT.. Physics Today",-"PhyU. Physics Uspekhi",-"PhyW. Physics World",-"PCTM. Physikalisch-Chemische Trenn- und Messmethoden",-"PhyBl Physikalische Blötter",-"PhyG. Physikalische Gesellschaft",-"PhyGZ Physikalische Gesellschaft Zürich",-"PhyZ. Physikalische Zeitschrift",-"PKM.. Physik der Kondensierten Materie",-"PhuZ. Physik in unserer Zeit",-"PhyCP Physiological Chemistry and Physics",-"PhyM. Physiological Measurement",-"PhylS Physiologist Supplement",-"PAZh. Pis ma Astronomicheskii Zhurnal",-"PZETF Pis ma Zhurnal Eksperimental noi i Teoreticheskoi Fiziki",-"PZhTF Pis ma Zhurnal Tekhnischeskoi Fiziki",-"PlAst Planetary Astronomy",-"PlR.. Planetary Report",-"PlSci Planetary Science",-"PSRD. Planetary Science Research Discoveries",-"PCPhy Plant and Cell Physiology",-"PFR.. Plasma and Fusion Research",-"PCPP. Plasma Chemistry and Plasma Processing",-"PlPh. Plasma Physics",-"PPCF. Plasma Physics and Controlled Fusion",-"PlPhR Plasma Physics Reports",-"PlPo. Plasmas and Polymers",-"PlST. Plasma Science and Technology",-"PSST. Plasma Sources Science Technology",-"PRFVT Plastiques Renforces Fibres de Verre Textile",-"PLoSB PLoS Biology",-"PLoSC PLoS Clinical Trials",-"PLSCB PLoS Computational Biology",-"PLoSG PLoS Genetics",-"PLoSM PLoS Medicine",-"PLoSN PLoS Neglected Tropical Diseases",-"PLoSO PLoS ONE",-"PLoSP PLoS Pathogens",-"PMCPA PMC Physics A",-"PMCPB PMC Physics B",-"PMCPC PMC Physics C",-"PMTF. PMTF Zhurnal Prikladnoi Mekhaniki i Tekhnicheskoi Fiziki",-"nraop National Radio Astronomy Observatory Press Release",-"PnGid Pnevmatika i Gidravlika",-"noaop NOAO Proposal",-"PolSc Polar Science",-"PolSi Poliarnye Siianiia",-"PSSNN Poliarnye Siianiia i Svechenie Nochnogo Neba",-"PASAM Polish Academy of Science Arch Mech",-"PASAS Polish Academy of Science Artificial Satellites",-"PASIG Polish Academy of Sciences Institute of Geophysics Publications",-"PASTA Polish Academy of Sciences Theory Aggregation Coagulation",-"PJMPE Polish Journal of Medical Physics And Engineering",-"PCZNN Politechnika Czestochowska Zeszyty Naukowe Nauki Techniczne Mechanika",-"PGZNM Politechnika Gdanska Zeszyty Naukowe Mechanika",-"PSZNM Politechnika Slaska Zeszyty Naukowe Mechanika",-"PolAt Pollution Atmospherique",-"CraR. Polskie Towarzyslwo Milosnikow Astronomii",-"PolTM Poluprovodnikovaia Tekhnika i Mikroelektronika",-"PolPP Poluprovodnikovye Pribory i ikh Primenenie",-"Poly. Polymer",-"PoCom Polymer Composites",-"PolPh Polymer Physics",-"PPTEn Polymer-Plastics Technology and Engineering",-"PomAK Pomiary Automatyka Kontrola",-"PATi. Popular Astronomisk Tidsskrift",-"PA... Popular Astronomy",-"PorMe Poroshkovaia Metallurgiia",-"PoAn. Postepy Astronautyki",-"PoAst Postepy Astronomii Krakow",-"PSci. Pour la Science",-"PDiff Powder Diffraction",-"PUAMA Poznan Uniwersytet im Adama Mickiewicza Seria Akustyka",-"PUAMF Poznan Uniwersytet im Adama Mickiewicza Seria Fizyka",-"PrAst Practical Astronomy",-"NaiRe Pradesh  State Observatory Naini Tal Insia Reprints",-"PraAc Prague Academia",-"Prama Pramana",-"PreR. Precambrian Research",-"Prib. Priborostroenie",-"PriTE Pribory i Tekhnika Eksperimenta",-"PriMM Prikladnaia Matematika i Mekhanika",-"PriMP Prikladnaia Matematika i Programmirovanie",-"PriM. Prikladnaia Mekhanika",-"PPPLR Princeton Plasma Physics Laboratory Report",-"Prir. Priroda",-"Priv. Private Communication",-"PrEM. Probabilistic Engineering Mechanics",-"PrAiA Problemy Arktiki i Antarktiki",-"PrBio Problemy Bioniki",-"PrDRV Problemy Difraktsii i Rasprostraneniia Voln",-"PrFA. Problemy Fiziki Atmosfery",-"PrFKL Problemy Iadernoi Fiziki i Kosmicheskikh Luchei",-"PrKFi Problemy Kosmicheskoi Fiziki",-"PrMas Problemy Mashinostroeniia",-"PrPro Problemy Prochnosti",-"PrSP. Problemy Sluchainogo Poiska",-"PrTE. Problemy Tekhnicheskoi Elektrodinamiki",-"PrTGE Problemy Teorii Gravitatsii i Elementarnykh Chastits",-"PrTPT Problemy Teploenergetiki i Prikladnoi Teplofiziki",-"PJA.. Proceeding of the Japan Academy",-"PJAA. Proceeding of the Japan Academy, Series A",-"PJAB. Proceeding of the Japan Academy, Series B",-"PBioS Proceedings: Biological Sciences",-"PMPES Proceedings: Mathematical, Physical and Engineering Sciences",-"PAMS. Proceedings of the American Mathematical Society",-"PAPhS Proceedings of the American Philosophical Society",-"PASAu Proceedings of the Astronomical Society of Australia",-"PCAS. Proceedings of the California Academy of Sciences",-"PCPS. Proceedings of the Cambridge Philosophical Society",-"PEMS. Proceedings of the Edinburgh Mathematical Society",-"PIASE Proceedings of the Indian Academy of Science, Earth and Planetary Sciences",-"PINSA Proceedings of the Indian National Science Academy Part A",-"PINSB Proceedings of the Indian National Science Academy Part B",-"PIGP. Proceedings of the Institute of General Physics, Adademy of the Sciences of Russia",-"PILOM Proceedings of the International Latitude Observatory at Mizusawa",-"PIRE. Proceedings of the IRE",-"PNAS. Proceedings of the National Academy of Sciences",-"PNAS. Proceedings of the National Academy of Sciences USA",-"PNAS. Proceedings of the National Academy of Sciences of the USA",-"PNSC. Proceedings of the National Science Council",-"PNSBP Proceedings of the National Society of Black Physicists",-"PPS.. Proceedings of the Physical Society",-"PPSA. Proceedings of the Physical Society A",-"PPSB. Proceedings of the Physical Society B",-"PPSL. Proceedings of the Physical Society of London",-"PRIAN Proceedings of the Research Institute of Atmospherics, Nagoya University",-"PRIAA Proceedings of the Royal Irish Academy Section A",-"PRNAS Proceedings of the Royal Netherlands Academy of Arts and Sciences",-"PSEBM Proceedings of the Society for Experimental Biology and Medicine",-"PrVP. Proceedings of Vibration Problems",-"PELIS Program: electronic library &amp",-"PrAeS Progress in Aerospace Sciences",-"PrAA. Progress in Astronautics and Aeronautics",-"PrA.. Progress in Astronomy",-"PABei Progress in Astronomy",-"PBB.. Progress in Biochemistry and Biophysics",-"PBBC. Progress in Biophysics and Biophysical Chemistry",-"PBMB. Progress in Biophysics and Molecular Biology",-"PrECS Progress in Energy and Combustion Science",-"PLTP. Progress in Low Temperature Physics",-"PrMS. Progress in Materials Science",-"PMatP Progress in Mathematical Physics",-"PMRP. Progress in Medical Radiation Physics",-"PMetP Progress in Metal Physics",-"PNSci Progress in Natural Science",-"PrOce Progress in Oceanography",-"POrCo Progress in Organic Coatings",-"PrPNP Progress in Particle and Nuclear Physics",-"PPcPp Progress in Photochemistry and Photophysics",-"PPGeo Progress in Physical Geography",-"PrPh. Progress in Physics",-"PQE.. Progress in Quantum Electronics",-"PrSS. Progress In Surface Science",-"PTCP. Progress in Theoretical Chemistry and Physics",-"PTEP. Progress of Theoretical and Experimental Physics",-"PThPh Progress of Theoretical Physics",-"PThPS Progress of Theoretical Physics Supplement",-"ProTe Promyshlennaia Teplotekhnika",-"PrEx. Propellants and Explosives",-"PrExP Propellants and Explosives Pyrotechnics",-"PMMin Proper Motion Survey, University of Minnesota",-"rxte pRXTE Proposal",-"sptz pSpitzer Proposal",-"suba pSubaru Proposal",-"PUFir Pubblicazioni della R. Universita degli studi di Firenze",-"PSAIL Pubblicazioni della Stazione Astronomica Internazionale di Latitudine",-"POMil Pubblicazioni dell'Osservatorio Astronomico di Milano-Merate",-"POPad Pubblicazioni dell'Osservatorio Astronomico di Padova",-"POPal Pubblicazioni dell'Osservatorio Astronomico di Palermo",-"POTor Pubblicazioni Varie Fuori Serie dell'Osservatorio Astronomico di Torino",-"PKCat Publ. House Czech. Acad. Sci.",-"PMad. Publicacion Facultad de Ciencias Madrid",-"POClu Publicatiile Observatorului Astronomical Universitatii din Cluj",-"POPar Publication de l'Observatoire de Paris Notes et Informations",-"POStr Publication de l'Observatoire de Strasbourg",-"PUSK. Publication der Koeniglichen Sternwarte in Kiel",-"PULei Publicationen der K. Universitoats-Sternwarte zu Leipzig",-"PCARS Publication of COMU Astrophysics Research Center",-"PKAS. Publication of Korean Astronomical Society",-"PPCAS Publication of the Pomona College Astronomical Society",-"PIAGL Publications de l'Institut d'Astronomie et de Geophysique Georges Lemaitre",-"POBeo Publications de l'Observatoire Astronomique de Beograd",-"POBor Publications de l'Observatoire de l'Universite de Bordeaux",-"POTou Publications de l'Observatoire de Toulouse",-"PLAGL Publications du Laboratoire d'Astronomie et de Geodesie de l'Universite de Louvain",-"PDHO. Publications of Debrecen Heliophysical Observatory",-"POBol Publications of dell'Osservatorio Astronomie de Bologna",-"PLawO Publications of Laws Observatory, University of Missouri",-"PLicO Publications of Lick Observatory",-"POMic Publications of Michigan Observatory",-"PCat. Publications of Osservatorio Astrofisico di Catania",-"PASK. Publications of the Academy of Science Kasakstan Sect. Astrobotanics",-"PAllO Publications of the Allegheny Observatory of the University of Pittsburgh",-"PAASA Publications of the Astronomical and Astrophysical Society of America",-"PAICU Publications of the Astronomical Institute of the Charles University",-"PAICz Publications of the Astronomical Institute of the Czechoslovak Academy of Sciences",-"PUAms Publications of the Astronomical Institute of the University of Amsterdam",-"PBrn. Publications of the Astronomical Institute of the University of Borneo",-"POHel Publications of the Astronomical Observatory Helsinki",-"PAOS. Publications of the Astronomical Observatory of Sarajevo",-"POMin Publications of the Astronomical Observatory University of Minnesota",-"PASA. Publications of the Astronomical Society of Australia",-"PASJ. Publications of the Astronomical Society of Japan",-"PASP. Publications of the Astronomical Society of the Pacific",-"PASPS Publications of the Astronomical Society of the Pacific Supplement",-"PASRB Publications of the Astronomical Society Rudjer Boskovic",-"PADEU Publications of the Astronomy Department of the Eotvos Lorand University",-"PAIB. Publications of the Astronomy Institute of Bonn",-"PAB.. Publications of The Astrophysics Branch Ottawa",-"PBeiO Publications of the Beijing Astronomical Observatory",-"PBosO Publications of the Bosscha Observatory Lembang Indonesia",-"PCinO Publications of the Cincinnati Observatory",-"PCooO Publications of the Cook Observatory",-"PDDO. Publications of the David Dunlap Observatory",-"PDAUC Publications of the Department of Astronomy University of Chile",-"PDAO. Publications of the Dominion Astrophysical Observatory Victoria",-"PDO.. Publications of the Dominion Observatory Ottawa",-"PDreO Publications of the Dresden Observatory",-"PFAO. Publications of the Flower Astronomical Observatory",-"PGLO. Publications of the Goethe Link Observatory",-"PGooO Publications of the Goodsell Observatory, Carleton College",-"ILOMP Publications of the International Latitude Observatory at Mizusawa",-"PIstO Publications of the Istanbul University Observatory",-"PGro. Publications of the Kapteyn Astronomical Laboratory Groningen",-"PKirO Publications of the Kirkwood Observatory of Indiana University",-"PAth. Publications of the Laborotory of Astronomy University of Athens",-"PMcCO Publications of the Leander McCormick Observatory",-"PManO Publications of the Manila Observatory",-"PMunO Publications of the Munich Observatory",-"PNAOC Publications of the National Astronomical Observatories of China",-"PNAOJ Publications of the National Astronomical Observatory of Japan",-"POLyo Publications of the Observatoire de Lyon",-"PGenA Publications of the Observatoire Geneve Series A",-"PGenB Publications of the Observatoire Geneve Series B",-"POHP. Publications of the Observatoire Haute-Provence",-"POANC Publications of the Observatorie Astronomie Nacional Cerro Calan",-"POIst Publications of the Observatory Astronomie University Istambul",-"POslO Publications of the Oslo Observatory",-"POVRO Publications of the Owens Valley Observatory",-"PPMtO Publications of the Purple Mountain Observatory",-"PRCO. Publications of the Riverview College Observatory",-"PROE. Publications of the Royal Observatory of Edinburgh",-"PSAO. Publications of the Shaanxi Astronomical Observatory",-"PShaO Publications of the Shaanxi Astronomy Observatory",-"PSprO Publications of the Sproul Observatory",-"PSSAI Publications of the Sternberg State Astronomical Institute",-"PTarO Publications of the Tartu Astrofizica Observatory",-"PTasO Publications of the Tashkent Astronomical Observatory",-"PUPFA Publications of the University of Pennsylvania Flower Astronomical Observatory",-"PUSNO Publications of the U.S. Naval Observatory Second Series",-"PVVO. Publications of the Van Vleck Observatory",-"PVasO Publications of the Vassar College Observatory",-"PWasO Publications of the Washburn Observatory",-"PYerO Publications of the Yerkes Observatory",-"PYunO Publications of the Yunnan Observatory",-"PWHHO Publications of West Hendon House Observatory, Sunderland",-"PSCDS Publication Speciale du Centre de Donnees Stellaires",-"POxf. Publications University of Oxford Department of Astrophysics",-"PUS.. Public Understanding of Science",-"PKUJ. Publikationen der Kaiserlichen Universitaets-Sternwarte Jurjew",-"PAIKH Publikationen des Astrophysikalischen Instituts Koenigstuhl-Heidelberg",-"POPot Publikationen des Astrophysikalischen Observatoriums zu Potsdam",-"PCopO Publikationer og mindre Meddeler fra Kobenhavns Observatorium",-"PGAOI Pulkovo Glavnaia Astronomicheskaia Observatoriia Izvestiia",-"PApCh Pure &amp",-"PApGe Pure and Applied Geophysics",-"PApPh Pure and Applied Physics",-"PApOp Pure Applied Optics",-"QUnJ. Qinghua University Journal",-"xmm.. XMM-Newton Press Release",-"xmm.. XMM-Newton Proposal",-"QREI. Quality Reliability Engineering International",-"QuFin Quantitative Finance",-"QuSOp Quantum and Semiclassical Optics",-"QuEle Quantum Electronics",-"QuIP. Quantum Information Processing",-"QuOpt Quantum Optics",-"QBSA. Quarterly Bulletin on Solar Activity",-"QJMAM Quarterly Journal of Mechanics and Applied Mathematics",-"QJRAS Quarterly Journal of the Royal Astronomical Society",-"QJRMS Quarterly Journal of the Royal Meteorological Society",-"QApMa Quarterly of Applied Mathematics",-"QRBio Quarterly Reviews of Biophysics",-"QuInt Quaternary International",-"QuRes Quaternary Research",-"QSRv. Quaternary Science Reviews",-"Quest Quest",-"RadRe Radcliffe Observatory Pretoria South Africa Reprints",-"Rad.. Radiant, Journal of the Dutch Meteor Society",-"REB.. Radiation and Environmental Biophysics",-"RadEf Radiation Effects",-"REDS. Radiation Effects and Defects in Solids",-"RaPC. Radiation Physics and Chemistry",-"RaRe. Radiation Research",-"RaEE. Radio and Electronic Engineer",-"Radel Radioehlektronika",-"REEP. Radio Engineering and Electronic Physics",-"RaF.. Radiofizika",-"RaSol Radioizluchenie Solntsa",-"RPRA. Radio Physics and Radio Astronomy",-"RaRLJ Radio Research Laboratory, Journal",-"RaRLR Radio Research Laboratory, Review",-"RaSc. Radio Science",-"RaScB Radio Science Bulletin",-"RaScS Radio Science Supplement",-"RaT.. Radioteknika",-"RaEl. Radiotekhnika i Elektronika",-"RERE. Radiotekhnika i Elektronika Radio Engineering Electronic Physics",-"RatK. Radiotekhnika Kharkov",-"RTRE. Radiotekhnika Tecommunications Radio Engineering Radio Engineering",-"RaPro Raschety Prochnost",-"RF... Raumfahrtforschung",-"RCAEn RCA Engineer",-"RCARv RCA Review",-"RTI.. Real-Time Imaging",-"RDCMP Recent Development in Condensed Matter Physics",-"RRDAP Recent Research Development in Applied Physics",-"RRDBC Recent Research Development in Biophysical Chemistry",-"RRDBB Recent Research Development in Biophysics and Biochemistry",-"RRDCP Recent Research Development in Chemical Physics",-"RRDPC Recent Research Development in Physical Chemistry",-"RRDP. Recent Research Development in Physics",-"RRDPF Recent Research Development in Physics of Fluids",-"RRDSP Recent Research Development in Statistical Physics",-"ReAA. Recherches Aeronautiques et Aerospatiales",-"RAOU. Recherches Astronomiques de l'Observatoire d'Utrecht",-"RZh.. Referationyj Zhurnal",-"RJEHM Regional Journal of Energy Heat and Mass Transfer",-"RCD.. Regular and Chaotic Dynamics",-"RemS. Remote Sensing",-"RSEMS Remote Sensing Electro Magnetic Spectrum",-"RSEnv Remote Sensing of Environment",-"RSQ.. Remote Sensing Quarterly",-"Renor Renormalization",-"RISRJ Report Ionosphere Space Research Japan",-"HarOR Report of the Committee of the Overseers of Harvard College appointed to visit the Observatory",-"RNAOJ Report of the National Astronomical Observatory of Japan",-"RSPUT Report Series of the Department of Physics and Science, University of Turku",-"YalRY Reports for the year presented by the Board of Managers of the Observatory of Yale University to the President and Fellows",-"ROLun Reports of the Lund Observatory",-"RpMP. Reports on Mathematical Physics",-"RPPh. Reports on Progress in Physics",-"RTAMS Representation Theory of the American Mathematical Society",-"BeiRe Reprints Beijing Astronomical Observatory Academia Sinica",-"ROCi. Republic Observatory Johannesburg Circular",-"ChPAS Republic of China National Science Council Proceedings Applied Sciences",-"RBSEJ Research Based Science Education Journal",-"RAA.. Research in Astronomy and Astrophysics",-"ReNEv Research in Nondestructive Evaluation",-"RSTEd Research in Science and Technological Education",-"RScEd Research in Science Education",-"RJPh. Research Journal of Physics",-"RLEMR Research Laboratory Engineering Materials Report",-"RLPME Research Laboratory Precision Machinery Electronics Bulletin",-"RLOpt Research Letters in Optics",-"RLPhy Research Letters in Physics",-"RMA.. Research Measurement Approach",-"RNOST Research News &amp",-"RPFSU Research Papers Faculty of Materials Science and Technology Slovak University of Technology",-"RRP.. Research Reports in Physics",-"RTP.. Research Trends in Physics",-"RNAO. Resultados del Observatorio Nacional Argentino",-"ROCor Resultados del Observatorio Nacional Argentino en Cordoba",-"ResPh Results in Physics",-"RAROC Results of Astronomical Observations made at the Royal Observatory, Cape of Good Hope",-"RMROC Results of Meridian Observations made at the Royal Observatory, Cape of Good Hope",-"RDR.. Review of Derivatives Research",-"RvPCJ Review of Physical Chemistry of Japan",-"RvPT. Review of Physics in Technology",-"RScI. Review of Scientific Instruments",-"RvAqS Reviews in Aquatic Sciences",-"RvMaP Reviews in Mathematical Physics",-"RvMA. Reviews in Modern Astronomy",-"RvGeo Reviews of Geophysics",-"RvGSP Reviews of Geophysics and Space Physics",-"RvGeS Reviews of Geophysics Supplement",-"RvMin Reviews of Mineralogy",-"RvMP. Reviews of Modern Physics",-"RvMPS Reviews of Modern Physics Supplement",-"RvOp. Reviews of Optics",-"RvPP. Reviews of Plasma Physics",-"RvRRL Reviews of the Radio Research Laboratory",-"RvA.. Revista Astronomica Organo de la Asociacion Argengina Amigos de la Astronomia Buenos Aires",-"RBrFi Revista Brasileira de Fisica",-"RvCF. Revista Colombiana de Fisica",-"IORP. Revista do observatorio : publicacao mensal do Imperial Observatorio do Rio de Janeiro",-"RMxAA Revista Mexicana de Astronomia y Astrofisica",-"RMxF. Revista Mexicana de Fisica",-"RMxFE Revista Mexicana de Fisica E",-"RMxFS Revista Mexicana de Fisica Supplement",-"RvMad Revista Real Acad. Ciencias Exact. Fis. Nat. Madrid",-"RTrTe Revista Transporturilor si Telecomunicatiilor",-"AerRv Revue Aerospatiale",-"RvAc. Revue d'Acoustique",-"RvGPG Revue de Geographie Physique et de Geologie Dynamique",-"RvGDG Revue de Geologie Dynamique et de Geographie Physique",-"RvPA. Revue de Physique Appliquee",-"RvPD. Revue du Palais de la Decouverte",-"RvFEQ Revue Francaise de l'Electricite Quarter",-"RFrM. Revue Francaise de Mecanique",-"RFrMQ Revue Francaise de Mecanique Quarter",-"RRMPA Revue Roumaine de Mathematiques Pures et Appliquees",-"RvRP. Revue Roumaine de Physique",-"RvRST Revue Roumaine des Sciences Techniques Serie de Mecanique Appliquee",-"RST.. Revue Scientifique et Technique CECLES CERS",-"RvT.. Revue Technique Thomson CSF",-"RNISZ Rezul taty Nabliudenii Iskusstvennykh Sputnikov Zemli",-"RWTHA Rheinisch Westfaelische Technische Hochschule Aerodynamisches Institut Abhandlungen",-"AcRhe Rheologica Acta",-"RA... Ricerche Astronomiche",-"RIzZi Riga Izdatel Zinatne",-"Rise. Rise Hvezd",-"RRA.. River Research and Applications",-"RIG.. Rivista Italiana di Geofisica",-"RIGSA Rivista Italiana di Geofisica e Scienze Affini",-"RvTS. Rivista Tecnica Selenia",-"Robot Robotica",-"RMRE. Rock Mechanics and Rock Engineering",-"RMFMR Rock Mechanics Felsmechanik Mecanique des Roches",-"Roczn Rocznik Astronomiczny Observatorjum Krakowskiego Krakow",-"RoAJ. Romanian Astronomical Journal",-"RoJPh Romanian Journal of Physics",-"RoRPh Romanian Reports in Physics",-"RoIE. Rossiiskaia Akademiia Nauk Izvestiia Energetika",-"RoIMZ Rossiiskaia Akademiia Nauk Izvestiia Mekhanika Zhidkosti i Gaza",-"RoISF Rossiiskaia Akademiia Nauk Izvestiia Seriia Fizicheskaia",-"RoDok Rossijskaya Akademiya Nauk Doklady",-"RoIMT Rossijskaya Akademiya Nauk Izvestiya Mekhanika Tverdogo Tela",-"RoIzF Rossijskaya Akademiya Nauk Izvestiya Seriya Fizicheskaya",-"RWPWZ Rostock Wilhelm Pieck Universitaet Wissenschaftliche Zeitschrift Mathematisch Naturwissenschaftliche Reihe",-"PVSS. Royal Astronomical Society of New Zealand Publications of Variable Star Section",-"VSSCi Royal Astronomical Society of New Zealand Variable Star Section Circulars",-"VSSRe Royal Astronomical Society of New Zealand Variable Star Section Reprints",-"VSSSC Royal Astronomical Society of New Zealand Variable Star Section Special Circulars",-"RGOB. Royal Greenwich Observatory Bulletin",-"RGOO. Royal Greenwich Observatory Observations",-"ROAn. Royal Observatory Annals",-"CapMi Royal Observatory Cape Mimeogram",-"CoRSE Royal Society Edinburgh Communications Physical Sciences",-"RSCT. Royal Society of Canada Transactions",-"RSEPS Royal Society of Edinburgh Proceedings Section",-"RSET. Royal Society of Edinburgh Transactions",-"RSPTA Royal Society of London Philosophical Transactions Series A",-"RSPTB Royal Society of London Philosophical Transactions Series B",-"RSPT. Royal Society of London Philosophical Transactions Series I",-"RSPSA Royal Society of London Proceedings Series A",-"RSPSB Royal Society of London Proceedings Series B",-"RSPS. Royal Society of London Proceedings Series I",-"RoIn. Rozprawy Inzynierskie",-"RoIET Rozprawy Inzynierskie Engineering Transactions",-"asc.. Space Telescope ASC Instrument Science Report",-"nicm. Space Telescope NICMOS Instrument Science Report",-"stis. Space Telescope STIS Instrument Science Report",-"wfc.. Space Telescope WFC Instrument Science Report",-"wfpc. Space Telescope WFPC2 Instrument Science Report",-"Ruimt Ruimtevaart",-"RuCRv Russian Chemical Reviews",-"RuGG. Russian Geology and Geophysics",-"RJET. Russian Journal of Engineering Thermophysics",-"RJMP. Russian Journal of Mathematical Physics",-"RJPC. Russian Journal Physical Chemistry",-"RJPCA Russian Journal Physical Chemistry A",-"RJTAM Russian Journal Theoretical and Applied Mechanics",-"RuMaS Russian Mathematical Surveys",-"RuMet Russian Metallurgy",-"RuPhJ Russian Physics Journal",-"RALR. Rutherford Appleton Laboratory Report",-"Sadha Sadhana",-"STVF. Samoletostroenie Tekhnika Vozdushnogo Flota",-"SAMPJ SAMPE Journal",-"SAMPQ SAMPE Quarterly",-"UISTS San Diego CA Univelt Inc Science Technology Series",-"MaMeA Sankt Peterburgskii Universitet Vestnik Seriia Matematika Mekhanika Astronomiia",-"SAOSR SAO Special Report",-"asd.. Astrophysics Software Database",-"ascl. Astrophysics Source Code Library",-"SatCo Satellite Communications",-"SBARM SBARMO Bulletin",-"SbMat Sbornik: Mathematics",-"SJMet Scandinavian Journal of Metallurgy",-"SUVSR Scandinavian Union of Amateur Astronomers Variable Star Section",-"ScReE Scholarly Research Exchange",-"SNG.. Schweizerische Naturforschende Gesellschaft",-"Sci.. Science",-"SCSA. Science and Culture Series: Astrophysics",-"SCSP. Science and Culture Series: Physics",-"SECM. Science and Engineering of Composite Materials",-"STAdM Science and Technology of Advanced Materials",-"SCSMP Science China Series Mathematics Physics Astronomy Technological Sciences",-"SciDi Science Dimension",-"SciEd Science Education",-"ScEdR Science Education Research",-"SFCh. Science Foundation in China",-"ScChA Science in China A: Mathematics",-"ScChB Science in China B: Chemistry",-"ScChC Science in China C: Life Sciences",-"ScChD Science in China D: Earth Sciences",-"ScChE Science in China E: Technological Sciences",-"ScChF Science in China F: Information Sciences",-"ScChG Science in China G: Physics and Astronomy",-"SISN. Science Information Systems Newsletter",-"SciN. Science News",-"ScTEn Science of the Total Environment",-"ScPr. Science Progress",-"Scis. Sciences",-"SciB. Scientia (Bologna)",-"SciSn Scientia Sinica",-"SSPMA Scientia Sinica Physica, Mechanica &amp",-"SSSMP Scientia Sinica Series Mathematical Physical Technical Sciences",-"SciAm Scientific American",-"SMS.. Scientific Modeling and Simulation SMNS",-"Scim. Scientometrics",-"SRToh Sci. Rep. Tohoku Univ. Eighth Ser.",-"SFSN. Scripta Faculty Science Nat. Ujep Brunensis Physica",-"ScM.. Scripta Metallurgica",-"ScMM. Scripta Metallurgica et Materialia",-"SedG. Sedimentary Geology",-"Sedim Sedimentology",-"SeiKa Seikei-Kakou",-"BSSA. Seismological Society America Bulletin",-"SEGeo Seismology and Exploration Geophysics",-"STSSP Selected Topics in Solid State Physics",-"Semic Semiconductors",-"SeScT Semiconductor Science Technology",-"SeSTS Semiconductor Science Technology Supplement",-"TrKra Seminar Kraevym Zadacham Trudy",-"SCB.. Seminars in Cancer Biology",-"SDia. Seminars in Dialysis",-"GEOCS Semi-Regular Variables",-"SenAR Sendai Astronomiaj Raportoj",-"SenIm Sensing and Imaging",-"SPTS. Sensor Physics and Technology Series",-"SeRv. Sensor Review",-"SeAc. Sensors and Actuators",-"SeAcA Sensors and Actuators A Physical",-"SeAcB Sensors and Actuators B Chemical",-"SAERI Seoul Korea Atomic Energy Research Institute",-"SanS. Separata Universidad de Chile Departamento de Astronomia Santiago",-"SerAJ Serbian Astronomical Journal",-"AnShO Shanghai Observatory Annals",-"SV... Shock and Vibration",-"SVD.. Shock Vibration Digest",-"SVICB Shock Vibration Information Center Shock Vibration Bulletin",-"SVICP Shock Vibration Information Center Shock Vibration Computer Programs",-"SVICD Shock Vibration Information Center Shock Vibration Digest",-"SVICI Shock Vibration Information Center Shock Vibration Inform Digest",-"ShWav Shock Waves",-"SJAM. SIAM Journal of Applied Mathematics",-"SJCO. SIAM Journal of Control Optimization",-"SJMA. SIAM Journal of Mathematical Analysis",-"SJADS SIAM Journal on Applied Dynamical Systems",-"SJNA. SIAM Journal on Numerical Analysis",-"SIAMR SIAM Review",-"SiMaJ Siberian Mathematical Journal",-"SiFTZ Sibirskii Fiziko Tekhnicheskii Zhurnal",-"JCMSI SICE Journal of Control, Measurement, and System Integration",-"SidM. Sidereal Messenger",-"SIDPQ SID Proceedings Quarter",-"SiFoE Siemens Forschungs und Entwicklungsberichte",-"SIGMA SIGMA",-"Sig.. Signal",-"SigPr Signal Processing",-"Simul Simulation",-"SiMol Single Molecules",-"SZPA. SIRIUS. Zeitschrift fuer Populaere Astronomie",-"Situ. Situ",-"SkInq Skeptical Inquirer",-"SRT.. Skin Research and Technology",-"SkyN. Sky News",-"SlaOb Slaboproudy Obzor",-"SJCE. Slovak Journal of Civil Engineering",-"SBE.. Small Business Economics",-"SMaS. Smart Material Structures",-"Smith Smithsonian",-"SCoA. Smithsonian Contributions to Astrophysics",-"SCoK. Smithsonian Contributions to Knowledge",-"SmCES Smithsonian Contributions to the Earth Sciences",-"SSS.. Social Studies of Science",-"MSAIQ Societa Astronomica Italiana Memorie Quarter",-"SFPTB Societe Francaise de Photogrammetrie et de Teledetection Bulletin",-"SASS. Society for Astronomical Sciences Annual Symposium",-"SEEJ. Society of Environmental Engineers Journal",-"SIAM. Society of Industrial and Applied Mathematics",-"SIBAN Sofia Izdatel Bolgarskoi Akademii Nauk",-"SMat. Soft Matter",-"SSSAJ Soil Science Society of America Journal",-"SoCe. Solar Cells",-"SoEn. Solar Energy",-"SoEnM Solar Energy Materials",-"SoPh. Solar Physics",-"SoSyR Solar System Research",-"STERJ Solar Terrestrial and Environmental Research Japan",-"SolE. Solid Earth",-"SolED Solid Earth Discussions",-"SMArc Solid Mechanics Archives",-"SSCom Solid State Communications",-"SSEle Solid State Electronics",-"SSIon Solid State Ionics",-"SSNMR Solid State Nuclear Magnetic Resonance",-"SSPAR Solid State Physics Advances in Research and Applications",-"SSPAS Solid State Physics Advances in Research and Applications Supplement",-"SSSci Solid State Sciences",-"SSTec Solid State Technology",-"BSolD Solnechnye Dann. Bull. Akad. Nauk SSSR",-"SoKie Sonderdrucke der Sternwarte Kiel",-"SoMue Sonderdrucke Universitaet Muenster Astronomisches Institut",-"Sonne Sonne",-"SoShe Soobshchenie Shemakhinskoj Astrofizicheskoj Observatorii",-"SoByu Soobshcheniya Byurakanskoj Observatorii Akademiya Nauk Armyanskoj SSR Erevan",-"SoSht Soobshcheniya Gosudarstvennogo Astronomicheskogo Instituta",-"SoSAO Soobshcheniya Spetsial'noj Astrofizicheskoj Observatorii",-"SMTS. Soprotivlenie Materialov i Teoriia Sooruzhenii",-"SSHMP Sources and Studies in the History of Mathematics and Physical Sciences",-"SHMPS Sources in the History of Mathematics and Physical Sciences",-"SAAOC South African Astronomical Observatory Circular",-"SAAOR South African Astronomical Observatory Republic",-"SAJPh South African Journal of Physics",-"SAJSc South African Journal of Science",-"SouSt Southern Stars",-"IBSAE Sovetskaia Antarkticheskaia Ekspeditsiia Informatsionnyi Byulleten",-"SovAe Soviet Aeronomii",-"SvApM Soviet Applied Mechanics",-"SvA.. Soviet Astronomy",-"SvAL. Soviet Astronomy Letters",-"JETP. Soviet Journal of Experimental and Theoretical Physics",-"JETPL Soviet Journal of Experimental and Theoretical Physics Letters",-"SvJNP Soviet Journal of Nuclear Physics",-"SvJOT Soviet Journal of Optical Technology",-"SvJPP Soviet Journal of Plasma Physics",-"SvJQE Soviet Journal of Quantum Electronics",-"SvPAC Soviet Physics Acoustics",-"SvPhA Soviet Physics Astronomy",-"SvPC. Soviet Physics Crystallography",-"SPhD. Soviet Physics Doklady",-"SvPhJ Soviet Physics Journal",-"SvPS. Soviet Physics Semiconductors",-"SvPSS Soviet Physics Solid State",-"SPTP. Soviet Physics Technical Physics",-"SvPhU Soviet Physics Uspekhi",-"SvRP. Soviet Radiophysics",-"SSRvA Soviet Scientific Reviews A Physics Reviews",-"SSRvC Soviet Scientific Reviews C Mathematical Physics Reviews",-"SSRvD Soviet Scientific Reviews D Physicochemical Biology Reviews",-"SSRvE Soviet Scientific Reviews E Astrophysics and Space Physics Reviews",-"SvTRv Soviet Technology Reviews",-"Space Space",-"SSPRv Space and Solar Power Review",-"SpCoB Space Communication Broadcasting",-"SpCom Space Communications",-"SpEd. Space Education",-"SpFl. Spaceflight",-"SLSci Space Life Sciences",-"SpMar Space Markets",-"SpMME Space Medicine Medical Engineering",-"SpPol Space Policy",-"SpPow Space Power",-"SPRMD Space Power - Resources, Manufacturing and  Development",-"SpRBu Space Research Bulgaria",-"SpReT Space Research Today",-"SSI.. Space Science Instrumentation",-"SSRv. Space Science Reviews",-"SpT.. Space Technology",-"STICA Space Technology Industrial and Commercial Applications",-"STECF Space Telescope European Coordinating Facility Newsletter",-"Spvw. Spaceview",-"SpWea Space Weather",-"SpWd. Space World",-"SpWdU Space World U",-"SpWdW Space World W",-"SpWdY Space World Y",-"Spark Spark, the AAS Education Newsletter",-"VatAR Specola Astronomica Vaticana Annual Reports",-"AtlSV Specola Astronomica Vaticana Atlas Stellarum Variabilium",-"VatCo Specola Astronomica Vaticana Comunicazione",-"VatMA Specola Astronomica Vaticana Miscellanea Astronomica",-"VatPS Specola Astronomica Vaticana Pubblicazioni Serie Seconda",-"VatRS Specola Astronomica Vaticana Ricerche Spettroscopiche",-"VatRA Specola Astronomica Vaticana Richerche Astronomiche",-"AcSpe Spectrochimica Acta",-"AcSpA Spectrochimica Acta Part A: Molecular Spectroscopy",-"SpecL Spectroscopy Letters",-"SRMO. Specula Regia Monachiensi Observationes astronomicae",-"SScT. Speculations in Science and Technology",-"Spika Spika",-"SpEng Sports Engineering",-"SSSSc Springer Series in Surface Sciences",-"STMP. Springer Tracts in Modern Physics",-"SSCP. Springer Verlag Springer Series on Chemical Physics",-"SSEp. Springer Verlag Springer Series on Electrophysics",-"SSGSR Springer Verlag Springer Series on Group Geophysics Space Research",-"SSOS. Springer Verlag Springer Series on Optical Sciences",-"SVPCS Springer Verlag Springer Series on Physics Chemistry Space",-"SSSSS Springer Verlag Springer Series on Solid State Sciences",-"SSSyn Springer Verlag Springer Series on Synergetics",-"SSWP. Springer Verlag Springer Series on Wave Phenomena",-"SprRe Sproul Observatory Reprints",-"SrLJP Sri Lankan Journal of Physics",-"SANUG Srpska Akademiia Nauka i Umetnosti Glas Odeljenje Tekhnichkikh Nauka",-"SRXPh SRX Physics",-"StarD StarDate Magazine",-"StSky Star Sky",-"StMet Statistical Methodology",-"StaSc Statistical Science",-"StCom Statistics and Computing",-"StReL Staub Reinhaltung Luft",-"SMSPS Stephan Mueller Special Publication Series",-"Sterz Sternzeit Mitteilungen der Astrnomischen Vereinigungen Aachen",-"IEWS. Stevenage Herts England Peter Peregrinus Ltd IEE Electromagnetic Waves Series",-"SteRe Steward Observatory Reprints",-"TriTr STLE Tribology Transactions",-"SAA.. Stochastic Analysis and Applications",-"SHH.. Stochastic Hydrology and Hydraulics",-"SSRp. Stochastics and Stochastics Reports",-"StoAn Stockholms Observatoriums Annaler",-"StoMe Stockholms Observatoriums Meddelande",-"StoOR Stockholms Observatoriums Reports",-"Strab Strabismus",-"Strai Strain",-"SGC.. Stratigraphy and Geological Correlation",-"Stroj Strojarstvo",-"StAst Strolling Astronomer",-"StrOp Structural Optimization",-"SASn. Studia Astronomica Sinica",-"StBio Studia Biophysica",-"StGG. Studia Geophysica et Geodaetica",-"StuMa Studia Mathematica",-"SSTor Studia Societatis Scientiarum Torunensis Sectio F Astronomia",-"StAM. Studies in Applied Mathematics",-"SCMP. Studies in Condensed Matter Physics",-"SGORS Studies in Geophysical Optics and Remote Sensing",-"StGeo Studies in Geophysics",-"StHEP Studies in High Energy Physics",-"StHCG Studies in High Energy Physics Cosmology and Gravitation",-"StMaP Studies in Mathematical Physics",-"StPTC Studies in Physical and Theoretical Chemistry",-"SScEd Studies in Science Education",-"StHPM Studies in the History and Philosophy of Modern Physics",-"StHMP Studies in the History of Mathematics and the Physical Sciences",-"Sttur Studies in turbulence",-"SCA.. Studii si Cercetari de Astronomie Bucuresti",-"StCeF Studii si Cercetari de Fizica",-"StCeM Studii si Cercetari Matematice",-"StCMA Studii si Cercetary de Mecanica Aplicata",-"SSTA. Subsurface Sensing Technologies and Applications",-"SunGe Sun and Geosphere",-"Sunwo Sunworld",-"SuScT Superconductor Science Technology",-"SuMi. Superlattices and Microstructures",-"JPhSu Supplement au Journal de Physique",-"AnMuS Supplementband zu den Annalen der Munchener Sternwarte",-"SAnAp Supplements aux Annales d'Astrophysique",-"SuCT. Surface and Coatings Technology",-"SurIA Surface and Interface Analysis",-"SRL.. Surface Review and Letters",-"SurSc Surface Science",-"SurSL Surface Science Letter",-"SurSR Surface Science Reports",-"SurSS Surface Science Spectra",-"SGeo. Surveys in Geophysics",-"SHEP. Surveys in High Energy Physics",-"SvPro Svarochnoe Proizvodstvo",-"SvUNT Sverdlovsk Ural skii Nauchnyi Tsentr AN SSSR",-"SydOP Sydney Observatory Papers",-"SynMe Synthetic Metals",-"SAMS. Systems Analysis Modelling Simulation",-"SyTec Systems Technology",-"TMPGO Tagung ueber Mathematische Probleme Geodaesie Oberwolfach West Germany Bulleting Geodesique",-"TANEs Tartu Akademiia Nauk Estonskoi SSR",-"TarPr Tartu Astrofizicheskoj Observatorii Preprint",-"TarOT Tartu Astrofuusika Observatoorium Teated",-"IzTas Tashkent Izdatel Fan",-"IzGeo Tbilisi Georgian SSR Izdatel Metsniereba",-"TIzSS Tbilisi Izdatel Sabchota Sakartvelo",-"TecN. Technical News",-"TePhL Technical Physics Letters",-"TeLoA Technika Lotnicza i Astronautyczna",-"TBBM. Techniques of Biochemical and Biophysical Morphology",-"TPhy. Techniques of Physics",-"TMKF. Technische Mitteilungen Krupp Forschungsberichte",-"TUnGG Technische Univ Geodesy Global Geodyn",-"ToIzL Technisch oekonomische Informationen zivilen Luftfahrt",-"Tech. Technology",-"TeCu. Technology and Culture",-"TecRv Technology Review",-"Tecto Tectonics",-"Tectp Tectonophysics",-"TekEl Tekhnicheskaia Elektrodinamika",-"TJAu. Telecommunication Journal of Australia",-"TDAPR Telecommunications and Data Acquisition Progress Report",-"TMOPR Telecommunications and Mission Operations Progress Report",-"TRET. Telecommunications and Radio Engineering Telecommunications",-"TelIn Telematics Informatics",-"Telet Telettra S",-"Tell. Tellus",-"TellA Tellus Series A",-"TellB Tellus Series B Chemical and Physical Meteorology B",-"TSDMO Tellus Series Dynamic Meteorology and Oceanography",-"TeoEl Teoreticheskaia Elektrotekhnika",-"TeoPM Teoreticheskaia i Prikladnaia Mekhanika",-"TFFAP Teoriia Funktsii Funktsional nyi Analiz i ikh Prilozheniia",-"TeoVP Teoriia Veroiatnostei i ee Primeneniia",-"Teplo Teploenergetika",-"Tepsg Teplofizicheskie svoistva gazov",-"TepT. Teplofizika i Teplotekhnika",-"TepVT Teplofizika Vysokikh Temperatur",-"TFizG Teploobmen i Fizicheskaia Gazodinamika",-"TNEK. Teplovye Napriazheniia Elementakh Konstruktsii",-"TeMAE Terrestrial Magnetism and Atmospheric Electricity (Journal of Geophysical Research)",-"TeMag Terrestrial Magnetism (Journal of Geophysical Research)",-"Tesla TESLA Electronics",-"TTPhy Teubner Texte zur Physik",-"TexMi Textures and Microstructures",-"Ana.. The Analyst",-"Agrph The Astrograph",-"Astr. The Astronomer",-"ATel. The Astronomer's Telegram",-"AJ... The Astronomical Journal",-"AJS.. The Astronomical Journal Supplement",-"AstRv The Astronomical Review",-"ApJ.. The Astrophysical Journal",-"ApJL. The Astrophysical Journal Letters",-"ApJS. The Astrophysical Journal Supplement Series",-"BJHS. The British Journal for the History of Science",-"BJPS. The British Journal for the Philosophy of Science",-"BuSSA The Bulletin of the Seismological Society of America",-"ComRv The Communication Review",-"CompJ The Computer Journal",-"TCD.. The Cryosphere Discussions",-"EMBO. The EMBO Journal",-"JAS.. The Journal of Agricultural Science",-"JChTh The Journal of Chemical Thermodynamics",-"JFin. The Journal of Finance",-"MatMo The Mathematical Monthly",-"Msngr The Messenger",-"Neuro The Neuroscientist",-"INGN. The Newsletter of the Isaac Newton Group of Telescopes",-"Obs.. The Observatory",-"OAcJ. The Open Acoustics Journal",-"OAeEJ The Open Aerospace Engineering Journal",-"OAPJ. The Open Applied Physics Journal",-"OAJ.. The Open Astronomy Journal",-"OASJ. The Open Atmospheric Science Journal",-"OCPJ. The Open Chemical Physics Journal",-"OCMPJ The Open Condensed Matter Physics Journal",-"OGC.. The Open Geology Journal",-"OHJ.. The Open Hydrology Journal",-"OMEJ. The Open Mechanical Engineering Journal",-"OMJ.. The Open Mechanics Journal",-"OMnJ. The Open Mineralogy Journal",-"OMPJ. The Open Mineral Processing Journal",-"ONJ.. The Open Nanoscience Journal",-"ONPPJ The Open Nuclear &amp",-"ONMJ. The Open Numerical Methods Journal",-"OOcJ. The Open Oceanagraphy Journalurnal",-"OOEJ. The Open Ocean Engineering Journal",-"OOJ.. The Open Optics Journal",-"OPalJ The Open Paleontology Journal",-"OPCJ. The Open Physical Chemistry Journal",-"OPPJ. The Open Plasma Physics Journal",-"ORSJ. The Open Remote Sensing Journal",-"OREJ. The Open Renewable Energy Journal",-"OSPJ. The Open Signal Processing Journal",-"OSpeJ The Open Spectroscopy Journal",-"OSuJ. The Open Superconductors Journal",-"OSSJ. The Open Surface Science Journal",-"AcTC. Theoretica Chimica Acta",-"ThApC Theoretical and Applied Climatology",-"ThAFM Theoretical and Applied Fracture Mechanics",-"TAM.. Theoretical and Applied Mechanics",-"ThCFD Theoretical and Computational Fluid Dynamics",-"TMP.. Theoretical and Mathematical Physics",-"ThAst Theoretical Astrophysics",-"TPAG. Theory and Practice of Applied Geophysics",-"PhTea The Physics Teacher",-"PlJ.. The Plant Journal",-"QJMat The Quarterly Journal of Mathematics",-"QJPAM The Quarterly Journal of Pure and Applied Mathematics",-"RamJ. The Ramaujan Journal",-"RvES. The Review of Economic Studies",-"ThEng Thermal Engineering",-"TSE.. Thermal Science and Engineering",-"SJCLI The Scandinavian Journal of Clinical and Laboratory Investigation",-"SciMo The Scientific Monthly",-"TSF.. Thin Solid Films",-"TETB. Thyssen Edelstahl Technische Berichte",-"TrTIM Tiflis Izdatel Metsniereba Akademiia Nauk Gruzinskoi SSR Institut Geofiziki Trudy",-"TrGru Tiflis Izdatel Metsniereba Akademiia Nauk Gruzinskoi SSR Matematicheskii Institut Trudy",-"IzTif Tiflis Izdatel Tbilisskogo Universiteta",-"CorTi Tirada Aparte Universidad Nacional de Cordoba Argentina Observatorio Astronomico",-"TiEng Tissue Engineering",-"TNKS. Tochnost i Nadezhnost Kiberneticheskikh Sistem",-"TSRSG Tohoku University Science Reports Series Geophysics",-"TokAB Tokyo Astronomical Bulletin",-"TokRe Tokyo Astronomical Observatory Reprints",-"TUFER Tokyo Denki University Faculty of Engineering Research Reports",-"TAEMm Tokyo Metropolitan College Aeronautical Engineering Memoirs",-"TUFEJ Tokyo University Faculty of Engineering Journal Series",-"TUISR Tokyo University Institute Industrial Science Report",-"TUASB Tokyo University Institute of Space and Aeronautical Science Bulletin",-"TUASR Tokyo University Institute of Space and Aeronautical Science Report",-"TIOA. Tomsk Institut Optiki Atmosfery CO AN SSSR",-"TApPh Topics in Applied Physics",-"TAASS Topics in Astrophysics, Astrononmy, and Space Science",-"ToCat Topics in Catalysis",-"TCPh. Topics in Current Physics",-"TPhCh Topics in Physical Chemistry",-"ToASC Torino Accademia delle Scienze Classe di Scienze Fisiche Matematiche e Naturali Atti",-"TosRv Toshiba Review",-"TouCE Toulouse Cepadues Editions",-"TrSpT Transactions of Space Technology Japan",-"TAGU. Transactions of the American Geophysical Union",-"TAMS. Transactions of the American Mathematical Society",-"TAPS. Transactions of the American Philosophical Society",-"TOYal Transactions of the Astronomical Observatory of Yale University",-"TCaPS Transactions of the Cambridge Philosophical Society",-"TIMC. Transactions of the Institute of Measurement and Control",-"TISCI Transactions of the Institute of Systems, Control and Information Engineers",-"IAUTA Transactions of the International Astronomical Union, Series A",-"IAUTB Transactions of the International Astronomical Union, Series B",-"TIUCS Transactions of the International Union for Cooperation in Solar Research",-"TJSAI Transactions of the Japanese Society for Artificial Intelligence",-"TATJ. Transactions of the Japanese Society for Artificial Intelligence, Aerospace Technology Japan",-"TJSIE Transactions of The Japanese Society of Irrigation, Drainage and Rural Engineering",-"TRACE Transactions of the Japan Society of Refrigerating and Air Conditioning Engineers",-"TLHSQ Transactions of the Literary and Historical Society of Quebec",-"TrOS. Transactions of the Optical Society",-"TSICE Transactions of the Society of Instrument and Control Engineers",-"TPM.. Transport in Porous Media",-"TTSP. Transport Theory and Statistical Physics",-"TvOC. Transvaal Observatory Circular",-"TSSLW Travaux de la Societe des Sciences et des Letters de Wroclaw",-"TOMar Travaux de l'Observatoire de Marseille",-"TraGe Travaux Geophysiques",-"TrGeo Treatise on Geochemistry",-"TTP.. Trends in Theoretical Physics",-"TriL. Tribology Letters",-"TrLit Trudy Akademiia Nauk Litovskoi",-"TrSSR Trudy Akademiia Nauk SSSR Fizicheskii Institut",-"TrAlm Trudy Astrofizicheskogo Instituta Alma-Ata",-"TrRig Trudy Astrofiz. Lab. Riga",-"TrLen Trudy Astronomicheskoj Observatorii Leningrad",-"TrPul Trudy Glavnoj Astronomicheskoj Observatorii v Pulkovo",-"TrSht Trudy Gosudarstvennogo Astronomicheskogo Instituta",-"TrDus Trudy Instituta Astrofiziki Dushanbe",-"TrSta Trudy Instituta Astrofiziki Stalinabad",-"TrKaz Trudy Kazanskaia Gorodkoj Astronomicheskoj Observatorii",-"TrMMO Trudy Moskovskoe Matematicheskoe Obshchestvo",-"TrPet Trudy Seminar imeni G Petrovskogo",-"TrTas Trudy Tashkentskoj Astronomicheskoj Observatorii",-"TrTsA TsAGI Trudy",-"ZaTsA TsAGI Uchenye Zapiski",-"TrTsI TsIAM Trudy",-"TsHUJ Tsing Hua University Journal",-"TITas Tsirkulyar Astronomicheskogo Instituta Akademiya Nauk Uzbekskoj SSR",-"TsLvo Tsirkulyar Astronomicheskoj Observatorii Lvov",-"TsShe Tsirkulyar Shemakhinskoj Astrofizicheskoj Observatorii",-"TsSta Tsirkulyar Stalinabadskoj Astronomicheskoj Observatorii",-"TsTas Tsirkulyar Tashkentskoj Astronomicheskoj Observatorii",-"TsVse Tsirkulyar Vses. astron.-geod. o-va",-"TsPul Tsirkulyary Glavnoj Astronomicheskoj Observatorii i Pulkove",-"TUAID Tuebingen Universitaet Astronomisches Institut Diplomarbeit",-"TJJPT Tuijin Jishu Journal of Propulsion Technology",-"TurTe Turbulentnye techeniia",-"TJPh. Turkish Journal of Physics",-"UkJPO Ukrainian Journal of Physical Optics",-"UkFiZ Ukrainskii Fizicheskii Zhurnal",-"UkMaZ Ukrainskii Matematicheskii Zhurnal",-"Ultmi Ultramicroscopy",-"UltIm Ultrasonic Imaging",-"Ultra Ultrasonics",-"Umsch Umschau",-"USOC. Unified System Orbit Computation USOC",-"UMIB. Unione Matematica Italiana Bollettino",-"UNPSA United Nations Programme on Space Applications",-"UniCl Universe Classroom",-"UNAer Universita di Napoli Aeritalia S",-"UCAFR Universitas Comeniana Acta Facultatis Rerum Naturalium Physica",-"UMt1K Universite de Montpellier",-"UECBu University Electro Communications Bulletin",-"UnECR University Electro Communications Reports",-"StARe University Observatory St. Andrews Scotland Reprints",-"HawRe University of Hawaii Reprints",-"ADUrb University of Illinois Astronomy Department Urbana Illinois",-"MicRe University of Michigan Observatory Reprints",-"XXFD. University of Minnesota 1969 (XXFD)",-"LP... University of Minnesota Minneapolis",-"OklRe University of Oklahoma Observatory Reprints",-"MAUTx University of Texas Monographs in Astronomy",-"PAUTx University of Texas Publications in Astronomy",-"Unpub Unpublished",-"UAPET Updates in Applied Physics and Electrical Technology",-"UppAn Uppsala Astronomical Observatory Annals",-"UppOR Uppsala Astronomical Observatory Reports",-"USM.. Upravliaiushchie Sistemy i Mashiny",-"UrBar Urania (Bracelona)",-"Urani Urania (Krakow)",-"UrMad Urania (Madrid)",-"UGSJR U S Geological Survey Journal Research",-"USNOC U.S. Naval Observatory Circulars",-"USNOR U.S. Naval Observatory Reports",-"UsFiN Uspekhi Fizicheskikh Nauk",-"UMAM. Uspekhi Mekhaniki Advances Mechanics",-"RpCCA USSR Report Cybernetics Computers Automation Technology JPRS UCC",-"RpESc USSR Report Earth Sciences JPRS UES",-"RpSpR USSR Report Space",-"RpBAM USSR Report Space Biology Aerospace Medicine JPRS USB",-"RpEEE USSR Rept Electron Elec Eng JPRS UEE",-"RpEn. USSR Rept Energy JPRS UEN",-"RpEE. USSR Rept Eng Equipment JPRS UEQ",-"RLSBB USSR Rept Life Sci Biomed Behavioral Sci JPRS",-"RMTME USSR Rept Machine Tools Metalworking Equipment JPRS UMM",-"RpMSM USSR Rept Mater Sci Met JPRS",-"RpPhM USSR Rept Phys Math JPRS UPM",-"RSBAM USSR Rept Space Biol Aerospace Med Jun JPRS",-"RpSBA USSR Rept Space Biol Aerospace Med Sep",-"RpTr. USSR Rept Transportation JPRS UTR",-"UtMat Utilitas Mathematica",-"UtrOv Utrechtse Sterrekundige Overdrukken",-"Vacuu Vacuum",-"VVORe Van Vleck Observatory Reprints",-"VSOLB Variable Star Observers League in Japan - Bulletin",-"Vasio Vasiona",-"VatOP Vatican Observatory Publications",-"VDIF. VDI Forschungsheft",-"VDIZ. VDI Z",-"VDIZF VDI Zeitschriften Fortschritt Berichte Reihe Stroemungstechnik",-"VSD.. Vehicle System Dynamics",-"VKAWA Verhandelingen der Koninklijke Akademie van Wetenschappen te Amsterdam",-"Verme Vermessungstechnik",-"VeWFS Veroeffentlichung der Wilhelm Foerster Sterwarte",-"ViHei Veroeffentlichungen der Badischen Landes-Sternwarte zu Heidelberg",-"VeHei Veroeffentlichungen der Badischen Sternwarte zu Heidelberg",-"VeGG. Veroeffentlichungen der Geod. Geophys",-"VeKar Veroeffentlichungen der Grossherzoglichen Sternwarte zu Karlsruhe",-"VeBam Veroeffentlichungen der Remeis-Sternwarte zu Bamberg",-"VeBab Veroeffentlichungen der Sternwarte Babelsberg",-"VeMun Veroeffentlichungen der Sternwarte Munchen",-"VeSon Veroeffentlichungen der Sternwarte Sonneberg",-"VeKie Veroeffentlichungen der Universitaets-Sternwarte Kiel",-"VeKoe Veroeffentlichungen der Universitaets-Sternwarte Koenigsberg Pr.",-"VeBB. Veroeffentlichungen der Universitaetssternwarte zu Berlin-Babelsberg",-"VeGoe Veroeffentlichungen der Universitaets-Sternwarte zu Goettingen",-"VeJen Veroeffentlichungen der Universitaets-Sternwarte zu Jena",-"VeLei Veroeffentlichungen der Universitaetssternwarte zu Leipzig",-"VeBoc Veroeffentlichungen des Astronomischen Instituts der Ruhr-Universitaet Bochum",-"VeARI Veroeffentlichungen des Astronomischen Rechen-Instituts Heidelberg",-"VeABD Veroeffentlichungen des Astronomischen Rechen-Instituts zu Berlin-Dahlem",-"VeBon Veroeffentlichungen des Astronomisches Institute der Universitaet Bonn",-"VeFra Veroeffentlichungen des Astronomisches Institute der Universitaet Frankfurt",-"VeBKI Veroeffentlichungen des Bayerische Kommission Int. Erdmessung",-"VeKAB Veroeffentlichungen des Koeniglichen Astronomischen Rechen-Instituts zu Berlin",-"VeZPE Veroffentlichungen des Zentralinstituts Physik der Erde",-"VMKAN Verslagen en Mededeelingen der Kon. Academie van Wetenschappen, Afd. Natuurkunde",-"VeLdn Verslag van den staat der Sterrewacht te Leiden",-"Vert. Vertica",-"Vertf Vertiflite",-"Vesmi Vesmir",-"VKha. Vestnik Khar'kovskogo Universiteta",-"VeKha Vestnik Khar'kov Universitet",-"VKie. Vestnik Kievskogo Universiteta Seriya Astronomii",-"VeLGU Vestnik LGU",-"VeMos Vestnik Moskovskogo Universiteta Seriya 3 Fizika Astronomiya",-"VISBD Vibration Inst Shock Vibration Digest",-"VIAEA Vienna International Atomic Energy Agency",-"VAG.. Vierteljahresschrift der Astronomischen Gesellschaft",-"VMed. Vierteljahrschrift für Gerichtliche Medizin und Öffentliches Sanitätswesen",-"VNG.. Vierteljahrsschrift der Naturforschenden Gesellschaft in Zürich",-"VilCo Villanova University Observatory Contributions",-"VilOB Vilnius Astronomijos Observatorijos Biuletenis",-"IzVil Vilnius Izdatel Mokslas",-"VJS.. Virginia Journal of Science",-"VisKi Visnik Kiiv. Univ., Fiz.-Mat. Nauki, Astron",-"ViGeo Vissha Geodeziia",-"VA... Vistas in Astronomy",-"VTJ.. Vitro Technical Journal",-"yCat. VizieR Online Data Catalog",-"yCatp VizieR Online Data Catalog",-"VADVS VKI Advanced Design of Ventilation Systems",-"VICFD VKI An Introduction to Computational Fluid Dynamics",-"VIMT. VKI An Introduction to Modeling Turbulence",-"VAFC. VKI Axial Flow Compressors",-"VBLT. VKI Boundary Layers in Turbomachines",-"VCCPP VKI Combined Cycles for Power Plants",-"VCFD. VKI Computational Fluid Dynamics",-"VCFDI VKI Computational Fluid Dynamics for Industrial Flows",-"VCGFV VKI Computer Graphics Flow Visualization and Computational Fluid Dynamics",-"VGTET VKI Gas Turbine Engine Transient Behaviour",-"VIHE. VKI Industrial Heat Exchangers",-"VKILV VKI Laser Velocimetry",-"VKIMT VKI Measurement and Techniques",-"VMTA. VKI Measurement Techniques in Aerodynamics",-"VMHT. VKI Methodology Hypersonic Testing",-"VMATP VKI Modeling and Applications of Transport Phenomena in Porous Media",-"VADMT VKI New Approaches in the Description and Modeling of Turbulence",-"VNGG. VKI Numerical Grid Generation",-"VNMFT VKI Numerical Methods for Flows in Turbomachinery",-"VPIDV VKI Particle Image Displacement Velocimetry",-"VKIRT VKI Radial Turbines",-"VKISP VKI Spacecraft Propulsion",-"VTSF. VKI Turbulent Shear Flows",-"VVRD. VKI Vibration Rotor Dynamics",-"VLSID VLSI Design",-"VAC.. Voies Aviation Civile Fall Winter",-"VANTS Voprosy Atomnoi Nauki i Tekhniki Seriia Fizika Plazmy i Problemy Upravliaemykh Termoiadernykh Reaktsii",-"VopDP Voprosy Dinamiki i Prochnosti",-"VETT. Voprosy Elektroniki Tverdogo Tela",-"VopGA Voprosy Gidrodinamiki Atmosfery",-"VopK. Voprosy Kibernetiki",-"VMOIP Voprosy Metrologicheskogo Obespecheniia Izmereniia Parametrov Tekhnologicheskikh Lazerov",-"VoTAS Voprosy Teorii Atomnykh Stolknovenii",-"VopTP Voprosy Teorii Plazmy",-"VTSAU Voprosy Teorii Sistem Avtomaticheskogo Upravleniia",-"VossZ Vossische Zeitung",-"IzYak Vsesoiuznaia Konferentsiia Kosmicheskim Lucham Yakutsk USSR Akademiia Nauk SSSR Izvestiia Seriia Fizicheskaia",-"IzYer Vsesoiuznaia Konferentsiia Kosmicheskim Lucham Yerevan Armenian SSR Aademiia Nauk SSSR Izvestiia Seriia Fizicheskaia",-"RaUkr Vsesoiuznyi Simpozium Difraktsii i Rasprostraneniiu Voln Lvov Ukrainian SSR Radiofizika",-"VnPM. Vychislitel naia i Prikladnaia Matematika",-"VnMP. Vychislitel nye Metody i Programmirovanie",-"VyGeo Vyssha Geodeziia",-"WarRe Warsaw University Reprints",-"WasOA Washburn Observatory Astrophysics",-"GMS.. Washington DC American Geophysical Union Geophysical Monograph Series",-"WRR.. Water Resources Research",-"WavEl Wave Electronics",-"WaMot Wave Motion",-"WRCM. Waves in Random and Complex Media",-"WRM.. Waves in Random Media",-"Wear. Wear",-"WearB Wear B",-"Wthr. Weather",-"WtFor Weather and Forecasting",-"WeiEn Weight Engineering",-"WeldJ Welding Journal",-"Werk. Werkgroepnieuws",-"JIMO. WGN, Journal of the International Meteor Organization",-"WilOO Williamstown Observatory Observations",-"WiEn. Wind Energy",-"WiEng Wind Engineering",-"WisBT Wissenschaftliche Berichte AEG Telefunken",-"WisZe Wissenschaftliche Zeitschrift",-"WSAAA Workshop Series of the Asociacion Argentina de Astronomia",-"WCRp. World Climate Report",-"WJCMP World Journal of Condensed Matter Physics",-"WJM.. World Journal of Mechanics",-"WJNSE World Journal of Nano Science and Engineering",-"WJNST World Journal of Nuclear Science and Technology",-"WroRe Wroclaw Astronomical Observatory Reprints",-"Wuli. Wuli",-"YaFiz Yadernaya Fizika",-"YalOY Yale University Observatory Reports for the Year",-"YUFEM Yamaguchi University Faculty of Engineering Memoirs",-"YUTR. Yamaguchi University Technology Reports",-"YamC. Yamamoto Circular",-"ZaDN. Zagadnienia Drgan Nieliniowych",-"JAMP. ZAMP Journal of Applied Mathematics and Physics",-"ZaLab Zavodskaia Laboratoriia",-"ZaMM. Zeitschrift Angewandte Mathematik und Mechanik",-"ZaMP. Zeitschrift Angewandte Mathematik und Physik",-"ZFHDG Zeitschrift der Fachsektion Hydrogeologie in der Deutschen Geologischen Gesellschaft",-"ZeIE. Zeitschrift elektrische Informations und Energietechnik",-"ZAGeo Zeitschrift fur Angewandte Geographie",-"ZAPhy Zeitschrift fur Angewandte Physik",-"ZAAC. Zeitschrift fur Anorganische und Allgemeine Chemie",-"ZA... Zeitschrift fur Astrophysik",-"ZEVGA Zeitschrift fur Eisenbahnwesen und Verkehrstechnik Glasers Annalen",-"ZEAPC Zeitschrift für Elektrochemie und Angewandte Physikalische Chemie",-"ZFlu. Zeitschrift fur Flugwissenschaften",-"ZFlWe Zeitschrift fur Flugwissenschaften und Weltraumforschung",-"ZGm.. Zeitschrift fur Geomorphologie",-"ZGmS. Zeitschrift fur Geomorphologie Supplement",-"ZGeo. Zeitschrift fur Geophysik",-"ZGlGl Zeitschrift fur Gletscherkunde und Glazialgeologie",-"ZK... Zeitschrift fur Kristallographie",-"ZKMP. Zeitschrift fur Kristallographie Mineralogie und Petrographie",-"ZKS.. Zeitschrift fur Kristallographie Supplements",-"ZMP.. Zeitschrift für Mathematik und Physik",-"ZMetl Zeitschrift fur Metallkunde",-"ZeMet Zeitschrift fur Meteorologie",-"ZPhy. Zeitschrift fur Physik",-"ZPhyA Zeitschrift fur Physik A Hadrons and Nuclei",-"ZPC.. Zeitschrift fur Physikalische Chemie",-"ZPCF. Zeitschrift fur Physikalische Chemie Frankfurt",-"ZPCL. Zeitschrift fur Physikalische Chemie Leipzig",-"ZPCNF Zeitschrift fur Physikalische Chemie Neue Folge",-"ZPCW. Zeitschrift fur Physikalische Chemie Wiesbaden",-"ZPhyB Zeitschrift fur Physik B Condensed Matter",-"ZPhyC Zeitschrift fur Physik C Particles and Fields",-"ZPhyD Zeitschrift fur Physik D Atoms Molecules Clusters",-"ZNatA Zeitschrift Naturforschung Teil A",-"ZNatB Zeitschrift Naturforschung Teil B",-"ZePAN Zeitschrift Physik Atomic Nuclei",-"ZVer. Zeitschrift Vermessungswes.",-"ZWer. Zeitschrift Werkstofftechnik",-"ZemVs Zemlia i Vselennaia",-"Zenit Zenit",-"MiTau Zentralinstitut fuer Astrophysik Mitteilungen des Karl-Schwarzschild-Observatoriums Tautenburg",-"MitVS Zentralinstitut fuer Astrophysik Sternwarte Sonneberg Mitteilungen ueber Veraenderliche Sterne",-"ZhPmR ZhETF Pis ma Redaktsiiu",-"ZhETF Zhurnal Eksperimental noi i Teoreticheskoi Fiziki",-"ZhFK. Zhurnal Fizicheskoi Khimii",-"ZNPFK Zhurnal Nauchnoi i Prikladnoi Fotografii i Kinematografii",-"ZhPhy Zhurnal Physik",-"ZhPS. Zhurnal Prikladnoi Spektroskopii",-"ZhTFi Zhurnal Tekhnicheskoi Fiziki",-"ZVMMF Zhurnal Vychislitel noi Matematiki i Matematicheskoi Fiziki",-"ZiZa. Ziran Zazhi",-"Zprav Zpravodaj VZLU",-"ZvDeb Zvaigsnota Debess",+ * | cut -c 7-12,24- | sed 's/"//g'+ * | awk '{ for(i=1;i<=length($0);++i){c=substr($0,i,1);if(c==" "&&i<6) { printf(".");} else {printf("%s",c);}}printf("\n");}'+ * | awk '{printf "\"%s\",\n",$0 }' | sort -n -k2 + *+ */+static const char *journals[] = {+"A&AA. Astronomy and Astrophysics Abstracts Heidelberg",+"AAABS Asociacion Argentina de Astronomia La Plata Argentina Book Series",+"AAAN. Astronomische Abhandlungen als Erganzungshefte zu den Astronomische Nachrichten",+"AAAR. Arctic, Antarctic and Alpine Research",+"A&A.. Astronomy and Astrophysics",+"A&AC. Astronomy &amp",+"AADDR Abhandlungen Akad. Wiss. DDR",+"AAfz. Astrometriia i Astrofizika",+"AAGot Abhandlungen Akad. Wiss. G&ouml",+"AAHam Astronomische Abhandlungen der Hamburger Sternwarte",+"AAIzN Alma Ata Izdatel Nauka",+"AALST Atti Accad. Ligure Sci. Lett.",+"AAM.. Archive of Applied Mechanics",+"AAMOP Advances in Atomic Molecular and Optical Physics",+"AAMS. Adv. Appl. Mech. Suppl.",+"AAN.. AAVSO Alert Notice",+"AAnST Advances in Astronautics Science and Technology",+"AAONw Anglo-Australian Observatory Epping Newsletter",+"AAOPr Anglo-Australian Observatory Epping Preprint",+"AAPon Atti Accad. Pontaniana",+"A&ARv Astronomy and Astrophysics Review",+"A&AS. Astronomy and Astrophysics Supplement Series",+"AASF. Ann. Acad. Sci. Fennicae",+"AASHS AAS Hist. Ser.",+"AASP. Advances in Astronomy and Space Physics",+"AASPB AAS Photo Bulletin",+"AASPP Astrononomy and Astrophysics Series",+"AAST. Atti Accad. Sco. Torino I",+"A&AT. Astronomical and Astrophysical Transactions",+"AAVNw AAVSO Newsletter",+"AAVSB AAVSO Solar Bulletin",+"AAVSC AAVSO Circular",+"AAVSN AAVSO Special Notice",+"AbaOB Abastumanskaia Astrofizicheskaia Observatoriia Byulleten",+"AbApA Abstract and Applied Analysis",+"AbAst Abenteuer Astronomie",+"AbbOO Abbadia Observatory Observations",+"AbhBr Abh. naturwiss. Verein Bremen",+"AbhKP Abh. Konigl. Preuss. Akad. Wissenschaften Jahre 1906,92, Berlin,1907",+"AbhP. Abh. der Preu&szlig",+"AbICA Abstracts of the ICA",+"ABKie Astronomische Beobachtungen auf der Sternwarte der Koeniglichen Christian-Albrechts-Universitaet zu Kiel",+"ABMun Astronomische Beobachtungen angestellt auf der K. Sternwarte zu Bogenhausen bei Muenchen",+"ABSBe Astronomische Beobachtungen auf der Koniglichen Sternwarte zu Berlin",+"ABWG. Abh. Braunschweigische Wissenschaftliche Ges.",+"AcA.. Acta Astronomica",+"AcAAS Acta Aeronautica et Astronautica Sinica",+"AcAau Acta Astronautica",+"AcAcu Acta Acustica",+"AcAer Acta Aerodynamica Sinica",+"AcApS Acta Astrophysica Sinica",+"AcAri Acta Arithmetica",+"AcArm Acta Armamentarii",+"AcASn Acta Astronomica Sinica",+"A&C.. Astronomy and Computing",+"AcAuS Acta Automatica Sinica",+"AcBu. Acoust. Bull.",+"AcC.. Acta Cosmologica",+"AcChR Accounts Chem. Res.",+"AcCrA Acta Crystallographica Section A",+"AcCrD Acta Crystallographica Section D",+"AcEle Acta Electronica",+"AcElS Acta Electronica Sinica",+"ACESJ Applied Computational Electromagnetics Society Journal",+"AcESn Acta Electron. Sinica",+"AcGdG Acta Geodynamica et Geomaterialia",+"AcGeo Acta Geophysica",+"AcGeP Acta Geophysica Polonica",+"AcGG. Acta Geod. Geophys.",+"ACGIS Advances in Cartography and GIScience of the ICA",+"AcGSn Acta Geophys. Sinica",+"AcHA. Acta Historica Astronomiae",+"AcHPh Helvetica Physica Acta",+"AcHPS Helvetica Physica Acta Supplementum",+"ACiCh Astronomical Circular",+"ACIP. Acta Cienc. Indica Phys.",+"AcMa. Acta Mathematica",+"ACMan Astronomical Contributions from the University of Manchester",+"AcMaS Acta Mathematica Sinica",+"AcMat Acta Materialia",+"AcMCS Acta Materiae Compositae Sinica",+"AcMec Acta Mechanica",+"AcMeS Acta Meteorologica Sinica",+"AcMet Acta Metallurgica",+"AcMik Mikrochimica Acta",+"AcM&M Acta Metallurgica et Materialia",+"AcMPh Acta Universitatis Caroliae. Mathematica et Physica",+"AcMPS Acta Universitatis Caroliae. Mathematica et Physica Supplement",+"AcMSn Acta Mechanica Sinica",+"AcMSS Acta Mechanica Solida Sinica",+"AcMSw Acta Mathematica Sweden",+"AcMT. Acta Materialia Transylvanica",+"AcNum Acta Numerica",+"AcO.. Acta Oecologica",+"AcOpS Acta Optica Sinica",+"AcOpt Optica Acta",+"AcOSi Acta Oceanica Sinica",+"AcouL Acoustics Letters",+"AcPAS Acta Physica Austriaca Supplement",+"ACP.. Atmospheric Chemistry & Physics",+"ACPD. Atmospheric Chemistry & Physics Discussions",+"AcPhA Acta Physica Austriaca",+"AcPhC Acta Physica et Chemica",+"AcPhH Acta Physica Hungarica",+"AcPhS Acta Physiologica Scandinavica",+"AcPhy Acta Physica",+"AcPol Acta Polytechnica",+"AcPPA Acta Physica Polonica A",+"AcPP. Acta Physica Polonica",+"AcPPB Acta Physica Polonica B",+"AcPPP Acta Polytechnica CTU Proceedings",+"AcPPS Acta Physica Polonica B, Proceedings Supplement",+"AcPSc Acta Polytechnica Scandinavica Applied Physics Series",+"AcPSi Acta Photonica Sinica",+"AcPSl Acta Physica Slovaca",+"AcPSn Acta Physica Sinica",+"AcRhe Rheologica Acta",+"ACSB. American Ceramic Society Bulletin",+"ACSC. American Ceramic Society Communications",+"ACSJ. American Ceramic Society Journal",+"AcSN. Acta Scientifica Naturalis",+"AcSpA Spectrochimica Acta Part A: Molecular Spectroscopy",+"AcSpe Spectrochimica Acta",+"AcSSn Acta Seismologica Sinica",+"ACTAp Automatic Control Theory Applications",+"AcTC. Theoretica Chimica Acta",+"AcTec Acta Technica",+"Acu.. Acustica",+"AcUnC Acta Universitatis Cibiniensis",+"AcUni Acta Universitaria",+"AdA&A Advances in Astronomy and Astrophysics",+"AdAer Advances in Aeronautics",+"AdAMP Advances in Atomic and Molecular Physics",+"AdAnS Advances in the Astronautical Sciences",+"AdAp. Advances in Astrophysics",+"AdApM Advances in Applied Mathematics",+"adap.pNASA ADAP Proposal",+"AdAs. Ad Astra",+"adass Astronomical Data Analysis Software and Systems",+"AdAst Advances in Astronomy",+"AD... Atomic Data",+"AdAtS Advances in Atmospheric Sciences",+"ADCBu Astronomical Data Center Bulletin",+"AdChP Advances in Chemical Physics",+"AdCIS Advances in Colloid and Interface Science",+"AdCM. Advanced Ceramic Materials",+"AdCMP Advances in Condensed Matter Physics",+"AdCoL Advanced Composites Letters",+"AdEl. Advanced Electromagnetics",+"AdEPS Advances in Earth and Planetary Sciences",+"AdG.. Advances in Geosciences",+"AdGeo Advances in Geophysics",+"AdHEP Advances in High Energy Physics",+"ADIL. Astronomy Data Image Library",+"AdMaP Advances in Mathematical Physics",+"AdMet Advances in Meteorology",+"AdMPC Advances in Materials Physics and Chemistry",+"AdMRe Advances in Magnetic Resonance",+"AdMS. Advances in Materials Science",+"AdMSE Advances in Materials Science and Engineering",+"AdMUM Advances in Mechanics Uspekhi Mekhaniki",+"ADNDT Atomic Data and Nuclear Data Tables",+"AdNOp Advances in Nonlinear Optics",+"AdNuP Advances in Nuclear Physics",+"AdOP. Advances in Optics and Photonics",+"AdOT. Advanced Optical Technologies",+"AdPho Advanced Photonics",+"AdPhy Advances in Physics",+"AdPlP Advances in Plasma Physics",+"AdQC. Advances in Quantum Chemistry",+"AdRS. Advances in Radio Science",+"AdSAC Advanced Series in Astrophysics and Cosmology",+"AdSpR Advances in Space Research",+"AdSR. Advances in Science and Research",+"AdTAM Advances in Theoretical and Applied Mechanics",+"AdThP Advances in Theoretical Physics",+"AdTMP Advances in Theoretical and Mathematical Physics",+"AdWR. Advances in Water Resources",+"AeAm. Aerospace America",+"AeCh. Aerospace China",+"AeCM. Aerospace Composites and Materials",+"AEdRv Astronomy Education Review",+"AeDy. Aerospace Dynamics",+"AeEn. Aerospace Engineering",+"AEEP. Advances in Electronics and Electron Physics",+"AEEPS Advances in Electronics and Electron Physics Supplement",+"AeIBu Aerokosmicheski Izsledvaniia B lgariia",+"AeJ.. Aeronautical Journal",+"Aekv. Aerodinamika kanalov i ventiliatorov",+"AeMat Aerospace Materials",+"AeMed Aerospace Medicine",+"AeMiS Aerotecnica Missili &amp",+"AeoRe Aeolian Research",+"AeQ.. Aeronautical Quarterly",+"AeRaG Aerodinamika Razrezhennykh Gazov",+"AerAs L'Aeronautique et L'Astronautique",+"AerMS L'Aerotecnica Missili e Spazio",+"Aero. Aerospace UK",+"AerRv Revue Aerospatiale",+"AerSE Aerosol Science and Engineering",+"AerST Aerosol Science Technology",+"AerSy Aerospace Systems",+"AerTe Aerojet Technology",+"AeSIJ Aeronautical Society India Journal",+"AeTJa Aerospace Technology Japan",+"AExpr Astronomy Express",+"AFChr Annales Francaises de Chronometrie",+"AFGL. AFGL-TR-0208 Environemental Research papers",+"AFLB. Annales de la Fondation Louis de Broglie",+"AFMa. Air Force Magazine",+"AFOEV Bulletin de l'Association Francaise d'Observateurs d'Etoiles Variables",+"AFRE. Alta Frequenza Rivista di Elettronica",+"AfrSk African Skies",+"AfRvP The African Review of Physics",+"Afz.. Astrofizika",+"A&G.. Astronomy and Geophysics",+"AgFM. Agricultural and Forest Meteorology",+"Agrph The Astrograph",+"AGUA. AGU Advances",+"AGUFM AGU Fall Meeting Abstracts",+"AGUSM AGU Spring Meeting Abstracts",+"AHEEM Archives of Hydro-Engineering and Environmental Mechanics",+"AHES. Archive for History of Exact Sciences",+"AHSJ. American Helicopter Society Journal",+"AIAAJ AIAA Journal",+"AIASJ AIAA Student Journal",+"AIChE AIChE Journal",+"AIH.. Acoustical Imaging and Holography",+"AIHAJ AIHA Journal",+"AIHPA Annales de L'Institut Henri Poincare Section (A) Physique Theorique",+"AIHPB Annales de L'Institut Henri Poincare Section (B) Probability and Statistics",+"AIHPC Annales de L'Institut Henri Poincare Section (C) Non Linear Analysis",+"AiInt Air International",+"AIMSG AIMS Geosciences",+"AIPA. AIP Advances",+"AIQSY Annals of the IQSY",+"AirCo Air et Cosmos",+"AirE. Aircraft Engineering",+"AirSp Air and Space",+"AISAO Astrofizicheskie Issledovaniia Izvestiya Spetsial'noj Astrofizicheskoj Observatorii",+"AISof Astrofizicheskie Issledovaniya Sofia",+"AJB.. Astronomischer Jahresbericht",+"AJCh. Australian Journal of Chemistry",+"AJGeo American Journal of Geoscience",+"AJSE. Arabian Journal of Science Engineering",+"AJSEd Atlas Journal of Science Education",+"AJS.. The Astronomical Journal Supplement",+"AJ... The Astronomical Journal",+"AkAtP Akademia Athenon Praktika",+"AkTek Akustika i Ul trazvukovaia Tekhnika",+"AkZh. Akusticheskii Zhurnal",+"AlFr. Alta Frequenza",+"ALMAN ALMA Newsletter",+"AMat. Applied Mathematics",+"Ambio Ambio",+"AMGBA Archives for Meteorology Geophysics and Bioclimatology Series A Meteorology and Atmopsheric Physics",+"AMGBB Archives for Meteorology Geophysics and Bioclimatology Series B Theoretical and Applied Climatology",+"AMGBK Archiv Meteorologie Geophysik und Bioklimatologie Serie B Klimatologie und Umweltmeteorologie Strahlungsforschung",+"AMGBS Archiv Meteorologie Geophysik und Bioklimatologie Serie Meteorologie und Geophysik",+"AmJC. American Journal of Cardiology",+"AmJM. American Journal of Mathematics",+"AmJPh American Journal of Physics",+"AmJSA American Journal of Science and Arts",+"AmJS. American Journal of Science",+"AMM.. Applied Mechanics and Materials",+"AmMin American Mineralogist",+"AMP.. Advanced Materials and Processes",+"AMR.. Antarctic Meteorite Research",+"AmSci American Scientist",+"AMT.. Atmospheric Measurement Techniques",+"AMTD. Atmospheric Measurement Techniques Discussions",+"AMTM. Archives of Mechanical Technology and Materials",+"AnaCh Analytical Chemistry",+"AnAIK Annales de l'Observatoire astronomique de l'Universit&eacute",+"AnaIn Analytical Instrumentation",+"AnAp. Annales d'Astrophysique",+"AnAPM Annales de l'Observatoire d'astronomie physique de Paris, Section d'astrophysique, &agrave",+"AnApS Annals of Applied Statistics",+"AN... Astronomische Nachrichten",+"Ana.. The Analyst",+"AnBes Annales de l'Observatoire de Besancon",+"AnBog Neue Annalen der Koeniglichen Sternwarte in Bogenhausen bei Muenchen",+"AnBor Annales de l'Observatoire de Bordeaux",+"AnBos Annals of the Bosscha Observatory Lembang (Java) Indonesia",+"AnBru Annales de l'Observatoire Royal de Bruxelles",+"AnCap Annals of the Cape Observatory",+"AnCGH Annals of Royal Observatory, Cape of Good Hope",+"AnCPh Annales de Chimie et de Physique",+"AnDea Annals of the Dearborn Observatory",+"AnDud Annals of the Dudley Observatory",+"AnEdi Annals of the Royal Observatory, Edinburgh",+"AnErg Ergaenzungshefte zu den Astronomischen Nachrichten",+"Anews ASTRON Newsletter",+"AnFis Anales de Fisica",+"AnG.. Annales de Geophysique",+"AnGeo Annales Geophysicae",+"AnGla Annals of Glaciology",+"AnGp. Annals of Geophysics",+"AnGVP Annales du Bureau des Longitudes, Gauthier-Villars, Paris",+"AnHar Annals of Harvard College Observatory",+"AnHP. Annales Henri Poincar&eacute",+"AnIPS Annals of the Israel Physical Society",+"ANLAF Accademia Nazionale dei Lincei Atti Rendiconti Classe di Scienze Fisiche e Naturali",+"ANLAM Accademia Nazionale dei Lincei Atti Rendiconti Classe di Matematica e Applicazioni",+"ANLAR Accademia Nazionale dei Lincei Atti Rendiconti Classe di Scienze Fisiche Matematiche e Naturali",+"AnLei Annalen van de Sterrewacht te Leiden",+"AnLL. Annals of the Observatory of Lucien Libert",+"AnLow Annals of the Lowell Observatory",+"AnLun Annals of the Observatory of Lund",+"AnLuS Annals of the Observatory of Lund Supplement",+"AnMat Annals of Mathematics",+"AnMet Annalen Meteorologie",+"AnMN. Antarctic Meteorite Newsletter",+"AnMP. Analysis and Mathematical Physics",+"AnMun Annalen der Koeniglichen Sternwarte bei Muenchen",+"AnMuS Supplementband zu den Annalen der Munchener Sternwarte",+"AnNic Annales de l'Observatoire de Nice",+"AnOB. Annales de l'Observatoire Royal de Belgique",+"AnOBN Annales de l'Observatoire Royal de Belgique Nouvelle serie",+"AnOLL Annals of the Private Observatory of Lucien Libert",+"AnOSt Annales de l'Observatoire de Strasbourg",+"AnP.. Annalen der Physik",+"AnPar Annales de l'Observatoire de Paris",+"AnPCS Annales de Physique Colloque Supplement",+"AnPh. Annales de Physique",+"AnPhy Annals of Physics",+"AnPOb Annales de l'Observatoire de Paris. Observations",+"AnRE. Annual Review of Energy",+"AnRFM Annual Review of Fluid Mechanics",+"AnRio Annales de l'Observatoire Imperial de Rio de Janeiro",+"AnRMS Annual Review of Materials Science",+"AnRSA Annual Review of Statistics and Its Application",+"AnSAO Annals of the Astrophysical Observatory of the Smithsonian Institution",+"ANS.. Astronomische Nachrichten Supplement",+"AnSci Annals of Science",+"AnShO Shanghai Observatory Annals",+"ANSNN Advances in Natural Sciences: Nanoscience and Nanotechnology",+"AnSPC Annals of the Solar Physics Observatory Cambridge England",+"AnSSM Annals of Solid and Structural Mechanics",+"AnSta Annals of Statistics",+"AnStr Annalen der Kaiserlichen Universitats-Sternwarte in Strassburg",+"AntAs The Antiquarian Astronomer",+"AnTec Annales Tectonicae",+"AnTel Annales des Telecommunications",+"Anten Antenny",+"Antk. Antarktika",+"AnTok Annals of the Tokyo Astronomical Observatory",+"AnTou Annales de l'Observatoire Astron. et Meteo. de Toulouse",+"AntSc Antarctic Science",+"AnUCP Annals of the University of Craiova Physics AUC",+"AnWiD Annalen der Universitaets-Sternwarte Wien, Dritter Folge",+"AnWie Annalen der K.K. Sternwarte Wien",+"ANZi. Beobachtungs-Zirkular der Astronomischen Nachrichten",+"AnZoC Annales de l'Observatoire astronomique de Z&ocirc",+"AOIJ. Academic Open Internet Journal",+"AOTok Annales de l'Observatoire astronomique de Tokyo",+"ApAc. Applied Acoustics",+"ApAN. Apatity Akademiia Nauk SSSR",+"Ap... Astrophysics",+"APCAJ Air Pollution Control Association Journal",+"ApCM. Applied Composite Materials",+"Apei. Apeiron",+"ApEn. Applied Energy",+"ApEnM Applied Environmental Microbiology",+"APExp Applied Physics Express",+"APFUS Annals of the Physics Faculty of the University of Sofia",+"ApGC. pplied Geochemistry",+"ApGeo Applied Geophysics",+"APh.. Astroparticle Physics",+"APHHI Acta Physica Hungarica Heavy Ion Physics",+"APHQE Acta Physica Hungarica Quantum Electronics",+"APhy. Acoustical Physics",+"ApHyd Applied Hydrogeology",+"ApInv Astrophysical Investigations",+"APJAS Asia-Pacific Journal of Atmospheric Sciences",+"ApJS. The Astrophysical Journal Supplement Series",+"ApJ.. The Astrophysical Journal",+"ApKF. Apatity Kol skii Filial AN SSSR",+"ApL.. Astrophysical Letters",+"ApL&C Astrophysical Letters and Communications",+"APLM. APL Materials",+"APLP. APL Photonics",+"ApMaC Applied Mathematics Computation",+"ApMaL Applied Mathematics Letters",+"ApMaM Applied Mathematics Mechanics English Edition",+"ApMaO Applied Mathematics Optimization",+"ApMat Aplikace Matematiky, Applied Mathematics",+"ApMic Applied Microbiology",+"ApMM. Applied Mathematics and Mechanics",+"ApMRv Applied Mechanics Reviews",+"ApMT. Applied Microgravity Technology",+"ApNan Applied Nanoscience",+"ApNM. Applied Numerical Mathematics",+"ApNr. Astrophysica Norvegica",+"ApOpt Applied Optics",+"AppAn Applicable Analysis",+"ApPhA Applied Physics A: Materials Science & Processing",+"ApPhB Applied Physics B: Lasers and Optics",+"ApPhC Applied Physics Communications",+"ApPhL Applied Physics Letters",+"ApPhR Applied Physics Research",+"ApPhy Applied Physics",+"ApPPL Applied Physics B Photophysics Laser Chemistry",+"ApPRv Applied Physics Reviews",+"apra.pNASA APRA Proposal",+"ApScR Applied Scientific Research",+"ApSE. Applied Solar Energy",+"ApSpe Applied Spectroscopy",+"ApSRA Applied Scientific Research Section A",+"ApSRB Applied Scientific Research Section B",+"ApSRv Applied Spectroscopy Reviews",+"ApSS. Applied Surface Science",+"Ap&SS Astrophysics and Space Science",+"ApSSP Astrophysics and Space Science Proceedings",+"ApSSS Astrophysics and Space Science Supplement",+"ApSup Applied Superconductivity",+"ApT.. Astrophysics Today",+"ApWS. Applied Water Science",+"ARA&A Annual Review of Astronomy and Astrophysics",+"ArA.. Arkiv for Astronomi",+"ARAC. Annual Review of Analytical Chemistry",+"ArAco Archives Acoustics",+"ArAku Archiwum Akustyki",+"ARAOJ Annual Report of the National Astronomical Observatory of Japan",+"A&R.. Astronomie und Raumfahrt",+"ArAuT Archiwum Automatyki i Telemechaniki",+"ArBei Astrophysics Reports Publications of the Beijing Astronomical Observatory",+"ARBl. Aerospace Research in Bulgaria",+"ArBuM Archiwum Budowy Maszyn",+"Arch. Archaeoastronomy",+"ArchS Archaeoastronomy Supplement",+"ARCMP Annual Review of Condensed Matter Physics",+"ArCom Archivum Combustionis",+"AReg. Astronomical register",+"ArEle Archiwum Elektrotechniki",+"ArElU Archiv Elektronik und Uebertragungstechnik",+"ARep. Astronomy Reports",+"AREPS Annual Review of Earth and Planetary Sciences",+"ArG.. Arkiv for Geofysik",+"ARIJ. An Interdisciplinary Journal of Physical and Engineering Sciences",+"ARIST Annual Review of Information Science and Technology",+"ArJPh Armenian Journal of Physics",+"ArMAF Arkiv for Matematik, Astronomi och Fysik",+"ArMaN Archiv for Mathematik og Naturvidenskab",+"ArM.. Arkiv for Matematik",+"ArMeS Archiv of Mechanics, Archiwum Mechaniki Stosowanej",+"ArMiS Archives of Mining Sciences",+"ARMS. Annual Review of Marine Science",+"ARNPS Annual Review of Nuclear and Particle Science",+"ArNSc Archives Neerlandaises des Sciences Exactes et Naturelles",+"ARPC. Annual Review of Physical Chemistry",+"ARPM. Adgeziia Rasplavov i Paika Materialov",+"ArPSp Archiwum Procesow Spalania",+"ArRMA Archive for Rational Mechanics and Analysis",+"ArS.. Archives des Sciences",+"ArSPN Archives des Sciences Physiques et Naturelles",+"AR&T. Astronomical Research and Technology",+"ArTh. Archives of Thermodynamics",+"ArTr. Archives of Transport",+"ArtSa Artificial Satellites",+"ArTSp Archiwum Termodynamiki i Spalania",+"arXiv arXiv e-prints",+"AsAc. Astronautica Acta",+"AsAer Astronautics Aeronautics",+"ASAJ. Acoustical Society of America Journal",+"AsBio Astrobiology",+"ASBTV Archenhold-Sternwarte Berlin-Treptow, Vortrage Schr.",+"ascl.sAstrophysics Source Code Library",+"ASCMO Advances in Statistical Climatology Meteorology and Oceanography",+"asc..rSpace Telescope ASC Instrument Science Report",+"asd..sAstrophysics Software Database",+"AsDyn Astrodynamics",+"ASFAS Academia Scientiarum Fennica Annales Series Physica",+"As&Ge Astronomiya i geodeziya",+"ASHRA ASHRAE Journal",+"AsJES Austrian Journal of Earth Sciences",+"AsJPh Asian Journal of Physics",+"ASL.. Advanced Science Letters",+"ASLLR Accademia di Scienze e Lettere Istituto Lombardo Rendiconti Serie della Classe di Scienze Matematiche e Naturali Sezione Scienze Matematiche Fisiche Chimiche e Geologiche",+"ASME. American Society of Mechanical Engineers",+"Asnau Astronautik",+"AsNot Astronomical Notices",+"AsNow Astronomy Now",+"ASNYN News Letter of the Astronomical Society of New York",+"ASPL. Leaflet of the Astronomical Society of the Pacific",+"ASPLS Leaflet of the Astronomical Society of the Pacific (Supplement)",+"ASPRv Astrophysics and Space Physics Reviews",+"ASSAB Academie Serbe des Sciences et des Arts Bulletin Classe des Sciences Techniques",+"ASSB. Annales de la Soci&eacute",+"AsSch Astronomie in der Schule",+"ASSFA Acta Societatis Scientarum Fennicae Series A",+"ASSF. Acta Societatis Scientarum Fennicae",+"ASSP. Astrophysics and Space Science Proceedings",+"AstAp Astronomy and Astro-Physics (formerly The Sidereal Messenger)",+"Ast.. Astronomy",+"AstBa Biblioteca Astrei Basarabene",+"AstBu Astrophysical Bulletin",+"Aster Aster",+"AstHe Astronomical Herald",+"AstL. Astronomy Letters",+"Astnm Astronomia UAI",+"AstPo Astropolitics",+"AstQ. Astronomy Quarterly",+"ASTRA Astrophysics and Space Sciences Transactions",+"astro arXiv Astrophysics e-prints",+"Astro Astronomy",+"ASTRP ASTRA Proceedings",+"Astr. The Astronomer",+"AstRv The Astronomical Review",+"AstSR Astronomical School's Report",+"AsUAI Astronomia. La rivista dell' Unione Astrofili Italiani",+"ATel1 The Astronomer's Telegram",+"ATel. The Astronomer's Telegram",+"AtEn. Atomnaia Energiia",+"AtERv Atomic Energy Review",+"ATi.. Astronomisk Tidsskrift",+"ATJAM ASME Transactions Series E Journal of Applied Mechanics",+"ATJDS ASME Transactions Journal of Dynamic Systems and Measurement Control B",+"ATJEG ASME Transactions Journal of Engineering Gas Turbines and Power",+"ATJEl ASME Transactions Journal of Electronic Packaging",+"ATJEM ASME Transactions Journal Engineering Materials and Technology",+"ATJEP ASME Transactions Journal of Engineering Power",+"ATJFE ASME Transactions Journal of Fluids Engineering",+"ATJHT ASME Transactions Journal of Heat Transfer",+"ATJLT ASME Transactions Journal of Lubrication Technology",+"ATJSE ASME Transactions Journal of Solar Energy and Engineering",+"ATJTr ASME Transactions Journal of Tribology",+"ATJTu ASME Transactions Journal of Turbomachinery",+"ATJVA ASME Transactions Journal of Vibration Acoustics",+"AtKe. Atomkernenergie",+"AtlVS Atlas Poiskovykh Kart Peremennykh Zvezd",+"ATMAB Association Technique Maritime et Aeronautique Bulletin",+"ATMAS Association Technique Maritime et Aeronautique Session Paris France ONERA TP",+"AtmEn Atmospheric Environment",+"Atmos Atmosphere",+"AtmRe Atmospheric Research",+"AtmTe Atmospheric Technology",+"atnf.pATNF Proposal",+"AtO.. Atmosphere Ocean",+"Atoms Atoms",+"AtOO. Atmospheric and Oceanic Optics",+"AtOpt Atmosphere Optics",+"AtPhy Atomic Physics",+"atp..pNASA ATP Proposal",+"ATR.. ATR Australian Telecommunication Research",+"AtSc. Atmospheric Science",+"AtScL Atmospheric Science Letters",+"ATsir Astronomicheskij Tsirkulyar",+"AtST. Atomisation Spray Technology",+"ATTM. AEG Telefunken Technische Mitteilungen",+"ATTTJ AT T Technical Journal",+"AUGGM Annales UMCS, Geographia, Geologia, Mineralogia et Petrographia",+"AuJA. Australian Journal of Astronomy",+"AuJES Australian Journal of Earth Sciences",+"AuJPA Australian Journal of Physics Astrophysical Supplement",+"AuJPh Australian Journal of Physics",+"AuMM. Australian Meteorological Magazine",+"AuMSJ Australian Mathematical Society Journal Series B -- Applied Mathematics",+"AuRob Autonomous Robots",+"AurPh Auroral physics",+"AUSPh Annales UMCS, Sectio AAA: PHYSICA",+"AuSRA Australian Journal of Scientific Research A Physical Sciences",+"Autom Automatica",+"AVest Astronomicheskii Vestnik",+"AVET. Atomno Vodorodnaia Energetika i Tekhnologiia",+"AVISS Astronomicheskii Vestnik Issledovaniia Solnechnoi Sistemy",+"AvKos Aviatsiia i Kosmonavtika",+"AvPE. Avtomatizatsiia Proektirovaniia Elektronike",+"AvSeM Aviation Space and Environmental Medicine",+"AVSOM American Association of Variable Stars Observers Monographs",+"AVSOR American Association of Variable Stars Observers Reports",+"AVSQS AVS Quantum Science",+"AvTek Aviatsionnaia Tekhnika",+"AvTel Avtomatika i Telemekhanika",+"Avtme Avtometriia",+"AvWST Aviation Week Space Technology",+"AWUTP Annals of West University of Timisoara - Physics",+"AzAJ. Azerbaijani Astronomical Journal",+"AZh.. Astronomicheskii Zhurnal",+"AZWis Astronomisches Zirkular der Akademie der Wissenschaften der UdSSR",+"BAAA. Boletin de la Asociacion Argentina de Astronomia La Plata Argentina",+"BAAPG Bulletin of the American Association of Petroleum Geologists",+"BAAS. Bulletin of the American Astronomical Society",+"BAAVC British Astronomical Association Variable Star Section Circular",+"BABel Bulletin Astronomique de Belgrade",+"BADPG Berlin East Germany Akademie Verlag GmbH Ergebnisse Plasmaphysik und Gaselektronik",+"BAFOE Bulletin Association Fran. Obs. Etoiles Variables",+"BAICz Bulletin of the Astronomical Institutes of Czechoslovakia",+"BaltA Baltic Astronomy",+"BAMaS Bulletin of the American Mathematical Society",+"BAMS. Bulletin of the American Meteorological Society",+"BAN.. Bulletin of the Astronomical Institutes of the Netherlands",+"BANS. Bulletin of the Astronomical Institutes of the Netherlands Supplement Series",+"BAOM. Boletin de la Astronomico Observatorio de Madrid",+"BAORB Bulletin of the Astronomical Observatoire Royale de Belgique",+"BaPhL Balkan Physics Letters",+"BAPS. Bulletin of the American Physical Society",+"BAPSS Bulletin de l'Academie Polonaise des Sciences Series des Sciences Mathematiques Astronomiques et Physiques",+"BARB. Bulletin de l'Academie Royale de Belgique",+"BASBr Bulletin of the Astronomical Society of Brazil",+"BASI. Bulletin of the Astronomical Society of India",+"BasR. Basin Research",+"BAth. National Observatory of Athens Greece Bulletin of the Astronomical Institute",+"BAVMM Berlin East Germany Akademie Verlag GmbH Shriftenreihe des Zentralinstituts Mathematik und Mechanik",+"BAVSM Berliner Arbeitsgemeinschaft fuer Veraenderliche Sterne - Mitteilungen",+"BAVSO Bulletin of the American Association of Variable Stars Observers",+"BAVSR BAV Rundbrief - Mitteilungsblatt der Berliner Arbeits-gemeinschaft fuer Veraenderliche Sterne",+"BAWMN Bayerische Akademie Wissenschaften mathematisch naturwissenschaftliche Klasse Sitzungsberichte",+"BayAn Bayesian Analysis",+"BBCEn BBC Engineering",+"BBGPC Berichte der Bunsen-Gesellschaft Physical Chemistry Chemical Physics Berichte",+"BBSAG Bulletin der Bedeckungsveraenderlichen-Beobachter der Schweizerischen Astronomischen Gesellschaft",+"BBUSM Babes Bolyai Universitas Studia Series Physica",+"BBUSS Babes Bolyai Universitas Studia Series Mathematica",+"BCAIC Bulletin of the Central Astronomical Institute of Czechoslovakia",+"BCFHT Bulletin d'information du telescope Canada-France-Hawaii",+"BCNRC Canada National Research Council Division Mechanical Engineering National Aeronautical Establishment Quarterly Bulletin",+"BCNRS Bulletin Signaletique - Centre National de la Recherche Scientifique",+"BCrAO Bulletin Crimean Astrophysical Observatory",+"BCSAB Bulletin Cl. Science Academy Royal de Belgique",+"BDus. Byulleten' Instituta Astrofiziki Dushanbe Akademiya Nauk Tadzhikskoj SSR",+"BdWis Bild der Wissenschaften",+"BeElM Beskontaktnye Elektricheskie Mashiny",+"BeiGe Beitraege zur Geophysik",+"BeiMP Beitraege zur Mineralogie und Petrographie",+"BeiRe Reprints Beijing Astronomical Observatory Academia Sinica",+"BePl. Beitraege Plasmaphysik",+"BEPM. Bielefeld Encounters in Physics and Mathematics",+"BerAJ Berliner Astronomisches Jarbuch",+"Bes1K Observatoire de Besancon",+"BESBe Beobachtungs-Ergebnisse der Koniglichen Sternwarte zu Berlin",+"BeSN. Be Star Newsletter",+"BFWSG Braunschweig Friedr Vieweg und Sohn GmbH",+"BGBGM Berlin Gebrueder Borntraeger Geoexploration Monographs Series",+"BGD.. Biogeosciences Discussions",+"BGeo. Biogeosciences",+"BGeod Bulletin Geodesique",+"BGNS. Bulletin Geodesique, Nouvelle Series",+"BGSA. Bollettino Geod. Scienzi Affini",+"BHarO Harvard College Observatory Bulletin",+"BIAst Bjull. Inst. Astrofizikii",+"BIBGI Bulletin d'Information du Bureau Gravimetrique International",+"BiBi. Bioinspiration and Biomimetics",+"BICDS Bulletin d'Information du Centre de Donnees Stellaires",+"BIEBe Bulletin d'Information d'Etoiles Be",+"BIHCD Bureau Internationale Heure, Paris, Circulaire",+"BiLuf Bildmessung und Luftbildwessen",+"BIMAF Boletin del Instituto de Matematica Astronomica y Fisica Universidad Nacional de Cordoba Argentina",+"BIMIA Bulletin of the Institute of Mathematics and Its Applications",+"BioFa Biofabrication",+"BioMa Biomedical Materials",+"Bion. Bionika",+"Biopk Biophysik",+"BioSc BioScience",+"BIRM. Brussels Institute Royal Meteorologique de Belgique",+"BITA. Byulleten' Instituta Teoreticheskoj Astronomii (Leningrad)",+"BITad Biulletini of the Astronomical Institute Akademiia Nauk Tadzhikskoi",+"BIT.. Behaviour & Information Technology",+"BITon Boletin del Instituto de Tonantzintla",+"BJAP. British Journal of Applied Physics",+"BJHS. The British Journal for the History of Science",+"BKAD. Beobachtungen der Kaiserlichen Universitaets-Sternwarte Dorpat",+"BKoAS Bulletin of Korean Astronomical Society",+"BKobO Bulletin of the Kobe Marine Observatory Kobe Japan",+"BKUJ. Beobachtungen der Kaiserlichen Universitaets-Sternwarte Jurjew",+"BLabR AT&amp",+"BlazD BLAZAR Data",+"BlDok Bolgarska Akademiia Nauk Doklady",+"BlgAJ Bulgarian Astronomical Journal",+"BlGeo Bulgarska Akademiia Naukite Geofizichni Institut Izvestiia",+"BlGJ. Bulgarian Geophysical Journal",+"BlGSp Bulgarsko Geofizichno Spisanie",+"BlJMH Bulgarian Journal of Meteorology and Hydrology",+"BlJPh Bulgarian Journal of Physics",+"BlJPS Bulgarian Journal of Physics Supplement",+"BlMat Bulgarska Akademiia Naukite Matematicheski Institut Izvestiia",+"BLPI. Bulletin of the Lebedev Physics Institute",+"BlSpi Bulgarska Akademiia Naukite Spisanie",+"BlTek Bulgarska Akademiia Naukite Institut Tekhnicheska Kibernetika Izvestiia",+"BlTse Bulgarska Akademiia Naukite Tsentralna Laboratoriia Geodeziia Izvestiia",+"BMai. Bulletin de la Station Astrophotographique de Mainterne",+"BMFRS Biographical Memoirs of Fellows of the Royal Society",+"BMNAS Biographical Memoirs National Academy of Sciences",+"BMOE. Boletin mensual del Observatorio del Ebro",+"BMP.. Biological and Medical Physics",+"BOBeo Bulletin de l'Observatoire Astronomique de Belgrade",+"BoLMe Boundary-Layer Meteorology",+"BOOde Odesskij Gosudarstvennyi Universitet im. I. I. Mechnikova Byulletin Astronomicheskoj Observatorii",+"BOPul Bulletin (Izvestiya) de l'Observatoire Central a Poulkovo",+"BoSAI Bollettino della Societa Astronomica Italiana",+"BOTor Biuletyn Obserwatoium Astronomicznego Uniwersytetu M. Kopernika w Toruniu",+"BOTT. Boletin de los Observatorios Tonantzintla y Tacubaya",+"BPAS. Bulletin of Pure and Applied Science (Physics)",+"BpBeS Biophysics and Bioengineering Series",+"BpJ.. Biophysical Journal",+"BpRL. Biophysical Reviews and Letters",+"BRASP Bulletin of the Russian Academy of Sciences, Physics",+"BrJPh Brazilian Journal of Physics",+"BRMIC Behavior Research Methods Instruments and Computers",+"BROA. Boletin Real Instituto y Observatorio de la Armada (San Fernando, Cadiz)",+"BROGS Belgian Royal Observatory Communications Series Geophysics Series",+"BrWK. Brennstoff Waerme Kraft",+"BSAE. Bulletin of the Soviet Antarctic Expedition",+"BSAF. Bulletin de la Societe Astronomique de France",+"BSAFR Bulletin de la Societe Astronomique de France et Revue Mensuelle d'Astronomie, de Meteorologie et de Physique du Globe",+"BSAL. Bulletin de la Societe Astronomique de Liege",+"BSAO. Bulletin of the Special Astrophysics Observatory",+"BSASP Bulletin de la Societe des Amis des Sciences et des Lettres de Poznan",+"BSAst Bulletin of the Section of Astronomy",+"BSBA. Bulletin de la Societe Belge d'Astronomie",+"BSD.. Hamburger Sternwarte Bergedorf",+"BSEEA Iasi Institutul Politehnic Buletinul Sectia Electrotehnica Electronica Automatizari",+"BSMMT Iasi Institutul Politehnic Buletinul Sectia Matematica Mecanica Teoretica Fizica",+"BSMT. Iasi Institutul Politehnic Buletinul Sectia Mecanica Tehnica",+"BSolD Byulletin Solnechnye Dannye Akademie Nauk SSSR",+"BSRSL Bulletin de la Societe Royale des Sciences de Liege",+"BSSR. AN BSSR Institut Teplo i Massoobmena Vsesoiuznaia Konferentsiia Teplomassoobmenu Minsk Belorussian SSR Preprint",+"BStaO Byulleten' Stalinabadskoj Astronomicheskoj Observatorii Akademiya Nauk Tadzhikskoj SSR",+"BSTJ. Bell System Technical Journal",+"BTasO Bulletin of the Tashkent Observatory",+"BTE.. British Telecommunications Engineering",+"BToIT Bulletin of the Tokyo Institute of Technology",+"BTok. Bulletin of the Tokyo Astronomical Observatory",+"BTSNU Bulletin of Taras Shevchenko National University of Kyiv Astronomy",+"BTUM. Braunschweig Technische Universitaet Mitteilungen",+"BUAAJ Beijing University Aeronautics and Astronautics Journal",+"BuAkK Budapest Akademiai Kiado",+"BuAsI Bulletin Astronomique, Serie I",+"BuAsR Bulletin Astronomique, Revue Generale des Travaux Astronomiques",+"BuAst Bulletin Astronomique",+"BuAtS Bulletin of the Atomic Scientists",+"BUBes Bulletin of the University of Besancon Observatory",+"BuChr Bulletin Chronometrique (Besancon)",+"BuENS Osaka Prefecture University Bulletin Series Engineering Natural Sciences",+"BUEOP Bulletin of Ukrainian Earth Orientation Parameters Laboratory",+"BuGeo Bulletin of Geosciences",+"BuIPS Bulletin of the Israel Physical Society",+"BuKwa Bulletin of the Kwasan Observatory, Kyoto",+"BuLMS Bulletin of the London Mathematical Society",+"BuLPI Bulletin of the Lebedev Physics Institute",+"BuLyo Bulletin de l'Observatoire de Lyon",+"BuMat Bulletin Mathematique",+"BuONC Bulletin of the Special Astrophysical Observatory, Northern Caucasus",+"BuSSA The Bulletin of the Seismological Society of America",+"BVol. Bulletin of Volcanology",+"BVVSA Bratislava Veda Vydavatelstvo Slovenskej Akademie Vied",+"BYam. Bulletin of the Yamagata University Yamagata Japan",+"ByuRe Byurakan Astrophysical Observatory Armenia USSR Reprints",+"CaASJ Canadian Aeronautics and Space Journal",+"CAD.. Computer-Aided Design",+"CAGHS Correspondance Astronomique, Geographique, Hydrographique et statistique",+"CahPh Cahiers de Physique",+"CaJCh Canadian Journal of Chemistry",+"CaJES Canadian Journal of Earth Sciences",+"CaJPh Canadian Journal of Physics",+"CaJPS Canadian Journal of Physics Supplement",+"CaJRS Canadian Journal of Remote Sensing",+"CANM. Communications in Applied Numerical Methods",+"CAP.. Current Applied Physics",+"CAPJ. Communicating Astronomy with the Public Journal",+"CaRes Cancer Research",+"CarOB Carter Observatory Wellington New Zealand Astronomical Bulletins",+"CAS.. Cambridge Astrophysics Series",+"CASI. CASI Transactions",+"CASJ. Canadian Aeronautics and Space Journal",+"CASJQ Canadian Aeronautics and Space Journal Quarter",+"CBET. Central Bureau Electronic Telegrams",+"CBOAA Comet Bulletin of the Oriental Astronomical Association",+"CCCUK Comet Circular of the Chevchenkov University Kiev",+"CCDA. CCD Astronomy",+"CCM.. Clays and Clay Minerals",+"CCoPh Communications in Computational Physics",+"CCpFS Ceskoslovensky Casopis pro Fyziku Sekce",+"CEAB. Central European Astrophysical Bulletin",+"CEAS. CEAS Space Journal",+"C&E.. Ciel et Espace",+"CEE.. Computers and Electrical Engineering",+"CEEJ. Canadian Electrical Engineering Journal",+"CEEng Civil And Environmental Engineering Reports",+"CEER. Civil And Environmental Engineering Reports",+"CEGB. CEGB Research",+"CEJ.. Chemistry A European Journal",+"CEJE. Central European Journal of Engineering",+"CEJG. Central European Journal of Geosciences",+"CEJGl Central European Journal of Geology",+"CEJPh Central European Journal of Physics",+"CeMDA Celestial Mechanics and Dynamical Astronomy",+"CeMec Celestial Mechanics",+"Cent. Centaurus",+"CEnTp Engineering Thermophysics China",+"CEST. Communications Gillies Inc Electronic Systems in Transportation",+"CESW. Combustion, Explosion and Shock Waves",+"CF... Computers and Fluids",+"CG... Computers and Geosciences",+"CGDAM Conformal Geometry and Dynamics of the American Mathematical Society",+"CGIP. Computer Graphics Image Processing",+"ChA&A Chinese Astronomy and Astrophysics",+"ChA.. Chinese Astronomy",+"Chall Challenges",+"Chaos Chaos",+"ChCom Chemical Communications",+"ChEG. Chemie der Erde / Geochemistry",+"ChEnC Chemical Engineering Communications",+"ChEnN Chemical Engineering News",+"ChEnS Chemical Engineering Science",+"ChGCS Chemosphere - Global Change Science",+"ChGeo Chemical Geology",+"ChIEJ Chinese Institute of Engineers Journal",+"ChJAA Chinese Journal of Astronomy and Astrophysics",+"ChJA. Chinese Journal of Aeronautics",+"ChJAS Chinese Journal of Astronomy and Astrophysics Supplement",+"ChJCP Chinese Journal of Chemical Physics",+"ChJG. Chinese Journal of Geophysics",+"ChJIR Chinese Journal of Infrared Research",+"ChJLB Chinese Journal of Lasers B",+"ChJL. Chinese Journal of Lasers",+"ChJME Chinese Journal of Mechanical Engineering",+"ChJNP Chinese Journal of Nuclear Physics",+"ChJOL Chinese Journal of Oceanology and Limnology",+"ChJPh Chinese Journal of Physics",+"ChJS. Chinese Journal of Semiconductors",+"ChJSS Chinese Journal of Space Science",+"Chmsp Chemosphere",+"ChNew Chandra News",+"CHOCS CHOCS",+"ChOE. China Ocean Engineering",+"ChOpL Chinese Optics Letters",+"ChPAS Republic of China National Science Council Proceedings Applied Sciences",+"ChPhB Chinese Physics B",+"ChPhC Chinese Physics C",+"ChPhL Chinese Physics Letters",+"ChPhy Chinese Physics",+"ChRST China Rept Sci Technol JPRS CST",+"ChRv. Chemical Reviews",+"ChSAJ Chinese Society of Astronautics Journal",+"ChSBu Chinese Science Bulletin",+"ChSMJ Chinese Society of Mechanical Engineers Journal",+"Chsph Chemosphere",+"ChSST Chinese Space Science Technology",+"CiARI Circular of the Astronomisches Recheninstitut",+"CiBAA Circular of the British Astronomical Association",+"CIBu. COSPAR Information Bulletin",+"CIDA. CIDA",+"Ciel. Le Ciel",+"CiInf Circ. Inf.",+"CiPoJ Circumpolar Journal",+"CIPSG Canadian Information Processing Society Graphics Interface",+"CiSSV Circolare Interna della Sezione Stelle Variabili dell'Unione Astrofili Italiani",+"CITM. Chubu Institute Technology Memoirs",+"CiUO. Circular of the Union Observatory Johannesburg",+"CJChE Canadian Journal of Chemical Engineering",+"CJECE Canadian Journal of Electrical Computer Engineering",+"CJLTP Chinese Journal of Low Temperature Physics",+"CJRes Canadian Journal of Research",+"CJSMT Canadian Journal of Science Mathematics and Technology Education",+"CKH.. Chagyo Kenkyu Hokoku (Tea Research Journal)",+"ClCh. Climatic Change",+"ClDy. Climate Dynamics",+"CLic2 Contributions of Lick Observatory, Series II",+"CliPa Climate of the Past",+"CliPD Climate of the Past Discussions",+"ClMin Clay Minerals",+"ClRes Climate Research",+"CLS.. Curved and Layered Structures",+"CMAME Computer Methods in Applied Mechanics and Engineering",+"CMaPh Communications in Mathematical Physics",+"CMDRG Chislennye Metody Dinamike Razrezhennykh Gazov",+"CMMPh Computational Mathematics and Mathematical Physics",+"CmpEn Composites Engineering",+"CmPhy Communications Physics",+"CMPhy Condensed Matter Physics",+"Cmplx Complexity",+"CmpMa Composites Manufacturing",+"CMPNC Cambridge Monographs on Particle Physics, Nuclear Physics and Cosmology",+"CMPPh Cambridge Monographs on Plasma Physics",+"CmpSt Composite Structures",+"CMT.. Continuum Mechanics and Thermodynamics",+"CMwA. Computers and Mathematics with Applications",+"CMWCI Contributions from the Mount Wilson Observatory / Carnegie Institution of Washington",+"CNan. Current Nanoscience",+"CNME. Communications in Numerical Methods in Engineering",+"CNRAe CNR Aeritalia S",+"CNSMP Comet News Service, McDonnell Planetarium",+"CNSNS Communications in Nonlinear Science and Numerical Simulations",+"CoAMP Comments on Atomic and Molecular Physics",+"CoAnk Communications of the Department of Astronomy of Ankara University",+"CoAsi Contributi dell'Osservatorio Astrofisica dell'Universita di Padova in Asiago",+"CoASP Comments on Astrophysics and Space Physics",+"CoAst Communications in Asteroseismology",+"CoBAO Communications of the Byurakan Astrophysical Observatory",+"CoBos Contributions from the Bosscha Observervatory",+"CoBrn Contributions of the Public Observatory and Planetarium in Brno",+"CoCam Contributions from the Cambridge Observatory England",+"CoCMP Comments on Condensed Matter Physics",+"CoCoi Comunicacoes do Observatonio Astronomico da Universidade de Coimbra",+"CoCom Control and Computers",+"CODAB CODATA Bulletin",+"CoDAO Contributions from the Dominion Astrophysical Observatory in Victoria",+"CoDDO Communications from the David Dunlap Observatory",+"CoDun Contributions from the Dunsink Observatory Dublin Ireland",+"Coel. Coelum Periodico Bimestrale per la Divulgazione dell'Astronomia",+"CoFl. Combustion and Flame",+"CoFra Consiglio Nazionale delle Ricerche Italia. Laboratorio di Astrofisica Frascati Roma Contributi",+"CoGG. Contributions to Geophysics and Geodesy",+"CogPh Cogent Physics",+"CoIAP Contributions de l'Institut d'Astrophysique de Paris Serie A",+"CoKit Contributions from the Kitt Peak National Observatory",+"CoKon Commmunications of the Konkoly Observatory Hungary",+"CoKwa Contributions from the Kwasan and Hida Observatories University of Kyoto",+"CoKyo Contributions from the Institute of Astrophysics and Kwasan Observatory Kyoto",+"CoLic Contributions of Lick Observatory",+"CoLon Communications of the University of London Observatory",+"CoLou Contributions of the Louisiana State University Observatory Baton Rouge Louisiana",+"CoLPL Communications of the Lunar and Planetary Laboratory",+"ColSu Colloids and Surfaces",+"ComAC Computational Astrophysics and Cosmology",+"ComAp Comments on Astrophysics",+"CoMar Circulaires de l'Observatoire de Marseille",+"CoMat Communications Materials",+"ComBr Communication Broadcasting",+"CoMcD Contributions from the McDonald Observatory University of Texas Fort Davis",+"CoMil Contributions dell'Osservatorio Astrononia di Milano-Merate",+"ComMP Comments in Modern Physics",+"ComMS Computational Materials Science",+"Commu Communications",+"CoMP. Contributions to Mineralogy and Petrology",+"ComPh Computers in Physics",+"CompJ The Computer Journal",+"CompM Computational Mechanics",+"Compo Composites",+"Compr Computer",+"Compu Computing",+"CoMRA Concepts in Magnetic Resonances A",+"CoMRB Concepts in Magnetic Resonances B",+"ComSE Computing Systems in Engineering",+"ComSo Communications Society",+"ComSp Commercial Space",+"ComST Composites Science Technology",+"COMTR COMSAT Technical Review",+"ConAP Contributions to Atmospheric Physics/Beitraege zur Physik der Atmosphaere",+"ConCP Contemporary Concepts in Physics",+"CoNet Journal of Communications and Networks",+"CONMS Contributions of the Observatory of New Mexico State University, Las Cruces Special Series",+"ConPh Contemporary Physics",+"CoNPP Comments on Nuclear and Particle Physics",+"ConSc Connection Science",+"CoOpt Computer Optics",+"CoORB Communications de l'Observatoire Royal de Belgique",+"COP.. Coherent Optical Phenomena",+"CoPer Contributions of Perkins Observatory",+"CoPhC Computer Physics Communications",+"CoPhR Computer Physics Reports",+"CoPPC Comments on Plasma Physics and Controlled Fusion",+"CoPP. Contributions to Plasma Physics",+"CoPri Contributions from the Princeton University Observatory",+"CoROE Communications from the Royal Observatory Edinburgh",+"CorRe Coral Reefs",+"CoRSE Royal Society Edinburgh Communications Physical Sciences",+"CoRut Contributions from the Rutherford Observatory of Columbia University New York",+"CosEl Cosmic Electrodynamics",+"CoSka Contributions of the Astronomical Observatory Skalnate Pleso",+"CoSkL Contributions of the Astronomical Observatory Skalnate Pleso Letters",+"CoSkS Contributions of the Astronomical Observatory Skalnate Pleso Supplement",+"Cosmo COSMOS",+"CosRe Cosmic Research",+"CosSe Cosmic Search",+"COSSM Current Opinion in Solid State and Materials Science",+"CoStA Communications from the University Observatory St Andrews Scotland",+"CoStr Computers and Structures",+"CoThe Contributions from the Astronomical Department of the University of Thessaloniki",+"CoTok Contributions from the Department of Astronomy University of Tokyo",+"CoTol Contributions from the Cerro Tololo Inter-American Observatory",+"CoTPh Communications in Theoretical Physics",+"CoVVO Contributions of the Van Vleck Observatory",+"CoWas Contributions from the Washburn Observatory of the University of Wisconsin",+"CoWat Contributions of the University of Waterloo Observatory",+"CPAM. Communications in Pure Applied Mathematics",+"CP... Chemical Physics",+"CPh.. Coherent Phenomena",+"CPhD. Cape Photographic Durchmusterung",+"CPL.. Chemical Physics Letters",+"CPMCM Commentationes Physico-Mathematicae et Chemico-Medicae",+"CPM.. Computational Particle Mechanics",+"CPPM. Clinical Physics and Physiological Measurement",+"CPR.. Chemical Physics Reports",+"CPSS. Chemical Physics of Solid Surfaces",+"CQGra Classical and Quantum Gravity",+"CR2.. Academie des Sciences Comptes Rendus Serie Mecanique Physique Chimie Sciences de la Terre et de l Univers",+"CRABS Comptes Rendus de l'Academie Bulgare des Sciences",+"CRASA Academie des Sciences Paris Comptes Rendus Vie Academique Semester Supplement",+"CRAS. Academie des Sciences Paris Comptes Rendus",+"CRASB Academie des Sciences Paris Comptes Rendus Serie B Sciences Physiques",+"CRASE Comptes Rendus de l'Acad&eacute",+"CRASG Academie des Sciences Paris Comptes Rendus Serie Generale La Vie des Sciences",+"CRASM Academie des Sciences Paris Comptes Rendus Serie Sciences Mathematiques",+"CRASP Academie des Sciences Paris Comptes Rendus Serie Physique Astrophysique",+"CRB.. C.R. Acad. Sci. Ser. B1",+"CR... Comptes Rendus Academie des Sciences (serie non specifiee)",+"CRGeo Comptes Rendus Geoscience",+"CRJS. Comptes Rendus sur les Journees de Strasbourg",+"CRLJ. Communications Research Laboratory Journal",+"CRLRv Communications Research Laboratory Review",+"CRMat Comptes Rendus Mathematique",+"CRMec Comptes Rendus Mecanique",+"CRPhy Comptes Rendus Physique",+"CRSPH Compte Rendu des Seances de la Societe de Physique et d'Histoire Naturelle de Geneve",+"CRSSM Critical Reviews in Solid State & Materials Sciences",+"Cryo. Cryogenics",+"CryRp Crystallography Reports",+"CSASG Contributions of the Slovak Academy Sciences Geophysical Institute",+"CSci. Current Science",+"CS&D. Computational Science and Discovery",+"CSE.. Computing in Science and Engineering",+"CSEd. Computer Science Education",+"CSF.. Chaos Solitons and Fractals",+"CSFX. Chaos Solitons and Fractals: X",+"CSMA. Computational Structural Mechanics and Applications",+"CSMPA Ankara University Faculty of Science Communications, Series A2-Ad Physical Sciences and Engineering",+"CSPSE Ankara Universite Faculte des Sciences Communications Serie Mathematiques Physique et Astronomie",+"CSR.. Continental Shelf Research",+"CSSE. Cultural Studies of Science Education",+"CSSP. Circuits Systems and Signal Processing",+"CST.. Combustion Science and Technology",+"C&T.. Ciel et Terre",+"CTE.. Ciencias de la Tierra y del Espacio",+"CTGeo Contemporary Trends in Geoscience",+"CTM.. Combustion Theory and Modelling",+"CTMPC Cambridge Topics in Mineral Physics and Chemistry",+"CTmp. Connaissance des Temps",+"CuCo. Culture and Cosmos",+"CVGIP Computer Vision Graphics and Image Processing",+"CzJPh Czechoslovak Journal of Physics",+"CzJPS Czechoslovak Journal of Physics Supplement",+"CzMJ. Czechoslovak Mathematical Journal",+"DatSJ Data Science Journal",+"Defek Defektoskopiia",+"DefEl Defense Electronics",+"DeHyZ Deutsche Hydrographische Zeitschrift",+"DeScE Defense Science Electronics",+"DFVLR DFVLR",+"DGKBA Deutsche Geodaetische Kommission Bayer. Akad. Wiss.",+"DGKBB Deutsche Geodaetische Kommission Bayer. Akad. Wiss. B",+"DGKGN Deutsche Geodaetische Kommission Gravity Network West Germany DSGN Data Adjustment",+"Dimen Dimensions",+"DImTe Display Imaging Technology",+"DIO.. DIO",+"DiRaG Dinamika razrezhennykh gazov",+"DISA. DISA Information",+"Disc. Discover",+"DISER Disciplinary and Interdisciplinary Science Education Research",+"DiSis Dinamicheskie Sistemy",+"Displ Displays",+"DLGRM DLGR Magnetofluiddyn",+"Dlib. D-Lib Magazine",+"DLRNa DLR Nachrichten",+"DMJ.. Defense Management Journal",+"DnU.. Differentsialnye Uravneniia",+"DoANT Doklady Akademiia Nauk TadzhSSR",+"DoArm Akademiia Nauk Armianskoi SSR Doklady",+"DoAze Akademiia Nauk Azerbaidzhanskoi SSR Doklady",+"DoBan Doklady Bolgarskoi Akademiia Nauk",+"DoBel Akademiia Nauk BSSR Doklady",+"DOIAP Documentation des Observateurs Institut d'Astrophysique de Paris",+"DokAN Doklady Akad Nauk Minerologia USSR",+"DokES Doklady Earth Sciences",+"DokPh Physics - Doklady",+"DorPo Dornier Post",+"DoSSR Akademiia Nauk SSSR Doklady",+"DoTad Akademiia Nauk Tadzhikskoi SSR Doklady",+"DoUkr Akademiia Nauk Ukrains koi RSR Dopovidi Seriia Fiziko Matematichni ta Tekhnichni Nauki",+"DoUzb Akademiia Nauk Uzbekskoi SSR Doklady",+"DPhyG Deutsche Physikalische Gesellschaft",+"DPM.. Dinamika i Prochnost Mashin",+"DRM.. Diamond and Related Materials",+"DSCS. Dynamics and Statistics of the Climate System",+"DSE.. Distributed Systems Engineering",+"DSJ.. Defense Science Journal",+"DSNPR Deep Space Network Progress Report",+"DSO.. Double Star Observer",+"DSP.. Digital Signal Processing",+"DSRA. Deep Sea Research A",+"DSRB. Deep Sea Research B",+"DSR.. Deep Sea Research",+"DSRI. Deep Sea Research Part I: Oceanographic Research",+"DSRII Deep Sea Research Part II: Topical Studies in Oceanography",+"DSRMC Defense Systems Review Military Communications",+"DSROA Deep Sea Research and Oceanographic Abstracts",+"DSSC. Double Star Section Circulars",+"DSSN. Delta Scuti Star Newsletter",+"DudOR Dudley Observatory Reports",+"DunOP Dunsink Observatory Publications",+"DunRe Dunsink Observatory Reprints",+"DWES. Drinking Water Engineering and Science",+"DyAtO Dynamics of Atmospheres and Oceans",+"DynCo Dynamics and Control",+"EaEvS Earth and Evolution Sciences",+"EaFut Earth's Future",+"EaInt Earth Interactions",+"EartD eEarth Discussions",+"Earth eEarth",+"EaSci Earthquake Science",+"EBBT. Emerging Biochemical and Biophysical Techniques",+"EBCi. Eclipsing Binaries Circulars",+"E&C.. Electronics and Communications",+"EcGH. Eclogae geologae Helvetii",+"EcGou Ecole de Goutelas",+"ECLRv Electrical Communication Laboratories Review",+"ECM.. Energy Conversion Management",+"ECMS. Estuarine and Coastal Marine Science",+"ECSS. Estuarine Coastal and Shelf Science",+"E&E.. Elektromashinostroenie i Elektrooborudovanie",+"EEEV. Earthquake Engineering and Engineering Vibration",+"EERSA East Europe Rept Sci Affairs JPRS",+"EERST East European Rept Sci. Technol. JPRS ESA",+"EES.. Environmental Earth Sciences",+"EET.. Electrochemical Energy Technology",+"EExSc Earth and Extraterrestrial Sciences",+"EFM.. Environmental Fluid Mechanics",+"EGSGA E&amp",+"EIUEN ESA IUE Newsletter",+"EJASP EURASIP Journal on Applied Signal Processing",+"EJCM. European Journal of Computational Mechanics",+"EJEE. European Journal of Engineering Education",+"EJMF. European Journal of Mechanics B Fluids",+"EJMin European Journal of Mineralogy",+"EJMS. European Journal of Mechanics Solids",+"EJPh. European Journal of Physics",+"EJSE. European Journal of Science Education",+"EJSM. e-Journal of Soft Materials",+"EJSta Electronic Journal of Statistics",+"EJTP. Electronic Journal of Theoretical Physics",+"Elast Elastic",+"ElBah Elektrische Bahnen",+"Elecm Electromagnetics",+"Elek. Elektronika",+"Eleme Elements",+"Elem. Elektromekhanika",+"EL... EPL (Europhysics Letters)",+"EleSt Electronic Structure",+"ElLC. Electrotechnical Laboratory Circulars",+"ElL.. Electronics Letters",+"ElMod Elektronnoe Modelirovanie",+"ElP.. Electronics Power",+"ElPro Electronic Progress",+"ElTA. Elektronnaia Tekhnika Avtomatike",+"ElUn. El Universo",+"ElW.. Electrowaerme International",+"EMCT. EMC Technology",+"E&M.. Elektrotechnik und Maschinenbau",+"eMetN eMeteorNews",+"EML.. Electronic Materials Letters",+"EM&P. Earth Moon and Planets",+"EnAt. Energia es Atomtechnika",+"EnC.. Energy Conversion",+"Endvr Endeavour",+"EnEng Environmental Engineering",+"Energ Energetika",+"ENews Europhysics News",+"EnFM. Engineering Fracture Mechanics",+"EngAn Engineering Analysis",+"EngCo Engineering Computations",+"EnGeo Environmental Geology",+"EnMan Environmental Management",+"EnOp. Engineering Optimization",+"EnSci Engineering and Science",+"EnST. Environmental Science and Technology",+"EntIS Enterprise Information Systems",+"EnTR. Energy Technology Review",+"Entro Entropie",+"Entrp Entropy",+"EnUK. Energy",+"EOAST Earth-Oriented Applications and Space Technology",+"EObsC Einstein Observatory Catalog of IPC X-ray Sources",+"EOSD. Electro Optical Systems Design",+"EOSTr EOS Transactions",+"EPJA. European Physical Journal A",+"EPJAM EPJ Applied Metamaterials",+"EPJAP European Physical Journal Applied Physics",+"EPJAS European Physical Journal A Supplement",+"EPJB. European Physical Journal B",+"EPJC. European Physical Journal C",+"EPJCS European Physical Journal C Supplement",+"EPJD. European Physical Journal D",+"EPJE. European Physical Journal E",+"EPJH. European Physical Journal H",+"EPJNS EPJ Nuclear Sciences &amp",+"EPJP. European Physical Journal Plus",+"EPJPv EPJ Photovoltaics",+"EPJQT EPJ Quantum Technology",+"EPJST European Physical Journal Special Topics",+"E&PP. Earth and Planetary Physics",+"EPRIJ EPRI Journal",+"EPSC. European Planetary Science Congress",+"EP&S. Earth, Planets, and Space",+"E&PSL Earth and Planetary Science Letters",+"eRad. eRadiant, Journal of the Dutch Meteor Society",+"ERCom Environmental Research Communications",+"ER... Environmental Research",+"ERExp Engineering Research Express",+"ERL.. Environmental Research Letters",+"ErNW. Ergebnisse der exakten Naturwissenschaften",+"ERST. Europe Report Science Technology",+"ESABu ESA Bulletin",+"ESAHR ESA History Study Reports",+"ESAJ. ESA Journal",+"ESASM ESA Scientific & Technical Memoranda",+"ESAST ESA Scientific Technical Review",+"ESATM ESA Training Manual",+"ESC.. ACS Earth and Space Chemistry",+"ESDD. Earth System Dynamics Discussion",+"ESD.. Earth System Dynamics",+"E&S.. Earth in Space",+"ESE.. Earth Systems and Environment",+"ESF.. Earth Science Frontiers",+"ESIL. Eruptive Stars Information Letter",+"ESN.. European Science Notes",+"ESOB. European Southern Observatory ESO Bulletin",+"ESOSP European Southern Observatory Scientific Preprints",+"ESOSR European Southern Observatory Scientific Report",+"ESPL. Earth Surface Processes and Landforms",+"ESRv. Earth Science Reviews",+"ESSDD Earth System Science Data Discussions",+"ESSD. Earth System Science Data",+"E&SS. Earth and Space Science",+"ESSFR IEICE ESS Fundamentals Review",+"EssPh Essays in Physics",+"ESuDD Earth Surface Dynamics Discussions",+"ESuD. Earth Surface Dynamics",+"ETATF Eesti NSV Teaduste Akadeemia Toimetised Fuusika Matemaatika",+"ETRE. Elektrosviaz Telecommunications Radio Engineering Telecommunications",+"ETTRT European Transactions Telecommunications Related Technologies",+"ETWQ. Environmental Toxicology and Water Quality",+"EUCAS EUCASS Proceedings Series",+"EURPE EUREKA: Physics and Engineering",+"EurSS Eurasian Soil Science",+"EuRv. European Review",+"EVest Elektrotehniski Vestnik",+"ExA.. Experimental Astronomy",+"ExFl. Experiments in Fluids",+"ExG.. Exploration Geophysics",+"ExHT. Experimental Heat Transfer",+"ExM.. Experimental Mechanics",+"EXOSA EXOSAT Express",+"ExT.. Experimental Techniques",+"ExTFS Experimental Thermal Fluid Science",+"Extr. Extraction",+"FACM. Functiones et Approximatio Commentarii Mathematici",+"FaDi. Faraday Discussions",+"FaTr. Faraday Transactions",+"FBS.. Few-Body Systems",+"FCPh. Fundamentals of Cosmic Physics",+"F&CRe Flower and Cook Observatory Reprints",+"FCS.. Functional Composites and Structures",+"FFEMS Fatigue and Fracture of Engineering Materials and Structures",+"F&IER Forschung im Ingenieurwesen Engineering Research",+"F&I.. Forschung im Ingenieurwesen",+"FiIO. Fiber and Integrated Optics",+"FiMek Fizicheskaia Mekhanika",+"FiMos Akademiia Nauk SSSR Otdelenie Obshchei Fiziki i Astronomii Nauchnaia Sessiia Moscow USSR Uspekhi Fizicheskikh Nauk",+"FiSSR Akademiia Nauk Tadzhikskoi SSR Fiziko Tekhnicheskii Institut Dyushambe Tadzhik SSR Akademiia Nauk Tadzhikskoi SSR Doklady",+"FiUkr Akademiia Nauk Ukrain skoi RSR Dopovidi Seriia Fiziko Matematichni ta Tekhnichni Nauki",+"FizA. Fizika A",+"FizAO Akademiia Nauk SSSR Fizika Atmosfery i Okeana",+"FizAS Fizika Aerodispersnykh Sistem",+"FizB. Fizika B",+"FizCh Fizyki i Chemii Seria Fizyka",+"FizEl Fizicheskaia Elektronika",+"Fiz.. Fizika",+"FizGV Fizika Goreniia i Vzryva",+"FizKM Fiziko Khimicheskaia Mekhanika Materialov",+"FizKO Fizika i Khimiia Obrabotki Materialov",+"FizMM Fizika Metallov i Metallovedenie",+"FizMS Fizika Mnogochastichnykh Sistem",+"FizNT Fizika Nizkikh Temperatur",+"FizPl Fizika Plazmy",+"FizSz Fizika Sz.",+"FizTT Fizika Tverdogo Tela",+"FizTV Fizika i Tekhnika Vysokikh Davlenii",+"FizZS Fizika Zhidkogo Sostoianiia",+"FlDy. Fluid Dynamics",+"FlDyR Fluid Dynamics Research",+"FlDyT Fluid Dynamics Transactions",+"FlMSR Fluid Mechanics Soviet Research",+"Fluid Fluidika",+"FluQ. Fluids Quarterly",+"FMEC. Frontiers of Mechanical Engineering in China",+"F&M.. Feinwerktechnik und Messtechnik",+"FML.. Functional Materials Letters",+"FNCN. Fullerene Nanotubes and Carbon Nanostructures",+"FNL.. Fluctuation and Noise Letters",+"FoGeo Fotointerpretacja w Geografii",+"FoPh. Foundations of Physics",+"FoPhL Foundations of Physics Letters",+"ForPh Fortschritte der Physik",+"ForPW Fortschritte der Physikalischen Wissenschaften",+"Fract Fractals",+"FrASS Frontiers in Astronomy and Space Sciences",+"FrCh. Frontiers in Chemistry",+"FrEaS Frontiers in Earth Science",+"Freq. Frequenz",+"FrES. Frontiers of Earth Science",+"FRFI. Flug Revue Flugwelt International",+"FrInJ Journal of The Franklin Institute",+"FrMat Frontiers in Materials",+"FrME. Frontiers of Mechanical Engineering",+"FrMS. Frontiers of Materials Science",+"FrP.. Frontiers in Physics",+"FrPhC Frontiers of Physics in China",+"FrPhy Frontiers of Physics",+"FST.. Fullerene Science and Technology",+"FSTJ. Fujitsu Scientific Technical Journal",+"FTC.. Flow, Turbulence and Combustion",+"FTP.. Fundamental Theories of Physics",+"Fut.. Futures",+"Futur Future Spring",+"Gaea. Gaea - Journal of Geoscience",+"GAe.. Geomagnetizm i Aeronomiia",+"Galax Galaxies",+"GalEl Galilean Electrodynamics",+"galx.pGALEX Proposal",+"GAM.. Geophysics and Astrophysics Monographs",+"GaMuM Gesellschaft Angewandte Mathematik und Mechanik Workshop Paris France",+"GApFD Geophysical and Astrophysical Fluid Dynamics",+"GAst. Giornale di Astronomia",+"GATAN Gesellschaft Aerosolforschung Tagung ueber Aerosole Naturwissenschaft Medizin und Technik Messtechnik und technische Anwendung",+"GazA. Gazette Astronomique",+"GazAM Gazette Astronomique Memoires",+"GazT. Gazodinamika i Teploobmen",+"GBioC Global Biogeochemical Cycles",+"GBzG. Gerlands Beitraege zur Geophysik",+"GCarp Geologica Carpathica",+"GCBio Global Change Biology",+"GCN1. GRB Coordinates Network",+"GCN2. GRB Coordinates Network",+"GCNew Galactic Center Newsletter",+"GCN.. GRB Coordinates Network",+"GCNR. GCN Report",+"GCRV. Carnegie Institute Washington D.C. Publication",+"GDS.. Geophysical Developments Series",+"Ge&Ae Geomagnetism and Aeronomy",+"GeAer Geodeziia i Aerofotos",+"GeCar Geodesy and Cartography",+"GeCAS Geochimica et Cosmochimica Acta Supplement",+"GeChr Geochronology",+"GECJR GEC Journal Research",+"GeCoA Geochimica et Cosmochimica Acta",+"GeGe. Geophysica et Geodaetica",+"GeIss Geoinformation Issues",+"GeKaA Geodeziia Kartografiia i Aerofotos",+"GeKar Geodeziia i Kartografiia",+"Gelio Geliotekhnika",+"Gemin GEMINI Newsletter Royal Greenwich Observatory",+"Gen1K Observatoire de Geneve",+"GeoAc Geodinamica Acta",+"GEOCA GEOS Circular on Small-Amplitude Variables",+"GEOCE GEOS Circular on Eclipsing Binaries",+"Geoch Geochemistry",+"GeocI Geochemistry International",+"GeocJ Geochemical Journal",+"GEOCR GEOS Circular on RR Lyr Type Variables",+"GEOCS Semi-Regular Variables",+"Geode Geofisica Internacional",+"GeofI Geofisica Internacional",+"Geo.. Geology",+"GeoGl Geodetski Glasnik",+"GeoIn Geocarto International",+"GeoIs Geomagnitnye Issledovaniia",+"GeoJ. Geophysical Journal",+"GeoJI Geophysical Journal International",+"GeoK. Geodezja i Kartografia",+"Geokh Geokhimiia",+"Geolg Geologos",+"Geolo Geologija",+"Geoma Geomatik",+"GeoM. Geological Magazine",+"Geomo Geomorphology",+"GeoNr Geophysica Norvegica",+"GeoOD Geology of Ore Deposits",+"GeoPA Geofisica Pura e Applicata",+"Geop. Geophysics",+"Geoph Geophysica",+"GeopP Geophysical Prospecting",+"GeoRL Geophysical Research Letters",+"GeoRu Geologische Rundschau",+"GeoSb Geofizicheskii Sbornik",+"Geosc Geosciences",+"GeoSJ Geological Society Journal",+"GEOSN GEOS Note Circulaire",+"Geosp Geosphere",+"GeosR Geoscience Records",+"GeoSu Geophysical Surveys",+"Geote Geotectonics",+"Geot. Geotimes",+"Geoth Geothermics",+"GeoZh Geofizicheskii Zhurnal",+"Gerb. Gerbertvs, International Academic Publication on History of Medieval Science",+"GescJ Geosciences Journal",+"GGG.. Geochemistry, Geophysics, Geosystems",+"GGMit Gauss-Gesellschaft e.V. G&ouml",+"GGMM. Greenhouse Gas Measurement & Management",+"GID.. Geoscientific Instrumentation, Methods and Data Systems Discussions",+"Gidro Gidromekhanika",+"GI... Geoscientific Instrumentation, Methods and Data Systems",+"GiGi. Gidroprivod i Gidropnevmoavtomatika",+"GIPol Geoinformatica Polonica",+"GiSan Gigiena i Sanitariia",+"GKA.. Geodeziia i Kartografiia Aehrofotosemka, L'vov",+"GMDD. Geoscientific Model Development Discussions",+"GMD.. Geoscientific Model Development",+"GML.. Geo-Marine Letters",+"GMMWJ Gesellschaft angewandte Mathematik und Mechanik Jahrestagung Goettingen West Germany Zeitschrift Flugwissenschaften",+"GMS.. Washington DC American Geophysical Union Geophysical Monograph Series",+"GMuD. Gesellschaft Mathematik und Datenverarbeitung mbH Multigrid Methods Special Topics Applications",+"GOAM. Greenwich Observations in Astronomy, Magnetism and Meteorology made at the Royal Observatory, Series 3",+"GOAMM Greenwich Observations in Astronomy, Magnetism and Meteorology made at the Royal Observatory, Series 2",+"GondR Gondwana Research",+"GORO. Greenwich Observations made at the Royal Observatory",+"GPC.. Global and Planetary Change",+"GPSW. GPS World",+"GrAeH Grumman Aerospace Horizons",+"GrCo. Gravitation and Cosmology",+"GReGr General Relativity and Gravitation",+"GriO. Griffith Observer",+"gr.qc arXiv General Relativity and Quantum Cosmology e-prints",+"GrTOn Gravitatsiia i Teoriia Otnositelnosti",+"Grund Grundwasser",+"GSAB. Geological Society of America Bulletin",+"GSAMm Geological Society of America Memoir",+"GSASP Geological Society of America Special Papers",+"GSDJ. Geoscience Data Journal",+"GSEng GeoScience Engineering",+"GSL.. Geoscience Letters",+"GSLSP Geological Society of London Special Publications",+"GTES. Geothermal Energy Science",+"GTPZ. Gigiena Truda i Professionalnye Zabolevaniia",+"GUL.. Geschichte und Lichtwechsel der Veraenderlichen Sterne (Potsdam)",+"GVMK. Gibridnye Vychislitelnye Mashiny i Kompleksy",+"HAAG. Handbook of Astronomy Astrophysics and Geophysics",+"HadJ. Hadronic Journal",+"HadJS Hadronic Journal Supplement",+"HamS. Hamburger Sternwarte Sonderdrucke",+"HarAC Harvard College Observatory Announcement Card",+"HarCi Harvard College Observatory Circular",+"HarMo Harvard Observatory Monographs",+"HarOR Report of the Committee of the Overseers of Harvard College appointed to visit the Observatory",+"HarRe Harvard College Observatory Reprints",+"HARSB Histoire de l'Academie Royale des Sciences et des Belles-Lettres de Berlin",+"HarZi Harthaer Beobachtungs-Zirkular",+"HCHy. Hovering Craft and Hydrofoil",+"HDA.. Handbuch der Astrophysik",+"HDP.. Handbuch der Physik",+"HDSTS Herald of Dagestan State Technical University Technical Sciences",+"HeaPh Health Physics",+"Heavn Heavens",+"HEDP. High Energy Density Physics",+"HelOB Helwan Institute of Astronomy and Geophysics Bulletins",+"HelR. Observatory and Astrophysics Laboratory University of Helsinki Report",+"HemD. Hemel en Dampkring",+"hep.exarXiv High Energy Physics - Experiment e-prints",+"hep.laarXiv High Energy Physics - Lattice e-prints",+"HEPNP High Energy Physics and Nuclear Physics",+"hep.pharXiv High Energy Physics - Phenomenology e-prints",+"hep.tharXiv High Energy Physics - Theory e-prints",+"HESSD Hydrology and Earth System Sciences Discussions",+"HESS. Hydrology and Earth System Sciences",+"HFC.. Hydrogen and Fuel Cells",+"HGSS. History of Geo- and Space Sciences",+"HiA.. Highlights of Astronomy",+"HisSc History of Science",+"HiTec High Technology",+"HMR.. Helgoland Marine Research",+"HMT.. Heat and Mass Transfer",+"Holoc The Holocene",+"HPCRE Handbook on the Physics and Chemistry of Rare Earths",+"HPR.. High Pressure Research",+"HRL.. Hydrological Research Letters",+"HTemS High Temperature Science",+"HTHP. High Temperatures and High Pressures",+"HTJR. Heat Transfer Japanese Research",+"HTMP. High Temperature Materials and Processes",+"HTrEn Heat Transfer Engineering",+"HTSR. Heat Transfer Soviet Research",+"HUFEB Hokkaido University Faculty Engineering Bulletin",+"HUFEM Hokkaido University Faculty Engineering Memoirs",+"HvaOB Hvar Observatory Bulletin",+"HvOBS Hvar Observatory Bulletin Supplement",+"HWM.. Helgol&auml",+"HWP.. Horizons in World Physics",+"HyBio Hydrobiologia",+"HydJ. Hydrogeology Journal",+"HyInt Hyperfine Interactions",+"HyPr. Hydrological Processes",+"IA&A. Ingenieria Aeronautica y Astronautica",+"IadEn Iadernaia Energiia",+"IAESM IEEE Aerospace Electronic Systems Magazine",+"IAFET Instituto de Astronomia y Fisica del Espacio Buenos Aires",+"IAIss Istoriko-Astronomicheskie Issledovaniya",+"IAL1K Institut d'Astronomie de Lausanne",+"IAM.. International Applied Mechanics",+"IANT. International Advances in Nondestructive Testing",+"IAOIT Informo of the Astronomia-Optika Institucio, Universitato de Turku",+"IAPM. IEEE Antennas and Propagation Magazine",+"IAPPP International Amateur-Professional Photoelectric Photometry Communications",+"IASSP IEEE ASSP Magazine",+"IAUCB IAU Commission on Close Binary Stars",+"IAUC. International Astronomical Union Circular",+"IAUDS IAU Commission on Double Stars",+"IAUFM IAU Focus Meeting",+"IAUGA IAU General Assembly",+"IAUIB IAU Information Bulletin",+"IAUIn IAU Commission on Instruments",+"IAUSS IAU Special Session",+"IAUTA Transactions of the International Astronomical Union, Series A",+"IAUTB Transactions of the International Astronomical Union, Series B",+"IAWPL IEEE Antennas and Wireless Propagation Letters",+"IBCP. An International Journal at the Interface Between Chemistry and Physics",+"IBMJ. IBM Journal of Research and Development",+"IBSAE Sovetskaia Antarkticheskaia Ekspeditsiia Informatsionnyi Byulleten",+"IBSH. Informational Bulletin of the Southern Hemisphere",+"IBUAA Informational Bulletin of the Ukrainian Astronomical Association",+"IBVS. Information Bulletin on Variable Stars",+"ICAOB ICAO Bulletin",+"Icar. Icarus",+"ICGA. IEEE Computer Graphics Applications",+"ICHIN Newsletters of the Interdivisional Commission on History of the IAGA",+"ICHMT International Communications in Heat and Mass Transfer",+"ICiSM IEEE Circuits Systems Magazine",+"ICML. International Conference on Machine Learning",+"IComM IEEE Communications Magazine",+"ICQ.. International Comet Quarterly",+"ICSE. Impact of Computing in Science and Engineering",+"ICSEn IEEE Computational Science and Engineering",+"ICSM. IEEE Computer Systems Magazine",+"IDAQP Infinite Dimensional Analysis, Quantum Probability and Related Topics",+"IDTC. IEEE Design Test Computers",+"IEDL. IEEE Electron Device Letters",+"IEEEN IEEE Network",+"IEEEP IEEE Proceedings",+"IEEES IEEE Spectrum",+"IEEP. Institution of Electrical Engineers Proceedings",+"IEERv IEE Reviews",+"IEITC IEICE Transactions on Communications",+"IEITE IEICE Transactions on Electronics",+"IEITF IEICE Transactions on Fundamentals of Electronics Communications and Computer Sciences",+"IEITI IEICE Transactions on Information and Systems",+"IEREJ Institution of Electronic Radio Engineers Journal",+"IER.. Internationale Elektronische Rundschau",+"IESJ. IES Journal",+"IETE. Institution of Electronics Telecommunication Engineers",+"IET.. Instruments and Experimental Techniques",+"IEWS. Stevenage Herts England Peter Peregrinus Ltd IEE Electromagnetic Waves Series",+"IExp. IEEE Expert",+"IFBel Akademiia Nauk Belorusskoi SSR Institut Fiziki Nauchnaia Sessiia Minsk Belorussian SSR Zhurnal Prikladnoi Spektroskopii",+"IGAFS Issledovaniia Geomagnetizmu Aeronomii i Fizike Solntsa",+"IGRSL IEEE Geoscience and Remote Sensing Letters",+"IGRv. International Geology Review",+"IGS.. Orlando FL Academic Press Inc International Geophysics Series",+"IHERv Ishikawajima Harima Engineering Review",+"IHWN. IHW Newsletter",+"IIApN Indian Institute of Astrophysics Newsletter",+"IINA. Istituto Italiano di Navigazione Atti",+"IISys IEEE Intelligent Systems",+"IJAA. International Journal of Astronomy and Astrophysics",+"IJACS International Journal of Adaptive Control and Signal Processing",+"IJAdA International Journal of Adhesion Adhesives",+"IJAEM International Journal of Analytical and Experimental Modal Analysis",+"IJAEO International Journal of Applied Earth Observation and Geoinformation",+"IJA.. International Journal of Astronomy",+"IJAIS International Journal of Applied Information Systems",+"IJAME International Journal of Applied Mechanics and Engineering",+"IJAM. International Journal of Applied Mechanics",+"IJAP. IOSR Journal of Applied Physics",+"IJART International Journal of Advancements in Research &amp",+"IJAsB International Journal of Astrobiology",+"IJASE International Journal of Advanced Structural Engineering",+"IJASS International Journal of Aeronautical and Space Sciences",+"IJBB. International Journal of Bioclimatology Biometeorology",+"IJBC. International Journal of Bifurcation and Chaos",+"IJBm. International Journal of Biometeorology",+"IJCA. International Journal of Computer Applications",+"IJCAT International Journal of Computer Applications and Technology",+"IJCEM International Journal for Computational Methods in Engineering Science and Mechanics",+"IJCFD International Journal of Computational Fluid Dynamics",+"IJC.. International Journal of Control",+"IJCli International Journal of Climatology",+"IJCMB International Journal of Computer Mathematics Section B",+"IJCMS International Journal of Computational Materials Science and Engineering",+"IJDE. International Journal of Digital Earth",+"IJDM. International Journal of Damage Mechanics",+"IJEaS International Journal of Earth Sciences",+"IJEEP International Journal of Emerging Electric Power Systems",+"IJEFM International Journal of Engineering and Fluid Mechanics Spring",+"IJEG. International Journal of Engineering and Geosciences",+"IJE.. International Journal of Electronics",+"IJEnR International Journal of Environmental Research",+"IJERA International Journal of Enginnering Research and Applications",+"IJER. International Journal of Energy Research",+"IJES. International Journal of Engineering Science",+"IJESS IEEE Journal on Exploratory Solid-State Computational Devices and Circuits",+"IJEST IEEE Journal on Emerging and Selected Topics in Circuits and Systems",+"IJFa. International Journal of Fatigue",+"IJFD. International Journal of Fluid Dynamics",+"IJFE. International Journal of Fusion Energy",+"IJFr. International Journal of Fracture",+"IJGA. International Journal of Geomagnetism and Aeronomy",+"IJGeo International Journal of Geophysics",+"IJGI. ISPRS International Journal of Geo-Information",+"IJG.. International Journal of Geosciences",+"IJGMM International Journal of Geometric Methods in Modern Physics",+"IJGNP International Journal of Green Nanotechnology Physics and Chemistry",+"IJGS. International Journal of General Systems",+"IJHE. International Journal of Hydrogen Energy",+"IJHFF International Journal of Heat and Fluid Flow",+"IJHM. International Journal of Hybrid Microelectronics Fall",+"IJHMT International Journal of Heat and Mass Transfer",+"IJIDF International Journal of Image and Data Fusion",+"IJIE. International Journal of Impact Engineering",+"IJIMW International Journal of Infrared and Millimeter Waves",+"IJIST International Journal of Imaging Systems Technology",+"IJMES International Journal of Mathematical Education in Science and Technology",+"IJMF. International Journal of Multiphase Flow",+"IJMHG Indian Journal of Meteorology Hydrology and Geophysics",+"IJMIP International Journal of Mass Spectrometry and Ion Physics",+"IJMMC IEEE Journal on Multiscale and Multiphysics Computational Techniques",+"IJMMD International Journal of Mechanics and Materials in Design",+"IJMM. International Journal of Mini Microcomputers",+"IJMMM International Journal of Minerals, Metallurgy, and Materials",+"IJMoS International Journal of Modelling and Simulation",+"IJMPA International Journal of Modern Physics A",+"IJMPB International Journal of Modern Physics B",+"IJMPC International Journal of Modern Physics C",+"IJMPD International Journal of Modern Physics D",+"IJMPE International Journal of Modern Physics E",+"IJMQE International Journal of Metrology and Quality Engineering",+"IJMSE International Journal of Mars Science and Exploration",+"IJMSI International Journal of Mass Spectrometry and Ion Processes",+"IJMS. International Journal of Mechanical Sciences",+"IJMSp International Journal of Mass Spectrometry",+"IJMW. International Journal of Mine Water",+"IJNA. IMA Journal of Numerical Analysis",+"IJNAM International Journal for Numerical and Analytical Methods in Geomechanics",+"IJNAO International Journal of Naval Architecture and Ocean Engineering",+"IJN.. International Journal of Nanoscience",+"IJNLM International Journal of Non Linear Mechanics",+"IJNME International Journal for Numerical Methods in Engineering",+"IJNMF International Journal for Numerical Methods in Fluids",+"IJNS. International Journal of Neural Systems",+"IJNT. International Journal of Nanotechnology",+"IJOE. IEEE Journal of Oceanic Engineering",+"IJO.. International Journal of Optomechatronics",+"IJOpt International Journal of Optics",+"IJPAM Indian Journal of Pure and Applied Mathematics",+"IJPAP Indian Journal of Pure and Applied Physics",+"IJP.. International Journal of Plasticity",+"IJPRS International Journal of Photogrammetry and Remote Sensing",+"IJQC. International Journal of Quantum Chemistry",+"IJQE. IEEE Journal of Quantum Electronics",+"IJQI. International Journal of Quantum Information",+"IJRA. IEEE Journal of Robotics Automation",+"IJRAI International Journal of Radiation Applications and Instrumentation D Nuclear Tracks and Radiation Measurements",+"IJRFI IEEE Journal of Radio Frequency Identification",+"IJRPC International Journal for Radiation Physics and Chemistry",+"IJRR. International Journal of Robotics Research",+"IJRS. International Journal of Remote Sensing",+"IJRSP Indian Journal of Radio and Space Physics",+"IJSAC IEEE Journal on Selected Areas in Communications",+"IJScA International Journal of Supercomputer Applications",+"IJSC. International Journal of Satellite Communications",+"IJSEd International Journal of Science Education",+"IJSE. International Journal of Solar Energy",+"IJSMD International Journal for Simulation and Multidisciplinary Design Optimization",+"IJSME International Journal of Science and Mathematics Education",+"IJSNM International Journal of Smart and Nano Materials",+"IJSSC IEEE Journal of Solid-State Circuits",+"IJSS. International Journal of Solids and Structures",+"IJSTA IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing",+"IJSTQ IEEE Journal of Selected Topics in Quantum Electronics",+"IJSyS International Journal of Systems Science",+"IJTFM IEEJ Transactions on Fundamentals and Materials",+"IJTIA IEEJ Transactions on Industry Applications",+"IJT.. International Journal of Thermophysics",+"IJTJE International Journal of Turbo and Jet Engines",+"IJTPE IEEJ Transactions on Power and Energy",+"IJTP. International Journal of Theoretical Physics",+"IJTSM IEEJ Transactions on Sensors and Micromachines",+"ILCSM IEEE LCS Magazine",+"IllOB Bulletin of the Astronomical Observatory of the University of Illinois",+"ILOMP Publications of the International Latitude Observatory at Mizusawa",+"ILSJ. International Lunar Society Journal",+"ILTS. IEEE LTS",+"IMA.. Institute for Mathematics and Its Applications",+"IMeRv International Metals Reviews",+"IMGWL IEEE Microwave and Guided Wave Letters",+"IMMag IEEE Microwave Magazine",+"IMPA. Interscience Monographs in Physics and Astronomy",+"IMRv. International Materials Reviews",+"imsd.cIEEE MTT-S International Microwave Symposium Digest",+"InAgr International Agrophysics",+"InASP Indian Academy of Sciences Proceedings Section",+"INASR INASAN Science Reports",+"InCh. Inorganic Chemistry",+"InEPS Indian Academy of Sciences Proceedings: Earth and Planetary Sciences",+"InES. Indian Academy of Sciences Proceedings: Section C Engineering Sciences",+"InfCo Information Control",+"InfD. Information Display",+"InFiZ Inzhenerno Fizicheskii Zhurnal",+"InfPh Infrared Physics",+"InFuJ Institute Fuel Journal",+"IngAr Ingenieur Archiv",+"Ingeg Ingegneria",+"InGeo International Geophysics Series",+"INGN. The Newsletter of the Isaac Newton Group of Telescopes",+"InISA Indian Institute of Science Journal of Aeronautical Society of India",+"InISJ Indian Institute of Science Journal",+"InJAE Indian Journal of Aerospace Engineering Division",+"InJET Indian Journal of Electronics Telecommunication Engineering Division",+"InJHS Indian Journal of the History of Science",+"InJME Indian Journal of Mechanical Engineering Division",+"InJPA Indian Journal of Physics Section A",+"InJPB Indian Journal of Physics Section B",+"InJPh Indian Journal of Physics",+"InJP. Indian Journal of Physics and Proceedings of the Indian Assocatiation for the Cultivation of Science",+"InJTP Indian Journal of Theoretical Physics",+"INL.. International Nano Letters",+"InLoP Instytut Lotnictwa Prace",+"InMat Inventiones Mathematicae",+"InMPP Instytut Maszyn Przeplywowych Prace",+"InMS. Indian Academy of Sciences Proceedings Mathematical Sciences",+"InPhT Infrared Physics and Technology",+"INSAP Indian National Science Academy Proceedings Supplement",+"IntaC Inta Conie",+"Inter Interavia",+"INTMK Itogi Nauki i Tekhniki Seriia Meteorologiia i Klimatologiia",+"INTSA Itogi Nauki i Tekhniki Seriia Astronomiia",+"INTSF Itogi Nauki i Tekhniki Seriia Fizika Plazmy",+"INTSI Itogi Nauki i Tekhniki Seriia Issledovanie Kosmicheskogo Prostranstva",+"IntSM Interavia Space Markets",+"INTSO Itogi Nauki i Tekhniki Seriia Okeanologiia",+"INTSR Itogi Nauki i Tekhniki Seriia Radiotekhnika",+"INTSS Itogi Nauki i Tekhniki Seriia Sovremennye Problemy Matematiki",+"INTSV Itogi Nauki i Tekhniki Seriia Vozdushnyi Transport",+"InvPr Inverse Problems",+"IonIs Ionosfernye Issledovaniia",+"Iono. Ionosphere",+"IORAS Anuario publicado pelo Imperial Observatorio do Rio de Janeiro Suplemento",+"IPAUC INTERKOSMOS Prague Astronomicky Ustav Ceskoslovenske Akademie Ved",+"IPBS. Isotopes in the Physical and Biomedical Sciences",+"IPCDT IEE Proceedings E: Computers and Digital Techniques",+"IPCI. IEEE Press Series on Computational Intelligence",+"IPCRS IEE Proceedings F: Communications Radar and Signal Processing",+"IPCSV IEE Proceedings: Communications Speech and Vision",+"IPCTA IEE Proceedings D: Control Theory Applications",+"IPDMC IEEE Press Series on Digital &amp",+"IPElT IEEE Press Series on Electronics Technology",+"IPEPA IEE Proceedings B: Electric Power Applications",+"IPETS IEEE Power and Energy Technology Systems Journal",+"IPEWT IEEE Press Series on Electromagnetic Wave Theory",+"IPGTD IEE Proceedings C: Generation Transmission Distribution",+"IPhoJ IEEE Photonics Journal",+"IPMAP IEE Proceedings H: Microwaves Antennas and Propagation",+"IPM.. Information Processing and Management",+"IPMOA IEE Proceedings H: Microwaves Optics and Antennas",+"IPMS. IEEE Press Series on Microelectronic Systems",+"IPNPR Interplanetary Network Progress Report",+"IPOpt IEE Proceedings J: Optoelectronics",+"Ippa. Ipparchos",+"IPPE. IEEE Press Series on Power Engineering",+"IPPSM IEE Proceedings: Physical Science Measurement and Instrumentation Management and Education Reviews",+"IPRSP IEE Proceedings F: Radar and Signal Processing",+"IPSSE IEE Proceedings: Solid-State Electron Devices",+"IPTHS IEEE Press Telecommunications Handbook Series",+"IPTL. IEEE Photonics Technology Letters",+"IRA.. Infrared Astronomy",+"IrAJ. Irish Astronomical Journal",+"IrAJS Irish Astronomical Journal Supplement",+"IREdu International Review of Education",+"IRETE IRE Transactions on Education",+"IRH.. International Review of Hydrobiology",+"IrJST Iranian Journal of Science Technology",+"IRMBP Institut Royal Meteorologique de Belgique Publications Serie",+"IRNvP International Review of Nuclear Physics",+"IRPC. International Reviews in Physical Chemistry",+"ISAP. ISA Proceedings",+"ISASS Institute of Space and Astronautical Science Report",+"ISAT. ISA Transactions",+"ISBRv International Space Business Review",+"iSci. iScience",+"ISCJS ISRO Satellite Centre Journal of Spacecraft Technology",+"ISenJ IEEE Sensors Journal",+"Isis. Isis. Journal of the History of Science Society",+"IsJAP Istanbul University Faculty of Science Journal of Astronomy Physics",+"IsJT. Israel Journal of Technology",+"ISKZ. Issledovaniya Solntsa i Krasnykh Zvezd",+"IsMTD Issledovaniia Mekhanike i Teploobmenu Dvukhfaznykh Sred",+"ISNL. Information Systems Newsletter",+"ISPAn ISPRS Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences",+"ISPAr ISPRS - International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences",+"ISPL. IEEE Signal Processing Letters",+"ISPM. IEEE Signal Processing Magazine",+"ISRAA ISRN Astronomy and Astrophysics",+"IsRvC Istanbul University Faculty Science Review Serie C",+"ISRv. Interdisciplinary Science Reviews",+"ISSIR ISSI Scientific Reports Series",+"IsSRT Israel Space Research and Technology Information Bulletin",+"IssUP Issledovaniia Uprugosti i Plastichnosti",+"IssZK Issledovanie Zemli Fiz Kosmosa",+"IS&T. Instrumentation Science &amp",+"IST.. Issues in Science and Technology",+"ISTSP IEEE Journal of Selected Topics in Signal Processing",+"ISysJ IEEE Systems Journal",+"ITAB. Institut Teoreticheskoi Astronomii Byulleten",+"ITABO Institute of Theoretical Astrophysics, Blindern-Oslo",+"ITAC. IEEE Transactions on Automatic Control",+"ITAer IEEE Transactions on Aerospace",+"ITAES IEEE Transactions on Aerospace Electronic Systems",+"ITANE IEEE Transactions on Aerospace and Navigational Electronics",+"ITAP. IEEE Transactions on Antennas and Propagation",+"ITAS. IEEE Transactions on Applied Superconductivity",+"ITASS IEEE Transactions on Acoustics Speech and Signal Processing",+"ITBE. IEEE Transactions on Biomedical Engineering",+"ITB.. IEEE Transactions on Broadcasting",+"ITCAD IEEE Transactions on Computer Aided Design",+"ITCHM IEEE Transactions on Components Hybrids and Manufacturing Technology",+"ITCJ. ITC Journal",+"ITCmp IEEE Transactions on Computers",+"ITCom IEEE Transactions on Communications",+"ITCS. IEEE Transactions on Circuits Systems",+"ITED. IEEE Transactions on Electron Devices",+"ITEdu IEEE Transactions on Education",+"ITEI. IEEE Transactions on Electrical Insulation",+"ITEIS IEEJ Transactions on Electronics, Information and Systems",+"ITElC IEEE Transactions on Electromagnetic Compatibility",+"ITEM. IEEE Transactions on Engineering Management",+"ITEnC IEEE Transactions on Energy Conversion",+"ITGE. IEEE Transactions on Geoscience Electronics",+"ITGRS IEEE Transactions on Geoscience and Remote Sensing",+"ITIA. IEEE Transactions on Industry Applications",+"ITIEC IEEE Transactions on Industrial Electronics and Control Instrumentation",+"ITIE. IEEE Transactions on Industrial Electronics",+"ITIM. IEEE Transactions on Instrumentation Measurement",+"ITIP. IEEE Transactions on Image Processing",+"ITIT. IEEE Transactions on Information Theory",+"ITJSE Indian Institute of Technology Journal on Section Engineering Technology",+"ITME. IEEE Transactions on Military Electronics",+"ITM.. IEEE Transactions on Magnetics",+"ITMTT IEEE Transactions on Microwave Theory Techniques",+"ITNan IEEE Transactions on Nanotechnology",+"ITN.. IERS Technical Note",+"ITNN. IEEE Transactions on Neural Networks",+"ITNS. IEEE Transactions on Nuclear Science",+"ITPA. Interscience Tracts on Physics and Astronomy",+"ITPAM IEEE Transactions on Pattern Analysis and Machine Intelligence",+"ITPAS IEEE Transactions on Power Apparatus Systems",+"ITPE. IEEE Transactions on Power Electronics",+"ITPHP IEEE Transactions on Parts Hybrids and Packaging",+"ITPS. IEEE Transactions on Plasma Science",+"ITPSy IEEE Transactions on Power Systems",+"ITRA. IEEE Transactions on Robotics Automation",+"ITRFI IEEE Transactions on Radio Frequency Interference",+"ITR.. IEEE Transactions on Reliability",+"ITSE. IEEE Transactions on Sustainable Energy",+"ITSET IEEE Transactions on Space Electronics and Telemetry",+"ITSMC IEEE Transactions on Systems Man and Cybernetics",+"ITSP. IEEE Transactions on Signal Processing",+"ITSU. IEEE Transactions on Sonics Ultrasonics",+"ITTST IEEE Transactions on Terahertz Science and Technology",+"ITUFF IEEE Transactions on Ultrasonics Ferroelectrics and Frequency Control",+"ITUTJ ITU Telecommunication Journal",+"ITVT. IEEE Transactions on Vehicular Technology",+"IUEEN IUE ESA Newsletter",+"IUENN IUE NASA Newsletter",+"IUGG. International Union of Geodesy and Geophysics General Assembly",+"IUMJ. Indiana University Mathematics Journal",+"IzAlm Izvestiya Astrofizicheskogo Instituta Alma-Ata",+"IzAOP Izvestiya Atmospheric and Oceanic Physics",+"IzArm Izvestiya Akademiya Nauk Armyanskoi",+"IzAsh Izvestiya Akademii Nauk Turkmenskoj SSR Ashkhabad",+"IzAvT Izvestiya VUZ Aviatsionnaya Tekhnika",+"IzAze Akademiia Nauk Azerbaidzhanskoi SSR Izvestiia Seriia Fiziko Tekhnicheskikh i Matematicheskikh Nauk",+"IzDus Dushanbe Izdatel Donish",+"IzEhn Izvestiya Astronomicheskoj Engel'gardt obskoj Observatorii Kazan",+"IzET. Izvestiia Energetika i Transport",+"IzFru Frunze Izdatel Ilim",+"IzFZ. Akademiia Nauk SSSR, Izvestiia, Fizika Zemli",+"IzGeo Tbilisi Georgian SSR Izdatel Metsniereba",+"IzGla Izvestiia Glavnoi rossiiskoi astronomicheskoi observatorii",+"IzKie Izvestiya Glavnoj Astronomicheskoj Observatorii Kiev",+"IzKry Izvestiya Ordena Trudovogo Krasnogo Znameni Krymskoj Astrofizicheskoj Observatorii",+"IzLat Akademiia Nauk Latviiskoi SSR Izvestiia Seriia Fizicheskikh i Tekhnicheskikh Nauk",+"IzLen Leningrad, Izdatel'stvo Nauka",+"IzMat Izvestiya: Mathematics",+"IzMin Minsk Izdatel BGU",+"IzMol Akademiia Nauk Moldavskoi SSR Izvestiia Seriia Fiziko Tekhnicheskikh i Matematicheskikh Nauk",+"IzMZG Akademiia Nauk SSSR Izvestiia Mekhanika Zhidkosti i Gaza",+"IzOde Odesskij Gosudarstvennyi Universitet im. I. I. Mechnikova Izvestiya Astronomicheskoj Observatorii",+"IzPSE Izvestiya Physics of the Solid Earth",+"IzPul Izvestiya Glavnoj Astronomicheskoj Observatorii v Pulkove",+"IzRad Izvestiya VUZ Radiofizika",+"IzSF. Izvestiia Akademii Nauk Seriya Fizicheskaya",+"IzSib Akademiia Nauk SSSR Sibirskoe Otdelenie Izvestiia",+"IzSSR Akademiia Nauk SSSR Izvestiia Seriia Fizicheskaia",+"IzTad Izvestiia Akademiia Nauk TadzhSSR",+"IzTas Tashkent Izdatel Fan",+"IzTif Tiflis Izdatel Tbilisskogo Universiteta",+"IzTur Akademiia Nauk Turkmenskoi SSR Izvestiia Seriia Fiziko Tekhnicheskikh Khimicheskikh i Geologicheskikh Nauk",+"IzUkr Akademiia Nauk Ukrainian SSSR Izvestiia Seriia Fizicheskaia",+"IzUzb Akademiia Nauk Uzbekskoi SSR Izvestiia Seriia Fiziko Matematicheskikh Nauk",+"IzVF. Izvestiya Vysshikh Uchebnykh Zavedenij. Fizika",+"IzVGA Izvestiia vuzov. Geodeziia Aehrofotosemka",+"IzVil Vilnius Izdatel Mokslas",+"IzVUZ Izvestiia Vysshaia Uchebn. Zaved., Radiofizika",+"IzYak Vsesoiuznaia Konferentsiia Kosmicheskim Lucham Yakutsk USSR Akademiia Nauk SSSR Izvestiia Seriia Fizicheskaia",+"IzYer Vsesoiuznaia Konferentsiia Kosmicheskim Lucham Yerevan Armenian SSR Aademiia Nauk SSSR Izvestiia Seriia Fizicheskaia",+"JAChS Journal of the American Chemical Society",+"JAco. Journal d'Acoustique",+"JACS. Journal of American Ceramic Society",+"JAdD. Journal of Advanced Dielectrics",+"JAD.. Journal of Astronomical Data",+"JAdR. Journal of Advanced Research",+"JAE.. Journal of Acoustic Emission",+"JAerE Journal of Aerospace Engineering",+"JAerP Journal of Aerospace Power",+"JAerS Journal of Aerosol Science",+"JAESc Journal of Asian Earth Sciences",+"JAESE Journal of Astronomy &amp",+"JAES. Journal of Audio Engineering Society",+"JAfES Journal of African Earth Sciences",+"JAF.. Journal des Astronomes Francais",+"JAGeo Journal of Applied Geodesy",+"JAGI. Journal of Artificial General Intelligence",+"JAG.. Journal of Applied Geophysics",+"JAHH. Journal of Astronomical History and Heritage",+"JAI.. Journal of Astronomical Instrumentation",+"JaIMJ Japan Institute of Metals Journal",+"JAir. Journal of Aircraft",+"JaJAG Japanese Journal of Astronomy and Geophysics",+"JaJAP Japanese Journal of Applied Physics",+"JAllC Journal of Alloys and Compounds",+"JALPO Journal of the Association of Lunar and Planetary Observers, the Strolling Astronomer",+"JAMDS Journal of Advanced Mechanical Design, Systems, and Manufacturing",+"JAMES Journal of Advances in Modeling Earth Systems",+"JAM.. Journal of Applied Mechanics",+"JAMOP Journal of Atomic, Molecular and Optical Physics",+"JAMS. Journal of the American Mathematical Society",+"JAMTP Journal of Applied Mechanics and Technical Physics",+"JAnSc Journal of the Astronautical Sciences",+"JApA. Journal of Astrophysics and Astronomy",+"JApAS Journal of Astrophysics and Astronomy Supplement",+"JApCr Journal of Applied Crystallography",+"JAPE. Journal of Applied Photographic Engineering",+"JApEl Journal of Applied Electrochemistry",+"JAPh. Journal of Applied Physiology",+"JAP.. Journal of Applied Physics",+"JApMa IMA Journal of Applied Mathematics",+"JApMC Journal of Applied Meteorology and Climatology",+"JApMe Journal of Applied Meteorology",+"JApMM Journal of Applied Mathematics and Mechanics",+"JApMw Journal of Applied Metalworking",+"JApSc Journal of Applied Sciences",+"JApSp Journal of Applied Spectroscopy",+"JArEn Journal of Arid Environments",+"JARS. Journal of Applied Remote Sensing",+"JASAC Japan Astronomical Study Association Circulars",+"JASCE Journal of the American Society of Civil Engineers",+"JASEg Journal of the Astronomical Society of Egypt",+"JASE. Journal of Applied Science and Engineering Section on Electrical Power and Information Systems",+"JAsGe NRIAG Journal of Astronomy and Geophysics",+"JASIS Journal of the American Society for Information Science and Technology",+"JASJa Journal of the Acoustical Society of Japan",+"JASMS Journal of The American Society for Mass Spectrometry",+"JAsPh Journal of Astronomy and Physics (Turkey)",+"JASSA Journal of the Astronomical Society of Southern Africa",+"JASS. Journal of Astronomy and Space Sciences",+"JAS.. The Journal of Agricultural Science",+"JASTP Journal of Atmospheric and Solar-Terrestrial Physics",+"JASV. Journal of the Astronomical Society of Victoria Melbourne",+"JASWA Journal of the Astronomical Society of Western Australia",+"JAtC. Journal of Atmospheric Chemistry",+"JATIS Journal of Astronomical Telescopes, Instruments, and Systems",+"JAtOT Journal of Atmospheric and Oceanic Technology",+"JATP. Journal of Atmospheric and Terrestrial Physics",+"JAtS. Journal of Atmospheric Sciences",+"JATSo Journal of the Antique Telescope Society",+"JAuGG Journal of Australian Geology and Geophysics",+"JAVSO Journal of the American Association of Variable Star Observers (JAAVSO)",+"JAWRA Journal of the American Water Resources Association",+"JBAA. Journal of the British Astronomical Association",+"JBall Journal of Ballistics",+"JBAS. Journal of the British Astronomical Society",+"JBASP Jodrell Bank Ann Ser Pt",+"JBH.. Journal of Big History",+"JBiom Journal of Biomechanics",+"JBiop Journal of Biophysics",+"JBIS. Journal of the British Interplanetary Society",+"JBO.. Journal of Biomedical Optics",+"JBR.. Journal of Breath Research",+"JCAMD Journal of Computer-Aided Molecular Design",+"JCAM. Journal of Climate and Applied Meteorology",+"JCAP. Journal of Cosmology and Astroparticle Physics",+"JChEd Journal of Chemical Education",+"JCh.. Journal of Chromatography",+"JChPh Journal of Chemical Physics",+"JChS. Journal of Chromatographic Science",+"JCHyd Journal of Contaminant Hydrology",+"JCIS. Journal of Colloid and Interface Science",+"JCli. Journal of Climate",+"JClim Journal of Climatology",+"JClP. Journal of Clinical Pharmacology",+"JClR. Journal of Climate Research",+"JCMD. Journal of Computer-Aided Materials Design",+"JCM.. Journal of Computational Mathematics",+"JCMSI SICE Journal of Control, Measurement, and System Integration",+"JCoAM Journal of Computational and Applied Mathematics",+"JCoCh Journal of Computational Chemistry",+"JCoMa Journal of Composite Materials",+"JCom. Journal of Communications",+"JComp Journal of Complexity",+"JComS Journal of Computational Science",+"JConP Journal of Contemporary Physics (Armenian Academy of Sciences)",+"JCoPh Journal of Computational Physics",+"JCoSc Journal of Colloid Science",+"JCos. Journal of Cosmology",+"JCP.. Journal de Chimie Physique",+"JCPX. Journal of Computational Physics: X",+"JCrGr Journal of Crystal Growth",+"JCSS. Journal of the Chinese Silicate Society",+"JCSTe Journal of College Science Teaching",+"JCST. Journal of Computational Science and Technology",+"JCTR. Journal of Composites and Technology Research",+"JDBM. Journal of Dynamic Behavior of Materials",+"JDDE. Journal of Dynamics and Differential Equations",+"JDE.. Journal of Differential Equations",+"JDGeo Journal of Differential Geometry",+"JDisT Journal of Display Technology",+"JDSO. Journal of Double Star Observations",+"JDST. Journal of Dispersion Science and Technology",+"JEAA. Journal of Electromagnetic Analysis and Application",+"JEAS. Journal of Engineering and Applied Sciences",+"JECE. Journal of Environmental Conservation Engineering",+"JECS. Journal of Electronic Circuits and Systems",+"JECTC Journal of Electronics Cooling and Thermal Control",+"JEEEA Journal of Electrical and Electronics Engineering Australia",+"JEE.. Journal of Electrical Engineering",+"JEEM. Journal of Environmental and Economics Management",+"JEER. Journal of Engineering Education Research",+"JEET. Journal of Electrical Engineering &amp",+"JEI.. Journal of Electronic Imaging",+"JElas Journal of Elasticity",+"JElCo Electronics Communications of Japan",+"JElEn Electrical Engineering of Japan",+"JElS. Journal of the Electrochemical Society",+"JEMat Journal of Electronic Materials",+"JEMT. Journal of Electron Microscopy Technique",+"JENan Journal of Experimental Nanoscience",+"JEner Journal of Energy",+"JEngM Journal of Engineering and Mechanics",+"JEngS Journal of Engineering Sciences",+"JEnMa Journal of Engineering Mathematics",+"JEnM. Journal of Energetic Materials",+"JenRu Jenaer Rundschau",+"JenRv Jena Review",+"JEnvS Journal of Environmental Sciences",+"JEOS. Journal of the European Optical Society",+"JEP.. Journal of Engineering Physics",+"JEPT. Journal of Engineering Physics and Thermophysics",+"JEPub Journal of Electronic Publishing",+"JESEd Journal of Elementary Science Education",+"JESRP Journal of Electron Spectroscopy and Related Phenomena",+"JESS. Journal of Earth System Science",+"JETAI Journal of Experimental & Theoretical Artificial Intelligence",+"JETh. Journal of Engineering and Thermophysics",+"JETPL Soviet Journal of Experimental and Theoretical Physics Letters",+"JETP. Soviet Journal of Experimental and Theoretical Physics",+"JEWA. Journal of Electromagnetic Waves and Applications",+"JFAA. Journal of Fourier Analysis and Applications",+"JFC.. Journal of Fluid Control",+"JFF.. Journal of Fire Flammability",+"JFM.. Journal of Fluid Mechanics",+"JFS.. Journal of Fluids and Structures",+"JFST. Journal of Fluid Science and Technology",+"JFuA. Journal of Functional Analysis",+"JFuE. Journal of Funsion Energy",+"JGCD. Journal of Guidance Control Dynamics",+"JGeEd Journal of Geoscience Education",+"JGE.. Journal of Geophysics and Engineering",+"JGeod Journal of Geodesy",+"JGeoE Journal of Geological Education",+"JGeo. Journal of Geodynamics",+"JGeop Journal of Geophysics",+"JGeoS Journal of Geodetic Science",+"JGG.. Journal of Geomagnetism and Geoelectricity",+"JGGS. Journal of Geomagnetism and Geoelectricity Supplement",+"JGHyd Journal of Groundwater Hydrology",+"JGIS. Journal of Geographic Information System",+"JG... Journal of Geology",+"JGlac Journal of Glaciology",+"JGP.. Journal of Geometry and Physics",+"JGRA. Journal of Geophysical Research (Space Physics)",+"JGRB. Journal of Geophysical Research (Solid Earth)",+"JGRC. Journal of Geophysical Research (Oceans)",+"JGRD. Journal of Geophysical Research (Atmospheres)",+"JGRE. Journal of Geophysical Research (Planets)",+"JGRF. Journal of Geophysical Research (Earth Surface)",+"JGRG. Journal of Geophysical Research (Biogeosciences)",+"JGR.. Journal of Geophysical Research",+"JGrPh Journal of Gravitational Physics",+"JGRS. Journal of Geophysical Research Supplement",+"JGSJ. Journal of the Geodetic Society of Japan",+"JGS.. Journal of Geographical Systems",+"JGSoc Journal of the Geological Society",+"JGuC. Journal of Guidance Control",+"JGZG. Journal of Geophysics Zeitschrift Geophysik",+"JHA.. Journal for the History of Astronomy",+"JHAS. Journal for the History of Astronomy Supplement",+"JHATD Johns Hopkins APL Technical Digest",+"JHEAp Journal of High Energy Astrophysics",+"JHENP Journal of High Energy and Nuclear Physics",+"JHEP. Journal of High Energy Physics",+"JHTS. Journal of High Temperature Society",+"JHyd. Journal of Hydrology",+"JHyDy Journal of Hydrodynamics",+"JHyMe Journal of Hydrometeorology",+"JHyn. Journal of Hydronautics",+"JIECE Institute of Electronics Communication Engineers of Japan Transactions Section E English",+"JIEEJ Journal of The Institute of Electrical Engineers of Japan",+"JIEIA Journal of The Institution of Engineers (India): Series A",+"JIEIB Journal of The Institution of Engineers (India): Series B",+"JIEIC Journal of The Institution of Engineers (India): Series C",+"JIEID Journal of The Institution of Engineers (India): Series D",+"JIEIE Journal of The Institution of Engineers (India): Series E",+"JIEI. Journal of Industrial Engineering International",+"JIEq. Journal of Integral Equations",+"JIETE Journal of the Institution of Electronics and Telecommunication Engineers",+"JIEx. Journal of Ion Exchange",+"JIMIA Journal of the Institute of Mathematics and Its Applications",+"JIMO. WGN, Journal of the International Meteor Organization",+"JIMSS Journal of Intelligent Material Systems and Structures",+"JIMW. Journal of Infrared and Millimeter Waves",+"JInfo Journal of Informetrics",+"JInst Journal of Instrumentation",+"JIntS Journal of Integer Sequences",+"JIPM. Journal of Information Processing and Management",+"JIPNT Journal of the Institute of Positioning, Navigation and Timing of Japan",+"JIST. Journal of Imaging Science and Technology",+"JJAEE Journal of Japan Association for Earthquake Engineering",+"JJAHS Journal of Japanese Association of Hydrological Sciences",+"JJAPL Japanese Journal of Applied Physics Letters B",+"JJAPR Japanese Journal of Applied Physics Regular Papers Short Notes and Review Papers",+"JJAPS Japanese Journal of Applied Physics Supplement",+"JJSEE Journal of Japanese Society for Engineering Education",+"JJSMS Journal of the Japan Society for Marine Surveys and Technology",+"JJTST Journal of Thermal Science and Technology",+"JKAS. Journal of Korean Astronomical Society",+"JKASS Journal of Korean Astronomical Society Supplement",+"JKPS. Journal of Korean Physical Society",+"JKSAS Journal of the Korean Society for Aeronautical & Space Sciences",+"JLasA Journal of Laser Applications",+"JLCM. Journal of Less Common Metals",+"JLMS. Journal of the London Mathematical Society",+"JLTP. Journal of Low Temperature Physics",+"JLum. Journal of Luminescence",+"JLVEn Journal of Light & Visual Environment",+"JLwT. Journal of Lightwave Technology",+"JMAA. Journal of Mathematical Analysis and Applications",+"JMaCh Journal of Mathematical Chemistry",+"JMagR Journal of Magnetic Resonance",+"JMaMe Journal of Mathematics and Mechanics",+"JMaPh Journal of Mathematics and Physics",+"JMarA Journal of Maritime Archaeology",+"JMaSc Journal of Mathematical Sciences",+"JMatR Journal of Materials Research",+"JMatS Journal of Materials Science",+"JMBM. Journal of the Mechanical Behavior of Materials",+"JMCS. Journal of Mathematical and Computational Science",+"JMecA Journal de Mecanique Appliquee",+"JMecE Journal of Mechanical and Engineering Science",+"JMec. Journal de Mecanique",+"JMecT Journal de Mecanique Theorique et Appliquee",+"JMEM. Journal of Molecular and Engineering Materials",+"JMemS Journal of Microelectromechanical Systems",+"JMeOp Jemna Mechanika Optika",+"JMEP. Journal of Materials Engineering and Performance",+"JMetG Journal of Metamorphic Geology",+"JMet. Journal of Metals",+"JMetR Journal of Meteorological Research",+"JMFM. Journal of Mathematical Fluid Mechanics",+"JMic. Journal of Microscopy",+"JMicP Journal of Micropaleontology",+"JMiMi Journal of Micromechanics and Microengineering",+"JMMM. Journal of Magnetism and Magnetic Materials",+"JMM&M Journal of Micro/Nanolithography, MEMS, and MOEMS",+"JMMPS Japanese Magazine of Mineralogical and Petrological Sciences",+"JMOA. IEE Journal of Microwaves Optics and Acoustics",+"JMoEl Journal of Molecular Electronics",+"JMolE Journal of Molecular Evolution",+"JMOp. Journal of Modern Optics",+"JMoSp Journal of Molecular Spectroscopy",+"JMoSt Journal of Molecular Structure",+"JMPeS Journal of Mineralogical and Petrological Sciences",+"JMPh. Journal of Modern Physics",+"JMP.. Journal of Mathematical Physics",+"JMPMS Journal of Materials Processing and Manufacturing Science",+"JMPS. Journal of Mathematical and Physical Sciences",+"JMPSo Journal of Mechanics Physics of Solids",+"JMRB. Journal of Magnetic Resonance",+"JMR.. Journal of Marine Research",+"JMSA. Journal of Marine Science and Application",+"JMSB. Journal of Macromolecular Science, Part B",+"JMSJ. Journal of the Mineralogical Society of Japan",+"JMS.. Journal of Marine Systems",+"JMSL. Journal of Materials Science Letters",+"JMSME Journal of Materials Science and Materials Electronics",+"JMSp. Journal of Mass Spectrometry",+"JMSTL Journal of Mechanical Systems for Transportation and Logistics",+"JMTAS Journal de Mecanique Theorique et Appliquee Supplement",+"JMTPR Journal of Modern Trends in Physics Research",+"JMuMo Journal of Multiscale Modelling",+"JNano Journal of Nanophotonics",+"JNanU Journal Nanjing Univ",+"JNav. Journal of Navigation",+"JNCS. Journal of Non Crystalline Solids",+"JNCSX Journal of Non Crystalline Solids: X",+"JNE.. Journal of Nondestructive Evaluation",+"JNEng Journal of Neural Engineering",+"JNET. Journal of Non Equilibrium Thermodynamics",+"JNeur Journal of Neurochemistry",+"JNIRE Journal NIRE",+"JNIS. Journal of Near Infrared Spectroscopy",+"JNLM. Journal of Non Linear Mechanics",+"JNMP. Journal of Nonlinear Mathematical Physics",+"JNOPM Journal of Nonlinear Optical Physics and Materials",+"JNR.. Journal of Nanoparticle Research",+"JNS.. Journal of NonLinear Science",+"JNuE. Journal of Nuclear Energy",+"JNuM. Journal of Nuclear Materials",+"JNUNS Journal of Nanjing University (Natural Sciences)",+"JOA.. Journal for Occultation Astronomy",+"JoBaA Jodrell Bank Annals",+"JOC.. Journal of Optical Communications",+"JOCN. Journal of Optical Communications and Networking",+"JoDI. Journal of Digital Information",+"JO... Journal des Observateurs",+"JOL.. Journal of Oceanology and Limnology",+"JOM.. JOM - Journal of the Minerals, Metals and Materials Society",+"JON.. Journal of Optical Networking",+"JOptA Journal of Optics A: Pure and Applied Optics",+"JOptB Journal of Optics B: Quantum and Semiclassical Optics",+"JOpt. Journal of Optics",+"JOptT Journal of Optical Technology",+"JORS. Journal of Open Research Software",+"JOSAA Journal of the Optical Society of America A",+"JOSAB Journal of the Optical Society of America B Optical Physics",+"JOSA. Journal of the Optical Society of America (1917-1983)",+"JOSS. The Journal of Open Source Software",+"JOTA. Journal of Optimization Theory Applications",+"JOUC. Journal of Ocean University of China",+"JPalA Journal of Paleolithic Archaeology",+"JPalg Journal of Palaeogeography",+"JPal. Journal of Paleontology",+"JPall Journal of Palaeolimnology",+"JPApS Journal of Pure Applied Sciences",+"JPAS. Journal of Practical Applications in Space",+"JPCA. Journal of Physical Chemistry A",+"JPCB. Journal of Physical Chemistry B",+"JPCM. Journal of Physics Condensed Matter",+"JPCRD Journal of Physical and Chemical Reference Data",+"JPCS. Journal of Physics and Chemistry of Solids",+"JPDC. Journal of Parallel and Distributed Computing",+"JPE.. Journal of Physics of the Earth",+"JPEle Journal of Power Electronics",+"JPEn. Journal of Physics: Energy",+"JPES. Journal of Power and Energy Systems",+"JPetG Journal of Petroleum Geology",+"JPet. Journal of Petrology",+"JPFR. Journal of Plasma and Fusion Research",+"JPhA. Journal of Physics A Mathematical General",+"JPhB. Journal of Physics B Atomic Molecular Physics",+"JPhCh Journal of Physical Chemistry",+"JPhC. Journal of Physics C Solid State Physics",+"JPhCo Journal of Physics Communications",+"JPhD. Journal of Physics D Applied Physics",+"JPhE. Journal of Physics E Scientific Instruments",+"JPhEn Journal of Photonics for Energy",+"JPhF. Journal of Physics F Metal Physics",+"JPhG. Journal of Physics G Nuclear Physics",+"JPhGS Journal of Physics G Nuclear Physics Supplement",+"JPhM. Journal of Physics: Materials",+"JPhP. Journal of Physics: Photonics",+"JPhSt Journal of Physical Studies",+"JPhSu Supplement au Journal de Physique",+"JPhTA Journal de Physique Theorique et Apliquee",+"JPhy1 Journal de Physique I",+"JPhy2 Journal de Physique II",+"JPhy3 Journal de Physique III",+"JPhy4 Journal de Physique IV",+"JPhyC Journal de Physique Colloque",+"JPhys Journal de Physique",+"JPlPh Journal of Plasma Physics",+"JPLSP Jet Propulsion Lab. Space Programs Summary",+"JPO.. Journal of Physical Oceanography",+"JPoSA Journal of Polymer Science A Polymer Chemistry",+"JPoSB Journal of Polymer Science B Polymer Physics",+"JPoSc Journal of Polymer Science",+"JPoSL Journal of Polymer Science: Polymer Letters Edition",+"JPP.. Journal of Propulsion and Power",+"JPRG. Journal of Photogrammetry, Remote Sensing and Geoinformation Science",+"JPRS. ISPRS Journal of Photogrammetry and Remote Sensing",+"JPSCP JPS Conference Proceedings",+"JPSJ. Journal of the Physical Society of Japan",+"JPS.. Journal of Power Sources",+"JPSJS Journal of the Physical Society of Japan Supplement",+"JPT.. Journal of Propulsion Technology",+"JQS.. Journal of Quaternary Science",+"JQSRT Journal of Quantitative Spectroscopy and Radiative Transfer",+"JQT.. Journal of Quality Technology",+"JRAC. Journal of Radioanalytical Chemistry",+"JRadR Journal of Radiation Research",+"JRAEO Journal and Review of Astronomy Education and Outreach",+"JRAM. Journal fur die reine und angewandte Mathematik",+"JRASA Journal of the Royal Aeronautical Society of London",+"JRASC Journal of the Royal Astronomical Society of Canada",+"JReAt Journal de Recherches Atmospheriques",+"JRE.. Jahrbuch der Radioaktivit&auml",+"JResB Journal of Research Section B Mathematical Sciences B",+"JRes. Journal of Research",+"JRheo Journal of Rheology",+"JRIST Journal of Research Institute of Science and Technology, College of Science and Technology, Nihon University",+"JRNBA Journal of Research of the National Bureau of Standards A Physica and Chemsitry",+"JRNBB Journal of Research of the National Bureau of Standards B Mathematical Sciences",+"JRNBS Journal of Research of the National Bureau of Standards",+"JRNC. Journal of Radioanalytical and Nuclear Chemistry",+"JRoS. Journal of Robotic Systems",+"JRPC. Journal of Reinforced Plastics and Composites",+"JRPhy Journal of Research in Physics",+"JRP.. Journal of Radiological Protection",+"JRScT Journal of Research in Science Teaching",+"JRSp. Journal of Raman Spectroscopy",+"JSAES Journal of South American Earth Sciences",+"JSAPJ Japan Society of Air Pollution Journal",+"JSARA Journal of the Southeastern Association for Research in Astronomy",+"JSAR. Journal of Space Astronomy Research",+"JSASS Japan Society of Aeronautical Space Sciences",+"JSAST Japan Society of Aeronautical Space Sciences Transactions",+"JSCAI Journal of Japan Society of Civil Engineers, Ser. D1 (Architecture of Infrastructure and Environment)",+"JSCAM Journal of Japan Society of Civil Engineers, Ser. A2 (Applied Mechanics (AM))",+"JSCCE Journal of Japan Society of Civil Engineers, Ser. F3 (Civil Engineering Informatics)",+"JSCCM Journal of Japan Society of Civil Engineers, Ser. F4 (Construction and Management)",+"JSCER Journal of Japan Society of Civil Engineers, Ser. G (Environmental Research)",+"JSCGE Journal of Japan Society of Civil Engineers, Ser. C (Geosphere Engineering)",+"JSCHE Journal of Japan Society of Civil Engineers, Ser. B1 (Hydraulic Engineering)",+"JSCHS Journal of Japan Society of Civil Engineers, Ser. D2 (Historical Studies in Civil Engineering)",+"JScI. Journal of Scientific Instruments",+"JSCIP Journal of Japan Society of Civil Engineers, Ser. D3 (Infrastructure Planning and Management)",+"JSCMC Journal of Japan Society of Civil Engineers, Ser. E2 (Materials and Concrete Structures)",+"JSCMJ Japan Society of Composite Materials Journal",+"JSCom Journal of Scientific Computing",+"JSCPE Journal of Japan Society of Civil Engineers, Ser. E1 (Pavement Engineering)",+"JSCPP Journal of Japan Society of Civil Engineers, Ser. F5 (Professional Practices in Civil Engineering)",+"JSCSE Journal of Japan Society of Civil Engineers, Ser. A1 (Structural Engineering &amp",+"JSCSP Journal of Japan Society of Civil Engineers, Ser. F6 (Safety Problem)",+"JSCTE Journal of Japan Society of Civil Engineers, Ser. F1 (Tunnel Engineering)",+"JSCUS Journal of Japan Society of Civil Engineers, Ser. F2 (Underground Space Research)",+"JSDD. Journal of System Design and Dynamics",+"JSD.. Journal of the Structural Division, American Society of Civil Engineers",+"JSedR Journal of Sedimentary Research",+"JSEdT Journal of Science Education and Technology",+"JSeis Journal of Seismology",+"JSemi Journal of Semiconductors",+"JSER. Journal for STEM Education Research",+"JSGeo Journal of Series Geophysics",+"JSG.. Journal of Structural Geology",+"JShR. Journal of Ship Research",+"JSLEJ Japan Society of Lubrication Engineers Journal",+"JSLR. Journal of Soviet Laser Research",+"JSMAJ JASMA Japan Society of Microgravity Application Journal",+"JSMEA JSME International Journal Series A",+"JSMEB JSME International Journal Series B",+"JSMEC JSME International Journal Series C",+"JSMEJ JSME International Journal",+"JSMET JSME Transactions",+"JSM.. Journal of Structural Mechanics",+"JSMME Journal of Solid Mechanics and Materials Engineering",+"JSMSJ Japan Society of Materials Science Journal",+"JSMTE Journal of Statistical Mechanics: Theory and Experiment",+"JSpEn Journal of Space Engineering",+"JSP.. Journal of Statistical Physics",+"JSpRo Journal of Spacecraft and Rockets",+"JSPS. Japan Society of Promotion Science",+"JSPST Journal of The Society of Photographic Science and Technology of Japan",+"JSpT. Journal of Spacecraft Technology",+"JSR.. Journal of Sea Research",+"JSRP. Journal of the Society for Radiological Protection",+"JSSat Journal of Small Satellites",+"JSSCh Journal of Solid State Chemistry France",+"JSSED IEE Journal of Solid-State Electron Devices",+"JStA. Journal of Strain Analysis and Engineering Design",+"JSTEd Journal of Science Teacher Education",+"JSup. Journal of Superconductivity",+"JSV.. Journal of Sound Vibration",+"JSWSC Journal of Space Weather and Space Climate",+"JSymC Journal of Symbolic Computation",+"JTAM. Journal of Theoretical and Applied Mechanics",+"JTAP. Journal of Theoretical and Applied Physics",+"JTCN. Journal of Computatational and Theoretical Nanoscience",+"JTech Journal of Technology",+"JTeEv Journal of Testing Evaluation",+"JTePh Journal of Technical Physics",+"JTF.. Journal of Time and Frequency",+"JThCM Journal of Thermoplastic Composite Materials",+"JTh.. Journal of Thermodynamics",+"JThSc Journal of Thermal Science",+"JThSt Journal of Thermal Stresses",+"JTHT. Journal of Thermophysics and Heat Transfer",+"JTP.. Journal for Technology of Plasticity",+"JTST. Journal of Thermal Spray Technology",+"JTurb Journal of Turbulence",+"JURP. Journal of Undergraduate Reports in Physics",+"JVCIR Journal of Visual Communication and Image Representation",+"JVE.. Journal of Vibration Engineering",+"JVGR. Journal of Volcanology and Geothermal Research",+"JVSJ. Journal of the Vacuum Society of Japan",+"JVSTA Journal of Vacuum Science Technology A: Vacuum Surfaces and Films",+"JVSTB Journal of Vacuum Science Technology B: Microelectronics and Nanometer Structures",+"JVST. Journal of Vacuum Science Technology",+"JWMSE Journal of Women and Minorities in Science and Engineering",+"JWUDF Jahns W&ouml",+"JXST. Journal of X-Ray Science and Technology",+"KazOB Astronomicheskoj Observatorii Kazan Byulleten",+"KEIJ. Kansei Engineering International Journal",+"KernR Kernforschungsanlage Rept Res Results Solid State Nucl Phys",+"KexT. Kexue Tongbao",+"KFNT. Kinematika i Fizika Nebesnykh Tel",+"KFNTS Kinematika i Fizika Nebesnykh Tel Supplement",+"Khago Khagol",+"KharI Kharkov Izdanie IRE AN USSR",+"KhPl. Khimiia Plazmy",+"KiIND Kiev Izdatel Naukova Dumka",+"KiInF Kiev Institut Fiziki AN USSR",+"KiInM Kiev Institut Matematiki AN USSR",+"KiIzT Kiev Izdatel Tekhnika",+"KIMMJ Korean Institute of Metals and Materials Journal",+"KIMS. Knowledge: An Illustrated Magazine of Science",+"KIPME Kiev Institut Problem Modelirovaniia Energetike AN USSR",+"KIzIM Kiev Izdanie Instituta Matematiki AN USSR",+"KIzKU Kazan Izdatel Kazanskogo Universiteta",+"KIzS. Kishinev Izdatel Shtiintsa",+"KIzVS Kiev Izdatel Vishcha Shkola",+"KKR.. Kagaku Kogaku Ronbunshu",+"KlBer Kleinheubacher Berichte",+"KNAB. Koninklijke Nederlandse Akademie van Wetenschappen Proceedings Series B Physical Sciences",+"KNT.. Kosmicheskaia Nauka i Tekhnika",+"KodOB Kodaikanal Observatory Bulletins",+"KodRe Kodaikanal Observatory Reprints",+"KomMe Komety i Meteory",+"KomTs Kometnyj Tsirkulyar",+"KosIs Kosmicheskie Issledovaniia",+"KosIU Kosmicheskie Issledovaniia Ukraine",+"KosLu Kosmicheskie Luchi",+"KosNT Kosmichna Nauka i Tekhnologiya",+"KosRo Kosmicke Rozhledy",+"Kozmo Kozmos",+"KPCB. Kinematics and Physics of Celestial Bodies",+"KPCBS Kinematics and Physics of Celestial Bodies, Supplement",+"KPNON Kitt Peak National Observatory Newsletter",+"KSVH. Kungl. Svenska Vetenskapsakademiens Handlingar",+"KTTM. Khimiia i Tekhnologiia Topliv i Masel",+"KUFEM Kyushu University Faculty Engineering Memoirs",+"KvanE Kvantovaia Elektronika Moscow",+"KVeBB Kleine Veroeffentlichungen der Universitaetssternwarte zu Berlin Babelsberg",+"KVnT. Kibernetika i Vychislitelnaia Tekhnika",+"KyITB Kyushu Institute Technology Bulletin",+"KyoMe Kyoto University Faculty Engineering Memoirs",+"KyUAM Kyushu University Research Institute Applied Mechanics Reports",+"KyUSR Kyushu University Research Institute Industrial Science Reports",+"KyUTR Kyushu University Technology Reports",+"KzSib Akademiia Nauk SSSR Sibirskoi Otdelenie Izvestiia Seriia Tekhnicheskikh Nauk",+"LaEO. Laser Elektro Optik",+"LAES. Letters in Applied and Engineering Sciences",+"LaFoc Laser Focus",+"LaJ.. Lapidary Journal",+"LanB. Landolt B&ouml",+"Langm Langmuir",+"Lapa. Majalah LAPAN",+"LaPhL Laser Physics Letters",+"LaPhy Laser Physics",+"LasJ. Laser Journal",+"LAstr L'Astronomie",+"LatJP Latvian Journal of Physics and Technical Sciences",+"LatME Latviiskii Matematicheskii Ezhegodnik",+"LawOB Laws Observatory Bulletin, University of Missouri",+"LBLRR LBL Research Review",+"LCEC. Luxembourg Commission European Communities",+"LeBAN Leningrad Biblioteka Akademii Nauk SSSR",+"LeEne Leningrad Energoizdat",+"LeGid Leningrad Gidrometeoizdat",+"LeIzE Leningrad Izdatel Energiia",+"LeIzG Leningrad Izdatel Gidrometeoizdat",+"LeIzK Leningrad Izdatel Khimiia",+"LeIzM Leningrad Izdatel Mashinostroenie",+"LeIzN Leningrad Izdatel Nauka",+"LeIzS Leningrad Izdatel Sudostroenie",+"LeIzU Leningrad Izdatel Leningradskogo Universiteta",+"LeLen Leningrad Lenizdat",+"LePub Learned Publishing",+"LeRad Le Radium",+"LERec L'Echo des Recherches",+"LFR.. Lietuvos Fizikos Rinkinys",+"LFTR. LEST Foundation, Technical Report",+"LGUPM Leningradskii Gosudarstvennyi Universitet Problemy Matematicheskoi Fiziki",+"LHBl. La Houille Blanche",+"LHMT. Letters Heat Mass Transfer",+"LicOB Lick Observatory Bulletin",+"LiCr. Liquid Crystals",+"Life. Life",+"LimOc Limnology and Oceanography",+"Litho Lithos",+"LitJP Lithuanian Journal of Physics and Technical Sciences",+"LIVS. Lvov Izdatel Vishcha Shkola",+"LIzNe Leningrad Izdatel Nedra",+"LLabJ Lincoln Laboratory Journal",+"LMaPh Letters in Mathematical Physics",+"LMMP. Lasers in Manufacturing and Materials Processing",+"LNCS. Lecture Notes in Computer Science",+"LNEA. Lecture Notes and Essays in Astrophysics",+"LNEn. Lecture Notes in Engineering, Berlin Springer Verlag",+"LNES. Lecture Notes in Earth Sciences, Berlin Springer Verlag",+"LNM.. Lecture Notes in Mathematics, Berlin Springer Verlag",+"LNP.. Lecture Notes in Physics, Berlin Springer Verlag",+"LNSP. Lecture Notes and Supplements in Physics",+"LockH Lockheed Horizons",+"LOEle L'Onde Electrique",+"LowOB Lowell Observatory Bulletin",+"LPB.. Laser and Particle Beams",+"LPIBu LPI Bulletin",+"LPICo LPI Contributions",+"LPlaC Observatorio Astronomico de La Plata Circular",+"LPlaS Observatorio Astronomico de La Plata Separata Astronomica",+"LPRv. Laser & Photonics Review",+"LPSC. Lunar and Planetary Science Conference Proceedings",+"LRCA. Living Reviews in Computational Astrophysics",+"LR... Luft und Raumfahrt",+"LRR.. Living Reviews in Relativity",+"LRSP. Living Reviews in Solar Physics",+"LSA.. Light: Science & Applications",+"LS... Hamburger Sternw. Warner & Swasey Obs.",+"Lsphe Lithoshere",+"LSSR. Life Sciences and Space Research",+"LTerm La Termotecnica",+"LTP.. Low Temperature Physics",+"LubEn Lubrication Engineering",+"LunOC Lund Observatory Circular",+"LuRaQ Luft und Raumfahrt Quarter",+"LvoTs L'vovskij Ordena Lenina Gosudarstvennyj Universitet Tsirkulyar",+"MAA.. Mediterranean Archaeology and Archaeometry",+"MaCom Mathematics of Computation",+"MaDes Machine Design",+"MadOb Madras Observatory Observations",+"MadOO Madras Observatory Astronomical Observations",+"MaFiz Matematicheskaia Fizika",+"MagFE Magnetic Fusion Energy",+"MagGi Magnitnaia Gidrodinamika",+"MagIs Magnitosfernye Issledovaniia",+"MaHT. Materials at High Temperatures",+"MaMeA Sankt Peterburgskii Universitet Vestnik Seriia Matematika Mekhanika Astronomiia",+"MAMMP Mechanics of Advanced Materials and Modern Processes",+"MaMol Macromolecules",+"ManGe Manuscripta Geodaetica",+"ManRv Manufacturing Review",+"MApAn Methods and Applications of Analysis",+"MaPEJ Mathematical Physics Electronic Journal",+"MApFl Methods and Applications in Fluorescence",+"MaPhS Mathematical Physics Studies",+"MAP.. Meteorology and Atmospheric Physics",+"MaPr. Mathematical Proceedings",+"MAPSE Mission Analysis Program Solar Electric Propulsion MAPSEP",+"MaRBu Materials Research Bulletin",+"MarEc Marine Ecology",+"MarGe Marine Geodesy",+"MarGR Marine Geophysical Research",+"MarMP Marine Micropaleontology",+"MarPG Marine and Petroleum Geology",+"MarRv Marconi Review",+"Mashi Mashinostroenie",+"MatAn Mathematische Annalen",+"MaTeJ ManTech Journal",+"Mate. Materials",+"Mater Materialpruefung",+"MatEv Materials Evaluation",+"MatG. Mathematical Geology",+"math. arXiv Mathematics e-prints",+"math.parXiv Mathematical Physics e-prints",+"MatIs Matematicheskie Issledovaniia",+"MatL. Materials Letters",+"MatM. Mathematical Modelling",+"MatMo The Mathemtical Monthly",+"MatNa Mathematische Nachrichten",+"MAtom Moscow Atomizdat",+"MatPr Mathematical Programming",+"MatRv Mathematical Reviews",+"MatSP Materials Science Poland",+"MatST Materials Science Technology",+"MatTe Materiaux et Techniques",+"MatTh Materials Theory",+"MatTr Materials Transactions JIM",+"MatVe Matematichki Vesnik",+"MatZe Mathematische Zeitschrift",+"MAUTx University of Texas Monographs in Astronomy",+"MAWMN Mainz Akademie Wissenschaften Mathematisch Naturwissenschaftliche Klasse",+"MBB.. Molecular Biology and Biophysics",+"MCBEH Monatliche Correspondenz zur Beforderung der Erd- und Himmels-kunde",+"MCM.. Mechanics of Composite Materials",+"MComM Mathematical and Computer Modelling",+"MComP Methods in Computational Physics",+"MeAar Meddelser fra Ole Romer Observatoriet Aarhus",+"MeApp Meteorological Applications",+"MeARB Academie Royale de Belgique Classe des Sciences Memoires",+"Meas. Measurements",+"MeAut Meres es Automatika",+"Mecc. Meccanica",+"MecEn Mechanical Engineering",+"MecSM Mechanics of Soft Materials",+"MedPh Medical Physics",+"MEdRJ Mathematics Education Research Journal",+"MEE.. Materials of Electronics Engineering",+"MEEP. Monographs on Environment, Earth and Planets",+"MeeRe Kenneth Mees Observatory Reprints",+"MeGen Mededelingen Universiteit te Gent Sterrenkundig Instituut",+"MeGid Meteorologiia i Gidrologiia",+"MEI.. Mathematical Engineering Industry",+"MeInd Mechanics and Industry",+"MekGS Mekhanika Giroskopicheskikh Sistem",+"MekKM Mekhanika Kompozitnykh Materialov",+"MekP. Mekhanika Polimerov",+"MekTT Mekhanika Tverdogo Tela",+"MeLeu Mededelingen van het Astronomisch Instituut van de Katholieke Universiteit Leuven",+"MelOO Melbourne Observatory Observations",+"MeLuF Meddelanden fran Lunds Astronomiska Observatorium Serie I",+"MeLuS Meddelanden fran Lunds Astronomiska Observatorium Serie II",+"MeMaT Mechanism and Machine Theory",+"MEner Moscow Energoizdat",+"MEPS. Marine Ecology Progress Series",+"MeRAu Mesures Regulation Automatisme",+"Mercu Mercury",+"MeReC Mechanics Research Communications",+"MerRe Instituto Venezolano de Astronomia Merida Venezuela",+"MeRR. Meteornoe Rasprostranenie Radiovoln, Kazan",+"MeScR Measurement Science Review",+"MeScT Measurement Science and Technology",+"MeSJJ Meteorological Society of Japan Journal",+"MeSol Mechanics of Solids",+"MeSRM Memoires Scientifiques de la Revue de Metallurgie",+"MeSSR Akademiia Nauk SSSR Mekhanika Zhidkosti i Gaza",+"Metal Metallofizika",+"MetaM Metamaterials",+"MetAP Meteorology Atmospheric Physics",+"Meteo La Meteorologie",+"MeTeS Mechanika Teoretyczna i Stosowana",+"MetHy Meteorology Hydrology JPRS",+"Metic Meteoritics",+"Metik Meteoritika",+"MetIs Meteornye Issledovaniia",+"Metit Meteorites",+"MetMa Meteorological Magazine",+"Met.. Meteorite - The International Quarterly of Meteorites and Meteorite Science",+"MetMo Meteorological Monographs",+"Metoo Meteoor",+"Metro Metrologia",+"MetRT Metallurgical Research &amp",+"MetRu Meteorologische Rundschau",+"MetVy Metody Vychislenii",+"MetZe Meteorologische Zeitschrift",+"MetZp Meteorologicke Zpravy",+"Meu1K Observatoire de Meudon",+"MeUpp Meddelanden fran Astronomiska Observatorium Uppsala",+"MExP. Methods of Experimental Physics",+"MFiNM Matematicheskaia Fizika i Nelineinaia Mekhanika",+"MGeoE Materials and Geoenvironment",+"MGeol Marine Geology",+"MGeo. Manuscr. Geod.",+"MGIMO Moskovskii Gosudarstvennyi Universitet Institut Mekhaniki Otchet",+"MGQG. Marine Geology &amp",+"MGTVM Moskovskij Gosudarstvennyj Tekhnicheskij Universitet Vestnik Seriya Mashinostroenie",+"MGTVP Moskovskij Gosudarstvennyj Tekhnicheskij Universitet Vestnik Seriya Priborostroenie",+"MGUkr Akademiia Nauk Ukrainskoi SSR Morskie Gidrofizicheskie Issledovaniia",+"MGUMN Moskovskii Gosudarstvennyi Universitet Institut Mekhaniki Nauchnye Trudy",+"MHD.. Magnetohydrodynamics",+"MHITR Mitsubishi Heavy Industries Technical Review",+"MiARB Astronomisches Rechen-Institut Heidelberg Mitteilungen Serie B",+"MiARI Astronomisches Rechen-Institut Heidelberg Mitteilungen Serie A",+"MiBas Mitteilungen der Astronomisch-Meteorologischen Anstalt der Universitaet Basel Astronomische Reihe",+"MiBon Mitteilungen der Astronomischen Institute der Universitaet Bonn",+"MiBre Astronomische Mitteilungen der Koeniglichen Universitaets-Sternwarte zu Breslau",+"MicEc Microbial Ecology",+"MicgQ Microgravity Quarterly",+"MicNa Microsystems & Nanoengineering",+"MicST Microgravity Science and Technology",+"MicWa Microwaves",+"MIEBA Moscow Izdatel Energiia Biblioteka Avtomatike",+"MIEBR Moscow Izdatel Energiia Biblioteka Radioelektronike",+"MiElC Military Electronics Countermeasures",+"MiGIR Mitteilungen Geod. Institut Rheinischen Friedrich-Wilhelms-Universitaets. Bonn",+"MiGoe Astronomische Mitteilungen der Universitaets-Sternwarte zu Goettingen",+"MiGra Mitteilungen der Universitaets-Sternwarte Graz",+"MiHam Mitteilungen der Hamburger Sternwarte in Bergedorf",+"MiHar Mitteilungen der Bruno-H.-Buergel-Sternwarte Hartha DDR",+"MiInn Mitteilungen der Sternwarte Innsbruck",+"MiINT Minsk Izdatel Nauka i Tekhnika",+"MiJen Mitteilungen der Universitaets-Sternwarte zu Jena",+"MiJo. Microwave Journal",+"MiKon Mitteilungen der Konkoly Sternwarte Budapest-Szabadsaghegy",+"Mikro Mikroelektronika",+"MikSb Mikroelektronika Sbornik",+"MiMic Microscopy and Microanalysis",+"MIMPE Modern Instrumentation and Measurements in Physics and Engineering",+"MiMue Mitteilungen des Astronomischen Instituts des Universitaet Munster",+"MiMun Mitteilungen der Sternwarte Munchen",+"MINCV Moscow Izdatel Nauka AN SSSR Chteniia imeni Vernadskogo",+"MinDe Mineralium Deposita",+"Miner Mineralogia",+"MINFI Moscow Izdatel Nauka AN SSR Fizicheskii Institut Trudy",+"MINGI Moscow Izdatel Nauka AN SSSR Geologicheskoi Institut Trudy",+"MinJ. Mineralogical Journal",+"MINMI Moscow Izdatel Nauka AN SSSR Matematicheskii Institut Trudy",+"MinM. Mineralogical Magazine",+"MinPe Mineralogy and Petrology",+"MINTF Moscow Izdatel Nauka Teoreticheskaia Fizika",+"MINVS Moscow Izdatel Nauka Vychislitelnaia Seismologiia",+"MiOTL Microwave and Optical Technology Letters",+"MiPot Mitteilungen des Astrophysikalischen Observatoriums Potsdam",+"MiPul Mitteilungen der Nikolai-Hauptsternwarte zu Pulkowo",+"MiRe. Microelectronics Reliability",+"MiSon Mitteilungen der Sternwarte zu Sonneberg",+"MisSp Missiles Spacecraft",+"MISST Moscow Izdatel Sviaz Statisticheskaia Teoriia sviazi",+"MISTr Matematicheskii Institut imeni Steklova Trudy",+"MitAe Max Planck Institut Aeronomie Mitteilungen",+"MitAG Mitteilungen der Astronomischen Gesellschaft Hamburg",+"MiTau Zentralinstitut fuer Astrophysik Mitteilungen des Karl-Schwarzschild-Observatoriums Tautenburg",+"MitSI Mitteilungen Mitt. Staatl. Astr. Sternberg-Inst.",+"MitSZ Astronomischen Mitteilungen Eidgen. Sternwarte Zurich",+"MiTue Mitteilungen des Astronomischen Instituts der Universitaet Tuebingen",+"MitVS Zentralinstitut fuer Astrophysik Sternwarte Sonneberg Mitteilungen ueber Veraenderliche Sterne",+"MiWie Mitteilungen der Universitaets-Sternwarte Wien",+"MIzLI Moscow Izdatel Legkaia Industriia",+"MIzMa Moscow Izdatel Mashinostroenie",+"MIzMe Moscow Izdatel Metallurgiia",+"MIzMU Moscow Izdatel Moskovskogo Universiteta Pt",+"MIzNe Moscow Izdatel Nedra",+"MIZNZ Moscow Izdatel Znanie Novoe Zhizni Nauke Tekhnike Seriia Fizika",+"MIzRS Moscow Izdatel Radio Sviaz",+"MIzSR Moscow Izdatel Sovetskoe Radio",+"MiZur Astronomische Mitteilungen der Eidgen&ouml",+"MIzVS Moscow Izdatel Vysshaia Shkola",+"MJPS. Moldavian Journal of the Physical Sciences",+"MKAtl Astrophysics monographs University of Chicago Press",+"MLST. Marine Life Science & Technology",+"MMAAR Annual Report of the Maria Mitchell Association",+"MmARB Memoires of the Academie Royale de Belgique",+"MmArc Osservazioni e memorie dell'Osservatorio astrofisico di Arcetri",+"MmArS Osservazioni e memorie dell'Osservatorio astrofisico di Arcetri - Appendici",+"MmASI Memoirs of the Astronomical Society of India",+"MMAS. Mathematical Methods in the Applied Sciences",+"MmBAA Memoirs of the British Astronomical Association",+"MmCP. Macromolecular Chemistry and Physics",+"MMFMP Matematicheskie Metody i Fiziko Mekhanicheskie Polia",+"MMI.. Metals and Materials International",+"MmKMO Kakioka Magnetic Observatory Memoirs",+"MmKyo Memoirs Faculty of Sciences University of Kyoto",+"MM... Metals and Materials",+"MmMtS Memoires of the Mount Stromlo Observervatory",+"MMNA. Mathematical Modelling Numerical Analysis",+"MmNap Memorie del R. Osservatorio di Capodimonte in Napoli",+"MmRAS Memoirs of the Royal Astronomical Society",+"MmSAI Memorie della Societa Astronomica Italiana",+"MmSGI Memorie della Societa Geologica Italiana",+"MmSSI Memorie della Societa Degli Spettroscopisti Italiani",+"MmSS. Memorie della Societa Degli Spettroscopisti Italiani, serie 2",+"MMTA. Metallurgical and Materials Transactions A",+"MMTB. Metallurgical and Materials Transactions B",+"MMTE. Metallurgical and Materials Transactions E",+"MMTET Matematicheskoe Modelirovanie i Teoriia Elektricheskikh Tsepei",+"MNRAS Monthly Notices of the Royal Astronomical Society",+"MNSL. Micro and Nano Systems Letters",+"MNSSA Monthly Notes of the Astronomical Society of South Africa",+"MNSSJ Monthly notes of the Astronomical Society of South Africa",+"ModGe Modern Geology",+"ModIn Modern Instrumentation",+"ModPh Modern Physics",+"MoEBA Moscow Energoatomizdat Biblioteka Automatike",+"MoEIT Moskovskii Energeticheskii Institut Trudy",+"MoGid Moscow Gidrometeoizdat",+"MoIKI Moscow Institut Kosmicheskikh Issledovanii AN SSSR",+"MoINI Moscow Izdatel Nauka Issledovaniia Geomagnetizmu Aeronomii i Fizike Solntsa",+"MoIPM Moscow Institut Prikladnoi Matematiki AN SSSR",+"MoIzA Moscow Izdatel Atomizdat",+"MoIzE Moscow Izdatel Energiia",+"MoIzK Moscow Izdatel Khimiia",+"MoIzM Moscow Izdatel Moskovskogo Universiteta",+"MoIzN Moscow Izdatel Nauka",+"MoIzS Moscow Izdatel Sviaz",+"MoIzT Moscow Izdatel Transport",+"MoIzV Moscow Izdatel VINITI",+"MoIzZ Moscow Izdatel Znanie",+"MolAs Molecular Astrophysics",+"MoLLP Moshchnye lazery i lazernaia plazma",+"MolPh Molecular Physics",+"MoMGK Moscow Mezhduvedomstvennyi Geofizicheskii Komitet",+"MoMTN Moscow Mezhdunarodnyi Tsentr Nauchnoi i Tekhnicheskoi Informatsii",+"MonAP Communications du Departement d'Astrophysique de la Faculte des Sciences de Mons Mons Astrophysical Papers",+"Moon. Moon",+"MorGI Morskie Gidrofizicheskie Issledovaniia",+"MoSim Molecular Simulation",+"MosIZ Moscow IZMIRAN",+"MosVI Moscow Voennoe Izdatel",+"MosVo Moscow Voenizdat",+"MotZe Motortechnische Zeitschrift",+"MoVIN Moscow VINITI",+"MoVNT Moscow Vychislitelnyi Tsentr AN SSSR",+"MoVyS Moscow Vysshaia Shkola",+"MPAG. Mathematical Physics, Analysis and Geometry",+"MPARp Max Planck Institut fur Astrophysik Report",+"MPBu. Minor Planet Bulletin",+"MPC.. Minor Planet Circulars",+"MPCPS Mathematical Proceedings of the Cambridge Philosophical Society",+"MPDS. Mechanics and Physics of Discrete Systems",+"MPEC. Minor Planet Electronic Circulars",+"MPERp MPE Report",+"MPFD. Microdevices: Physics and Fabrication Technologies",+"MPLA. Modern Physics Letters A",+"MPLB. Modern Physics Letters B",+"M&P.. Moon and Planets",+"M&PSA Meteoritics and Planetary Science Supplement",+"M&PS. Meteoritics and Planetary Science",+"MRE.. Materials Research Express",+"MROVG Munich R Oldenbourg Verlag GmbH",+"MRRev Magnetic Resonance Review",+"MRSBu MRS Bulletin",+"MRSSP Materials Research Society Symposia Proceedings",+"MSAIQ Societa Astronomica Italiana Memorie Quarter",+"MSAIS Memorie della Societa Astronomica Italiana Supplementi",+"MSB.. Methods in Subnuclear Physics",+"MSCTN Meteorological Satellite Center Technical Note",+"MSE.. Multiscale Science and Engineering",+"MSEnA Materials Science and Engineering A",+"MSEnB Materials Science and Engineering B",+"MSEnC Materials Science and Engineering C",+"MSEng Materials Science and Engineering",+"MSEnR Materials Science and Engineering R Reports",+"MSF.. Materials Science Forum",+"MSHT. Metal Science and Heat Treatment",+"MSHTM Metal Science and Heat Treatment of Metals",+"MSMFR Milano Seminario Matematico e Fisico Rendiconti",+"MSM.. Mechanics of Structures and Machines",+"MSMSE Modelling Simul. Mater. Sci. Eng.",+"Msngr The Messenger",+"MSPE. Management Systems in Production Engineering",+"MSRSL Memoires of the Societe Royale des Sciences de Liege",+"MSRv. Mass Spectrometry Reviews",+"MSSP. Mechanical Systems and Signal Processing",+"MsT.. Masters Thesis",+"MTA.. Metallurgical Transactions A",+"MTB.. Metallurgical Transactions B",+"MTDM. Mechanics of Time-Dependent Materials",+"MTEng Microscale Thermophysical Engineering",+"MT... Metallurgical Transactions",+"MTObM Metallovedenie i Termicheskaia Obrabotka Metallov",+"MtoIs Meteorologicheskie Issledovaniia",+"MTPMM Metallurgical Transactions Physical Metallurgy Materials Science",+"MTRMA Meteor Forschungsergebnisse Reihe B Meteorologie und Aeronomie",+"MtSOM Mount Stromlo Observatory Mimeographs",+"MtWAR Mount Wilson and Palomar Observatory Annual Report",+"MulSE Multiscale Science and Engineering",+"MuMat Multifunctional Materials",+"MUPB. Moscow University Physics Bulletin",+"MURJE Mehran University Research Journal of Engineering and Technology",+"MUSS. Muenchen Universitaets Schriften Serie",+"MUVSK Moskovskii Universitet Vestnik Seriia Khimiia",+"MVMP. Methoden und Verfahren der Mathematischen Physik",+"MVSFA Moskovskii Universitet Vestnik Seriia Fizika Astronomiia",+"MVSMM Moskovskii Universitet Vestnik Seriia Matematika Mekhanika",+"MWE.. Mine Water and The Environment",+"MWGBI Mannheim West Germany Bibliographisches Institut AG",+"MWOAR Mount Wilson Observatory Annual Report",+"MWRv. Monthly Weather Review",+"NaAIJ Nanjing Aeronautical Institute Journal",+"NacEl Nachrichten Elektronik",+"NacZe Nachrichtentechnische Zeitschrift",+"NaGe. National Geographic",+"NanMe Nanomanufacturing and Metrology",+"NanoA Nanoscale Advances",+"NanoF Nano Futures",+"NanoH Nanoscale Horizons",+"NanoL Nano Letters",+"Nanop Nanophotonics",+"NanoR Nanoscale Reports",+"Nanos Nanoscale",+"Nanot Nanotechnology",+"Nansp Nanospectroscopy",+"NanSy Nanoelectromechanical Systems",+"Nanth Nanothermoelectrics",+"NapCo Osservatorio Astronomico di Capodimonte Napoli Contributi Astronomici",+"NaPho Nature Photonics",+"NASCL NASA Circular Letter",+"NASRP NASA Reference Publication",+"NASSP NASA Special Publication",+"NASTM NASA Technical Memo",+"NatAs Nature Astronomy",+"NatBi Nature Biotechnology",+"NatCC Nature Climate Change",+"NatCh Nature Chemistry",+"NatCo Nature Communications",+"NatEn Nature Energy",+"NatGe Nature Geoscience",+"NatH. Natural History",+"NATi. Nordisk Astronomisk Tidsskrift",+"NatMa Nature Materials",+"NATM. Nonlinear Analysis Theory Methods Applications",+"NatNa Nature Nanotechnology",+"NatPh Nature Physics",+"NatRM Nature Reviews Materials",+"NatRP Nature Reviews Physics",+"NatSc Natural Science",+"NatSR Scientific Reports",+"Natur Nature",+"NavAu Navigation Australia",+"Navig Navigation",+"NavPa Navigation Paris",+"NAZ.. Nachrichtenblatt der Astronomischen Zentralstelle Heidelberg",+"NBSSP National Bureau of Standards Special Publication",+"NBSTN National Bureau of Standards Technical Note",+"NCE.. Noise Control Engineering Journal",+"NCimA Nuovo Cimento A Serie",+"NCimB Nuovo Cimento B Serie",+"NCimC Nuovo Cimento C Geophysics Space Physics C",+"NCimD Nuovo Cimento D Serie",+"NCim. Il Nuovo Cimento",+"NCimL Nuovo Cimento Lettere",+"NCimR Nuovo Cimento Rivista Serie",+"NCimS Nuovo Cimento Serie",+"NCNS. Network: Computation in Neural Systems",+"NDS.. Nuclear Data Sheets",+"NDTI. Nondestructive Testing and Evaluation International",+"NDT.. Nuclear Data Tables",+"NeuL. Neuroscience Letters",+"NewA. New Astronomy",+"NewAR New Astronomy Reviews",+"NewSc New Scientist",+"NewSp New Space",+"NGFAW Nachrichtentechnische Gesellschaft Fachtagung ueber Antennen",+"NHCWP North Hollywood Calif Western Periodicals Co",+"NHESD Natural Hazards and Earth System Sciences Discussions",+"NHESS Natural Hazards and Earth System Sciences",+"NHTA. Numerical Heat Transfer Part A - Applications",+"NHTB. Numerical Heat Transfer Part B - Fundamentals",+"Nic1K Observatoire de Nice",+"nicm.rSpace Telescope NICMOS Instrument Science Report",+"NihOC Nihondaira Observatory Circular",+"NIMPA Nuclear Instruments and Methods in Physics Research A",+"NIMPB Nuclear Instruments and Methods in Physics Research B",+"NIMPR Nuclear Instruments and Methods in Physics Research",+"NInfo Nauchnye Informatsii",+"NINT. Nablyud. Iskusstvennykh Nebesnykh Tel",+"NISTJ National Institute of Standards and Technology Journal of Research",+"NISZ. Nabliudeniia Iskusstvennykh Sputnikov Zemli",+"NIUNA Napoli Istituto Universitario Navale Annali",+"NJMM. Neues Jahrbuch Mineralogie Monatshefte",+"NJPh. New Journal of Physics",+"NJSR. Netherlands Journal of Sea Research",+"NKG.. Nihon Kessho Gakkaishi",+"NLE.. Nonlinear Engineering",+"NML.. Nano-Micro Letters",+"NMTE. Nanoscale and Microscale Thermophysical Engineering",+"NN... Neural Networks",+"noao.pNOAO Proposal",+"NoDef Not Defined",+"NOGB. Nachr. Olbers-Ges. Bremen",+"NOHIC Nizamiah JAPAL Rangapur Observatories Hyderabad India Contributions",+"NoIGG Novosibirsk Institut Geologii i Geofiziki SO AN SSSR",+"NoIzN Novosibirsk Izdatel Nauka",+"Nonli Nonlinearity",+"NoPar Notes et Informations",+"NOSCA Observaciones Astronomicas Hechas en el Observatorio de Santiago de Chile",+"nova.pAAS Nova Highlights",+"NovIG Novosibirsk Institut Gidrodinamiki SO AN SSSR Dinamika Sploshnoi Sredy",+"NPAE. Nuclear Physics and Atomic Energy",+"NPGD. Nonlinear Processes in Geophysics Discussions",+"NPGeo Nonlinear Processes in Geophysics",+"NPhS. Nature Physical Science",+"npjAM npj Asia Materials",+"npjCA npj Climate and Atmospheric Science",+"npjCM npj Computational Mathematics",+"npjMG npj Microgravity",+"npjQI npj Quantum Information",+"npjQM npj Quantum Materials",+"npjRM npj Regenerative Medicine",+"npjSL npj Scientific of Learning",+"NPNDS Neutron Physics and Nuclear Data in Science and Technology",+"NPPP. Nuclear and Particle Physics Proceedings",+"NPPSB Nonequilibrium Problems in the Physical Sciences and Biology",+"NPUJ. Northwestern Polytechnical University Journal",+"NRA&A Nouvelle Revue d'Aeronautique et d'Astronautique",+"NRAON National Radio Astronomy Observatory Newsletter",+"nrao.pNational Radio Astronomy Observatory Press Release",+"NRAOP National Radio Astronomy Observatory Publications",+"NRAOR National Radio Astronomy Observatory Reprints",+"NRAOW National Radio Astronomy Observatory Workshop",+"NRL.. Nanoscale Research Letters",+"NROA. Nouvelle Revue d'Optique Appliquee",+"NROpt Nouvelle Revue d'Optique",+"NRRv. Naval Research Reviews",+"NRvEE Nature Reviews Earth and Environment",+"NRvHM New Review of Hypermedia and Multimedia",+"NSAP. Nonlinear, Statistical and Applied Physics",+"NSE.. Nuclear Science Engineering",+"NSMMT Nanoscale Systems Mathematical Modeling Theory and Applications",+"NSM.. Novel Superconducting Materials",+"NSSDC NSSDC Publication",+"NSTBL Notes Scientifiques et Techniques du Bureau des Longitudes",+"NSTIM Notes Scientifiques et Techniques de l'Institut de Mecanique Celeste",+"NTA.. Nonlinear Theory and Its Applications, IEICE",+"NTCo. Nondestructive Testing Communications",+"NTE.. Nondestructive Testing and Evaluation",+"NTN.. New Technology News",+"NTTRv NTT Review",+"NTvA. Novaya tekhn. v astron.",+"NUAAJ Nanjing University Aeronautics and Astronautics Journal",+"NuAlg Numerical Algorithms",+"NucFS Nuclear Fusion Special Supplement",+"NucFu Nuclear Fusion",+"NucIM Nuclear Instruments and Methods",+"nucl.earXiv Nuclear Experiment e-prints",+"nucl.tarXiv Nuclear Theory e-prints",+"NucPh Nuclear Physics",+"NucTe Nuclear Technology",+"NucTF Nuclear Technology Fusion",+"NUDTJ National University Defense Technology Journal",+"NuEnD Nuclear Engineering and Design",+"NUFEM Nagoya University Faculty Engineering Memoirs",+"NuGeo Nuclear Geophysics",+"NuMat Numerische Mathematik",+"NumHT Numerical Heat Transfer",+"NuPhA Nuclear Physics A",+"NuPhB Nuclear Physics B",+"NuPhS Nuclear Physics B Proceedings Supplements",+"NURIA Nagoya University Research Institute of Atmospherics Proceedings",+"NUSEM Nagoya University School Engineering Memoirs",+"NVS.. Nachrichtenblatt der Vereinigung der Sternfreunde",+"NWGot Nachrichten von der Gesellschaft der Wissenschaften zu Goettingen, Mathematisch-Physikalische Klasse",+"NW... Naturwissenschaften",+"NYASA Annals of the New York Academy of Sciences",+"NZJS. New Zealand Journal of Science",+"OAcJ. The Open Acoustics Journal",+"OACSC Observatorio Astronomico de Cordoba, Serie Contribuciones",+"OAeEJ The Open Aerospace Engineering Journal",+"OAJ.. The Open Astronomy Journal",+"OAORP Observations astronomiques faites a l'Observatoire royal de Paris",+"OAPJ. The Open Applied Physics Journal",+"OAP.. Odessa Astronomical Publications",+"OASJ. The Open Atmospheric Science Journal",+"OAst. Open Astronomy",+"OAWMN Oesterreichische Akademie Wissenschaften Mathematisch naturwissenschaftliche Klasse Sitzungsberichte Abteilung",+"OBN1K Observatoire de Besancon - CNES",+"Obser Observation pi",+"Obs.. The Observatory",+"ObVyS Obzory Vysokotemperaturnoi Sverkhprovodimosti",+"OCAM. Optimal Control Applications and Methods",+"OccN. Occultation Newsletter, International Occultation Timing Association (IOTA)",+"OcDyn Ocean Dynamics",+"Ocean Oceanus Summer",+"OcEng Ocean Engineering",+"Ocgy. Oceanology",+"OcMod Ocean Modelling",+"OCMPJ The Open Condensed Matter Physics Journal",+"OCPJ. The Open Chemical Physics Journal",+"OcScD Ocean Science Discussions",+"OcSci Ocean Science",+"OCSC. OAA Compututer Section Circular",+"OCzAS Ondrejov Czechoslovakia Czechoslovak Academy Sciences CAS Astronomical Institute Publications",+"Oecol Oecologia",+"OED.. El Observador de Estrellas Dobles",+"OEJV. Open European Journal on Variable Stars",+"OEng. Open Engineering",+"OERv. Opto-Electronics Review",+"OExpr Optics Express",+"OGC.. The Open Geology Journal",+"OGeo. Open Geosciences",+"OHJ.. The Open Hydrology Journal",+"OIDP. Optoelectronics, Instrumentation and Data Processing",+"OISNP Oxford Pergamon Press International Series on Natural Philosophy",+"OISTS Oxford Pergamon Press International Tables Selected Constants",+"OJA.. Open Journal of Acoustics",+"OJAp. The Open Journal of Astrophysics",+"OJAS. Open Journal of Applied Sciences",+"OJBp. Open Journal of Biophysics",+"OJFD. Open Journal of Fluid Dynamics",+"OJGeo Open Journal of Geology",+"OJMic Open Journal of Microphysics",+"Okean Okeanologiia",+"OLEB. Origins of Life and Evolution of the Biosphere",+"OMatS Open Material Sciences",+"OMEJ. The Open Mechanical Engineering Journal",+"OMExp Optical Materials Express",+"OMJ.. The Open Mechanics Journal",+"OMnJ. The Open Mineralogy Journal",+"OMN.. Optofluidics, Microfluidics and Nanofluidics",+"OMPJ. The Open Mineral Processing Journal",+"OMX.. Optical Materials: X",+"ONCP. Old and New Concepts of Physics",+"ONERA ONERA TP",+"ONJ.. The Open Nanoscience Journal",+"ONMJ. The Open Numerical Methods Journal",+"ONPPJ The Open Nuclear &amp",+"ONRAS Occasional Notes of the Royal Astronomical Society",+"OOcJ. The Open Oceanagraphy Journalurnal",+"OOEJ. The Open Ocean Engineering Journal",+"OOJ.. The Open Optics Journal",+"OOPS. Fundamentalnye Osnovy Opticheskoi Pamiati i Sredy",+"OOVRO Observations Owens Valley Radio Observatory",+"OPalJ The Open Paleontology Journal",+"OpAtO Optika Atmosfery i Okeana",+"OpAt. Optika Atmosfery",+"OPCJ. The Open Physical Chemistry Journal",+"OPhyJ Open Physics Journal",+"OPhy. Open Physics",+"OPJ.. Optics and Photonics Journal",+"OpMeP Optiko Mekhanicheskaia Promyshlennost",+"OPPJ. The Open Plasma Physics Journal",+"OPP.. Organic Photonics and Photovoltaics",+"OpPuT Optoelektronika i Poluprovodnikovaia Tekhnika",+"OpSCN Optical Sciences Center Newsletter",+"OpSp. Optika i Spektroskopiia",+"OptCo Optics Communications",+"OptEL Optoelectronics Letters",+"OptEn Optical Engineering",+"Optfl Optofluidics",+"OptFT Optical Fiber Technology",+"Optic Optica",+"Optik Optik",+"OptLE Optics and Lasers in Engineering",+"OptL. Optics Letters",+"OptLT Optics Laser Technology",+"OptMa Optical Materials",+"OptNa Optical Nanoscopy",+"OptN. Optics News",+"OptPE Optical Physics and Engineering",+"OptPN Optics & Photonics News",+"OptRv Optical Review",+"OptSp Optics and Spectroscopy",+"OQEle Optical and Quantum Electronics",+"OREJ. The Open Renewable Energy Journal",+"OrGeo Organic Geochemistry",+"Orion Orion: Zeitschrift f&uuml",+"Ori.. Orione",+"OrLi. Origins of Life",+"OrNav Ortung und Navigation",+"ORROE Occasional Reports of the Royal Observatory Edinburgh",+"ORSJ. The Open Remote Sensing Journal",+"OSFOT Observatoire de la Soci&eacute",+"OSID. Open Systems and Information Dynamics",+"Osir. Osiris",+"OSJaJ Oceanographical Society of Japan Journal",+"OSJ.. Ocean Science Journal",+"OslR. Institute of Theoretical Astrophysics Blindern Oslo Reports",+"OSpeJ The Open Spectroscopy Journal",+"OSPJ. The Open Signal Processing Journal",+"OSSJ. The Open Surface Science Journal",+"oss..pNASA OSS Proposal",+"OSUC. Observationes Astronomicas Insitutas in Specula Universitatis Caesareae Dorpatensis",+"OSuJ. The Open Superconductors Journal",+"OsUTR Osaka University Technology Reports",+"OtObI Otbor i Obrabotka Informatsii",+"O&T.. Observations et Travaux",+"OtPI. Otbor i Peredacha Informatsii",+"OVS.. Observation of Variable Stars",+"OxfOO Oxford University Observatory Observations",+"PABei Progress in Astronomy",+"PAB.. Publications of The Astrophysics Branch Ottawa",+"PadCR Osservatorio Astronomico di Padova Comunicazioni e Rassegne",+"PADEU Publications of the Astronomy Department of the Eotvos Lorand University",+"PAIB. Publications of the Astronomy Institute of Bonn",+"PAICU Publications of the Astronomical Institute of the Charles University",+"PAICz Publications of the Astronomical Institute of the Czechoslovak Academy of Sciences",+"PAIJ. Physics &amp",+"PAIKH Publikationen des Astrophysikalischen Instituts Koenigstuhl-Heidelberg",+"Palai PALAIOS",+"PAllO Publications of the Allegheny Observatory of the University of Pittsburgh",+"PalOc Paleoceanography",+"PAM.. Physics of Atoms and Molecules",+"PAN.. Physics of Atomic Nuclei",+"PAOS. Publications of the Astronomical Observatory of Sarajevo",+"PApCh Pure & Applied Chemistry",+"PApGe Pure and Applied Geophysics",+"PAPhS Proceedings of the American Philosophical Society",+"PApOp Pure Applied Optics",+"PA... Popular Astronomy",+"PApPh Pure and Applied Physics",+"ParC. Parallel Computing",+"PaReL Pattern Recognition Letters",+"PASAM Polish Academy of Science Arch Mech",+"PASA. Publications of the Astronomical Society of Australia",+"PASAS Polish Academy of Science Artificial Satellites",+"PASAu Proceedings of the Astronomical Society of Australia",+"PASIG Polish Academy of Sciences Institute of Geophysics Publications",+"PASJ. Publications of the Astronomical Society of Japan",+"PASK. Publications of the Academy of Science Kasakstan Sect. Astrobotanics",+"PASP. Publications of the Astronomical Society of the Pacific",+"PASRB Publications of the Astronomical Society Rudjer Boskovic",+"PAth. Publications of the Laborotory of Astronomy University of Athens",+"PATid PATid___Popular Astronomisk Tidskrift",+"PAUTx University of Texas Publications in Astronomy",+"PAZh. Pisma v Astronomicheskii Zhurnal",+"PBeiO Publications of the Beijing Astronomical Observatory",+"PBosO Publications of the Bosscha Observatory Lembang Indonesia",+"PBrn. Publications of the Astronomical Institute of the University of Borneo",+"PCAS. Proceedings of the California Academy of Sciences",+"PCat. Publications of Osservatorio Astrofisico di Catania",+"PCCP. Physical Chemistry Chemical Physics (Incorporating Faraday Transactions)",+"PCEA. Physics and Chemistry of the Earth A",+"PCEB. Physics and Chemistry of the Earth B",+"PCEC. Physics and Chemistry of the Earth C",+"PCED. Physics and Chemistry of the Earth Delta",+"PCE.. Physics and Chemistry of the Earth",+"PCHEI Physics in Collision: High-Energy ee/ep/pp Interactions",+"PCinO Publications of the Cincinnati Observatory",+"PCMLA Physics and Chemistry of Materials with Low-Dimensional Structures Series A",+"PCMLB Physics and Chemistry of Materials with Low-Dimensional Structures Series B",+"PCMLC Physics and Chemistry of Materials with Low-Dimensional Structures Series C",+"PCMLD Physics and Chemistry of Materials with Low-Dimensional Structures",+"PCM.. Physics and Chemistry of Minerals",+"PCMPS Protection and Control of Modern Power Systems",+"PCooO Publications of the Cook Observatory",+"PCopO Publikationer og mindre Meddeler fra Kobenhavns Observatorium",+"PCPS. Proceedings of the Cambridge Philosophical Society",+"PCSE. Physical Chemistry: Science and Engineering",+"PCS.. Physics and Chemistry in Space",+"PCTM. Physikalisch-Chemische Trenn- und Messmethoden",+"PCZNN Politechnika Czestochowska Zeszyty Naukowe Nauki Techniczne Mechanika",+"PDAO. Publications of the Dominion Astrophysical Observatory Victoria",+"PDAUC Publications of the Department of Astronomy University of Chile",+"PDDO. Publications of the David Dunlap Observatory",+"PDHO. Publications of Debrecen Heliophysical Observatory",+"PDiff Powder Diffraction",+"PDO.. Publications of the Dominion Observatory Ottawa",+"PDreO Publications of the Dresden Observatory",+"PDSS. NASA Planetary Data System",+"PDU.. Physics of the Dark Universe",+"PEEI. Physics and Evolution of the Earth's Interior",+"PEFPN Physica Energiae Fortis et Physica Nuclearis",+"PEPI. Physics of the Earth and Planetary Interiors",+"PEPS. Progress in Earth and Planetary Science",+"PerCo Perkins Observatory Contributions",+"PerMS Perceptual Motor Skills",+"PerOC Perth Observatory Communication",+"PFG.. PFG - Journal of Photogrammetry, Remote Sensing and Geoinformation Science",+"PFP.. Philosophy and Foundations of Physics",+"PFR.. Plasma and Fusion Research",+"PGAOI Pulkovo Glavnaia Astronomicheskaia Observatoriia Izvestiia",+"PGC.. Papers on Global Change IGBP",+"PGenA Publications of the Observatoire Geneve Series A",+"PGenB Publications of the Observatoire Geneve Series B",+"PgE.. Photogrammetric Engineering",+"PgERS Photogrammetric Engineering and Remote Sensing",+"PGLO. Publications of the Goethe Link Observatory",+"PGooO Publications of the Goodsell Observatory, Carleton College",+"Pg... Photogrammetria",+"PGro. Publications of the Kapteyn Astronomical Laboratory Groningen",+"PGZNM Politechnika Gdanska Zeszyty Naukowe Mechanika",+"PhApp Physics and its Applications",+"PhaTr Phase Transitions, A Multinational Journal",+"PhBio Physical Biology",+"PhB.. Physics Bulletin",+"PhChE Physics and Chemistry of Earth",+"PhChH PhysicoChemical Hydrodynamics",+"PhDT. Ph.D. Thesis",+"PhFlA Physics of Fluids A",+"PhFlB Physics of Fluids B",+"PhFl. Physics of Fluids",+"PhiJR Philips Journal Research",+"PhInt Photo Interpretation",+"PhiRR Philips Research Reports",+"PhiTR Philips Technical Review",+"PhLA. Physics Letters A",+"PhLB. Physics Letters B",+"PhLC. Physics Letters Section C Physics Reports C",+"PhLF. Physics Laser Fusion",+"PhL.. Physics Letters",+"PhLRv Physics of Life Reviews",+"PhMet Physics of Metals",+"PhNan Photonics and Nanostructures",+"Phoen Phoenix Mitteilungsblatt fuer Veraenderlichenbeobachter",+"PhoSp Photonics Spectra",+"Phot. Photoniques",+"PhPl. Physics of Plasmas",+"PhP.. Physics in Perspective",+"PhPro Physics Procedia",+"PhQE. Physics of Quantum Electronics",+"PhR.. Physics Reports",+"PhRvA Physical Review A",+"PhRvB Physical Review B",+"PhRvC Physical Review C",+"PhRvD Physical Review D",+"PhRvE Physical Review E",+"PhRvF Physical Review Fluids",+"PhRvI Physical Review Series I",+"PhRvL Physical Review Letters",+"PhRvM Physical Review Materials",+"PhRv. Physical Review",+"PhRvP Physical Review Applied",+"PhRvR Physical Review Research",+"PhRvS Physical Review Accelerators and Beams",+"PhRvX Physical Review X",+"PhSen Photonic Sensors",+"PhSRv Physical Sciences Reviews",+"PhSS. Physics of the Solid State",+"PhST. Physica Scripta Volume T",+"PhTea The Physics Teacher",+"PhTec Physics in Technology",+"PhT.. Physics Today",+"PhuZ. Physik in unserer Zeit",+"PhyA. Physica A Statistical Mechanics and its Applications",+"PhyBC Physica B+C",+"PhyBl Physikalische Bl&auml",+"PhyB. Physica B Condensed Matter",+"PhyC. Physica C Superconductivity",+"PhyD. Physica D Nonlinear Phenomena",+"PhyEd Physics Education",+"PhyE. Physica E Low-Dimensional Systems and Nanostructures",+"PhyEs Physics Essays",+"PhyG. Physikalische Gesellschaft",+"PhyGZ Physikalische Gesellschaft Z&uuml",+"PhyIn Physics International",+"PhylS Physiologist Supplement",+"PhyMe Physical Mesomechanics",+"PhyM. Physiological Measurement",+"PhyN. Physics Notes",+"PhyNr Physica Norvegica",+"PhyNY Physics New York",+"PhyOJ Physics Online Journal",+"PhyO. Physics Open",+"Phy.. Physica",+"PhyR. Physical Research",+"PhySB Physica Scripta B",+"physicarXiv Physics e-prints",+"Physi Physics",+"PhyS. Physica Scripta",+"PhyU. Physics Uspekhi",+"PhyW. Physics World",+"PhyZ. Physikalische Zeitschrift",+"PIAGL Publications de l'Institut d'Astronomie et de Geophysique Georges Lemaitre",+"PIAHS Proceedings of the International Association of Hydrological Sciences",+"PIASE Proceedings of the Indian Academy of Science, Earth and Planetary Sciences",+"PIGP. Proceedings of the Institute of General Physics, Adademy of the Sciences of Russia",+"PILOM Proceedings of the International Latitude Observatory at Mizusawa",+"PINSA Proceedings of the Indian National Science Academy Part A",+"PINSB Proceedings of the Indian National Science Academy Part B",+"PIRE. Proceedings of the IRE",+"PIstO Publications of the Istanbul University Observatory",+"PJAB. Proceeding of the Japan Academy, Series B",+"PJGeo Pakistan Journal of Geology",+"PJMPE Polish Journal of Medical Physics And Engineering",+"PKAO. Pyublikatskii Kievskoj Astronomicheskoj Observatorii",+"PKAS. Publication of Korean Astronomical Society",+"PKCat Publ. House Czech. Acad. Sci.",+"PKirO Publications of the Kirkwood Observatory of Indiana University",+"PKM.. Physik der Kondensierten Materie",+"PKUJ. Publikationen der Kaiserlichen Universitaets-Sternwarte Jurjew",+"PlAst Planetary Astronomy",+"PLDS. Physics of Low-Dimensional Structures",+"PLicO Publications of Lick Observatory",+"PLoSO PLoS ONE",+"PlPh. Plasma Physics",+"PlPhR Plasma Physics Reports",+"PLPla Observatory Astronomical La Plata Series Astronomies",+"PlREx Plasma Research Express",+"PlR.. Planetary Report",+"PLSCB PLoS Computational Biology",+"PlSci Planetary Science",+"PlST. Plasma Science and Technology",+"PMagA Philosophical Magazine, Part A",+"PMagB Philosophical Magazine, Part B",+"PMagL Philosophical Magazine Letters",+"PMag. Philosophical Magazine",+"PManO Publications of the Manila Observatory",+"PMatP Progress in Mathematical Physics",+"PMB.. Physics in Medicine and Biology",+"PMcCO Publications of the Leander McCormick Observatory",+"PMCPA PMC Physics A",+"PMCPB PMC Physics B",+"PMCPC PMC Physics C",+"PMetP Progress in Metal Physics",+"PMetR Papers in Meteorological Research",+"PMG.. Papers Meteorology Geophysics",+"PMMin Proper Motion Survey, University of Minnesota",+"PMM.. Physics of Metals and Metallography",+"PMO.. Perth Meridien Observations",+"PMP.. Powder Metallurgy Progress",+"PMRP. Progress in Medical Radiation Physics",+"PMTF. PMTF Zhurnal Prikladnoi Mekhaniki i Tekhnicheskoi Fiziki",+"PMtv. Facultad de Humanidades y Ciencias Universidad de la Republica Montevideo",+"PMunO Publications of the Munich Observatory",+"PNAOC Publications of the National Astronomical Observatories of China",+"PNAOJ Publications of the National Astronomical Observatory of Japan",+"PNAS. Proceedings of the National Academy of Science",+"PNAU. Proceedings of National Aviation University",+"PnGid Pnevmatika i Gidravlika",+"PNSBP Proceedings of the National Society of Black Physicists",+"PNSci Progress in Natural Science",+"PNSC. Proceedings of the National Science Council",+"POANC Publications of the Observatorie Astronomie Nacional Cerro Calan",+"PoAn. Postepy Astronautyki",+"PoAst Postepy Astronomii Krakow",+"POBeo Publications de l'Observatoire Astronomique de Beograd",+"POBol Publications of dell'Osservatorio Astronomie de Bologna",+"PoCom Polymer Composites",+"PODE. Dun Echt Observatory Publications",+"POHel Publications of the Astronomical Observatory Helsinki",+"POHP. Publications of the Observatoire Haute-Provence",+"PolAt Pollution Atmospherique",+"PolPh Polymer Physics",+"PolPP Poluprovodnikovye Pribory i ikh Primenenie",+"PolRe National Institute Polar Research Memoirs",+"PolSc Polar Science",+"PolSi Poliarnye Siianiia",+"PolTM Poluprovodnikovaia Tekhnika i Mikroelektronika",+"POLyo Publications of the Observatoire de Lyon",+"Polyt Polytechnica",+"PomAK Pomiary Automatyka Kontrola",+"PoMec Polymer Mechanics",+"POMic Publications of Michigan Observatory",+"POMil Pubblicazioni dell'Osservatorio Astronomico di Milano-Merate",+"POMin Publications of the Astronomical Observatory University of Minnesota",+"POPad Pubblicazioni dell'Osservatorio Astronomico di Padova",+"POPot Publikationen des Astrophysikalischen Observatoriums zu Potsdam",+"POrCo Progress in Organic Coatings",+"PorMe Poroshkovaia Metallurgiia",+"PoS.. Proceedings of Science",+"POStr Publication de l'Observatoire de Strasbourg",+"POTor Pubblicazioni Varie Fuori Serie dell'Osservatorio Astronomico di Torino",+"PotUr Potins d'Uranie",+"POVRO Publications of the Owens Valley Observatory",+"POxf. Publications University of Oxford Department of Astrophysics",+"PPCAS Publication of the Pomona College Astronomical Society",+"PPCF. Plasma Physics and Controlled Fusion",+"PPcPp Progress in Photochemistry and Photophysics",+"PPEE. Periodica Polytechnica Electrical Engineering",+"PPhI. Particle Physics Insights",+"PPh.. Papers in Physics",+"PPHTS Physical Properties of High Temperature Superconductors",+"PPME. Periodica Polytechnica Mechanical Engineering",+"PPMtO Publications of the Purple Mountain Observatory",+"PPNL. Physics of Particles and Nuclei Letters",+"PPN.. Physics of Particles and Nuclei",+"PPPLR Princeton Plasma Physics Laboratory Report",+"PPP.. Palaeogeography Palaeoclimatology Palaeoecology",+"PPSA. Proceedings of the Physical Society A",+"PPSB. Proceedings of the Physical Society B",+"PPSL. Proceedings of the Physical Society of London",+"PPS.. Proceedings of the Physical Society",+"PPTE. Periodica Polytechnica Transportation Engineering",+"PQE.. Progress in Quantum Electronics",+"PraAc Prague Academia",+"PrAA. Progress in Astronautics and Aeronautics",+"PrAeS Progress in Aerospace Sciences",+"PrAiA Problemy Arktiki i Antarktiki",+"Prama Pramana",+"PrA.. Progress in Astronomy",+"PrAst Practical Astronomy",+"PrAtO Leningrad Gidrometeoizdat Sovremennye Problemy Atmosfernoi Optiki",+"PrBio Problemy Bioniki",+"PrCmg Problems of Cosmogeny",+"PRCO. Publications of the Riverview College Observatory",+"PrDRV Problemy Difraktsii i Rasprostraneniia Voln",+"PrECS Progress in Energy and Combustion Science",+"PrEM. Probabilistic Engineering Mechanics",+"PrEne Progress in Energy",+"PrEPS Procedia Earth and Planetary Science",+"PreR. Precambrian Research",+"PrExP Propellants and Explosives Pyrotechnics",+"PrEx. Propellants and Explosives",+"PrFA. Problemy Fiziki Atmosfery",+"PrFKL Problemy Iadernoi Fiziki i Kosmicheskikh Luchei",+"PRFVT Plastiques Renforces Fibres de Verre Textile",+"PRIAA Proceedings of the Royal Irish Academy Section A",+"PRIAN Proceedings of the Research Institute of Atmospherics, Nagoya University",+"Prib. Priborostroenie",+"PrICA Proceedings of the ICA",+"PriMM Prikladnaia Matematika i Mekhanika",+"PriMP Prikladnaia Matematika i Programmirovanie",+"PriM. Prikladnaia Mekhanika",+"PRI.. Physics Research International",+"Prir. Priroda",+"PriTE Pribory i Tekhnika Eksperimenta",+"Priv. Private Communication",+"PrKFi Problemy Kosmicheskoi Fiziki",+"PrMas Problemy Mashinostroeniia",+"PrMS. Progress in Materials Science",+"PRNAA Proceedings of the Royal Netherlands Academy of Arts and Sciences",+"PrOce Progress in Oceanography",+"PROE. Publications of the Royal Observatory of Edinburgh",+"PrOpt Progess in Optics",+"ProTe Promyshlennaia Teplotekhnika",+"PRPER Physical Review Physics Education Research",+"PrPG. Progress in Physical Geography",+"PrPh. Progress in Physics",+"PrPNP Progress in Particle and Nuclear Physics",+"PRP.. Pattern Recognition in Physics",+"PrPro Problemy Prochnosti",+"PrSP. Problemy Sluchainogo Poiska",+"PrSS. Progress In Surface Science",+"PRSTP Physical Review Special Topics Physics Education",+"PrTE. Problemy Tekhnicheskoi Elektrodinamiki",+"PrTGE Problemy Teorii Gravitatsii i Elementarnykh Chastits",+"PrTPT Problemy Teploenergetiki i Prikladnoi Teplofiziki",+"PrUkr Akademiia Nauk Ukrains koi RSR Dopovidi Matematika Prirodoznavstvo Tekhnichni Nauki",+"PrVP. Proceedings of Vibration Problems",+"PSAIL Pubblicazioni della Stazione Astronomica Internazionale di Latitudine",+"PSAO. Publications of the Shaanxi Astronomical Observatory",+"PSCDS Publication Speciale du Centre de Donnees Stellaires",+"PSCEC Physical Sciences Series of the Commission of European Communities",+"PSci. Pour la Science",+"PShaO Publications of the Shaanxi Astronomy Observatory",+"PSJ.. The Planetary Science Journal",+"PSL.. Physics of Solids and Liquids",+"PSprO Publications of the Sproul Observatory",+"PSSAR Physica Status Solidi Applied Research",+"PSSBR Physica Status Solidi B Basic Research",+"PSSCR Physica Status Solidi C Current Topics",+"PSSNN Poliarnye Siianiia i Svechenie Nochnogo Neba",+"P&SS. Planetary and Space Science",+"PSSRR Physica Status Solidi Rapid Research Letters",+"PSST. Plasma Sources Science Technology",+"PSZNM Politechnika Slaska Zeszyty Naukowe Mechanika",+"PTarO Publications of the Tartu Astrofizica Observatory",+"PTasO Publications of the Tashkent Astronomical Observatory",+"PTCP. Progress in Theoretical Chemistry and Physics",+"PTEP. Progress of Theoretical and Experimental Physics",+"PThPh Progress of Theoretical Physics",+"PThPS Progress of Theoretical Physics Supplement",+"PTPPB Physics and Technology of Particle and Photon Beams",+"PUAMA Poznan Uniwersytet im Adama Mickiewicza Seria Akustyka",+"PUAMF Poznan Uniwersytet im Adama Mickiewicza Seria Fizyka",+"PUAms Publications of the Astronomical Institute of the University of Amsterdam",+"PUPFA Publications of the University of Pennsylvania Flower Astronomical Observatory",+"PUSK. Publication der Koeniglichen Sternwarte in Kiel",+"PUSNO Publications of the U.S. Naval Observatory Second Series",+"PVasO Publications of the Vassar College Observatory",+"PVSS. Royal Astronomical Society of New Zealand Publications of Variable Star Section",+"PVVO. Publications of the Van Vleck Observatory",+"PWasO Publications of the Washburn Observatory",+"PWHHO Publications of West Hendon House Observatory, Sunderland",+"PWP.. Physics of Wave Phenomena",+"PW&SO Publications of the Warner & Swasey Observatory",+"PYerO Publications of the Yerkes Observatory",+"PYunO Publications of the Yunnan Observatory",+"PZETF Pisma v Zhurnal Eksperimentalnoi i Teoreticheskoi Fiziki",+"PZhTF Pisma v Zhurnal Tekhnischeskoi Fiziki",+"PZ... Peremennye Zvezdy",+"PZP.. Peremennye Zvezdy Prilozhenie",+"QApMa Quarterly of Applied Mathematics",+"QBSA. Quarterly Bulletin on Solar Activity",+"QBS.. Quantum Beam Science",+"QJMAM Quarterly Journal of Mechanics and Applied Mathematics",+"QJMat The Quarterly Journal of Mathematics",+"QJPAM The Quarterly Journal of Pure and Applied Mathematics",+"QJRAS Quarterly Journal of the Royal Astronomical Society",+"QJRMS Quarterly Journal of the Royal Meteorological Society",+"QMQM. Quantum Measurements and Quantum Metrology",+"QREI. Quality Reliability Engineering International",+"QSRv. Quaternary Science Reviews",+"QS&T. Quantum Science and Technology",+"QuEle Quantum Electronics",+"QuFin Quantitative Finance",+"QuInt Quaternary International",+"QuIP. Quantum Information Processing",+"QuOpt Quantum Optics",+"QuRes Quaternary Research",+"RAA.. Research in Astronomy and Astrophysics",+"RadA. Radio Astronomy: Journal of the Society of Amateur Radio Astronomers,",+"RadEf Radiation Effects",+"Radel Radioehlektronika",+"RadIn Radio industry",+"RadM. Radiation Measurements",+"Rad.. Radiant, Journal of the Dutch Meteor Society",+"RadR. Radiation Research",+"RaEE. Radio and Electronic Engineer",+"RaEl. Radiotekhnika i Elektronika",+"RaF.. Radiofizika",+"RALR. Rutherford Appleton Laboratory Report",+"RAOU. Recherches Astronomiques de l'Observatoire d'Utrecht",+"RaPC. Radiation Physics and Chemistry",+"RA... Ricerche Astronomiche",+"RaRLJ Radio Research Laboratory, Journal",+"RaRLR Radio Research Laboratory, Review",+"RAROC Results of Astronomical Observations made at the Royal Observatory, Cape of Good Hope",+"RArtR Rock Art Research",+"RaSc. Radio Science",+"RaT.. Radiotekhnika",+"RBrFi Revista Brasileira de Fisica",+"RCD.. Regular and Chaotic Dynamics",+"RCMS. Rapid Communications in Mass Spectrometry",+"RDTM. Radiation Detection Technology and Methods",+"Rech. La Recherche",+"REDS. Radiation Effects and Defects in Solids",+"REEP. Radio Engineering and Electronic Physics",+"REES. Renewable Energy and Environmental Sustainability",+"RELEA Latin American Journal of Astronomy Education",+"RemS. Remote Sensing",+"ReNEv Research in Nondestructive Evaluation",+"ResPh Results in Physics",+"RF... Raumfahrtforschung",+"RFrG. Revue Francaise de Geotechnique",+"RFrM. Revue Francaise de Mecanique",+"RGAO. Astronomical Observations made at the Royal Observatory at Greenwich",+"RGG.. Reports on Geodesy and Geoinformatics",+"RGOB. Royal Greenwich Observatory Bulletins",+"RGRH. Rep. Hydrograph. Res. Japan",+"RHRJ. Report of Hydrographic Researches in Japan",+"RIG.. Rivista Italiana di Geofisica",+"Rise. Rise Hvezd",+"RJARA Russian Journal of Astrophysical Research Series A",+"RJMP. Russian Journal of Mathematical Physics",+"RJPCA Russian Journal of Physical Chemistry A",+"RLOpt Research Letters in Optics",+"RLPhy Research Letters in Physics",+"RLSFN Rendiconti Lincei. Scienze Fisiche e Naturali",+"RMFMR Rock Mechanics Felsmechanik Mecanique des Roches",+"RMRE. Rock Mechanics and Rock Engineering",+"RMTME USSR Rept Machine Tools Metalworking Equipment JPRS UMM",+"RMxAA Revista Mexicana de Astronomia y Astrofisica",+"RMxFE Revista Mexicana de Fisica E",+"RMxF. Revista Mexicana de Fisica",+"RMxFS Revista Mexicana de Fisica Supplement",+"RNAAS Research Notes of the American Astronomical Society",+"RNAOJ Report of the National Astronomical Observatory of Japan",+"RNAO. Resultados del Observatorio Nacional Argentino",+"RNISZ Rezultaty Nabliudenii Iskusstvennykh Sputnikov Zemli",+"RNOST Research News & Opportunities in Science and Theology",+"RoAJ. Romanian Astronomical Journal",+"ROAn. Royal Observatory Annals",+"Robot Robotica",+"ROCi. Republic Observatory Johannesburg Circular",+"ROCor Resultados del Observatorio Nacional Argentino en Cordoba",+"Roczn Rocznik Astronomiczny Observatorjum Krakowskiego Krakow",+"RoDok Rossijskaya Akademiya Nauk Doklady",+"RoIE. Rossiiskaia Akademiia Nauk Izvestiia Energetika",+"RoIET Rozprawy Inzynierskie Engineering Transactions",+"RoIMT Rossijskaya Akademiya Nauk Izvestiya Mekhanika Tverdogo Tela",+"RoIMZ Rossiiskaia Akademiia Nauk Izvestiia Mekhanika Zhidkosti i Gaza",+"RoIn. Rozprawy Inzynierskie",+"RoISF Rossiiskaia Akademiia Nauk Izvestiia Seriia Fizicheskaia",+"RoIzF Rossijskaya Akademiya Nauk Izvestiya Seriya Fizicheskaya",+"RoJPh Romanian Journal of Physics",+"ROLun Reports of the Lund Observatory",+"RomCo Osservatorio Astronomico di Roma su Monte Mario Contributi Scientifici",+"RoRPh Romanian Reports in Physics",+"RosOB Observatorio Astronomico Municipal de Rosario Argentia  Boletin",+"RpBAM USSR Report Space Biology Aerospace Medicine JPRS USB",+"RpCCA USSR Report Cybernetics Computers Automation Technology JPRS UCC",+"RpEEE USSR Rept Electron Elec Eng JPRS UEE",+"RpEE. USSR Rept Eng Equipment JPRS UEQ",+"RpEn. USSR Rept Energy JPRS UEN",+"RpESc USSR Report Earth Sciences JPRS UES",+"RPFSU Research Papers Faculty of Materials Science and Technology Slovak University of Technology",+"RpMP. Reports on Mathematical Physics",+"RpMSM USSR Rept Mater Sci Met JPRS",+"RpPhM USSR Rept Phys Math JPRS UPM",+"RPPh. Reports on Progress in Physics",+"RPRA. Radio Physics and Radio Astronomy",+"RpSBA USSR Rept Space Biol Aerospace Med Sep",+"RpScT JPRS Report Science Technology USSR Space",+"RpSpR USSR Report Space",+"RpTr. USSR Rept Transportation JPRS UTR",+"R&QE. Radiophysics and Quantum Electronics",+"RRDAP Recent Research Development in Applied Physics",+"RRDBB Recent Research Development in Biophysics and Biochemistry",+"RRDBC Recent Research Development in Biophysical Chemistry",+"RRDCP Recent Research Development in Chemical Physics",+"RRDPC Recent Research Development in Physical Chemistry",+"RRDPF Recent Research Development in Physics of Fluids",+"RRDP. Recent Research Development in Physics",+"RRDSP Recent Research Development in Statistical Physics",+"RRMPA Revue Roumaine de Mathematiques Pures et Appliquees",+"RRPRA Russian Radio Physics and Radio Astronomy",+"RRP.. Research Reports in Physics",+"RScEd Research in Science Education",+"RScI. Review of Scientific Instruments",+"RSCT. Transactions of the Royal Society of Canada",+"RSEMS Remote Sensing Electro Magnetic Spectrum",+"RSEnv Remote Sensing of Environment",+"RSEPS Proceedings of the Royal Society of Edinburgh",+"RSESS Remote Sensing in Earth Systems Sciences",+"RSET. Transaction of the Royal Society of Edinburgh",+"RSN&R Royal Society of London Notes & Records",+"RSNSW Journal and Proceedings of the Royal Society of New South Wales",+"RSOS. Royal Society Open Science",+"RSPSA Proceedings of the Royal Society of London Series A",+"RSPSB Proceedings of the Royal Society of London Series B",+"RSPS. Proceedings of the Royal Society of London Series I",+"RSPTA Philosophical Transactions of the Royal Society of London Series A",+"RSPTB Philosophical Transactions of the Royal Society of London Series B",+"RSPT. Philosophical Transactions of the Royal Society of London Series I",+"RSPUT Report Series of the Department of Physics and Science, University of Turku",+"RSQ.. Remote Sensing Quarterly",+"RSTEd Research in Science and Technological Education",+"RST.. Revue Scientifique et Technique CECLES CERS",+"RTP.. Research Trends in Physics",+"RTRE. Radiotekhnika Tecommunications Radio Engineering Radio Engineering",+"RTrTe Revista Transporturilor si Telecomunicatiilor",+"RTSRE Robotic Telescope, Student Research and Education Proceedings",+"RuAer Russian Aeronautics",+"RuCRv Russian Chemical Reviews",+"RuGG. Russian Geology and Geophysics",+"Ruimt Ruimtevaart",+"RuMaS Russian Mathematical Surveys",+"RuMet Russian Metallurgy",+"RuPhJ Russian Physics Journal",+"RvAc. Revue d'Acoustique",+"RvAMS Reviews on Advanced Materials Science",+"RvAqS Reviews in Aquatic Sciences",+"RvA.. Revista Astronomica Organo de la Asociacion Argengina Amigos de la Astronomia Buenos Aires",+"RvAST Reviews of Accelerator Science and Technology",+"RvCF. Revista Colombiana de Fisica",+"RvGeo Reviews of Geophysics",+"RvGeS Reviews of Geophysics Supplement",+"RvGSP Reviews of Geophysics and Space Physics",+"RvMad Revista Real Acad. Ciencias Exact. Fis. Nat. Madrid",+"RvMaP Reviews in Mathematical Physics",+"RvMA. Reviews in Modern Astronomy",+"RvMG. Reviews in Mineralogy and Geochemistry",+"RvMin Reviews of Mineralogy",+"RvMPP Reviews of Modern Plasma Physics",+"RvMP. Reviews of Modern Physics",+"RvMPS Reviews of Modern Physics Supplement",+"RvOp. Reviews of Optics",+"RvPA. Revue de Physique Appliquee",+"RvPD. Revue du Palais de la Decouverte",+"RvPhy Reviews in Physics",+"RvPP. Reviews of Plasma Physics",+"RvPT. Review of Physics in Technology",+"RvRP. Revue Roumaine de Physique",+"RvRRL Reviews of the Radio Research Laboratory",+"RvRST Revue Roumaine des Sciences Techniques Serie de Mecanique Appliquee",+"RvT.. Revue Technique Thomson CSF",+"RvTS. Rivista Tecnica Selenia",+"RWPWZ Rostock Wilhelm Pieck Universitaet Wissenschaftliche Zeitschrift Mathematisch Naturwissenschaftliche Reihe",+"RWTHA Rheinisch Westfaelische Technische Hochschule Aerodynamisches Institut Abhandlungen",+"rxte.pRXTE Proposal",+"RZh.. Referationyj Zhurnal",+"SAAOC South African Astronomical Observatory Circular",+"SAAOR South African Astronomical Observatory Republic",+"Sadha Sadhana",+"SAERI Seoul Korea Atomic Energy Research Institute",+"SAJPh South African Journal of Physics",+"SAJSc South African Journal of Science",+"SAMPJ SAMPE Journal",+"SAMPQ SAMPE Quarterly",+"SAnAp Supplements aux Annales d'Astrophysique",+"SanS. Separata Universidad de Chile Departamento de Astronomia Santiago",+"SANUG Srpska Akademiia Nauka i Umetnosti Glas Odeljenje Tekhnichkikh Nauka",+"SAOSR SAO Special Report",+"SASn. Studia Astronomica Sinica",+"SASS. Society for Astronomical Sciences Annual Symposium",+"SatCo Satellite Communications",+"SBARM SBARMO Bulletin",+"SbMat Sbornik: Mathematics",+"SBuil Sustainable Buildings",+"SCA.. Studii si Cercetari de Astronomie Bucuresti",+"SCB.. Seminars in Cancer Biology",+"ScChA Science in China A: Mathematics",+"ScChB Science in China B: Chemistry",+"ScChD Science China Earth Sciences",+"ScChE Science in China E: Technological Sciences",+"ScChG Science in China: Physics, Mechanics and Astronomy",+"ScChM Science in China e-Engineering & Materials Science",+"ScEdR Science Education Research",+"Sc&Ed Science & Education",+"SchpJ Scholarpedia",+"SciAm Scientific American",+"SciA. Science Advances",+"SciB. Scientia (Bologna)",+"SciDi Science Dimension",+"SciDr Scientific Drilling",+"SciEd Science Education",+"SciIn Science and Innovation",+"SciMo The Scientific Monthly",+"Scim. Scientometrics",+"SciNa The Science of Nature",+"SciN. Science News",+"Sci.. Science",+"SciSn Scientia Sinica",+"Scis. Sciences",+"ScMM. Scripta Metallurgica et Materialia",+"SCMP. Studies in Condensed Matter Physics",+"ScM.. Scripta Metallurgica",+"SCoA. Smithsonian Contributions to Astrophysics",+"SCoK. Smithsonian Contributions to Knowledge",+"SCPMA Science China Physics, Mechanics, and Astronomy",+"ScPPL SciPost Physics Lecture Notes",+"ScPPP SciPost Physics Proceedings",+"ScPP. SciPost Physics",+"ScPr. Science Progress",+"ScReE Scholarly Research Exchange",+"SCSA. Science and Culture Series: Astrophysics",+"SCSMP Science China Series Mathematics Physics Astronomy Technological Sciences",+"SCSP. Science and Culture Series: Physics",+"ScTea The Science Teacher",+"ScTEn Science of the Total Environment",+"Sc&Te Sciences et Techniques",+"SeAc. Sensors and Actuators",+"SECM. Science and Engineering of Composite Materials",+"SedG. Sedimentary Geology",+"Sedim Sedimentology",+"SEEJ. Society of Environmental Engineers Journal",+"SEGeo Seismology and Exploration Geophysics",+"SeiKa Seikei-Kakou",+"Semic Semiconductors",+"SenAR Sendai Astronomiaj Raportoj",+"SenIm Sensing and Imaging",+"SerAJ Serbian Astronomical Journal",+"SeScT Semiconductor Science Technology",+"SFCh. Science Foundation in China",+"SFPTB Societe Francaise de Photogrammetrie et de Teledetection Bulletin",+"SFSN. Scripta Faculty Science Nat. Ujep Brunensis Physica",+"SGC.. Stratigraphy and Geological Correlation",+"SGeo. Surveys in Geophysics",+"SGORS Studies in Geophysical Optics and Remote Sensing",+"S&GS. Science and Global Security",+"SHAN. Society for History of Astronomy News",+"SHEP. Surveys in High Energy Physics",+"SHH.. Stochastic Hydrology and Hydraulics",+"ShMeS Shape Memory and Superelasticity",+"SHMPS Sources in the History of Mathematics and Physical Sciences",+"SHM.. Self-Healing Materials",+"SHPMP Studies in the History and Philosophy of Modern Physics",+"ShWav Shock Waves",+"SIAMR SIAM Review",+"SIAM. Society of Industrial and Applied Mathematics",+"SIBAN Sofia Izdatel Bolgarskoi Akademii Nauk",+"SIDPQ SID Proceedings Quarter",+"SiFoE Siemens Forschungs und Entwicklungsberichte",+"SiFTZ Sibirskii Fiziko Tekhnicheskii Zhurnal",+"SIGMA SIGMA",+"SigPr Signal Processing",+"Sig.. Signal",+"SiMol Single Molecules",+"SImpa Software Impacts",+"Simul Simulation",+"SISN. Science Information Systems Newsletter",+"SiSSR Akademiia Nauk SSSR Sibirskoe Otdelenie Izvestiia Seriia Tekhnicheskie Nauki",+"Situ. Situ",+"SJADS SIAM Journal on Applied Dynamical Systems",+"SJAM. SIAM Journal of Applied Mathematics",+"SJCE. Slovak Journal of Civil Engineering",+"SJCO. SIAM Journal of Control Optimization",+"SJMA. SIAM Journal of Mathematical Analysis",+"SJNA. SIAM Journal on Numerical Analysis",+"SJRUE Scientific Journal of Riga Technical University. Environmental and Climate Technologies",+"SJRUP Scientific Journal of Riga Technical University. Power and Electrical Engineering",+"SkInq Skeptical Inquirer",+"SkyN. Sky News",+"SlaOb Slaboproudy Obzor",+"SLSci Space Life Sciences",+"SMArc Solid Mechanics Archives",+"SMaS. Smart Material Structures",+"SMat. Soft Matter",+"SmCES Smithsonian Contributions to the Earth Sciences",+"Smith Smithsonian",+"SMSPS Stephan Mueller Special Publication Series",+"SMS.. Scientific Modeling and Simulation SMNS",+"SMTS. Soprotivlenie Materialov i Teoriia Sooruzhenii",+"SNG.. Schweizerische Naturforschende Gesellschaft",+"SoByu Soobshcheniya Byurakanskoj Observatorii Akademiya Nauk Armyanskoj SSR Erevan",+"SoCe. Solar Cells",+"SoEnM Solar Energy Materials",+"SoEn. Solar Energy",+"SoftX SoftwareX",+"SoGru Akademiia Nauk Gruzii Soobshcheniia",+"SOILD SOIL Discussions",+"SoilS Soil Science",+"SoKie Sonderdrucke der Sternwarte Kiel",+"SOLA. SOLA - Scientific Online Letters on the Atmosphere",+"SolED Solid Earth Discussions",+"SolE. Solid Earth",+"SoMue Sonderdrucke Universitaet Muenster Astronomisches Institut",+"Sonne Sonne",+"SoPh. Solar Physics",+"SoSAO Soobshcheniya Spetsial'noj Astrofizicheskoj Observatorii",+"SoShe Soobshchenie Shemakhinskoj Astrofizicheskoj Observatorii",+"SoSht Soobshcheniya Gosudarstvennogo Astronomicheskogo Instituta",+"SoSyR Solar System Research",+"SouSt Southern Stars",+"SovAe Soviet Aeronomii",+"Space Space",+"Spark Spark, the AAS Education Newsletter",+"SPBra Scientific Proceedings Faculty of Mechanical Engineering STU in Bratislava",+"SpCoB Space Communication Broadcasting",+"SpCom Space Communications",+"SpecL Spectroscopy Letters",+"SpEd. Space Education",+"SpFl. Spaceflight",+"SPhAc Soviet Physics Acoustics",+"SPhD. Soviet Physics Doklady",+"Spika Spika",+"Spin. Spin",+"SPJCE Selected Scientific Papers - Journal of Civil Engineering",+"SpMar Space Markets",+"SpMME Space Medicine Medical Engineering",+"SpPol Space Policy",+"SpPow Space Power",+"SpRBu Space Research Bulgaria",+"SpReT Space Research Today",+"SPRMD Space Power - Resources, Manufacturing and  Development",+"SpScT Space Science and Technology",+"SPTP. Soviet Physics Technical Physics",+"SpT.. Space Technology",+"SPTS. Sensor Physics and Technology Series",+"sptz.pSpitzer Proposal",+"Spvw. Spaceview",+"SpWd. Space World",+"SpWdU Space World U",+"SpWdW Space World W",+"SpWdY Space World Y",+"SpWea Space Weather",+"SrLJP Sri Lankan Journal of Physics",+"SRL.. Surface Review and Letters",+"SRMO. Specula Regia Monachiensi Observationes astronomicae",+"SRPI. Safety and Reliability of Power Industry",+"SRToh Sci. Rep. Tohoku Univ. Eighth Ser.",+"SRXPh SRX Physics",+"SSASJ Soil Science Society of America Journal",+"SScEd Studies in Science Education",+"SSCom Solid State Communications",+"SSCP. Springer Verlag Springer Series on Chemical Physics",+"SScT. Speculations in Science and Technology",+"SSEle Solid State Electronics",+"SSEp. Springer Verlag Springer Series on Electrophysics",+"SSGSR Springer Verlag Springer Series on Group Geophysics Space Research",+"SSHMP Sources and Studies in the History of Mathematics and Physical Sciences",+"SSI.. Space Science Instrumentation",+"SSOS. Springer Verlag Springer Series on Optical Sciences",+"SSPAR Solid State Physics Advances in Research and Applications",+"SSPAS Solid State Physics Advances in Research and Applications Supplement",+"SSPMA Scientia Sinica Physica, Mechanica &amp",+"SSPRv Space and Solar Power Review",+"SSRvA Soviet Scientific Reviews A Physics Reviews",+"SSRvC Soviet Scientific Reviews C Mathematical Physics Reviews",+"SSRvD Soviet Scientific Reviews D Physicochemical Biology Reviews",+"SSRv. Space Science Reviews",+"SSSAJ Soil Science Society of America Journal",+"SSSci Solid State Sciences",+"SSSMP Scientia Sinica Series Mathematical Physical Technical Sciences",+"SSSSc Springer Series in Surface Sciences",+"SSS.. Social Studies of Science",+"SSSSS Springer Verlag Springer Series on Solid State Sciences",+"SSSyn Springer Verlag Springer Series on Synergetics",+"SSTec Solid State Technology",+"SSTor Studia Societatis Scientiarum Torunensis Sectio F Astronomia",+"SSWP. Springer Verlag Springer Series on Wave Phenomena",+"STAdM Science and Technology of Advanced Materials",+"StaGP Starlink General Paper",+"StAM. Studies in Applied Mathematics",+"StarB Starlink Bulletin",+"StarC Starlink Cookbook",+"StarD StarDate Magazine",+"StarG Starlink Guide",+"StaSc Statistical Science",+"StaSN Starlink System Note",+"StAst Strolling Astronomer",+"StaUN Starlink User Note",+"StCeF Studii si Cercetari de Fizica",+"StCeM Studii si Cercetari Matematice",+"StCMA Studii si Cercetary de Mecanica Aplicata",+"STECF Space Telescope European Coordinating Facility Newsletter",+"Sterb Der Sternenbote Monatsschrift fuer Oesterreichs Amateur-astronomen",+"STERJ Solar Terrestrial and Environmental Research Japan",+"Stern Die Sterne",+"Sterz Sternzeit Mitteilungen der Astrnomischen Vereinigungen Aachen",+"StGeo Studies in Geophysics",+"StGG. Studia Geophysica et Geodaetica",+"StGM. Studia Geotechnica et Mechanica",+"StHCG Studies in High Energy Physics Cosmology and Gravitation",+"StHEP Studies in High Energy Physics",+"StHMP Studies in the History of Mathematics and the Physical Sciences",+"STIA. NASA STI/Recon Technical Report A",+"STICA Space Technology Industrial and Commercial Applications",+"Stiin Stiinta",+"STIN. NASA STI/Recon Technical Report N",+"stis.rSpace Telescope STIS Instrument Science Report",+"StMat Strength of Materials",+"StMet Statistical Methodology",+"STMP. Springer Tracts in Modern Physics",+"StNws ASTM Standardization News",+"StoAn Stockholms Observatoriums Annaler",+"StoOR Stockholms Observatoriums Reports",+"STP.. Solar-Terrestrial Physics",+"Strai Strain",+"StReL Staub Reinhaltung Luft",+"Stroj Strojarstvo",+"StrOp Structural Optimization",+"S&T.. Sky and Telescope",+"StSky Star Sky",+"STSSP Selected Topics in Solid State Physics",+"Sttur Studies in turbulence",+"StuMa Studia Mathematica",+"STVF. Samoletostroenie Tekhnika Vozdushnogo Flota",+"suba.pSubaru Proposal",+"SuEa. Sustainable Earth",+"SuMi. Superlattices and Microstructures",+"SunGe Sun and Geosphere",+"Sunwo Sunworld",+"SurIA Surface and Interface Analysis",+"SurSc Surface Science",+"SurSL Surface Science Letters",+"SurSR Surface Science Reports",+"SurSS Surface Science Spectra",+"SuScT Superconductor Science Technology",+"Sust. Sustainability",+"SuTMP Surface Topography: Metrology and Properties",+"SUVSR Scandinavian Union of Amateur Astronomers Variable Star Section",+"SvAer Soviet Aeronautics",+"SvAL. Soviet Astronomy Letters",+"SvApM Soviet Applied Mechanics",+"SvA.. Soviet Astronomy",+"SVD.. Shock Vibration Digest",+"SvGeo Soviet Geologia",+"SVICB Shock Vibration Information Center Shock Vibration Bulletin",+"SVICD Shock Vibration Information Center Shock Vibration Digest",+"SVICI Shock Vibration Information Center Shock Vibration Inform Digest",+"SVICP Shock Vibration Information Center Shock Vibration Computer Programs",+"SvJNP Soviet Journal of Nuclear Physics",+"SvJOT Soviet Journal of Optical Technology",+"SvJPP Soviet Journal of Plasma Physics",+"SvJQE Soviet Journal of Quantum Electronics",+"SVPCS Springer Verlag Springer Series on Physics Chemistry Space",+"SvPhA Soviet Physics Astronomy",+"SvPhJ Soviet Physics Journal",+"SvPhU Soviet Physics Uspekhi",+"SvPro Svarochnoe Proizvodstvo",+"SvRP. Soviet Radiophysics",+"SvUNT Sverdlovsk Uralskii Nauchnyi Tsentr AN SSSR",+"S&W.. Sterne und Weltraum",+"SydOP Sydney Observatory Papers",+"SyTec Systems Technology",+"SZF.. Solnechno-Zemnaya Fizika",+"SZPA. SIRIUS. Zeitschrift fuer Populaere Astronomie",+"TAASS Topics in Astrophysics, Astrononmy, and Space Science",+"TAEMm Tokyo Metropolitan College Aeronautical Engineering Memoirs",+"TamCo Astronomical Contributions from the University of South Florida Tampa",+"TAM.. Theoretical and Applied Mechanics",+"TANEs Tartu Akademiia Nauk Estonskoi SSR",+"TApPh Topics in Applied Physics",+"TAPS. Transactions of the American Philosophical Society",+"TarOT Tartu Astrofuusika Observatoorium Teated",+"TBBM. Techniques of Biochemical and Biophysical Morphology",+"TCaPS Transactions of the Cambridge Philosophical Society",+"TCD.. The Cryosphere Discussions",+"TCPh. Topics in Current Physics",+"TCry. The Cryosphere",+"TDAPR Telecommunications and Data Acquisition Progress Report",+"Tech. Technology",+"TecN. Technical News",+"TecRv Technology Review",+"Tecto Tectonics",+"Tectp Tectonophysics",+"TeEng Technological Engineering,",+"TekEl Tekhnicheskaia Elektrodinamika",+"Telet Telettra S",+"TelIn Telematics Informatics",+"TellA Tellus Series A",+"TellB Tellus Series B Chemical and Physical Meteorology B",+"Tell. Tellus",+"TeLoA Technika Lotnicza i Astronautyczna",+"TeMAE Terrestrial Magnetism and Atmospheric Electricity (Journal of Geophysical Research)",+"TeMag Terrestrial Magnetism (Journal of Geophysical Research)",+"TeNov Terra Nova",+"TeoEl Teoreticheskaia Elektrotekhnika",+"TeoPM Teoreticheskaia i Prikladnaia Mekhanika",+"TeoVP Teoriia Veroiatnostei i ee Primeneniia",+"TePhL Technical Physics Letters",+"Teplo Teploenergetika",+"Tepsg Teplofizicheskie svoistva gazov",+"TepT. Teplofizika i Teplotekhnika",+"TepVT Teplofizika Vysokikh Temperatur",+"TerCo Osservatorio Astronomico di Collurania Teramo Contributi",+"TerMm Osservatorio Astronomico di Collurania Teramo Memorie ed Osservazioni",+"TerNC Osservatorio Astronomico di Collurania Teramo Note e Comunicazioni",+"Tesla TESLA Electronics",+"TETB. Thyssen Edelstahl Technische Berichte",+"TFFAP Teoriia Funktsii Funktsionalnyi Analiz i ikh Prilozheniia",+"TFizG Teploobmen i Fizicheskaia Gazodinamika",+"Th&Ae Thermophysics and Aeromechanics",+"ThAFM Theoretical and Applied Fracture Mechanics",+"ThApC Theoretical and Applied Climatology",+"ThAst Theoretical Astrophysics",+"ThCFD Theoretical and Computational Fluid Dynamics",+"ThEng Thermal Engineering",+"TIOA. Tomsk Institut Optiki Atmosfery CO AN SSSR",+"TISCI Transactions of the Institute of Systems, Control and Information Engineers",+"TITas Tsirkulyar Astronomicheskogo Instituta Akademiya Nauk Uzbekskoj SSR",+"TIUCS Transactions of the International Union for Cooperation in Solar Research",+"TIzSS Tbilisi Izdatel Sabchota Sakartvelo",+"TJAu. Telecommunication Journal of Australia",+"TJJPT Tuijin Jishu Journal of Propulsion Technology",+"TJPh. Turkish Journal of Physics",+"TJSAI Transactions of the Japanese Society for Artificial Intelligence",+"TJSIE Transactions of The Japanese Society of Irrigation, Drainage and Rural Engineering",+"TLHSQ Transactions of the Literary and Historical Society of Quebec",+"TMatR Translational Materials Research",+"TMKF. Technische Mitteilungen Krupp Forschungsberichte",+"TMOPR Telecommunications and Mission Operations Progress Report",+"TMPGO Tagung ueber Mathematische Probleme Geodaesie Oberwolfach West Germany Bulleting Geodesique",+"TMP.. Theoretical and Mathematical Physics",+"TNEK. Teplovye Napriazheniia Elementakh Konstruktsii",+"TNKS. Tochnost i Nadezhnost Kiberneticheskikh Sistem",+"TNSAN Transient Name Server AstroNote",+"TNSCR Transient Name Server Classification Report",+"TNSFR Transient Name Server Fast Radio Bursts",+"TNSTR Transient Name Server Discovery Report",+"ToASC Torino Accademia delle Scienze Classe di Scienze Fisiche Matematiche e Naturali Atti",+"ToIzL Technisch oekonomische Informationen zivilen Luftfahrt",+"TokAB Tokyo Astronomical Bulletin",+"TokRe Tokyo Astronomical Observatory Reprints",+"TOMar Travaux de l'Observatoire de Marseille",+"TosRv Toshiba Review",+"TouCE Toulouse Cepadues Editions",+"TOYal Transactions of the Astronomical Observatory of Yale University",+"TPAG. Theory and Practice of Applied Geophysics",+"TPhCh Topics in Physical Chemistry",+"TPhy. Techniques of Physics",+"TRACE Transactions of the Japan Society of Refrigerating and Air Conditioning Engineers",+"TrAeR Transactions on Aerospace Research",+"TraGe Travaux Geophysiques",+"TrAGU Transactions, American Geophysical Union",+"TrAlm Trudy Astrofizicheskogo Instituta Alma-Ata",+"TrDus Trudy Instituta Astrofiziki Dushanbe",+"TreP. Osservatorio Privato Specola Ariel Treviso Italia Pubblicazione",+"TRET. Telecommunications and Radio Engineering Telecommunications",+"TrGeo Treatise on Geochemistry",+"TrGRC Geothermal Resources Council Transactions",+"TrGru Tiflis Izdatel Metsniereba Akademiia Nauk Gruzinskoi SSR Matematicheskii Institut Trudy",+"TriP. Osservatorio Astronomico di Trieste Pubblicazioni",+"TrITA Institut Teoreticheskoi Astronomii Trudy",+"TriTr STLE Tribology Transactions",+"TrKaz Trudy Kazanskaia Gorodkoj Astronomicheskoj Observatorii",+"TrKra Seminar Kraevym Zadacham Trudy",+"TrLen Trudy Astronomicheskoj Observatorii Leningrad",+"TrLit Trudy Akademiia Nauk Litovskoi",+"TrMMO Trudy Moskovskoe Matematicheskoe Obshchestvo",+"TrOS. Transactions of the Optical Society",+"TrPet Trudy Seminar imeni G Petrovskogo",+"TrPul Trudy Glavnoj Astronomicheskoj Observatorii v Pulkovo",+"TrRig Trudy Astrofiz. Lab. Riga",+"TrSht Trudy Gosudarstvennogo Astronomicheskogo Instituta",+"TrSpT Transactions of Space Technology Japan",+"TrSSR Trudy Akademiia Nauk SSSR Fizicheskii Institut",+"TrSta Trudy Instituta Astrofiziki Stalinabad",+"TrTas Trudy Tashkentskoj Astronomicheskoj Observatorii",+"TrTIM Tiflis Izdatel Metsniereba Akademiia Nauk Gruzinskoi SSR Institut Geofiziki Trudy",+"TrTsA TsAGI Trudy",+"TrTsI TsIAM Trudy",+"TSDMO Tellus Series Dynamic Meteorology and Oceanography",+"TSE.. Thermal Science and Engineering",+"TSF.. Thin Solid Films",+"TsHUJ Tsing Hua University Journal",+"TSICE Transactions of the Society of Instrument and Control Engineers",+"TsLvo Tsirkulyar Astronomicheskoj Observatorii Lvov",+"TsPul Tsirkulyary Glavnoj Astronomicheskoj Observatorii i Pulkove",+"TSRSG Tohoku University Science Reports Series Geophysics",+"TsShe Tsirkulyar Shemakhinskoj Astrofizicheskoj Observatorii",+"TSSLW Travaux de la Societe des Sciences et des Letters de Wroclaw",+"TsSta Tsirkulyar Stalinabadskoj Astronomicheskoj Observatorii",+"TsTas Tsirkulyar Tashkentskoj Astronomicheskoj Observatorii",+"TsVse Tsirkulyar Vses. astron.-geod. o-va",+"TTP.. Trends in Theoretical Physics",+"TTSP. Transport Theory and Statistical Physics",+"TUAID Tuebingen Universitaet Astronomisches Institut Diplomarbeit",+"TUASB Tokyo University Institute of Space and Aeronautical Science Bulletin",+"TUASR Tokyo University Institute of Space and Aeronautical Science Report",+"TUFEJ Tokyo University Faculty of Engineering Journal Series",+"TUFER Tokyo Denki University Faculty of Engineering Research Reports",+"TUISR Tokyo University Institute Industrial Science Report",+"TUnGG Technische Univ Geodesy Global Geodyn",+"TurTe Turbulentnye techeniia",+"TvOC. Transvaal Observatory Circular",+"UCAFR Universitas Comeniana Acta Facultatis Rerum Naturalium Physica",+"UCLAP Astronomical Papers University of California Los Angeles",+"UECBu University Electro Communications Bulletin",+"UGC.. Nova Acta Regiae Soc. Sci. Upsaliensis Ser. V",+"UGSJR U S Geological Survey Journal Research",+"UISTS San Diego CA Univelt Inc Science Technology Series",+"UkFiZ Ukrainskii Fizicheskii Zhurnal",+"UkJPO Ukrainian Journal of Physical Optics",+"UkMaZ Ukrainskii Matematicheskii Zhurnal",+"UltIm Ultrasonic Imaging",+"Ultmi Ultramicroscopy",+"Ultra Ultrasonics",+"UMAM. Uspekhi Mekhaniki Advances Mechanics",+"UMIB. Unione Matematica Italiana Bollettino",+"Umsch Umschau",+"UMt1K Universite de Montpellier",+"UNAer Universita di Napoli Aeritalia S",+"UnECR University Electro Communications Reports",+"UniCl Universe Classroom",+"Unive Universitas",+"Univ. Universe",+"UNPSA United Nations Programme on Space Applications",+"UppAn Uppsala Astronomical Observatory Annals",+"UppOR Uppsala Astronomical Observatory Reports",+"Urani Urania (Krakow)",+"UrBar Urania (Bracelona)",+"UsFiN Uspekhi Fizicheskikh Nauk",+"USGSP U.S. Geological Survey Professional Paper",+"USGS. U.S. Geological Survey Report",+"USNOA Astronomical Observations made at the U.S. Naval Observatory",+"USNOC U.S. Naval Observatory Circulars",+"USNOM Astronomical and Meteorological Observations made at the U.S. Naval Observatory",+"USNOO Observations made at the U.S. Naval Observatory",+"USOC. Unified System Orbit Computation USOC",+"UtMat Utilitas Mathematica",+"UtrOv Utrechtse Sterrekundige Overdrukken",+"Vacuu Vacuum",+"VAC.. Voies Aviation Civile Fall Winter",+"VADMT VKI New Approaches in the Description and Modeling of Turbulence",+"VADVS VKI Advanced Design of Ventilation Systems",+"VAFC. VKI Axial Flow Compressors",+"VAG.. Vierteljahresschrift der Astronomischen Gesellschaft",+"VANTS Voprosy Atomnoi Nauki i Tekhniki Seriia Fizika Plazmy i Problemy Upravliaemykh Termoiadernykh Reaktsii",+"Vasio Vasiona",+"VatAR Specola Astronomica Vaticana Annual Reports",+"VatCo Specola Astronomica Vaticana Comunicazione",+"VatMA Specola Astronomica Vaticana Miscellanea Astronomica",+"VatOP Vatican Observatory Publications",+"VatPS Specola Astronomica Vaticana Pubblicazioni Serie Seconda",+"VatRA Specola Astronomica Vaticana Richerche Astronomiche",+"VatRS Specola Astronomica Vaticana Ricerche Spettroscopiche",+"VA... Vistas in Astronomy",+"VBLT. VKI Boundary Layers in Turbomachines",+"VCCPP VKI Combined Cycles for Power Plants",+"VCFDI VKI Computational Fluid Dynamics for Industrial Flows",+"VCGFV VKI Computer Graphics Flow Visualization and Computational Fluid Dynamics",+"VDIF. VDI Forschungsheft",+"VDIZF VDI Zeitschriften Fortschritt Berichte Reihe Stroemungstechnik",+"VDIZ. VDI Z",+"VeABD Veroeffentlichungen des Astronomischen Rechen-Instituts zu Berlin-Dahlem",+"VeARI Veroeffentlichungen des Astronomischen Rechen-Instituts Heidelberg",+"VeBab Veroeffentlichungen der Sternwarte Babelsberg",+"VeBam Veroeffentlichungen der Remeis-Sternwarte zu Bamberg",+"VeBB. Veroeffentlichungen der Universitaetssternwarte zu Berlin-Babelsberg",+"VeBKI Veroeffentlichungen des Bayerische Kommission Int. Erdmessung",+"VeBoc Veroeffentlichungen des Astronomischen Instituts der Ruhr-Universitaet Bochum",+"VeBon Veroeffentlichungen des Astronomisches Institute der Universitaet Bonn",+"VeFra Veroeffentlichungen des Astronomisches Institute der Universitaet Frankfurt",+"VeGG. Veroeffentlichungen der Geod. Geophys",+"VeGoe Veroeffentlichungen der Universitaets-Sternwarte zu Goettingen",+"VeHei Veroeffentlichungen der Badischen Sternwarte zu Heidelberg",+"VeJen Veroeffentlichungen der Universitaets-Sternwarte zu Jena",+"VeKAB Veroeffentlichungen des Koeniglichen Astronomischen Rechen-Instituts zu Berlin",+"VeKar Veroeffentlichungen der Grossherzoglichen Sternwarte zu Karlsruhe",+"VeKaz Akademiia Nauk Kazakhskoi SSR Vestnik",+"VeKha Vestnik Khar'kov Universitet",+"VeKie Vestnik Kievskogo Universiteta Seriya Astronomii",+"VeKoe Veroeffentlichungen der Universitaets-Sternwarte Koenigsberg Pr.",+"VeLdn Verslag van den staat der Sterrewacht te Leiden",+"VeLei Veroeffentlichungen der Universitaetssternwarte zu Leipzig",+"VeLen Leningradskii Universitet Vestnik Matematika Mekhanika Astronomiia",+"VeLGU Vestnik LGU",+"VeMos Vestnik Moskovskogo Universiteta Seriya 3 Fizika Astronomiya",+"VeMun Veroeffentlichungen der Sternwarte Munchen",+"VeNav Akademiia Navuk BSSR Vestsi Seryia Fizika Tekhnichnykh Navuk",+"Verme Vermessungstechnik",+"Vertf Vertiflite",+"Vert. Vertica",+"Vesmi Vesmir",+"VeSon Veroeffentlichungen der Sternwarte Sonneberg",+"VeSSR Akademiia Nauk SSSR Vestnik",+"VETT. Voprosy Elektroniki Tverdogo Tela",+"VeWFS Veroeffentlichung der Wilhelm Foerster Sterwarte",+"VeZPE Veroffentlichungen des Zentralinstituts Physik der Erde",+"VGTET VKI Gas Turbine Engine Transient Behaviour",+"VIAEA Vienna International Atomic Energy Agency",+"VICFD VKI An Introduction to Computational Fluid Dynamics",+"ViGeo Vissha Geodeziia",+"ViHei Veroeffentlichungen der Badischen Landes-Sternwarte zu Heidelberg",+"VIHE. VKI Industrial Heat Exchangers",+"VilCo Villanova University Observatory Contributions",+"VilOB Vilnius Astronomijos Observatorijos Biuletenis",+"VIMT. VKI An Introduction to Modeling Turbulence",+"VISBD Vibration Inst Shock Vibration Digest",+"VisKi Visnik Kiiv. Univ., Fiz.-Mat. Nauki, Astron",+"ViUkr Akademiia Nauk Ukrains koi RSR Visnik",+"VJS.. Virginia Journal of Science",+"VKAWA Verhandelingen der Koninklijke Akademie van Wetenschappen te Amsterdam",+"VKha. Vestnik Khar'kovskogo Universiteta",+"VKie. Veroeffentlichungen der Universitaets-Sternwarte Kiel",+"VKILV VKI Laser Velocimetry",+"VKIMT VKI Measurement and Techniques",+"VKIRT VKI Radial Turbines",+"VKISP VKI Spacecraft Propulsion",+"VMATP VKI Modeling and Applications of Transport Phenomena in Porous Media",+"VMed. Vierteljahrschrift f&uuml",+"VMHT. VKI Methodology Hypersonic Testing",+"VMKAN Verslagen en Mededeelingen der Kon. Academie van Wetenschappen, Afd. Natuurkunde",+"VMOIP Voprosy Metrologicheskogo Obespecheniia Izmereniia Parametrov Tekhnologicheskikh Lazerov",+"VMSAI Video Memorie della Societa Astronomica Italiana",+"VMTA. VKI Measurement Techniques in Aerodynamics",+"VNGG. VKI Numerical Grid Generation",+"VNG.. Vierteljahrsschrift der Naturforschenden Gesellschaft in Z&uuml",+"VNMFT VKI Numerical Methods for Flows in Turbomachinery",+"VnMP. Vychislitelnye Metody i Programmirovanie",+"VnPM. Vychislitelnaia i Prikladnaia Matematika",+"VopDP Voprosy Dinamiki i Prochnosti",+"VopGA Voprosy Gidrodinamiki Atmosfery",+"VopK. Voprosy Kibernetiki",+"VopTP Voprosy Teorii Plazmy",+"VossZ Vossische Zeitung",+"VoTAS Voprosy Teorii Atomnykh Stolknovenii",+"VPIDV VKI Particle Image Displacement Velocimetry",+"VSD.. Vehicle System Dynamics, International Journal of Vehicle Mechanics and Mobility",+"VSSCi Royal Astronomical Society of New Zealand Variable Star Section Circulars",+"VTJ.. Vitro Technical Journal",+"VTSAU Voprosy Teorii Sistem Avtomaticheskogo Upravleniia",+"VTSF. VKI Turbulent Shear Flows",+"VVRD. VKI Vibration Rotor Dynamics",+"WaMot Wave Motion",+"WASP. Water Air and Soil Pollution",+"WatWa Water Waves",+"WavEl Wave Electronics",+"WBWA. Weltraumfahrt. Beitraege zur Weltraumforschung und Astronautik",+"WCD.. Weather and Climate Dynamics",+"WCRp. World Climate Report",+"WCS.. Weather, Climate and Society",+"WearB Wear B",+"Wear. Wear",+"WeiEn Weight Engineering",+"WeldJ Welding Journal",+"Welt. Die Weltall",+"Werk. Werkgroepnieuws",+"wfc..rSpace Telescope WFC Instrument Science Report",+"WFINw IAU Working Group on Wide-Field Imaging, Newsletter",+"wfir.pNASA WFIRST Proposal",+"wfpc.rSpace Telescope WFPC2 Instrument Science Report",+"WiEng Wind Engineering",+"WiEn. Wind Energy",+"WinAR Annual Report of the Windsor Observatory, New South Wales",+"WisBB Monatsber. Deutsch. Akad Wissenschaftliche Berlin",+"WisBT Wissenschaftliche Berichte AEG Telefunken",+"WisZe Wissenschaftliche Zeitschrift",+"WJCMP World Journal of Condensed Matter Physics",+"WJM.. World Journal of Mechanics",+"WJNSE World Journal of Nano Science and Engineering",+"WJNST World Journal of Nuclear Science and Technology",+"wps..pNASA WPS Proposal",+"WRCM. Waves in Random and Complex Media",+"WRM.. Waves in Random Media",+"WRR.. Water Resources Research",+"WSAAA Workshop Series of the Asociacion Argentina de Astronomia",+"W&S.. Waerme und Stoffuebertragung",+"Wszec Wszechswiat",+"WtFor Weather and Forecasting",+"Wthr. Weather",+"Wuli. Wuli",+"xmm..pXMM-Newton Press Release",+"xmm..pXMM-Newton Proposal",+"XRS.. X-ray Spectrometry",+"YaFiz Yadernaya Fizika",+"YalAR Annual report of the Astronomer of the Winchester Observatory of Yale College",+"YalRY Reports for the year presented by the Board of Managers of the Observatory of Yale University to the President and Fellows",+"YamC. Yamamoto Circular",+"yCatp VizieR Online Data Catalog (other)",+"yCat. VizieR Online Data Catalog",+"YerOB Bulletin of the Yerkes Observatory of the University of Chicago",+"YUFEM Yamaguchi University Faculty of Engineering Memoirs",+"YUTR. Yamaguchi University Technology Reports",+"ZaDN. Zagadnienia Drgan Nieliniowych",+"ZAGeo Zeitschrift fur Angewandte Geographie",+"ZaLab Zavodskaia Laboratoriia",+"ZaMM. Zeitschrift Angewandte Mathematik und Mechanik",+"ZaMP. Zeitschrift Angewandte Mathematik und Physik",+"ZAPhy Zeitschrift fur Angewandte Physik",+"ZaTsA TsAGI Uchenye Zapiski",+"ZA... Zeitschrift fur Astrophysik",+"ZEAPC Zeitschrift f&uuml",+"ZeIE. Zeitschrift elektrische Informations und Energietechnik",+"ZeMet Zeitschrift fur Meteorologie",+"ZemVs Zemlia i Vselennaia",+"Zenit Zenit",+"ZePAN Zeitschrift Physik Atomic Nuclei",+"ZEVGA Zeitschrift fur Eisenbahnwesen und Verkehrstechnik Glasers Annalen",+"ZFlu. Zeitschrift fur Flugwissenschaften",+"ZFlWe Zeitschrift fur Flugwissenschaften und Weltraumforschung",+"ZGeo. Zeitschrift fur Geophysik",+"ZGlGl Zeitschrift fur Gletscherkunde und Glazialgeologie",+"ZGmS. Zeitschrift fur Geomorphologie Supplement",+"ZGm.. Zeitschrift fur Geomorphologie",+"ZhETF Zhurnal Eksperimentalnoi i Teoreticheskoi Fiziki",+"ZhPhy Zhurnal Physik",+"ZhPmR ZhETF Pisma Redaktsiiu",+"ZhPS. Zhurnal Prikladnoi Spektroskopii",+"ZhTFi Zhurnal Tekhnicheskoi Fiziki",+"ZiZa. Ziran Zazhi",+"ZKMP. Zeitschrift fur Kristallographie Mineralogie und Petrographie",+"ZKS.. Zeitschrift fur Kristallographie Supplements",+"ZK... Zeitschrift fur Kristallographie",+"ZMetl Zeitschrift fur Metallkunde",+"ZMP.. Zeitschrift f&uuml",+"ZNatA Zeitschrift Naturforschung Teil A",+"ZNPFK Zhurnal Nauchnoi i Prikladnoi Fotografii i Kinematografii",+"ZPCF. Zeitschrift fur Physikalische Chemie Frankfurt",+"ZPCNF Zeitschrift fur Physikalische Chemie Neue Folge",+"ZPCW. Zeitschrift fur Physikalische Chemie Wiesbaden",+"ZPC.. Zeitschrift fur Physikalische Chemie",+"ZPhyA Zeitschrift fur Physik A Hadrons and Nuclei",+"ZPhyB Zeitschrift fur Physik B Condensed Matter",+"ZPhyC Zeitschrift fur Physik C Particles and Fields",+"ZPhyD Zeitschrift fur Physik D Atoms Molecules Clusters",+"ZPhy. Zeitschrift fur Physik",+"Zprav Zpravodaj VZLU",+"ZvDeb Zvaigsnota Debess",+"ZVer. Zeitschrift Vermessungswes.",+"ZVMMF Zhurnal Vychislitelnoi Matematiki i Matematicheskoi Fiziki",+"ZWer. Zeitschrift Werkstofftechnik",+"TDM.. 2D Materials",+"TDR.. 3D Research", }; static const int njournals = sizeof( journals ) / sizeof( journals[0] );
bibutils/bibcore.c view
@@ -1,7 +1,7 @@ /*  * bibcore.c  *- * Copyright (c) Chris Putnam 2005-2019+ * Copyright (c) Chris Putnam 2005-2020  *  * Source code released under the GPL version 2  *@@ -20,12 +20,14 @@ #define BIBL_INTERNALIN   (BIBL_LASTIN+1) #define BIBL_INTERNALOUT  (BIBL_LASTOUT+1) -#define debug_set( p ) ( p->verbose > 1 )-#define verbose_set( p ) ( p->verbose )+#define debug_set( p ) ( (p)->verbose > 1 )+#define verbose_set( p ) ( (p)->verbose )  static void report_params( FILE *fp, const char *f, param *p ) {+	fflush( NULL );+ 	fprintf( fp, "-------------------params start for %s\n", f ); 	fprintf( fp, "\tprogname='%s'\n\n", p->progname ); @@ -96,10 +98,12 @@ bibl_duplicateparams( param *np, param *op ) { 	int status;+ 	slist_init( &(np->asis) );-	slist_init( &(np->corps) ); 	status = slist_copy( &(np->asis), &(op->asis ) ); 	if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR;++	slist_init( &(np->corps) ); 	status = slist_copy( &(np->corps), &(op->corps ) ); 	if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR; @@ -109,41 +113,41 @@ 		if ( !np->progname ) return BIBL_ERR_MEMERR; 	} -	np->readformat = op->readformat;-	np->writeformat = op->writeformat;--	np->charsetin = op->charsetin;+	np->readformat    = op->readformat;+	np->charsetin     = op->charsetin; 	np->charsetin_src = op->charsetin_src;-	np->utf8in = op->utf8in;-	np->latexin = op->latexin;-	np->xmlin = op->xmlin;+	np->utf8in        = op->utf8in;+	np->latexin       = op->latexin;+	np->xmlin         = op->xmlin; -	np->charsetout = op->charsetout;+	np->writeformat    = op->writeformat;+	np->charsetout     = op->charsetout; 	np->charsetout_src = op->charsetout_src;-	np->utf8out = op->utf8out;-	np->utf8bom = op->utf8bom;-	np->latexout = op->latexout;-	np->xmlout = op->xmlout;-	np->nosplittitle = op->nosplittitle;+	np->utf8out        = op->utf8out;+	np->utf8bom        = op->utf8bom;+	np->latexout       = op->latexout;+	np->xmlout         = op->xmlout;+	np->nosplittitle   = op->nosplittitle; -	np->verbose = op->verbose;-	np->format_opts = op->format_opts;-	np->addcount = op->addcount;-	np->output_raw = op->output_raw;+	np->verbose          = op->verbose;+	np->format_opts      = op->format_opts;+	np->addcount         = op->addcount;+	np->output_raw       = op->output_raw; 	np->singlerefperfile = op->singlerefperfile; -	np->readf = op->readf;-	np->processf = op->processf;-	np->cleanf = op->cleanf;-	np->typef = op->typef;-	np->convertf = op->convertf;-	np->headerf = op->headerf;-	np->footerf = op->footerf;+	np->readf     = op->readf;+	np->processf  = op->processf;+	np->cleanf    = op->cleanf;+	np->typef     = op->typef;+	np->convertf  = op->convertf;+	np->headerf   = op->headerf;+	np->footerf   = op->footerf; 	np->assemblef = op->assemblef;-	np->writef = op->writef;-	np->all = op->all;-	np->nall = op->nall;+	np->writef    = op->writef; +	np->all       = op->all;+	np->nall      = op->nall;+ 	return BIBL_OK; } @@ -295,11 +299,11 @@ }  static void-bibl_verbose2( fields *f, char *filename, long nrefs )+bibl_verbose_reference( fields *f, char *filename, long refnum ) { 	int i, n; 	n = fields_num( f );-	fprintf( stderr, "======== %s %ld : converted\n", filename, nrefs );+	fprintf( stderr, "======== %s %ld : converted\n", filename, refnum ); 	for ( i=0; i<n; ++i ) { 		fprintf( stderr, "'%s'='%s' level=%d\n", 			(char*) fields_tag( f, i, FIELDS_CHRP_NOUSE ),@@ -307,33 +311,20 @@ 			fields_level( f, i ) ); 	} 	fprintf( stderr, "\n" );-	fflush( stderr ); } -#if 0 static void-bibl_verbose1( fields *f, fields *orig, char *filename, long nrefs )+bibl_verbose( bibl *bin, const char *msg1, const char *msg2 ) {-	int i, n;-	n = fields_num( orig );-	fprintf( stderr, "======== %s %ld : processed\n", filename, nrefs );-	for ( i=0; i<n; ++i ) {-		fprintf( stderr, "'%s'='%s' level=%d\n",-			(char*) fields_tag( orig, i, FIELDS_CHRP_NOUSE ),-			(char*) fields_value( orig, i, FIELDS_CHRP_NOUSE ),-			fields_level( orig, i ) );-	}-	if ( f ) bibl_verbose2( f, filename, nrefs );+	long i;+	fflush( stdout );+	fprintf( stderr, "-------------------%s begin %s\n", msg1, msg2);+	for ( i=0; i<bin->n; ++i )+		bibl_verbose_reference( bin->ref[i], "", i+1 );+	fprintf( stderr, "-------------------%s end %s\n", msg1, msg2);+	fflush( stderr ); }-#endif -static void-bibl_verbose0( bibl *bin )-{-	int i;-	for ( i=0; i<bin->nrefs; ++i )-		bibl_verbose2( bin->ref[i], "", i+1 );-}  /* extract_tag_value  *@@ -453,12 +444,13 @@ }  static int-read_ref( FILE *fp, bibl *bin, char *filename, param *p )+read_refs( FILE *fp, bibl *bin, char *filename, param *p ) {-	int nrefs = 0, bufpos = 0, ok, ret=BIBL_OK, fcharset;/* = CHARSET_UNKNOWN;*/+	int refnum = 0, bufpos = 0, ret=BIBL_OK, fcharset;/* = CHARSET_UNKNOWN;*/ 	str reference, line; 	char buf[256]=""; 	fields *ref;+ 	str_init( &reference ); 	str_init( &line ); 	while ( p->readf( fp, buf, sizeof(buf), &bufpos, &line, &reference, &fcharset ) ) {@@ -469,14 +461,14 @@ 			bibl_free( bin ); 			goto out; 		}-		if ( p->processf( ref, reference.data, filename, nrefs+1, p )){-			ok = bibl_addref( bin, ref );-			if ( !ok ) {-				ret = BIBL_ERR_MEMERR;+		if ( p->processf( ref, reference.data, filename, refnum+1, p )){+			ret = bibl_addref( bin, ref );+			if ( ret!=BIBL_OK ) { 				bibl_free( bin ); 				fields_delete( ref ); 				goto out; 			}+			refnum += 1; 		} else { 			fields_delete( ref ); 		}@@ -502,7 +494,7 @@ static int bibl_notexify( char *tag ) {-	char *protected[] = { "DOI", "URL", "REFNUM", "FILEATTACH" };+	char *protected[] = { "DOI", "URL", "REFNUM", "FILEATTACH", "FILE" }; 	int i, nprotected = sizeof( protected ) / sizeof( protected[0] ); 	for ( i=0; i<nprotected; ++i ) 		if ( !strcasecmp( tag, protected[i] ) ) return 1;@@ -551,88 +543,45 @@ static int bibl_fixcharsets( bibl *b, param *p ) {-	int status = BIBL_OK;+	int status; 	long i;-	for ( i=0; i<b->nrefs && status==BIBL_OK; ++i )-		status = bibl_fixcharsetdata( b->ref[i], p );-	return status;-} -static int-build_refnum( fields *f, long nrefs, int *n )-{-	char *year, *author, *p, num[512];-	int status, ret = BIBL_OK;-	str refnum;--	*n = -1;--	str_init( &refnum );--	year = fields_findv( f, LEVEL_MAIN, FIELDS_CHRP_NOUSE, "DATE:YEAR" );-	if ( !year )-		year = fields_findv_firstof( f, LEVEL_ANY, FIELDS_CHRP_NOUSE,-			"DATE:YEAR", "PARTDATE:YEAR", NULL );--	author = fields_findv( f, LEVEL_MAIN, FIELDS_CHRP_NOUSE, "AUTHOR" );-	if ( !author )-		author = fields_findv_firstof( f, LEVEL_ANY, FIELDS_CHRP_NOUSE,-			"AUTHOR", "AUTHOR:CORP", "AUTHOR:ASIS", NULL );--	if ( year && author ) {-		p = author;-		while ( *p && *p!='|' )-			str_addchar( &refnum, *p++ );-		p = year;-		while ( *p && *p!=' ' && *p!='\t' )-			str_addchar( &refnum, *p++ );-	} else {-		sprintf( num, "%ld", nrefs );-		str_mergestrs( &refnum, "ref", num, NULL );-	}-	if ( str_memerr( &refnum ) ) {-		ret = BIBL_ERR_MEMERR;-		goto out;+	for ( i=0; i<b->n; ++i ) {+		status = bibl_fixcharsetdata( b->ref[i], p );+		if ( status!=BIBL_OK ) return status; 	} -	status = fields_add( f, "REFNUM", refnum.data, LEVEL_MAIN );-	if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;-	else *n = fields_find( f, "REFNUM", LEVEL_MAIN );--out:-	str_free( &refnum );--	return ret;+	return BIBL_OK; }  static int-bibl_checkrefid( bibl *b, param *p )+bibl_addcount( bibl *b ) { 	char buf[512];-	int n, status; 	fields *ref; 	long i;+	int n; -	for ( i=0; i<b->nrefs; ++i ) {+	for ( i=0; i<b->n; ++i ) {+ 		ref = b->ref[i];+ 		n = fields_find( ref, "REFNUM", LEVEL_MAIN );-		if ( n==FIELDS_NOTFOUND ) {-			status = build_refnum( ref, i+1, &n );-			if ( status!=BIBL_OK ) return status;-		}-		if ( p->addcount ) {-			sprintf( buf, "_%ld", i+1 );-			str_strcatc( &(ref->data[n]), buf );-			if ( str_memerr( &(ref->data[n]) ) )-				return BIBL_ERR_MEMERR;+		if ( n==FIELDS_NOTFOUND ) continue;++		sprintf( buf, "_%ld", i+1 );+		str_strcatc( fields_value( ref, n, FIELDS_STRP_NOUSE ), buf );+		if ( str_memerr( fields_value( ref, n, FIELDS_STRP_NOUSE ) ) ) {+			return BIBL_ERR_MEMERR; 		}+ 	}  	return BIBL_OK; }  static int-generate_citekey( fields *f, int nref )+generate_citekey( fields *f, long nref ) { 	int n1, n2, status, ret; 	char *p, buf[100];@@ -641,100 +590,68 @@ 	str_init( &citekey );  	n1 = fields_find( f, "AUTHOR", LEVEL_MAIN );+	if ( n1==FIELDS_NOTFOUND ) n1 = fields_find( f, "AUTHOR:ASIS", LEVEL_MAIN );+	if ( n1==FIELDS_NOTFOUND ) n1 = fields_find( f, "AUTHOR:CORP", LEVEL_MAIN ); 	if ( n1==FIELDS_NOTFOUND ) n1 = fields_find( f, "AUTHOR", LEVEL_ANY );+	if ( n1==FIELDS_NOTFOUND ) n1 = fields_find( f, "AUTHOR:ASIS", LEVEL_ANY );+	if ( n1==FIELDS_NOTFOUND ) n1 = fields_find( f, "AUTHOR:CORP", LEVEL_ANY );+ 	n2 = fields_find( f, "DATE:YEAR", LEVEL_MAIN ); 	if ( n2==FIELDS_NOTFOUND ) n2 = fields_find( f, "DATE:YEAR", LEVEL_ANY ); 	if ( n2==FIELDS_NOTFOUND ) n2 = fields_find( f, "PARTDATE:YEAR", LEVEL_MAIN ); 	if ( n2==FIELDS_NOTFOUND ) n2 = fields_find( f, "PARTDATE:YEAR", LEVEL_ANY );+ 	if ( n1!=FIELDS_NOTFOUND && n2!=FIELDS_NOTFOUND ) {-		p = f->data[n1].data;++		p = fields_value( f, n1, FIELDS_CHRP_NOUSE ); 		while ( p && *p && *p!='|' ) { 			if ( !is_ws( *p ) ) str_addchar( &citekey, *p );  			p++; 		}-		p = f->data[n2].data;++		p = fields_value( f, n2, FIELDS_CHRP_NOUSE ); 		while ( p && *p ) { 			if ( !is_ws( *p ) ) str_addchar( &citekey, *p ); 			p++; 		}-		if ( str_memerr( &citekey ) ) {-			ret = -1;-			goto out;-		}-		status = fields_add( f, "REFNUM", citekey.data, 0 );-		if ( status!=FIELDS_OK ) {-			ret = -1;-			goto out;-		}-	} else {-		sprintf( buf, "ref%d\n", nref );-		str_strcpyc( &citekey, buf );+ 	}-	ret = fields_find( f, "REFNUM", LEVEL_ANY );-out:-	str_free( &citekey );-	return ret;-} -static int-resolve_citekeys( bibl *b, slist *citekeys, int *dup )-{-	const char abc[]="abcdefghijklmnopqrstuvwxyz";-	int nsame, ntmp, n, i, j, status = BIBL_OK;-	str tmp;+	else {+		sprintf( buf, "ref%ld", nref );+		str_strcpyc( &citekey, buf );+	} -	str_init( &tmp );+	if ( str_memerr( &citekey ) ) {+		ret = -1;+		goto out;+	} -	for ( i=0; i<citekeys->n; ++i ) {-		if ( dup[i]==-1 ) continue;-		nsame = 0;-		for ( j=i; j<citekeys->n; ++j ) {-			if ( dup[j]!=i ) continue;-			str_strcpy( &tmp, slist_str( citekeys, j ) );-			if ( str_memerr( &tmp ) ) {-				status = BIBL_ERR_MEMERR;-				goto out;-			}-			ntmp = nsame;-			while ( ntmp >= 26 ) {-				str_addchar( &tmp, 'a' );-					ntmp -= 26;-			}-			if ( ntmp<26 && ntmp>=0 )-			str_addchar( &tmp, abc[ntmp] );-			if ( str_memerr( &tmp ) ) {-				status = BIBL_ERR_MEMERR;-				goto out;-			}-			nsame++;-			dup[j] = -1;-			n = fields_find( b->ref[j], "REFNUM", LEVEL_ANY );-			if ( n!=FIELDS_NOTFOUND ) {-				str_strcpy(&((b->ref[j])->data[n]),&tmp);-				if ( str_memerr( &((b->ref[j])->data[n]) ) ) {-					status = BIBL_ERR_MEMERR;-					goto out;-				}-			}-		}+	status = fields_add( f, "REFNUM", str_cstr( &citekey ), LEVEL_MAIN );+	if ( status!=FIELDS_OK ) {+		ret = -1;+		goto out; 	}++	ret = fields_find( f, "REFNUM", LEVEL_MAIN ); out:-	str_free( &tmp );-	return status;+	str_free( &citekey );+	return ret; }  static int-get_citekeys( bibl *b, slist *citekeys )+get_citekeys( bibl *bin, slist *citekeys ) {-	int i, n, status;+	int n, status; 	fields *f;+	long i; -	for ( i=0; i<b->nrefs; ++i ) {-		f = b->ref[i];+	for ( i=0; i<bin->n; ++i ) {+		f = bin->ref[i]; 		n = fields_find( f, "REFNUM", LEVEL_ANY );-		if ( n==FIELDS_NOTFOUND ) n = generate_citekey( f, i );-		if ( n!=FIELDS_NOTFOUND && f->data[n].data ) {-			status = slist_add( citekeys, &(f->data[n]) );+		if ( n==FIELDS_NOTFOUND ) n = generate_citekey( f, i+1 );+		if ( n!=FIELDS_NOTFOUND && fields_has_value( f, n ) ) {+			status = slist_add( citekeys, fields_value( f, n, FIELDS_STRP_NOUSE ) ); 			if ( status!=SLIST_OK ) return BIBL_ERR_MEMERR; 		} else { 			status = slist_addc( citekeys, "" );@@ -745,15 +662,11 @@ 	return BIBL_OK; } -static int -dup_citekeys( bibl *b, slist *citekeys )+static int+identify_duplicates( bibl *b, slist *citekeys, int *dup ) {-	int i, j, status = BIBL_OK, *dup, ndup=0;--	dup = ( int * ) malloc( sizeof( int ) * citekeys->n );-	if ( !dup ) return BIBL_ERR_MEMERR;+	int i, j, ndup = 0; -	for ( i=0; i<citekeys->n; ++i ) dup[i] = -1; 	for ( i=0; i<citekeys->n-1; ++i ) { 		if ( dup[i]!=-1 ) continue; 		for ( j=i+1; j<citekeys->n; ++j ) {@@ -765,72 +678,145 @@ 			} 		} 	}-	if ( ndup ) status = resolve_citekeys( b, citekeys, dup );++	return ndup;+}++static int+build_new_citekey( int nsame, str *old_citekey, str *new_citekey )+{+	const char abc[]="abcdefghijklmnopqrstuvwxyz";++	str_strcpy( new_citekey, old_citekey );++	while ( nsame >= 26 ) {+		str_addchar( new_citekey, 'a' );+		nsame -= 26;+	}++	if ( nsame>=0 ) str_addchar( new_citekey, abc[nsame] );++	return ( str_memerr( new_citekey ) ) ? BIBL_ERR_MEMERR : BIBL_OK;+}++static int+resolve_duplicates( bibl *b, slist *citekeys, int *dup )+{+	int nsame, n, i, j, status = BIBL_OK;+	str new_citekey, *ref_citekey;++	str_init( &new_citekey );++	for ( i=0; i<citekeys->n; ++i ) {++		if ( dup[i]==-1 ) continue;++		nsame = 0;++		for ( j=i; j<citekeys->n; ++j ) {++			if ( dup[j]!=i ) continue;++			dup[j] = -1;++			status = build_new_citekey( nsame, slist_str( citekeys, j ), &new_citekey );+			if ( status!=BIBL_OK ) goto out;++			n = fields_find( b->ref[j], "REFNUM", LEVEL_ANY );+			if ( n==FIELDS_NOTFOUND ) continue;++			ref_citekey = fields_value( b->ref[j], n, FIELDS_STRP_NOUSE );++			str_strcpy( ref_citekey, &new_citekey );+			if ( str_memerr( ref_citekey ) ) { status = BIBL_ERR_MEMERR; goto out; }++			nsame++;+		}+	}+out:+	str_free( &new_citekey );+	return status;+}++static int+identify_and_resolve_duplicate_citekeys( bibl *b, slist *citekeys )+{+	int i, *dup, ndup, status=BIBL_OK;++	dup = ( int * ) malloc( sizeof( int ) * citekeys->n );+	if ( !dup ) return BIBL_ERR_MEMERR;+	for ( i=0; i<citekeys->n; ++i ) dup[i] = -1;++	ndup = identify_duplicates( b, citekeys, dup );++	if ( ndup ) status = resolve_duplicates( b, citekeys, dup );+ 	free( dup ); 	return status; }  static int-uniqueify_citekeys( bibl *b )+uniqueify_citekeys( bibl *bin ) { 	slist citekeys; 	int status;+ 	slist_init( &citekeys );-	status = get_citekeys( b, &citekeys );++	status = get_citekeys( bin, &citekeys ); 	if ( status!=BIBL_OK ) goto out;-	status = dup_citekeys( b, &citekeys );++	status = identify_and_resolve_duplicate_citekeys( bin, &citekeys ); out: 	slist_free( &citekeys ); 	return status; }  static int-clean_ref( bibl *bin, param *p )+clean_refs( bibl *bin, param *p ) { 	if ( p->cleanf ) return p->cleanf( bin, p ); 	else return BIBL_OK; }  static int -convert_ref( bibl *bin, char *fname, bibl *bout, param *p )+convert_refs( bibl *bin, char *fname, bibl *bout, param *p ) {+	int reftype = 0, status; 	fields *rin, *rout;-	int reftype = 0, ok, status; 	long i; -	for ( i=0; i<bin->nrefs; ++i ) {+	for ( i=0; i<bin->n; ++i ) {+ 		rin = bin->ref[i];+ 		rout = fields_new(); 		if ( !rout ) return BIBL_ERR_MEMERR;-		if ( p->typef ) -			reftype = p->typef( rin, fname, i+1, p );++		if ( p->typef ) reftype = p->typef( rin, fname, i+1, p );+ 		status = p->convertf( rin, rout, reftype, p ); 		if ( status!=BIBL_OK ) return status;+ 		if ( p->all ) { 			status = process_alwaysadd( rout, reftype, p ); 			if ( status!=BIBL_OK ) return status; 			status = process_defaultadd( rout, reftype, p ); 			if ( status!=BIBL_OK ) return status; 		}-		ok = bibl_addref( bout, rout );-		if ( !ok ) return BIBL_ERR_MEMERR;-	}-	if ( debug_set( p ) ) {-		fflush( stdout );-		fprintf( stderr, "-------------------start for convert_ref\n");-		bibl_verbose0( bout );-		fprintf( stderr, "-------------------end for convert_ref\n" );-		fflush( stderr );++		status = bibl_addref( bout, rout );+		if ( status!=BIBL_OK ) return status; 	}-	status = uniqueify_citekeys( bout );-	return status;++	return BIBL_OK; }  int bibl_read( bibl *b, FILE *fp, char *filename, param *p ) {-	int ok, status;-	param lp;+	int status = BIBL_OK;+	param read_params; 	bibl bin;  	if ( !b )  return BIBL_ERR_BADINPUT;@@ -838,91 +824,72 @@ 	if ( !p )  return BIBL_ERR_BADINPUT;  	if ( bibl_illegalinmode( p->readformat ) ) {-		if ( debug_set( p ) ) {-			fflush( stdout );-			report_params( stderr, "bibl_read", p );-		}+		if ( debug_set( p ) ) report_params( stderr, "bibl_read", p ); 		return BIBL_ERR_BADINPUT; 	} -	status = bibl_setreadparams( &lp, p );+	status = bibl_setreadparams( &read_params, p ); 	if ( status!=BIBL_OK ) {-		if ( debug_set( p ) ) {-			fflush( stdout );-			report_params( stderr, "bibl_read", p );-		}+		if ( debug_set( p ) ) report_params( stderr, "bibl_read", p ); 		return status; 	} +	if ( debug_set( &read_params ) ) {+		report_params( stderr, "bibl_read", &read_params );+	}+ 	bibl_init( &bin ); -	status = read_ref( fp, &bin, filename, &lp );+	status = read_refs( fp, &bin, filename, &read_params ); 	if ( status!=BIBL_OK ) {-		if ( debug_set( p ) ) {-			fflush( stdout );-			report_params( stderr, "bibl_read", &lp );-		}-		bibl_freeparams( &lp );+		if ( debug_set( &read_params ) ) report_params( stderr, "bibl_read", &read_params );+		bibl_freeparams( &read_params ); 		return status; 	} -	if ( debug_set( p ) ) {-		fflush( stdout );-		report_params( stderr, "bibl_read", &lp );-		fprintf( stderr, "-------------------raw_input start for bibl_read\n");-		bibl_verbose0( &bin );-		fprintf( stderr, "-------------------raw_input end for bibl_read\n" );-		fflush( stderr );+	if ( debug_set( &read_params ) ) {+		bibl_verbose( &bin, "raw_input", "for bibl_read" ); 	} -	if ( !lp.output_raw || ( lp.output_raw & BIBL_RAW_WITHCHARCONVERT ) ) {-		status = bibl_fixcharsets( &bin, &lp );-		if ( status!=BIBL_OK ) return status;-		if ( debug_set( p ) ) {-			fprintf( stderr, "-------------------post_fixcharsets start for bibl_read\n");-			bibl_verbose0( &bin );-			fprintf( stderr, "-------------------post_fixcharsets end for bibl_read\n" );-			fflush( stderr );-		}+	if ( !read_params.output_raw ) {+		status = clean_refs( &bin, &read_params );+		if ( status!=BIBL_OK ) goto out;+		if ( debug_set( &read_params ) ) bibl_verbose( &bin, "post_clean_refs", "for bibl_read" ); 	}-	if ( !lp.output_raw ) {-		status = clean_ref( &bin, &lp );-		if ( status!=BIBL_OK ) return status;-		if ( debug_set( p ) ) {-			fprintf( stderr, "-------------------post_clean_ref start for bibl_read\n");-			bibl_verbose0( &bin );-			fprintf( stderr, "-------------------post_clean_ref end for bibl_read\n" );-			fflush( stderr );-		}-		ok = convert_ref( &bin, filename, b, &lp );-		if ( ok!=BIBL_OK ) return ok;-		if ( debug_set( p ) ) {-			fprintf( stderr, "-------------------post_convert_ref start for bibl_read\n");-			bibl_verbose0( &bin );-			fprintf( stderr, "-------------------post_convert_ref end for bibl_read\n" );-			fflush( stderr );-		}-	} else {-		if ( debug_set( p ) ) {-			fprintf( stderr, "-------------------here1 start for bibl_read\n");-			bibl_verbose0( &bin );-			fprintf( stderr, "-------------------here1 end for bibl_read\n" );-			fflush( stderr );-		}-		ok = bibl_copy( b, &bin );-		if ( !ok ) {-			bibl_freeparams( &lp );-			return BIBL_ERR_MEMERR;++	if ( ( !read_params.output_raw ) || ( read_params.output_raw & BIBL_RAW_WITHCHARCONVERT ) ) {+		status = bibl_fixcharsets( &bin, &read_params );+		if ( status!=BIBL_OK ) goto out;+		if ( debug_set( &read_params ) ) bibl_verbose( &bin, "post_fixcharsets", "for bibl_read" );+	}++	if ( !read_params.output_raw ) {+		status = convert_refs( &bin, filename, b, &read_params );+		if ( status!=BIBL_OK ) goto out;+		if ( debug_set( &read_params ) ) bibl_verbose( b, "post_convert_refs", "for bibl_read" );+	}++	else {+		status = bibl_copy( b, &bin );+		if ( status!=BIBL_OK ) goto out;+		if ( debug_set( &read_params ) ) bibl_verbose( b, "post_bibl_copy", "for bibl_read" );+	}++	if ( ( !read_params.output_raw ) || ( read_params.output_raw & BIBL_RAW_WITHMAKEREFID ) ) {+		status = uniqueify_citekeys( b );+		if ( status!=BIBL_OK ) goto out;+		if ( read_params.addcount ) {+			status = bibl_addcount( b );+			if ( status!=BIBL_OK ) goto out; 		}+		if ( debug_set( &read_params ) ) bibl_verbose( &bin, "post_uniqueify_citekeys", "for bibl_read" ); 	}-	if ( !lp.output_raw || ( lp.output_raw & BIBL_RAW_WITHMAKEREFID ) )-		bibl_checkrefid( b, &lp ); +out: 	bibl_free( &bin );--	bibl_freeparams( &lp );+	bibl_freeparams( &read_params ); -	return BIBL_OK;+	return status; }  static FILE *@@ -943,7 +910,7 @@ 	found = fields_find( reffields, "REFNUM", LEVEL_MAIN ); 	/* find new filename based on reference */ 	if ( found!=-1 ) {-		sprintf( outfile,"%s.%s",reffields->data[found].data, suffix );+		sprintf( outfile,"%s.%s",(char*)fields_value(reffields,found,FIELDS_CHRP_NOUSE), suffix ); 	} else  sprintf( outfile,"%ld.%s",nref, suffix ); 	count = 0; 	fp = fopen( outfile, "r" );@@ -952,9 +919,8 @@ 		count++; 		if ( count==60000 ) return NULL; 		if ( found!=-1 )-			sprintf( outfile, "%s_%ld.%s", -				reffields->data[found].data, count, suffix  );-		else sprintf( outfile,"%ld_%ld.%s",nref, count, suffix );+			sprintf( outfile, "%s_%ld.%s", (char*)fields_value( reffields, found, FIELDS_CHRP_NOUSE ), count, suffix );+		else sprintf( outfile,"%ld_%ld.%s", nref, count, suffix ); 		fp = fopen( outfile, "r" ); 	} 	return fopen( outfile, "w" );@@ -969,7 +935,7 @@  	fields_init( &out ); -	for ( i=0; i<b->nrefs; ++i ) {+	for ( i=0; i<b->n; ++i ) {  		fp = singlerefname( b->ref[i], i, p->writeformat ); 		if ( !fp ) return BIBL_ERR_CANTOPEN;@@ -1009,13 +975,13 @@ 	}  	if ( p->headerf ) p->headerf( fp, p );-	for ( i=0; i<b->nrefs; ++i ) {+	for ( i=0; i<b->n; ++i ) {  		if ( p->assemblef ) { 			fields_free( &out ); 			status = p->assemblef( b->ref[i], &out, p, i ); 			if ( status!=BIBL_OK ) break;-			if ( debug_set( p ) ) bibl_verbose2( &out, "", i+1 );+			if ( debug_set( p ) ) bibl_verbose_reference( &out, "", i+1 ); 		} else { 			use = b->ref[i]; 		}@@ -1052,22 +1018,12 @@ 		fflush( stdout ); 	} -	if ( debug_set( p ) ) {-		fprintf( stderr, "-------------------raw input start for bibl_write\n");-		bibl_verbose0( b );-		fprintf( stderr, "-------------------raw input end for bibl_write\n" );-		fflush( stderr );-	}+	if ( debug_set( p ) ) bibl_verbose( b, "raw_input", "for bibl_write" );  	status = bibl_fixcharsets( b, &lp ); 	if ( status!=BIBL_OK ) goto out; -	if ( debug_set( p ) ) {-		fprintf( stderr, "-------------------post-fixcharsets start for bibl_write\n");-		bibl_verbose0( b );-		fprintf( stderr, "-------------------post-fixcharsets end for bibl_write\n" );-		fflush( stderr );-	}+	if ( debug_set( p ) ) bibl_verbose( b, "post-fixcharsets", "for bibl_write" );  	if ( p->singlerefperfile ) status = bibl_writeeachfp( fp, b, &lp ); 	else status = bibl_writefp( fp, b, &lp );
+ bibutils/bibdefs.h view
@@ -0,0 +1,17 @@+/*+ * bibdefs.h+ *+ * Copyright (c) Chris Putnam 2005-2020+ *+ * Source code released under GPL version 2+ *+ */+#ifndef BIBDEFS_H+#define BIBDEFS_H++#define BIBL_OK           (0)+#define BIBL_ERR_BADINPUT (-1)+#define BIBL_ERR_MEMERR   (-2)+#define BIBL_ERR_CANTOPEN (-3)++#endif
bibutils/bibformats.h view
@@ -11,25 +11,26 @@  #include "bibutils.h" -int adsout_initparams    ( param *pm, const char *progname );-int biblatexin_initparams( param *pm, const char *progname );-int bibtexin_initparams  ( param *pm, const char *progname );-int bibtexout_initparams ( param *pm, const char *progname );-int copacin_initparams   ( param *pm, const char *progname );-int ebiin_initparams     ( param *pm, const char *progname );-int endin_initparams     ( param *pm, const char *progname );-int endout_initparams    ( param *pm, const char *progname );-int endxmlin_initparams  ( param *pm, const char *progname );-int isiin_initparams     ( param *pm, const char *progname );-int isiout_initparams    ( param *pm, const char *progname );-int medin_initparams     ( param *pm, const char *progname );-int modsin_initparams    ( param *pm, const char *progname );-int modsout_initparams   ( param *pm, const char *progname );-int nbibin_initparams    ( param *pm, const char *progname );-int nbibout_initparams   ( param *pm, const char *progname );-int risin_initparams     ( param *pm, const char *progname );-int risout_initparams    ( param *pm, const char *progname );-int wordin_initparams    ( param *pm, const char *progname );-int wordout_initparams   ( param *pm, const char *progname );+int adsout_initparams     ( param *pm, const char *progname );+int biblatexin_initparams ( param *pm, const char *progname );+int biblatexout_initparams( param *pm, const char *progname );+int bibtexin_initparams   ( param *pm, const char *progname );+int bibtexout_initparams  ( param *pm, const char *progname );+int copacin_initparams    ( param *pm, const char *progname );+int ebiin_initparams      ( param *pm, const char *progname );+int endin_initparams      ( param *pm, const char *progname );+int endout_initparams     ( param *pm, const char *progname );+int endxmlin_initparams   ( param *pm, const char *progname );+int isiin_initparams      ( param *pm, const char *progname );+int isiout_initparams     ( param *pm, const char *progname );+int medin_initparams      ( param *pm, const char *progname );+int modsin_initparams     ( param *pm, const char *progname );+int modsout_initparams    ( param *pm, const char *progname );+int nbibin_initparams     ( param *pm, const char *progname );+int nbibout_initparams    ( param *pm, const char *progname );+int risin_initparams      ( param *pm, const char *progname );+int risout_initparams     ( param *pm, const char *progname );+int wordin_initparams     ( param *pm, const char *progname );+int wordout_initparams    ( param *pm, const char *progname );  #endif
bibutils/bibl.c view
@@ -1,104 +1,124 @@ /*  * bibl.c  *- * Copyright (c) Chris Putnam 2005-2019+ * Copyright (c) Chris Putnam 2005-2020  *  * Source code released under the GPL version 2  *  */ #include <stdio.h> #include <stdlib.h>+#include <string.h>+#include "bibdefs.h" #include "bibl.h"  void bibl_init( bibl *b ) {-	b->nrefs = b->maxrefs = 0L;+	b->n   = b->max = 0L; 	b->ref = NULL; }  static int-bibl_malloc( bibl * b )+bibl_alloc( bibl * b ) { 	int alloc = 50;-	b->nrefs = 0;+ 	b->ref = ( fields ** ) malloc( sizeof( fields* ) * alloc );-	if ( b->ref ) {-		b->maxrefs = alloc;-		return 1;-	} else {-		fprintf( stderr, "%s: allocation error\n", __FUNCTION__ );-		return 0;-	}+	if ( !b->ref ) return BIBL_ERR_MEMERR;++	b->max = alloc;++	return BIBL_OK; }  static int bibl_realloc( bibl * b ) {-	int alloc = b->maxrefs * 2;+	long alloc = b->max * 2; 	fields **more;+ 	more = ( fields ** ) realloc( b->ref, sizeof( fields* ) * alloc );-	if ( more ) {-		b->ref = more;-		b->maxrefs = alloc;-		return 1;-	} else {-		fprintf( stderr, "%s: allocation error\n", __FUNCTION__ );-		return 0;-	}+	if ( !more ) return BIBL_ERR_MEMERR;++	b->ref = more;+	b->max = alloc;++	return BIBL_OK; }  int bibl_addref( bibl *b, fields *ref ) {-	int ok = 1;-	if ( b->maxrefs==0 ) ok = bibl_malloc( b );-	else if ( b->nrefs >= b->maxrefs ) ok = bibl_realloc( b );-	if ( ok ) {-		b->ref[ b->nrefs ] = ref;-		b->nrefs++;+	int status = BIBL_OK;++	if ( b->max==0 )+		status = bibl_alloc( b );+	else if ( b->n >= b->max )+		status = bibl_realloc( b );++	if ( status==BIBL_OK ) {+		b->ref[ b->n ] = ref;+		b->n++; 	}-	return ok;+	return status; }  void bibl_free( bibl *b ) { 	long i;-	for ( i=0; i<b->nrefs; ++i )++	for ( i=0; i<b->n; ++i ) 		fields_delete( b->ref[i] );-	if ( b->ref ) free( b->ref );-	b->ref = NULL;-	b->nrefs = b->maxrefs = 0;++	free( b->ref );++	bibl_init( b ); }  /* bibl_copy()  *- * returns 1 on success, 0 on failure (memory error)+ * returns BIBL_OK on success, BIBL_ERR_MEMERR on failure  */ int bibl_copy( bibl *bout, bibl *bin ) {-	fields *refin, *refout;-	int i, j, n, status, ok, level;-	char *tag, *value;-	for ( i=0; i<bin->nrefs; ++i ) {-		refin = bin->ref[i];-		refout = fields_new();-		if ( !refout ) return 0;-		n = fields_num( refin );-		for ( j=0; j<n; ++j ) {-			tag   = fields_tag( refin, j, FIELDS_CHRP );-			value = fields_value( refin, j, FIELDS_CHRP );-			level = fields_level( refin, j );-			if ( tag && value ) {-				status = fields_add_can_dup( refout, tag, value, level );-				if ( status!=FIELDS_OK ) return 0;-			}-		}-		ok = bibl_addref( bout, refout );-		if ( !ok ) return 0;+	fields *ref;+	int status;+	long i;++	for ( i=0; i<bin->n; ++i ) {++		ref = fields_dupl( bin->ref[i] );+		if ( !ref ) return BIBL_ERR_MEMERR;++		status = bibl_addref( bout, ref );+		if ( status!=BIBL_OK ) return status;+ 	}-	return 1;++	return BIBL_OK; } +/* bibl_findref()+ *+ * returns position of reference matching citekey, else -1+ */+long+bibl_findref( bibl *bin, const char *citekey )+{+	long i;+	int n;++	for ( i=0; i<bin->n; ++i ) {++		n = fields_find( bin->ref[i], "refnum", LEVEL_ANY );+		if ( n==FIELDS_NOTFOUND ) continue;++		if ( !strcmp( fields_value( bin->ref[i], n, FIELDS_CHRP_NOUSE ), citekey ) ) return i;++	}++	return -1;+}
bibutils/bibl.h view
@@ -1,7 +1,7 @@ /*  * bibl.h  *- * Copyright (c) Chris Putnam 2005-2019+ * Copyright (c) Chris Putnam 2005-2020  *  * Source code released under the GPL version 2  *@@ -15,15 +15,16 @@ #include "reftypes.h"  typedef struct {-	long nrefs;-	long maxrefs;+	long n;+	long max; 	fields **ref; } bibl; -extern void bibl_init( bibl *b );-extern int  bibl_addref( bibl *b, fields *ref );-extern void bibl_free( bibl *b );-extern int  bibl_copy( bibl *bout, bibl *bin );+void bibl_init( bibl *b );+int  bibl_addref( bibl *b, fields *ref );+void bibl_free( bibl *b );+int  bibl_copy( bibl *bout, bibl *bin );+long bibl_findref( bibl *bin, const char *citekey );  #endif 
bibutils/biblatexin.c view
@@ -1,8 +1,8 @@ /*  * biblatexin.c  *- * Copyright (c) Chris Putnam 2008-2019- * Copyright (c) Johannes Wilm 2010-2019+ * Copyright (c) Chris Putnam 2008-2020+ * Copyright (c) Johannes Wilm 2010-2020  *  * Program and source code released under the GPL version 2  *@@ -17,6 +17,7 @@ #include "utf8.h" #include "str_conv.h" #include "fields.h"+#include "latex_parse.h" #include "slist.h" #include "name.h" #include "reftypes.h"@@ -471,163 +472,15 @@  PUBLIC: void biblatexin_cleanf() *****************************************************/ -static void-biblatex_process_tilde( str *s )-{-	char *p, *q;-	int n = 0;--	p = q = s->data;-	if ( !p ) return;-	while ( *p ) {-		if ( *p=='~' ) {-			*q = ' ';-		} else if ( *p=='\\' && *(p+1)=='~' ) {-			n++;-			p++;-			*q = '~';-		} else {-			*q = *p;-		}-		p++;-		q++;-	}-	*q = '\0';-	s->len -= n;-}--static void-biblatex_process_bracket( str *s )-{-	char *p, *q;-	int n = 0;--	p = q = s->data;-	if ( !p ) return;-	while ( *p ) {-		if ( *p=='\\' && ( *(p+1)=='{' || *(p+1)=='}' ) ) {-			n++;-			p++;-			*q = *p;-			q++;-		} else if ( *p=='{' || *p=='}' ) {-			n++;-		} else {-			*q = *p;-			q++;-		}-		p++;-	}-	*q = '\0';-	s->len -= n;-}- static int-biblatex_cleantoken( str *s )-{-	/* 'textcomp' annotations */-	str_findreplace( s, "\\textit", "" );-	str_findreplace( s, "\\textbf", "" );-	str_findreplace( s, "\\textsl", "" );-	str_findreplace( s, "\\textsc", "" );-	str_findreplace( s, "\\textsf", "" );-	str_findreplace( s, "\\texttt", "" );-	str_findreplace( s, "\\textsubscript", "" );-	str_findreplace( s, "\\textsuperscript", "" );-	str_findreplace( s, "\\emph", "" );-	str_findreplace( s, "\\url", "" );--	/* Other text annotations */-	str_findreplace( s, "\\it ", "" );-	str_findreplace( s, "\\em ", "" );--	str_findreplace( s, "\\%", "%" );-	str_findreplace( s, "\\$", "$" );-	while ( str_findreplace( s, "  ", " " ) ) {}--	/* 'textcomp' annotations that we don't want to substitute on output*/-	str_findreplace( s, "\\textdollar", "$" );-	str_findreplace( s, "\\textunderscore", "_" );--	biblatex_process_bracket( s );-	biblatex_process_tilde( s );--	if ( !str_memerr( s ) ) return BIBL_OK;-	else return BIBL_ERR_MEMERR;-}--static int-biblatex_split( slist *tokens, str *s )-{-	int i, n = s->len, nbrackets = 0, status = BIBL_OK;-	str tok, *t;--	str_init( &tok );--	for ( i=0; i<n; ++i ) {-		if ( s->data[i]=='{' && ( i==0 || s->data[i-1]!='\\' ) ) {-			nbrackets++;-			str_addchar( &tok, '{' );-		} else if ( s->data[i]=='}' && ( i==0 || s->data[i-1]!='\\' ) ) {-			nbrackets--;-			str_addchar( &tok, '}' );-		} else if ( !is_ws( s->data[i] ) || nbrackets ) {-			str_addchar( &tok, s->data[i] );-		} else if ( is_ws( s->data[i] ) ) {-			if ( str_memerr( &tok ) ) { status = BIBL_ERR_MEMERR; goto out; }-			if ( str_has_value( &tok ) ) {-				status = slist_add_ret( tokens, &tok, BIBL_OK, BIBL_ERR_MEMERR );-				if ( status!=BIBL_OK ) goto out;-			}-			str_empty( &tok );-		}-	}-	if ( str_has_value( &tok ) ) {-		if ( str_memerr( &tok ) ) { status = BIBL_ERR_MEMERR; goto out; }-		status = slist_add_ret( tokens, &tok, BIBL_OK, BIBL_ERR_MEMERR );-		if ( status!=BIBL_OK ) goto out;-	}--	for ( i=0; i<tokens->n; ++i ) {-		t = slist_str( tokens, i );-		str_trimstartingws( t );-		str_trimendingws( t );-		if ( str_memerr( t ) ) { status = BIBL_ERR_MEMERR; goto out; }-	}-out:-	str_free( &tok );-	return status;-}--static int-biblatexin_addtitleurl( fields *info, str *in )+is_url_tag( str *tag ) {-	int fstatus, status = BIBL_OK;-	const char *p;-	str s;--	str_init( &s );-	/* skip past "\href{" */-	p = str_cpytodelim( &s, in->data + 6, "}", 1 );-	if ( str_memerr( &s ) ) {-		status = BIBL_ERR_MEMERR;-		goto out;-	}-	fstatus = fields_add( info, "URL", s.data, 0 );-	if ( fstatus!=FIELDS_OK ) {-		status = BIBL_ERR_MEMERR;-		goto out;-	}--	(void) str_cpytodelim( &s, p, "", 0 );-	if ( str_memerr( &s ) ) {-		status = BIBL_ERR_MEMERR;-		goto out;+	if ( str_has_value( tag ) ) {+		if ( !strcasecmp( str_cstr( tag ), "url" ) ) return 1;+		if ( !strcasecmp( str_cstr( tag ), "file" ) ) return 1;+		if ( !strcasecmp( str_cstr( tag ), "doi" ) ) return 1; 	}-	str_swapstrings( &s, in );-out:-	str_free( &s );-	return status;+	return 0; }  static int@@ -654,67 +507,40 @@ }  static int-is_url_tag( str *tag )+biblatexin_cleanvalue( str *tag, str *value, fields *bibin, param *p ) {-	if ( str_has_value( tag ) ) {-		if ( !strcasecmp( str_cstr( tag ), "url" ) ) return 1;-	}-	return 0;-}+	int status = BIBL_OK;+	str parsed; -static int-biblatexin_cleandata( str *tag, str *s, fields *info, param *p )-{-	slist tokens;-	str *tok;-	int i, status = BIBL_OK;-	if ( str_is_empty( s ) ) return status;+	if ( str_is_empty( value ) ) return BIBL_OK;+ 	/* protect url from undergoing any parsing */-	if ( is_url_tag( tag ) ) return status;-	slist_init( &tokens );-	biblatex_split( &tokens, s );-	for ( i=0; i<tokens.n; ++i ) {-		if ( !strncasecmp(slist_cstr( &tokens, i ), "\\href{", 6 )) {-			status = biblatexin_addtitleurl( info, slist_str( &tokens, i ) );-			if ( status!=BIBL_OK ) goto out;-		}-		if ( p && p->latexin && !is_name_tag( tag ) ) {-			status = biblatex_cleantoken( slist_str( &tokens, i ) );-			if ( status!=BIBL_OK ) goto out;-		}-	}-	str_empty( s );-	for ( i=0; i<tokens.n; ++i ) {-		tok = slist_str( &tokens, i );-		if ( i>0 ) str_addchar( s, ' ' );-		str_strcat( s, tok );-	}+	if ( is_url_tag( tag ) ) return BIBL_OK;++	/* delay names from undergoing any parsing */+	if ( is_name_tag( tag ) ) return BIBL_OK;++	str_init( &parsed );++	status = latex_parse( value, &parsed );+	if ( status!=BIBL_OK ) goto out;++	str_strcpy( value, &parsed );+	if ( str_memerr( value ) ) status = BIBL_ERR_MEMERR;+ out:-	slist_free( &tokens );+	str_free( &parsed ); 	return status; } -static long-biblatexin_findref( bibl *bin, char *citekey )-{-	int n;-	long i;-	for ( i=0; i<bin->nrefs; ++i ) {-		n = fields_find( bin->ref[i], "refnum", LEVEL_ANY );-		if ( n==FIELDS_NOTFOUND ) continue;-		if ( !strcmp( bin->ref[i]->data[n].data, citekey ) ) return i;-	}-	return -1;-}- static void biblatexin_nocrossref( bibl *bin, long i, int n, param *p ) { 	int n1 = fields_find( bin->ref[i], "REFNUM", LEVEL_ANY ); 	if ( p->progname ) fprintf( stderr, "%s: ", p->progname );-	fprintf( stderr, "Cannot find cross-reference '%s'", bin->ref[i]->data[n].data);+	fprintf( stderr, "Cannot find cross-reference '%s'", (char*)fields_value( bin->ref[i], n, FIELDS_CHRP_NOUSE ) ); 	if ( n1!=FIELDS_NOTFOUND )-		fprintf( stderr, " for reference '%s'", bin->ref[i]->data[n1].data );+		fprintf( stderr, " for reference '%s'", (char*)fields_value( bin->ref[i], n1, FIELDS_CHRP_NOUSE ) ); 	fprintf( stderr, "\n" ); } @@ -748,12 +574,12 @@ 	int n, ncross, status = BIBL_OK; 	fields *ref, *cross; 	long i;-        for ( i=0; i<bin->nrefs; ++i ) {+        for ( i=0; i<bin->n; ++i ) { 		ref = bin->ref[i]; 		n = fields_find( ref, "CROSSREF", LEVEL_ANY ); 		if ( n==FIELDS_NOTFOUND ) continue;-		fields_setused( ref, n );-		ncross = biblatexin_findref(bin, (char*)fields_value(ref,n, FIELDS_CHRP_NOUSE));+		fields_set_used( ref, n );+		ncross = bibl_findref( bin, (char*) fields_value(ref,n, FIELDS_CHRP_NOUSE) ); 		if ( ncross==-1 ) { 			biblatexin_nocrossref( bin, i, n, p ); 			continue;@@ -774,7 +600,7 @@ 	for ( i=0; i<n; ++i ) { 		t = fields_tag( bibin, i, FIELDS_STRP_NOUSE ); 		d = fields_value( bibin, i, FIELDS_STRP_NOUSE );-		status = biblatexin_cleandata( t, d, bibin, p );+		status = biblatexin_cleanvalue( t, d, bibin, p ); 		if ( status!=BIBL_OK ) return status; 		if ( !strsearch( str_cstr( t ), "AUTHORS" ) ) { 			str_findreplace( d, "\n", " " );@@ -795,7 +621,7 @@ { 	int status; 	long i;-        for ( i=0; i<bin->nrefs; ++i ) {+        for ( i=0; i<bin->n; ++i ) { 		status = biblatexin_cleanref( bin->ref[i], p ); 		if ( status!=BIBL_OK ) return status; 	}@@ -862,7 +688,7 @@ 		if ( process != TITLE ) continue; 		if ( level != currlevel ) continue; -		fields_setused( bibin, i );+		fields_set_used( bibin, i );  		if ( !strcasecmp( newtag, "TITLE" ) ) { 			if ( str_has_value( ttl ) ) str_addchar( ttl, ' ' );@@ -930,7 +756,7 @@ 		goto out; 	} -	fstatus = fields_add( info, "TITLE", combined.data, currlevel );+	fstatus = fields_add( info, "TITLE", str_cstr( &combined ), currlevel ); 	if ( fstatus==FIELDS_OK ) status = BIBL_ERR_MEMERR; out: 	str_free( &combined );@@ -1011,6 +837,7 @@ { 	int begin, end, ok, n, etal, i, match, status = BIBL_OK; 	slist tokens;+	str parsed, *s;  	/* If we match the asis or corps list add and bail. */ 	status = biblatex_matches_list( info, tag, ":ASIS", data, level, asis, &match );@@ -1019,11 +846,18 @@ 	if ( match==1 || status!=BIBL_OK ) return status;  	slist_init( &tokens );+	str_init( &parsed ); -	biblatex_split( &tokens, data );-	for ( i=0; i<tokens.n; ++i )-		biblatex_cleantoken( slist_str( &tokens, i ) );+	status = latex_tokenize( &tokens, data );+	if ( status!=BIBL_OK ) goto out; +	for ( i=0; i<tokens.n; ++i ) {+		status = latex_parse( slist_str( &tokens, i ), &parsed );+		if ( status!=BIBL_OK ) goto out;+		s = slist_set( &tokens, i, &parsed );+		if ( !s ) { status=BIBL_ERR_MEMERR; goto out; }+	}+ 	etal = name_findetal( &tokens );  	begin = 0;@@ -1057,6 +891,7 @@ 	}  out:+	str_free( &parsed ); 	slist_free( &tokens ); 	return status; }@@ -1125,8 +960,8 @@ 	neprint = fields_find( bibin, "eprint",     LEVEL_ANY ); 	netype  = fields_find( bibin, "eprinttype", LEVEL_ANY ); -	if ( neprint!=FIELDS_NOTFOUND ) eprint = bibin->data[neprint].data;-	if ( netype!=FIELDS_NOTFOUND )  etype =  bibin->data[netype].data;+	if ( neprint!=FIELDS_NOTFOUND ) eprint = fields_value( bibin, neprint, FIELDS_CHRP );+	if ( netype!=FIELDS_NOTFOUND )  etype =  fields_value( bibin, netype,  FIELDS_CHRP );  	if ( eprint && etype ) { 		if ( !strncasecmp( etype, "arxiv", 5 ) ) {@@ -1147,16 +982,16 @@ 			fstatus = fields_add( bibout, "EPRINTTYPE", etype, level ); 			if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR; 		}-		fields_setused( bibin, neprint );-		fields_setused( bibin, netype );+		fields_set_used( bibin, neprint );+		fields_set_used( bibin, netype ); 	} else if ( eprint ) { 		fstatus = fields_add( bibout, "EPRINT", eprint, level ); 		if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;-		fields_setused( bibin, neprint );+		fields_set_used( bibin, neprint ); 	} else if ( etype ) { 		fstatus = fields_add( bibout, "EPRINTTYPE", etype, level ); 		if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;-		fields_setused( bibin, netype );+		fields_set_used( bibin, netype ); 	} 	return BIBL_OK; }@@ -1300,7 +1135,7 @@ 		if ( status!=BIBL_OK ) return status;  		if ( convertfns[ process ] != generic_null )-			fields_setused( bibin, i );+			fields_set_used( bibin, i );  	} 
+ bibutils/biblatexout.c view
@@ -0,0 +1,890 @@+/*+ * biblatexout.c+ *+ * Copyright (c) Chris Putnam 2003-2020+ *+ * Program and source code released under the GPL version 2+ *+ */+#include <stdio.h>+#include <stdlib.h>+#include <string.h>+#include <ctype.h>+#include "str.h"+#include "strsearch.h"+#include "utf8.h"+#include "xml.h"+#include "fields.h"+#include "generic.h"+#include "name.h"+#include "title.h"+#include "type.h"+#include "url.h"+#include "bibformats.h"++/*****************************************************+ PUBLIC: int biblatexout_initparams()+*****************************************************/++static int  biblatexout_write( fields *in, FILE *fp, param *p, unsigned long refnum );+static int  biblatexout_assemble( fields *in, fields *out, param *pm, unsigned long refnum );++int+biblatexout_initparams( param *pm, const char *progname )+{+	pm->writeformat      = BIBL_BIBLATEXOUT;+	pm->format_opts      = 0;+	pm->charsetout       = BIBL_CHARSET_DEFAULT;+	pm->charsetout_src   = BIBL_SRC_DEFAULT;+	pm->latexout         = 1;+	pm->utf8out          = BIBL_CHARSET_UTF8_DEFAULT;+	pm->utf8bom          = BIBL_CHARSET_BOM_DEFAULT;+	pm->xmlout           = BIBL_XMLOUT_FALSE;+	pm->nosplittitle     = 0;+	pm->verbose          = 0;+	pm->addcount         = 0;+	pm->singlerefperfile = 0;++	pm->headerf   = generic_writeheader;+	pm->footerf   = NULL;+	pm->assemblef = biblatexout_assemble;+	pm->writef    = biblatexout_write;++	if ( !pm->progname ) {+		if ( !progname ) pm->progname = NULL;+		else {+			pm->progname = strdup( progname );+			if ( !pm->progname ) return BIBL_ERR_MEMERR;+		}+	}++	return BIBL_OK;+}++/*****************************************************+ PUBLIC: int biblatexout_assemble()+*****************************************************/++enum {+	TYPE_UNKNOWN = 0,+	TYPE_ARTICLE,+	TYPE_SUPPPERIODICAL,+	TYPE_INBOOK,+	TYPE_INPROCEEDINGS,+	TYPE_PROCEEDINGS,+	TYPE_CONFERENCE,       /* legacy */+	TYPE_INCOLLECTION,+	TYPE_COLLECTION,+	TYPE_SUPPCOLLECTION,+	TYPE_REFERENCE,+	TYPE_MVREFERENCE,+	TYPE_BOOK,+	TYPE_BOOKLET,+	TYPE_SUPPBOOK,+	TYPE_PHDTHESIS,        /* legacy */+	TYPE_MASTERSTHESIS,    /* legacy */+	TYPE_DIPLOMATHESIS,+	TYPE_REPORT,+	TYPE_TECHREPORT,+	TYPE_MANUAL,+	TYPE_UNPUBLISHED,+	TYPE_PATENT,+	TYPE_ELECTRONIC,       /* legacy */+	TYPE_ONLINE,+	TYPE_WWW,              /* jurabib compatibility */+	TYPE_MISC,+	NUM_TYPES+};++static int+biblatexout_type( fields *in, const char *progname, const char *filename, unsigned long refnum )+{+	match_type genre_matches[] = {+		{ "periodical",             TYPE_ARTICLE,       LEVEL_ANY  },+		{ "academic journal",       TYPE_ARTICLE,       LEVEL_ANY  },+		{ "magazine",               TYPE_ARTICLE,       LEVEL_ANY  },+		{ "newspaper",              TYPE_ARTICLE,       LEVEL_ANY  },+		{ "article",                TYPE_ARTICLE,       LEVEL_ANY  },+		{ "instruction",            TYPE_MANUAL,        LEVEL_ANY  },+		{ "book",                   TYPE_BOOK,          LEVEL_MAIN },+		{ "booklet",                TYPE_BOOKLET,       LEVEL_MAIN },+		{ "book",                   TYPE_INBOOK,        LEVEL_ANY  },+		{ "book chapter",           TYPE_INBOOK,        LEVEL_ANY  },+		{ "unpublished",            TYPE_UNPUBLISHED,   LEVEL_ANY  },+		{ "manuscript",             TYPE_UNPUBLISHED,   LEVEL_ANY  },+		{ "conference publication", TYPE_PROCEEDINGS,   LEVEL_MAIN },+		{ "conference publication", TYPE_INPROCEEDINGS, LEVEL_ANY  },+		{ "collection",             TYPE_COLLECTION,    LEVEL_MAIN },+		{ "collection",             TYPE_INCOLLECTION,  LEVEL_ANY  },+		{ "report",                 TYPE_REPORT,        LEVEL_ANY  },+		{ "technical report",       TYPE_TECHREPORT,    LEVEL_ANY  },+		{ "Masters thesis",         TYPE_MASTERSTHESIS, LEVEL_ANY  },+		{ "Diploma thesis",         TYPE_DIPLOMATHESIS, LEVEL_ANY  },+		{ "Ph.D. thesis",           TYPE_PHDTHESIS,     LEVEL_ANY  },+		{ "Licentiate thesis",      TYPE_PHDTHESIS,     LEVEL_ANY  },+		{ "thesis",                 TYPE_PHDTHESIS,     LEVEL_ANY  },+		{ "electronic",             TYPE_ELECTRONIC,    LEVEL_ANY  },+		{ "patent",                 TYPE_PATENT,        LEVEL_ANY  },+		{ "miscellaneous",          TYPE_MISC,          LEVEL_ANY  },+	};+	int ngenre_matches = sizeof( genre_matches ) / sizeof( genre_matches[0] );++	match_type resource_matches[] = {+		{ "moving image",           TYPE_ELECTRONIC,    LEVEL_ANY  },+		{ "software, multimedia",   TYPE_ELECTRONIC,    LEVEL_ANY  },+	};+	int nresource_matches = sizeof( resource_matches ) /sizeof( resource_matches[0] );++	match_type issuance_matches[] = {+		{ "monographic",            TYPE_BOOK,          LEVEL_MAIN },+		{ "monographic",            TYPE_INBOOK,        LEVEL_ANY  },+	};+	int nissuance_matches = sizeof( issuance_matches ) / sizeof( issuance_matches[0] );++	int type, maxlevel, n;++	type = type_from_mods_hints( in, TYPE_FROM_GENRE, genre_matches, ngenre_matches, TYPE_UNKNOWN );+	if ( type==TYPE_UNKNOWN ) type = type_from_mods_hints( in, TYPE_FROM_RESOURCE, resource_matches, nresource_matches, TYPE_UNKNOWN );+	if ( type==TYPE_UNKNOWN ) type = type_from_mods_hints( in, TYPE_FROM_ISSUANCE, issuance_matches, nissuance_matches, TYPE_UNKNOWN );++	/* default to TYPE_MISC */+	if ( type==TYPE_UNKNOWN ) {+		maxlevel = fields_maxlevel( in );+		if ( maxlevel > 0 ) type = TYPE_MISC;+		else {+			if ( progname ) fprintf( stderr, "%s: ", progname );+			fprintf( stderr, "Cannot identify TYPE in reference %lu ", refnum+1 );+			n = fields_find( in, "REFNUM", LEVEL_ANY );+			if ( n!=FIELDS_NOTFOUND ) +				fprintf( stderr, " %s", (char*) fields_value( in, n, FIELDS_CHRP ) );+			fprintf( stderr, " (defaulting to @Misc)\n" );+			type = TYPE_MISC;+		}+	}+	return type;+}++static void+append_type( int type, fields *out, int *status )+{+	char *typenames[ NUM_TYPES ] = {+		[ TYPE_ARTICLE        ] = "Article",+		[ TYPE_SUPPPERIODICAL ] = "SuppPeriodical",+		[ TYPE_INBOOK         ] = "Inbook",+		[ TYPE_PROCEEDINGS    ] = "Proceedings",+		[ TYPE_INPROCEEDINGS  ] = "InProceedings",+		[ TYPE_CONFERENCE     ] = "Conference",+		[ TYPE_BOOK           ] = "Book",+		[ TYPE_BOOKLET        ] = "Booklet",+		[ TYPE_SUPPBOOK       ] = "SuppBook",+		[ TYPE_PHDTHESIS      ] = "PhdThesis",+		[ TYPE_MASTERSTHESIS  ] = "MastersThesis",+		[ TYPE_DIPLOMATHESIS  ] = "MastersThesis",+		[ TYPE_REPORT         ] = "Report",+		[ TYPE_TECHREPORT     ] = "TechReport",+		[ TYPE_REFERENCE      ] = "Reference",+		[ TYPE_MVREFERENCE    ] = "MvReference",+		[ TYPE_MANUAL         ] = "Manual",+		[ TYPE_COLLECTION     ] = "Collection",+		[ TYPE_SUPPCOLLECTION ] = "SuppCollection",+		[ TYPE_INCOLLECTION   ] = "InCollection",+		[ TYPE_UNPUBLISHED    ] = "Unpublished",+		[ TYPE_ELECTRONIC     ] = "Electronic",+		[ TYPE_ONLINE         ] = "Online",+		[ TYPE_WWW            ] = "WWW",+		[ TYPE_PATENT         ] = "Patent",+		[ TYPE_MISC           ] = "Misc",+	};+	int fstatus;+	char *s;++	if ( type < 0 || type >= NUM_TYPES ) type = TYPE_MISC;+	s = typenames[ type ];++	fstatus = fields_add( out, "TYPE", s, LEVEL_MAIN );+	if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+}++static void+append_citekey( fields *in, fields *out, int format_opts, int *status )+{+	int n, fstatus;+	str s;+	char *p;++	n = fields_find( in, "REFNUM", LEVEL_ANY );+	if ( ( format_opts & BIBL_FORMAT_BIBOUT_DROPKEY ) || n==FIELDS_NOTFOUND ) {+		fstatus = fields_add( out, "REFNUM", "", LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+	}++	else {+		str_init( &s );+		p = fields_value( in, n, FIELDS_CHRP );+		while ( p && *p && *p!='|' ) {+			if ( format_opts & BIBL_FORMAT_BIBOUT_STRICTKEY ) {+				if ( isdigit((unsigned char)*p) || (*p>='A' && *p<='Z') ||+				     (*p>='a' && *p<='z' ) ) {+					str_addchar( &s, *p );+				}+			}+			else {+				if ( *p!=' ' && *p!='\t' ) {+					str_addchar( &s, *p );+				}+			}+			p++;+		}+		if ( str_memerr( &s ) )  { *status = BIBL_ERR_MEMERR; str_free( &s ); return; }+		fstatus = fields_add( out, "REFNUM", str_cstr( &s ), LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+		str_free( &s );+	}+}++static void+append_simple( fields *in, char *intag, char *outtag, fields *out, int *status )+{+	int n, fstatus;++	n = fields_find( in, intag, LEVEL_ANY );+	if ( n!=FIELDS_NOTFOUND ) {+		fields_set_used( in, n );+		fstatus = fields_add( out, outtag, fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+	}+}++static void+append_simpleall( fields *in, char *intag, char *outtag, fields *out, int *status )+{+	int i, fstatus;++	for ( i=0; i<in->n; ++i ) {+		if ( fields_match_tag( in, i, intag ) ) {+			fields_set_used( in, i );+			fstatus = fields_add( out, outtag, fields_value( in, i, FIELDS_CHRP ), LEVEL_MAIN );+			if ( fstatus!=FIELDS_OK ) {+				*status = BIBL_ERR_MEMERR;+				return;+			}+		}+	}+}++static void+append_keywords( fields *in, fields *out, int *status )+{+	str keywords, *word;+	vplist_index i;+	int fstatus;+	vplist a;++	str_init( &keywords );+	vplist_init( &a );++	fields_findv_each( in, LEVEL_ANY, FIELDS_STRP, &a, "KEYWORD" );++	if ( a.n ) {++		for ( i=0; i<a.n; ++i ) {+			word = vplist_get( &a, i );+			if ( i>0 ) str_strcatc( &keywords, "; " );+			str_strcat( &keywords, word );+		}++		if ( str_memerr( &keywords ) ) { *status = BIBL_ERR_MEMERR; goto out; }++		fstatus = fields_add( out, "keywords", str_cstr( &keywords ), LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) {+			*status = BIBL_ERR_MEMERR;+			goto out;+		}+++	}++out:+	str_free( &keywords );+	vplist_free( &a );+}++static void+append_fileattach( fields *in, fields *out, int *status )+{+	char *tag, *value;+	int i, fstatus;+	str data;++	str_init( &data );++	for ( i=0; i<in->n; ++i ) {++		tag = fields_tag( in, i, FIELDS_CHRP );+		if ( strcasecmp( tag, "FILEATTACH" ) ) continue;++		value = fields_value( in, i, FIELDS_CHRP );+		str_strcpyc( &data, ":" );+		str_strcatc( &data, value );+		if ( strsearch( value, ".pdf" ) )+			str_strcatc( &data, ":PDF" );+		else if ( strsearch( value, ".html" ) )+			str_strcatc( &data, ":HTML" );+		else str_strcatc( &data, ":TYPE" );++		if ( str_memerr( &data ) ) {+			*status = BIBL_ERR_MEMERR;+			goto out;+		}++		fields_set_used( in, i );+		fstatus = fields_add( out, "file", str_cstr( &data ), LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) {+			*status = BIBL_ERR_MEMERR;+			goto out;+		}++		str_empty( &data );+	}+out:+	str_free( &data );+}++static void+append_people( fields *in, char *tag, char *ctag, char *atag,+		char *bibtag, int level, fields *out, int format_opts, int latex_out, int *status )+{+	int i, npeople, person, corp, asis, fstatus;+	str allpeople, oneperson;++	strs_init( &allpeople, &oneperson, NULL );++	/* primary citation authors */+	npeople = 0;+	for ( i=0; i<in->n; ++i ) {+		if ( level!=LEVEL_ANY && in->level[i]!=level ) continue;+		person = ( strcasecmp( in->tag[i].data, tag ) == 0 );+		corp   = ( strcasecmp( in->tag[i].data, ctag ) == 0 );+		asis   = ( strcasecmp( in->tag[i].data, atag ) == 0 );+		if ( person || corp || asis ) {+			if ( npeople>0 ) {+				if ( format_opts & BIBL_FORMAT_BIBOUT_WHITESPACE )+					str_strcatc( &allpeople, "\n\t\tand " );+				else str_strcatc( &allpeople, "\nand " );+			}+			if ( corp ) {+				if ( latex_out ) str_addchar( &allpeople, '{' );+				str_strcat( &allpeople, fields_value( in, i, FIELDS_STRP ) );+				if ( latex_out ) str_addchar( &allpeople, '}' );+			} else if ( asis ) {+				if ( latex_out ) str_addchar( &allpeople, '{' );+				str_strcat( &allpeople, fields_value( in, i, FIELDS_STRP ) );+				if ( latex_out ) str_addchar( &allpeople, '}' );+			} else {+				name_build_withcomma( &oneperson, fields_value( in, i, FIELDS_CHRP ) );+				str_strcat( &allpeople, &oneperson );+			}+			npeople++;+		}+	}+	if ( npeople ) {+		fstatus = fields_add( out, bibtag, allpeople.data, LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+	}++	strs_free( &allpeople, &oneperson, NULL );+}++static int+append_title_chosen( fields *in, char *bibtag, fields *out, int nmainttl, int nsubttl )+{+	str fulltitle, *mainttl = NULL, *subttl = NULL;+	int status, ret = BIBL_OK;++	str_init( &fulltitle );++	if ( nmainttl!=-1 ) {+		mainttl = fields_value( in, nmainttl, FIELDS_STRP );+		fields_set_used( in, nmainttl );+	}++	if ( nsubttl!=-1 ) {+		subttl = fields_value( in, nsubttl, FIELDS_STRP );+		fields_set_used( in, nsubttl );+	}++	title_combine( &fulltitle, mainttl, subttl );++	if ( str_memerr( &fulltitle ) ) {+		ret = BIBL_ERR_MEMERR;+		goto out;+	}++	if ( str_has_value( &fulltitle ) ) {+		status = fields_add( out, bibtag, str_cstr( &fulltitle ), LEVEL_MAIN );+		if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR;+	}++out:+	str_free( &fulltitle );+	return ret;+}++static int+append_title( fields *in, char *bibtag, int level, fields *out, int format_opts )+{+	int title, short_title, subtitle, short_subtitle, use_title, use_subtitle;++	title          = fields_find( in, "TITLE",         level );+	short_title    = fields_find( in, "SHORTTITLE",    level );+	subtitle       = fields_find( in, "SUBTITLE",      level );+	short_subtitle = fields_find( in, "SHORTSUBTITLE", level );++	if ( title==FIELDS_NOTFOUND || ( ( format_opts & BIBL_FORMAT_BIBOUT_SHORTTITLE ) && level==1 ) ) {+		use_title    = short_title;+		use_subtitle = short_subtitle;+	}++	else {+		use_title    = title;+		use_subtitle = subtitle;+	}++	return append_title_chosen( in, bibtag, out, use_title, use_subtitle );+}++static void+append_titles( fields *in, int type, fields *out, int format_opts, int *status )+{+	/* item=main level title */+	*status = append_title( in, "title", 0, out, format_opts );+	if ( *status!=BIBL_OK ) return;++	switch( type ) {++		case TYPE_ARTICLE:+		*status = append_title( in, "journal", 1, out, format_opts );+		break;++		case TYPE_INBOOK:+		*status = append_title( in, "bookTitle", 1, out, format_opts );+		if ( *status!=BIBL_OK ) return;+		*status = append_title( in, "series",    2, out, format_opts );+		break;++		case TYPE_INCOLLECTION:+		case TYPE_INPROCEEDINGS:+		*status = append_title( in, "booktitle", 1, out, format_opts );+		if ( *status!=BIBL_OK ) return;+		*status = append_title( in, "series",    2, out, format_opts );+		break;++		case TYPE_PHDTHESIS:+		case TYPE_MASTERSTHESIS:+		*status = append_title( in, "series", 1, out, format_opts );+		break;++		case TYPE_BOOK:+		case TYPE_REPORT:+		case TYPE_COLLECTION:+		case TYPE_PROCEEDINGS:+		*status = append_title( in, "series", 1, out, format_opts );+		if ( *status!=BIBL_OK ) return;+		*status = append_title( in, "series", 2, out, format_opts );+		break;++		default:+		/* do nothing */+		break;++	}+}++static int+find_date( fields *in, char *date_element )+{+	char date[100], partdate[100];+	int n;++	sprintf( date, "DATE:%s", date_element );+	n = fields_find( in, date, LEVEL_ANY );++	if ( n==FIELDS_NOTFOUND ) {+		sprintf( partdate, "PARTDATE:%s", date_element );+		n = fields_find( in, partdate, LEVEL_ANY );+	}++	return n;+}++static void+append_date( fields *in, fields *out, int *status )+{+	char *months[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", +		"Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };+	int n, month, fstatus;++	n = find_date( in, "YEAR" );+	if ( n!=FIELDS_NOTFOUND ) {+		fields_set_used( in, n );+		fstatus = fields_add( out, "year", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) {+			*status = BIBL_ERR_MEMERR;+			return;+		}+	}++	n = find_date( in, "MONTH" );+	if ( n!=-1 ) {+		fields_set_used( in, n );+		month = atoi( fields_value( in, n, FIELDS_CHRP ) );+		if ( month>0 && month<13 )+			fstatus = fields_add( out, "month", months[month-1], LEVEL_MAIN );+		else+			fstatus = fields_add( out, "month", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) {+			*status = BIBL_ERR_MEMERR;+			return;+		}+	}++	n = find_date( in, "DAY" );+	if ( n!=-1 ) {+		fields_set_used( in, n );+		fstatus = fields_add( out, "day", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) {+			*status = BIBL_ERR_MEMERR;+			return;+		}+	}++}++static void+append_arxiv( fields *in, fields *out, int *status )+{+	int n, fstatus1, fstatus2;+	str url;++	n = fields_find( in, "ARXIV", LEVEL_ANY );+	if ( n==FIELDS_NOTFOUND ) return;++	fields_set_used( in, n );++	/* ...write:+	 *     archivePrefix = "arXiv",+	 *     eprint = "#####",+	 * ...for arXiv references+	 */+	fstatus1 = fields_add( out, "archivePrefix", "arXiv", LEVEL_MAIN );+	fstatus2 = fields_add( out, "eprint", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );+	if ( fstatus1!=FIELDS_OK || fstatus2!=FIELDS_OK ) {+		*status = BIBL_ERR_MEMERR;+		return;+	}++	/* ...also write:+	 *     url = "http://arxiv.org/abs/####",+	 * ...to maximize compatibility+	 */+	str_init( &url );+	arxiv_to_url( in, n, "URL", &url );+	if ( str_has_value( &url ) ) {+		fstatus1 = fields_add( out, "url", str_cstr( &url ), LEVEL_MAIN );+		if ( fstatus1!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+	}+	str_free( &url );+}++static void+append_urls( fields *in, fields *out, int *status )+{+	int lstatus;+	slist types;++	lstatus = slist_init_valuesc( &types, "URL", "DOI", "PMID", "PMC", "JSTOR", NULL );+	if ( lstatus!=SLIST_OK ) {+		*status = BIBL_ERR_MEMERR;+		return;+	}++	*status = urls_merge_and_add( in, LEVEL_ANY, out, "url", LEVEL_MAIN, &types );++	slist_free( &types );+}++static void+append_isi( fields *in, fields *out, int *status )+{+	int n, fstatus;++	n = fields_find( in, "ISIREFNUM", LEVEL_ANY );+	if ( n==FIELDS_NOTFOUND ) return;++	fstatus = fields_add( out, "note", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );+	if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+}++static void+append_articlenumber( fields *in, fields *out, int *status )+{+	int n, fstatus;++	n = fields_find( in, "ARTICLENUMBER", LEVEL_ANY );+	if ( n==FIELDS_NOTFOUND ) return;++	fields_set_used( in, n );+	fstatus = fields_add( out, "pages", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN );+	if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+}++static int+pages_build_pagestr( str *pages, fields *in, int sn, int en, int format_opts )+{+	/* ...append if starting page number is defined */+	if ( sn!=-1 ) {+		str_strcat( pages, fields_value( in, sn, FIELDS_STRP ) );+		fields_set_used( in, sn );+	}++	/* ...append dashes if both starting and ending page numbers are defined */+	if ( sn!=-1 && en!=-1 ) {+		if ( format_opts & BIBL_FORMAT_BIBOUT_SINGLEDASH )+			str_strcatc( pages, "-" );+		else+			str_strcatc( pages, "--" );+	}++	/* ...append ending page number is defined */+	if ( en!=-1 ) {+		str_strcat( pages, fields_value( in, en, FIELDS_STRP ) );+		fields_set_used( in, en );+	}++	if ( str_memerr( pages ) ) return BIBL_ERR_MEMERR;+	else return BIBL_OK;+}++static int+pages_are_defined( fields *in, int *sn, int *en )+{+	*sn = fields_find( in, "PAGES:START", LEVEL_ANY );+	*en = fields_find( in, "PAGES:STOP",  LEVEL_ANY );+	if ( *sn==FIELDS_NOTFOUND && *en==FIELDS_NOTFOUND ) return 0;+	else return 1;+}++static void+append_pages( fields *in, fields *out, int format_opts, int *status )+{+	int sn, en, fstatus;+	str pages;++	if ( !pages_are_defined( in, &sn, &en ) ) {+		append_articlenumber( in, out, status );+		return;+	}++	str_init( &pages );+	*status = pages_build_pagestr( &pages, in, sn, en, format_opts );+	if ( *status==BIBL_OK ) {+		fstatus = fields_add( out, "pages", str_cstr( &pages ), LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+	}+	str_free( &pages );+}++/*+ * from Tim Hicks:+ * I'm no expert on bibtex, but those who know more than I on our mailing + * list suggest that 'issue' isn't a recognised key for bibtex and + * therefore that bibutils should be aliasing IS to number at some point in + * the conversion.+ *+ * Therefore prefer outputting issue/number as number and only keep+ * a distinction if both issue and number are present for a particular+ * reference.+ */++static void+append_issue_number( fields *in, fields *out, int *status )+{+	char issue[] = "issue", number[] = "number", *use_issue = number;+	int nissue  = fields_find( in, "ISSUE",  LEVEL_ANY );+	int nnumber = fields_find( in, "NUMBER", LEVEL_ANY );+	int fstatus;++	if ( nissue!=FIELDS_NOTFOUND && nnumber!=FIELDS_NOTFOUND ) use_issue = issue;++	if ( nissue!=FIELDS_NOTFOUND ) {+		fields_set_used( in, nissue );+		fstatus = fields_add( out, use_issue, fields_value( in, nissue, FIELDS_CHRP ), LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) {+			*status = BIBL_ERR_MEMERR;+			return;+		}+	}++	if ( nnumber!=FIELDS_NOTFOUND ) {+		fields_set_used( in, nnumber );+		fstatus = fields_add( out, "number", fields_value( in, nnumber, FIELDS_CHRP ), LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) {+			*status = BIBL_ERR_MEMERR;+			return;+		}+	}+}++static void+append_howpublished( fields *in, fields *out, int *status )+{+	int n, fstatus;+	char *d;++	n = fields_find( in, "GENRE:BIBUTILS", LEVEL_ANY );+	if ( n==FIELDS_NOTFOUND ) return;++	d = fields_value( in, n, FIELDS_CHRP_NOUSE );+	if ( !strcmp( d, "Habilitation thesis" ) ) {+		fstatus = fields_add( out, "howpublised", d, LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+	}+	if ( !strcmp( d, "Licentiate thesis" ) ) {+		fstatus = fields_add( out, "howpublised", d, LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+	}+	if ( !strcmp( d, "Diploma thesis" ) ) {+		fstatus = fields_add( out, "howpublised", d, LEVEL_MAIN );+		if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;+	}+}++static int+biblatexout_assemble( fields *in, fields *out, param *pm, unsigned long refnum )+{+	int type, status = BIBL_OK;++	type = biblatexout_type( in, pm->progname, "", refnum );++	append_type        ( type, out, &status );+	append_citekey     ( in, out, pm->format_opts, &status );+	append_people      ( in, "AUTHOR",     "AUTHOR:CORP",     "AUTHOR:ASIS",     "author",       LEVEL_MAIN, out, pm->format_opts, pm->latexout, &status );+	append_people      ( in, "AUTHOR",     "AUTHOR:CORP",     "AUTHOR:ASIS",     "bookauthor",   LEVEL_HOST, out, pm->format_opts, pm->latexout, &status );+	append_people      ( in, "EDITOR",     "EDITOR:CORP",     "EDITOR:ASIS",     "editor",       LEVEL_ANY, out, pm->format_opts, pm->latexout, &status );+	append_people      ( in, "ANNOTATOR",  "ANNOTATOR:CORP",  "ANNOTATOR:ASIS",  "annotator",    LEVEL_ANY, out, pm->format_opts, pm->latexout, &status );+	append_people      ( in, "TRANSLATOR", "TRANSLATOR:CORP", "TRANSLATOR:ASIS", "translator",   LEVEL_ANY, out, pm->format_opts, pm->latexout, &status );+	append_people      ( in, "REDACTOR",   "REDACTOR:CORP",   "REDACTOR:ASIS",   "redactor",     LEVEL_ANY, out, pm->format_opts, pm->latexout, &status );+	append_people      ( in, "COMMENTATOR","COMMENTATOR:CORP","COMMENTATOR:ASIS","commentator",  LEVEL_ANY, out, pm->format_opts, pm->latexout, &status );+	append_people      ( in, "INTROAUTHOR","INTROAUTHOR:CORP","INTROAUTHOR:ASIS","introduction", LEVEL_ANY, out, pm->format_opts, pm->latexout, &status );+	append_people      ( in, "AFTERAUTHOR","AFTERAUTHOR:CORP","AFTERAUTHOR:ASIS","afterword",    LEVEL_ANY, out, pm->format_opts, pm->latexout, &status );+	append_titles      ( in, type, out, pm->format_opts, &status );+	append_simple      ( in, "SHORTTITLE",         "shorttitle", out, &status );+	append_date        ( in, out, &status );+	append_simple      ( in, "EDITION",            "edition",   out, &status );+	append_simple      ( in, "PUBLISHER",          "publisher", out, &status );+	append_simple      ( in, "ADDRESS",            "address",   out, &status );+	append_simple      ( in, "EDITION",            "version",   out, &status );+	append_simple      ( in, "PART",               "part",      out, &status );+	append_simple      ( in, "VOLUME",             "volume",    out, &status );+	append_issue_number( in, out, &status );+	append_pages       ( in, out, pm->format_opts, &status );+	append_keywords    ( in, out, &status );+	append_simple      ( in, "LANGCATALOG",        "hyphenation", out, &status );+	append_simple      ( in, "CONTENTS",           "contents",    out, &status );+	append_simple      ( in, "ABSTRACT",           "abstract",    out, &status );+	append_simple      ( in, "LOCATION",           "location",    out, &status );+	append_simple      ( in, "DEGREEGRANTOR",      "school",      out, &status );+	append_simple      ( in, "DEGREEGRANTOR:ASIS", "school",      out, &status );+	append_simple      ( in, "DEGREEGRANTOR:CORP", "school",      out, &status );+	append_simpleall   ( in, "NOTES",              "note",        out, &status );+	append_simpleall   ( in, "ANNOTE",             "annote",      out, &status );+	append_simpleall   ( in, "ANNOTATION",         "annotation",  out, &status );+	append_simple      ( in, "ISBN",               "isbn",        out, &status );+	append_simple      ( in, "ISSN",               "issn",        out, &status );+	append_simple      ( in, "MRNUMBER",           "mrnumber",    out, &status );+	append_simple      ( in, "CODEN",              "coden",       out, &status );+	append_simple      ( in, "DOI",                "doi",         out, &status );+	append_simple      ( in, "EID",                "eid",         out, &status );+	append_urls        ( in, out, &status );+	append_fileattach  ( in, out, &status );+	append_arxiv       ( in, out, &status );+	append_simple      ( in, "EPRINTCLASS",        "primaryClass", out, &status );+	append_isi         ( in, out, &status );+	append_simple      ( in, "LANGUAGE",           "language",  out, &status );+	append_howpublished( in, out, &status );++	return status;+}++/*****************************************************+ PUBLIC: int biblatexout_write()+*****************************************************/++static int+biblatexout_write( fields *out, FILE *fp, param *pm, unsigned long refnum )+{+	int i, j, len, nquotes, format_opts = pm->format_opts;+	char *tag, *value, ch;++	/* ...output type information "@article{" */+	value = ( char * ) fields_value( out, 0, FIELDS_CHRP );+	if ( !(format_opts & BIBL_FORMAT_BIBOUT_UPPERCASE) ) fprintf( fp, "@%s{", value );+	else {+		len = (value) ? strlen( value ) : 0;+		fprintf( fp, "@" );+		for ( i=0; i<len; ++i )+			fprintf( fp, "%c", toupper((unsigned char)value[i]) );+		fprintf( fp, "{" );+	}++	/* ...output refnum "Smith2001" */+	value = ( char * ) fields_value( out, 1, FIELDS_CHRP );+	fprintf( fp, "%s", value );++	/* ...rest of the references */+	for ( j=2; j<out->n; ++j ) {+		nquotes = 0;+		tag   = ( char * ) fields_tag( out, j, FIELDS_CHRP );+		value = ( char * ) fields_value( out, j, FIELDS_CHRP );+		fprintf( fp, ",\n" );+		if ( format_opts & BIBL_FORMAT_BIBOUT_WHITESPACE ) fprintf( fp, "  " );+		if ( !(format_opts & BIBL_FORMAT_BIBOUT_UPPERCASE ) ) fprintf( fp, "%s", tag );+		else {+			len = strlen( tag );+			for ( i=0; i<len; ++i )+				fprintf( fp, "%c", toupper((unsigned char)tag[i]) );+		}+		if ( format_opts & BIBL_FORMAT_BIBOUT_WHITESPACE ) fprintf( fp, " = \t" );+		else fprintf( fp, "=" );++		if ( format_opts & BIBL_FORMAT_BIBOUT_BRACKETS ) fprintf( fp, "{" );+		else fprintf( fp, "\"" );++		len = strlen( value );+		for ( i=0; i<len; ++i ) {+			ch = value[i];+			if ( ch!='\"' ) fprintf( fp, "%c", ch );+			else {+				if ( format_opts & BIBL_FORMAT_BIBOUT_BRACKETS || ( i>0 && value[i-1]=='\\' ) )+					fprintf( fp, "\"" );+				else {+					if ( nquotes % 2 == 0 )+						fprintf( fp, "``" );+					else    fprintf( fp, "\'\'" );+					nquotes++;+				}+			}+		}++		if ( format_opts & BIBL_FORMAT_BIBOUT_BRACKETS ) fprintf( fp, "}" );+		else fprintf( fp, "\"" );+	}++	/* ...finish reference */+	if ( format_opts & BIBL_FORMAT_BIBOUT_FINALCOMMA ) fprintf( fp, "," );+	fprintf( fp, "\n}\n\n" );++	fflush( fp );++	return BIBL_OK;+}
bibutils/bibtexin.c view
@@ -1,7 +1,7 @@ /*  * bibtexin.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Program and source code released under the GPL version 2  *@@ -11,6 +11,7 @@ #include <string.h> #include <ctype.h> #include "is_ws.h"+#include "intlist.h" #include "str.h" #include "utf8.h" #include "str_conv.h"@@ -20,6 +21,7 @@ #include "title.h" #include "url.h" #include "reftypes.h"+#include "latex_parse.h" #include "bibformats.h" #include "generic.h" @@ -651,243 +653,225 @@ *****************************************************/  static int-bibtex_protected( str *data )+is_url_tag( str *tag ) {-	if ( data->data[0]=='{' && data->data[data->len-1]=='}' ) return 1;-	if ( data->data[0]=='\"' && data->data[data->len-1]=='\"' ) return 1;+	if ( str_has_value( tag ) ) {+		if ( !strcasecmp( str_cstr( tag ), "url" ) ) return 1;+		if ( !strcasecmp( str_cstr( tag ), "file" ) ) return 1;+		if ( !strcasecmp( str_cstr( tag ), "doi" ) ) return 1;+		if ( !strcasecmp( str_cstr( tag ), "sentelink" ) ) return 1;+	} 	return 0; }  static int-bibtex_split( slist *tokens, str *s )+is_name_tag( str *tag ) {-	int i, n = s->len, nbrackets = 0, status = BIBL_OK;-	str tok;--	str_init( &tok );--	for ( i=0; i<n; ++i ) {-		if ( s->data[i]=='{' && ( i==0 || s->data[i-1]!='\\' ) ) {-			nbrackets++;-			str_addchar( &tok, '{' );-		} else if ( s->data[i]=='}' && ( i==0 || s->data[i-1]!='\\' ) ) {-			nbrackets--;-			str_addchar( &tok, '}' );-		} else if ( !is_ws( s->data[i] ) || nbrackets ) {-			str_addchar( &tok, s->data[i] );-		} else if ( is_ws( s->data[i] ) ) {-			if ( str_has_value( &tok ) ) {-				status = slist_add_ret( tokens, &tok, BIBL_OK, BIBL_ERR_MEMERR );-				if ( status!=BIBL_OK ) goto out;-			}-			str_empty( &tok );-		}-	}-	if ( str_has_value( &tok ) ) {-		status = slist_add_ret( tokens, &tok, BIBL_OK, BIBL_ERR_MEMERR );-		if ( status!=BIBL_OK ) goto out;-	}--	for ( i=0; i<tokens->n; ++i ) {-		str_trimstartingws( slist_str( tokens, i ) );-		str_trimendingws( slist_str( tokens, i ) );+	if ( str_has_value( tag ) ) {+		if ( !strcasecmp( str_cstr( tag ), "author" ) ) return 1;+		if ( !strcasecmp( str_cstr( tag ), "editor" ) ) return 1;+		if ( !strcasecmp( str_cstr( tag ), "translator" ) ) return 1; 	}-out:-	str_free( &tok );-	return status;+	return 0; }  static int-bibtex_addtitleurl( fields *info, str *in )+bibtex_cleanvalue( str *value ) {-	int fstatus, status = BIBL_OK;-	const char *p;-	str s;--	str_init( &s );+	int status;+	str parsed; -	/* ...skip past "\href{" and copy to "}" */-	p = str_cpytodelim( &s, in->data + 6, "}", 1 );-	if ( str_memerr( &s ) ) { status = BIBL_ERR_MEMERR; goto out; }+	str_init( &parsed ); -	/* ...add to URL */-	fstatus = fields_add( info, "URL", s.data, 0 );-	if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; }+	status = latex_parse( value, &parsed );+	if ( status!=BIBL_OK ) goto out; -	/* ...return deleted fragment to str in */-	(void) str_cpytodelim( &s, p, "", 0 );-	if ( str_memerr( &s ) ) { status = BIBL_ERR_MEMERR; goto out; }-	str_swapstrings( &s, in );+	str_strcpy( value, &parsed );+	if ( str_memerr( value ) ) status = BIBL_ERR_MEMERR;  out:-	str_free( &s );+	str_free( &parsed ); 	return status; }  static int-is_url_tag( str *tag )+bibtex_matches_list( fields *bibout, char *tag, char *suffix, str *data, int level, slist *names, int *match ) {-	if ( str_has_value( tag ) ) {-		if ( !strcasecmp( str_cstr( tag ), "url" ) ) return 1;+	int n, fstatus;+	str mergedtag;++	*match = 0;++	n = slist_find( names, data );+	if ( slist_wasfound( names, n ) ) {+		str_initstrsc( &mergedtag, tag, suffix, NULL );+		fstatus = fields_add( bibout, str_cstr( &mergedtag ), str_cstr( data ), level );+		str_free( &mergedtag );+		if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;+		*match = 1; 	}-	return 0;++	return BIBL_OK; }  static int-is_name_tag( str *tag )+bibtex_matches_asis_or_corps( fields *bibin, int m, param *pm, int *match ) {-	if ( str_has_value( tag ) ) {-		if ( !strcasecmp( str_cstr( tag ), "author" ) ) return 1;-		if ( !strcasecmp( str_cstr( tag ), "editor" ) ) return 1;-	}-	return 0;+	int status;++	status = bibtex_matches_list( bibin, fields_tag( bibin, m, FIELDS_STRP ), ":ASIS", fields_value( bibin, m, FIELDS_STRP ), LEVEL_MAIN, &(pm->asis), match );+	if ( *match==1 || status!=BIBL_OK ) return status;++	status = bibtex_matches_list( bibin, fields_tag( bibin, m, FIELDS_STRP ), ":CORP", fields_value( bibin, m, FIELDS_STRP ), LEVEL_MAIN, &(pm->corps), match );+	if ( *match==1 || status!=BIBL_OK ) return status;++	return BIBL_OK; } -static void-bibtex_process_tilde( str *s )+/* We need to:+ *    (1) break names into LaTeX tokens (e.g. respect "{van der Hoff}" as a single name element)+ *    (2) clean the values by removing brackets and things+ *    (3) convert the character set before any name processing happens (else things like "\"O" get split up)+ */+static int+bibtex_person_tokenize( fields *bibin, int m, param *pm, slist *tokens ) {-	const char *p;-	char *q;-	int n = 0;+	int i, ok, status;+	str *s; -	p = s->data;-	q = s->data;-	if ( !p ) return;-	while ( *p ) {-		if ( *p=='~' ) {-			*q = ' ';-		} else if ( *p=='\\' && *(p+1)=='~' ) {-			n++;-			p++;-			*q = '~';-		} else {-			*q = *p;-		}-		p++;-		q++;+	status = latex_tokenize( tokens, fields_value( bibin, m, FIELDS_STRP ) );+	if ( status!=BIBL_OK ) return status;++	for ( i=0; i<tokens->n; ++i ) {++		s = slist_str( tokens, i );++		status = bibtex_cleanvalue( s );+		if ( status!=BIBL_OK ) return status;++		ok = str_convert( s, pm->charsetin,  1, pm->utf8in,  pm->xmlin,+		                     pm->charsetout, 0, pm->utf8out, pm->xmlout );+		if ( !ok ) return BIBL_ERR_MEMERR;+ 	}-	*q = '\0';-	s->len -= n;++	return BIBL_OK; } -static void-bibtex_process_bracket( str *s )+/* We need to:+ *      (1) Build individual names+ *      (2) Add them to the end of fields *bibin -- because of this, we have to look up the tag/data every time+ *          because we can reallocate the raw data and make any pointers stale+ */+static int+bibtex_person_add_names( fields *bibin, int m, slist *tokens ) {-	char *p, *q;-	int n = 0;+	int begin, end, ok, n, etal; -	p = q = s->data;-	if ( !p ) return;-	while ( *p ) {-		if ( *p=='\\' && ( *(p+1)=='{' || *(p+1)=='}' ) ) {-			n++;-			p++;-			*q = *p;-			q++;-		} else if ( *p=='{' || *p=='}' ) {-			n++;+	etal = name_findetal( tokens );++	begin = 0;+	n = tokens->n - etal;+	while ( begin < n ) {++		end = begin + 1;++		while ( end < n && strcasecmp( slist_cstr( tokens, end ), "and" ) )+			end++;+++		if ( end - begin == 1 ) {+			ok = name_addsingleelement( bibin, fields_tag( bibin,m,FIELDS_CHRP), slist_cstr( tokens, begin ), LEVEL_MAIN, NAME_ASIS );+			if ( !ok ) return BIBL_ERR_MEMERR; 		} else {-			*q = *p;-			q++;+			ok = name_addmultielement( bibin, fields_tag(bibin,m,FIELDS_CHRP), tokens, begin, end, LEVEL_MAIN );+			if ( !ok ) return BIBL_ERR_MEMERR; 		}-		p++;-	}-	*q = '\0';-	s->len -= n;-} -static void-bibtex_cleantoken( str *s )-{-	/* 'textcomp' annotations */-	str_findreplace( s, "\\textit", "" );-	str_findreplace( s, "\\textbf", "" );-	str_findreplace( s, "\\textsl", "" );-	str_findreplace( s, "\\textsc", "" );-	str_findreplace( s, "\\textsf", "" );-	str_findreplace( s, "\\texttt", "" );-	str_findreplace( s, "\\textsubscript", "" );-	str_findreplace( s, "\\textsuperscript", "" );-	str_findreplace( s, "\\emph", "" );-	str_findreplace( s, "\\url", "" );-	str_findreplace( s, "\\mbox", "" );--	/* Other text annotations */-	str_findreplace( s, "\\it ", "" );-	str_findreplace( s, "\\em ", "" );+		begin = end + 1; -	str_findreplace( s, "\\%", "%" );-	str_findreplace( s, "\\$", "$" );-	while ( str_findreplace( s, "  ", " " ) ) {}+		/* Handle repeated 'and' errors: authors="G. F. Author and and B. K. Author" */+		while ( begin < n && !strcasecmp( slist_cstr( tokens, begin ), "and" ) )+			begin++; -	/* 'textcomp' annotations that we don't want to substitute on output*/-	str_findreplace( s, "\\textdollar", "$" );-	str_findreplace( s, "\\textunderscore", "_" );+	} -	bibtex_process_bracket( s );-	bibtex_process_tilde( s );+	if ( etal ) {+		ok = name_addsingleelement( bibin, fields_tag(bibin,m,FIELDS_CHRP), "et al.", LEVEL_MAIN, NAME_ASIS );+		if ( !ok ) return BIBL_ERR_MEMERR;+	} +	return BIBL_OK; } +/* Keep looking up tag values--we can reallocate when we add new names here */ static int-bibtex_cleandata( str *tag, str *s, fields *info, param *p )+bibtexin_person( fields *bibin, int m, param *pm ) {-	int i, status;+	int status, match = 0; 	slist tokens;-	str *tok;-	if ( str_is_empty( s ) ) return BIBL_OK;-	/* protect url from undergoing any parsing */-	if ( is_url_tag( tag ) ) return BIBL_OK;++	status = bibtex_matches_asis_or_corps( bibin, m, pm, &match );+	if ( status!=BIBL_OK || match==1 ) return status;+ 	slist_init( &tokens );-	status = bibtex_split( &tokens, s );++	status = bibtex_person_tokenize( bibin, m, pm, &tokens ); 	if ( status!=BIBL_OK ) goto out;-	for ( i=0; i<tokens.n; ++i ) {-		tok = slist_str( &tokens, i );-		if ( bibtex_protected( tok ) ) {-			if (!strncasecmp(tok->data,"\\href{", 6)) {-				bibtex_addtitleurl( info, tok );-			}-		}-		if ( p->latexin && !is_name_tag( tag ) && !is_url_tag( tag ) )-			bibtex_cleantoken( tok );-	}-	str_empty( s );-	for ( i=0; i<tokens.n; ++i ) {-		tok = slist_str( &tokens, i );-		if ( i>0 ) str_addchar( s, ' ' );-		str_strcat( s, tok );-	}++	status = bibtex_person_add_names( bibin, m, &tokens );+	if ( status!=BIBL_OK ) goto out;+ out: 	slist_free( &tokens ); 	return status;+ }  static int-bibtexin_cleanref( fields *bibin, param *p )+bibtexin_cleanref( fields *bibin, param *pm ) {-	int i, n, status;-	str *t, *d;+	int i, n, fstatus, status = BIBL_OK;+	str *tag, *value;+	intlist toremove;++	intlist_init( &toremove );+ 	n = fields_num( bibin );+ 	for ( i=0; i<n; ++i ) {-		t = fields_tag( bibin, i, FIELDS_STRP_NOUSE );-		d = fields_value( bibin, i, FIELDS_STRP_NOUSE );-		status = bibtex_cleandata( t, d, bibin, p );-		if ( status!=BIBL_OK ) return status;++		tag = fields_tag( bibin, i, FIELDS_STRP_NOUSE );+		if ( is_url_tag( tag ) ) continue; /* protect url from parsing */++		value = fields_value( bibin, i, FIELDS_STRP_NOUSE );+		if ( str_is_empty( value ) ) continue;++		if ( is_name_tag( tag ) ) {+			status = bibtexin_person( bibin, i, pm );+			if ( status!=BIBL_OK ) goto out;++			fstatus = intlist_add( &toremove, i );+			if ( fstatus!=INTLIST_OK ) { status = BIBL_ERR_MEMERR; goto out; }+		}++		else {+			status = bibtex_cleanvalue( value );+			if ( status!=BIBL_OK ) goto out;+		}+ 	}-	return BIBL_OK;-} -static long-bibtexin_findref( bibl *bin, char *citekey )-{-	int n;-	long i;-	for ( i=0; i<bin->nrefs; ++i ) {-		n = fields_find( bin->ref[i], "refnum", LEVEL_ANY );-		if ( n==FIELDS_NOTFOUND ) continue;-		if ( !strcmp( bin->ref[i]->data[n].data, citekey ) ) return i;+	for ( i=toremove.n-1; i>=0; i-- ) {+		fstatus = fields_remove( bibin, intlist_get( &toremove, i ) );+		if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; } 	}-	return -1;++out:++	intlist_free( &toremove );++	return status; }  static void@@ -895,42 +879,42 @@ { 	int n1 = fields_find( bin->ref[i], "REFNUM", LEVEL_ANY ); 	if ( p->progname ) fprintf( stderr, "%s: ", p->progname );-	fprintf( stderr, "Cannot find cross-reference '%s'",-			bin->ref[i]->data[n].data );-	if ( n1!=FIELDS_NOTFOUND ) fprintf( stderr, " for reference '%s'\n",-			bin->ref[i]->data[n1].data );+	fprintf( stderr, "Cannot find cross-reference '%s'", (char*) fields_value( bin->ref[i], n, FIELDS_CHRP_NOUSE ) );+	if ( n1!=FIELDS_NOTFOUND ) fprintf( stderr, " for reference '%s'\n", (char*) fields_value( bin->ref[i], n1, FIELDS_CHRP_NOUSE ) ); 	fprintf( stderr, "\n" ); }  static int bibtexin_crossref_oneref( fields *bibref, fields *bibcross ) {-	int j, n, nl, ntype, fstatus, status = BIBL_OK;-	char *type, *nt, *nv;+	int i, n, newlevel, ntype, fstatus;+	char *type, *newtag, *newvalue;  	ntype = fields_find( bibref, "INTERNAL_TYPE", LEVEL_ANY ); 	type = ( char * ) fields_value( bibref, ntype, FIELDS_CHRP_NOUSE );  	n = fields_num( bibcross );-	for ( j=0; j<n; ++j ) {-		nt = ( char * ) fields_tag( bibcross, j, FIELDS_CHRP_NOUSE );-		if ( !strcasecmp( nt, "INTERNAL_TYPE" ) ) continue;-		if ( !strcasecmp( nt, "REFNUM" ) ) continue;-		if ( !strcasecmp( nt, "TITLE" ) ) {++	for ( i=0; i<n; ++i ) {++		newtag = ( char * ) fields_tag( bibcross, i, FIELDS_CHRP_NOUSE );+		if ( !strcasecmp( newtag, "INTERNAL_TYPE" ) ) continue;+		if ( !strcasecmp( newtag, "REFNUM" ) ) continue;+		if ( !strcasecmp( newtag, "TITLE" ) ) { 			if ( !strcasecmp( type, "Inproceedings" ) || 			     !strcasecmp( type, "Incollection" ) )-				nt = "booktitle";-		}-		nv = ( char * ) fields_value( bibcross, j, FIELDS_CHRP_NOUSE );-		nl = fields_level( bibcross, j ) + 1;-		fstatus = fields_add( bibref, nt, nv, nl );-		if ( fstatus!=FIELDS_OK ) {-			status = BIBL_ERR_MEMERR;-			goto out;+				newtag = "booktitle"; 		}++		newvalue = ( char * ) fields_value( bibcross, i, FIELDS_CHRP_NOUSE );++		newlevel = fields_level( bibcross, i ) + 1;++		fstatus = fields_add( bibref, newtag, newvalue, newlevel );+		if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR; 	}-out:-	return status;++	return BIBL_OK; }  static int@@ -939,12 +923,12 @@ 	int i, n, ncross, status = BIBL_OK; 	fields *bibref, *bibcross; -	for ( i=0; i<bin->nrefs; ++i ) {+	for ( i=0; i<bin->n; ++i ) { 		bibref = bin->ref[i]; 		n = fields_find( bibref, "CROSSREF", LEVEL_ANY ); 		if ( n==FIELDS_NOTFOUND ) continue;-		fields_setused( bibref, n );-		ncross = bibtexin_findref( bin, (char*) fields_value( bibref, n, FIELDS_CHRP ) );+		fields_set_used( bibref, n );+		ncross = bibl_findref( bin, (char*) fields_value( bibref, n, FIELDS_CHRP_NOUSE ) ); 		if ( ncross==-1 ) { 			bibtexin_nocrossref( bin, i, n, p ); 			continue;@@ -960,12 +944,14 @@ static int bibtexin_cleanf( bibl *bin, param *p ) {-	int status = BIBL_OK;+	int status; 	long i; -        for ( i=0; i<bin->nrefs; ++i )+        for ( i=0; i<bin->n; ++i ) { 		status = bibtexin_cleanref( bin->ref[i], p );-	bibtexin_crossref( bin, p );+		if ( status!=BIBL_OK ) return status;+	}+	status = bibtexin_crossref( bin, p ); 	return status; } @@ -991,36 +977,6 @@  PUBLIC: int bibtexin_convertf(), returns BIBL_OK or BIBL_ERR_MEMERR *****************************************************/ -static int-bibtex_matches_list( fields *bibout, char *tag, char *suffix, str *data, int level,-		slist *names, int *match )-{-	int i, fstatus, status = BIBL_OK;-	str newtag;--	*match = 0;-	if ( names->n==0 ) return status;--	str_init( &newtag );--	for ( i=0; i<names->n; ++i ) {-		if ( strcmp( str_cstr( data ), slist_cstr( names, i ) ) ) continue;-		str_initstrc( &newtag, tag );-		str_strcatc( &newtag, suffix );-		fstatus = fields_add( bibout, str_cstr( &newtag ), str_cstr( data ), level );-		if ( fstatus!=FIELDS_OK ) {-			status = BIBL_ERR_MEMERR;-			goto out;-		}-		*match = 1;-		goto out;-	}--out:-	str_free( &newtag );-	return status;-}- /**** bibtexin_btorg ****/  /*@@ -1111,7 +1067,7 @@ bibtexin_linkedfile( fields *bibin, int m, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout ) { 	int fstatus, status = BIBL_OK;-	char *p = invalue->data;+	char *p = str_cstr( invalue ); 	int i, n, n1, n2; 	str link; @@ -1132,7 +1088,7 @@ 			goto out; 		} 		if ( link.len ) {-			fstatus = fields_add( bibout, "FILEATTACH", link.data, level );+			fstatus = fields_add( bibout, "FILEATTACH", str_cstr( &link ), level ); 			if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR; 		} out:@@ -1211,30 +1167,30 @@ 	str merge;  	if ( !strcmp( prefix, "arXiv" ) ) {-		fstatus = fields_add( bibout, "ARXIV", value->data, level );+		fstatus = fields_add( bibout, "ARXIV", str_cstr( value ), level ); 		if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR; 	}  	else if ( !strcmp( prefix, "jstor" ) ) {-		fstatus = fields_add( bibout, "JSTOR", value->data, level );+		fstatus = fields_add( bibout, "JSTOR", str_cstr( value ), level ); 		if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR; 	}  	else if ( !strcmp( prefix, "medline" ) ) {-		fstatus = fields_add( bibout, "MEDLINE", value->data, level );+		fstatus = fields_add( bibout, "MEDLINE", str_cstr( value ), level ); 		if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR; 	}  	else if ( !strcmp( prefix, "pubmed" ) ) {-		fstatus = fields_add( bibout, "PMID", value->data, level );+		fstatus = fields_add( bibout, "PMID", str_cstr( value ), level ); 		if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR; 	}  	/* ...if this is unknown prefix, merge prefix & eprint */ 	else { 		str_init( &merge );-		str_mergestrs( &merge, prefix, ":", value->data, NULL );-		fstatus = fields_add( bibout, "URL", merge.data, level );+		str_mergestrs( &merge, prefix, ":", str_cstr( value ), NULL );+		fstatus = fields_add( bibout, "URL", str_cstr( &merge ), level ); 		if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR; 		str_free( &merge ); 	}@@ -1247,7 +1203,7 @@ 	int fstatus;  	/* ...no archivePrefix, need to handle just 'eprint' tag */-	fstatus = fields_add( bibout, "URL", value->data, level );+	fstatus = fields_add( bibout, "URL", str_cstr( value ), level );  	if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR; 	else return BIBL_OK;@@ -1287,7 +1243,7 @@ 	const char *p; 	str keyword; -	p = invalue->data;+	p = str_cstr( invalue ); 	str_init( &keyword );  	while ( *p ) {@@ -1298,7 +1254,7 @@ 			goto out; 		} 		if ( keyword.len ) {-			fstatus = fields_add( bibout, "KEYWORD", keyword.data, level );+			fstatus = fields_add( bibout, "KEYWORD", str_cstr( &keyword ), level ); 			if ( fstatus!=FIELDS_OK ) { 				status = BIBL_ERR_MEMERR; 				goto out;@@ -1310,70 +1266,6 @@ 	return status; } -/*- * bibtex_names( bibout, newtag, field, level);- *- * split names in author list separated by and's (use '|' character)- * and add names- *- * returns BIBL_OK on success, BIBL_ERR_MEMERR on memory error- */--static int-bibtexin_person( fields *bibin, int m, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout )-{-	int begin, end, ok, n, etal, i, status, match;-	slist tokens;--	/* If we match the asis or corps list add and bail. */-	status = bibtex_matches_list( bibout, outtag, ":ASIS", invalue, level, &(pm->asis), &match );-	if ( match==1 || status!=BIBL_OK ) return status;-	status = bibtex_matches_list( bibout, outtag, ":CORP", invalue, level, &(pm->corps), &match );-	if ( match==1 || status!=BIBL_OK ) return status;--	slist_init( &tokens );--	bibtex_split( &tokens, invalue );-	for ( i=0; i<tokens.n; ++i )-		bibtex_cleantoken( slist_str( &tokens, i ) );--	etal = name_findetal( &tokens );--	begin = 0;-	n = tokens.n - etal;-	while ( begin < n ) {--		end = begin + 1;--		while ( end < n && strcasecmp( slist_cstr( &tokens, end ), "and" ) )-			end++;--		if ( end - begin == 1 ) {-			ok = name_addsingleelement( bibout, outtag, slist_cstr( &tokens, begin ), level, 0 );-			if ( !ok ) { status = BIBL_ERR_MEMERR; goto out; }-		} else {-			ok = name_addmultielement( bibout, outtag, &tokens, begin, end, level );-			if ( !ok ) { status = BIBL_ERR_MEMERR; goto out; }-		}--		begin = end + 1;--		/* Handle repeated 'and' errors: authors="G. F. Author and and B. K. Author" */-		while ( begin < n && !strcasecmp( slist_cstr( &tokens, begin ), "and" ) )-			begin++;-	}--	if ( etal ) {-		ok = name_addsingleelement( bibout, outtag, "et al.", level, 0 );-		if ( !ok ) status = BIBL_ERR_MEMERR;-	}--out:-	slist_free( &tokens );-	return status;--}- /**** bibtexin_title() ****/  /* bibtexin_titleinbook_isbooktitle()@@ -1448,7 +1340,7 @@ 		[ 0 ... NUM_REFTYPES-1 ] = generic_null, 		[ SIMPLE       ] = generic_simple, 		[ TITLE        ] = bibtexin_title,-		[ PERSON       ] = bibtexin_person,+		[ PERSON       ] = generic_simple, 		[ PAGES        ] = generic_pages, 		[ KEYWORD      ] = bibtexin_keyword, 		[ EPRINT       ] = bibtexin_eprint,@@ -1469,8 +1361,8 @@ 	for ( i=0; i<nfields; ++i ) {  		if ( fields_used( bibin, i ) )   continue; /* e.g. successful crossref */-		if ( fields_notag( bibin, i ) )  continue;-		if ( fields_nodata( bibin, i ) ) continue;+		if ( fields_no_tag( bibin, i ) )  continue;+		if ( fields_no_value( bibin, i ) ) continue;  		intag   = fields_tag( bibin, i, FIELDS_STRP ); 		invalue = fields_value( bibin, i, FIELDS_STRP );
bibutils/bibtexout.c view
@@ -1,7 +1,7 @@ /*  * bibtexout.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Program and source code released under the GPL version 2  *@@ -225,7 +225,7 @@  	n = fields_find( in, intag, LEVEL_ANY ); 	if ( n!=FIELDS_NOTFOUND ) {-		fields_setused( in, n );+		fields_set_used( in, n ); 		fstatus = fields_add( out, outtag, fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR; 	}@@ -238,7 +238,7 @@  	for ( i=0; i<in->n; ++i ) { 		if ( fields_match_tag( in, i, intag ) ) {-			fields_setused( in, i );+			fields_set_used( in, i ); 			fstatus = fields_add( out, outtag, fields_value( in, i, FIELDS_CHRP ), LEVEL_MAIN ); 			if ( fstatus!=FIELDS_OK ) { 				*status = BIBL_ERR_MEMERR;@@ -313,7 +313,7 @@ 			goto out; 		} -		fields_setused( in, i );+		fields_set_used( in, i ); 		fstatus = fields_add( out, "file", str_cstr( &data ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) { 			*status = BIBL_ERR_MEMERR;@@ -328,7 +328,7 @@  static void append_people( fields *in, char *tag, char *ctag, char *atag,-		char *bibtag, int level, fields *out, int format_opts, int *status )+		char *bibtag, int level, fields *out, int format_opts, int latex_out, int *status ) { 	int i, npeople, person, corp, asis, fstatus; 	str allpeople, oneperson;@@ -349,13 +349,13 @@ 				else str_strcatc( &allpeople, "\nand " ); 			} 			if ( corp ) {-				str_addchar( &allpeople, '{' );+				if ( latex_out ) str_addchar( &allpeople, '{' ); 				str_strcat( &allpeople, fields_value( in, i, FIELDS_STRP ) );-				str_addchar( &allpeople, '}' );+				if ( latex_out ) str_addchar( &allpeople, '}' ); 			} else if ( asis ) {-				str_addchar( &allpeople, '{' );+				if ( latex_out ) str_addchar( &allpeople, '{' ); 				str_strcat( &allpeople, fields_value( in, i, FIELDS_STRP ) );-				str_addchar( &allpeople, '}' );+				if ( latex_out ) str_addchar( &allpeople, '}' ); 			} else { 				name_build_withcomma( &oneperson, fields_value( in, i, FIELDS_CHRP ) ); 				str_strcat( &allpeople, &oneperson );@@ -381,12 +381,12 @@  	if ( nmainttl!=-1 ) { 		mainttl = fields_value( in, nmainttl, FIELDS_STRP );-		fields_setused( in, nmainttl );+		fields_set_used( in, nmainttl ); 	}  	if ( nsubttl!=-1 ) { 		subttl = fields_value( in, nsubttl, FIELDS_STRP );-		fields_setused( in, nsubttl );+		fields_set_used( in, nsubttl ); 	}  	title_combine( &fulltitle, mainttl, subttl );@@ -502,8 +502,8 @@  	n = find_date( in, "YEAR" ); 	if ( n!=FIELDS_NOTFOUND ) {-		fields_setused( in, n );-		fstatus = fields_add( out, "year", in->data[n].data, LEVEL_MAIN );+		fields_set_used( in, n );+		fstatus = fields_add( out, "year", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) { 			*status = BIBL_ERR_MEMERR; 			return;@@ -512,12 +512,12 @@  	n = find_date( in, "MONTH" ); 	if ( n!=-1 ) {-		fields_setused( in, n );-		month = atoi( in->data[n].data );+		fields_set_used( in, n );+		month = atoi( fields_value( in, n, FIELDS_CHRP ) ); 		if ( month>0 && month<13 ) 			fstatus = fields_add( out, "month", months[month-1], LEVEL_MAIN ); 		else-			fstatus = fields_add( out, "month", in->data[n].data, LEVEL_MAIN );+			fstatus = fields_add( out, "month", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) { 			*status = BIBL_ERR_MEMERR; 			return;@@ -526,8 +526,8 @@  	n = find_date( in, "DAY" ); 	if ( n!=-1 ) {-		fields_setused( in, n );-		fstatus = fields_add( out, "day", in->data[n].data, LEVEL_MAIN );+		fields_set_used( in, n );+		fstatus = fields_add( out, "day", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) { 			*status = BIBL_ERR_MEMERR; 			return;@@ -545,7 +545,7 @@ 	n = fields_find( in, "ARXIV", LEVEL_ANY ); 	if ( n==FIELDS_NOTFOUND ) return; -	fields_setused( in, n );+	fields_set_used( in, n );  	/* ...write: 	 *     archivePrefix = "arXiv",@@ -609,7 +609,7 @@ 	n = fields_find( in, "ARTICLENUMBER", LEVEL_ANY ); 	if ( n==FIELDS_NOTFOUND ) return; -	fields_setused( in, n );+	fields_set_used( in, n ); 	fstatus = fields_add( out, "pages", fields_value( in, n, FIELDS_CHRP ), LEVEL_MAIN ); 	if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR; }@@ -620,7 +620,7 @@ 	/* ...append if starting page number is defined */ 	if ( sn!=-1 ) { 		str_strcat( pages, fields_value( in, sn, FIELDS_STRP ) );-		fields_setused( in, sn );+		fields_set_used( in, sn ); 	}  	/* ...append dashes if both starting and ending page numbers are defined */@@ -634,7 +634,7 @@ 	/* ...append ending page number is defined */ 	if ( en!=-1 ) { 		str_strcat( pages, fields_value( in, en, FIELDS_STRP ) );-		fields_setused( in, en );+		fields_set_used( in, en ); 	}  	if ( str_memerr( pages ) ) return BIBL_ERR_MEMERR;@@ -693,7 +693,7 @@ 	if ( nissue!=FIELDS_NOTFOUND && nnumber!=FIELDS_NOTFOUND ) use_issue = issue;  	if ( nissue!=FIELDS_NOTFOUND ) {-		fields_setused( in, nissue );+		fields_set_used( in, nissue ); 		fstatus = fields_add( out, use_issue, fields_value( in, nissue, FIELDS_CHRP ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) { 			*status = BIBL_ERR_MEMERR;@@ -702,7 +702,7 @@ 	}  	if ( nnumber!=FIELDS_NOTFOUND ) {-		fields_setused( in, nnumber );+		fields_set_used( in, nnumber ); 		fstatus = fields_add( out, "number", fields_value( in, nnumber, FIELDS_CHRP ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) { 			*status = BIBL_ERR_MEMERR;@@ -744,9 +744,9 @@  	append_type        ( type, out, &status ); 	append_citekey     ( in, out, pm->format_opts, &status );-	append_people      ( in, "AUTHOR",     "AUTHOR:CORP",     "AUTHOR:ASIS",     "author", LEVEL_MAIN, out, pm->format_opts, &status );-	append_people      ( in, "EDITOR",     "EDITOR:CORP",     "EDITOR:ASIS",     "editor", LEVEL_ANY, out, pm->format_opts, &status );-	append_people      ( in, "TRANSLATOR", "TRANSLATOR:CORP", "TRANSLATOR:ASIS", "translator", LEVEL_ANY, out, pm->format_opts, &status );+	append_people      ( in, "AUTHOR",     "AUTHOR:CORP",     "AUTHOR:ASIS",     "author", LEVEL_MAIN, out, pm->format_opts, pm->latexout, &status );+	append_people      ( in, "EDITOR",     "EDITOR:CORP",     "EDITOR:ASIS",     "editor", LEVEL_ANY, out, pm->format_opts, pm->latexout, &status );+	append_people      ( in, "TRANSLATOR", "TRANSLATOR:CORP", "TRANSLATOR:ASIS", "translator", LEVEL_ANY, out, pm->format_opts, pm->latexout, &status ); 	append_titles      ( in, type, out, pm->format_opts, &status ); 	append_date        ( in, out, &status ); 	append_simple      ( in, "EDITION",            "edition",   out, &status );
bibutils/bibtextypes.c view
@@ -1,7 +1,7 @@ /*  * bibtypes.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Program and source code released under the GPL version 2  *@@ -17,7 +17,11 @@  */ static lookups article[] = { 	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN }, 	{ "title",        "",               TITLE,        LEVEL_MAIN }, 	{ "year",         "PARTDATE:YEAR",  SIMPLE,       LEVEL_MAIN }, 	{ "month",        "PARTDATE:MONTH", SIMPLE,       LEVEL_MAIN },@@ -65,7 +69,11 @@  static lookups book[] = { 	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN }, 	{ "title",        "",               TITLE,        LEVEL_MAIN }, 	{ "booktitle",    "",               TITLE,        LEVEL_MAIN }, 	{ "series",       "",               TITLE,        LEVEL_HOST },@@ -73,6 +81,8 @@ 	{ "organization", "ORGANIZER:CORP", BT_ORG,       LEVEL_MAIN }, 	{ "address",      "ADDRESS",        SIMPLE,       LEVEL_MAIN }, 	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "year",         "DATE:YEAR",      SIMPLE,       LEVEL_MAIN }, 	{ "month",        "DATE:MONTH",     SIMPLE,       LEVEL_MAIN }, 	{ "day",          "DATE:DAY",       SIMPLE,       LEVEL_MAIN },@@ -110,12 +120,18 @@ /* Technical reports */  static lookups report[] = {-	{ "author",       "AUTHOR",     PERSON,       LEVEL_MAIN },-	{ "translator",   "TRANSLATOR", PERSON,       LEVEL_MAIN },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN }, 	{ "title",        "",           TITLE,        LEVEL_MAIN }, 	{ "booktitle",    "",           TITLE,        LEVEL_MAIN }, 	{ "series",       "",           TITLE,        LEVEL_HOST },-	{ "editor",       "EDITOR",     PERSON,       LEVEL_MAIN },+	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "publisher",    "PUBLISHER",  SIMPLE,       LEVEL_MAIN }, 	{ "institution",  "PUBLISHER",  SIMPLE,       LEVEL_MAIN }, 	{ "address",      "ADDRESS",    SIMPLE,       LEVEL_MAIN },@@ -150,11 +166,17 @@ };  static lookups manual[] = {-	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },-	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },-	{ "title",     "",     TITLE,  LEVEL_MAIN },-	{ "booktitle", "",     TITLE,  LEVEL_MAIN },-	{ "editor",    "EDITOR",    PERSON, LEVEL_MAIN },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN },+	{ "title",         "",              TITLE,        LEVEL_MAIN },+	{ "booktitle",     "",              TITLE,        LEVEL_MAIN },+	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN }, 	{ "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN }, 	{ "address",   "ADDRESS",   SIMPLE, LEVEL_MAIN },@@ -189,9 +211,15 @@ /* Part of a book (e.g. chapter or section) */  static lookups inbook[] = {-	{ "author",       "AUTHOR",    PERSON, LEVEL_MAIN },-	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },-	{ "editor",       "EDITOR",    PERSON, LEVEL_HOST },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN },+	{ "editor",       "EDITOR",         PERSON,       LEVEL_HOST },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_HOST },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_HOST }, 	{ "chapter",      "CHAPTER",   SIMPLE, LEVEL_MAIN },   /* chapter number */ 	{ "title",        "",          TITLE,  LEVEL_MAIN },   /* chapter name */ 	{ "booktitle",    "",          TITLE,  LEVEL_HOST },@@ -235,9 +263,15 @@ /* References of papers in conference proceedings */  static lookups inproceedings[] = {-	{ "author",     "AUTHOR",     PERSON, LEVEL_MAIN },-	{ "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },-	{ "editor",     "EDITOR",     PERSON, LEVEL_HOST },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN },+	{ "editor",       "EDITOR",         PERSON,       LEVEL_HOST },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_HOST },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_HOST }, 	{ "chapter",    "CHAPTER",    SIMPLE, LEVEL_MAIN },   /* chapter number */ 	{ "title",      "",           TITLE,  LEVEL_MAIN },   /* chapter name */ 	{ "booktitle",  "",           TITLE,  LEVEL_HOST },@@ -280,9 +314,15 @@ /* Used for a section of a book with its own title */  static lookups incollection[] = {-	{ "author",     "AUTHOR",     PERSON, LEVEL_MAIN },-	{ "translator", "TRANSLATOR", PERSON, LEVEL_MAIN },-	{ "editor",     "EDITOR",     PERSON, LEVEL_HOST },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN },+	{ "editor",       "EDITOR",         PERSON,       LEVEL_HOST },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_HOST },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_HOST }, 	{ "chapter",    "CHAPTER",    SIMPLE, LEVEL_MAIN },   /* chapter number */ 	{ "title",      "",           TITLE,  LEVEL_MAIN },   /* chapter name */ 	{ "booktitle",  "",           TITLE,  LEVEL_HOST },@@ -325,9 +365,15 @@ /* Proceedings */  static lookups proceedings[] = {-	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },-	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },-	{ "editor",    "EDITOR",    PERSON, LEVEL_MAIN },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN },+	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "title",     "",     TITLE,  LEVEL_MAIN }, 	{ "booktitle", "",     TITLE,  LEVEL_MAIN }, 	{ "series",    "",     TITLE,  LEVEL_HOST },@@ -365,8 +411,12 @@ };  static lookups phds[] = {-	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },-	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN }, 	{ "title",     "",     TITLE,  LEVEL_MAIN }, 	{ "year",      "DATE:YEAR",      SIMPLE, LEVEL_MAIN }, 	{ "month",     "DATE:MONTH",     SIMPLE, LEVEL_MAIN },@@ -398,8 +448,12 @@ };  static lookups masters[] = {-	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },-	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN }, 	{ "title",     "",     TITLE,  LEVEL_MAIN }, 	{ "year",      "DATE:YEAR",      SIMPLE, LEVEL_MAIN }, 	{ "month",     "DATE:MONTH",     SIMPLE, LEVEL_MAIN },@@ -433,13 +487,19 @@ /* Unpublished */  static lookups unpublished[] = {-	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },-	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },-	{ "title",     "",     TITLE,  LEVEL_MAIN },-	{ "booktitle", "",     TITLE,  LEVEL_MAIN },-	{ "publisher", "PUBLISHER", SIMPLE, LEVEL_MAIN },-	{ "address",   "ADDRESS",   SIMPLE, LEVEL_MAIN },-	{ "editor",    "EDITOR",    PERSON, LEVEL_MAIN },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN },+	{ "title",        "",               TITLE,        LEVEL_MAIN },+	{ "booktitle",    "",               TITLE,        LEVEL_MAIN },+	{ "publisher",    "PUBLISHER",      SIMPLE,       LEVEL_MAIN },+	{ "address",      "ADDRESS",        SIMPLE,       LEVEL_MAIN },+	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "year",      "DATE:YEAR",      SIMPLE, LEVEL_MAIN }, 	{ "month",     "DATE:MONTH",     SIMPLE, LEVEL_MAIN }, 	{ "day",       "DATE:DAY",       SIMPLE, LEVEL_MAIN },@@ -469,15 +529,21 @@  * For Published Standards  */ static lookups standard[] = {-	{ "author",    "AUTHOR",    PERSON, LEVEL_MAIN },-	{ "translator",   "TRANSLATOR",PERSON, LEVEL_MAIN },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN }, 	{ "organization", "ORGANIZER:CORP", BT_ORG, LEVEL_MAIN }, 	{ "institution", "AUTHOR:CORP", SIMPLE, LEVEL_MAIN }, 	{ "title",     "",           TITLE,    LEVEL_MAIN }, 	{ "booktitle", "",           TITLE,    LEVEL_MAIN }, 	{ "publisher", "PUBLISHER",  SIMPLE,   LEVEL_MAIN }, 	{ "address",   "ADDRESS",    SIMPLE,   LEVEL_MAIN },-	{ "editor",    "EDITOR",     PERSON,   LEVEL_MAIN },+	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "year",      "DATE:YEAR",  SIMPLE,   LEVEL_MAIN }, 	{ "month",     "DATE:MONTH", SIMPLE,   LEVEL_MAIN }, 	{ "day",       "DATE:DAY",   SIMPLE,   LEVEL_MAIN },@@ -516,7 +582,9 @@ 	{ "series",       "",            TITLE,  LEVEL_HOST }, 	{ "publisher",    "PUBLISHER",   SIMPLE, LEVEL_MAIN }, 	{ "address",      "ADDRESS",     SIMPLE, LEVEL_MAIN },-	{ "editor",       "EDITOR",      PERSON, LEVEL_MAIN },+	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "year",         "DATE:YEAR",   SIMPLE, LEVEL_MAIN }, 	{ "month",        "DATE:MONTH",  SIMPLE, LEVEL_MAIN }, 	{ "day",          "DATE:DAY",    SIMPLE, LEVEL_MAIN },@@ -548,13 +616,19 @@  * For Patent  */ static lookups patent[] = {-	{ "author",       "AUTHOR",      PERSON,       LEVEL_MAIN },-	{ "translator",   "TRANSLATOR",  PERSON,       LEVEL_MAIN },-	{ "assignee",     "ASSIGNEE",    PERSON,       LEVEL_MAIN },-	{ "title",        "",            TITLE,        LEVEL_MAIN },-	{ "publisher",    "PUBLISHER",   SIMPLE,       LEVEL_MAIN },-	{ "address",      "ADDRESS",     SIMPLE,       LEVEL_MAIN },-	{ "editor",       "EDITOR",      PERSON,       LEVEL_MAIN },+	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN },+	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN },+	{ "assignee",     "ASSIGNEE",       PERSON,       LEVEL_MAIN },+	{ "title",        "",               TITLE,        LEVEL_MAIN },+	{ "publisher",    "PUBLISHER",      SIMPLE,       LEVEL_MAIN },+	{ "address",      "ADDRESS",        SIMPLE,       LEVEL_MAIN },+	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "year",         "DATE:YEAR",   SIMPLE,       LEVEL_MAIN }, /* date granted */ 	{ "month",        "DATE:MONTH",  SIMPLE,       LEVEL_MAIN }, 	{ "day",          "DATE:DAY",    SIMPLE,       LEVEL_MAIN },@@ -590,13 +664,19 @@  */ static lookups electronic[] = { 	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN }, 	{ "organization", "ORGANIZER:CORP", BT_ORG,       LEVEL_MAIN }, 	{ "title",        "",               TITLE,        LEVEL_MAIN }, 	{ "booktitle",    "",               TITLE,        LEVEL_MAIN }, 	{ "publisher",    "PUBLISHER",      SIMPLE,       LEVEL_MAIN }, 	{ "address",      "ADDRESS",        SIMPLE,       LEVEL_MAIN }, 	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "year",         "DATE:YEAR",      SIMPLE,       LEVEL_MAIN }, 	{ "month",        "DATE:MONTH",     SIMPLE,       LEVEL_MAIN }, 	{ "day",          "DATE:DAY",       SIMPLE,       LEVEL_MAIN },@@ -625,7 +705,11 @@  static lookups misc[] = { 	{ "author",       "AUTHOR",         PERSON,       LEVEL_MAIN },+	{ "author:ASIS",  "AUTHOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "author:CORP",  "AUTHOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "translator",   "TRANSLATOR",     PERSON,       LEVEL_MAIN },+	{ "translator:ASIS","TRANSLATOR:ASIS",PERSON,     LEVEL_MAIN },+	{ "translator:CORP","TRANSLATOR:CORP",PERSON,     LEVEL_MAIN }, 	{ "title",        "",               TITLE,        LEVEL_MAIN }, 	{ "booktitle",    "",               TITLE,        LEVEL_MAIN }, 	{ "publisher",    "PUBLISHER",      SIMPLE,       LEVEL_MAIN },@@ -633,6 +717,8 @@ 	{ "pages",        "PAGES",          PAGES,        LEVEL_MAIN }, 	{ "address",      "ADDRESS",        SIMPLE,       LEVEL_MAIN }, 	{ "editor",       "EDITOR",         PERSON,       LEVEL_MAIN },+	{ "editor:ASIS",  "EDITOR:ASIS",    PERSON,       LEVEL_MAIN },+	{ "editor:CORP",  "EDITOR:CORP",    PERSON,       LEVEL_MAIN }, 	{ "year",         "DATE:YEAR",      SIMPLE,       LEVEL_MAIN }, 	{ "month",        "DATE:MONTH",     SIMPLE,       LEVEL_MAIN }, 	{ "day",          "DATE:DAY",       SIMPLE,       LEVEL_MAIN },
bibutils/bibutils.c view
@@ -1,7 +1,7 @@ /*  * bibutils.c  *- * Copyright (c) Chris Putnam 2005-2019+ * Copyright (c) Chris Putnam 2005-2020  *  * Source code released under the GPL version 2  *@@ -34,14 +34,15 @@ 	if ( status!=BIBL_OK ) return status;  	switch ( writemode ) {-	case BIBL_ADSABSOUT:   status = adsout_initparams   ( p, progname ); break;-	case BIBL_BIBTEXOUT:   status = bibtexout_initparams( p, progname ); break;-	case BIBL_ENDNOTEOUT:  status = endout_initparams   ( p, progname ); break;-	case BIBL_ISIOUT:      status = isiout_initparams   ( p, progname ); break;-	case BIBL_MODSOUT:     status = modsout_initparams  ( p, progname ); break;-	case BIBL_NBIBOUT:     status = nbibout_initparams  ( p, progname ); break;-	case BIBL_RISOUT:      status = risout_initparams   ( p, progname ); break;-	case BIBL_WORD2007OUT: status = wordout_initparams  ( p, progname ); break;+	case BIBL_ADSABSOUT:   status = adsout_initparams     ( p, progname ); break;+	case BIBL_BIBTEXOUT:   status = bibtexout_initparams  ( p, progname ); break;+	case BIBL_BIBLATEXOUT: status = biblatexout_initparams( p, progname ); break;+	case BIBL_ENDNOTEOUT:  status = endout_initparams     ( p, progname ); break;+	case BIBL_ISIOUT:      status = isiout_initparams     ( p, progname ); break;+	case BIBL_MODSOUT:     status = modsout_initparams    ( p, progname ); break;+	case BIBL_NBIBOUT:     status = nbibout_initparams    ( p, progname ); break;+	case BIBL_RISOUT:      status = risout_initparams     ( p, progname ); break;+	case BIBL_WORD2007OUT: status = wordout_initparams    ( p, progname ); break; 	default:               status = BIBL_ERR_BADINPUT; 	} 
bibutils/bibutils.h view
@@ -1,7 +1,7 @@ /*  * bibutils.h  *- * Copyright (c) Chris Putnam 2005-2019+ * Copyright (c) Chris Putnam 2005-2020  *  * Source code released under GPL version 2  *@@ -14,16 +14,12 @@ #endif /* __cplusplus */  #include <stdio.h>+#include "bibdefs.h" #include "bibl.h" #include "slist.h" #include "charsets.h" #include "str_conv.h" -#define BIBL_OK           (0)-#define BIBL_ERR_BADINPUT (-1)-#define BIBL_ERR_MEMERR   (-2)-#define BIBL_ERR_CANTOPEN (-3)- #define BIBL_FIRSTIN      (100) #define BIBL_MODSIN       (BIBL_FIRSTIN) #define BIBL_BIBTEXIN     (BIBL_FIRSTIN+1)@@ -48,7 +44,8 @@ #define BIBL_WORD2007OUT  (BIBL_FIRSTOUT+5) #define BIBL_ADSABSOUT    (BIBL_FIRSTOUT+6) #define BIBL_NBIBOUT      (BIBL_FIRSTOUT+7)-#define BIBL_LASTOUT      (BIBL_FIRSTOUT+7)+#define BIBL_BIBLATEXOUT  (BIBL_FIRSTOUT+8)+#define BIBL_LASTOUT      (BIBL_FIRSTOUT+8)  #define BIBL_FORMAT_VERBOSE             (1) #define BIBL_FORMAT_BIBOUT_FINALCOMMA   (2)
bibutils/bltypes.c view
@@ -1,8 +1,8 @@ /*  * bltypes.c  *- * Copyright (c) Chris Putnam 2008-2019- * Copyright (c) Johannes Wilm 2010-2019+ * Copyright (c) Chris Putnam 2008-2020+ * Copyright (c) Johannes Wilm 2010-2020  *  * Program and source code released under the GPL version 2  *
bibutils/bu_auth.c view
@@ -1,7 +1,7 @@ /*  * bu_auth.c  *- * Copyright (c) Chris Putnam 2017-2019+ * Copyright (c) Chris Putnam 2017-2020  *  * Source code released under the GPL version 2  */
bibutils/charsets.c view
@@ -1,7 +1,7 @@ /*  * charsets.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  *
bibutils/copacin.c view
@@ -1,7 +1,7 @@ /*  * copacin.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Program and source code released under the GPL version 2  *@@ -135,21 +135,31 @@ *****************************************************/  static const char*-copacin_addtag2( const char *p, str *tag, str *data )+copacin_addfield( const char *p, str *tag, str *value ) {-	int  i;-	i =0;+	int i;++	str_empty( tag );+	str_empty( value );++	i = 0; 	while ( i<3 && *p ) {-		str_addchar( tag, *p++ );+		str_addchar( tag, *p );+		p++; 		i++; 	}+ 	while ( *p==' ' || *p=='\t' ) p++;+ 	while ( *p && *p!='\r' && *p!='\n' ) {-		str_addchar( data, *p );+		str_addchar( value, *p ); 		p++; 	}-	str_trimendingws( data );++	str_trimendingws( value );+ 	while ( *p=='\n' || *p=='\r' ) p++;+ 	return p; } @@ -164,27 +174,38 @@ static int copacin_processf( fields *copacin, const char *p, const char *filename, long nref, param *pm ) {-	str tag, data;-	int status;+	int status, ret = 1;+	str tag, value;+ 	str_init( &tag );-	str_init( &data );+	str_init( &value );+ 	while ( *p ) {+ 		p = skip_ws( p );+ 		if ( copacin_istag( p ) ) {-			p = copacin_addtag2( p, &tag, &data );+			p = copacin_addfield( p, &tag, &value ); 			/* don't add empty strings */-			if ( str_has_value( &tag ) && str_has_value( &data ) ) {-				status = fields_add( copacin, tag.data, data.data, 0 );-				if ( status!=FIELDS_OK ) return 0;+			if ( str_has_value( &tag ) && str_has_value( &value ) ) {+				status = fields_add( copacin, str_cstr( &tag ), str_cstr( &value ), LEVEL_MAIN );+				if ( status!=FIELDS_OK ) {+					ret = 0;+					goto out;+				} 			}-			str_empty( &tag );-			str_empty( &data ); 		}-		else p = copacin_nextline( p );++		else {+			p = copacin_nextline( p );+		} 	}++out: 	str_free( &tag );-	str_free( &data );-	return 1;+	str_free( &value );++	return ret; }  /*****************************************************@@ -206,7 +227,7 @@  	if ( slist_find( &(pm->asis),  invalue ) !=-1  || 	     slist_find( &(pm->corps), invalue ) !=-1 ) {-		ok = name_add( bibout, outtag, invalue->data, level, &(pm->asis), &(pm->corps) );+		ok = name_add( bibout, outtag, str_cstr( invalue ), level, &(pm->asis), &(pm->corps) ); 		if ( ok ) return BIBL_OK; 		else return BIBL_ERR_MEMERR; 	}@@ -279,8 +300,8 @@  		intag = fields_tag( bibin, i, FIELDS_STRP ); -		if ( !translate_oldtag( intag->data, reftype, p->all, p->nall, &process, &level, &outtag ) ) {-			copacin_report_notag( p, intag->data );+		if ( !translate_oldtag( str_cstr( intag ), reftype, p->all, p->nall, &process, &level, &outtag ) ) {+			copacin_report_notag( p, str_cstr( intag ) ); 			continue; 		} 
bibutils/copactypes.c view
@@ -1,7 +1,7 @@ /*  * copactypes.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Program and source code released under the GPL version 2  *
bibutils/ebiin.c view
@@ -1,7 +1,7 @@ /*  * ebiin.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Program and source code released under the GPL version 2  *@@ -75,8 +75,8 @@ 			m = xml_getencoding( line ); 			if ( m!=CHARSET_UNKNOWN ) file_charset = m; 		}-		if ( line->data )-			startptr = xml_find_start( line->data, "Publication" );+		if ( str_has_value( line ) )+			startptr = xml_find_start( str_cstr( line ), "Publication" ); 		if ( startptr || inref ) { 			if ( inref ) str_strcat( &tmp, line ); 			else {@@ -334,7 +334,7 @@ 	}  	if ( sp.len ) {-		status = fields_add( info, "PAGES:START", sp.data, level );+		status = fields_add( info, "PAGES:START", str_cstr( &sp ), level ); 		if ( status!=FIELDS_OK ) { 			ret = BIBL_ERR_MEMERR; 			goto out;@@ -346,7 +346,7 @@ 				sp.data[i] = ep.data[i-sp.len+ep.len]; 			up = &(sp); 		} else up = &(ep);-		status = fields_add( info, "PAGES:STOP", up->data, level );+		status = fields_add( info, "PAGES:STOP", str_cstr( up ), level ); 		if ( status!=FIELDS_OK ) ret = BIBL_ERR_MEMERR; 	} @@ -382,7 +382,7 @@ { 	int status; 	if ( xml_tag_matches_has_value( node, "AbstractText" ) ) {-		status = fields_add( info, "ABSTRACT", xml_value_cstr( node ), 0 );+		status = fields_add( info, "ABSTRACT", xml_value_cstr( node ), LEVEL_MAIN ); 		if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR; 	} 	else if ( node->next ) {@@ -406,13 +406,16 @@ { 	int status; 	char *p;+ 	if ( xml_tag_matches( node, "LastName" ) ) { 		if ( name->len ) { 			str_prepend( name, "|" ); 			str_prepend( name, xml_value_cstr( node ) ); 		} 		else str_strcat( name, xml_value( node ) );-	} else if ( xml_tag_matches( node, "ForeName" ) ||+	}++	else if ( xml_tag_matches( node, "ForeName" ) || 	            xml_tag_matches( node, "FirstName" ) ) { 		p = xml_value_cstr( node ); 		while ( p && *p ) {@@ -420,19 +423,23 @@ 			while ( *p==' ' ) p++; 			while ( *p && *p!=' ' ) str_addchar( name, *p++ ); 		}-	} else if ( xml_tag_matches( node, "Initials" ) && !strchr( name->data, '|' ) ) {+	}++	else if ( xml_tag_matches( node, "Initials" ) && !strchr( name->data, '|' ) ) { 		p = xml_value_cstr( node ); 		while ( p && *p ) { 			if ( name->len ) str_addchar( name, '|' ); 			if ( !is_ws(*p ) ) str_addchar( name, *p++ ); 		} 	}+ 	if ( str_memerr( name ) ) return BIBL_ERR_MEMERR;-		 +  	if ( node->down ) { 		status = ebiin_author( node->down, name ); 		if ( status!=BIBL_OK ) return status; 	}+ 	if ( node->next ) { 		status = ebiin_author( node->next, name ); 		if ( status!=BIBL_OK ) return status;@@ -447,13 +454,15 @@ 	str name;  	str_init( &name );+ 	node = node->down;+ 	while ( node ) { 		if ( xml_tag_matches( node, "Author" ) && node->down ) { 			status = ebiin_author( node->down, &name ); 			if ( status!=BIBL_OK ) goto out;-			if ( name.len ) {-				fstatus = fields_add(info,"AUTHOR",name.data,level);+			if ( str_has_value( &name ) ) {+				fstatus = fields_add( info, "AUTHOR", str_cstr( &name ), level ); 				if ( fstatus!=FIELDS_OK ) { status = BIBL_ERR_MEMERR; goto out; } 				str_empty( &name ); 			}@@ -482,7 +491,7 @@ { 	int status; 	if ( xml_tag_matches_has_value( node, "TitleAbbreviation" ) ) {-		status = fields_add( info, "TITLE", xml_value_cstr( node ), 1 );+		status = fields_add( info, "TITLE", xml_value_cstr( node ), LEVEL_HOST ); 		if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR; 	} 	if ( node->down ) {@@ -511,7 +520,7 @@ { 	int status; 	if ( xml_tag_matches_has_value( node, "DescriptorName" ) ) {-		status = fields_add( info, "KEYWORD", xml_value_cstr( node ), 0 );+		status = fields_add( info, "KEYWORD", xml_value_cstr( node ), LEVEL_MAIN ); 		if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR; 	} 	if ( node->next ) {@@ -618,15 +627,15 @@ 		status = ebiin_journal1( node, info ); 	else if ( node->down && ( xml_tag_matches( node, "Book" ) || 			xml_tag_matches(node, "Report") ))-		status = ebiin_book( node->down, info, 1 );+		status = ebiin_book( node->down, info, LEVEL_HOST ); 	else if ( xml_tag_matches( node, "ArticleTitle" ) )-		status = ebiin_title( node, info, 0 );+		status = ebiin_title( node, info, LEVEL_MAIN ); 	else if ( xml_tag_matches( node, "Pagination" ) && node->down ) 		status = ebiin_pagination( node->down, info ); 	else if ( xml_tag_matches( node, "Abstract" ) && node->down ) 		status = ebiin_abstract( node->down, info ); 	else if ( xml_tag_matches( node, "AuthorList" ) )-		status = ebiin_authorlist( node, info, 0 );+		status = ebiin_authorlist( node, info, LEVEL_MAIN ); 	if ( status!=BIBL_OK ) return status;  	if ( node->next ) {@@ -645,9 +654,9 @@ 		if ( xml_tag_matches( node, "Article" ) ) 			status = ebiin_article( node->down, info ); 		else if ( xml_tag_matches( node, "Book" ) )-			status = ebiin_book( node->down, info, 0 );+			status = ebiin_book( node->down, info, LEVEL_MAIN ); 		else if ( xml_tag_matches( node, "Report" ) )-			status = ebiin_book( node->down, info, 0 );+			status = ebiin_book( node->down, info, LEVEL_MAIN ); 		else if ( xml_tag_matches( node, "JournalInfo" ) ) 			status = ebiin_journal2( node->down, info ); 		else if ( xml_tag_matches( node, "MeshHeadingList" ) )@@ -666,9 +675,9 @@ ebiin_fixtype( xml *node, fields *info ) { 	char *resource = NULL, *issuance = NULL, *genre1 = NULL, *genre2 = NULL;-	str *type; 	int reslvl, isslvl, gen1lvl, gen2lvl; 	int status;+	str *type;  	type = xml_attribute( node, "Type" ); 	if ( !type || type->len==0 ) return BIBL_OK;@@ -678,24 +687,24 @@ 		issuance = "continuing"; 		genre1   = "periodical"; 		genre2   = "academic journal";-		reslvl   = 0;-		isslvl   = 1;-		gen1lvl  = 1;-		gen2lvl  = 1;+		reslvl   = LEVEL_MAIN;+		isslvl   = LEVEL_HOST;+		gen1lvl  = LEVEL_HOST;+		gen2lvl  = LEVEL_HOST; 	} else if ( !strcmp( type->data, "Book" ) ) { 		resource = "text"; 		issuance = "monographic"; 		genre1   = "book";-		reslvl   = 0;-		isslvl   = 0;-		gen1lvl  = 0;+		reslvl   = LEVEL_MAIN;+		isslvl   = LEVEL_MAIN;+		gen1lvl  = LEVEL_MAIN; 	} else if ( !strcmp( type->data, "BookArticle" ) ) { 		resource = "text"; 		issuance = "monographic"; 		genre1   = "book";-		reslvl   = 0;-		isslvl   = 1;-		gen1lvl  = 1;+		reslvl   = LEVEL_MAIN;+		isslvl   = LEVEL_HOST;+		gen1lvl  = LEVEL_HOST; 	}  	if ( resource ) {
bibutils/endin.c view
@@ -1,7 +1,7 @@ /*  * endin.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Program and source code released under the GPL version 2  *@@ -173,32 +173,53 @@ static int endin_processf( fields *endin, const char *p, const char *filename, long nref, param *pm ) {-	str tag, data;+	str tag, value, *oldvalue; 	int status, n;-	strs_init( &tag, &data, NULL );+	char *oldtag;++	strs_init( &tag, &value, NULL );+ 	while ( *p ) {-		strs_empty( &tag, &data, NULL );++		strs_empty( &tag, &value, NULL );+ 		if ( endin_istag( p ) ) {-			p = process_endline( &tag, &data, p );-			if ( str_is_empty( &data ) ) continue;-			status = fields_add( endin, str_cstr( &tag ), str_cstr( &data ), 0 );++			p = process_endline( &tag, &value, p );+			if ( str_is_empty( &value ) ) continue;++			status = fields_add( endin, str_cstr( &tag ), str_cstr( &value ), LEVEL_MAIN ); 			if ( status!=FIELDS_OK ) return 0;-		} else {-			p = process_endline2( &tag, &data, p );-			/* endnote puts %K only on 1st line of keywords */++		}++		/* endnote puts %K only on 1st line of keywords */+		else {++			p = process_endline2( &tag, &value, p );+			if ( str_is_empty( &value ) ) continue;+ 			n = fields_num( endin );-			if ( n>0 && str_has_value( &data ) ) {-			if ( !strncmp( endin->tag[n-1].data, "%K", 2 ) ) {-				status = fields_add( endin, "%K", str_cstr( &data ), 0 );+			if ( n==0 ) continue; /* no previous line to append to */++			oldtag = fields_tag( endin, n-1, FIELDS_CHRP_NOUSE );++			/* last line was a keyword, so this is a new keyword */+			if ( !strncmp( oldtag, "%K", 2 ) ) {+				status = fields_add( endin, "%K", str_cstr( &value ), LEVEL_MAIN ); 				if ( status!=FIELDS_OK ) return 0;-			} else {-				str_addchar( &(endin->data[n-1]), ' ' );-				str_strcat( &(endin->data[n-1]), &data ); 			}++			/* last line wasn't a keyword, so this line should just be appended */+			else {+				oldvalue = fields_value( endin, n-1, FIELDS_STRP_NOUSE );+				str_addchar( oldvalue, ' ' );+				str_strcat( oldvalue, &value );+				if ( str_memerr( oldvalue ) ) return 0; 			} 		} 	}-	strs_free( &tag, &data, NULL );+	strs_free( &tag, &value, NULL ); 	return 1; } @@ -353,9 +374,12 @@ int endin_cleanf( bibl *bin, param *p ) {+	int status;         long i;-        for ( i=0; i<bin->nrefs; ++i )-                endin_cleanref( bin->ref[i] );+        for ( i=0; i<bin->n; ++i ) {+                status = endin_cleanref( bin->ref[i] );+		if ( status!=BIBL_OK ) return status;+	} 	return BIBL_OK; } @@ -558,8 +582,8 @@ 	for ( i=0; i<nfields; ++i ) {  		/* Ensure we have data */-		if ( fields_nodata( bibin, i ) ) {-			fields_setused( bibin, i );+		if ( fields_no_value( bibin, i ) ) {+			fields_set_used( bibin, i ); 			continue; 		} @@ -582,7 +606,7 @@ 			continue; 		} -		fields_setused( bibin, i );+		fields_set_used( bibin, i );  		status = convertfns[ process ]( bibin, i, intag, invalue, level, p, outtag, bibout ); 		if ( status!=BIBL_OK ) return status;
bibutils/endout.c view
@@ -1,7 +1,7 @@ /*  * endout.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Program and source code released under the GPL version 2  *@@ -652,7 +652,7 @@ { 	int added, type, status = BIBL_OK; -	fields_clearused( in );+	fields_clear_used( in );  	type = get_type( in, pm, refnum ); 
bibutils/endtypes.c view
@@ -1,7 +1,7 @@ /*  * endtypes.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Program and source code released under the GPL version 2  *
bibutils/endxmlin.c view
@@ -1,7 +1,7 @@ /*  * endxmlin.c  *- * Copyright (c) Chris Putnam 2006-2019+ * Copyright (c) Chris Putnam 2006-2020  *  * Program and source code released under the GPL version 2  *@@ -91,16 +91,18 @@  	while ( !haveref && !done ) { -		if ( !line->data ) {+		if ( str_is_empty( line ) ) { 			done = xml_readmore( fp, buf, bufsize, bufpos ); 			str_strcatc( line, buf ); 		}  		if ( !inref ) {-			startptr = xml_find_start( line->data, "RECORD" );+			startptr = xml_find_start( str_cstr( line ), "RECORD" ); 			if ( startptr ) inref = 1; 		}-		else    endptr = xml_find_end( line->data, "RECORD" );+		else {+			endptr = xml_find_end( str_cstr( line ), "RECORD" );+		}  		/* If no <record> tag, we can trim up to last 8 bytes */ 		/* Emptying string can lose fragments of <record> tag */@@ -120,8 +122,8 @@ 		} 		/* ...we can reallocate in str_strcat; must re-find the tags */ 		else {-			startptr = xml_find_start( line->data, "RECORD" );-			endptr = xml_find_end( line->data, "RECORD" );+			startptr = xml_find_start( str_cstr( line ), "RECORD" );+			endptr   = xml_find_end  ( str_cstr( line ), "RECORD" ); 			str_segcpy( reference, startptr, endptr ); 			/* clear out information in line */ 			str_strcpyc( &tmp, endptr );@@ -194,7 +196,7 @@ 	if ( status!=BIBL_OK ) return status;  	if ( str_has_value( &s ) ) {-		status = fields_add( info, inttag, s.data, level );+		status = fields_add( info, inttag, str_cstr( &s ), level ); 		if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR; 	} @@ -212,32 +214,41 @@ endxmlin_titles( xml *node, fields *info ) { 	attribs a[] = {-		{ "title", "%T" },-		{ "secondary-title", "%B" },-		{ "tertiary-title", "%S" },-		{ "alt-title", "%!" },-		{ "short-title", "SHORTTITLE" },+		{ "title",           "%T"         },+		{ "secondary-title", "%B"         },+		{ "tertiary-title",  "%S"         },+		{ "alt-title",       "%!"         },+		{ "short-title",     "SHORTTITLE" }, 	};-	int i, status, n = sizeof( a ) / sizeof ( a[0] );+	int n = sizeof( a ) / sizeof ( a[0] );+	int i, fstatus, status = BIBL_OK; 	str title;+ 	str_init( &title );+ 	for ( i=0; i<n; ++i ) { 		if ( xml_tag_matches( node, a[i].attrib ) && node->down ) { 			str_empty( &title );-			status = endxmlin_datar( node, &title );-			if ( status!=BIBL_OK ) return BIBL_ERR_MEMERR;+			fstatus = endxmlin_datar( node, &title );+			if ( fstatus!=BIBL_OK ) {+				status = BIBL_ERR_MEMERR;+				goto out;+			} 			str_trimstartingws( &title ); 			str_trimendingws( &title );-			status = fields_add( info, a[i].internal, title.data, 0);-			if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;+			fstatus = fields_add( info, a[i].internal, str_cstr( &title ), LEVEL_MAIN );+			if ( fstatus!=FIELDS_OK ) {+				status = BIBL_ERR_MEMERR;+				goto out;+			} 		} 	}-	if ( node->next ) {-		status = endxmlin_titles( node->next, info );-		if ( status!=BIBL_OK ) return status;-	}++	if ( node->next ) status = endxmlin_titles( node->next, info );++out: 	str_free( &title );-	return BIBL_OK;+	return status; }  /* <contributors>@@ -278,9 +289,9 @@ endxmlin_contributors( xml *node, fields *info ) { 	attribs a[] = {-		{ "authors", "%A" },-		{ "secondary-authors", "%E" },-		{ "tertiary-authors", "%Y" },+		{ "authors",            "%A" },+		{ "secondary-authors",  "%E" },+		{ "tertiary-authors",   "%Y" }, 		{ "subsidiary-authors", "%?" }, 		{ "translated-authors", "%?" }, 	};@@ -303,7 +314,7 @@ { 	int status; 	if ( xml_tag_matches( node, "keyword" ) ) {-		status = endxmlin_data( node, "%K", info, 0 );+		status = endxmlin_data( node, "%K", info, LEVEL_MAIN ); 		if ( status!=BIBL_OK ) return status; 	} 	if ( node->next ) {@@ -329,7 +340,7 @@ endxmlin_ern( xml *node, fields *info ) { 	if ( xml_tag_matches( node, "electronic-resource-num" ) )-		return endxmlin_data( node, "DOI", info, 0 );+		return endxmlin_data( node, "DOI", info, LEVEL_MAIN ); 	return BIBL_OK; } @@ -337,7 +348,7 @@ endxmlin_language( xml *node, fields *info ) { 	if ( xml_tag_matches( node, "language" ) )-		return endxmlin_data( node, "%G", info, 0 );+		return endxmlin_data( node, "%G", info, LEVEL_MAIN ); 	return BIBL_OK; } @@ -353,7 +364,7 @@ { 	int status; 	if ( xml_tag_matches( node, "url" ) ) {-		status = endxmlin_data( node, "FILEATTACH", info, 0 );+		status = endxmlin_data( node, "FILEATTACH", info, LEVEL_MAIN ); 		if ( status!=BIBL_OK ) return status; 	} 	if ( node->down ) {@@ -375,7 +386,7 @@ 		status = endxmlin_fileattach( node->down, info ); 		if ( status!=BIBL_OK ) return status; 	} else if ( xml_tag_matches( node, "url" ) ) {-		status = endxmlin_data( node, "%U", info, 0 );+		status = endxmlin_data( node, "%U", info, LEVEL_MAIN ); 		if ( status!=BIBL_OK ) return status; 	} else { 		if ( node->down ) {@@ -398,7 +409,7 @@ endxmlin_pubdates( xml *node, fields *info ) { 	if ( xml_tag_matches( node, "date" ) )-		return endxmlin_data( node, "%8", info, 0 );+		return endxmlin_data( node, "%8", info, LEVEL_MAIN ); 	else { 		if ( node->down && xml_tag_matches( node->down, "date" ) ) 			return endxmlin_pubdates( node->down, info );@@ -411,7 +422,7 @@ { 	int status; 	if ( xml_tag_matches( node, "year" ) ) {-		status = endxmlin_data( node, "%D", info, 0 );+		status = endxmlin_data( node, "%D", info, LEVEL_MAIN ); 		if ( status!=BIBL_OK ) return status; 	} else { 		if ( node->down ) {@@ -443,7 +454,7 @@  	s = xml_attribute( node, "name" ); 	if ( str_has_value( s ) ) {-		status = fields_add( info, "%0", str_cstr( s ), 0 );+		status = fields_add( info, "%0", str_cstr( s ), LEVEL_MAIN ); 		if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR; 	} @@ -454,32 +465,33 @@ endxmlin_record( xml *node, fields *info ) { 	attribs a[] = {-		{ "volume", "%V" },-		{ "num-vol", "%6" },-		{ "pages",  "%P" },-		{ "number", "%N" },-		{ "issue",  "%N" },-		{ "label",  "%F" },-		{ "auth-address", "%C" },+		{ "volume",           "%V" },+		{ "num-vol",          "%6" },+		{ "pages",            "%P" },+		{ "number",           "%N" },+		{ "issue",            "%N" },+		{ "label",            "%F" },+		{ "auth-address",     "%C" }, 		{ "auth-affiliation", "%C" },-		{ "pub-location", "%C" },-		{ "publisher", "%I" },-		{ "abstract", "%X" },-		{ "edition", "%7" },-		{ "reprint-edition", "%)" },-		{ "section", "%&" },-		{ "accession-num", "%M" },-		{ "call-num", "%L" },-		{ "isbn", "%@" },-		{ "notes", "%O" },-		{ "custom1", "%1" },-		{ "custom2", "%2" },-		{ "custom3", "%3" },-		{ "custom4", "%4" },-		{ "custom5", "%#" },-		{ "custom6", "%$" },+		{ "pub-location",     "%C" },+		{ "publisher",        "%I" },+		{ "abstract",         "%X" },+		{ "edition",          "%7" },+		{ "reprint-edition",  "%)" },+		{ "section",          "%&" },+		{ "accession-num",    "%M" },+		{ "call-num",         "%L" },+		{ "isbn",             "%@" },+		{ "notes",            "%O" },+		{ "custom1",          "%1" },+		{ "custom2",          "%2" },+		{ "custom3",          "%3" },+		{ "custom4",          "%4" },+		{ "custom5",          "%#" },+		{ "custom6",          "%$" }, 	}; 	int i, status, n = sizeof ( a ) / sizeof( a[0] );+ 	if ( xml_tag_matches( node, "DATABASE" ) ) { 	} else if ( xml_tag_matches( node, "SOURCE-APP" ) ) { 	} else if ( xml_tag_matches( node, "REC-NUMBER" ) ) {
bibutils/entities.c view
@@ -1,7 +1,7 @@ /*  * entities.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  *
bibutils/fields.c view
@@ -1,7 +1,7 @@ /*  * fields.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  *@@ -12,6 +12,22 @@ #include <string.h> #include "fields.h" +#define FIELDS_MIN_ALLOC (20)++/* private helper macros to access fields+ *+ * These skip all of the error checking and used flag manipulation+ * of the fields functions, so they are faster. However, they should+ * only be used in internal code that knows that the index is valid.+ */+#define _fields_tag(f,i)            &((f)->tag[(i)])+#define _fields_tag_char(f,i)       str_cstr( &((f)->tag[(i)]) )+#define _fields_tag_notempty(f,i)   str_has_value( &((f)->tag[(i)]) )+#define _fields_value(f,i)          &((f)->value[(i)])+#define _fields_value_char(f,i)     str_cstr( &((f)->value[(i)]) )+#define _fields_value_notempty(f,i) str_has_value( &((f)->value[(i)]) )+#define _fields_level(f,i)          (f)->level[(i)]+ fields* fields_new( void ) {@@ -23,11 +39,9 @@ void fields_init( fields *f ) {-	f->used  = NULL;-	f->level = NULL;-	f->tag   = NULL;-	f->data  = NULL;-	f->max   = f->n = 0;+	f->used  = f->level = NULL;+	f->tag   = f->value = NULL;+	f->max   = f->n     = 0; }  void@@ -36,11 +50,11 @@ 	int i;  	for ( i=0; i<f->max; ++i ) {-		str_free( &(f->tag[i]) );-		str_free( &(f->data[i]) );+		str_free( _fields_tag( f, i ) );+		str_free( _fields_value( f, i ) ); 	} 	if ( f->tag )   free( f->tag );-	if ( f->data )  free( f->data );+	if ( f->value ) free( f->value ); 	if ( f->used )  free( f->used ); 	if ( f->level ) free( f->level ); @@ -54,99 +68,136 @@ 	free( f ); } -static int-fields_alloc( fields *f )+int+fields_remove( fields *f, int n ) {-	int i, alloc = 20;+	int i;+	if ( n<0 || n>= f->n ) return FIELDS_ERR_MEMERR;+	for ( i=n+1; i<f->n; ++i ) {+		str_strcpy( _fields_tag  ( f, i-1 ), _fields_tag  ( f, i ) );+		str_strcpy( _fields_value( f, i-1 ), _fields_value( f, i ) );+		f->used[i-1]  = f->used[i];+		f->level[i-1] = f->level[i];+	}+	f->n -= 1;+	return FIELDS_OK;+} +static void+initialize_new_tag_data_pairs( fields *f, int start, int end )+{+	int i;+	for ( i=start; i<end; ++i ) {+		str_init( _fields_tag( f, i ) );+		str_init( _fields_value( f, i ) );+	}+}++static int+fields_alloc( fields *f, int alloc )+{ 	f->tag   = (str *) malloc( sizeof(str) * alloc );-	f->data  = (str *) malloc( sizeof(str) * alloc );-	f->used  = (int *)    calloc( alloc, sizeof(int) );-	f->level = (int *)    calloc( alloc, sizeof(int) );-	if ( !f->tag || !f->data || !f->used || !f->level ){+	f->value = (str *) malloc( sizeof(str) * alloc );+	f->used  = (int *) calloc( alloc, sizeof(int) );+	f->level = (int *) calloc( alloc, sizeof(int) );+	if ( !f->tag || !f->value || !f->used || !f->level ){ 		if ( f->tag )   free( f->tag );-		if ( f->data )  free( f->data );+		if ( f->value ) free( f->value ); 		if ( f->used )  free( f->used ); 		if ( f->level ) free( f->level ); 		fields_init( f );-		return FIELDS_ERR;+		return FIELDS_ERR_MEMERR; 	} +	initialize_new_tag_data_pairs( f, 0, alloc );+ 	f->max = alloc;-	f->n = 0;-	for ( i=0; i<alloc; ++i ) {-		str_init( &(f->tag[i]) );-		str_init( &(f->data[i]) );-	}+	f->n   = 0;+ 	return FIELDS_OK; }  static int fields_realloc( fields *f ) {-	str *newtags, *newdata; 	int *newused, *newlevel;-	int i, alloc = f->max * 2;+	str *newtags, *newvalue;+	int alloc; -	newtags = (str*) realloc( f->tag, sizeof(str) * alloc );-	newdata = (str*) realloc( f->data, sizeof(str) * alloc );-	newused = (int*) realloc( f->used, sizeof(int) * alloc );-	newlevel= (int*) realloc( f->level, sizeof(int) * alloc );+	alloc = f->max * 2;+	if ( alloc < f->max ) return FIELDS_ERR_MEMERR; /* integer overflow */ +	newtags  = (str*) realloc( f->tag,   sizeof(str) * alloc );+	newvalue = (str*) realloc( f->value, sizeof(str) * alloc );+	newused  = (int*) realloc( f->used,  sizeof(int) * alloc );+	newlevel = (int*) realloc( f->level, sizeof(int) * alloc );++	/*+	 * ensure struct fields is consistent by reassigning pointers for any successful+	 * reallocation prior to failing on memory error+	 */ 	if ( newtags )  f->tag   = newtags;-	if ( newdata )  f->data  = newdata;+	if ( newvalue ) f->value = newvalue; 	if ( newused )  f->used  = newused; 	if ( newlevel ) f->level = newlevel;-	-	if ( !newtags || !newdata || !newused || !newlevel )-		return FIELDS_ERR; +	if ( !newtags || !newvalue || !newused || !newlevel )+		return FIELDS_ERR_MEMERR;++	initialize_new_tag_data_pairs( f, f->n, alloc );+ 	f->max = alloc; -	for ( i=f->n; i<alloc; ++i ) {-		str_init( &(f->tag[i]) );-		str_init( &(f->data[i]) );+	return FIELDS_OK;+}++static int+ensure_space( fields *f )+{+	int status = FIELDS_OK;+	if ( f->max==0 )         status = fields_alloc( f, FIELDS_MIN_ALLOC );+	else if ( f->n==f->max ) status = fields_realloc( f );+	return status;+}++static int+is_duplicate_entry( fields *f, const char *tag, const char *value, int level )+{+	int i;++	for ( i=0; i<f->n; i++ ) {+		if ( _fields_level( f, i ) != level ) continue;+		if ( strcasecmp( _fields_tag_char( f, i ),   tag   ) ) continue;+		if ( strcasecmp( _fields_value_char( f, i ), value ) ) continue;+		return 1; 	} -	return FIELDS_OK;+	return 0; }  int-_fields_add( fields *f, const char *tag, const char *data, int level, int mode )+_fields_add( fields *f, const char *tag, const char *value, int level, int mode ) {-	int i, n, status;-	str *t, *d;+	int n, status; -	if ( !tag || !data ) return FIELDS_OK;+	/* Don't add incomplete entry */+	if ( !tag || !value ) return FIELDS_OK; -	if ( f->max==0 ) {-		status = fields_alloc( f );-		if ( status!=FIELDS_OK ) return status;-	} else if ( f->n >= f->max ) {-		status = fields_realloc( f );-		if ( status!=FIELDS_OK ) return status;-	}+	/* Don't add duplicate entry if FIELDS_NO_DUPS */+	if ( mode == FIELDS_NO_DUPS && is_duplicate_entry( f, tag, value, level ) )+		return FIELDS_OK; -	/* Don't duplicate identical entries if FIELDS_NO_DUPS */-	if ( mode == FIELDS_NO_DUPS ) {-		for ( i=0; i<f->n; i++ ) {-			t = &(f->tag[i]);-			d = &(f->data[i]);-			if ( f->level[i]==level &&-			     !strcasecmp( str_cstr( t ), tag ) &&-			     !strcasecmp( str_cstr( d ), data ) )-				return FIELDS_OK;-		}-	}+	status = ensure_space( f );+	if ( status!=FIELDS_OK ) return status;  	n = f->n; 	f->used[ n ]  = 0; 	f->level[ n ] = level;-	str_strcpyc( &(f->tag[n]), tag );-	str_strcpyc( &(f->data[n]), data );+	str_strcpyc( _fields_tag( f, n ),   tag   );+	str_strcpyc( _fields_value( f, n ), value ); -	if ( str_memerr( &(f->tag[n]) ) || str_memerr( &(f->data[n] ) ) )-		return FIELDS_ERR;+	if ( str_memerr( &(f->tag[n]) ) || str_memerr( &(f->value[n] ) ) )+		return FIELDS_ERR_MEMERR;  	f->n++; @@ -154,21 +205,68 @@ }  int-_fields_add_tagsuffix( fields *f, const char *tag, const char *suffix,-		const char *data, int level, int mode )+_fields_add_suffix( fields *f, const char *tag, const char *suffix, const char *value, int level, int mode ) { 	str newtag; 	int ret;  	str_init( &newtag );+ 	str_mergestrs( &newtag, tag, suffix, NULL );-	if ( str_memerr( &newtag ) ) ret = FIELDS_ERR;-	else ret = _fields_add( f, newtag.data, data, level, mode );+	if ( str_memerr( &newtag ) )+		ret = FIELDS_ERR_MEMERR;+	else+		ret = _fields_add( f, str_cstr( &newtag ), value, level, mode );+ 	str_free( &newtag );  	return ret; } +static fields*+fields_new_size( int alloc )+{+	int status;+	fields *f;++	f = ( fields * ) malloc( sizeof( fields ) );+	if ( f ) {+		fields_init( f );+		status = fields_alloc( f, alloc );+		if ( status!=FIELDS_OK ) {+			fields_delete( f );+			return NULL;+		}+	}+	return f;+}++fields *+fields_dupl( fields *in )+{+	int i, level, status;+	char *tag, *value;+	fields *out;++	out = fields_new_size( in->n );+	if ( !out ) return NULL;++	for ( i=0; i<in->n; ++i ) {+		tag   = _fields_tag_char( in, i );+		value = _fields_value_char( in, i );+		level = _fields_level( in, i );+		if ( tag && value ) {+			status = fields_add_can_dup( out, tag, value, level );+			if ( status!=FIELDS_OK ) {+				fields_delete( out );+				return NULL;+			}+		}+	}++	return out;+}+ /* fields_match_level()  *  * returns 1 if level matched, 0 if not@@ -189,31 +287,31 @@  *  */ int-fields_match_tag( fields *info, int n, const char *tag )+fields_match_tag( fields *f, int n, const char *tag ) {-	if ( !strcmp( fields_tag( info, n, FIELDS_CHRP ), tag ) ) return 1;+	if ( !strcmp( _fields_tag_char( f, n ), tag ) ) return 1; 	return 0; }  int-fields_match_casetag( fields *info, int n, const char *tag )+fields_match_casetag( fields *f, int n, const char *tag ) {-	if ( !strcasecmp( fields_tag( info, n, FIELDS_CHRP ), tag ) ) return 1;+	if ( !strcasecmp( _fields_tag_char( f, n ), tag ) ) return 1; 	return 0; }  int-fields_match_tag_level( fields *info, int n, const char *tag, int level )+fields_match_tag_level( fields *f, int n, const char *tag, int level ) {-	if ( !fields_match_level( info, n, level ) ) return 0;-	return fields_match_tag( info, n, tag );+	if ( !fields_match_level( f, n, level ) ) return 0;+	return fields_match_tag( f, n, tag ); }  int-fields_match_casetag_level( fields *info, int n, const char *tag, int level )+fields_match_casetag_level( fields *f, int n, const char *tag, int level ) {-	if ( !fields_match_level( info, n, level ) ) return 0;-	return fields_match_casetag( info, n, tag );+	if ( !fields_match_level( f, n, level ) ) return 0;+	return fields_match_casetag( f, n, tag ); }  /* fields_find()@@ -229,7 +327,7 @@ 	for ( i=0; i<f->n; ++i ) { 		if ( !fields_match_casetag_level( f, i, tag, level ) ) 			continue;-		if ( f->data[i].len ) return i;+		if ( str_has_value( _fields_value( f, i ) ) ) return i; 		else { 			/* if there is no data for the tag, don't "find" it */ 			/* and set "used" so noise is suppressed */@@ -246,10 +344,10 @@ 	int i, max = 0;  	if ( f->n ) {-		max = f->level[0];+		max = _fields_level( f, 0 ); 		for ( i=1; i<f->n; ++i ) {-			if ( f->level[i] > max )-				max = f->level[i];+			if ( _fields_level( f, i ) > max )+				max = _fields_level( f, i ); 		} 	} @@ -257,7 +355,7 @@ }  void-fields_clearused( fields *f )+fields_clear_used( fields *f ) { 	int i; @@ -266,7 +364,7 @@ }  void-fields_setused( fields *f, int n )+fields_set_used( fields *f, int n ) { 	if ( n >= 0 && n < f->n ) 		f->used[n] = 1;@@ -274,16 +372,20 @@  /* fields_replace_or_add()  *- * return FIELDS_OK on success, FIELDS_ERR on memory error+ * return FIELDS_OK on success, else FIELDS_ERR_MEMERR  */ int-fields_replace_or_add( fields *f, const char *tag, const char *data, int level )+fields_replace_or_add( fields *f, const char *tag, const char *value, int level ) {-	int n = fields_find( f, tag, level );-	if ( n==FIELDS_NOTFOUND ) return fields_add( f, tag, data, level );+	int n;++	n = fields_find( f, tag, level );+	if ( n==FIELDS_NOTFOUND ) {+		return fields_add( f, tag, value, level );+	} 	else {-		str_strcpyc( &(f->data[n]), data );-		if ( str_memerr( &(f->data[n]) ) ) return FIELDS_ERR;+		str_strcpyc( _fields_value( f, n ), value );+		if ( str_memerr( _fields_value( f, n ) ) ) return FIELDS_ERR_MEMERR; 		return FIELDS_OK; 	} }@@ -298,28 +400,31 @@ }  int-fields_notag( fields *f, int n )+fields_no_tag( fields *f, int n ) {-	str *t; 	if ( n >= 0 && n < f->n ) {-		t = &( f->tag[n] );-		if ( t->len > 0 ) return 0;+		if ( _fields_tag_notempty( f, n ) ) return 0; 	} 	return 1; }  int-fields_nodata( fields *f, int n )+fields_no_value( fields *f, int n ) {-	str *d; 	if ( n >= 0 && n < f->n ) {-		d = &( f->data[n] );-		if ( d->len > 0 ) return 0;+		if ( _fields_value_notempty( f, n ) ) return 0; 	} 	return 1; }  int+fields_has_value( fields *f, int n )+{+	if ( n >= 0 && n < f->n ) return _fields_value_notempty( f, n );+	return 0;+}++int fields_num( fields *f ) { 	return f->n;@@ -346,16 +451,18 @@ 	if ( n<0 || n>= f->n ) return NULL;  	if ( mode & FIELDS_SETUSE_FLAG )-		fields_setused( f, n );+		fields_set_used( f, n ); -	if ( mode & FIELDS_STRP_FLAG )-		return &(f->data[n]);+	if ( mode & FIELDS_STRP_FLAG ) {+		return ( void * ) _fields_value( f, n );+	} 	else if ( mode & FIELDS_POSP_FLAG ) {-		retn = n;-		return ( void * ) retn; /* Rather pointless */-	} else {-		if ( f->data[n].len )-			return f->data[n].data;+		retn = n;               /* avoid compiler warning */+		return ( void * ) retn; /* Rather pointless -- the user provided "n" */+	}+	else {+		if ( str_has_value( _fields_value( f, n ) ) )+			return _fields_value_char( f, n ); 		else 			return fields_null_value; 	}@@ -368,14 +475,16 @@  	if ( n<0 || n>= f->n ) return NULL; -	if ( mode & FIELDS_STRP_FLAG )-		return &(f->tag[n]);+	if ( mode & FIELDS_STRP_FLAG ) {+		return ( void * ) _fields_tag( f, n );+	} 	else if ( mode & FIELDS_POSP_FLAG ) {-		retn = n;-		return ( void * ) retn; /* Rather pointless */-	} else {-		if ( f->tag[n].len )-			return f->tag[n].data;+		retn = n;               /* avoid compiler warning */+		return ( void * ) retn; /* Rather pointless -- the user provided "n" */+	}+	else {+		if ( str_has_value( _fields_tag( f, n ) ) )+			return _fields_tag_char( f, n ); 		else 			return fields_null_value; 	}@@ -385,22 +494,23 @@ fields_level( fields *f, int n ) { 	if ( n<0 || n>= f->n ) return 0;-	return f->level[n];+	return _fields_level( f, n ); }  void * fields_findv( fields *f, int level, int mode, const char *tag ) { 	int i, found = FIELDS_NOTFOUND;-	intptr_t retn; -	for ( i=0; i<f->n && found==FIELDS_NOTFOUND; ++i ) {+	for ( i=0; i<f->n; ++i ) {  		if ( !fields_match_level( f, i, level ) ) continue; 		if ( !fields_match_casetag( f, i, tag ) ) continue; -		if ( f->data[i].len!=0 ) found = i;-		else {+		if ( _fields_value_notempty( f, i ) ) {+			found = i;+			break;+		} else { 			if ( mode & FIELDS_NOLENOK_FLAG ) { 				return (void *) fields_null_value; 			} else if ( mode & FIELDS_SETUSE_FLAG ) {@@ -410,17 +520,7 @@ 	}  	if ( found==FIELDS_NOTFOUND ) return NULL;--	if ( mode & FIELDS_SETUSE_FLAG )-		fields_setused( f, found );--	if ( mode & FIELDS_STRP_FLAG )-		return (void *) &(f->data[found]);-	else if ( mode & FIELDS_POSP_FLAG ) {-		retn = found;-		return (void *) retn;-	} else-		return (void *) f->data[found].data;+	else return fields_value( f, found, mode ); }  void *@@ -448,23 +548,13 @@ 	int status; 	void *v; -	if ( n<0 || n>= f->n ) return FIELDS_OK;--	if ( mode & FIELDS_SETUSE_FLAG )-		fields_setused( f, n );--	if ( mode & FIELDS_STRP_FLAG ) {-		v = ( void * ) &( f->data[n] );-	} else if ( mode & FIELDS_POSP_FLAG ) {-		v = ( void * )( (long long) n );-	} else {-		v = ( void * ) str_cstr( &( f->data[n] ) );-	}+	v = fields_value( f, n, mode );+	if ( !v ) return FIELDS_OK;  	status = vplist_add( a, v );  	if ( status==VPLIST_OK ) return FIELDS_OK;-	else return FIELDS_ERR;+	else return FIELDS_ERR_MEMERR; }  int@@ -477,7 +567,7 @@ 		if ( !fields_match_level( f, i, level ) ) continue; 		if ( !fields_match_casetag( f, i, tag ) ) continue; -		if ( f->data[i].len!=0 ) {+		if ( _fields_value_notempty( f, i ) ) { 			status = fields_findv_each_add( f, mode, i, a ); 			if ( status!=FIELDS_OK ) return status; 		} else {@@ -502,7 +592,7 @@  	while ( ( tag = ( char * ) va_arg( argp, char * ) ) ) { 		status = vplist_add( tags, tag );-		if ( status!=VPLIST_OK ) return FIELDS_ERR;+		if ( status!=VPLIST_OK ) return FIELDS_ERR_MEMERR; 	}  	return FIELDS_OK;@@ -540,7 +630,7 @@ 		if ( !fields_match_level( f, i, level ) ) continue; 		if ( !fields_match_casetags( f, i, &tags ) ) continue; -		if ( f->data[i].len!=0 || ( mode & FIELDS_NOLENOK_FLAG ) ) {+		if ( _fields_value_notempty( f, i ) || ( mode & FIELDS_NOLENOK_FLAG ) ) { 			status = fields_findv_each_add( f, mode, i, a ); 			if ( status!=FIELDS_OK ) goto out; 		} else {@@ -563,10 +653,9 @@ 	for ( i=0; i<n; ++i ) { 		fprintf( stderr, "%d\tlevel = %d\t'%s' = '%s'\n", 			i+1,-			fields_level( f, i ),-			(char*)fields_tag( f, i, FIELDS_CHRP_NOUSE ),-			(char*)fields_value( f, i, FIELDS_CHRP_NOUSE )+			_fields_level( f, i ),+			_fields_tag_char( f, i ),+			_fields_value_char( f, i ) 		); 	} }-
bibutils/fields.h view
@@ -1,7 +1,7 @@ /*  * fields.h  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  *@@ -9,8 +9,8 @@ #ifndef FIELDS_H #define FIELDS_H -#define FIELDS_OK     (1)-#define FIELDS_ERR    (0)+#define FIELDS_OK         (1)+#define FIELDS_ERR_MEMERR (0)  #define FIELDS_NOTFOUND (-1) @@ -26,7 +26,7 @@  typedef struct fields { 	str       *tag;-	str       *data;+	str       *value; 	int       *used; 	int       *level; 	int       n;@@ -35,30 +35,33 @@  void    fields_init( fields *f ); fields *fields_new( void );+fields *fields_dupl( fields *f ); void    fields_delete( fields *f ); void    fields_free( fields *f ); +int     fields_remove( fields *f, int n );+ #define FIELDS_CAN_DUP (0) #define FIELDS_NO_DUPS (1) -#define fields_add( a, b, c, d )                      _fields_add( a, b, c, d, FIELDS_NO_DUPS )-#define fields_add_can_dup( a, b, c, d )              _fields_add( a, b, c, d, FIELDS_CAN_DUP )-#define fields_add_tagsuffix( a, b, c, d, e )         _fields_add( a, b, c, d, e, FIELDS_NO_DUPS )-#define fields_add_tagsuffix_can_dup( a, b, c, d, e ) _fields_add( a, b, c, d, e, FIELDS_CAN_DUP )+#define fields_add( a, b, c, d )                   _fields_add( a, b, c, d, FIELDS_NO_DUPS )+#define fields_add_can_dup( a, b, c, d )           _fields_add( a, b, c, d, FIELDS_CAN_DUP )+#define fields_add_suffix( a, b, c, d, e )         _fields_add_suffix( a, b, c, d, e, FIELDS_NO_DUPS )+#define fields_add_suffix_can_dup( a, b, c, d, e ) _fields_add_suffix( a, b, c, d, e, FIELDS_CAN_DUP ) -int  _fields_add( fields *f, const char *tag, const char *data, int level, int mode );-int  _fields_add_tagsuffix( fields *f, const char *tag, const char *suffix,-		const char *data, int level, int mode );+int  _fields_add       ( fields *f, const char *tag,                     const char *value, int level, int mode );+int  _fields_add_suffix( fields *f, const char *tag, const char *suffix, const char *value, int level, int mode );  int  fields_maxlevel( fields *f );-void fields_clearused( fields *f );-void fields_setused( fields *f, int n );-int  fields_replace_or_add( fields *f, const char *tag, const char *data, int level );+void fields_clear_used( fields *f );+void fields_set_used( fields *f, int n );+int  fields_replace_or_add( fields *f, const char *tag, const char *value, int level );  int fields_num( fields *f ); int fields_used( fields *f, int n );-int fields_notag( fields *f, int n );-int fields_nodata( fields *f, int n );+int fields_no_tag( fields *f, int n );+int fields_no_value( fields *f, int n );+int fields_has_value( fields *f, int n );  int fields_match_level( fields *f, int n, int level ); int fields_match_tag( fields *f, int n, const char *tag );
bibutils/generic.c view
@@ -1,6 +1,6 @@ /* generic.c  *- * Copyright (c) Chris Putnam 2016-2019+ * Copyright (c) Chris Putnam 2016-2020  *  * Source code released under GPL version 2  *@@ -70,7 +70,7 @@ int generic_skip( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout ) {-	fields_setused( bibin, n );+	fields_set_used( bibin, n ); 	return BIBL_OK; } 
bibutils/intlist.c view
@@ -1,7 +1,7 @@ /*  * intlist.c  *- * Copyright (c) Chris Putnam 2007-2019+ * Copyright (c) Chris Putnam 2007-2020  *  * Version 1/12/2017  *
bibutils/is_ws.c view
@@ -1,7 +1,7 @@ /*  * is_ws.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  *
bibutils/isiin.c view
@@ -1,7 +1,7 @@ /*  * isiin.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Program and source code released under the GPL version 2  *@@ -94,10 +94,15 @@ { 	int haveref = 0, inref = 0; 	char *p;+ 	*fcharset = CHARSET_UNKNOWN;+ 	while ( !haveref && readmore( fp, buf, bufsize, bufpos, line ) ) {-		if ( !line->data ) continue;-		p = &(line->data[0]);++		if ( str_is_empty( line ) ) continue;++		p = str_cstr( line );+ 		/* Recognize UTF8 BOM */ 		if ( line->len > 2 && 				(unsigned char)(p[0])==0xEF &&@@ -106,6 +111,7 @@ 			*fcharset = CHARSET_UNICODE; 			p += 3; 		}+ 		/* Each reference ends with 'ER ' */ 		if ( is_isi_tag( p ) ) { 			if ( !strncmp( p, "FN ", 3 ) ) {@@ -142,32 +148,45 @@ *****************************************************/  static const char *-process_tagged_line( str *tag, str *data, const char *p )+process_tagged_line( str *tag, str *value, const char *p ) {-	int i;+	int i = 0;  	/* collect tag and skip past it */-	i = 0; 	while ( i<2 && *p && *p!='\r' && *p!='\n') {-		str_addchar( tag, *p++ );+		str_addchar( tag, *p );+		p++; 		i++; 	}+ 	while ( *p==' ' || *p=='\t' ) p++;-	while ( *p && *p!='\r' && *p!='\n' )-		str_addchar( data, *p++ );-	str_trimendingws( data );++	while ( *p && *p!='\r' && *p!='\n' ) {+		str_addchar( value, *p );+		p++;+	}++	str_trimendingws( value );+ 	while ( *p=='\r' || *p=='\n' ) p++;+ 	return p; }  static const char *-process_untagged_line( str *data, const char *p )+process_untagged_line( str *value, const char *p ) { 	while ( *p==' ' || *p=='\t' ) p++;-	while ( *p && *p!='\r' && *p!='\n' )-		str_addchar( data, *p++ );-	str_trimendingws( data );++	while ( *p && *p!='\r' && *p!='\n' ) {+		str_addchar( value, *p );+		p++;+	}++	str_trimendingws( value );+ 	while ( *p=='\r' || *p=='\n' ) p++;+ 	return p; } @@ -177,7 +196,7 @@ 	int status;  	if ( str_has_value( tag ) && str_has_value( value ) ) {-		status = fields_add( isiin, str_cstr( tag ), str_cstr( value ), 0 );+		status = fields_add( isiin, str_cstr( tag ), str_cstr( value ), LEVEL_MAIN ); 		if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR; 		*tag_added = 1; 	}@@ -193,6 +212,7 @@ merge_tag_value( fields *isiin, str *tag, str *value, int *tag_added ) { 	int n, status;+	str *oldvalue;  	if ( str_has_value( value ) ) { @@ -203,22 +223,23 @@  			/* only one AU or AF for list of authors */ 			if ( !strcmp( str_cstr( tag ), "AU" ) ) {-				status = fields_add( isiin, "AU", str_cstr( value ), 0 );+				status = fields_add( isiin, "AU", str_cstr( value ), LEVEL_MAIN ); 				if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR; 			} else if ( !strcmp( str_cstr( tag ), "AF" ) ) {-				status = fields_add( isiin, "AF", str_cstr( value ), 0 );+				status = fields_add( isiin, "AF", str_cstr( value ), LEVEL_MAIN ); 				if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR; 			} 			/* otherwise append multiline data */ 			else {-				str_addchar( &(isiin->data[n-1]),' ');-				str_strcat( &(isiin->data[n-1]), value );-				if ( str_memerr( &(isiin->data[n-1]) ) ) return BIBL_ERR_MEMERR;+				oldvalue = fields_value( isiin, n-1, FIELDS_STRP_NOUSE );+				str_addchar( oldvalue, ' ' );+				str_strcat( oldvalue, value );+				if ( str_memerr( oldvalue ) ) return BIBL_ERR_MEMERR; 			} 		}  		else {-                        status = fields_add( isiin, str_cstr( tag ), str_cstr( value ), 0 );+                        status = fields_add( isiin, str_cstr( tag ), str_cstr( value ), LEVEL_MAIN );                         if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;                         *tag_added = 1; 		}@@ -322,8 +343,8 @@ static int isiin_keyword( fields *bibin, int n, str *intag, str *invalue, int level, param *pm, char *outtag, fields *bibout ) {+	const char *p = str_cstr( invalue ); 	int fstatus, status = BIBL_OK;-	const char *p = invalue->data; 	str keyword;  	str_init( &keyword );
bibutils/isiout.c view
@@ -1,7 +1,7 @@ /*  * isiout.c  *- * Copyright (c) Chris Putnam 2008-2019+ * Copyright (c) Chris Putnam 2008-2020  *  * Source code released under the GPL version 2  *@@ -304,40 +304,41 @@  	append_title  ( in, "TI", LEVEL_MAIN, out, &status ); 	if ( type==TYPE_ARTICLE ) {-		append_title( in, "SO", LEVEL_HOST,   out, &status );-		append_abbrtitle( in, "JI", LEVEL_HOST, out, &status );-		append_title( in, "SE", LEVEL_SERIES, out, &status );+		append_title    ( in, "SO", LEVEL_HOST,   out, &status );+		append_abbrtitle( in, "JI", LEVEL_HOST,   out, &status );+		append_title    ( in, "SE", LEVEL_SERIES, out, &status ); 	} else if ( type==TYPE_INBOOK ) {-		append_title( in, "BT", LEVEL_HOST,   out, &status );-		append_title( in, "SE", LEVEL_SERIES, out, &status );+		append_title    ( in, "BT", LEVEL_HOST,   out, &status );+		append_title    ( in, "SE", LEVEL_SERIES, out, &status ); 	} else { /* type==BOOK */-		append_title( in, "SE", LEVEL_HOST,   out, &status );+		append_title    ( in, "SE", LEVEL_HOST,   out, &status ); 	}  	append_date( in, out, &status ); -	append_easy( in, "PAGES:START",    "BP", LEVEL_ANY, out, &status );-	append_easy( in, "PAGES:STOP",     "EP", LEVEL_ANY, out, &status );-	append_easy( in, "ARTICLENUMBER",  "AR", LEVEL_ANY, out, &status );-	append_easy( in, "PAGES:TOTAL",    "PG", LEVEL_ANY, out, &status );+	append_easy( in, "PAGES:START",       "BP", LEVEL_ANY, out, &status );+	append_easy( in, "PAGES:STOP",        "EP", LEVEL_ANY, out, &status );+	append_easy( in, "ARTICLENUMBER",     "AR", LEVEL_ANY, out, &status );+	append_easy( in, "PAGES:TOTAL",       "PG", LEVEL_ANY, out, &status ); -	append_easy( in, "VOLUME",         "VL", LEVEL_ANY, out, &status );-	append_easy( in, "ISSUE",          "IS", LEVEL_ANY, out, &status );-	append_easy( in, "NUMBER",         "IS", LEVEL_ANY, out, &status );-	append_easy( in, "PUBLISHER",      "PU", LEVEL_ANY, out, &status );-	append_easy( in, "DOI",            "DI", LEVEL_ANY, out, &status );-	append_easy( in, "URL",            "WP", LEVEL_ANY, out, &status );-	append_easy( in, "ISIREFNUM",      "UT", LEVEL_ANY, out, &status );-	append_easy( in, "LANGUAGE",       "LA", LEVEL_ANY, out, &status );-	append_easy( in, "ISIDELIVERNUM",  "GA", LEVEL_ANY, out, &status );+	append_easy( in, "VOLUME",            "VL", LEVEL_ANY, out, &status );+	append_easy( in, "ISSUE",             "IS", LEVEL_ANY, out, &status );+	append_easy( in, "NUMBER",            "IS", LEVEL_ANY, out, &status );+	append_easy( in, "PUBLISHER",         "PU", LEVEL_ANY, out, &status );+	append_easy( in, "ADDRESS:PUBLISHER", "PA", LEVEL_ANY, out, &status );+	append_easy( in, "DOI",               "DI", LEVEL_ANY, out, &status );+	append_easy( in, "URL",               "WP", LEVEL_ANY, out, &status );+	append_easy( in, "ISIREFNUM",         "UT", LEVEL_ANY, out, &status );+	append_easy( in, "LANGUAGE",          "LA", LEVEL_ANY, out, &status );+	append_easy( in, "ISIDELIVERNUM",     "GA", LEVEL_ANY, out, &status ); 	append_keywords( in, out, &status );-	append_easy( in, "ISBN",           "SN", LEVEL_ANY, out, &status );-	append_easy( in, "ISSN",           "SN", LEVEL_ANY, out, &status );-	append_easy( in, "ABSTRACT",       "AB", LEVEL_ANY, out, &status );-	append_easy( in, "TIMESCITED",     "TC", LEVEL_ANY, out, &status );-	append_easy( in, "NUMBERREFS",     "NR", LEVEL_ANY, out, &status );-	append_easy( in, "CITEDREFS",      "CR", LEVEL_ANY, out, &status );-	append_easy( in, "ADDRESS",        "PI", LEVEL_ANY, out, &status );+	append_easy( in, "ISBN",              "SN", LEVEL_ANY, out, &status );+	append_easy( in, "ISSN",              "SN", LEVEL_ANY, out, &status );+	append_easy( in, "ABSTRACT",          "AB", LEVEL_ANY, out, &status );+	append_easy( in, "TIMESCITED",        "TC", LEVEL_ANY, out, &status );+	append_easy( in, "NUMBERREFS",        "NR", LEVEL_ANY, out, &status );+	append_easy( in, "CITEDREFS",         "CR", LEVEL_ANY, out, &status );+	append_easy( in, "ADDRESS",           "PI", LEVEL_ANY, out, &status );  	return status; }
bibutils/isitypes.c view
@@ -1,7 +1,7 @@ /*  * isitypes.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Program and source code released under the GPL version 2  *
bibutils/latex.c view
@@ -3,7 +3,7 @@  *  * convert between latex special chars and unicode  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Source code released under the GPL version 2  *@@ -17,484 +17,454 @@ #define LATEX_MACRO (1)  /* 'macro_name' to be protected by {\macro_name} on output */ #define LATEX_MATH  (2)  /* 'math_expression' to be protected by $math_expression$ on output */ +#define NUM_VARIANTS (2)++#define ENTRY(a)     { (a), (sizeof(a)/sizeof(char))-1 }+#define EMPTY        { NULL, 0 }++#define COMBO2(a,b,c,d) { (a), LATEX_COMBO, (b), { ENTRY(c), ENTRY(d) } }+#define COMBO1(a,b,c)   { (a), LATEX_COMBO, (b), { ENTRY(c), EMPTY    } }+#define MACRO2(a,b,c,d) { (a), LATEX_MACRO, (b), { ENTRY(c), ENTRY(d) } }+#define MACRO1(a,b,c)   { (a), LATEX_MACRO, (b), { ENTRY(c), EMPTY    } }+#define MATH2(a,b,c,d)  { (a), LATEX_MATH,  (b), { ENTRY(c), ENTRY(d) } }+#define MATH1(a,b,c)    { (a), LATEX_MATH,  (b), { ENTRY(c), EMPTY    } }++struct latex_entry {+	char *entry;+	int  length;+};+ struct latex_chars {-	unsigned int unicode;      /* unicode code point */-	unsigned char type;        /* LATEX_COMBO/LATEX_MACRO/LATEX_MATH */-	char *out;                 /* unadorned latex combination for output */-	char *variant[3];         /* possible variations on input */+	unsigned int unicode;                      /* unicode code point */+	unsigned char type;                        /* LATEX_COMBO/LATEX_MACRO/LATEX_MATH */+	char *out;                                 /* unadorned latex combination for output */+	struct latex_entry variant[NUM_VARIANTS];  /* possible variations on input */ };  static struct latex_chars latex_chars[] = {  -                                            /* LaTeX special characters */-   {  32, LATEX_COMBO, " ",              { "\\ ",                NULL,                 NULL               } }, /* escaping the space is used to avoid extra space after periods */-   {  35, LATEX_MACRO, "#",              { "\\#",                NULL,                 NULL               } }, /* Number/pound/hash sign */-   {  36, LATEX_MACRO, "$",              { "\\$",                NULL,                 NULL               } }, /* Dollar Sign */-   {  37, LATEX_MACRO, "%",              { "\\%",                NULL,                 NULL               } }, /* Percent Sign */-   {  38, LATEX_MACRO, "&",              { "\\&",                NULL,                 NULL               } }, /* Ampersand */-   {  95, LATEX_MACRO, "_",              { "\\_",                NULL,                 NULL               } }, /* Underscore alone indicates subscript */-   { 123, LATEX_MACRO, "{",              { "\\{",                "{\\textbraceleft}",  "\\textbraceleft"  } }, /* Left Curly Bracket */-   { 125, LATEX_MACRO, "}",              { "\\}",                "{\\textbraceright}", "\\textbraceright" } }, /* Right Curly Bracket */-   {  92, LATEX_MACRO, "backslash",      { "{\\backslash}",      "\\backslash",        NULL               } }, /* Backslash */-   { 176, LATEX_MACRO, "textdegree",     { "{\\textdegree}",     "\\textdegree",       "^\\circ"          } }, /* Degree sign */-   { 126, LATEX_MACRO, "textasciitilde", { "{\\textasciitilde}", "\\textasciitilde",   "\\~{}"            } }, /* Tilde in latex */-/* fix sticky spaces "~" in bibtex token cleaning--allows tokens to be parsed properly */--                                            /* Latin Capital A */-   { 192, LATEX_MACRO, "`A",   { "{\\`A}",   "\\`{A}",   "\\`A"  } }, /*               with grave */-   { 193, LATEX_MACRO, "'A",   { "{\\'A}",   "\\'{A}",   "\\'A"  } }, /*               with acute */-   { 194, LATEX_MACRO, "^A",   { "{\\^A}",   "\\^{A}",   "\\^A"  } }, /*               with circumflex */-   { 195, LATEX_MACRO, "~A",   { "{\\~A}",   "\\~{A}",   "\\~A"  } }, /*               with tilde */-   { 196, LATEX_MACRO, "\"A",  { "{\\\"A}",  "\\\"{A}",  "\\\"A" } }, /*               with diuresis */-   { 197, LATEX_MACRO, "AA",   { "{\\AA}",   "{\\r{A}}", "\\r{A}"} }, /*               with ring above */-   { 256, LATEX_MACRO, "={A}", { "{\\={A}}", "\\={A}",   "\\=A"  } }, /*               with macron */-   { 258, LATEX_MACRO, "u{A}", { "{\\u{A}}", "\\u{A}",   "\\u A" } }, /*               with breve */-   { 260, LATEX_MACRO, "k{A}", { "{\\k{A}}", "\\k{A}",   "\\k A" } }, /*               with ogonek */-   { 461, LATEX_MACRO, "v{A}", { "{\\v{A}}", "\\v{A}",   "\\v A" } }, /*               with caron */+   MACRO1(  192, "`A",                   "\\`A"                                        ), /*  Latin Capital A with grave */+   MACRO1(  224, "`a",                   "\\`a"                                        ), /*  Latin Small a   with grave */+   MACRO1(  193, "'A",                   "\\'A"                                        ), /*  Latin Capital A with acute */+   MACRO1(  225, "'a",                   "\\'a"                                        ), /*  Latin Small a   with acute */+   MACRO1(  194, "^A",                   "\\^A"                                        ), /*  Latin Capital A with circumflex */+   MACRO1(  226, "^a",                   "\\^a"                                        ), /*  Latin Small a   with circumflex */+   MACRO1(  195, "~A",                   "\\~A"                                        ), /*  Latin Capital A with tilde */+   MACRO1(  227, "~a",                   "\\~a"                                        ), /*  Latin Small a   with tilde */+   MACRO1(  196, "\"A",                  "\\\"A"                                       ), /*  Latin Capital A with diuresis */+   MACRO1(  228, "\"a",                  "\\\"a"                                       ), /*  Latin Small a   with diuresis */+   MACRO1(  197, "AA",                   "\\AA"                                        ), /*  Latin Capital A with ring above */+   MACRO2(  197, "AA",                   "\\r A",                "\\rA"                ), /*  Latin Capital A with ring above */+   MACRO1(  229, "aa",                   "\\aa"                                        ), /*  Latin Small a   with ring above */+   MACRO2(  229, "aa",                   "\\r a",                "\\ra"                ), /*  Latin Small a   with ring above */+   MACRO1(  256, "={A}",                 "\\=A"                                        ), /*  Latin Capital A with macron */+   MACRO1(  257, "={a}",                 "\\=a"                                        ), /*  Latin Small a   with macron */+   MACRO2(  258, "u{A}",                 "\\u A",                "\\uA"                ), /*  Latin Capital A with breve */+   MACRO2(  259, "u{a}",                 "\\u a",                "\\ua"                ), /*  Latin Small a   with breve */+   MACRO2(  260, "k{A}",                 "\\k A",                "\\kA"                ), /*  Latin Capital A with ogonek */+   MACRO2(  261, "k{a}",                 "\\k a",                "\\ka"                ), /*  Latin Small a   with ogonek */+   MACRO2(  461, "v{A}",                 "\\v A",                "\\vA"                ), /*  Latin Capital A with caron */+   MACRO2(  462, "v{a}",                 "\\v a",                "\\va"                ), /*  Latin Small a   with caron */ -                                           /* Latin Small a */-   { 224, LATEX_MACRO, "`a",   { "{\\`a}",   "\\`{a}",   "\\`a"  } }, /*               with grave */-   { 225, LATEX_MACRO, "'a",   { "{\\'a}",   "\\'{a}",   "\\'a"  } }, /*               with acute */-   { 226, LATEX_MACRO, "^a",   { "{\\^a}",   "\\^{a}",   "\\^a"  } }, /*               with circumflex */-   { 227, LATEX_MACRO, "~a",   { "{\\~a}",   "\\~{a}",   "\\~a"  } }, /*               with tilde */-   { 228, LATEX_MACRO, "\"a",  { "{\\\"a}",  "\\\"{a}",  "\\\"a" } }, /*               with diuresis */-   { 229, LATEX_MACRO, "aa",   { "{\\aa}",   "{\\r{a}}", "\\r{a}"} }, /*               with ring above */-   { 257, LATEX_MACRO, "={a}", { "{\\={a}}", "\\={a}",   "\\=a"  } }, /*               with macron */-   { 259, LATEX_MACRO, "u{a}", { "{\\u{a}}", "\\u{a}",   "\\u a" } }, /*               with breve */-   { 261, LATEX_MACRO, "k{a}", { "{\\k{a}}", "\\k{a}",   "\\k a" } }, /*               with ogonek */-   { 462, LATEX_MACRO, "v{a}", { "{\\v{a}}", "\\v{a}",   "\\v a" } }, /*               with caron */+   MACRO1(  198, "AE",                   "\\AE"                                        ), /*  Latin Capital AE Ligature */+   MACRO1(  230, "ae",                   "\\ae"                                        ), /*  Latin Small ae   Ligature */ -   { 198, LATEX_MACRO, "AE",   { "{\\AE}",   "\\AE",     NULL    } }, /* Latin Capital AE */-   { 230, LATEX_MACRO, "ae",   { "{\\ae}",   "\\ae",     NULL    } }, /* Latin Small ae */+   MACRO2(  199, "c{C}",                 "\\c C",                "\\cC"                ), /*  Latin Capital C with cedilla */+   MACRO2(  231, "c{c}",                 "\\c c",                "\\cc"                ), /*  Latin Small c   with cedilla */+   MACRO2(  199, "k{C}",                 "\\k C",                "\\kC"                ), /*  Latin Capital C with cedilla (actually ogonek) */+   MACRO2(  231, "k{c}",                 "\\k c",                "\\kc"                ), /*  Latin Small c   with cedilla (actually ogonek) */+   MACRO1(  262, "'{C}",                 "\\'C"                                        ), /*  Latin Capital C with acute */+   MACRO1(  263, "'{c}",                 "\\'c"                                        ), /*  Latin Small c   with acute */+   MACRO1(  264, "^{C}",                 "\\^C"                                        ), /*  Latin Capital C with circumflex */+   MACRO1(  265, "^{c}",                 "\\^c"                                        ), /*  Latin Small c   with circumflex */+   MACRO1(  266, ".{C}",                 "\\.C"                                        ), /*  Latin Capital C with dot above */+   MACRO1(  267, ".{c}",                 "\\.c"                                        ), /*  Latin Small c   with dot above */+   MACRO2(  268, "v{C}",                 "\\v C",                "\\vC"                ), /*  Latin Capital C with caron (hacek) */+   MACRO2(  269, "v{c}",                 "\\v c",                "\\vc"                ), /*  Latin Small c   with caron (hacek) */ -                                           /* Latin Capital C */-   { 199, LATEX_MACRO, "c{C}", { "{\\c{C}}", "\\c{C}",  "\\c c"  } }, /*               with cedilla */-   { 262, LATEX_MACRO, "'{C}", { "{\\'{C}}", "\\'{C}",  "\\'C"   } }, /*               with acute */-   { 264, LATEX_MACRO, "^{C}", { "{\\^{C}}", "\\^{C}",  "\\^C"   } }, /*               with circumflex */-   { 266, LATEX_MACRO, ".{C}", { "{\\.{C}}", "\\.{C}",  "\\.C"   } }, /*               with dot above */-   { 268, LATEX_MACRO, "v{C}", { "{\\v{C}}", "\\v{C}",  "\\v C"  } }, /*               with caron (hacek) */+   MACRO2(  270, "v{D}",                 "\\v D",                "\\vD"                ), /*  Latin Capital D with caron */+   MACRO2(  271, "v{d}",                 "\\v d",                "\\vd"                ), /*  Latin Small d   with caron */+   MACRO1(  272, "DJ",                   "\\DJ"                                        ), /*  Latin Capital D with stroke */+   MACRO1(  273, "dj",                   "\\dj"                                        ), /*  Latin Small d   with stroke */ -                                           /* Latin Small c */-   { 231, LATEX_MACRO, "c{c}", { "{\\c{c}}", "\\c{c}",  "\\c C"  } }, /*               with cedilla*/-   { 263, LATEX_MACRO, "'{c}", { "{\\'{c}}", "\\'{c}",  "\\'c"   } }, /*               with acute */-   { 265, LATEX_MACRO, "^{c}", { "{\\^{c}}", "\\^{c}",  "\\^c"   } }, /*               with circumflex */-   { 267, LATEX_MACRO, ".{c}", { "{\\.{c}}", "\\.{c}",  "\\.c"   } }, /*               with dot above */-   { 269, LATEX_MACRO, "v{c}", { "{\\v{c}}", "\\v{c}",  "\\v c"  } }, /*               with caron (hacek) */+   MACRO1(  200, "`E",                   "\\`E"                                        ), /*  Latin Capital E with grave */+   MACRO1(  232, "`e",                   "\\`e"                                        ), /*  Latin Small e   with grave */+   MACRO1(  201, "'E",                   "\\'E"                                        ), /*  Latin Capital E with acute */+   MACRO1(  233, "'e",                   "\\'e"                                        ), /*  Latin Small e   with acute */+   MACRO1(  202, "^E",                   "\\^E"                                        ), /*  Latin Capital E with circumflex */+   MACRO1(  234, "^e",                   "\\^e"                                        ), /*  Latin Small e   with circumflex */+   MACRO1(  203, "\"E",                  "\\\"E"                                       ), /*  Latin Capital E with diuresis */+   MACRO1(  235, "\"e",                  "\\\"e"                                       ), /*  Latin Small e   with diuresis */+   MACRO1(  274, "={E}",                 "\\=E"                                        ), /*  Latin Capital E with macron */+   MACRO1(  275,  "={e}",                "\\=e"                                        ), /*  Latin Small e   with macron */+   MACRO2(  276, "u{E}",                 "\\u E",                "\\uE"                ), /*  Latin Capital E with breve */+   MACRO2(  277, "u{e}",                 "\\u e",                "\\ue"                ), /*  Latin Small e   with breve */+   MACRO1(  278, ".{E}",                 "\\.E"                                        ), /*  Latin Capital E with dot above */+   MACRO1(  279, ".{e}",                 "\\.e"                                        ), /*  Latin Small e   with dot above */+   MACRO2(  280, "k{E}",                 "\\k E",                "\\kE"                ), /*  Latin Capital E with ogonek */+   MACRO2(  281, "k{e}",                 "\\k e",                "\\ke"                ), /*  Latin Small e   with ogonek */+   MACRO2(  282, "v{E}",                 "\\v E",                "\\vE"                ), /*  Latin Capital E with caron */+   MACRO2(  283, "v{e}",                 "\\v e",                "\\ve"                ), /*  Latin Small e   with caron */ -                                           /* Latin Capital D */-   { 270, LATEX_MACRO, "v{D}", { "{\\v{D}}", "\\v{D}",  "\\v D"  } }, /*               with caron */-   { 272, LATEX_MACRO, "DJ",   { "{\\DJ}",   NULL,      NULL     } }, /*               with stroke */+   MACRO1(  284, "^{G}",                 "\\^G"                                        ), /*  Latin Capital G with circumflex */+   MACRO1(  285, "^{g}",                 "\\^g"                                        ), /*  Latin Small g   with circumflex */+   MACRO2(  286, "u{G}",                 "\\u G",                "\\uG"                ), /*  Latin Capital G with breve */+   MACRO2(  287, "u{g}",                 "\\u g",                "\\ug"                ), /*  Latin Small g   with breve */+   MACRO1(  288, ".{G}",                 "\\.G"                                        ), /*  Latin Capital G with dot above */+   MACRO1(  289, ".{g}",                 "\\.g"                                        ), /*  Latin Small g   with dot above */+   MACRO2(  290, "c{G}",                 "\\c G",                "\\cG"                ), /*  Latin Capital G with cedilla */+   MACRO2(  291, "c{g}",                 "\\c g",                "\\cg"                ), /*  Latin Small g   with cedilla */+   MACRO2(  486, "v{G}",                 "\\v G",                "\\vG"                ), /*  Latin Capital G with caron */+   MACRO2(  487, "v{g}",                 "\\v g",                "\\vg"                ), /*  Latin Small g   with caron */+   MACRO1(  500, "'{G}",                 "\\'G"                                        ), /*  Latin Capital G with acute */+   MACRO1(  501, "'{g}",                 "\\'g"                                        ), /*  Latin Small g   with acute */ -                                           /* Latin Small d */-   { 271, LATEX_MACRO, "v{d}", { "{\\v{d}}", "\\v{d}",  "\\v d"  } }, /*               with caron */-   { 273, LATEX_MACRO, "dj",   { "{\\dj}",   NULL,      NULL     } }, /*               with stroke */+   MACRO1(  292, "^{H}",                 "\\^H"                                        ), /*  Latin Capital H with circumflex */+   MACRO1(  293, "^{h}",                 "\\^h"                                        ), /*  Latin Small h   with circumflex */  -                                           /* Latin Capital E */-   { 200, LATEX_MACRO, "`E",   { "{\\`E}",   "\\`{E}",  "\\`E"   } }, /*               with grave */-   { 201, LATEX_MACRO, "'E",   { "{\\'E}",   "\\'{E}",  "\\'E"   } }, /*               with acute */-   { 202, LATEX_MACRO, "^E",   { "{\\^E}",   "\\^{E}",  "\\^E"   } }, /*               with circumflex */-   { 203, LATEX_MACRO, "\"E",  { "{\\\"E}",  "\\\"{E}", "\\\"E"  } }, /*               with diuresis */-   { 274, LATEX_MACRO, "={E}", { "{\\={E}}", "\\={E}",  "\\=E"   } }, /*               with macron */-   { 276, LATEX_MACRO, "u{E}", { "{\\u{E}}", "\\u{E}",  "\\u E"  } }, /*               with breve */-   { 278, LATEX_MACRO, ".{E}", { "{\\.{E}}", "\\.{E}",  "\\.E"   } }, /*               with dot above */-   { 280, LATEX_MACRO, "k{E}", { "{\\k{E}}", "\\k{E}",  "\\k E"  } }, /*               with ogonek */-   { 282, LATEX_MACRO, "v{E}", { "{\\v{E}}", "\\v{E}",  "\\v E"  } }, /*               with caron */- -                                           /* Latin Small e */-   { 232, LATEX_MACRO, "`e",   { "{\\`e}",   "\\`{e}",  "\\`e"   } }, /*               with grave */-   { 233, LATEX_MACRO, "'e",   { "{\\'e}",   "\\'{e}",  "\\'e"   } }, /*               with acute */-   { 234, LATEX_MACRO, "^e",   { "{\\^e}",   "\\^{e}",  "\\^e"   } }, /*               with circumflex */-   { 235, LATEX_MACRO, "\"e",  { "{\\\"e}",  "\\\"{e}", "\\\"e"  } }, /*               with diuresis */-   { 275, LATEX_MACRO, "={e}", { "{\\={e}}", "\\={e}",  "\\=e"   } }, /*               with macron */-   { 277, LATEX_MACRO, "u{e}", { "{\\u{e}}", "\\u{e}",  "\\u e"  } }, /*               with breve */-   { 279, LATEX_MACRO, ".{e}", { "{\\.{e}}", "\\.{e}",  "\\.e"   } }, /*               with dot above */-   { 281, LATEX_MACRO, "k{e}", { "{\\k{e}}", "\\k{e}",  "\\k e"  } }, /*               with ogonek */-   { 283, LATEX_MACRO, "v{e}", { "{\\v{e}}", "\\v{e}",  "\\v e"  } }, /*               with caron */+   MACRO1(  204, "`I",                   "\\`I"                                        ), /*  Latin Capital I with grave */+   MACRO2(  236, "`{\\i}",               "\\`\\i",               "\\`i"                ), /*  Latin Small i   with grave */+   MACRO1(  205, "'I",                   "\\'I"                                        ), /*  Latin Capital I with acute */+   MACRO2(  237, "'{\\i}",               "\\'\\i",               "\\'i"                ), /*  Latin Small i   with acute */+   MACRO1(  206, "^I",                   "\\^I"                                        ), /*  Latin Capital I with circumflex */+   MACRO2(  238, "^{\\i}",               "\\^\\i",               "\\^i"                ), /*  Latin Small i   with circumflex */+   MACRO1(  207, "\"I",                  "\\\"I"                                       ), /*  Latin Capital I with diuresis */+   MACRO2(  239, "\"{\\i}",              "\\\"\\i",              "\\\"i"               ), /*  Latin Small i   with diuresis */+   MACRO1(  296, "~{I}",                 "\\~I"                                        ), /*  Latin Capital I with tilde */+   MACRO2(  297, "`{\\i}",               "\\~\\i",               "\\~i"                ), /*  Latin Small i   with tilde */+   MACRO1(  298, "={I}",                 "\\=I"                                        ), /*  Latin Capital I with macron */+   MACRO2(  299, "={\\i}",               "\\=\\i",               "\\=i"                ), /*  Latin Small i   with macron */+   MACRO2(  300, "u{I}",                 "\\u I",                "\\uI"                ), /*  Latin Capital I with breve */+   MACRO2(  301, "u{\\i}",               "\\u\\i",               "\\ui"                ), /*  Latin Small i   with breve */+   MACRO2(  302, "k{I}",                 "\\k I",                "\\kI"                ), /*  Latin Capital I with ogonek */+   MACRO2(  303, "k{i}",                 "\\k i",                "\\ki"                ), /*  Latin Small i   with ogonek */+   MACRO1(  304, ".{I}",                 "\\.I"                                        ), /*  Latin Capital I with dot above */+   MACRO1(  305, "i",                    "\\i"                                         ), /*  Latin Small i   without dot above */+   MACRO2(  463, "v{I}",                 "\\v I",                "\\vI"                ), /*  Latin Capital I with caron */+   MACRO2(  464, "v{\\i}",               "\\v\\i",               "\\vi"                ), /*  Latin Small i   with caron */ -                                           /* Latin Capital G */-   { 284, LATEX_MACRO, "^{G}", { "{\\^{G}}", "\\^{G}",  "\\^G"   } }, /*               with circumflex */-   { 286, LATEX_MACRO, "u{G}", { "{\\u{G}}", "\\u{G}",  "\\u G"  } }, /*               with breve */-   { 288, LATEX_MACRO, ".{G}", { "{\\.{G}}", "\\.{G}",  "\\.G"   } }, /*               with dot above */-   { 290, LATEX_MACRO, "c{G}", { "{\\c{G}}", "\\c{G}",  "\\c G"  } }, /*               with cedilla */-   { 486, LATEX_MACRO, "v{G}", { "{\\v{G}}", "\\v{G}",  "\\v G"  } }, /*               with caron */-   { 500, LATEX_MACRO, "'{G}", { "{\\'{G}}", "\\'{G}",  "\\'G"   } }, /*               with acute */+   MACRO1(  308, "^{J}",                 "\\^J"                                        ), /*  Latin Capital J with circumflex */+   MACRO1(  309, "^{j}",                 "\\^j"                                        ), /*  Latin Small j   with circumflex */ -                                           /* Latin Small g */-   { 285, LATEX_MACRO, "^{g}", { "{\\^{g}}", "\\^{g}",  "\\^g"   } }, /*               with circumflex */-   { 287, LATEX_MACRO, "u{g}", { "{\\u{g}}", "\\u{g}",  "\\u g"  } }, /*               with breve */-   { 289, LATEX_MACRO, ".{g}", { "{\\.{g}}", "\\.{g}",  "\\.g"   } }, /*               with dot above */-   { 291, LATEX_MACRO, "c{g}", { "{\\c{g}}", "\\c{g}",  "\\c g"  } }, /*               with cedilla */-   { 487, LATEX_MACRO, "v{g}", { "{\\v{g}}", "\\v{g}",  "\\v g"  } }, /*               with caron */-   { 501, LATEX_MACRO, "'{g}", { "{\\'{g}}", "\\'{g}",  "\\'g"   } }, /*               with acute */+   MACRO2(  310, "c{K}",                 "\\c K",                "\\cK"                ), /*  Latin Capital K with cedilla */+   MACRO2(  311, "c{k}",                 "\\c k",                "\\ck"                ), /*  Latin Small k   with cedilla */+   MACRO2(  488, "v{K}",                 "\\v K",                "\\vK"                ), /*  Latin Capital K with caron */+   MACRO2(  489, "v{k}",                 "\\v k",                "\\vk"                ), /*  Latin Small k   with caron */ -                                           /* Latin Capital H */-   { 292, LATEX_MACRO, "^{H}", { "{\\^{H}}", "\\^{H}",  "\\^H"   } }, /*               with circumflex */-/* { 294, LATEX_MACRO, "",     { NULL,       NULL,      NULL     } },*//*              with stroke */+   MACRO1(  313, "'{L}",                 "\\'L"                                        ), /*  Latin Capital L with acute */+   MACRO1(  314, "'{l}",                 "\\'l"                                        ), /*  Latin Small l   with acute */+   MACRO2(  315, "c{L}",                 "\\c L",                "\\cL"                ), /*  Latin Capital L with cedilla */+   MACRO2(  316, "c{l}",                 "\\c l",                "\\cl"                ), /*  Latin Small l   with cedilla */+   MACRO2(  317, "v{L}",                 "\\v L",                "\\vL"                ), /*  Latin Capital L with caron */+   MACRO2(  318, "v{l}",                 "\\v l",                "\\vl"                ), /*  Latin Small l   with caron */+   MACRO1(  319, "{L\\hspace{-0.35em}$\\cdot$}", "L\\hspace-0.35em\\cdot"              ), /*  Latin Capital L with middle dot */+   MACRO1(  320, "{l$\\cdot$}",          "l\\cdot"                                     ), /*  Latin Small l   with middle dot */+   MACRO1(  321, "L",                    "\\L"                                         ), /*  Latin Capital L with stroke */+   MACRO1(  322, "l",                    "\\l"                                         ), /*  Latin Small l   with stroke */ -                                           /* Latin Capital h */-   { 293, LATEX_MACRO, "^{h}", { "{\\^{h}}", "\\^{h}",  "\\^h"   } }, /*               with circumflex */-/* { 295, LATEX_MACRO, "",     { NULL,       NULL,      NULL     } },*//*              with stroke */+   MACRO1(  209, "~{N}",                 "\\~N"                                        ), /*  Latin Capital N with tilde */+   MACRO1(  241, "~{n}",                 "\\~n"                                        ), /*  Latin Small n   with tilde */+   MACRO1(  323, "'{N}",                 "\\'N"                                        ), /*  Latin Capital N with acute */+   MACRO1(  324, "'{n}",                 "\\'n"                                        ), /*  Latin Small n   with acute */+   MACRO2(  325, "c{N}",                 "\\c N",                "\\cN"                ), /*  Latin Capital N with cedilla */+   MACRO2(  326, "c{n}",                 "\\c n",                "\\cn"                ), /*  Latin Small n   with cedilla */+   MACRO2(  327, "v{N}",                 "\\v N",                "\\vN"                ), /*  Latin Capital N with caron */+   MACRO2(  328, "v{n}",                 "\\v n",                "\\vn"                ), /*  Latin Small n   with caron */+   MACRO1(  329, "n",                    "\\n"                                         ), /*  Latin Small n preceeded by apostrophe */  -                                           /* Latin Capital I */-   { 204, LATEX_MACRO, "`I",   { "{\\`I}",   "\\`{I}",  "\\`I"   } }, /*               with grave */-   { 205, LATEX_MACRO, "'I",   { "{\\'I}",   "\\'{I}",  "\\'I"   } }, /*               with acute */-   { 206, LATEX_MACRO, "^I",   { "{\\^I}",   "\\^{I}",  "\\^I"   } }, /*               with circumflex */-   { 207, LATEX_MACRO, "\"I",  { "{\\\"I}",  "\\\"{I}", "\\\"I"  } }, /*               with diuresis */-   { 296, LATEX_MACRO, "~{I}", { "{\\~{I}}", "\\~{I}",  "\\~I"   } }, /*               with tilde */-   { 298, LATEX_MACRO, "={I}", { "{\\={I}}", "\\={I}",  "\\=I"   } }, /*               with macron */-   { 300, LATEX_MACRO, "u{I}", { "{\\u{I}}", "\\u{I}",  "\\u I"  } }, /*               with breve */-   { 302, LATEX_MACRO, "k{I}", { "{\\k{I}}", "\\k{I}",  "\\k I"  } }, /*               with ogonek */-   { 304, LATEX_MACRO, ".{I}", { "{\\.{I}}", "\\.{I}",  "\\. I"  } }, /*               with dot above */-   { 463, LATEX_MACRO, "v{I}", { "{\\v{I}}", "\\v{I}",  "\\v I"  } }, /*               with caron */+   MACRO1(  210, "`O",                   "\\`O"                                        ), /*  Latin Capital O with grave */+   MACRO1(  242, "`o",                   "\\`o"                                        ), /*  Latin Small o   with grave */+   MACRO1(  211, "'O",                   "\\'O"                                        ), /*  Latin Capital O with acute */+   MACRO1(  243, "'o",                   "\\'o"                                        ), /*  Latin Small o   with acute */+   MACRO1(  212, "^O",                   "\\^O"                                        ), /*  Latin Capital O with circumflex */+   MACRO1(  244, "^o",                   "\\^o"                                        ), /*  Latin Small o   with circumflex */+   MACRO1(  213, "~O",                   "\\~O"                                        ), /*  Latin Capital O with tilde */+   MACRO1(  245, "~o",                   "\\~o"                                        ), /*  Latin Small o   with tilde */+   MACRO1(  214, "\"O",                  "\\\"O"                                       ), /*  Latin Capital O with diaeresis */+   MACRO1(  246, "\"o",                  "\\\"o"                                       ), /*  Latin Small o   with diaeresis */+   MACRO1(  216, "O",                    "\\O"                                         ), /*  Latin Capital O with stroke */+   MACRO1(  248, "o",                    "\\o"                                         ), /*  Latin Small o   with stroke */+   MACRO1(  332, "={O}",                 "\\=O"                                        ), /*  Latin Capital O with macron */+   MACRO1(  333, "={o}",                 "\\=o"                                        ), /*  Latin Small o   with macron */+   MACRO2(  334, "u{O}",                 "\\u O",                "\\uO"                ), /*  Latin Capital O with breve */+   MACRO2(  335, "u{o}",                 "\\u o",                "\\uo"                ), /*  Latin Small o   with breve */+   MACRO2(  336, "H{O}",                 "\\H O",                "\\HO"                ), /*  Latin Capital O with double acute */+   MACRO2(  337, "H{o}",                 "\\H o",                "\\Ho"                ), /*  Latin Small o   with double acute */+   MACRO2(  465, "v{O}",                 "\\v O",                "\\vO"                ), /*  Latin Capital O with caron */+   MACRO2(  466, "v{o}",                 "\\v o",                "\\vo"                ), /*  Latin Small o   with caron */+   MACRO2(  490, "k{O}",                 "\\k O",                "\\kO"                ), /*  Latin Capital O with ogonek */+   MACRO2(  491, "k{o}",                 "\\k o",                "\\ko"                ), /*  Latin Small o   with ogonek */ -                                           /* Latin Small i */-   { 236, LATEX_MACRO, "`i",   { "{\\`i}",   "\\`{i}",  "\\`i"   } }, /*               with grave */-   { 237, LATEX_MACRO, "'i",   { "{\\'i}",   "\\'{i}",  "\\'i"   } }, /*               with acute */-   { 238, LATEX_MACRO, "^i",   { "{\\^i}",   "\\^{i}",  "\\^i"   } }, /*               with circumflex */-   { 239, LATEX_MACRO, "\"i",  { "{\\\"i}",  "\\\"{i}", "\\\"i"  } }, /*               with diuresis */-   { 303, LATEX_MACRO, "k{i}", { "{\\k{i}}", "\\k{i}",  "\\k i"  } }, /*               with ogonek */-                                           /* Latex "\i" has no dot on "i" */-   { 305, LATEX_MACRO, "i",       { "{\\i}",      "\\i{}",    NULL       } }, /*    without dot above */-   { 236, LATEX_MACRO, "`{\\i}",  { "{\\`\\i}",   "\\`{\\i}", "\\`\\i"   } }, /*       with grave */-   { 237, LATEX_MACRO, "'{\\i}",  { "{\\'\\i}",   "\\'{\\i}", "\\'\\i"   } }, /*       with acute */-   { 238, LATEX_MACRO, "^{\\i}",  { "{\\^\\i}",   "\\^{\\i}", "\\^\\i"   } }, /*       with circumflex */-   { 239, LATEX_MACRO, "\"{\\i}", { "{\\\"\\i}",  "\\\"{\\i}","\\\"\\i"  } }, /*       with diuresis */-   { 297, LATEX_MACRO, "`{\\i}",  { "{\\~{\\i}}", "\\~{\\i}", "\\~\\i{}" } }, /*       with tilde */-   { 299, LATEX_MACRO, "={\\i}",  { "{\\={\\i}}", "\\={\\i}", "\\=\\i{}" } }, /*       with macron */-   { 301, LATEX_MACRO, "u{\\i}",  { "{\\u{\\i}}", "\\u{\\i}", "\\u\\i{}" } }, /*       with breve */-   { 464, LATEX_MACRO, "v{\\i}",  { "{\\v \\i{}}", "\\v \\i{}", NULL   } }, /*         with caron */+   MACRO1(  338, "OE",                   "\\OE"                                        ), /*  Latin Capital OE Ligature */+   MACRO1(  339, "oe",                   "\\oe"                                        ), /*  Latin Small oe   Ligature */ -/* { 306, LATEX_MACRO, "",     { NULL,       NULL,      NULL     } },*/ /* Latin Capital IJ */-/* { 307, LATEX_MACRO, "",     { NULL,       NULL,      NULL     } },*/ /* Latin Small ij */+   MACRO1(  340, "'R",                   "\\'R"                                        ), /*  Latin Capital R with acute */ +   MACRO1(  341, "'r",                   "\\'r"                                        ), /*  Latin Small r   with acute */+   MACRO2(  342, "c{R}",                 "\\c R",                "\\cR"                ), /*  Latin Capital R with cedilla */+   MACRO2(  343, "c{r}",                 "\\c r",                "\\cr"                ), /*  Latin Small r   with cedilla */+   MACRO2(  344, "v{R}",                 "\\v R",                "\\vR"                ), /*  Latin Capital R with caron */+   MACRO2(  345, "v{r}",                 "\\v r",                "\\vr"                ), /*  Latin Small r   with caron */ -                                           /* Latin Capital J */-   { 308, LATEX_MACRO, "^{J}", { "{\\^{J}}", "\\^{J}",  "\\^J"   } }, /*               with circumflex */+   MACRO1(  346, "'{S}",                 "\\'S"                                        ), /*  Latin Capital S with acute */+   MACRO1(  347, "'{s}",                 "\\'s"                                        ), /*  Latin Small s   with acute */+   MACRO1(  348, "^{S}",                 "\\^S"                                        ), /*  Latin Capital S with circumflex */+   MACRO1(  349, "^{s}",                 "\\^s"                                        ), /*  Latin Small s   with circumflex */+   MACRO2(  350, "c{S}",                 "\\c S",                "\\cS"                ), /*  Latin Capital S with cedilla */+   MACRO2(  351, "c{s}",                 "\\c s",                "\\cs"                ), /*  Latin Small s   with cedilla */+   MACRO2(  352, "v{S}",                 "\\v S",                "\\vS"                ), /*  Latin Capital S with caron */+   MACRO2(  353, "v{s}",                 "\\v s",                "\\vs"                ), /*  Latin Small s   with caron */ -                                           /* Latin Small j */-   { 309, LATEX_MACRO, "^{j}", { "{\\^{j}}", "\\^{j}",  "\\^j"   } }, /*               with circumflex */+   MACRO1(  223, "ss",                   "\\ss"                                        ), /* German sz Ligature, "sharp s" */ -                                           /* Latin Capital K */-   { 310, LATEX_MACRO, "c{K}", { "{\\c{K}}", "\\c{K}",  "\\c K"  } }, /*               with cedilla */-   { 488, LATEX_MACRO, "v{K}", { "{\\v{K}}", "\\v{K}",  "\\v K"  } }, /*               with caron */+   MACRO2(  354, "c{T}",                 "\\c T",                "\\cT"                ), /*  Latin Capital T with cedilla */+   MACRO2(  355, "c{t}",                 "\\c t",                "\\ct"                ), /*  Latin Small t   with cedilla */+   MACRO2(  356, "v{T}",                 "\\v T",                "\\vT"                ), /*  Latin Capital T with caron */+   MACRO2(  357, "v{t}",                 "\\v t",                "\\vt"                ), /*  Latin Small t   with caron */ -                                           /* Latin Small k */-   { 311, LATEX_MACRO, "c{k}", { "{\\c{k}}", "\\c{k}",  "\\c k"  } }, /*               with cedilla */-   { 489, LATEX_MACRO, "v{k}", { "{\\v{k}}", "\\v{k}",  "\\v k"  } }, /*               with caron */+   MACRO1(  217, "`U",                   "\\`U"                                        ), /*  Latin Capital U with grave */+   MACRO1(  249, "`u",                   "\\`u"                                        ), /*  Latin Small u   with grave */+   MACRO1(  218, "'U",                   "\\'U"                                        ), /*  Latin Capital U with acute */+   MACRO1(  250, "'u",                   "\\'u"                                        ), /*  Latin Small u   with acute */+   MACRO1(  219, "^U",                   "\\^U"                                        ), /*  Latin Capital U with circumflex */+   MACRO1(  251, "^u",                   "\\^u"                                        ), /*  Latin Small u   with circumflex */+   MACRO1(  220, "\"U",                  "\\\"U"                                       ), /*  Latin Capital U with diaeresis */+   MACRO1(  252, "\"u",                  "\\\"u"                                       ), /*  Latin Small u   with diaeresis */+   MACRO1(  360, "~{U}",                 "\\~U"                                        ), /*  Latin Capital U with tilde */+   MACRO1(  361, "~{u}",                 "\\~u"                                        ), /*  Latin Small u   with tilde */+   MACRO1(  362, "={U}",                 "\\=U"                                        ), /*  Latin Capital U with macron */+   MACRO1(  363, "={u}",                 "\\=u"                                        ), /*  Latin Small u   with macron */+   MACRO2(  364, "u{U}",                 "\\u U",                "\\uU"                ), /*  Latin Capital U with breve */+   MACRO2(  365, "u{u}",                 "\\u u",                "\\uu"                ), /*  Latin Small u   with breve */+   MACRO2(  366, "r{U}",                 "\\r U",                "\\rU"                ), /*  Latin Capital U with ring above */+   MACRO2(  367, "r{u}",                 "\\r u",                "\\ru"                ), /*  Latin Small u   with ring above */+   MACRO2(  368, "H{U}",                 "\\H U",                "\\HU"                ), /*  Latin Capital U with double acute */+   MACRO2(  369, "H{u}",                 "\\H u",                "\\Hu"                ), /*  Latin Small u   with double acute */+   MACRO2(  370, "k{U}",                 "\\k U",                "\\kU"                ), /*  Latin Capital U with ogonek */+   MACRO2(  371, "k{u}",                 "\\k u",                "\\ku"                ), /*  Latin Small u   with ogonek */+   MACRO2(  467, "v{U}",                 "\\v U",                "\\vU"                ), /*  Latin Capital U with caron */+   MACRO2(  468, "v{u}",                 "\\v u",                "\\vu"                ), /*  Latin Small u   with caron */ -                                           /* Latin Capital L */-   { 313, LATEX_MACRO, "'{L}", { "{\\'{L}}", "\\'{L}",  "\\'L"   } }, /*               with acute */-   { 315, LATEX_MACRO, "c{L}", { "{\\c{L}}", "\\c{L}",  "\\c L"  } }, /*               with cedilla */-   { 317, LATEX_MACRO, "v{L}", { "{\\v{L}}", "\\v{l}",  "\\v L"  } }, /*               with caron */-   { 319, LATEX_COMBO, "{L\\hspace{-0.35em}$\\cdot$}", { "{L\\hspace{-0.35em}$\\cdot$}","L\\hspace{-0.35em}$\\cdot$", NULL } }, /*               with middle dot */-   { 321, LATEX_MACRO, "L",    { "{\\L}",   "{\\L{}}", "\\L{}"   } }, /*               with stroke */+   MACRO1(  372, "^{W}",                 "\\^W"                                        ), /*  Latin Capital W with circumflex */+   MACRO1(  373, "^{w}",                 "\\^w"                                        ), /*  Latin Small w   with circumflex */ -                                           /* Latin Small l */-   { 314, LATEX_MACRO, "'{l}", { "{\\'{l}}", "\\'{l}",  "\\'l"   } }, /*               with acute */-   { 316, LATEX_MACRO, "c{l}", { "{\\c{l}}", "\\c{l}",  "\\c l"  } }, /*               with cedilla */-   { 318, LATEX_MACRO, "v{l}", { "{\\v{l}}", "\\v{l}",  "\\v l"  } }, /*               with caron */-   { 320, LATEX_COMBO, "{l$\\cdot$}", { "{l$\\cdot$}","l$\\cdot$", NULL } }, /*               with middle dot */-   { 322, LATEX_MACRO, "l",    { "{\\l}",    "{\\l{}}", "\\l{}"  } }, /*               with stroke */+   MACRO1(  221, "'{Y}",                 "\\'Y"                                        ), /*  Latin Capital Y with acute */+   MACRO1(  253, "'y",                   "\\'y"                                        ), /*  Latin Small y   with acute */+   MACRO1(  374, "^{Y}",                 "\\^Y"                                        ), /*  Latin Capital Y with circumflex */+   MACRO1(  375, "^{y}",                 "\\^y"                                        ), /*  Latin Small y   with circumflex */+   MACRO1(  376, "\"{Y}",                "\\\"Y"                                       ), /*  Latin Capital Y with diaeresis */+   MACRO1(  255, "\"y",                  "\\\"y"                                       ), /*  Latin Small y   with diaeresis */ -                                           /* Latin Capital N */-   { 209, LATEX_MACRO, "~{N}", { "{\\~{N}}", "\\~{N}",  "\\~N"   } }, /*               with tilde */-   { 323, LATEX_MACRO, "'{N}", { "{\\'{N}}", "\\'{N}",  "\\'N"   } }, /*               with acute */-   { 325, LATEX_MACRO, "c{N}", { "{\\c{N}}", "\\c{N}",  "\\c N"  } }, /*               with cedilla */-   { 327, LATEX_MACRO, "v{N}", { "{\\v{N}}", "\\v{N}",  "\\v N"  } }, /*               with caron */+   MACRO1(  377, "'{Z}",                 "\\'Z"                                        ), /*  Latin Capital Z with acute */+   MACRO1(  378, "'{z}",                 "\\'z"                                        ), /*  Latin Small z   with acute */+   MACRO1(  379, ".{Z}",                 "\\.Z"                                        ), /*  Latin Capital Z with dot above */+   MACRO1(  380, ".{z}",                 "\\.z"                                        ), /*  Latin Small z   with dot above */+   MACRO2(  381, "v{Z}",                 "\\v Z",                "\\vZ"                ), /*  Latin Capital Z with caron */+   MACRO2(  382, "v{z}",                 "\\v z",                "\\vz"                ), /*  Latin Small z   with caron */ -                                           /* Latin Small n */-   { 241, LATEX_MACRO, "~{n}", { "{\\~{n}}", "\\~{n}",  "\\~n"   } }, /*               with tilde */-   { 324, LATEX_MACRO, "'{n}", { "{\\'{n}}", "\\'{n}",  "\\'n"   } }, /*               with acute */-   { 326, LATEX_MACRO, "c{n}", { "{\\c{n}}", "\\c{n}",  "\\c N"  } }, /*               with cedilla */-   { 328, LATEX_MACRO, "v{n}", { "{\\v{n}}", "\\v{n}",  "\\v n"  } }, /*               with caron */-   { 329, LATEX_MACRO, "n",    { "\\n",      NULL,      NULL     } }, /*               preceeded by apostrophe */- -                                           /* Latin Capital O */-   { 210, LATEX_MACRO, "`O",   { "{\\`O}",   "\\`{O}",  "\\`O"   } }, /*               with grave */-   { 211, LATEX_MACRO, "'O",   { "{\\'O}",   "\\'{O}",  "\\'O"   } }, /*               with acute */-   { 212, LATEX_MACRO, "^O",   { "{\\^O}",   "\\^{O}",  "\\^O"   } }, /*               with circumflex */-   { 213, LATEX_MACRO, "~O",   { "{\\~O}",   "\\~{O}",  "\\~O"   } }, /*               with tilde */-   { 214, LATEX_MACRO, "\"O",  { "{\\\"O}",  "\\\"{O}", "\\\"O"  } }, /*               with diaeresis */-   { 216, LATEX_MACRO, "O",    { "{\\O}",    "\\O",     NULL     } }, /*               with stroke */-   { 332, LATEX_MACRO, "={O}", { "{\\={O}}", "\\={O}", "\\=O"    } }, /*               with macron */-   { 334, LATEX_MACRO, "u{O}", { "{\\u{O}}", "\\u{O}", "\\u O"   } }, /*               with breve */-   { 336, LATEX_MACRO, "H{O}", { "{\\H{O}}", "\\H{O}", "\\H O"   } }, /*               with double acute */-   { 465, LATEX_MACRO, "v{O}", { "{\\v{O}}", "\\v{O}", "\\v O"   } }, /*               with caron */-   { 490, LATEX_MACRO, "k{O}", { "{\\k{O}}", "\\k{O}", "\\k O"   } }, /*               with ogonek */+   MATH1 ( 8203, "\\null",               "\\null"                                      ), /* No space &#x200B; Needs to be before \nu*/ -                                           /* Latin Small o */-   { 242, LATEX_MACRO, "`o",   { "{\\`o}",   "\\`{o}",  "\\`o"   } }, /*               with grave */-   { 243, LATEX_MACRO, "'o",   { "{\\'o}",   "\\'{o}",  "\\'o"   } }, /*               with acute */-   { 244, LATEX_MACRO, "^o",   { "{\\^o}",   "\\^{o}",  "\\^o"   } }, /*               with circumflex */-   { 245, LATEX_MACRO, "~o",   { "{\\~o}",   "\\~{o}",  "\\~o"   } }, /*               with tilde */-   { 246, LATEX_MACRO, "\"o",  { "{\\\"o}",  "\\\"{o}", "\\\"o"  } }, /*               with diaeresis */-   { 248, LATEX_MACRO, "o",    { "{\\o}",    "\\o",     NULL     } }, /*               with stroke */-   { 333, LATEX_MACRO, "={o}", { "{\\={o}}", "\\={o}", "\\=o"    } }, /*               with macron */-   { 335, LATEX_MACRO, "u{o}", { "{\\u{o}}", "\\u{o}", "\\u o"   } }, /*               with breve */-   { 337, LATEX_MACRO, "H{o}", { "{\\H{o}}", "\\H{o}", "\\H o"   } }, /*               with double acute */-   { 466, LATEX_MACRO, "v{o}", { "{\\v{o}}", "\\v{o}", "\\v o"   } }, /*               with caron */-   { 491, LATEX_MACRO, "k{o}", { "{\\k{o}}", "\\k{o}", "\\k o"   } }, /*               with ogonek */+   MATH1 (  913, "\\Alpha",              "\\Alpha"                                     ), /*GREEK CAPITAL LETTER ALPHA*/+   MATH1 (  914, "\\Beta",               "\\Beta"                                      ), /*GREEK CAPITAL LETTER BETA*/+   MATH1 (  915, "\\Gamma",              "\\Gamma"                                     ), /*GREEK CAPITAL LETTER GAMMA*/+   MATH1 (  916, "\\Delta",              "\\Delta"                                     ), /*GREEK CAPITAL LETTER DELTA*/+   MATH1 (  917, "\\Epsilon",            "\\Epsilon"                                   ), /*GREEK CAPITAL LETTER EPSILON*/+   MATH1 (  918, "\\Zeta",               "\\Zeta"                                      ), /*GREEK CAPITAL LETTER ZETA*/+   MATH1 (  919, "\\Eta",                "\\Eta"                                       ), /*GREEK CAPITAL LETTER ETA*/+   MATH1 (  920, "\\Theta",              "\\Theta"                                     ), /*GREEK CAPITAL LETTER THETA*/+   MATH1 (  921, "\\Iota",               "\\Iota"                                      ), /*GREEK CAPITAL LETTER IOTA*/+   MATH1 (  922, "\\Kappa",              "\\Kappa"                                     ), /*GREEK CAPITAL LETTER KAPPA*/+   MATH1 (  923, "\\Lambda",             "\\Lambda"                                    ), /*GREEK CAPITAL LETTER LAMDA*/+   MATH1 (  924, "\\Mu",                 "\\Mu"                                        ), /*GREEK CAPITAL LETTER MU*/+   MATH1 (  925, "\\Nu",                 "\\Nu"                                        ), /*GREEK CAPITAL LETTER NU*/+   MATH1 (  926, "\\Xi",                 "\\Xi"                                        ), /*GREEK CAPITAL LETTER XI*/+   MATH1 (  927, "\\Omicron",            "\\Omicron"                                   ), /*GREEK CAPITAL LETTER OMICRON*/+   MATH1 (  928, "\\Pi",                 "\\Pi"                                        ), /*GREEK CAPITAL LETTER PI*/+   MATH1 (  929, "\\Rho",                "\\Rho"                                       ), /*GREEK CAPITAL LETTER RHO*/+   MATH1 (  931, "\\Sigma",              "\\Sigma"                                     ), /*GREEK CAPITAL LETTER SIGMA*/+   MATH1 (  932, "\\Tau",                "\\Tau"                                       ), /*GREEK CAPITAL LETTER TAU*/+   MATH1 (  933, "\\Upsilon",            "\\Upsilon"                                   ), /*GREEK CAPITAL LETTER UPSILON*/+   MATH1 (  934, "\\Phi",                "\\Phi"                                       ), /*GREEK CAPITAL LETTER PHI*/+   MATH1 (  935, "\\Chi",                "\\Chi"                                       ), /*GREEK CAPITAL LETTER CHI*/+   MATH1 (  936, "\\Psi",                "\\Psi"                                       ), /*GREEK CAPITAL LETTER PSI*/+   MATH1 (  937, "\\Omega",              "\\Omega"                                     ), /*GREEK CAPITAL LETTER OMEGA*/ -   { 338, LATEX_MACRO, "OE",   { "{\\OE}",   "\\OE",   NULL      } }, /* Latin Capital OE */-   { 339, LATEX_MACRO, "oe",   { "{\\oe}",   "\\oe",   NULL      } }, /* Latin Small oe */+   MATH1 (  945, "\\alpha",              "\\alpha"                                     ), /*GREEK SMALL LETTER ALPHA*/+   MATH1 (  946, "\\beta",               "\\beta"                                      ), /*GREEK SMALL LETTER BETA*/+   MATH1 (  947, "\\gamma",              "\\gamma"                                     ), /*GREEK SMALL LETTER GAMMA*/+   MATH1 (  948, "\\delta",              "\\delta"                                     ), /*GREEK SMALL LETTER DELTA*/+   MATH1 (  949, "\\epsilon",            "\\epsilon"                                   ), /*GREEK SMALL LETTER EPSILON*/+   MATH1 (  950, "\\zeta",               "\\zeta"                                      ), /*GREEK SMALL LETTER ZETA*/+   MATH1 (  951, "\\eta",                "\\eta"                                       ), /*GREEK SMALL LETTER ETA*/+   MATH1 (  952, "\\theta",              "\\theta"                                     ), /*GREEK SMALL LETTER THETA*/+   MATH1 (  953, "\\iota",               "\\iota"                                      ), /*GREEK SMALL LETTER IOTA*/+   MATH1 (  954, "\\kappa",              "\\kappa"                                     ), /*GREEK SMALL LETTER KAPPA*/+   MATH1 (  955, "\\lambda",             "\\lambda"                                    ), /*GREEK SMALL LETTER LAMDA*/+   MATH1 (  956, "\\mu",                 "\\mu"                                        ), /*GREEK SMALL LETTER MU*/+   MATH1 (  957, "\\nu",                 "\\nu"                                        ), /*GREEK SMALL LETTER NU*/+   MATH1 (  958, "\\xi",                 "\\xi"                                        ), /*GREEK SMALL LETTER XI*/+   MATH1 (  959, "\\omicron",            "\\omicron"                                   ), /*GREEK SMALL LETTER OMICRON*/+   MATH1 (  960, "\\pi",                 "\\pi"                                        ), /*GREEK SMALL LETTER PI*/+   MATH1 (  961, "\\rho",                "\\rho"                                       ), /*GREEK SMALL LETTER RHO*/+   MATH1 (  963, "\\sigma",              "\\sigma"                                     ), /*GREEK SMALL LETTER SIGMA*/+   MATH1 (  964, "\\tau",                "\\tau"                                       ), /*GREEK SMALL LETTER TAU*/+   MATH1 (  965, "\\upsilon",            "\\upsilon"                                   ), /*GREEK SMALL LETTER UPSILON*/+   MATH1 (  966, "\\phi",                "\\phi"                                       ), /*GREEK SMALL LETTER PHI*/+   MATH1 (  967, "\\chi",                "\\chi"                                       ), /*GREEK SMALL LETTER CHI*/+   MATH1 (  968, "\\psi",                "\\psi"                                       ), /*GREEK SMALL LETTER PSI*/+   MATH1 (  969, "\\omega",              "\\omega"                                     ), /*GREEK SMALL LETTER OMEGA*/ -                                           /* Latin Capital R */-   { 340, LATEX_MACRO, "'R",   { "{\\'{R}}", "\\'{R}", "\\'R"    } }, /*               with acute */-   { 342, LATEX_MACRO, "c{R}", { "{\\c{R}}", "\\c{R}", "\\c R"   } }, /*               with cedilla */-   { 344, LATEX_MACRO, "v{R}", { "{\\v{R}}", "\\v{R}", "\\v R"   } }, /*               with caron */- -                                           /* Latin Small r */-   { 341, LATEX_MACRO, "'r",   { "{\\'{r}}", "\\'{r}", "\\'r"    } }, /*               with acute */-   { 343, LATEX_MACRO, "c{r}", { "{\\c{r}}", "\\c{r}", "\\c r"   } }, /*               with cedilla */-   { 345, LATEX_MACRO, "v{r}", { "{\\v{r}}", "\\v{r}", "\\v r"   } }, /*               with caron */+   MACRO2(  181, "textmu",               "\\textmu",             "\\mu"                ), /* 181=micro sign, techically &#xB5; */ -                                           /* Latin Capital S */-   { 346, LATEX_MACRO, "'{S}", { "{\\'{S}}", "\\'{S}", "\\'S"    } }, /*               with acute */-   { 348, LATEX_MACRO, "^{S}", { "{\\^{S}}", "\\^{S}", "\\^S"    } }, /*               with circumflex */-   { 350, LATEX_MACRO, "c{S}", { "{\\c{S}}", "\\c{S}", "\\c S"   } }, /*               with cedilla */-   { 352, LATEX_MACRO, "v{S}", { "{\\v{S}}", "\\v{S}", "\\v S"   } }, /*               with caron */+/* Make sure that these don't stomp on other latex things above */ -                                           /* Latin Small s */-   { 347, LATEX_MACRO, "'{s}", { "{\\'{s}}", "\\'{s}", "\\'s"    } }, /*               with acute */-   { 349, LATEX_MACRO, "^{s}", { "{\\^{s}}", "\\^{s}", "\\^s"    } }, /*               with circumflex */-   { 351, LATEX_MACRO, "c{s}", { "{\\c{s}}", "\\c{s}", "\\c s"   } }, /*               with cedilla */-   { 353, LATEX_MACRO, "v{s}", { "{\\v{s}}", "\\v{s}", "\\v s"   } }, /*               with caron */+   COMBO2( 8212, "---",                  "---",                  "\\textemdash"        ), /* Em-dash &#x2014; */+   COMBO2( 8211, "--",                   "--",                   "\\textendash"        ), /* En-dash &#x2013; */+   MACRO2( 8230, "ldots",                "\\ldots",              "\\textellipsis"      ), /* Ellipsis &#x2026; */ -                                           /* Latin Capital T */-   { 354, LATEX_MACRO, "c{T}", { "{\\c{T}}", "\\c{T}", NULL      } }, /*               with cedilla */-   { 356, LATEX_MACRO, "v{T}", { "{\\v{T}}", "\\v{T}", NULL      } }, /*               with caron */-/* { 358, LATEX_MACRO, "",     { NULL,       NULL,     NULL      } },*//*              with stroke */+   COMBO2( 8220, "``",                   "``",                   "\\textquotedblleft"  ), /* Opening double quote &#x201C; */+   COMBO1( 8221, "''",                   "\""                                          ), /* Closing double quote &#x201D; */+   COMBO2( 8221, "''",                   "''",                   "\\textquotedblright" ), /* Closing double quote &#x201D; */+   COMBO2( 8216, "`",                    "`",                    "\\textquoteleft"     ), /* Opening single quote &#x2018; */+   COMBO2( 8217, "'",                    "'",                    "\\textquoteright"    ), /* Closing single quote &#x2019; */ -                                           /* Latin Small t */-   { 355, LATEX_MACRO, "c{T}", { "{\\c{t}}", "\\c{t}", NULL      } }, /*               with cedilla */-   { 357, LATEX_MACRO, "v{T}", { "{\\v{t}}", "\\v{t}", NULL      } }, /*               with caron */-/* { 359, LATEX_MACRO, "",     { NULL,       NULL,     NULL      } },*//*              with stroke */+   MACRO1( 8242, "textasciiacutex",      "\\textasciiacutex"                           ), /* Prime symbol &#x2032; */+   MACRO2(  180, "textasciiacute",       "\\textasciiacute",     "\\'"                 ), /* acute accent &#xB4; */+   MACRO1( 8243, "textacutedbl",         "\\textacutedbl"                              ), /* Double prime &#x2033; */+   MACRO2( 8245, "textasciigrave",       "\\textasciigrave",     "\\`"                 ), /* Grave accent &#x2035; */ -   { 223, LATEX_MACRO, "ss",   { "{\\ss}",   "\\ss",   NULL      } }, /* German sz ligature, "sharp s" */+   MACRO1( 8963, "textasciicircum",      "\\textasciicircum"                           ), /* &#x2303; */+   MACRO1(  184, "textasciicedilla",     "\\textasciicedilla"                          ), /* cedilla &#xB8; */+   MACRO1(  168, "textasciidieresis",    "\\textasciidieresis"                         ), /* dieresis &#xA8; */+   MACRO1(  175, "textasciimacron",      "\\textasciimacron"                           ), /* macron &#xAF; */ -                                           /* Latin Capital U */-   { 217, LATEX_MACRO, "`U",   { "{\\`U}",   "\\`{U}", "\\`U"    } }, /*               with grave */-   { 218, LATEX_MACRO, "'U",   { "{\\'U}",   "\\'{U}", "\\'U"    } }, /*               with acute */-   { 219, LATEX_MACRO, "^U",   { "{\\^U}",   "\\^{U}", "\\^U"    } }, /*               with circumflex */-   { 220, LATEX_MACRO, "\"U",  { "{\\\"U}",  "\\\"{U}","\\\"U"   } }, /*               with diaeresis */-   { 360, LATEX_MACRO, "~{U}", { "{\\~{U}}", "\\~{U}", "\\~U"    } }, /*               with tilde */-   { 362, LATEX_MACRO, "={U}", { "{\\={U}}", "\\={U}", "\\=U"    } }, /*               with macron */-   { 364, LATEX_MACRO, "u{U}", { "{\\u{U}}", "\\u{U}", "\\u U"   } }, /*               with breve */-   { 366, LATEX_MACRO, "r{U}", { "{\\r{U}}", "\\r{U}", "\\r U"   } }, /*               with ring above */-   { 368, LATEX_MACRO, "H{U}", { "{\\H{U}}", "\\H{U}", "\\H U"   } }, /*               with double acute */-   { 370, LATEX_MACRO, "k{U}", { "{\\k{U}}", "\\k{U}", "\\k U"   } }, /*               with ogonek */-   { 467, LATEX_MACRO, "v{U}", { "{\\v{U}}", "\\v{U}", "\\v U"   } }, /*               with caron */+   MACRO1( 8593, "textuparrow",          "\\textuparrow"                               ), /* Up arrow &#x2191; */+   MACRO1( 8595, "textdownarrow",        "\\textdownarrow"                             ), /* Down arrow &#x2193; */+   MACRO1( 8594, "textrightarrow",       "\\textrightarrow"                            ), /* Right arrow &#x2192; */+   MACRO1( 8592, "textleftarrow",        "\\textleftarrow"                             ), /* Left arrow &#x2190; */+   MACRO1(12296, "textlangle",           "\\textlangle"                                ), /* L-angle &#x3008; */+   MACRO1(12297, "textrangle",           "\\textrangle"                                ), /* R-angle &#x3009; */ -                                           /* Latin Small u */-   { 249, LATEX_MACRO, "`u",   { "{\\`u}",   "\\`{u}", "\\`u"    } }, /*               with grave */-   { 250, LATEX_MACRO, "'u",   { "{\\'u}",   "\\'{u}", "\\'u"    } }, /*               with acute */-   { 251, LATEX_MACRO, "^u",   { "{\\^u}",   "\\^{u}", "\\^u"    } }, /*               with circumflex */-   { 252, LATEX_MACRO, "\"u",  { "{\\\"u}",  "\\\"{u}","\\\"u"   } }, /*               with diaeresis */-   { 361, LATEX_MACRO, "~{u}", { "{\\~{u}}", "\\~{u}", NULL      } }, /*               with tilde */-   { 363, LATEX_MACRO, "={u}", { "{\\={u}}", "\\={u}", "\\=u"    } }, /*               with macron */-   { 365, LATEX_MACRO, "u{u}", { "{\\u{u}}", "\\u{u}", "\\u u"   } }, /*               with breve */-   { 367, LATEX_MACRO, "r{u}", { "{\\r{u}}", "\\r{u}", "\\r u"   } }, /*               with ring above */-   { 369, LATEX_MACRO, "H{u}", { "{\\H{u}}", "\\H{u}", "\\H u"   } }, /*               with double acute */-   { 371, LATEX_MACRO, "k{u}", { "{\\k{u}}", "\\k{u}", "\\k u"   } }, /*               with ogonek */-   { 468, LATEX_MACRO, "v{u}", { "{\\v{u}}", "\\v{u}", "\\v u"   } }, /*               with caron */+   MACRO1(  166, "textbrokenbar",        "\\textbrokenbar"                             ), /* Broken vertical bar &#xA6; */+   MACRO2(  167, "textsection",          "\\textsection",        "\\S"                 ), /* Section sign, &#xA7; */+   MACRO2(  170, "textordfeminine",      "\\textordfeminine",    "^a"                  ), /* &#xAA; */+   MACRO1(  172, "textlnot",             "\\textlnot"                                  ), /* Lnot &#xAC; */+   MACRO1(  182, "textparagraph",        "\\textparagraph"                             ), /* Paragraph sign &#xB6; */+   MACRO1(  183, "textperiodcentered",   "\\textperiodcentered"                        ), /* Period-centered &#xB7; */+   MACRO1(  186, "textordmasculine",     "\\textordmasculine"                          ), /* &#xBA; */+   MACRO1( 8214, "textbardbl",           "\\textbardbl"                                ), /* Double vertical bar &#x2016; */+   MACRO1( 8224, "textdagger",           "\\textdagger"                                ), /* Dagger &#x2020; */+   MACRO1( 8225, "textdaggerdbl",        "\\textdaggerdbl"                             ), /* Double dagger &x2021; */+   MACRO1( 8226, "textbullet",           "\\textbullet"                                ), /* Bullet &#x2022; */+   MACRO1( 8494, "textestimated",        "\\textestimated"                             ), /* Estimated &#x212E; */+   MACRO1( 9526, "textopenbullet",       "\\textopenbullet"                            ), /* &#x2536; */ -                                           /* Latin Capital W */-   { 372, LATEX_MACRO, "^{W}", { "{\\^{W}}", "\\^{W}", "\\^W"    } }, /*               with circumflex */+   MACRO1( 8261, "textlquill",           "\\textlquill"                                ), /* Left quill &#x2045; */+   MACRO1( 8262, "textrquill",           "\\textrquill"                                ), /* Right quill &#x2046; */ -                                           /* Latin Small w */-   { 373, LATEX_MACRO, "^{w}", { "{\\^{w}}", "\\^{w}", "\\^w"    } }, /*               with circumflex */+   MACRO2( 8194, "enspace",              "\\enspace",            "\\hspace.5em"        ), /* En-space &#x2002; */+   MACRO2( 8195, "emspace",              "\\emspace",            "\\hspace1em"         ), /* Em-space &#x2003; */+   MACRO1( 8201, "thinspace",            "\\thinspace"                                 ), /* Thin space &#x2009; */+   MACRO1( 8203, "textnospace",          "\\textnospace"                               ), /* No space &#x200B; */+   MACRO1( 9251, "textvisiblespace",     "\\textvisiblespace"                          ), /* Visible space &#x2423; */ -                                           /* Latin Capital Y */-   { 221, LATEX_MACRO, "'{Y}", { "{\\'{Y}}", "\\'{Y}", "\\'Y"    } }, /*               with acute */-   { 374, LATEX_MACRO, "^{Y}", { "{\\^{Y}}", "\\^{Y}", "\\^Y"    } }, /*               with circumflex */-   { 376, LATEX_MACRO, "\"{Y}",{ "{\\\"{Y}}","\\\"{Y}","\\\"Y"   } }, /*               with diaeresis */+   MACRO1(  215, "texttimes",            "\\texttimes"                                 ), /* Multiplication symbol &#xD7; */+   MACRO1(  247, "textdiv",              "\\textdiv"                                   ), /* Division symbol &#xF7; */+   MACRO1(  177, "textpm",               "\\textpm"                                    ), /* Plus-minus character &#B1; */+   MACRO1(  188, "textonequarter",       "\\textonequarter"                            ), /* Vulgar fraction one quarter &#xBC; */+   MACRO1(  189, "textonehalf",          "\\textonehalf"                               ), /* Vulgar fraction one half &#xBD; */+   MACRO1(  190, "textthreequarters",    "\\textthreequarters"                         ), /* Vulgar fraction three quarters &#xBE; */+   MACRO1( 8240, "texttenthousand",      "\\texttenthousand"                           ), /* Per thousand sign &#x2030; */+   MACRO1( 8241, "textpertenthousand",   "\\textpertenthousand"                        ), /* Per ten thousand sign &#x2031;*/+   MACRO1( 8260, "textfractionssolidus", "\\textfractionsolidus"                       ), /* &x8260 */+   MACRO1( 8451, "textcelcius",          "\\textcelcius"                               ), /* Celcius &#x2103; */+   MACRO1( 8470, "textnumero",           "\\textnumero"                                ), /* Numero symbol &#x2116; */+   MACRO1( 8486, "textohm",              "\\textohm"                                   ), /* Ohm symbol &#x2126; */+   MACRO1( 8487, "textmho",              "\\textmho"                                   ), /* Mho symbol &#x2127; */+   MACRO1( 8730, "textsurd",             "\\textsurd"                                  ), /* &#x221A; */ -                                           /* Latin Small y */-   { 253, LATEX_MACRO, "'y",   { "{\\'y}",  "\\'{y}", "\\'y"     } }, /*               with acute */-   { 255, LATEX_MACRO, "\"y",  { "{\\\"y}", "\\\"{y}","\\\"y"    } }, /*               with diaeresis */-   { 375, LATEX_MACRO, "^{y}", { "{\\^{y}}","\\^{y}", "\\^y"     } }, /*               with circumflex */+   MACRO2(  185, "textonesuperior",      "\\textonesuperior",    "^1"                  ), /*Superscript 1 &#xB9; */+   MACRO2(  178, "texttwosuperior",      "\\texttwosuperior",    "^2"                  ), /*Superscript 2 &#xB2; */+   MACRO2(  179, "textthreesuperior",    "\\textthreesuperior",  "^3"                  ), /*Superscript 3 &#xB3; */ -                                           /* Latin Capital Z */-   { 377, LATEX_MACRO, "'{Z}", { "{\\'{Z}}","\\'{Z}", "\\'Z"     } }, /*               with acute */-   { 379, LATEX_MACRO, ".{Z}", { "{\\.{Z}}","\\.{Z}", "\\.Z"     } }, /*               with dot above */-   { 381, LATEX_MACRO, "v{Z}", { "{\\v{Z}}","\\v{Z}", "\\v Z"    } }, /*               with caron */+   MATH1 ( 8308, "^4",                   "^4"                                          ), /*Superscript 4 U+2074*/+   MATH1 ( 8309, "^5",                   "^5"                                          ), /*Superscript 5 U+2075*/+   MATH1 ( 8310, "^6",                   "^6"                                          ), /*Superscript 6 U+2076*/+   MATH1 ( 8311, "^7",                   "^7"                                          ), /*Superscript 7 U+2077*/+   MATH1 ( 8312, "^8",                   "^8"                                          ), /*Superscript 8 U+2078*/+   MATH1 ( 8313, "^9",                   "^9"                                          ), /*Superscript 9 U+2079*/ -                                           /* Latin Small z */-   { 378, LATEX_MACRO, "'{z}", { "{\\'{z}}","\\'{z}", "\\'z"     } }, /*               with acute */-   { 380, LATEX_MACRO, ".{z}", { "{\\.{z}}","\\.{z}", "\\.z"     } }, /*               with dot above */-   { 382, LATEX_MACRO, "v{z}", { "{\\v{z}}","\\v{z}", "\\v z"    } }, /*               with caron */+   MATH1 ( 8314, "^+",                   "^+"                                          ), /*Superscript - U+207A*/+   MATH1 ( 8315, "^-",                   "^-"                                          ), /*Superscript - U+207B*/+   MATH1 ( 8316, "^=",                   "^="                                          ), /*Superscript = U+207C*/+   MATH1 ( 8317, "^(",                   "^("                                          ), /*Superscript ) U+207D*/+   MATH1 ( 8318, "^)",                   "^)"                                          ), /*Superscript ) U+207E*/+   MATH1 ( 8319, "^n",                   "^n"                                          ), /*Superscript n U+207F*/ +   MATH1 ( 8320, "_0",                   "_0"                                          ), /*Subscript 0 U+2080*/+   MATH1 ( 8321, "_1",                   "_1"                                          ), /*Subscript 1 U+2081*/+   MATH1 ( 8322, "_2",                   "_2"                                          ), /*Subscript 2 U+2082*/+   MATH1 ( 8323, "_3",                   "_3"                                          ), /*Subscript 3 U+2083*/+   MATH1 ( 8324, "_4",                   "_4"                                          ), /*Subscript 4 U+2084*/+   MATH1 ( 8325, "_5",                   "_5"                                          ), /*Subscript 5 U+2085*/+   MATH1 ( 8326, "_6",                   "_6"                                          ), /*Subscript 6 U+2086*/+   MATH1 ( 8327, "_7",                   "_7"                                          ), /*Subscript 7 U+2087*/+   MATH1 ( 8328, "_8",                   "_8"                                          ), /*Subscript 8 U+2088*/+   MATH1 ( 8329, "_9",                   "_9"                                          ), /*Subscript 9 U+2089*/ -				/* Needs to be before \nu */-   { 8203,LATEX_MATH, "null",  { "$\\null$", "\\null", NULL      } }, /* No space &#x200B; */+   MATH2(   183, "\\cdot",               "\\cdot",               "^."                  ),+   MATH1(  2192, "\\to",                 "\\to"                                        ), -   { 913, LATEX_MATH, "Alpha",   { "$\\Alpha$",   "\\Alpha",    NULL    } }, /*GREEK CAPITAL LETTERALPHA*/-   { 914, LATEX_MATH, "Beta",    { "$\\Beta$",    "\\Beta",     NULL    } }, /*GREEK CAPITAL LETTERBETA*/-   { 915, LATEX_MATH, "Gamma",   { "$\\Gamma$",   "\\Gamma",    NULL    } }, /*GREEK CAPITAL LETTERGAMMA*/-   { 916, LATEX_MATH, "Delta",   { "$\\Delta$",   "\\Delta",    NULL    } }, /*GREEK CAPITAL LETTERDELTA*/-   { 917, LATEX_MATH, "Epsilon", { "$\\Epsilon$", "\\Epsilon",  NULL    } }, /*GREEK CAPITAL LETTEREPSILON*/-   { 918, LATEX_MATH, "Zeta",    { "$\\Zeta$",     "\\Zeta",    NULL    } }, /*GREEK CAPITAL LETTERZETA*/-   { 919, LATEX_MATH, "Eta",     { "$\\Eta$",      "\\Eta",     NULL    } }, /*GREEK CAPITAL LETTERETA*/-   { 920, LATEX_MATH, "Theta",   { "$\\Theta$",    "\\Theta",   NULL    } }, /*GREEK CAPITAL LETTERTHETA*/-   { 921, LATEX_MATH, "Iota",    { "$\\Iota$",     "\\Iota",    NULL    } }, /*GREEK CAPITAL LETTERIOTA*/-   { 922, LATEX_MATH, "Kappa",   { "$\\Kappa$",    "\\Kappa",   NULL    } }, /*GREEK CAPITAL LETTERKAPPA*/-   { 923, LATEX_MATH, "Lambda",  { "$\\Lambda$",   "\\Lambda",  NULL    } }, /*GREEK CAPITAL LETTERLAMDA*/-   { 924, LATEX_MATH, "Mu",      { "$\\Mu$",       "\\Mu",      NULL    } }, /*GREEK CAPITAL LETTERMU*/-   { 925, LATEX_MATH, "Nu",      { "$\\Nu$",       "\\Nu",      NULL    } }, /*GREEK CAPITAL LETTERNU*/-   { 926, LATEX_MATH, "Xi",      { "$\\Xi$",       "\\Xi",      NULL    } }, /*GREEK CAPITAL LETTERXI*/-   { 927, LATEX_MATH, "Omicron", { "$\\Omicron$",  "\\Omicron", NULL    } }, /*GREEK CAPITAL LETTEROMICRON*/-   { 928, LATEX_MATH, "Pi",      { "$\\Pi$",       "\\Pi",      NULL    } }, /*GREEK CAPITAL LETTERPI*/-   { 929, LATEX_MATH, "Rho",     { "$\\Rho$",      "\\Rho",     NULL    } }, /*GREEK CAPITAL LETTERRHO*/-   { 931, LATEX_MATH, "Sigma",   { "$\\Sigma$",    "\\Sigma",   NULL    } }, /*GREEK CAPITAL LETTERSIGMA*/-   { 932, LATEX_MATH, "Tau",     { "$\\Tau$",      "\\Tau",     NULL    } }, /*GREEK CAPITAL LETTERTAU*/-   { 933, LATEX_MATH, "Upsilon", { "$\\Upsilon$",  "\\Upsilon", NULL    } }, /*GREEK CAPITAL LETTERUPSILON*/-   { 934, LATEX_MATH, "Phi",     { "$\\Phi$",      "\\Phi",     NULL    } }, /*GREEK CAPITAL LETTERPHI*/-   { 935, LATEX_MATH, "Chi",     { "$\\Chi$",      "\\Chi",     NULL    } }, /*GREEK CAPITAL LETTERCHI*/-   { 936, LATEX_MATH, "Psi",     { "$\\Psi$",      "\\Psi",     NULL    } }, /*GREEK CAPITAL LETTERPSI*/-   { 937, LATEX_MATH, "Omega",   { "$\\Omega$",    "\\Omega",   NULL    } }, /*GREEK CAPITAL LETTEROMEGA*/-   /* 902 = GREEK CAPITAL LETTER ALPHAWITHTONOS*/-   /* 904 = GREEK CAPITAL LETTER EPSILONWITHTONOS*/-   /* 905 = GREEK CAPITAL LETTER ETAWITHTONOS*/-   /* 938 = GREEK CAPITAL LETTER IOTAWITHDIALYTIKA*/-   /* 906 = GREEK CAPITAL LETTER IOTAWITHTONOS*/-   /* 908 = GREEK CAPITAL LETTER OMICRONWITHTONOS*/-   /* 939 = GREEK CAPITAL LETTER UPSILONWITHDIALYTIKA*/-   /* 910 = GREEK CAPITAL LETTER UPSILONWITHTONOS*/-   /* 911, = GREEK CAPITAL LETTER OMEGAWITHTONOS*/+   MACRO1(  161, "textexclamdown",      "\\textexclamdown"                             ), /* Inverted exclamation mark &#xA1;*/+   MACRO1(  191, "textquestiondown",    "\\textquestiondown"                           ), /* Inverted question mark &#xBF; */ -   { 945, LATEX_MATH, "alpha",   { "$\\alpha$",    "\\alpha",   NULL    } }, /*GREEK SMALL LETTER ALPHA*/-   { 946, LATEX_MATH, "beta",    { "$\\beta$",     "\\beta",    NULL    } }, /*GREEK SMALL LETTER BETA*/-   { 968, LATEX_MATH, "psi",     { "$\\psi$",      "\\psi",     NULL    } }, /*GREEK SMALL LETTER PSI*/-   { 948, LATEX_MATH, "delta",   { "$\\delta$",    "\\delta",   NULL    } }, /*GREEK SMALL LETTER DELTA*/-   { 949, LATEX_MATH, "epsilon", { "$\\epsilon$",  "\\epsilon", NULL    } }, /*GREEK SMALL LETTER EPSILON*/-   { 966, LATEX_MATH, "phi",     { "$\\phi$",      "\\phi",     NULL    } }, /*GREEK SMALL LETTER PHI*/-   { 947, LATEX_MATH, "gamma",   { "$\\gamma$", "\\gamma", NULL }   }, /*GREEK SMALL LETTER GAMMA*/-   { 951, LATEX_MATH, "eta",     { "$\\eta$", "\\eta", NULL }     }, /*GREEK SMALL LETTER ETA*/-   { 953, LATEX_MATH, "iota",    { "$\\iota$", "\\iota", NULL }    }, /*GREEK SMALL LETTER IOTA*/-   { 958, LATEX_MATH, "xi",      { "$\\xi$", "\\xi", NULL }      }, /*GREEK SMALL LETTER XI*/-   { 954, LATEX_MATH, "kappa",   { "$\\kappa$", "\\kappa" , NULL }  }, /*GREEK SMALL LETTER KAPPA*/-   { 955, LATEX_MATH, "lambda",  { "$\\lambda$", "\\lambda", NULL }  }, /*GREEK SMALL LETTER LAMDA*/-   { 956, LATEX_MATH, "mu",      { "$\\mu$", "\\mu", NULL }      }, /*GREEK SMALL LETTER MU*/-   { 957, LATEX_MATH, "nu",      { "$\\nu$", "\\nu", NULL }      }, /*GREEK SMALL LETTER NU*/-   { 959, LATEX_MATH, "omicron", { "$\\omicron$", "\\omicron", NULL  }    }, /*GREEK SMALL LETTER OMICRON*/-   { 960, LATEX_MATH, "pi",      { "$\\pi$", "\\pi", NULL }      }, /*GREEK SMALL LETTER PI*/-   { 961, LATEX_MATH, "rho",     { "$\\rho$", "\\rho", NULL }     }, /*GREEK SMALL LETTER RHO*/-   { 963, LATEX_MATH, "sigma",   { "$\\sigma$", "\\sigma", NULL }   }, /*GREEK SMALL LETTER SIGMA*/-   { 964, LATEX_MATH, "tau",     { "$\\tau$", "\\tau", NULL }     }, /*GREEK SMALL LETTER TAU*/-   { 952, LATEX_MATH, "theta",   { "$\\theta$", "\\theta", NULL }   }, /*GREEK SMALL LETTER THETA*/-   { 969, LATEX_MATH, "omega",   { "$\\omega$", "\\omega", NULL }   }, /*GREEK SMALL LETTER OMEGA*/-   { 967, LATEX_MATH, "chi",     { "$\\chi$", "\\chi", NULL }     }, /*GREEK SMALL LETTER CHI*/-   { 965, LATEX_MATH, "upsilon", { "$\\upsilon$", "\\upsilon", NULL } }, /*GREEK SMALL LETTER UPSILON*/-   { 950, LATEX_MATH, "zeta",    { "$\\zeta$", "\\zeta", NULL }    },  /*GREEK SMALL LETTER ZETA*/-   /* 940 = GREEK SMALL LETTER ALPHAWITHTONOS*/-   /* 941 = GREEK SMALL LETTER EPSILONWITHTONOS*/-   /* 942 = GREEK SMALL LETTER ETAWITHTONOS */-   /* 912 = GREEK SMALL LETTER IOTAWITHDIALYTIKAANDTONOS*/-   /* 943 = GREEK SMALL LETTER IOTAWITHTONOS */-   /* 970 = GREEK SMALL LETTER IOTAWITHDIALYTIKA */-   /* 972 = GREEK SMALL LETTER OMICRONWITHTONOS*/-   /* 974 = GREEK SMALL LETTER OMEGAWITHTONOS*/-   /* 973 = GREEK SMALL LETTER UPSILONWITHTONOS*/-   /* 971 = GREEK SMALL LETTER UPSILONWITHDIALYTIKA*/-   /* 944 = GREEK SMALL LETTER UPSILONWITHDIALYTIKAANDTONOS*/+   MACRO1(  162, "textcent",            "\\textcent"                                   ), /* Cent sign &#xA2; */+   MACRO2(  163, "textsterling",        "\\textsterling",        "\\pounds"            ), /* Pound sign &#xA3; */+   MACRO1(  165, "textyen",             "\\textyen"                                    ), /* Yen sign &#xA5; */+   MACRO1(  402, "textflorin",          "\\textflorin"                                 ), /* Florin sign &#x192; */+   MACRO1( 3647, "textbaht",            "\\textbaht"                                   ), /* Thai currency &#xE3F; */+   MACRO1( 8355, "textfrenchfranc",     "\\textfrenchfranc"                            ), /* French franc &#x20A3; */+   MACRO1( 8356, "textlira",            "\\textlira"                                   ), /* Lira &#x20A4; */+   MACRO1( 8358, "textnaira",           "\\textnaira"                                  ), /* Naira &#x20A6; */+   MACRO1( 8361, "textwon",             "\\textwon"                                    ), /* &#x20A9; */+   MACRO1( 8363, "textdong",            "\\textdong"                                   ), /* Vietnamese currency &#x20AB; */+   MACRO1( 8364, "texteuro",            "\\texteuro"                                   ), /* Euro sign */ -   { 181, LATEX_MACRO, "textmu", { "{\\textmu}", "\\textmu", "$\\mu$" } }, /* 181=micro sign, techically &#xB5; */+   MACRO1(  169, "textcopyright",       "\\textcopyright"                              ), /* Copyright (C) &#xA9; */+   MACRO1(  175, "textregistered",      "\\textregistered"                             ), /* Registered sign (R) &#xAF;*/+   MACRO2( 8482, "texttrademark",       "\\texttrademark",       "^TM"                 ), /* Trademark (TM) &#x2122; */+   MACRO2( 8480, "textservicemark",     "\\textservicemark",     "^SM"                 ), /* Servicemark (SM) &#x2120;*/+   MACRO1( 8471, "textcircledP",        "\\textcircledP"                               ), /* Circled P &#2117; */ -/* Make sure that these don't stomp on other latex things above */+   /* keep it after all other things like \~n */+   MACRO1(   35, "#",                    "\\#"                                         ), /* Number/pound/hash sign */+   MACRO1(   36, "$",                    "\\$"                                         ), /* Dollar Sign */+   MACRO2(   36, "$",                    "\\$",                  "\\textdollar"        ),+   MACRO1(   37, "%",                    "\\%"                                         ), /* Percent Sign */+   MACRO1(   37, "%",                    "\\%"                                         ),+   MACRO1(   38, "&",                    "\\&"                                         ), /* Ampersand */+   MACRO1(   95, "_",                    "\\_"                                         ), /* Underscore alone indicates subscript */+   MACRO1(   95, "_",                    "\\textunderscore"                            ),+   MACRO2(  123, "{",                    "\\{",                  "\\textbraceleft"     ), /* Left Curly Bracket */+   MACRO2(  125, "}",                    "\\}",                  "\\textbraceright"    ), /* Right Curly Bracket */+   MACRO2(  126, "~",                    "\\~",                  "\\textasciitilde"    ),+   MACRO1(   92, "backslash",            "\\backslash"                                 ), /* Backslash */+   MACRO2(  176, "textdegree",           "\\textdegree",         "^\\circ"             ), /* Degree sign */ -   { 8242, LATEX_MACRO, "textasciiacutex",   { "{\\textasciiacutex}",   "\\textasciiacutex",     "$'$"                 } }, /* Prime symbol &#x2032; */-   { 180,  LATEX_MACRO, "textasciiacute",    { "{\\textasciiacute}",    "\\textasciiacute",      "\\'"                 } }, /* acute accent &#xB4; */-   { 8243, LATEX_MACRO, "textacutedbl",      { "{\\textacutedbl}",      "\\textacutedbl",        "$''$"                } }, /* Double prime &#x2033; */-   { 8245, LATEX_MACRO, "textasciigrave",    { "{\\textasciigrave}",    "\\textasciigrave",      "\\`"                 } }, /* Grave accent &#x2035; */-/* { 768,  LATEX_MACRO, "`",                 { "\\`",                   NULL,                    NULL                  } },*//* Grave accent &#x0300;--apply to next char */-/* { 769,  LATEX_MACRO, "'",                 { "\\'",                   NULL,                    NULL                  } },*//* Acute accent &#x0301;--apply to next char */ -   { 8963, LATEX_MACRO, "textasciicircum",   { "{\\textasciicircum}",   "\\textasciicircum",     NULL                  } }, /* &#x2303; */-   { 184,  LATEX_MACRO, "textasciicedilla",  { "{\\textasciicedilla}",  "\\textasciicedilla",    NULL                  } }, /* cedilla &#xB8; */-   { 168,  LATEX_MACRO, "textasciidieresis", { "{\\textasciidieresis}", "\\textasciidieresis",   NULL                  } }, /* dieresis &#xA8; */-   { 175,  LATEX_MACRO, "textasciimacron",   { "{\\textasciimacron}",   "\\textasciimacron",     NULL                  } }, /* macron &#xAF; */ -   { 8593, LATEX_MACRO, "textuparrow",       { "{\\textuparrow}",       "\\textuparrow",         NULL                  } }, /* Up arrow &#x2191; */-   { 8595, LATEX_MACRO, "textdownarrow",     { "{\\textdownarrow}",     "\\textdownarrow",       NULL                  } }, /* Down arrow &#x2193; */-   { 8594, LATEX_MACRO, "textrightarrow",    { "{\\textrightarrow}",    "\\textrightarrow",      NULL                  } }, /* Right arrow &#x2192; */-   { 8592, LATEX_MACRO, "textleftarrow",     { "{\\textleftarrow}",     "\\textleftarrow",       NULL                  } }, /* Left arrow &#x2190; */-   { 12296,LATEX_MACRO, "textlangle",        { "{\\textlangle}",        "\\textlangle",          NULL                  } }, /* L-angle &#x3008; */-   { 12297,LATEX_MACRO, "textrangle",        { "{\\textrangle}",        "\\textrangle",          NULL                  } }, /* L-angle &#x3009; */+}; -   { 166,  LATEX_MACRO, "textbrokenbar",     { "{\\textbrokenbar}",     "\\textbrokenbar",       NULL                  } }, /* Broken vertical bar &#xA6; */-   { 167,  LATEX_MACRO, "textsection",       { "{\\textsection}",       "\\textsection",         "\\S{}"               } }, /* Section sign, &#xA7; */-   { 170,  LATEX_MACRO, "textordfeminine",   { "{\\textordfeminine}",   "\\textordfeminine",     "$^a$"                } }, /* &#xAA; */-   { 172,  LATEX_MACRO, "textlnot",          { "{\\textlnot}",          "\\textlnot",            NULL                  } }, /* Lnot &#xAC; */-   { 182,  LATEX_MACRO, "textparagraph",     { "{\\textparagraph}",     "\\textparagraph",       NULL                  } }, /* Paragraph sign &#xB6; */-   { 183,  LATEX_MACRO, "textperiodcentered",{ "{\\textperiodcentered}","\\textperiodcentered",  NULL                  } }, /* Period-centered &#xB7; */-   { 186,  LATEX_MACRO, "textordmasculine",  { "{\\textordmasculine}",  "\\textordmasculine",    NULL                  } }, /* &#xBA; */-   { 8214, LATEX_MACRO, "textbardbl",        { "{\\textbardbl}",        "\\textbardbl",          NULL                  } }, /* Double vertical bar &#x2016; */-   { 8224, LATEX_MACRO, "textdagger",        { "{\\textdagger}",        "\\textdagger",          NULL                  } }, /* Dagger &#x2020; */-   { 8225, LATEX_MACRO, "textdaggerdbl",     { "{\\textdaggerdbl}",     "\\textdaggerdbl",       NULL                  } }, /* Double dagger &x2021; */-   { 8226, LATEX_MACRO, "textbullet",        { "{\\textbullet}",        "\\textbullet",          NULL                  } }, /* Bullet &#x2022; */-   { 8494, LATEX_MACRO, "textestimated",     { "{\\textestimated}",     "\\textestimated",       NULL                  } }, /* Estimated &#x212E; */-   { 9526, LATEX_MACRO, "textopenbullet",    { "{\\textopenbullet}",    "\\textopenbullet",      NULL                  } }, /* &#x2536; */+static int nlatex_chars = sizeof(latex_chars)/sizeof(latex_chars[0]); -   { 8220, LATEX_COMBO, "``",                { "``",                    "{\\textquotedblleft}",  "\\textquotedblleft"  } }, /* Opening double quote &#x201C; */-   { 8221, LATEX_COMBO, "''",                { "''",                    "{\\textquotedblright}", "\\textquotedblright" } }, /* Closing double quote &#x201D; */-   { 8216, LATEX_COMBO, "`",                 { "`",                     "{\\textquoteleft}",     "\\textquoteleft"     } }, /* Opening single quote &#x2018; */-   { 8217, LATEX_COMBO, "'",                 { "'",                     "{\\textquoteright}",    "\\textquoteright"    } }, /* Closing single quote &#x2019; */-   { 8261, LATEX_MACRO, "textlquill",        { "{\\textlquill}",        "\\textlquill",          NULL                  } }, /* Left quill &#x2045; */-   { 8262, LATEX_MACRO, "textrquill",        { "{\\textrquill}",        "\\textrquill",          NULL                  } }, /* Right quill &#x2046; */ -   { 8212, LATEX_COMBO, "---",               { "---",                   "{\\textemdash}",        "\\textemdash"        } }, /* Em-dash &#x2014; */-   { 8211, LATEX_COMBO, "--",                { "--",                    "{\\textendash}",        "\\textendash"        } }, /* En-dash &#x2013; */-   { 8230, LATEX_MACRO, "ldots",             { "{\\ldots}",             "{\\textellipsis}",      "\\textellipsis"      } }, /* Ellipsis &#x2026; */--   { 8194, LATEX_MACRO, "enspace",           { "{\\enspace}",           "\\hspace{.5em}",        NULL                  } }, /* En-space &#x2002; */-   { 8195, LATEX_MACRO, "emspace",           { "{\\emspace}",           "\\hspace{1em}",         NULL                  } }, /* Em-space &#x2003; */-   { 8201, LATEX_MACRO, "thinspace",         { "{\\thinspace}",         NULL,                    NULL                  } }, /* Thin space &#x2009; */-   { 8203, LATEX_MACRO, "textnospace",       { "{\\textnospace}",       "\\textnospace",         NULL                  } }, /* No space &#x200B; */-   { 9251, LATEX_MACRO, "textvisiblespace",  { "{\\textvisiblespace}",  "\\textvisiblespace",    NULL                  } }, /* Visible space &#x2423; */--   { 215,  LATEX_MACRO, "texttimes",         { "{\\texttimes}",         "\\texttimes",           NULL                  } }, /* Multiplication symbol &#xD7; */-   { 247,  LATEX_MACRO, "textdiv",           { "{\\textdiv}",           "\\textdiv",             NULL                  } }, /* Division symbol &#xF7; */-   { 177,  LATEX_MACRO, "textpm",            { "{\\textpm}",            "\\textpm",              NULL                  } }, /* Plus-minus character &#B1; */-   { 189,  LATEX_MACRO, "textonehalf",       { "{\\textonehalf}",       "\\textonehalf",         NULL                  } }, /* Vulgar fraction one half &#xBD; */-   { 188,  LATEX_MACRO, "textonequarter",    { "{\\textonequarter}",    "\\textonequarter",      NULL                  } }, /* Vulgar fraction one quarter &#xBD; */-   { 190,  LATEX_MACRO, "textthreequarters", { "{\\textthreequarters}", "\\textthreequarters",   NULL                  } }, /* Vulgar fraction three quarters &#xBE; */-   { 8240, LATEX_MACRO, "texttenthousand",   { "{\\texttenthousand}",   "\\texttenthousand",     NULL                  } }, /* Per thousand sign &#x2030; */-   { 8241, LATEX_MACRO, "textpertenthousand",{ "{\\textpertenthousand}","\\textpertenthousand",  NULL                  } }, /* Per ten thousand sign &#x2031;*/-   { 8260, LATEX_MACRO, "textfractionssolidus",{"{\\textfractionsolidus}", "\\textfractionsolidus", NULL               } }, /* &x8260; */-   { 8451, LATEX_MACRO, "textcelcius",       { "{\\textcelcius}",       "\\textcelcius",         NULL                  } }, /* Celcicus &#x2103; */-   { 8470, LATEX_MACRO, "textnumero",        { "{\\textnumero}",        "\\textnumero",          NULL                  } }, /* Numero symbol &#x2116; */-   { 8486, LATEX_MACRO, "textohm",           { "{\\textohm}",           "\\textohm",             NULL                  } }, /* Ohm symbol &#x2126; */-   { 8487, LATEX_MACRO, "textmho",           { "{\\textmho}",           "\\textmho",             NULL                  } }, /* Mho symbol &#x2127; */-   { 8730, LATEX_MACRO, "textsurd",          { "{\\textsurd}",          "\\textsurd",            NULL                  } }, /* &#x221A; */--   { 185,  LATEX_MACRO, "textonesuperior",   { "{\\textonesuperior}",   "\\textonesuperior",     "$^1$"                } }, /*Superscript 1 &#xB9; */-   { 178,  LATEX_MACRO, "texttwosuperior",   { "{\\texttwosuperior}",   "\\texttwosuperior",     "$^2$"                } }, /*Superscript 2 &#xB2; */-   { 179,  LATEX_MACRO, "textthreesuperior", { "{\\textthreesuperior}", "\\textthreesuperior",   "$^3$"                } }, /*Superscript 3 &#xB3; */--   { 161,  LATEX_MACRO, "textexclamdown",    { "{\\textexclamdown}",    "\\textexclamdown",      NULL                  } }, /* Inverted exclamation mark &#xA1;*/-   { 191,  LATEX_MACRO, "textquestiondown",  { "{\\textquestiondown}",  "\\textquestiondown",    NULL                  } }, /* Inverted question mark &#xBF; */--   { 162,  LATEX_MACRO, "textcent",          { "{\\textcent}",          "\\textcent",            NULL                  } }, /* Cent sign &#xA2; */-   { 163,  LATEX_MACRO, "textsterling",      { "{\\textsterling}",      "\\textsterling",        "\\pounds"            } }, /* Pound sign &#xA3; */-   { 165,  LATEX_MACRO, "textyen",           { "{\\textyen}",           "\\textyen",             NULL                  } }, /* Yen sign &#xA5; */-   { 402,  LATEX_MACRO, "textflorin",        { "{\\textflorin}",        "\\textflorin",          NULL                  } }, /* Florin sign &#x192; */-   { 3647, LATEX_MACRO, "textbaht",          { "{\\textbaht}",          "\\textbaht",            NULL                  } }, /* Thai currency &#xE3F; */-   { 8355, LATEX_MACRO, "textfrenchfranc",   { "{\\textfrenchfranc}",   "\\textfrenchfranc",     NULL                  } }, /* French franc &#x20A3; */-   { 8356, LATEX_MACRO, "textlira",          { "{\\textlira}",          "\\textlira",            NULL                  } }, /* Lira &#x20A4; */-   { 8358, LATEX_MACRO, "textnaira",         { "{\\textnaira}",         "\\textnaria",           NULL                  } }, /* Naira &#x20A6; */-   { 8361, LATEX_MACRO, "textwon",           { "{\\textwon}",           "\\textwon",             NULL                  } }, /* &#x20A9; */-   { 8363, LATEX_MACRO, "textdong",          { "{\\textdong}",          "\\textdong",            NULL                  } }, /* Vietnamese currency &#x20AB; */-   { 8364, LATEX_MACRO, "texteuro",          { "{\\texteuro}",          "\\texteuro",            NULL                  } }, /* Euro sign */--   { 169,  LATEX_MACRO, "textcopyright",     { "{\\textcopyright}",     "\\textcopyright",       NULL                  } }, /* Copyright (C) &#xA9; */-   { 175,  LATEX_MACRO, "textregistered",    { "{\\textregistered}",    "\\textregistered",      NULL                  } }, /* Registered sign (R) &#xAF;*/-   { 8482, LATEX_MACRO, "texttrademark",     { "{\\texttrademark}",     "\\texttrademark",       "$^{TM}$"             } }, /* Trademark (TM) &#x2122; */-   { 8480, LATEX_MACRO, "textservicemark",   { "{\\textservicemark}",   "\\textservicemark",     "$^{SM}$"             } }, /* Servicemark (SM) &#x2120;*/-   { 8471, LATEX_MACRO, "textcircledP",      { "{\\textcircledP}",      "\\textcircledP",        NULL                  } }, /* Circled P &#2117; */-+static struct latex_chars only_from_latex[] = {+   COMBO1(  32, " ", "~" ),+   MACRO1(  32, " ", "\\ " ), /* escaping the space is used to avoid extra space after periods */ }; -static int nlatex_chars = sizeof(latex_chars)/sizeof(struct latex_chars);+static int num_only_from_latex = sizeof( only_from_latex ) / sizeof( only_from_latex[0] ); + /* latex2char()  *  *   Use the latex_chars[] lookup table to determine if any character@@ -505,40 +475,46 @@  *   (which could be Unicode, but is not necessarily Unicode).  *  */+static unsigned int+lookup_latex( struct latex_chars *lc, int n, char *p, unsigned int *pos, int *unicode )+{+	struct latex_entry *variant;+	int i, j;++	for ( i=0; i<n; ++i ) {+		for ( j=0; j<NUM_VARIANTS; ++j ) {+			variant = &(lc[i].variant[j] );+			if ( variant->entry == NULL ) break;+			if ( !strncmp( p, variant->entry, variant->length ) ) {+				*pos = *pos + variant->length;+				*unicode = 1;+				return lc[i].unicode;+			}+		}+	}++	return 0;+}+ unsigned int latex2char( char *s, unsigned int *pos, int *unicode ) {-	unsigned int value;-//	char *p, *q[3];-	int i, j, len;+	unsigned int value, result; 	char *p;  	p = &( s[*pos] ); 	value = (unsigned char) *p;-	if ( value=='{' || value=='\\' || value=='~' || -	     value=='$' || value=='\'' || value=='`' || -	     value=='-' || value=='^' ) {-//		if ( *p=='\\' && ( *p=='{' || *p=='}' ) ) {-//		} else {-		for ( i=0; i<nlatex_chars; ++i ) {-//			q[0] = latex_chars[i].bib1;-//			l[0] = strlen( q[0] );-//			q[1] = latex_chars[i].bib2;-//			l[1] = strlen( q[1] );-//			q[2] = latex_chars[i].bib3;-//			l[2] = strlen( q[2] );-			for ( j=0; j<3; ++j ) {-				if ( latex_chars[i].variant[j] == NULL ) continue;-				len = strlen( latex_chars[i].variant[j] );-				if ( !strncmp( p, latex_chars[i].variant[j], len ) ) {-					*pos = *pos + len;-					*unicode = 1;-					return latex_chars[i].unicode;-				}-			}-		}-//		}++	if ( strchr( "\\\'\"`-^_lL", value ) ) {+		result = lookup_latex( latex_chars, nlatex_chars, p, pos, unicode );+		if ( result!=0 ) return result; 	}++	if ( value=='~' || value=='\\' ) {+		result = lookup_latex( only_from_latex, num_only_from_latex, p, pos, unicode );+		if ( result!=0 ) return result;+	}+ 	*unicode = 0; 	*pos = *pos + 1; 	return value;@@ -569,7 +545,6 @@ 			} 			else if ( latex_chars[i].type == LATEX_MATH ) { 				if ( n < buf_size ) buf[n++] = '$';-				if ( n < buf_size ) buf[n++] = '\\'; 			}  			j = 0;@@ -594,4 +569,3 @@  	if ( ch < 128 ) buf[0] = (char)ch; }-
+ bibutils/latex_parse.c view
@@ -0,0 +1,374 @@+/*+ * latex_parse.c+ *+ * Parse LaTeX code.+ *+ * Copyright (c) Chris Putnam 2020+ *+ * Source code released under the GPL version 2+ *+ */+#include <stdio.h>+#include <stdlib.h>+#include <string.h>+#include "bibdefs.h"+#include "is_ws.h"+#include "latex_parse.h"++typedef struct latex_node {+	struct latex_edge *next_edge;+	struct latex_node *down_node;+} latex_node;++typedef struct latex_edge {+	struct latex_node *next_node;+	str text;+} latex_edge;++static latex_node *+latex_node_new( void )+{+	return ( latex_node * ) calloc( 1, sizeof( latex_node ) );+}++static void+latex_node_delete( latex_node *n )+{+	free( n );+}++static latex_edge *+latex_edge_new( void )+{+	latex_edge *e;+	e = ( latex_edge * ) calloc( 1, sizeof( latex_edge ) );+	if ( e ) str_init( &(e->text) );+	return e;+}++static void+latex_edge_delete( latex_edge *e )+{+	str_free( &(e->text) );+	free( e );+}++static int+is_unescaped( char *p, unsigned long *offset, char c )+{+	if ( *p!=c ) return 0;+	if ( *offset > 0 && *(p-1)=='\\' ) return 0;+	return 1;+}++static int+build_latex_graph_r( str *in, unsigned long *offset, int *mathmode, int depth, latex_node **node )+{+	latex_node *newnode, *downnode;+	int status = BIBL_OK;+	latex_edge *newedge;+	char *p;++	newnode = latex_node_new();+	if ( !newnode ) return BIBL_ERR_MEMERR;++	newedge = latex_edge_new();+	if ( !newedge ) {+		latex_node_delete( newnode );+		return BIBL_ERR_MEMERR;+	}++	*node = newnode;++	newnode->next_edge = newedge;++	p = str_cstr( in ) + *offset;++	while ( *p ) {+		if ( is_unescaped( p, offset, '{' ) ) {+			*offset += 1;+			newnode = latex_node_new();+			if ( !newnode ) { status = BIBL_ERR_MEMERR; goto out; }+			newedge->next_node = newnode;+			newedge = latex_edge_new();+			if ( !newedge ) { status = BIBL_ERR_MEMERR; goto out; }+			newnode->next_edge = newedge;+			status = build_latex_graph_r( in, offset, mathmode, depth+1, &downnode );+			if ( status!=BIBL_OK ) goto out;+			newnode->down_node = downnode;+			p = str_cstr( in ) + *offset;+		}+		else if ( is_unescaped( p, offset, '}' ) ) {+			*offset += 1;+			if ( depth==0 ) {+				fprintf( stderr, "Unmatched '}' character in LaTeX encoding '%s'.\n", str_cstr( in ) );+				p++;+				continue;+			}+			goto out;+		}+		else if ( is_unescaped( p, offset, '$' ) ) {+			*mathmode = !(*mathmode);+			*offset += 1;+			if ( *mathmode ) {+				newnode = latex_node_new();+				if ( !newnode ) { status = BIBL_ERR_MEMERR; goto out; }+				newedge->next_node = newnode;+				newedge = latex_edge_new();+				if ( !newedge ) { status = BIBL_ERR_MEMERR; goto out; }+				newnode->next_edge = newedge;+				status = build_latex_graph_r( in, offset, mathmode, depth+1, &downnode );+				if ( status!=BIBL_OK ) goto out;+				newnode->down_node = downnode;+				p = str_cstr( in ) + *offset;+			}+			else {+				if ( depth==0 ) {+					fprintf( stderr, "Unmatched '$' character in LaTeX encoding '%s'.\n", str_cstr( in ) );+					p++;+					continue;+				}+				goto out;+			}+		}+		else {+			str_addchar( &(newedge->text), *p );+			p++;+			*offset += 1;+		}+	}++	if ( depth!=0 ) {+		fprintf( stderr, "Unmatched '{' character in LaTeX encoding '%s'.\n", str_cstr( in ) );+	}++out:+	if ( status!=BIBL_OK || str_memerr( &(newedge->text) ) ) {+		latex_node_delete( newnode );+		latex_edge_delete( newedge );+		*node = NULL;+		return BIBL_ERR_MEMERR;+	}++	return BIBL_OK;+}++int+build_latex_graph( str *in, latex_node **start )+{+	unsigned long offset = 0;+	int mathmode = 0;+	latex_node *n;++	n = latex_node_new();+	if ( !n ) return BIBL_ERR_MEMERR;+	+	return build_latex_graph_r( in, &offset, &mathmode, 0, start );+}++typedef struct {+	const char *wbracket;+	int wbracketsize;+	const char *wobracket;+	const char *toreplace;+} latex_cmds_t;++static const latex_cmds_t latex_cmds[] = {+	{ "\\it",     3, "\\it ",     NULL },+	{ "\\em",     3, "\\em ",     NULL },+	{ "\\bf",     3, "\\bf ",     NULL },+	{ "\\small",  6, "\\small ",  NULL },+	/* 'textcomp' annotations */+	{ "\\textit", 7, "\\textit ", NULL },+	{ "\\textbf", 7, "\\textbf ", NULL },+	{ "\\textrm", 7, "\\textrm ", NULL },+	{ "\\textsl", 7, "\\textsl ", NULL },+	{ "\\textsc", 7, "\\textsc ", NULL },+	{ "\\textsf", 7, "\\textsf ", NULL },+	{ "\\texttt", 7, "\\texttt ", NULL },+	{ "\\emph",   5, "\\emph ",   NULL },+	{ "\\url",    4, "\\url ",    NULL },+	{ "\\mbox",   5, "\\mbox ",   NULL },+	{ "\\mkbibquote", 11, "\\mkbibquote ", NULL },+	/* math functions */+	{ "\\ln",     3, "\\ln ",     "ln" },+	{ "\\sin",    4, "\\sin ",    "sin" },+	{ "\\cos",    4, "\\cos ",    "cos" },+	{ "\\tan",    4, "\\tan ",    "tan" },+};+static const int nlatex_cmds = sizeof( latex_cmds ) / sizeof( latex_cmds[0] );++static const latex_cmds_t math_cmds[] = {+	{ "\\ln",     3, "\\ln ",     "ln" },+	{ "\\sin",    4, "\\sin ",    "sin" },+	{ "\\cos",    4, "\\cos ",    "cos" },+	{ "\\tan",    4, "\\tan ",    "tan" },+	{ "\\mathrm", 7, "\\mathrm ", ""    },+	{ "\\rm",     3, "\\rm ",     ""    },+	{ "\\LaTeX",  6, "\\LaTeX ",  "LaTeX" },+};+static const int nmath_cmds = sizeof( math_cmds ) / sizeof( math_cmds[0] );++/* remove from "ABC \it{DEF}" --> parses to "ABC \it" */+static int+remove_latex_cmds_with_brackets( str *s )+{+	unsigned long offset;+	int i;+	for ( i=0; i<nlatex_cmds; ++i ) {+		if ( s->len < latex_cmds[i].wbracketsize ) continue;+		offset = s->len - latex_cmds[i].wbracketsize;+		if ( !strcmp( str_cstr( s ) + offset, latex_cmds[i].wbracket ) ) {+			str_trimend( s, latex_cmds[i].wbracketsize );+			return 1;+		}+	}+	return 0;+}++/* remove from "{\it ABC}" */+static void+remove_latex_cmds_without_brackets( str *s )+{+	int i;+	for ( i=0; i<nlatex_cmds; ++i ) {+		str_findreplace( s, latex_cmds[i].wobracket, "" );+	}+}++static void+remove_math_cmds( str *s )+{+	int i;+	for ( i=0; i<nmath_cmds; ++i ) {+		str_findreplace( s, math_cmds[i].wbracket, math_cmds[i].toreplace );+	}+}++static int+collapse_latex_graph( latex_node *n, str *out )+{+	latex_edge *e;+	int status;++	if ( n->down_node ) {+		status = collapse_latex_graph( n->down_node, out );+		if ( status!=BIBL_OK ) return status;+	}++	e = n->next_edge;+	if ( e ) {+		if ( !remove_latex_cmds_with_brackets( &(e->text) ) )+			remove_latex_cmds_without_brackets( &(e->text) );+		remove_math_cmds( &(e->text) );+		str_strcat( out, &(e->text) );+		if ( str_memerr( &(e->text) ) ) return BIBL_ERR_MEMERR;+		if ( e->next_node ) {+			status = collapse_latex_graph( e->next_node, out );+			if ( status!=BIBL_OK ) return status;+		}+	}++	return BIBL_OK;+}++static int+string_from_latex_graph( latex_node *n, str *out )+{+	int status;++	status = collapse_latex_graph( n, out );+	if ( status!=BIBL_OK ) return status;++	while( str_findreplace( out, "  ", " " ) ) {}++	if ( str_memerr( out ) ) return BIBL_ERR_MEMERR;+	else return BIBL_OK;+}++#if 0+static void+write_latex_graph( latex_node *n )+{+	latex_edge *e;++	while ( n ) {++		if ( n->down_node ) {+			printf( "+{" );+			write_latex_graph( n->down_node );+			printf( "}" );+		}+		else printf( "." );++		e = n->next_edge;+		if ( e ) {+			if ( str_has_value( &(e->text) ) ) printf( "%s", str_cstr( &(e->text) ) );+			n = e->next_node;+		}+		else n = NULL;+	}+}+#endif++int+latex_parse( str *in, str *out )+{+	latex_node *n;+	int status;++	str_empty( out );+	if ( str_is_empty( in ) ) return BIBL_OK;++	status = build_latex_graph( in, &n );+	if ( status!=BIBL_OK ) return status;++	status = string_from_latex_graph( n, out );+	if ( status!=BIBL_OK ) return status;++	str_trimendingws( out );++	return BIBL_OK;+}++int+latex_tokenize( slist *tokens, str *s )+{+	int i, n = s->len, nbrackets = 0, status = BIBL_OK;+	str tok, *t;++	str_init( &tok );++	for ( i=0; i<n; ++i ) {+		if ( s->data[i]=='{' && ( i==0 || s->data[i-1]!='\\' ) ) {+			nbrackets++;+			str_addchar( &tok, '{' );+		} else if ( s->data[i]=='}' && ( i==0 || s->data[i-1]!='\\' ) ) {+			nbrackets--;+			str_addchar( &tok, '}' );+		} else if ( !is_ws( s->data[i] ) || nbrackets ) {+			str_addchar( &tok, s->data[i] );+		} else if ( is_ws( s->data[i] ) ) {+			if ( str_has_value( &tok ) ) {+				status = slist_add_ret( tokens, &tok, BIBL_OK, BIBL_ERR_MEMERR );+				if ( status!=BIBL_OK ) goto out;+			}+			str_empty( &tok );+		}+	}+	if ( str_has_value( &tok ) ) {+		if ( str_memerr( &tok ) ) { status = BIBL_ERR_MEMERR; goto out; }+		status = slist_add_ret( tokens, &tok, BIBL_OK, BIBL_ERR_MEMERR );+		if ( status!=BIBL_OK ) goto out;+	}++	for ( i=0; i<tokens->n; ++i ) {+		t = slist_str( tokens, i );+		str_trimstartingws( t );+		str_trimendingws( t );+		if ( str_memerr( t ) ) { status = BIBL_ERR_MEMERR; goto out; }+	}+out:+	str_free( &tok );+	return status;+}
+ bibutils/latex_parse.h view
@@ -0,0 +1,13 @@+/*+ * latex_parse.h+ */+#ifndef LATEX_PARSE_H+#define LATEX_PARSE_H++#include "slist.h"++int latex_parse( str *in, str *out );+int latex_tokenize( slist *tokens, str *s );+++#endif
bibutils/marc_auth.c view
@@ -1,8 +1,10 @@ /*  * marc_auth.c  *- * Copyright (c) Chris Putnam 2004-2019+ * MARC (MAchine-Readable Cataloging) 21 authority codes/values from the Library of Congress initiative  *+ * Copyright (c) Chris Putnam 2004-2020+ *  * Source code released under the GPL version 2  *  */@@ -123,293 +125,296 @@ /* www.loc.gov/marc/relators/relacode.html */  typedef struct marc_trans {-	char *abbreviation; 	char *internal_name;+	char *abbreviation; } marc_trans;  static const marc_trans relators[] = {-	{ "abr",	"ABRIDGER"                     },	/* Abridger */-	{ "acp",	"ART_COPYIST"                  },	/* Art copyist */-	{ "act",	"ACTOR"                        },	/* Actor */-	{ "adi", 	"ART_DIRECTOR"                 },	/* Art director */-	{ "adp",	"ADAPTER"                      },	/* Adapter */-	{ "aft",	"AUTHOR"                       },	/* Author of afterword, colophon, etc. */-	{ "anl",	"ANALYST"                      }, 	/* Analyst */-	{ "anm",	"ANIMATOR"                     },	/* Animator */-	{ "ann",	"ANNOTATOR"                    },	/* Annotator */-	{ "ant",	"BIBLIOGRAPHIC_ANTECENDENT"    },	/* Bibliographic antecedent */-	{ "ape",	"APPELLEE"                     },	/* Appellee */-	{ "apl",	"APPELLANT"                    }, 	/* Appellant */-	{ "app",	"APPLICANT"                    },	/* Applicant */-	{ "aqt",	"AUTHOR"                       },	/* Author in quotations or text abstracts */-	{ "arc",	"ARCHITECT"                    },	/* Architect */-	{ "ard",	"ARTISTIC_DIRECTOR"            },	/* Artistic director */-	{ "arr",	"ARRANGER"                     },	/* Arranger */-	{ "art",	"ARTIST"                       },	/* Artist */-	{ "asg",	"ASSIGNEE"                     },	/* Assignee */-	{ "asn",	"ASSOCIATED_NAME"              },	/* Associated name */-	{ "ato",	"AUTOGRAPHER"                  },	/* Autographer */-	{ "att",	"ATTRIBUTED_NAME"              },	/* Attributed name */-	{ "auc",	"AUCTIONEER"                   },	/* Auctioneer */-	{ "aud",	"AUTHOR"                       },	/* Author of dialog */-	{ "aui",	"AUTHOR"                       },	/* Author of introduction, etc. */-	{ "aus",	"AUTHOR"                       },	/* Screenwriter */-	{ "aut",	"AUTHOR"                       },	/* Author */-	{ "author",     "AUTHOR"                       },-	{ "bdd",	"BINDING_DESIGNER"             },	/* Binding designer */-	{ "bjd",	"BOOKJACKET_DESIGNER"          },	/* Bookjacket designer */-	{ "bkd",	"BOOK_DESIGNER"                },	/* Book designer */-	{ "bkp",	"BOOK_PRODUCER"                },	/* Book producer */-	{ "blw",	"AUTHOR"                       },	/* Blurb writer */-	{ "bnd",	"BINDER"                       },	/* Binder */-	{ "bpd",	"BOOKPLATE_DESIGNER"           },	/* Bookplate designer */-	{ "brd",	"BROADCASTER"                  },	/* Broadcaster */-	{ "brl",	"BRAILLE_EMBOSSER"             },	/* Braille embosser */-	{ "bsl",	"BOOKSELLER"                   },	/* Bookseller */-	{ "cas",	"CASTER"                       },	/* Caster */-	{ "ccp",	"CONCEPTOR"                    },	/* Conceptor */-	{ "chr",	"CHOREOGRAPHER"                },	/* Choreographer */-	{ "clb",	"COLLABORATOR"                 },	/* Collaborator */-	{ "cli",	"CLIENT"                       },	/* Client */-	{ "cll",	"CALLIGRAPHER"                 },	/* Calligrapher */-	{ "clr",	"COLORIST"                     },	/* Colorist */-	{ "clt",	"COLLOTYPER"                   },	/* Collotyper */-	{ "cmm",	"COMMENTATOR"                  },	/* Commentator */-	{ "cmp",	"COMPOSER"                     },	/* Composer */-	{ "cmt",	"COMPOSITOR"                   },	/* Compositor */-	{ "cnd",	"CONDUCTOR"                    },	/* Conductor */-	{ "cng",	"CINEMATOGRAPHER"              },	/* Cinematographer */-	{ "cns",	"CENSOR"                       },	/* Censor */-	{ "coe",	"CONTESTANT-APPELLEE"          },	/* Contestant-appellee */-	{ "col",	"COLLECTOR"                    },	/* Collector */-	{ "com",	"COMPILER"                     },	/* Compiler */-	{ "con",	"CONSERVATOR"                  },	/* Conservator */-	{ "cor",	"COLLECTION_REGISTRAR"         },	/* Collection registrar */-	{ "cos",	"CONTESTANT"                   },	/* Contestant */-	{ "cot",	"CONTESTANT-APPELLANT"         },	/* Contestant-appellant */-	{ "cou",	"COURT_GOVERNED"               },	/* Court governed */-	{ "cov",	"COVER_DESIGNER"               },	/* Cover designer */-	{ "cpc",	"COPYRIGHT_CLAIMANT"           },	/* Copyright claimant */-	{ "cpe",	"COMPLAINANT-APPELLEE"         },	/* Complainant-appellee */-	{ "cph",	"COPYRIGHT_HOLDER"             },	/* Copyright holder */-	{ "cpl",	"COMPLAINANT"                  },	/* Complainant */-	{ "cpt",	"COMPLAINANT-APPELLANT"        },	/* Complainant-appellant */-	{ "cre",	"AUTHOR"                       },	/* Creator */-	{ "creator",    "AUTHOR"                       },-	{ "crp",	"CORRESPONDENT"                },	/* Correspondent */-	{ "crr",	"CORRECTOR"                    },	/* Corrector */-	{ "crt",	"COURT_REPORTER"               },	/* Court reporter */-	{ "csl",	"CONSULTANT"                   },	/* Consultant */-	{ "csp",	"CONSULTANT_TO_A_PROJECT"      },	/* Consultant to a project */-	{ "cst",	"COSTUME_DESIGNER"             },	/* Costume designer */-	{ "ctb",	"CONTRIBUTOR"                  },	/* Contributor */-	{ "cte",	"CONTESTEE-APPELLEE"           },	/* Contestee-appellee */-	{ "ctg",	"CARTOGRAPHER"                 },	/* Cartographer */-	{ "ctr",	"CONTRACTOR"                   },	/* Contractor */-	{ "cts",	"CONTESTEE"                    },	/* Contestee */-	{ "ctt",	"CONTESTEE-APPELLANT"          },	/* Contestee-appellant */-	{ "cur",	"CURATOR"                      },	/* Curator */-	{ "cwt",	"COMMENTATOR_FOR_WRITTEN_TEXT" },	/* Commentator for written text */-	{ "dbp",	"DISTRIBUTION_PLACE"           },	/* Distribution place */-	{ "degree grantor", "DEGREEGRANTOR"            },-	{ "dfd",	"DEFENDANT"                    },	/* Defendant */-	{ "dfe",	"DEFENDANT-APPELLEE"           },	/* Defendant-appellee */-	{ "dft",	"DEFENDANT-APPELLANT"          },	/* Defendant-appellant */-	{ "dgg",	"DEGREEGRANTOR"                },	/* Degree granting institution */-	{ "dgs",	"DEGREE_SUPERVISOR"            },	/* Degree supervisor */-	{ "dis",	"DISSERTANT"                   },	/* Dissertant */-	{ "dln",	"DELINEATOR"                   },	/* Delineator */-	{ "dnc",	"DANCER"                       },	/* Dancer */-	{ "dnr",	"DONOR"                        },	/* Donor */-	{ "dpc",	"DEPICTED"                     },	/* Depicted */-	{ "dpt",	"DEPOSITOR"                    },	/* Depositor */-	{ "drm",	"DRAFTSMAN"                    }, 	/* Draftsman */-	{ "drt",	"DIRECTOR"                     }, 	/* Director */-	{ "dsr",	"DESIGNER"                     }, 	/* Designer */-	{ "dst",	"DISTRIBUTOR"                  }, 	/* Distributor */-	{ "dtc",	"DATA_CONTRIBUTOR"             }, 	/* Data contributor */-	{ "dte",	"DEDICATEE"                    }, 	/* Dedicatee */-	{ "dtm",	"DATA_MANAGER"                 }, 	/* Data manager */-	{ "dto",	"DEDICATOR"                    }, 	/* Dedicator */-	{ "dub",	"AUTHOR"                       },	/* Dubious author */-	{ "edc",	"EDITOR"                       }, 	/* Editor of compilation */-	{ "edm",	"EDITOR"                       },	/* Editor of moving image work */-	{ "edt",	"EDITOR"                       },	/* Editor */-	{ "egr",	"ENGRAVER"                     }, 	/* Engraver */-	{ "elg",	"ELECTRICIAN" 	               },	/* Electrician */-	{ "elt",	"ELECTROTYPER"                 },	/* Electrotyper */-	{ "eng",	"ENGINEER"                     }, 	/* Engineer */-	{ "enj",	"ENACTING_JURISICTION"         }, 	/* Enacting jurisdiction */-	{ "etr",	"ETCHER"                       }, 	/* Etcher */-	{ "evp",	"EVENT_PLACE"                  }, 	/* Event place */-	{ "exp",	"EXPERT"                       }, 	/* Expert */-	{ "fac",	"FACSIMILIST"                  }, 	/* Facsimilist */-	{ "fds",	"FILM_DISTRIBUTOR"             }, 	/* Film distributor */-	{ "fld",	"FIELD_DIRECTOR"               }, 	/* Field director */-	{ "flm",	"FILM_EDITOR"                  }, 	/* Film editor */-	{ "fmd",	"FILM_DIRECTOR"                }, 	/* Film director */-	{ "fmk",	"FILMMAKER"                    }, 	/* Filmmaker */-	{ "fmo",	"FORMER_OWNER"                 }, 	/* Former owner */-	{ "fmp",	"FILM_PRODUCER"                }, 	/* Film producer */-	{ "fnd",	"FUNDER"                       }, 	/* Funder */-	{ "fpy",	"FIRST_PARTY"                  }, 	/* First party */-	{ "frg",	"FORGER"                       }, 	/* Forger */-	{ "gis",	"GEOGRAPHIC_INFORMATON_SPECIALIST" }, 	/* Geographic information specialist */-	{ "grt",	"GRAPHIC_TECHNICIAN"           }, 	/* Graphic technician */-	{ "his",	"HOST_INSTITUTION"             }, 	/* Host institution */-	{ "hnr",	"HONOREE"                      }, 	/* Honoree */-	{ "hst",	"HOST"                         }, 	/* Host */-	{ "ill",	"ILLUSTRATOR"                  }, 	/* Illustrator */-	{ "ilu",	"ILLUMINATOR"                  }, 	/* Illuminator */-	{ "ins",	"INSCRIBER"                    }, 	/* Inscriber */-	{ "inv",	"INVENTOR"                     }, 	/* Inventor */-	{ "isb",	"ISSUING_BODY"                 }, 	/* Issuing body */-	{ "itr",	"INSTRUMENTALIST"              }, 	/* Instrumentalist */-	{ "ive",	"INTERVIEWEE"                  }, 	/* Interviewee */-	{ "ivr",	"INTERVIEWER"                  }, 	/* Interviewer */-	{ "jud",	"JUDGE"                        }, 	/* Judge */-	{ "jug",	"JURISDICTION_GOVERNED"        }, 	/* Jurisdiction governed */-	{ "lbr",	"LABORATORY"                   }, 	/* Laboratory */-	{ "lbt",	"LIBRETTIST"                   }, 	/* Librettist */-	{ "ldr",	"LABORATORY_DIRECTORY"         }, 	/* Laboratory director */-	{ "led",	"LEAD"                         }, 	/* Lead */-	{ "lee",	"LIBELEE-APPELLEE"             }, 	/* Libelee-appellee */-	{ "lel",	"LIBELEE"                      }, 	/* Libelee */-	{ "len",	"LENDER"                       }, 	/* Lender */-	{ "let",	"LIBELEE-APPELLANT"            }, 	/* Libelee-appellant */-	{ "lgd",	"LIGHTING_DESIGNER"            }, 	/* Lighting designer */-	{ "lie",	"LIBELANT-APPELLEE"            }, 	/* Libelant-appellee */-	{ "lil",	"LIBELANT"                     }, 	/* Libelant */-	{ "lit",	"LIBELANT-APPELLANT"           }, 	/* Libelant-appellant */-	{ "lsa",	"LANDSCAPE_ARCHITECT"          }, 	/* Landscape architect */-	{ "lse",	"LICENSEE"                     }, 	/* Licensee */-	{ "lso",	"LICENSOR"                     }, 	/* Licensor */-	{ "ltg",	"LITHOGRAPHER"                 }, 	/* Lithographer */-	{ "lyr",	"LYRICIST"                     }, 	/* Lyricist */-	{ "mcp",	"MUSIC_COPYIST"                }, 	/* Music copyist */-	{ "mdc",	"METADATA_CONTACT"             }, 	/* Metadata contact */-	{ "med",	"MEDIUM"                       }, 	/* Medium */-	{ "mfp",	"MANUFACTURE_PLACE"            }, 	/* Manufacture place */-	{ "mfr",	"MANUFACTURER"                 }, 	/* Manufacturer */-	{ "mod",	"MODERATOR"                    }, 	/* Moderator */-	{ "mon",	"THESIS_EXAMINER"              }, 	/* Monitor */-	{ "mrb",	"MARBLER"                      }, 	/* Marbler */-	{ "mrk",	"EDITOR"                       }, 	/* Markup editor */-	{ "msd",	"MUSICAL_DIRECTOR"             }, 	/* Musical director */-	{ "mte",	"METAL-ENGRAVER"               }, 	/* Metal-engraver */-	{ "mtk",	"MINUTE_TAKER"                 },       /* Minute taker */-	{ "mus",	"MUSICIAN"                     }, 	/* Musician */-	{ "nrt",	"NARRATOR"                     }, 	/* Narrator */-	{ "opn",	"THESIS_OPPONENT"              }, 	/* Opponent */-	{ "org",	"ORIGINATOR"                   }, 	/* Originator */-	{ "organizer of meeting", "ORGANIZER"          },-	{ "orm",	"ORGANIZER"                    }, 	/* Organizer */-	{ "osp",	"ONSCREEN_PRESENTER"           }, 	/* Onscreen presenter */-	{ "oth",	"THESIS_OTHER"                 }, 	/* Other */-	{ "own",	"OWNER"                        }, 	/* Owner */-	{ "pan",	"PANELIST"                     }, 	/* Panelist */-	{ "pat",	"PATRON"                       }, 	/* Patron */-	{ "patent holder", "ASSIGNEE"                  },-	{ "pbd",	"PUBLISHING_DIRECTOR"          }, 	/* Publishing director */-	{ "pbl",	"PUBLISHER"                    }, 	/* Publisher */-	{ "pdr",	"PROJECT_DIRECTOR"             },	/* Project director */-	{ "pfr",	"PROOFREADER"                  }, 	/* Proofreader */-	{ "pht",	"PHOTOGRAPHER"                 }, 	/* Photographer */-	{ "plt",	"PLATEMAKER"                   }, 	/* Platemaker */-	{ "pma",	"PERMITTING_AGENCY"            }, 	/* Permitting agency */-	{ "pmn",	"PRODUCTION_MANAGER"           }, 	/* Production manager */-	{ "pop",	"PRINTER_OF_PLATES"            }, 	/* Printer of plates */-	{ "ppm",	"PAPERMAKER"                   }, 	/* Papermaker */-	{ "ppt",	"PUPPETEER"                    }, 	/* Puppeteer */-	{ "pra",	"PRAESES"                      }, 	/* Praeses */-	{ "prc",	"PROCESS_CONTRACT"             }, 	/* Process contact */-	{ "prd",	"PRODUCTION_PERSONNEL"         }, 	/* Production personnel */-	{ "pre",	"PRESENTER"                    },	/* Presenter */-	{ "prf",	"PERFORMER"                    }, 	/* Performer */-	{ "prg",	"AUTHOR"                       }, 	/* Programmer */-	{ "prm",	"PRINTMAKER"                   }, 	/* Printmaker */-	{ "prn",	"PRODUCTION_COMPANY"           }, 	/* Production company */-	{ "pro",	"PRODUCER"                     }, 	/* Producer */-	{ "prp",	"PRODUCTION_PLACE"             }, 	/* Production place */-	{ "prs",	"PRODUCTION_DESIGNER"          }, 	/* Production designer */-	{ "prt",	"PRINTER"                      }, 	/* Printer */-	{ "prv",	"PROVIDER"                     }, 	/* Provider */-	{ "pta",	"PATENT_APPLICANT"             }, 	/* Patent applicant */-	{ "pte",	"PLAINTIFF-APPELLEE"           }, 	/* Plaintiff-appellee */-	{ "ptf",	"PLAINTIFF"                    }, 	/* Plaintiff */-	{ "pth",	"ASSIGNEE"                     }, 	/* Patent holder */-	{ "ptt",	"PLAINTIFF-APPELLANT"          }, 	/* Plaintiff-appellant */-	{ "pup",	"PUBLICATION_PLACE"            }, 	/* Publication place */-	{ "rbr",	"RUBRICATOR"                   }, 	/* Rubricator */-	{ "rcd",	"RECORDIST"                    }, 	/* Recordist */-	{ "rce",	"RECORDING_ENGINEER"           }, 	/* Recording engineer */-	{ "rcp",	"ADDRESSEE"                    }, 	/* Addressee */-	{ "rdd",	"RADIO_DIRECTOR"               }, 	/* Radio director */-	{ "red",	"REDAKTOR"                     }, 	/* Redaktor */-	{ "ren",	"RENDERER"                     }, 	/* Renderer */-	{ "res",	"RESEARCHER"                   }, 	/* Researcher */-	{ "rev",	"REVIEWER"                     }, 	/* Reviewer */-	{ "rpc",	"RADIO_PRODUCER"               }, 	/* Radio producer */-	{ "rps",	"REPOSITORY"                   }, 	/* Repository */-	{ "rpt",	"REPORTER"                     }, 	/* Reporter */-	{ "rpy",	"RESPONSIBLE_PARTY"            }, 	/* Responsible party */-	{ "rse",	"RESPONDENT-APPELLEE"          }, 	/* Respondent-appellee */-	{ "rsg",	"RESTAGER"                     }, 	/* Restager */-	{ "rsp",	"RESPONDENT"                   }, 	/* Respondent */-	{ "rsr",	"RESTORATIONIST"               }, 	/* Restorationist */-	{ "rst",	"RESPONDENT-APPELLANT"         }, 	/* Respondent-appellant */-	{ "rth",	"RESEARCH_TEAM_HEAD"           }, 	/* Research team head */-	{ "rtm",	"RESEARCH_TEAM_MEMBER"         }, 	/* Research team member */-	{ "sad",	"SCIENTIFIC_ADVISOR"           }, 	/* Scientific advisor */-	{ "sce",	"SCENARIST"                    }, 	/* Scenarist */-	{ "scl",	"SCULPTOR"                     }, 	/* Sculptor */-	{ "scr",	"SCRIBE"                       }, 	/* Scribe */-	{ "sds",	"SOUND_DESIGNER"               }, 	/* Sound designer */-	{ "sec",	"SECRETARY"                    }, 	/* Secretary */-	{ "sgd",	"STAGE_DIRECTOR"               }, 	/* Stage director */-	{ "sgn",	"SIGNER"                       }, 	/* Signer */-	{ "sht",	"SUPPORTING_HOST"              }, 	/* Supporting host */-	{ "sll",	"SELLER"                       }, 	/* Seller */-	{ "sng",	"SINGER"                       }, 	/* Singer */-	{ "spk",	"SPEAKER"                      }, 	/* Speaker */-	{ "spn",	"SPONSOR"                      }, 	/* Sponsor */-	{ "spy",	"SECOND_PARTY"                 }, 	/* Second party */-	{ "srv",	"SURVEYOR"                     }, 	/* Surveyor */-	{ "std",	"SET_DESIGNER"                 },	/* Set designer */-	{ "stg",	"SETTING"                      },	/* Setting */-	{ "stl",	"STORYTELLER"                  },	/* Storyteller */-	{ "stm",	"STAGE_MANAGER"                },	/* Stage manager */-	{ "stn",	"STANDARDS_BODY"               },	/* Standards body */-	{ "str",	"STEREOTYPER"                  },	/* Stereotyper */-	{ "tcd",	"TECHNICAL_DIRECTOR"           },	/* Technical director */-	{ "tch",	"TEACHER"                      },	/* Teacher */-	{ "ths",	"THESIS_ADVISOR"               },	/* Thesis advisor */-	{ "tld",	"TELEVISION_DIRECTOR"          },	/* Television director */-	{ "tlp",	"TELEVISION_PRODUCER"          },	/* Television producer */-	{ "trc",	"TRANSCRIBER"                  },	/* Transcriber */-	{ "trl",	"TRANSLATOR"                   },	/* Translator */-	{ "tyd",	"TYPE_DIRECTOR"                }, 	/* Type designer */-	{ "tyg",	"TYPOGRAPHER"                  }, 	/* Typographer */-	{ "uvp",	"UNIVERSITY_PLACE"             }, 	/* University place */-	{ "vac",	"VOICE_ACTOR"                  }, 	/* Voice actor */-	{ "vdg",	"VIDEOGRAPHER"                 }, 	/* Videographer */-	{ "voc",	"VOCALIST"                     }, 	/* Vocalist */-	{ "wac",	"AUTHOR"                       }, 	/* Writer of added commentary */-	{ "wal",	"AUTHOR"                       }, 	/* Writer of added lyrics */-	{ "wam",	"AUTHOR"                       }, 	/* Writer of accompanying material */-	{ "wat",	"AUTHOR"                       }, 	/* Writer of added text */-	{ "wdc",	"WOODCUTTER"                   }, 	/* Woodcutter */-	{ "wde",	"WOOD_ENGRAVER"                }, 	/* Wood engraver */-	{ "win",	"AUTHOR"                       }, 	/* Writer of introduction */-	{ "wit",	"WITNESS"                      }, 	/* Witness */-	{ "wpr",	"AUTHOR"                       }, 	/* Writer of preface */-	{ "wst",	"AUTHOR"                       }, 	/* Writer of supplementary textual content */+	{ "ABRIDGER",                          "abr"                                 },+	{ "ART_COPYIST",                       "acp"                                 },+	{ "ACTOR",                             "act"                                 },+	{ "ART_DIRECTOR",                      "adi"                                 },+	{ "ADAPTER",                           "adp"                                 },+	{ "AFTERAUTHOR",                       "aft"                                 },+	{ "ANALYST",                           "anl"                                 },+	{ "ANIMATOR",                          "anm"                                 },+	{ "ANNOTATOR",                         "ann"                                 },+	{ "BIBLIOGRAPHIC_ANTECEDENT",          "ant"                                 },+	{ "APPELLEE",                          "ape"                                 },+	{ "APPELLANT",                         "apl"                                 },+	{ "APPLICANT",                         "app"                                 },+	{ "AUTHOR",                            "aqt"                                 },/* Author in quotations or text abstracts */+	{ "ARCHITECT",                         "arc"                                 },+	{ "ARTISTIC_DIRECTOR",                 "ard"                                 },+	{ "ARRANGER",                          "arr"                                 },+	{ "ARTIST",                            "art"                                 },+	{ "ASSIGNEE",                          "asg"                                 },+	{ "ASSOCIATED_NAME",                   "asn"                                 },+	{ "AUTOGRAPHER",                       "ato"                                 },+	{ "ATTRIBUTED_NAME",                   "att"                                 },+	{ "AUCTIONEER",                        "auc"                                 },+	{ "AUTHOR",                            "aud"                                 },/* Author of dialog */+	{ "INTROAUTHOR",                       "aui"                                 },/* Author of introduction, etc. */+	{ "AUTHOR",                            "aus"                                 },/* Screenwriter */+	{ "AUTHOR",                            "aut"                                 },+	{ "AUTHOR",                            "author"                              },+	{ "AFTERAUTHOR",                       "author of afterword, colophon, etc." },+	{ "INTROAUTHOR",                       "author of introduction, etc."        },+	{ "BINDING_DESIGNER",                  "bdd"                                 },+	{ "BOOKJACKET_DESIGNER",               "bjd"                                 },+	{ "BOOK_DESIGNER",                     "bkd"                                 },+	{ "BOOK_PRODUCER",                     "bkp"                                 },+	{ "AUTHOR",                            "blw"                                 },/* Blurb writer */+	{ "BINDER",                            "bnd"                                 },+	{ "BOOKPLATE_DESIGNER",                "bpd"                                 },+	{ "BROADCASTER",                       "brd"                                 },+	{ "BRAILLE_EMBOSSER",                  "brl"                                 },+	{ "BOOKSELLER",                        "bsl"                                 },+	{ "CASTER",                            "cas"                                 },+	{ "CONCEPTOR",                         "ccp"                                 },+	{ "CHOREOGRAPHER",                     "chr"                                 },+	{ "COLLABORATOR",                      "clb"                                 },+	{ "CLIENT",                            "cli"                                 },+	{ "CALLIGRAPHER",                      "cll"                                 },+	{ "COLORIST",                          "clr"                                 },+	{ "COLLOTYPER",                        "clt"                                 },+	{ "COMMENTATOR",                       "cmm"                                 },+	{ "COMPOSER",                          "cmp"                                 },+	{ "COMPOSITOR",                        "cmt"                                 },+	{ "CONDUCTOR",                         "cnd"                                 },+	{ "CINEMATOGRAPHER",                   "cng"                                 },+	{ "CENSOR",                            "cns"                                 },+	{ "CONTESTANT-APPELLEE",               "coe"                                 },+	{ "COLLECTOR",                         "col"                                 },+	{ "COMPILER",                          "com"                                 },+	{ "CONSERVATOR",                       "con"                                 },+	{ "COLLECTION_REGISTRAR",              "cor"                                 },+	{ "CONTESTANT",                        "cos"                                 },+	{ "CONTESTANT-APPELLANT",              "cot"                                 },+	{ "COURT_GOVERNED",                    "cou"                                 },+	{ "COVER_DESIGNER",                    "cov"                                 },+	{ "COPYRIGHT_CLAIMANT",                "cpc"                                 },+	{ "COMPLAINANT-APPELLEE",              "cpe"                                 },+	{ "COPYRIGHT_HOLDER",                  "cph"                                 },+	{ "COMPLAINANT",                       "cpl"                                 },+	{ "COMPLAINANT-APPELLANT",             "cpt"                                 },+	{ "AUTHOR",                            "cre"                                 },/* Creator */+	{ "AUTHOR",                            "creator"                             },/* Creator */+	{ "CORRESPONDENT",                     "crp"                                 },+	{ "CORRECTOR",                         "crr"                                 },+	{ "COURT_REPORTER",                    "crt"                                 },+	{ "CONSULTANT",                        "csl"                                 },+	{ "CONSULTANT",                        "csp"                                 },/* Consultant to a project */+	{ "COSTUME_DESIGNER",                  "cst"                                 },+	{ "CONTRIBUTOR",                       "ctb"                                 },+	{ "CONTESTEE-APPELLEE",                "cte"                                 },+	{ "CARTOGRAPHER",                      "ctg"                                 },+	{ "CONTRACTOR",                        "ctr"                                 },+	{ "CONTESTEE",                         "cts"                                 },+	{ "CONTESTEE-APPELLANT",               "ctt"                                 },+	{ "CURATOR",                           "cur"                                 },+	{ "COMMENTATOR",                       "cwt"                                 },/* Commentator for written text */+	{ "DISTRIBUTION_PLACE",                "dbp"                                 },+	{ "DEGREEGRANTOR",                     "degree grantor"                      },/* Degree granting institution */+	{ "DEFENDANT",                         "dfd"                                 },+	{ "DEFENDANT-APPELLEE",                "dfe"                                 },+	{ "DEFENDANT-APPELLANT",               "dft"                                 },+	{ "DEGREEGRANTOR",                     "dgg"                                 },/* Degree granting institution */+	{ "DEGREE_SUPERVISOR",                 "dgs"                                 },+	{ "DISSERTANT",                        "dis"                                 },+	{ "DELINEATOR",                        "dln"                                 },+	{ "DANCER",                            "dnc"                                 },+	{ "DONOR",                             "dnr"                                 },+	{ "DEPICTED",                          "dpc"                                 },+	{ "DEPOSITOR",                         "dpt"                                 },+	{ "DRAFTSMAN",                         "drm"                                 },+	{ "DIRECTOR",                          "drt"                                 },+	{ "DESIGNER",                          "dsr"                                 },+	{ "DISTRIBUTOR",                       "dst"                                 },+	{ "DATA_CONTRIBUTOR",                  "dtc"                                 },+	{ "DEDICATEE",                         "dte"                                 },+	{ "DATA_MANAGER",                      "dtm"                                 },+	{ "DEDICATOR",                         "dto"                                 },+	{ "AUTHOR",                            "dub"                                 },/* Dubious author */+	{ "EDITOR",                            "edc"                                 },/* Editor of compilation */+	{ "EDITOR",                            "edm"                                 },/* Editor of moving image work */+	{ "EDITOR",                            "edt"                                 },+	{ "ENGRAVER",                          "egr"                                 },+	{ "ELECTRICIAN",                       "elg"                                 },+	{ "ELECTROTYPER",                      "elt"                                 },+	{ "ENGINEER",                          "eng"                                 },+	{ "ENACTING_JURISDICTION",             "enj"                                 },+	{ "ETCHER",                            "etr"                                 },+	{ "EVENT_PLACE",                       "evp"                                 },+	{ "EXPERT",                            "exp"                                 },+	{ "FACSIMILIST",                       "fac"                                 },+	{ "FILM_DISTRIBUTOR",                  "fds"                                 },+	{ "FIELD_DIRECTOR",                    "fld"                                 },+	{ "EDITOR",                            "flm"                                 },/* Film editor */+	{ "DIRECTOR",                          "fmd"                                 },/* Film director */+	{ "FILMMAKER",                         "fmk"                                 },+	{ "FORMER_OWNER",                      "fmo"                                 },+	{ "PRODUCER",                          "fmp"                                 },/* Film producer */+	{ "FUNDER",                            "fnd"                                 },+	{ "FIRST_PARTY",                       "fpy"                                 },+	{ "FORGER",                            "frg"                                 },+	{ "GEOGRAPHIC_INFORMATION_SPECIALIST", "gis"                                 },+	{ "GRAPHIC_TECHNICIAN",                "grt"                                 },+	{ "HOST_INSTITUTION",                  "his"                                 },+	{ "HONOREE",                           "hnr"                                 },+	{ "HOST",                              "hst"                                 },+	{ "ILLUSTRATOR",                       "ill"                                 },+	{ "ILLUMINATOR",                       "ilu"                                 },+	{ "INSCRIBER",                         "ins"                                 },+	{ "INVENTOR",                          "inv"                                 },+	{ "ISSUING_BODY",                      "isb"                                 },+	{ "MUSICIAN",                          "itr"                                 },/* Instrumentalist */+	{ "INTERVIEWEE",                       "ive"                                 },+	{ "INTERVIEWER",                       "ivr"                                 },+	{ "JUDGE",                             "jud"                                 },+	{ "JURISDICTION_GOVERNED",             "jug"                                 },+	{ "LABORATORY",                        "lbr"                                 },+	{ "AUTHOR",                            "lbt"                                 },/* Librettist */+	{ "LABORATORY_DIRECTOR",               "ldr"                                 },+	{ "LEAD",                              "led"                                 },+	{ "LIBELEE-APPELLEE",                  "lee"                                 },+	{ "LIBELEE",                           "lel"                                 },+	{ "LENDER",                            "len"                                 },+	{ "LIBELEE-APPELLANT",                 "let"                                 },+	{ "LIGHTING_DESIGNER",                 "lgd"                                 },+	{ "LIBELANT-APPELLEE",                 "lie"                                 },+	{ "LIBELANT",                          "lil"                                 },+	{ "LIBELANT-APPELLANT",                "lit"                                 },+	{ "LANDSCAPE_ARCHITECT",               "lsa"                                 },+	{ "LICENSEE",                          "lse"                                 },+	{ "LICENSOR",                          "lso"                                 },+	{ "LITHOGRAPHER",                      "ltg"                                 },+	{ "AUTHOR",                            "lyr"                                 },/* Lyricist */+	{ "MUSIC_COPYIST",                     "mcp"                                 },+	{ "METADATA_CONTACT",                  "mdc"                                 },+	{ "MEDIUM",                            "med"                                 },+	{ "MANUFACTURE_PLACE",                 "mfp"                                 },+	{ "MANUFACTURER",                      "mfr"                                 },+	{ "MODERATOR",                         "mod"                                 },+	{ "THESIS_EXAMINER",                   "mon"                                 },/* Monitor */+	{ "MARBLER",                           "mrb"                                 },+	{ "EDITOR",                            "mrk"                                 },/* Markup editor */+	{ "MUSICAL_DIRECTOR",                  "msd"                                 },+	{ "METAL-ENGRAVER",                    "mte"                                 },+	{ "MINUTE_TAKER",                      "mtk"                                 },+	{ "MUSICIAN",                          "mus"                                 },+	{ "NARRATOR",                          "nrt"                                 },+	{ "THESIS_OPPONENT",                   "opn"                                 },/* Opponent */+	{ "ORIGINATOR",                        "org"                                 },+	{ "ORGANIZER",                         "organizer of meeting"                },+	{ "ORGANIZER",                         "orm" 	                             },+	{ "ONSCREEN_PRESENTER",                "osp" 	                             },+	{ "THESIS_OTHER",                      "oth" 	                             },/* Other */+	{ "OWNER",                             "own" 	                             },+	{ "PANELIST",                          "pan" 	                             },+	{ "PATRON",                            "pat" 	                             },+	{ "ASSIGNEE",                          "patent holder"                       },/* Patent holder */+	{ "PUBLISHING_DIRECTOR",               "pbd" 	                             },+	{ "PUBLISHER",                         "pbl"                                 },+	{ "PROJECT_DIRECTOR",                  "pdr"                                 },+	{ "PROOFREADER",                       "pfr"                                 },+	{ "PHOTOGRAPHER",                      "pht"                                 },+	{ "PLATEMAKER",                        "plt"                                 },+	{ "PERMITTING_AGENCY",                 "pma"                                 },+	{ "PRODUCTION_MANAGER",                "pmn"                                 },+	{ "PRINTER_OF_PLATES",                 "pop"                                 },+	{ "PAPERMAKER",                        "ppm"                                 },+	{ "PUPPETEER",                         "ppt"                                 },+	{ "PRAESES",                           "pra"                                 },+	{ "PROCESS_CONTRACT",                  "prc"                                 },+	{ "PRODUCTION_PERSONNEL",              "prd"                                 },+	{ "PRESENTER",                         "pre"                                 },+	{ "PERFORMER",                         "prf"                                 },+	{ "AUTHOR",                            "prg"                                 },/* Programmer */+	{ "PRINTMAKER",                        "prm"                                 },+	{ "PRODUCTION_COMPANY",                "prn"                                 },+	{ "PRODUCER",                          "pro"                                 },+	{ "PRODUCTION_PLACE",                  "prp"                                 },+	{ "PRODUCTION_DESIGNER",               "prs"                                 },+	{ "PRINTER",                           "prt"                                 },+	{ "PROVIDER",                          "prv"                                 },+	{ "PATENT_APPLICANT",                  "pta"                                 },+	{ "PLAINTIFF-APPELLEE",                "pte"                                 },+	{ "PLAINTIFF",                         "ptf"                                 },+	{ "ASSIGNEE",                          "pth"                                 },/* Patent holder */+	{ "PLAINTIFF-APPELLANT",               "ptt"                                 },+	{ "PUBLICATION_PLACE",                 "pup"                                 },+	{ "RUBRICATOR",                        "rbr"                                 },+	{ "RECORDIST",                         "rcd"                                 },+	{ "RECORDING_ENGINEER",                "rce"                                 },+	{ "ADDRESSEE",                         "rcp"                                 },/* Recipient */+	{ "RADIO_DIRECTOR",                    "rdd"                                 },+	{ "REDAKTOR",                          "red"                                 },+	{ "RENDERER",                          "ren"                                 },+	{ "RESEARCHER",                        "res"                                 },+	{ "REVIEWER",                          "rev"                                 },+	{ "RADIO_PRODUCER",                    "rpc"                                 },+	{ "REPOSITORY",                        "rps"                                 },+	{ "REPORTER",                          "rpt"                                 },+	{ "RESPONSIBLE_PARTY",                 "rpy"                                 },+	{ "RESPONDENT-APPELLEE",               "rse"                                 },+	{ "RESTAGER",                          "rsg"                                 },+	{ "RESPONDENT",                        "rsp"                                 },+	{ "RESTORATIONIST",                    "rsr"                                 },+	{ "RESPONDENT-APPELLANT",              "rst"                                 },+	{ "RESEARCH_TEAM_HEAD",                "rth"                                 },+	{ "RESEARCH_TEAM_MEMBER",              "rtm"                                 },+	{ "SCIENTIFIC_ADVISOR",                "sad"                                 },+	{ "SCENARIST",                         "sce"                                 },+	{ "SCULPTOR",                          "scl"                                 },+	{ "SCRIBE",                            "scr"                                 },+	{ "SOUND_DESIGNER",                    "sds"                                 },+	{ "SECRETARY",                         "sec"                                 },+	{ "STAGE_DIRECTOR",                    "sgd"                                 },+	{ "SIGNER",                            "sgn"                                 },+	{ "SUPPORTING_HOST",                   "sht"                                 },+	{ "SELLER",                            "sll"                                 },+	{ "SINGER",                            "sng"                                 },+	{ "SPEAKER",                           "spk"                                 },+	{ "SPONSOR",                           "spn"                                 },+	{ "SECOND_PARTY",                      "spy"                                 },+	{ "SURVEYOR",                          "srv"                                 },+	{ "SET_DESIGNER",                      "std"                                 },+	{ "SETTING",                           "stg"                                 },+	{ "STORYTELLER",                       "stl"                                 },+	{ "STAGE_MANAGER",                     "stm"                                 },+	{ "STANDARDS_BODY",                    "stn"                                 },+	{ "STEREOTYPER",                       "str"                                 },+	{ "TECHNICAL_DIRECTOR",                "tcd"                                 },+	{ "TEACHER",                           "tch"                                 },+	{ "THESIS_ADVISOR",                    "ths"                                 },+	{ "TELEVISION_DIRECTOR",               "tld"                                 },+	{ "TELEVISION_PRODUCER",               "tlp"                                 },+	{ "TRANSCRIBER",                       "trc"                                 },+	{ "TRANSLATOR",                        "translator"                          },+	{ "TRANSLATOR",                        "trl"                                 },+	{ "TYPE_DIRECTOR",                     "tyd"                                 },+	{ "TYPOGRAPHER",                       "tyg"                                 },+	{ "UNIVERSITY_PLACE",                  "uvp"                                 },+	{ "VOICE_ACTOR",                       "vac"                                 },+	{ "VIDEOGRAPHER",                      "vdg"                                 },+	{ "VOCALIST",                          "voc"                                 },+	{ "AUTHOR",                            "wac"                                 },/* Writer of added commentary */+	{ "AUTHOR",                            "wal"                                 },/* Writer of added lyrics */+	{ "AUTHOR",                            "wam"                                 },/* Writer of accompanying material */+	{ "AUTHOR",                            "wat"                                 },/* Writer of added text */+	{ "WOODCUTTER",                        "wdc"                                 },+	{ "WOOD_ENGRAVER",                     "wde"                                 },+	{ "INTROAUTHOR",                       "win"                                 },/* Writer of introduction */+	{ "WITNESS",                           "wit"                                 },+	{ "INTROAUTHOR",                       "wpr"                                 },/* Writer of preface */+	{ "AUTHOR",                            "wst"                                 },/* Writer of supplementary textual content */ };  static const int nrealtors = sizeof( relators ) / sizeof( relators[0] );  char *-marc_convertrole( const char *query )+marc_convert_role( const char *query ) { 	int i; @@ -431,27 +436,27 @@ }  int-marc_findgenre( const char *query )+marc_find_genre( const char *query ) { 	return position_in_list( marc_genre, nmarc_genre, query ); }  int-is_marc_genre( const char *query )+marc_find_resource( const char *query ) {-	if ( marc_findgenre( query ) != -1 ) return 1;-	else return 0;+	return position_in_list( marc_resource, nmarc_resource, query ); }  int-marc_findresource( const char *query )+is_marc_genre( const char *query ) {-	return position_in_list( marc_resource, nmarc_resource, query );+	if ( marc_find_genre( query ) != -1 ) return 1;+	else return 0; }  int is_marc_resource( const char *query ) {-	if ( marc_findresource( query ) != -1 ) return 1;+	if ( marc_find_resource( query ) != -1 ) return 1; 	else return 0; }
bibutils/marc_auth.h view
@@ -3,7 +3,7 @@  *  * Recognize the MARC authority vocabulary for genre and resource.  *- * Copyright (c) Chris Putnam 2008-2019+ * Copyright (c) Chris Putnam 2008-2020  *  * Source code released under the GPL version 2  *@@ -11,10 +11,12 @@ #ifndef MARC_AUTH_H #define MARC_AUTH_H -int marc_findgenre( const char *query ); int is_marc_genre( const char *query );-int marc_findresource( const char *query ); int is_marc_resource( const char *query );-char *marc_convertrole( const char *query );++int marc_find_genre( const char *query );+int marc_find_resource( const char *query );++char *marc_convert_role( const char *query );  #endif
bibutils/medin.c view
@@ -1,7 +1,7 @@ /*  * medin.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Source code released under the GPL version 2  *@@ -169,7 +169,7 @@ { 	int fstatus, status = BIBL_OK; 	if ( xml_has_value( node ) ) {-		fstatus = fields_add( info, "TITLE", xml_value_cstr( node ), 0 );+		fstatus = fields_add( info, "TITLE", xml_value_cstr( node ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR; 	} 	return status;@@ -283,7 +283,7 @@ 				if ( status!=BIBL_OK ) return status; 			} 			if ( xml_tag_matches( node, "Language" ) ) {-				status = medin_language( node, info, 1 );+				status = medin_language( node, info, LEVEL_HOST ); 				if ( status!=BIBL_OK ) return status; 			} 		}@@ -314,7 +314,7 @@ 		p = str_cpytodelim( &sp, xml_value_cstr( node ), "-", 1 ); 		if ( str_memerr( &sp ) ) return BIBL_ERR_MEMERR; 		if ( str_has_value( &sp ) ) {-			fstatus = fields_add( info, "PAGES:START", str_cstr( &sp ), 1 );+			fstatus = fields_add( info, "PAGES:START", str_cstr( &sp ), LEVEL_HOST ); 			if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR; 		} 		(void) str_cpytodelim( &ep, p, "", 0 );@@ -325,7 +325,7 @@ 					sp.data[i] = ep.data[i-sp.len+ep.len]; 				pp = sp.data; 			} else  pp = ep.data;-			fstatus = fields_add( info, "PAGES:STOP", pp, 1 );+			fstatus = fields_add( info, "PAGES:STOP", pp, LEVEL_HOST ); 			if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR; 		} 		strs_free( &sp, &ep, NULL );@@ -350,7 +350,7 @@ { 	int fstatus; 	if ( xml_tag_matches_has_value( node, "AbstractText" ) ) {-		fstatus = fields_add( info, "ABSTRACT", xml_value_cstr( node ), 0 );+		fstatus = fields_add( info, "ABSTRACT", xml_value_cstr( node ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR; 	} else if ( node->next ) return medin_abstract( node->next, info ); 	return BIBL_OK;@@ -409,28 +409,43 @@ static int medin_authorlist( xml *node, fields *info ) {-	int fstatus, status;-	str name;+	int fstatus, status = BIBL_OK; 	char *tag;+	str name;+ 	str_init( &name );+ 	node = node->down; 	while ( node ) {+ 		if ( xml_tag_matches( node, "Author" ) && node->down ) {+ 			status = medin_author( node->down, &name );+			if ( status!=BIBL_OK ) goto out;+ 			tag = "AUTHOR"; 			if ( str_is_empty( &name ) ) { 				status = medin_corpauthor( node->down, &name ); 				tag = "AUTHOR:CORP"; 			}-			if ( str_memerr( &name ) || status!=BIBL_OK ) return BIBL_ERR_MEMERR;+			if ( str_memerr( &name ) || status!=BIBL_OK ) {+				status = BIBL_ERR_MEMERR;+				goto out;+			} 			if ( str_has_value( &name ) ) {-				fstatus = fields_add(info,tag,name.data,0);-				if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR;+				fstatus = fields_add( info, tag, str_cstr( &name ), LEVEL_MAIN );+				if ( fstatus!=FIELDS_OK ) {+					status = BIBL_ERR_MEMERR;+					goto out;+				} 			} 			str_empty( &name ); 		}+ 		node = node->next; 	}++out: 	str_free( &name ); 	return BIBL_OK; }@@ -548,9 +563,9 @@ 	else if ( xml_tag_matches( node, "AuthorList" ) ) 		status = medin_authorlist( node, info ); 	else if ( xml_tag_matches( node, "Language" ) )-		status = medin_language( node, info, 0 );+		status = medin_language( node, info, LEVEL_MAIN ); 	else if ( xml_tag_matches( node, "Affiliation" ) ) {-		fstatus = fields_add( info, "ADDRESS", xml_value_cstr( node ), 0 );+		fstatus = fields_add( info, "ADDRESS", xml_value_cstr( node ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR; 	} 	if ( status!=BIBL_OK ) return status;@@ -563,7 +578,7 @@ { 	int fstatus, status = BIBL_OK; 	if ( xml_tag_matches_has_value( node, "PMID" ) ) {-		fstatus = fields_add( info, "PMID", xml_value_cstr( node ), 0 );+		fstatus = fields_add( info, "PMID", xml_value_cstr( node ), LEVEL_MAIN ); 		if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR; 	} 	if ( node->down ) {@@ -615,13 +630,13 @@  	/* assume everything is a journal article */ 	if ( fields_num( info ) ) {-		status = fields_add( info, "RESOURCE", "text", 0 );+		status = fields_add( info, "RESOURCE", "text", LEVEL_MAIN ); 		if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;-		status = fields_add( info, "ISSUANCE", "continuing", 1 );+		status = fields_add( info, "ISSUANCE", "continuing", LEVEL_HOST ); 		if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;-		status = fields_add( info, "GENRE:MARC", "periodical", 1 );+		status = fields_add( info, "GENRE:MARC", "periodical", LEVEL_HOST ); 		if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR;-		status = fields_add( info, "GENRE:BIBUTILS", "academic journal", 1 );+		status = fields_add( info, "GENRE:BIBUTILS", "academic journal", LEVEL_HOST ); 		if ( status!=FIELDS_OK ) return BIBL_ERR_MEMERR; 		status = BIBL_OK; 	}
bibutils/modsin.c view
@@ -1,7 +1,7 @@ /*  * modsin.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Source code released under the GPL version 2  *@@ -83,7 +83,7 @@ { 	int status = BIBL_OK; 	if ( xml_has_value( node ) ) {-		if ( value->len ) str_addchar( value, ' ' );+		if ( str_has_value( value ) ) str_addchar( value, ' ' ); 		str_strcat( value, xml_value( node ) ); 		if ( str_memerr( value ) ) return BIBL_ERR_MEMERR; 	}@@ -99,27 +99,32 @@ static int modsin_detail( xml *node, fields *info, int level ) {-	str type, value, *tp; 	int fstatus, status = BIBL_OK;-	if ( node->down ) {-		strs_init( &type, &value, NULL );-		tp = xml_attribute( node, "type" );-		if ( tp ) {-			str_strcpy( &type, tp );-			str_toupper( &type );-			if ( str_memerr( &type ) ) goto out;-		}-		status = modsin_detailr( node->down, &value );-		if ( status!=BIBL_OK ) goto out;-		if ( type.data && !strcasecmp( type.data, "PAGE" ) ) {-			fstatus = fields_add( info, "PAGES:START", value.data, level );-		} else {-			fstatus = fields_add( info, type.data, value.data, level );-		}-		if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;-out:-		strs_free( &type, &value, NULL );+	str type, value, *tp;++	if ( !node->down ) return BIBL_OK;++	strs_init( &type, &value, NULL );++	tp = xml_attribute( node, "type" );+	if ( tp ) {+		str_strcpy( &type, tp );+		str_toupper( &type );+		if ( str_memerr( &type ) ) goto out; 	}++	status = modsin_detailr( node->down, &value );+	if ( status!=BIBL_OK ) goto out;++	if ( str_has_value( &type ) && !strcasecmp( str_cstr( &type ), "PAGE" ) ) {+		fstatus = fields_add( info, "PAGES:START", str_cstr( &value ), level );+	} else {+		fstatus = fields_add( info, str_cstr( &type ), str_cstr( &value ), level );+	}+	if ( fstatus!=FIELDS_OK ) status = BIBL_ERR_MEMERR;++out:+	strs_free( &type, &value, NULL ); 	return status; } @@ -316,7 +321,7 @@ 		} 		/* ...take first match */ 		for ( i=0; i<tokens.n; ++i ) {-			p = marc_convertrole( slist_cstr( &tokens, i ) );+			p = marc_convert_role( slist_cstr( &tokens, i ) ); 			if ( p ) { 				str_strcpyc( out, p ); 				goto done;@@ -931,8 +936,8 @@ static int modsin_recordinfo( xml *node, fields *info, int level ) {+	xml *curr, *down; 	int fstatus;-	xml *curr;  	/* extract recordIdentifier */ 	curr = node;@@ -941,6 +946,12 @@ 			fstatus = fields_add( info, "REFNUM", xml_value_cstr( curr ), level ); 			if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR; 		}+		else if ( xml_tag_matches( curr, "languageOfCataloging" ) ) {+			if ( curr->down ) {+				down = curr->down;+				fstatus = fields_add( info, "LANGCATALOG", xml_value_cstr( down ), level );+			}+		} 		curr = curr->next; 	} 	return BIBL_OK;@@ -968,6 +979,7 @@ 		{ "serial number", "SERIALNUMBER",0, 0 }, 		{ "accessnum",     "ACCESSNUM",   0, 0 }, 		{ "jstor",         "JSTOR",       0, 0 },+		{ "eid",           "EID",         0, 0 }, 	}; 	int i, fstatus, n = sizeof( ids ) / sizeof( ids[0] ); 	if ( node->value.len==0 ) return BIBL_OK;@@ -993,6 +1005,12 @@ 	int nsimple = sizeof( simple ) / sizeof( simple[0] ); 	int i, found = 0, status = BIBL_OK; +	if ( xml_tag_has_attribute( node, "note", "type", "annotation" ) ) {+		status = modsin_simple( node, info, "ANNOTATION", level );+		if ( status!=BIBL_OK ) return status;+		found = 1;+	}+ 	for ( i=0; i<nsimple && found==0; i++ ) { 		if ( xml_tag_matches( node, simple[i].mods ) ) { 			status = modsin_simple( node, info, simple[i].internal, level );@@ -1087,16 +1105,21 @@ *****************************************************/  static char *-modsin_startptr( char *p )+modsin_startptr( char *p, char **next ) { 	char *startptr;+	*next = NULL; 	startptr = xml_find_start( p, "mods:mods" ); 	if ( startptr ) { 		/* set namespace if found */ 		xml_pns = modsns;+		*next = startptr + 9; 	} else { 		startptr = xml_find_start( p, "mods" );-		if ( startptr ) xml_pns = NULL;+		if ( startptr ) {+			xml_pns = NULL;+			*next = startptr + 5;+		} 	} 	return startptr; }@@ -1112,7 +1135,7 @@ { 	str tmp; 	int m, file_charset = CHARSET_UNKNOWN;-	char *startptr = NULL, *endptr = NULL;+	char *startptr = NULL, *nextptr, *endptr = NULL;  	str_init( &tmp ); @@ -1121,8 +1144,8 @@ 		if ( str_has_value( &tmp ) ) { 			m = xml_getencoding( &tmp ); 			if ( m!=CHARSET_UNKNOWN ) file_charset = m;-			startptr = modsin_startptr( tmp.data );-			endptr = modsin_endptr( tmp.data );+			startptr = modsin_startptr( tmp.data, &nextptr );+			if ( nextptr ) endptr = modsin_endptr( nextptr ); 		} else startptr = endptr = NULL; 		str_empty( line ); 		if ( startptr && endptr ) {
bibutils/modsout.c view
@@ -1,7 +1,7 @@ /*  * modsout.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  *@@ -218,7 +218,7 @@ 	/* output shorttitle if it's different from normal title */ 	if ( shrttl!=FIELDS_NOTFOUND ) { 		val = (char *) fields_value( f, shrttl, FIELDS_CHRP );-		if ( ttl==FIELDS_NOTFOUND || subttl!=FIELDS_NOTFOUND || strcmp(f->data[ttl].data,val) ) {+		if ( ttl==FIELDS_NOTFOUND || subttl!=FIELDS_NOTFOUND || strcmp(fields_value(f,ttl,FIELDS_CHRP),val) ) { 			output_tag( outptr, lvl2indent(level),               "titleInfo", NULL, TAG_OPEN,      TAG_NEWLINE, "type", "abbreviated", NULL ); 			output_tag( outptr, lvl2indent(incr_level(level,1)), "title",     val,  TAG_OPENCLOSE, TAG_NEWLINE, NULL ); 			output_tag( outptr, lvl2indent(level),               "titleInfo", NULL, TAG_CLOSE,     TAG_NEWLINE, NULL );@@ -337,7 +337,7 @@ 	for ( n=0; n<ntypes; ++n ) { 		for ( i=0; i<nfields; ++i ) { 			if ( fields_level( f, i )!=level ) continue;-			if ( f->data[i].len==0 ) continue;+			if ( fields_no_value( f, i ) ) continue; 			f_asis = f_corp = f_conf = 0; 			str_strcpyc( &role, f->tag[i].data ); 			if ( str_findreplace( &role, ":ASIS", "" )) f_asis=1;@@ -355,7 +355,7 @@ 				output_tag( outptr, lvl2indent(level),               "name",     NULL, TAG_OPEN,      TAG_NEWLINE, "type", "conference", NULL ); 				output_fil( outptr, lvl2indent(incr_level(level,1)), "namePart", f, i, TAG_OPENCLOSE, TAG_NEWLINE, NULL ); 			} else {-				output_name(outptr, f->data[i].data, level);+				output_name(outptr, fields_value( f, i, FIELDS_CHRP ), level); 			} 			output_tag( outptr, lvl2indent(incr_level(level,1)), "role", NULL, TAG_OPEN, TAG_NEWLINE, NULL ); 			if ( names[n].code & MARC_AUTHORITY )@@ -364,7 +364,7 @@ 				output_tag( outptr, lvl2indent(incr_level(level,2)), "roleTerm", names[n].mods, TAG_OPENCLOSE, TAG_NEWLINE, "type", "text", NULL ); 			output_tag( outptr, lvl2indent(incr_level(level,1)), "role", NULL, TAG_CLOSE, TAG_NEWLINE, NULL ); 			output_tag( outptr, lvl2indent(level),               "name", NULL, TAG_CLOSE, TAG_NEWLINE, NULL );-			fields_setused( f, i );+			fields_set_used( f, i ); 		} 	} 	str_free( &role );@@ -826,7 +826,7 @@  	/* silence warnings about INTERNAL_TYPE being unused */ 	n = fields_find( f, "INTERNAL_TYPE", LEVEL_MAIN );-	if ( n!=FIELDS_NOTFOUND ) fields_setused( f, n );+	if ( n!=FIELDS_NOTFOUND ) fields_set_used( f, n );  	output_resource( f, outptr, level ); 	output_genre( f, outptr, level );
bibutils/modstypes.c view
@@ -1,7 +1,7 @@ /*  * modstypes.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Source code released under the GPL version 2  *      
bibutils/name.c view
@@ -3,7 +3,7 @@  *  * mangle names w/ and w/o commas  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Source code released under the GPL version 2  *@@ -312,6 +312,7 @@ 			str_strcat( name, s ); 		} else add_given_split( name, s ); 	}+ 	return 1; } @@ -332,7 +333,7 @@ 	for ( i=begin; i<end && comma==-1; i++ ) { 		if ( i==suffixpos ) continue; 		s = slist_str( tokens, i );-		if ( s->data[ s->len -1 ] == ',' ) {+		if ( s->data[ s->len - 1 ] == ',' ) { 			if ( suffix && i==suffixpos-1 && !(suffix&WITHCOMMA) ) 				str_trimend( s, 1 ); 			else@@ -369,7 +370,8 @@ 	str_init( &name );  	name_construct_multi( &name, tokens, begin, end );-	status = fields_add_can_dup( info, tag, name.data, level );++	status = fields_add_can_dup( info, tag, str_cstr( &name ), level ); 	if ( status!=FIELDS_OK ) ok = 0;  	str_free( &name );@@ -385,7 +387,7 @@  * is set).  */ int-name_addsingleelement( fields *info, const char *tag, const char *name, int level, int corp )+name_addsingleelement( fields *info, const char *tag, const char *name, int level, int asiscorp ) { 	int status, ok = 1; 	str outtag;@@ -393,8 +395,8 @@ 	str_init( &outtag );  	str_strcpyc( &outtag, tag );-	if ( !corp ) str_strcatc( &outtag, ":ASIS" );-	else str_strcatc( &outtag, ":CORP" );+	if ( asiscorp == NAME_ASIS ) str_strcatc( &outtag, ":ASIS" );+	else if ( asiscorp == NAME_CORP ) str_strcatc( &outtag, ":CORP" );  	status = fields_add_can_dup( info, outtag.data, name, level ); 	if ( status!=FIELDS_OK ) ok = 0;@@ -518,9 +520,9 @@ 			ok = ( status==FIELDS_OK ) ? 1 : 0; 		} 		else if ( nametype==2 )-			ok = name_addsingleelement( info, tag, outname.data, level, 0 );+			ok = name_addsingleelement( info, tag, outname.data, level, NAME_ASIS ); 		else-			ok = name_addsingleelement( info, tag, outname.data, level, 1 );+			ok = name_addsingleelement( info, tag, outname.data, level, NAME_CORP );  		if ( !ok ) { ret = 0; goto out; } 
bibutils/name.h view
@@ -11,6 +11,10 @@ #ifndef NAME_H #define NAME_H +#define NAME_SIMPLE (0)+#define NAME_ASIS   (1)+#define NAME_CORP   (2)+ #include "str.h" #include "slist.h" #include "fields.h"@@ -18,7 +22,7 @@ int  name_add( fields *info, const char *tag, const char *q, int level, slist *asis, slist *corps ); void name_build_withcomma( str *s, const char *p ); int  name_parse( str *outname, str *inname, slist *asis, slist *corps );-int  name_addsingleelement( fields *info, const char *tag, const char *name, int level, int corp );+int  name_addsingleelement( fields *info, const char *tag, const char *name, int level, int asiscorp ); int  name_addmultielement( fields *info, const char *tag, slist *tokens, int begin, int end, int level ); int  name_findetal( slist *tokens ); 
bibutils/nbibin.c view
@@ -1,7 +1,7 @@ /*  * nbibin.c  *- * Copyright (c) Chris Putnam 2016-2019+ * Copyright (c) Chris Putnam 2016-2020  *  * Source code released under the GPL version 2  *
bibutils/nbibout.c view
@@ -1,7 +1,7 @@ /*  * nbibout.c  *- * Copyright (c) Chris Putnam 2018-2019+ * Copyright (c) Chris Putnam 2018-2020  *  * Source code released under the GPL version 2  *
bibutils/nbibtypes.c view
@@ -1,7 +1,7 @@ /*  * nbibtypes.c  *- * Copyright (c) Chris Putnam 2016-2019+ * Copyright (c) Chris Putnam 2016-2020  *  * Program and source code released under the GPL version 2  *
bibutils/notes.c view
@@ -1,7 +1,7 @@ /*  * notes.c  *- * Copyright (c) Chris Putnam 2016-2019+ * Copyright (c) Chris Putnam 2016-2020  *  * Program and source code released under the GPL version 2  *
bibutils/pages.c view
@@ -1,7 +1,7 @@ /*  * pages.c  *- * Copyright (c) Chris Putnam 2016-2019+ * Copyright (c) Chris Putnam 2016-2020  *  * Program and source code released under GPL verison 2  */
bibutils/reftypes.c view
@@ -1,7 +1,7 @@ /*  * reftypes.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  *
bibutils/risin.c view
@@ -1,7 +1,7 @@ /*  * risin.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  *@@ -349,7 +349,7 @@ 	m = is_uri_file_scheme( str_cstr( invalue ) ); 	if ( m ) { 		/* skip past "file:" and store only actual path */-		p = invalue->data + m;+		p = str_cstr( invalue ) + m; 		fstatus = fields_add( bibout, outtag, p, level ); 		if ( fstatus==FIELDS_OK ) return BIBL_OK; 		else return BIBL_ERR_MEMERR;@@ -376,7 +376,7 @@ 	int fstatus, doi; 	doi = is_doi( str_cstr( invalue ) ); 	if ( doi!=-1 ) {-		fstatus = fields_add( bibout, "DOI", &(invalue->data[doi]), level );+		fstatus = fields_add( bibout, "DOI", str_cstr( invalue ) + doi, level ); 		if ( fstatus!=FIELDS_OK ) return BIBL_ERR_MEMERR; 	} 	return BIBL_OK;
bibutils/risout.c view
@@ -1,7 +1,7 @@ /*  * risout.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  *@@ -164,7 +164,7 @@ verbose_type_assignment( char *tag, char *value, param *p, int type ) { 	if ( p->progname ) fprintf( stderr, "%s: ", p->progname );-	fprintf( stderr, "Type from tag '%s' data '%s': ", tag, value );+	fprintf( stderr, "Type from tag '%s' value '%s': ", tag, value ); 	write_type( stderr, type ); 	fprintf( stderr, "\n" ); }@@ -286,19 +286,13 @@ { 	int type = TYPE_UNKNOWN; 	int i, monographic = 0, monographic_level = 0;-//	int text = 0; 	for ( i=0; i<f->n; ++i ) { 		if ( !strcasecmp( (char *) fields_tag( f, i, FIELDS_CHRP_NOUSE ), "issuance" ) && 		     !strcasecmp( (char *) fields_value( f, i, FIELDS_CHRP_NOUSE ), "MONOGRAPHIC" ) ){ 			monographic = 1; 			monographic_level = f->level[i]; 		}-//		if ( !strcasecmp( (char *) fields_tag( f, i, FIELDS_CHRP_NOUSE ), "typeOfResource" ) &&-//		     !strcasecmp( (char *) fields_value( f, i, FIELDS_CHRP_NOUSE ), "text" ) ) {-//			text = 1;-//		} 	}-//	if ( monographic && text ) { 	if ( monographic ) { 		if ( monographic_level==0 ) type=TYPE_BOOK; 		else if ( monographic_level>0 ) type=TYPE_INBOOK;@@ -505,22 +499,6 @@ }  static void-append_keywords( fields *in, fields *out, int *status )-{-	vplist_index i;-	int fstatus;-	vplist vpl;--	vplist_init( &vpl );-	fields_findv_each( in, LEVEL_ANY, FIELDS_CHRP, &vpl, "KEYWORD" );-	for ( i=0; i<vpl.n; ++i ) {-		fstatus = fields_add( out, "KW", ( char * ) vplist_get( &vpl, i ), LEVEL_MAIN );-		if ( fstatus!=FIELDS_OK ) *status = BIBL_ERR_MEMERR;-	}-	vplist_free( &vpl );-}--static void append_urls( fields *in, fields *out, int *status ) { 	int lstatus;@@ -694,7 +672,7 @@ 	append_easy      ( in, "DEGREEGRANTOR:ASIS", "PB", LEVEL_ANY, out, &status ); 	append_easy      ( in, "DEGREEGRANTOR:CORP", "PB", LEVEL_ANY, out, &status ); 	append_easy      ( in, "ADDRESS",            "CY", LEVEL_ANY, out, &status );-	append_keywords  ( in, out, &status );+	append_easyall   ( in, "KEYWORD",            "KW", LEVEL_ANY, out, &status ); 	append_easy      ( in, "ABSTRACT",           "AB", LEVEL_ANY, out, &status ); 	append_easy      ( in, "CALLNUMBER",         "CN", LEVEL_ANY, out, &status ); 	append_easy      ( in, "ISSN",               "SN", LEVEL_ANY, out, &status );
bibutils/ristypes.c view
@@ -1,7 +1,7 @@ /*  * ristypes.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  *
bibutils/serialno.c view
@@ -1,7 +1,7 @@ /*  * serialno.c  *- * Copyright (c) Chris Putnam 2005-2019+ * Copyright (c) Chris Putnam 2005-2020  *  * Source code released under the GPL version 2  *
bibutils/slist.c view
@@ -3,7 +3,7 @@  *  * version: 2019-01-14  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Source code released under the GPL version 2  *
bibutils/str.c view
@@ -3,7 +3,7 @@  *  * Version: 2018-09-21  *- * Copyright (c) Chris Putnam 1999-2019+ * Copyright (c) Chris Putnam 1999-2020  *  * Source code released under the GPL version 2  *
bibutils/str_conv.c view
@@ -1,7 +1,7 @@ /*  * str_conv.c  *- * Copyright (c) Chris Putnam 1999-2019+ * Copyright (c) Chris Putnam 1999-2020  *  * Source code released under the GPL version 2  *
bibutils/strsearch.c view
@@ -1,6 +1,6 @@ /* strsearch.c  *- * Copyright (c) Chris Putnam 1995-2019+ * Copyright (c) Chris Putnam 1995-2020  *  * Source code released under the GPL version 2  *
bibutils/title.c view
@@ -3,7 +3,7 @@  *  * process titles into title/subtitle pairs for MODS  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Source code released under the GPL version 2  *
bibutils/type.c view
@@ -1,7 +1,7 @@ /*  * type.c  *- * Copyright (c) Chris Putnam 2003-2019+ * Copyright (c) Chris Putnam 2003-2020  *  * Source code released under the GPL version 2  */
bibutils/url.c view
@@ -9,7 +9,7 @@  * is_doi()  * Check for DOI buried in another field.  *- * Copyright (c) Chris Putnam 2008-2019+ * Copyright (c) Chris Putnam 2008-2020  *  * Source code released under the GPL version 2  *@@ -202,12 +202,14 @@ static int nextraprefixes = sizeof( extraprefixes ) / sizeof( extraprefixes[0] );  static int-find_prefix( char *s, url_t *p, int np )+find_prefix( const char *s, url_t *p, int np ) { 	int i; -	for ( i=0; i<np; ++i )-		if ( !strncmp( p[i].prefix, s, p[i].offset ) ) return i;+	if ( s ) {+		for ( i=0; i<np; ++i )+			if ( !strncmp( p[i].prefix, s, p[i].offset ) ) return i;+	}  	return -1; }
bibutils/utf8.c view
@@ -1,7 +1,7 @@ /*  * utf8.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Source code released under the GPL version 2  *
bibutils/vplist.c view
@@ -3,7 +3,7 @@  *  * Version: 1/9/2017  *- * Copyright (c) Chris Putnam 2011-2019+ * Copyright (c) Chris Putnam 2011-2020  *  * Source code released under the GPL version 2  *
bibutils/wordin.c view
@@ -1,7 +1,7 @@ /*  * wordin.c  *- * Copyright (c) Chris Putnam 2010-2019+ * Copyright (c) Chris Putnam 2010-2020  *  * Source code released under the GPL version 2  *
bibutils/wordout.c view
@@ -3,7 +3,7 @@  *   * (Word 2007 format)  *- * Copyright (c) Chris Putnam 2007-2019+ * Copyright (c) Chris Putnam 2007-2020  *  * Source code released under the GPL version 2  *@@ -122,39 +122,47 @@ 	TYPE_PHDTHESIS, }; -/*- * fixed output- */ static void-output_fixed( FILE *outptr, char *tag, char *value, int level )+output_level( FILE *outptr, int level ) { 	int i;-	for ( i=0; i<level; ++i ) fprintf( outptr, " " );+	for ( i=0; i<level; ++i )+		fprintf( outptr, " " );+}++/* fixed output+ *+ * <TAG>value</TAG>+ */+static void+output_fixed( FILE *outptr, const char *tag, const char *value, int level )+{+	output_level( outptr, level ); 	fprintf( outptr, "<%s>%s</%s>\n", tag, value, tag ); }  /* detail output  *+ * <TAG>value</TAG>  */ static void-output_item( fields *info, FILE *outptr, char *tag, char *prefix, int item, int level )+output_item( fields *info, FILE *outptr, const char *tag, const char *prefix, int item, int level ) {-	int i;-	if ( item==-1 ) return;-	for ( i=0; i<level; ++i ) fprintf( outptr, " " );-	fprintf( outptr, "<%s>%s%s</%s>\n",-		tag,-		prefix,-		(char*) fields_value( info, item, FIELDS_CHRP ),-		tag-	);+	if ( item!=-1 ) {+		output_level( outptr, level );+		fprintf( outptr, "<%s>%s%s</%s>\n",+			tag,+			prefix,+			(char*) fields_value( info, item, FIELDS_CHRP ),+			tag+		);+	} }  static void-output_itemv( FILE *outptr, char *tag, char *item, int level )+output_itemv( FILE *outptr, const char *tag, const char *item, int level ) {-	int i;-	for ( i=0; i<level; ++i ) fprintf( outptr, " " );+	output_level( outptr, level ); 	fprintf( outptr, "<%s>%s</%s>\n", tag, item, tag ); } @@ -164,19 +172,14 @@  *  */ static void-output_range( FILE *outptr, char *tag, char *start, char *end, int level )+output_range( FILE *outptr, const char *tag, const char *start, const char *end, int level ) {-	int i;-	if ( start==NULL && end==NULL ) return;-	if ( start==NULL )-		output_itemv( outptr, tag, end, 0 );-	else if ( end==NULL )-		output_itemv( outptr, tag, start, 0 );-	else {-		for ( i=0; i<level; ++i )-			fprintf( outptr, " " );+	if ( start && end ) {+		output_level( outptr, level ); 		fprintf( outptr, "<%s>%s-%s</%s>\n", tag, start, end, tag ); 	}+	else if ( start ) output_itemv( outptr, tag, start, level );+	else if ( end )   output_itemv( outptr, tag, end,   level ); }  static void@@ -192,7 +195,7 @@  typedef struct outtype { 	int value;-	char *out;+	const char *out; } outtype;  static@@ -224,11 +227,11 @@ get_type_from_genre( fields *info ) { 	int type = TYPE_UNKNOWN, i, j, level;-	char *genre, *tag;+	const char *genre, *tag; 	for ( i=0; i<info->n; ++i ) {-		tag = (char *) fields_tag( info, i, FIELDS_CHRP );+		tag = (const char *) fields_tag( info, i, FIELDS_CHRP ); 		if ( strcasecmp( tag, "GENRE:MARC" ) && strcasecmp( tag, "GENRE:BIBUTILS" ) && strcasecmp( tag, "GENRE:UNKNOWN" ) ) continue;-		genre = (char *) fields_value( info, i, FIELDS_CHRP );+		genre = (const char *) fields_value( info, i, FIELDS_CHRP ); 		for ( j=0; j<ngenres; ++j ) { 			if ( !strcasecmp( genres[j].out, genre ) ) 				type = genres[j].value;@@ -291,7 +294,7 @@ }  static void-output_titlebits( char *mainttl, char *subttl, FILE *outptr )+output_titlebits( const char *mainttl, const char *subttl, FILE *outptr ) { 	if ( mainttl ) fprintf( outptr, "%s", mainttl ); 	if ( subttl ) {@@ -305,7 +308,7 @@ }  static void-output_titleinfo( char *mainttl, char *subttl, FILE *outptr, char *tag, int level )+output_titleinfo( const char *mainttl, const char *subttl, FILE *outptr, const char *tag, int level ) { 	if ( mainttl || subttl ) { 		fprintf( outptr, "<%s>", tag );@@ -315,12 +318,12 @@ }  static void-output_generaltitle( fields *info, FILE *outptr, char *tag, int level )+output_generaltitle( fields *info, FILE *outptr, const char *tag, int level ) {-	char *ttl       = fields_findv( info, level, FIELDS_CHRP, "TITLE" );-	char *subttl    = fields_findv( info, level, FIELDS_CHRP, "SUBTITLE" );-	char *shrttl    = fields_findv( info, level, FIELDS_CHRP, "SHORTTITLE" );-	char *shrsubttl = fields_findv( info, level, FIELDS_CHRP, "SHORTSUBTITLE" );+	const char *ttl       = fields_findv( info, level, FIELDS_CHRP, "TITLE" );+	const char *subttl    = fields_findv( info, level, FIELDS_CHRP, "SUBTITLE" );+	const char *shrttl    = fields_findv( info, level, FIELDS_CHRP, "SHORTTITLE" );+	const char *shrsubttl = fields_findv( info, level, FIELDS_CHRP, "SHORTSUBTITLE" );  	if ( ttl ) { 		output_titleinfo( ttl, subttl, outptr, tag, level );@@ -333,10 +336,10 @@ static void output_maintitle( fields *info, FILE *outptr, int level ) {-	char *ttl       = fields_findv( info, level, FIELDS_CHRP, "TITLE" );-	char *subttl    = fields_findv( info, level, FIELDS_CHRP, "SUBTITLE" );-	char *shrttl    = fields_findv( info, level, FIELDS_CHRP, "SHORTTITLE" );-	char *shrsubttl = fields_findv( info, level, FIELDS_CHRP, "SHORTSUBTITLE" );+	const char *ttl       = fields_findv( info, level, FIELDS_CHRP, "TITLE" );+	const char *subttl    = fields_findv( info, level, FIELDS_CHRP, "SUBTITLE" );+	const char *shrttl    = fields_findv( info, level, FIELDS_CHRP, "SHORTTITLE" );+	const char *shrsubttl = fields_findv( info, level, FIELDS_CHRP, "SHORTSUBTITLE" );  	if ( ttl ) { 		output_titleinfo( ttl, subttl, outptr, "b:Title", level );@@ -356,7 +359,7 @@ }  static void-output_name_nomangle( FILE *outptr, char *p )+output_name_nomangle( FILE *outptr, const char *p ) { 	fprintf( outptr, "<b:Person>" ); 	fprintf( outptr, "<b:Last>%s</b:Last>", p );@@ -364,7 +367,7 @@ }  static void-output_name( FILE *outptr, char *p )+output_name( FILE *outptr, const char *p ) { 	str family, part; 	int n=0, npart=0;@@ -417,8 +420,7 @@ }  static void-output_name_type( fields *info, FILE *outptr, int level, -			char *map[], int nmap, char *tag )+output_name_type( fields *info, FILE *outptr, int level, char *map[], int nmap, const char *tag ) { 	str ntag; 	int i, j, n=0, code, nfields;@@ -469,11 +471,11 @@ static void output_date( fields *info, FILE *outptr, int level ) {-	char *year  = fields_findv_firstof( info, level, FIELDS_CHRP,+	const char *year  = fields_findv_firstof( info, level, FIELDS_CHRP, 			"PARTDATE:YEAR", "DATE:YEAR", NULL );-	char *month = fields_findv_firstof( info, level, FIELDS_CHRP,+	const char *month = fields_findv_firstof( info, level, FIELDS_CHRP, 			"PARTDATE:MONTH", "DATE:MONTH", NULL );-	char *day   = fields_findv_firstof( info, level, FIELDS_CHRP,+	const char *day   = fields_findv_firstof( info, level, FIELDS_CHRP, 			"PARTDATE:DAY", "DATE:DAY", NULL ); 	if ( year )  output_itemv( outptr, "b:Year", year, 0 ); 	if ( month ) output_itemv( outptr, "b:Month", month, 0 );@@ -483,9 +485,9 @@ static void output_pages( fields *info, FILE *outptr, int level ) {-	char *sn = fields_findv( info, LEVEL_ANY, FIELDS_CHRP, "PAGES:START" );-	char *en = fields_findv( info, LEVEL_ANY, FIELDS_CHRP, "PAGES:STOP" );-	char *ar = fields_findv( info, LEVEL_ANY, FIELDS_CHRP, "ARTICLENUMBER" );+	const char *sn = fields_findv( info, LEVEL_ANY, FIELDS_CHRP, "PAGES:START" );+	const char *en = fields_findv( info, LEVEL_ANY, FIELDS_CHRP, "PAGES:STOP" );+	const char *ar = fields_findv( info, LEVEL_ANY, FIELDS_CHRP, "ARTICLENUMBER" ); 	if ( sn || en ) 		output_range( outptr, "b:Pages", sn, en, level ); 	else if ( ar )@@ -586,9 +588,9 @@ static void output_comments( fields *info, FILE *outptr, int level ) {+	const char *abs; 	vplist_index i; 	vplist notes;-	char *abs;  	vplist_init( &notes ); @@ -607,7 +609,7 @@ static void output_bibkey( fields *info, FILE *outptr ) {-	char *bibkey = fields_findv_firstof( info, LEVEL_ANY, FIELDS_CHRP,+	const char *bibkey = fields_findv_firstof( info, LEVEL_ANY, FIELDS_CHRP, 			"REFNUM", "BIBKEY", NULL ); 	if ( bibkey ) output_itemv( outptr, "b:Tag", bibkey, 0 ); }
bibutils/xml.c view
@@ -1,7 +1,7 @@ /*  * xml.c  *- * Copyright (c) Chris Putnam 2004-2019+ * Copyright (c) Chris Putnam 2004-2020  *  * Source code released under the GPL version 2  *
bibutils/xml_encoding.c view
@@ -1,7 +1,7 @@ /*  * xml_getencoding.c  *- * Copyright (c) Chris Putnam 2007-2019+ * Copyright (c) Chris Putnam 2007-2020  *  * Source code released under the GPL version 2  *
hs-bibutils.cabal view
@@ -1,5 +1,5 @@ name:               hs-bibutils-version:            6.8.0.0+version:            6.10.0.0 homepage:           https://github.com/wilx/hs-bibutils  synopsis:           Haskell bindings to bibutils, the bibliography@@ -28,34 +28,36 @@ build-type:         Simple extra-source-files:         bibutils/adsout.c bibutils/adsout_journals.c bibutils/bibcore.c-        bibutils/bibformats.h bibutils/biblatexin.c bibutils/bibl.c-        bibutils/bibl.h bibutils/bibtexin.c bibutils/bibtexout.c-        bibutils/bibtextypes.c bibutils/bibutils.c bibutils/bibutils.h-        bibutils/bltypes.c bibutils/bu_auth.c bibutils/bu_auth.h-        bibutils/charsets.c bibutils/charsets.h bibutils/copacin.c-        bibutils/copactypes.c bibutils/ebiin.c bibutils/endin.c-        bibutils/endout.c bibutils/endtypes.c bibutils/endxmlin.c-        bibutils/entities.c bibutils/entities.h bibutils/fields.c-        bibutils/fields.h bibutils/gb18030.c bibutils/gb18030_enumeration.c-        bibutils/gb18030.h bibutils/generic.c bibutils/generic.h-        bibutils/intlist.c bibutils/intlist.h bibutils/isiin.c-        bibutils/isiout.c bibutils/isitypes.c bibutils/iso639_1.c-        bibutils/iso639_1.h bibutils/iso639_2.c bibutils/iso639_2.h-        bibutils/iso639_3.c bibutils/iso639_3.h bibutils/is_ws.c-        bibutils/is_ws.h bibutils/latex.c bibutils/latex.h-        bibutils/marc_auth.c bibutils/marc_auth.h bibutils/medin.c-        bibutils/modsin.c bibutils/modsout.c bibutils/modstypes.c-        bibutils/modstypes.h bibutils/name.c bibutils/name.h-        bibutils/nbibin.c bibutils/nbibout.c bibutils/nbibtypes.c-        bibutils/notes.c bibutils/notes.h bibutils/pages.c bibutils/pages.h-        bibutils/reftypes.c bibutils/reftypes.h bibutils/risin.c-        bibutils/risout.c bibutils/ristypes.c bibutils/serialno.c-        bibutils/serialno.h bibutils/slist.c bibutils/slist.h bibutils/str.c-        bibutils/str_conv.c bibutils/str_conv.h bibutils/str.h-        bibutils/strsearch.c bibutils/strsearch.h bibutils/title.c-        bibutils/title.h bibutils/type.c bibutils/type.h bibutils/unicode.c-        bibutils/unicode.h bibutils/url.c bibutils/url.h bibutils/utf8.c-        bibutils/utf8.h bibutils/vplist.c bibutils/vplist.h bibutils/wordin.c+        bibutils/bibdefs.h bibutils/bibformats.h bibutils/biblatexin.c+        bibutils/biblatexout.c bibutils/bibl.c bibutils/bibl.h+        bibutils/bibtexin.c bibutils/bibtexout.c bibutils/bibtextypes.c+        bibutils/bibutils.c bibutils/bibutils.h bibutils/bltypes.c+        bibutils/bu_auth.c bibutils/bu_auth.h bibutils/charsets.c+        bibutils/charsets.h bibutils/copacin.c bibutils/copactypes.c+        bibutils/ebiin.c bibutils/endin.c bibutils/endout.c+        bibutils/endtypes.c bibutils/endxmlin.c bibutils/entities.c+        bibutils/entities.h bibutils/fields.c bibutils/fields.h+        bibutils/gb18030.c bibutils/gb18030_enumeration.c bibutils/gb18030.h+        bibutils/generic.c bibutils/generic.h bibutils/intlist.c+        bibutils/intlist.h bibutils/isiin.c bibutils/isiout.c+        bibutils/isitypes.c bibutils/iso639_1.c bibutils/iso639_1.h+        bibutils/iso639_2.c bibutils/iso639_2.h bibutils/iso639_3.c+        bibutils/iso639_3.h bibutils/is_ws.c bibutils/is_ws.h+        bibutils/latex.c bibutils/latex.h bibutils/latex_parse.c+        bibutils/latex_parse.h bibutils/marc_auth.c bibutils/marc_auth.h+        bibutils/medin.c bibutils/modsin.c bibutils/modsout.c+        bibutils/modstypes.c bibutils/modstypes.h bibutils/name.c+        bibutils/name.h bibutils/nbibin.c bibutils/nbibout.c+        bibutils/nbibtypes.c bibutils/notes.c bibutils/notes.h+        bibutils/pages.c bibutils/pages.h bibutils/reftypes.c+        bibutils/reftypes.h bibutils/risin.c bibutils/risout.c+        bibutils/ristypes.c bibutils/serialno.c bibutils/serialno.h+        bibutils/slist.c bibutils/slist.h bibutils/str.c bibutils/str_conv.c+        bibutils/str_conv.h bibutils/str.h bibutils/strsearch.c+        bibutils/strsearch.h bibutils/title.c bibutils/title.h+        bibutils/type.c bibutils/type.h bibutils/unicode.c bibutils/unicode.h+        bibutils/url.c bibutils/url.h bibutils/utf8.c bibutils/utf8.h+        bibutils/vplist.c bibutils/vplist.h bibutils/wordin.c         bibutils/wordout.c bibutils/xml.c bibutils/xml_encoding.c         bibutils/xml_encoding.h bibutils/xml.h README.md ChangeLog.md @@ -71,26 +73,26 @@     c-sources:         cbits/stub.c         bibutils/adsout.c bibutils/adsout_journals.c bibutils/bibcore.c-        bibutils/biblatexin.c bibutils/bibl.c bibutils/bibtexin.c-        bibutils/bibtexout.c bibutils/bibtextypes.c bibutils/bibutils.c-        bibutils/bltypes.c bibutils/bu_auth.c bibutils/charsets.c-        bibutils/copacin.c bibutils/copactypes.c bibutils/ebiin.c-        bibutils/endin.c bibutils/endout.c bibutils/endtypes.c-        bibutils/endxmlin.c bibutils/entities.c bibutils/fields.c-        bibutils/gb18030.c bibutils/generic.c bibutils/intlist.c-        bibutils/isiin.c bibutils/isiout.c bibutils/isitypes.c-        bibutils/iso639_1.c bibutils/iso639_2.c bibutils/iso639_3.c-        bibutils/is_ws.c bibutils/latex.c bibutils/marc_auth.c-        bibutils/medin.c bibutils/modsin.c bibutils/modsout.c-        bibutils/modstypes.c bibutils/name.c bibutils/nbibin.c-        bibutils/nbibout.c bibutils/nbibtypes.c bibutils/notes.c-        bibutils/pages.c bibutils/reftypes.c bibutils/risin.c-        bibutils/risout.c bibutils/ristypes.c bibutils/serialno.c-        bibutils/slist.c bibutils/str.c bibutils/str_conv.c-        bibutils/strsearch.c bibutils/title.c bibutils/type.c-        bibutils/unicode.c bibutils/url.c bibutils/utf8.c bibutils/vplist.c-        bibutils/wordin.c bibutils/wordout.c bibutils/xml.c-        bibutils/xml_encoding.c+        bibutils/biblatexin.c bibutils/biblatexout.c bibutils/bibl.c+        bibutils/bibtexin.c bibutils/bibtexout.c bibutils/bibtextypes.c+        bibutils/bibutils.c bibutils/bltypes.c bibutils/bu_auth.c+        bibutils/charsets.c bibutils/copacin.c bibutils/copactypes.c+        bibutils/ebiin.c bibutils/endin.c bibutils/endout.c+        bibutils/endtypes.c bibutils/endxmlin.c bibutils/entities.c+        bibutils/fields.c bibutils/gb18030.c bibutils/generic.c+        bibutils/intlist.c bibutils/isiin.c bibutils/isiout.c+        bibutils/isitypes.c bibutils/iso639_1.c bibutils/iso639_2.c+        bibutils/iso639_3.c bibutils/is_ws.c bibutils/latex.c+        bibutils/latex_parse.c bibutils/marc_auth.c bibutils/medin.c+        bibutils/modsin.c bibutils/modsout.c bibutils/modstypes.c+        bibutils/name.c bibutils/nbibin.c bibutils/nbibout.c+        bibutils/nbibtypes.c bibutils/notes.c bibutils/pages.c+        bibutils/reftypes.c bibutils/risin.c bibutils/risout.c+        bibutils/ristypes.c bibutils/serialno.c bibutils/slist.c+        bibutils/str.c bibutils/str_conv.c bibutils/strsearch.c+        bibutils/title.c bibutils/type.c bibutils/unicode.c bibutils/url.c+        bibutils/utf8.c bibutils/vplist.c bibutils/wordin.c+        bibutils/wordout.c bibutils/xml.c bibutils/xml_encoding.c      if impl(ghc >= 6.10)        build-depends: base >= 4, syb
src/Text/Bibutils.hsc view
@@ -137,13 +137,13 @@ -- | A type for storing the C struct with the bibliography data. -- Mostly opaque to the Haskell side. See 'numberOfRefs' to retrieve -- the number of references stored in the struct.-newtype Bibl = Bibl { nrefs :: CLong }+newtype Bibl = Bibl { n :: CLong }  instance Storable Bibl where     sizeOf    _     = #{size      bibl}     alignment _     = #{alignment bibl}-    peek p          = #{peek      bibl, nrefs } p >>= return . Bibl-    poke p (Bibl n) = #{poke      bibl, nrefs } p n+    peek p          = #{peek      bibl, n } p >>= return . Bibl+    poke p (Bibl x) = #{poke      bibl, n } p x  -- | Initialize the 'Bibl' C struct. Usually the first function being -- called.@@ -160,7 +160,7 @@ -- | Retrieve the number of references from a 'Bibl' C struct. numberOfRefs :: ForeignPtr Bibl -> IO Int numberOfRefs b-    = withForeignPtr b $ \cb -> peek cb >>= return . fromIntegral . nrefs+    = withForeignPtr b $ \cb -> peek cb >>= return . fromIntegral . n  -- | A type for storing the Param C struct. It should be accessed with -- the functions provided, such as 'setCharsetIn', etc.@@ -395,7 +395,7 @@         c_bibl_addtocorps cparam centry  bibl_reporterr :: Status -> IO ()-bibl_reporterr (Status n) = c_bibl_reporterr n+bibl_reporterr (Status st) = c_bibl_reporterr st  newtype BiblioIn  = BiblioIn  { unBiblioIn  :: CInt }     deriving ( Eq )