diff --git a/Definitions/journalnames.tex b/Definitions/journalnames.tex new file mode 100644 index 0000000..cc416c6 --- /dev/null +++ b/Definitions/journalnames.tex @@ -0,0 +1,4770 @@ +%%%%% Updated 23 July 2026 %%%%% +%%----- All MDPI journal information -----%% +%\DeclareOption{}{% +% \gdef\@journal{} +% \gdef\@journalfull{} +% \gdef\@journalshort{} +% \gdef\@doiabbr{} +% \gdef\@ISSN{} +% \gdef\@societyowner{} +% \gdef\@journaltype{}} +%%% Website Name +%%% Website Name +%%% Full Name +%%% Short Name-ISO4 +%%% DOI abbr +%%% ISSN +%%% Society Owner +%%% Journal type +\DeclareOption{accountaudit}{% + \gdef\@journal{accountaudit} + \gdef\@journalfull{Accounting and Auditing} + \gdef\@journalshort{Account. Audit.} + \gdef\@doiabbr{accountaudit} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{acn}{% + \gdef\@journal{acn} + \gdef\@journalfull{Advances in Carbon Neutrality} + \gdef\@journalshort{Adv. Carbon Neutrality} + \gdef\@doiabbr{acn} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{acoustics}{% + \gdef\@journal{acoustics} + \gdef\@journalfull{Acoustics} + \gdef\@journalshort{Acoustics} + \gdef\@doiabbr{acoustics} + \gdef\@ISSN{2624-599X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{actuators}{% + \gdef\@journal{actuators} + \gdef\@journalfull{Actuators} + \gdef\@journalshort{Actuators} + \gdef\@doiabbr{act} + \gdef\@ISSN{2076-0825} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{addictions}{% + \gdef\@journal{addictions} + \gdef\@journalfull{Addictions} + \gdef\@journalshort{Addictions} + \gdef\@doiabbr{addictions} + \gdef\@ISSN{0006-0006} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{addictprev}{% + \gdef\@journal{addictprev} + \gdef\@journalfull{Addiction \& Prevention} + \gdef\@journalshort{Addict. Prev.} + \gdef\@doiabbr{addictprev} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{adhesives}{% + \gdef\@journal{adhesives} + \gdef\@journalfull{Adhesives} + \gdef\@journalshort{Adhesives} + \gdef\@doiabbr{adhesives} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{admsci}{% + \gdef\@journal{admsci} + \gdef\@journalfull{Administrative Sciences} + \gdef\@journalshort{Adm. Sci.} + \gdef\@doiabbr{admsci} + \gdef\@ISSN{2076-3387} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{adolescents}{% + \gdef\@journal{adolescents} + \gdef\@journalfull{Adolescents} + \gdef\@journalshort{Adolescents} + \gdef\@doiabbr{adolescents} + \gdef\@ISSN{2673-7051} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aerobiology}{% + \gdef\@journal{aerobiology} + \gdef\@journalfull{Aerobiology} + \gdef\@journalshort{Aerobiology} + \gdef\@doiabbr{aerobiology} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aeronautics}{% + \gdef\@journal{aeronautics} + \gdef\@journalfull{Aeronautics} + \gdef\@journalshort{Aeronautics} + \gdef\@doiabbr{aeronautics} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aerospace}{% + \gdef\@journal{aerospace} + \gdef\@journalfull{Aerospace} + \gdef\@journalshort{Aerospace} + \gdef\@doiabbr{aerospace} + \gdef\@ISSN{2226-4310} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{agriculture}{% + \gdef\@journal{agriculture} + \gdef\@journalfull{Agriculture} + \gdef\@journalshort{Agriculture} + \gdef\@doiabbr{agriculture} + \gdef\@ISSN{2077-0472} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{agriengineering}{% + \gdef\@journal{agriengineering} + \gdef\@journalfull{AgriEngineering} + \gdef\@journalshort{AgriEngineering} + \gdef\@doiabbr{agriengineering} + \gdef\@ISSN{2624-7402} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{agrochemicals}{% + \gdef\@journal{agrochemicals} + \gdef\@journalfull{Agrochemicals} + \gdef\@journalshort{Agrochemicals} + \gdef\@doiabbr{agrochemicals} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{agronomy}{% + \gdef\@journal{agronomy} + \gdef\@journalfull{Agronomy} + \gdef\@journalshort{Agronomy} + \gdef\@doiabbr{agronomy} + \gdef\@ISSN{2073-4395} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ai}{% + \gdef\@journal{ai} + \gdef\@journalfull{AI} + \gdef\@journalshort{AI} + \gdef\@doiabbr{ai} + \gdef\@ISSN{2673-2688} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aichem}{% + \gdef\@journal{aichem} + \gdef\@journalfull{AI Chemistry} + \gdef\@journalshort{AI Chem.} + \gdef\@doiabbr{aichem} + \gdef\@ISSN{3042-6723} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aieduc}{% + \gdef\@journal{aieduc} + \gdef\@journalfull{AI in Education} + \gdef\@journalshort{AI Educ.} + \gdef\@doiabbr{aieduc} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{aieng}{% + \gdef\@journal{aieng} + \gdef\@journalfull{AI for Engineering} + \gdef\@journalshort{AI Eng.} + \gdef\@doiabbr{aieng} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aimater}{% + \gdef\@journal{aimater} + \gdef\@journalfull{AI Materials} + \gdef\@journalshort{AI Mater.} + \gdef\@doiabbr{aimater} + \gdef\@ISSN{3042-6715} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aimed}{% + \gdef\@journal{aimed} + \gdef\@journalfull{AI in Medicine} + \gdef\@journalshort{AI Med.} + \gdef\@doiabbr{aimed} + \gdef\@ISSN{3042-6707} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aipa}{% + \gdef\@journal{aipa} + \gdef\@journalfull{AI and Precision Agriculture} + \gdef\@journalshort{AI Precis. Agric.} + \gdef\@doiabbr{aipa} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{air}{% + \gdef\@journal{air} + \gdef\@journalfull{Air} + \gdef\@journalshort{Air} + \gdef\@doiabbr{air} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aisens}{% + \gdef\@journal{aisens} + \gdef\@journalfull{AI Sensors} + \gdef\@journalshort{AI Sens.} + \gdef\@doiabbr{aisens} + \gdef\@ISSN{3042-5999} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aisoc}{% + \gdef\@journal{aisoc} + \gdef\@journalfull{AI for Society} + \gdef\@journalshort{AI Soc.} + \gdef\@doiabbr{aisoc} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{algorithms}{% + \gdef\@journal{algorithms} + \gdef\@journalfull{Algorithms} + \gdef\@journalshort{Algorithms} + \gdef\@doiabbr{a} + \gdef\@ISSN{1999-4893} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{allergies}{% + \gdef\@journal{allergies} + \gdef\@journalfull{Allergies} + \gdef\@journalshort{Allergies} + \gdef\@doiabbr{allergies} + \gdef\@ISSN{2313-5786} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{alloys}{% + \gdef\@journal{alloys} + \gdef\@journalfull{Alloys} + \gdef\@journalshort{Alloys} + \gdef\@doiabbr{alloys} + \gdef\@ISSN{2674-063X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{amh}{% + \gdef\@journal{amh} + \gdef\@journalfull{Acta Microbiologica Hellenica} + \gdef\@journalshort{Acta Microbiol. Hell.} + \gdef\@doiabbr{amh} + \gdef\@ISSN{0438-9573} + \gdef\@societyowner{Hellenic Society for Microbiology} + \gdef\@journaltype{ACS}} +\DeclareOption{analog}{% + \gdef\@journal{analog} + \gdef\@journalfull{Analog} + \gdef\@journalshort{Analog} + \gdef\@doiabbr{analog} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{analytica}{% + \gdef\@journal{analytica} + \gdef\@journalfull{Analytica} + \gdef\@journalshort{Analytica} + \gdef\@doiabbr{analytica} + \gdef\@ISSN{2673-4532} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{analytics}{% + \gdef\@journal{analytics} + \gdef\@journalfull{Analytics} + \gdef\@journalshort{Analytics} + \gdef\@doiabbr{analytics} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{anatomia}{% + \gdef\@journal{anatomia} + \gdef\@journalfull{Anatomia} + \gdef\@journalshort{Anatomia} + \gdef\@doiabbr{anatomia} + \gdef\@ISSN{2813-0545} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{anesthres}{% + \gdef\@journal{anesthres} + \gdef\@journalfull{Anesthesia Research} + \gdef\@journalshort{Anesth. Res.} + \gdef\@doiabbr{anesthres} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{animals}{% + \gdef\@journal{animals} + \gdef\@journalfull{Animals} + \gdef\@journalshort{Animals} + \gdef\@doiabbr{ani} + \gdef\@ISSN{2076-2615} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{antibiotics}{% + \gdef\@journal{antibiotics} + \gdef\@journalfull{Antibiotics} + \gdef\@journalshort{Antibiotics} + \gdef\@doiabbr{antibiotics} + \gdef\@ISSN{2079-6382} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{antibodies}{% + \gdef\@journal{antibodies} + \gdef\@journalfull{Antibodies} + \gdef\@journalshort{Antibodies} + \gdef\@doiabbr{antib} + \gdef\@ISSN{2073-4468} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{antioxidants}{% + \gdef\@journal{antioxidants} + \gdef\@journalfull{Antioxidants} + \gdef\@journalshort{Antioxidants} + \gdef\@doiabbr{antiox} + \gdef\@ISSN{2076-3921} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{apajournal}{% + \gdef\@journal{apajournal} + \gdef\@journalfull{Journal Not Specified} + \gdef\@journalshort{Journal Not Specified} + \gdef\@doiabbr{} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{applbiosci}{% + \gdef\@journal{applbiosci} + \gdef\@journalfull{Applied Biosciences} + \gdef\@journalshort{Appl. Biosci.} + \gdef\@doiabbr{applbiosci} + \gdef\@ISSN{2813-0464} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{appliedchem}{% + \gdef\@journal{appliedchem} + \gdef\@journalfull{AppliedChem} + \gdef\@journalshort{AppliedChem} + \gdef\@doiabbr{appliedchem} + \gdef\@ISSN{2673-9623} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{appliedmath}{% + \gdef\@journal{appliedmath} + \gdef\@journalfull{AppliedMath} + \gdef\@journalshort{AppliedMath} + \gdef\@doiabbr{appliedmath} + \gdef\@ISSN{2673-9909} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{appliedphys}{% + \gdef\@journal{appliedphys} + \gdef\@journalfull{AppliedPhys} + \gdef\@journalshort{AppliedPhys} + \gdef\@doiabbr{appliedphys} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{applmech}{% + \gdef\@journal{applmech} + \gdef\@journalfull{Applied Mechanics} + \gdef\@journalshort{Appl. Mech.} + \gdef\@doiabbr{applmech} + \gdef\@ISSN{2673-3161} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{applmicrobiol}{% + \gdef\@journal{applmicrobiol} + \gdef\@journalfull{Applied Microbiology} + \gdef\@journalshort{Appl. Microbiol.} + \gdef\@doiabbr{applmicrobiol} + \gdef\@ISSN{2673-8007} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{applnano}{% + \gdef\@journal{applnano} + \gdef\@journalfull{Applied Nano} + \gdef\@journalshort{Appl. Nano} + \gdef\@doiabbr{applnano} + \gdef\@ISSN{2673-3501} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{applsci}{% + \gdef\@journal{applsci} + \gdef\@journalfull{Applied Sciences} + \gdef\@journalshort{Appl. Sci.} + \gdef\@doiabbr{app} + \gdef\@ISSN{2076-3417} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aps}{% + \gdef\@journal{aps} + \gdef\@journalfull{Advanced Petroleum Science} + \gdef\@journalshort{Adv. Pet. Sci.} + \gdef\@doiabbr{aps} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{aquacj}{% + \gdef\@journal{aquacj} + \gdef\@journalfull{Aquaculture Journal} + \gdef\@journalshort{Aquac. J.} + \gdef\@doiabbr{aquacj} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{archaeolstud}{% + \gdef\@journal{archaeolstud} + \gdef\@journalfull{Archaeological Studies} + \gdef\@journalshort{Archaeol. Stud.} + \gdef\@doiabbr{archaeolstud} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{architecture}{% + \gdef\@journal{architecture} + \gdef\@journalfull{Architecture} + \gdef\@journalshort{Architecture} + \gdef\@doiabbr{architecture} + \gdef\@ISSN{2673-8945} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{arm}{% + \gdef\@journal{arm} + \gdef\@journalfull{Advances in Respiratory Medicine} + \gdef\@journalshort{Adv. Respir. Med.} + \gdef\@doiabbr{arm} + \gdef\@ISSN{2543-6031} + \gdef\@societyowner{Polish Respiratory Society} + \gdef\@journaltype{ACS}} +\DeclareOption{arthropoda}{% + \gdef\@journal{arthropoda} + \gdef\@journalfull{Arthropoda} + \gdef\@journalshort{Arthropoda} + \gdef\@doiabbr{arthropoda} + \gdef\@ISSN{2813-3323} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{arts}{% + \gdef\@journal{arts} + \gdef\@journalfull{Arts} + \gdef\@journalshort{Arts} + \gdef\@doiabbr{arts} + \gdef\@ISSN{2076-0752} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{asc}{% + \gdef\@journal{asc} + \gdef\@journalfull{Automatic Systems and Control} + \gdef\@journalshort{Autom. Syst. Control} + \gdef\@doiabbr{asc} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{asd}{% + \gdef\@journal{asd} + \gdef\@journalfull{Affective Science and Disorders} + \gdef\@journalshort{Affect. Sci. Disord.} + \gdef\@doiabbr{asd} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{asi}{% + \gdef\@journal{asi} + \gdef\@journalfull{Applied System Innovation} + \gdef\@journalshort{Appl. Syst. Innov.} + \gdef\@doiabbr{asi} + \gdef\@ISSN{2571-5577} + \gdef\@societyowner{International Institute of Knowledge Innovation and Invention} + \gdef\@journaltype{ACS}} +\DeclareOption{astronautics}{% + \gdef\@journal{astronautics} + \gdef\@journalfull{Astronautics} + \gdef\@journalshort{Astronautics} + \gdef\@doiabbr{astronautics} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{astronomy}{% + \gdef\@journal{astronomy} + \gdef\@journalfull{Astronomy} + \gdef\@journalshort{Astronomy} + \gdef\@doiabbr{astronomy} + \gdef\@ISSN{2674-0346} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{atmosphere}{% + \gdef\@journal{atmosphere} + \gdef\@journalfull{Atmosphere} + \gdef\@journalshort{Atmosphere} + \gdef\@doiabbr{atmos} + \gdef\@ISSN{2073-4433} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{atoms}{% + \gdef\@journal{atoms} + \gdef\@journalfull{Atoms} + \gdef\@journalshort{Atoms} + \gdef\@doiabbr{atoms} + \gdef\@ISSN{2218-2004} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{audiolres}{% + \gdef\@journal{audiolres} + \gdef\@journalfull{Audiology Research} + \gdef\@journalshort{Audiol. Res.} + \gdef\@doiabbr{audiolres} + \gdef\@ISSN{2039-4349} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{automation}{% + \gdef\@journal{automation} + \gdef\@journalfull{Automation} + \gdef\@journalshort{Automation} + \gdef\@doiabbr{automation} + \gdef\@ISSN{2673-4052} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{axioms}{% + \gdef\@journal{axioms} + \gdef\@journalfull{Axioms} + \gdef\@journalshort{Axioms} + \gdef\@doiabbr{axioms} + \gdef\@ISSN{2075-1680} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{bacteria}{% + \gdef\@journal{bacteria} + \gdef\@journalfull{Bacteria} + \gdef\@journalshort{Bacteria} + \gdef\@doiabbr{bacteria} + \gdef\@ISSN{2674-1334} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{batteries}{% + \gdef\@journal{batteries} + \gdef\@journalfull{Batteries} + \gdef\@journalshort{Batteries} + \gdef\@doiabbr{batteries} + \gdef\@ISSN{2313-0105} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{bcrc}{% + \gdef\@journal{bcrc} + \gdef\@journalfull{Breast Cancer Research and Care} + \gdef\@journalshort{Breast Cancer Res. Care} + \gdef\@doiabbr{bcrc} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{bdcc}{% + \gdef\@journal{bdcc} + \gdef\@journalfull{Big Data and Cognitive Computing} + \gdef\@journalshort{Big Data Cogn. Comput.} + \gdef\@doiabbr{bdcc} + \gdef\@ISSN{2504-2289} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{behavsci}{% + \gdef\@journal{behavsci} + \gdef\@journalfull{Behavioral Sciences} + \gdef\@journalshort{Behav. Sci.} + \gdef\@doiabbr{bs} + \gdef\@ISSN{2076-328X} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{beverages}{% + \gdef\@journal{beverages} + \gdef\@journalfull{Beverages} + \gdef\@journalshort{Beverages} + \gdef\@doiabbr{beverages} + \gdef\@ISSN{2306-5710} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biochem}{% + \gdef\@journal{biochem} + \gdef\@journalfull{BioChem} + \gdef\@journalshort{BioChem} + \gdef\@doiabbr{biochem} + \gdef\@ISSN{2673-6411} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{bioengineering}{% + \gdef\@journal{bioengineering} + \gdef\@journalfull{Bioengineering} + \gdef\@journalshort{Bioengineering} + \gdef\@doiabbr{bioengineering} + \gdef\@ISSN{2306-5354} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biologics}{% + \gdef\@journal{biologics} + \gdef\@journalfull{Biologics} + \gdef\@journalshort{Biologics} + \gdef\@doiabbr{biologics} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biology}{% + \gdef\@journal{biology} + \gdef\@journalfull{Biology} + \gdef\@journalshort{Biology} + \gdef\@doiabbr{biology} + \gdef\@ISSN{2079-7737} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biomass}{% + \gdef\@journal{biomass} + \gdef\@journalfull{Biomass} + \gdef\@journalshort{Biomass} + \gdef\@doiabbr{biomass} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biomechanics}{% + \gdef\@journal{biomechanics} + \gdef\@journalfull{Biomechanics} + \gdef\@journalshort{Biomechanics} + \gdef\@doiabbr{biomechanics} + \gdef\@ISSN{2673-7078} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biomed}{% + \gdef\@journal{biomed} + \gdef\@journalfull{BioMed} + \gdef\@journalshort{BioMed} + \gdef\@doiabbr{biomed} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biomedicines}{% + \gdef\@journal{biomedicines} + \gdef\@journalfull{Biomedicines} + \gdef\@journalshort{Biomedicines} + \gdef\@doiabbr{biomedicines} + \gdef\@ISSN{2227-9059} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biomedinformatics}{% + \gdef\@journal{biomedinformatics} + \gdef\@journalfull{BioMedInformatics} + \gdef\@journalshort{BioMedInformatics} + \gdef\@doiabbr{biomedinformatics} + \gdef\@ISSN{2673-7426} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biomimetics}{% + \gdef\@journal{biomimetics} + \gdef\@journalfull{Biomimetics} + \gdef\@journalshort{Biomimetics} + \gdef\@doiabbr{biomimetics} + \gdef\@ISSN{2313-7673} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biomolecules}{% + \gdef\@journal{biomolecules} + \gdef\@journalfull{Biomolecules} + \gdef\@journalshort{Biomolecules} + \gdef\@doiabbr{biom} + \gdef\@ISSN{2218-273X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biophysica}{% + \gdef\@journal{biophysica} + \gdef\@journalfull{Biophysica} + \gdef\@journalshort{Biophysica} + \gdef\@doiabbr{biophysica} + \gdef\@ISSN{2673-4125} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{bioresourbioprod}{% + \gdef\@journal{bioresourbioprod} + \gdef\@journalfull{Bioresources and Bioproducts} + \gdef\@journalshort{Bioresour. Bioprod.} + \gdef\@doiabbr{bioresourbioprod} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biosensors}{% + \gdef\@journal{biosensors} + \gdef\@journalfull{Biosensors} + \gdef\@journalshort{Biosensors} + \gdef\@doiabbr{bios} + \gdef\@ISSN{2079-6374} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biosphere}{% + \gdef\@journal{biosphere} + \gdef\@journalfull{Biosphere} + \gdef\@journalshort{Biosphere} + \gdef\@doiabbr{biosphere} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{biotech}{% + \gdef\@journal{biotech} + \gdef\@journalfull{BioTech} + \gdef\@journalshort{BioTech} + \gdef\@doiabbr{biotech} + \gdef\@ISSN{2673-6284} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{birds}{% + \gdef\@journal{birds} + \gdef\@journalfull{Birds} + \gdef\@journalshort{Birds} + \gdef\@doiabbr{birds} + \gdef\@ISSN{2673-6004} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{blockchains}{% + \gdef\@journal{blockchains} + \gdef\@journalfull{Blockchains} + \gdef\@journalshort{Blockchains} + \gdef\@doiabbr{blockchains} + \gdef\@ISSN{2813-5288} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{bloods}{% + \gdef\@journal{bloods} + \gdef\@journalfull{Bloods} + \gdef\@journalshort{Bloods} + \gdef\@doiabbr{bloods} + \gdef\@ISSN{2673-415X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{blsf}{% + \gdef\@journal{blsf} + \gdef\@journalfull{Biology and Life Sciences Forum} + \gdef\@journalshort{Biol. Life Sci. Forum} + \gdef\@doiabbr{blsf} + \gdef\@ISSN{2673-9976} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{brainsci}{% + \gdef\@journal{brainsci} + \gdef\@journalfull{Brain Sciences} + \gdef\@journalshort{Brain Sci.} + \gdef\@doiabbr{brainsci} + \gdef\@ISSN{2076-3425} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{breath}{% + \gdef\@journal{breath} + \gdef\@journalfull{Breath} + \gdef\@journalshort{Breath} + \gdef\@doiabbr{breath} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{buildings}{% + \gdef\@journal{buildings} + \gdef\@journalfull{Buildings} + \gdef\@journalshort{Buildings} + \gdef\@doiabbr{buildings} + \gdef\@ISSN{2075-5309} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{businesses}{% + \gdef\@journal{businesses} + \gdef\@journalfull{Businesses} + \gdef\@journalshort{Businesses} + \gdef\@doiabbr{businesses} + \gdef\@ISSN{2673-7116} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{cancers}{% + \gdef\@journal{cancers} + \gdef\@journalfull{Cancers} + \gdef\@journalshort{Cancers} + \gdef\@doiabbr{cancers} + \gdef\@ISSN{2072-6694} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{carbon}{% + \gdef\@journal{carbon} + \gdef\@journalfull{C} + \gdef\@journalshort{C} + \gdef\@doiabbr{c} + \gdef\@ISSN{2311-5629} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cardio}{% + \gdef\@journal{cardio} + \gdef\@journalfull{Cardio} + \gdef\@journalshort{Cardio} + \gdef\@doiabbr{cardio} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cardiogenetics}{% + \gdef\@journal{cardiogenetics} + \gdef\@journalfull{Cardiogenetics} + \gdef\@journalshort{Cardiogenetics} + \gdef\@doiabbr{cardiogenetics} + \gdef\@ISSN{2035-8148} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cardiovascmed}{% + \gdef\@journal{cardiovascmed} + \gdef\@journalfull{Cardiovascular Medicine} + \gdef\@journalshort{Cardiovasc. Med.} + \gdef\@doiabbr{cardiovascmed} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{catalysts}{% + \gdef\@journal{catalysts} + \gdef\@journalfull{Catalysts} + \gdef\@journalshort{Catalysts} + \gdef\@doiabbr{catal} + \gdef\@ISSN{2073-4344} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cells}{% + \gdef\@journal{cells} + \gdef\@journalfull{Cells} + \gdef\@journalshort{Cells} + \gdef\@doiabbr{cells} + \gdef\@ISSN{2073-4409} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ceramics}{% + \gdef\@journal{ceramics} + \gdef\@journalfull{Ceramics} + \gdef\@journalshort{Ceramics} + \gdef\@doiabbr{ceramics} + \gdef\@ISSN{2571-6131} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{challenges}{% + \gdef\@journal{challenges} + \gdef\@journalfull{Challenges---Journal of Planetary Health} + \gdef\@journalshort{Challenges} + \gdef\@doiabbr{challe} + \gdef\@ISSN{2078-1547} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{chemengineering}{% + \gdef\@journal{chemengineering} + \gdef\@journalfull{ChemEngineering} + \gdef\@journalshort{ChemEngineering} + \gdef\@doiabbr{chemengineering} + \gdef\@ISSN{2305-7084} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{chemistry}{% + \gdef\@journal{chemistry} + \gdef\@journalfull{Chemistry} + \gdef\@journalshort{Chemistry} + \gdef\@doiabbr{chemistry} + \gdef\@ISSN{2624-8549} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{chemosensors}{% + \gdef\@journal{chemosensors} + \gdef\@journalfull{Chemosensors} + \gdef\@journalshort{Chemosensors} + \gdef\@doiabbr{chemosensors} + \gdef\@ISSN{2227-9040} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{chemproc}{% + \gdef\@journal{chemproc} + \gdef\@journalfull{Chemistry Proceedings} + \gdef\@journalshort{Chem. Proc.} + \gdef\@doiabbr{chemproc} + \gdef\@ISSN{2673-4583} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{chicagojournal}{% + \gdef\@journal{chicagojournal} + \gdef\@journalfull{Journal Not Specified} + \gdef\@journalshort{Journal Not Specified} + \gdef\@doiabbr{} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{children}{% + \gdef\@journal{children} + \gdef\@journalfull{Children} + \gdef\@journalshort{Children} + \gdef\@doiabbr{children} + \gdef\@ISSN{2227-9067} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{chips}{% + \gdef\@journal{chips} + \gdef\@journalfull{Chips} + \gdef\@journalshort{Chips} + \gdef\@doiabbr{chips} + \gdef\@ISSN{2674-0729} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cimb}{% + \gdef\@journal{cimb} + \gdef\@journalfull{Current Issues in Molecular Biology} + \gdef\@journalshort{Curr. Issues Mol. Biol.} + \gdef\@doiabbr{cimb} + \gdef\@ISSN{1467-3045} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{civileng}{% + \gdef\@journal{civileng} + \gdef\@journalfull{CivilEng} + \gdef\@journalshort{CivilEng} + \gdef\@doiabbr{civileng} + \gdef\@ISSN{2673-4109} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cleantechnol}{% + \gdef\@journal{cleantechnol} + \gdef\@journalfull{Clean Technologies} + \gdef\@journalshort{Clean Technol.} + \gdef\@doiabbr{cleantechnol} + \gdef\@ISSN{2571-8797} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{climate}{% + \gdef\@journal{climate} + \gdef\@journalfull{Climate} + \gdef\@journalshort{Climate} + \gdef\@doiabbr{cli} + \gdef\@ISSN{2225-1154} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{clinbioenerg}{% + \gdef\@journal{clinbioenerg} + \gdef\@journalfull{Clinical Bioenergetics} + \gdef\@journalshort{Clin. Bioenerg.} + \gdef\@doiabbr{clinbioenerg} + \gdef\@ISSN{3042-5158} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{clinpract}{% + \gdef\@journal{clinpract} + \gdef\@journalfull{Clinics and Practice} + \gdef\@journalshort{Clin. Pract.} + \gdef\@doiabbr{clinpract} + \gdef\@ISSN{2039-7283} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{clockssleep}{% + \gdef\@journal{clockssleep} + \gdef\@journalfull{Clocks \& Sleep} + \gdef\@journalshort{Clocks\&Sleep} + \gdef\@doiabbr{clockssleep} + \gdef\@ISSN{2624-5175} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cmd}{% + \gdef\@journal{cmd} + \gdef\@journalfull{Corrosion and Materials Degradation} + \gdef\@journalshort{Corros. Mater. Degrad.} + \gdef\@doiabbr{cmd} + \gdef\@ISSN{2624-5558} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cmtr}{% + \gdef\@journal{cmtr} + \gdef\@journalfull{Craniomaxillofacial Trauma \& Reconstruction} + \gdef\@journalshort{Craniomaxillofac. Trauma Reconstr.} + \gdef\@doiabbr{cmtr} + \gdef\@ISSN{1943-3883} + \gdef\@societyowner{AO Foundation} + \gdef\@journaltype{ACS}} +\DeclareOption{coasts}{% + \gdef\@journal{coasts} + \gdef\@journalfull{Coasts} + \gdef\@journalshort{Coasts} + \gdef\@doiabbr{coasts} + \gdef\@ISSN{2673-964X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{coatings}{% + \gdef\@journal{coatings} + \gdef\@journalfull{Coatings} + \gdef\@journalshort{Coatings} + \gdef\@doiabbr{coatings} + \gdef\@ISSN{2079-6412} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{colloids}{% + \gdef\@journal{colloids} + \gdef\@journalfull{Colloids and Interfaces} + \gdef\@journalshort{Colloids Interfaces} + \gdef\@doiabbr{colloids} + \gdef\@ISSN{2504-5377} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{colorants}{% + \gdef\@journal{colorants} + \gdef\@journalfull{Colorants} + \gdef\@journalshort{Colorants} + \gdef\@doiabbr{colorants} + \gdef\@ISSN{2079-6447} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{commodities}{% + \gdef\@journal{commodities} + \gdef\@journalfull{Commodities} + \gdef\@journalshort{Commodities} + \gdef\@doiabbr{commodities} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{complexities}{% + \gdef\@journal{complexities} + \gdef\@journalfull{Complexities} + \gdef\@journalshort{Complexities} + \gdef\@doiabbr{complexities} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{complications}{% + \gdef\@journal{complications} + \gdef\@journalfull{Complications} + \gdef\@journalshort{Complications} + \gdef\@doiabbr{complications} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{compounds}{% + \gdef\@journal{compounds} + \gdef\@journalfull{Compounds} + \gdef\@journalshort{Compounds} + \gdef\@doiabbr{compounds} + \gdef\@ISSN{2673-6918} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{computation}{% + \gdef\@journal{computation} + \gdef\@journalfull{Computation} + \gdef\@journalshort{Computation} + \gdef\@doiabbr{computation} + \gdef\@ISSN{2079-3197} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{computers}{% + \gdef\@journal{computers} + \gdef\@journalfull{Computers} + \gdef\@journalshort{Computers} + \gdef\@doiabbr{computers} + \gdef\@ISSN{2073-431X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{condensedmatter}{% + \gdef\@journal{condensedmatter} + \gdef\@journalfull{Condensed Matter} + \gdef\@journalshort{Condens. Matter} + \gdef\@doiabbr{condmat} + \gdef\@ISSN{2410-3896} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{conservation}{% + \gdef\@journal{conservation} + \gdef\@journalfull{Conservation} + \gdef\@journalshort{Conservation} + \gdef\@doiabbr{conservation} + \gdef\@ISSN{2673-7159} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{constrmater}{% + \gdef\@journal{constrmater} + \gdef\@journalfull{Construction Materials} + \gdef\@journalshort{Constr. Mater.} + \gdef\@doiabbr{constrmater} + \gdef\@ISSN{2673-7108} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cosmetics}{% + \gdef\@journal{cosmetics} + \gdef\@journalfull{Cosmetics} + \gdef\@journalshort{Cosmetics} + \gdef\@doiabbr{cosmetics} + \gdef\@ISSN{2079-9284} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{covid}{% + \gdef\@journal{covid} + \gdef\@journalfull{COVID} + \gdef\@journalshort{COVID} + \gdef\@doiabbr{covid} + \gdef\@ISSN{2673-8112} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{crops}{% + \gdef\@journal{crops} + \gdef\@journalfull{Crops} + \gdef\@journalshort{Crops} + \gdef\@doiabbr{crops} + \gdef\@ISSN{2673-7655} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cryo}{% + \gdef\@journal{cryo} + \gdef\@journalfull{Cryo} + \gdef\@journalshort{Cryo} + \gdef\@doiabbr{cryo} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cryptography}{% + \gdef\@journal{cryptography} + \gdef\@journalfull{Cryptography} + \gdef\@journalshort{Cryptography} + \gdef\@doiabbr{cryptography} + \gdef\@ISSN{2410-387X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{crystals}{% + \gdef\@journal{crystals} + \gdef\@journalfull{Crystals} + \gdef\@journalshort{Crystals} + \gdef\@doiabbr{cryst} + \gdef\@ISSN{2073-4352} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{csmf}{% + \gdef\@journal{csmf} + \gdef\@journalfull{Computer Sciences \& Mathematics Forum} + \gdef\@journalshort{Comput. Sci. Math. Forum} + \gdef\@doiabbr{csmf} + \gdef\@ISSN{2813-0324} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ctn}{% + \gdef\@journal{ctn} + \gdef\@journalfull{Clinical and Translational Neuroscience} + \gdef\@journalshort{Clin. Transl. Neurosci.} + \gdef\@doiabbr{ctn} + \gdef\@ISSN{2514-183X} + \gdef\@societyowner{Swiss Federation of Clinical Neuro-Societies} + \gdef\@journaltype{ACS}} +\DeclareOption{culture}{% + \gdef\@journal{culture} + \gdef\@journalfull{Culture} + \gdef\@journalshort{Culture} + \gdef\@doiabbr{culture} + \gdef\@ISSN{3042-8165} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{curroncol}{% + \gdef\@journal{curroncol} + \gdef\@journalfull{Current Oncology} + \gdef\@journalshort{Curr. Oncol.} + \gdef\@doiabbr{curroncol} + \gdef\@ISSN{1718-7729} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{cyber}{% + \gdef\@journal{cyber} + \gdef\@journalfull{Cyber} + \gdef\@journalshort{Cyber} + \gdef\@doiabbr{cyber} + \gdef\@ISSN{2624-800X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{dairy}{% + \gdef\@journal{dairy} + \gdef\@journalfull{Dairy} + \gdef\@journalshort{Dairy} + \gdef\@doiabbr{dairy} + \gdef\@ISSN{2624-862X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{data}{% + \gdef\@journal{data} + \gdef\@journalfull{Data} + \gdef\@journalshort{Data} + \gdef\@doiabbr{data} + \gdef\@ISSN{2306-5729} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ddc}{% + \gdef\@journal{ddc} + \gdef\@journalfull{Drugs and Drug Candidates} + \gdef\@journalshort{Drugs Drug Candidates} + \gdef\@doiabbr{ddc} + \gdef\@ISSN{2813-2998} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{dentistry}{% + \gdef\@journal{dentistry} + \gdef\@journalfull{Dentistry Journal} + \gdef\@journalshort{Dent. J.} + \gdef\@doiabbr{dj} + \gdef\@ISSN{2304-6767} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{dermato}{% + \gdef\@journal{dermato} + \gdef\@journalfull{Dermato} + \gdef\@journalshort{Dermato} + \gdef\@doiabbr{dermato} + \gdef\@ISSN{2673-6179} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{dermatopathology}{% + \gdef\@journal{dermatopathology} + \gdef\@journalfull{Dermatopathology} + \gdef\@journalshort{Dermatopathology} + \gdef\@doiabbr{dermatopathology} + \gdef\@ISSN{2296-3529} + \gdef\@societyowner{European Society of Dermatopathology} + \gdef\@journaltype{ACS}} +\DeclareOption{designs}{% + \gdef\@journal{designs} + \gdef\@journalfull{Designs} + \gdef\@journalshort{Designs} + \gdef\@doiabbr{designs} + \gdef\@ISSN{2411-9660} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{devices}{% + \gdef\@journal{devices} + \gdef\@journalfull{Devices} + \gdef\@journalshort{Devices} + \gdef\@doiabbr{devices} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{dhi}{% + \gdef\@journal{dhi} + \gdef\@journalfull{Digital Health and Innovation} + \gdef\@journalshort{Digit. Health Innov.} + \gdef\@doiabbr{dhi} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{diabetology}{% + \gdef\@journal{diabetology} + \gdef\@journalfull{Diabetology} + \gdef\@journalshort{Diabetology} + \gdef\@doiabbr{diabetology} + \gdef\@ISSN{2673-4540} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{diagnostics}{% + \gdef\@journal{diagnostics} + \gdef\@journalfull{Diagnostics} + \gdef\@journalshort{Diagnostics} + \gdef\@doiabbr{diagnostics} + \gdef\@ISSN{2075-4418} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{dietetics}{% + \gdef\@journal{dietetics} + \gdef\@journalfull{Dietetics} + \gdef\@journalshort{Dietetics} + \gdef\@doiabbr{dietetics} + \gdef\@ISSN{2674-0311} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{digital}{% + \gdef\@journal{digital} + \gdef\@journalfull{Digital} + \gdef\@journalshort{Digital} + \gdef\@doiabbr{digital} + \gdef\@ISSN{2673-6470} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{disabilities}{% + \gdef\@journal{disabilities} + \gdef\@journalfull{Disabilities} + \gdef\@journalshort{Disabilities} + \gdef\@doiabbr{disabilities} + \gdef\@ISSN{2673-7272} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{diseases}{% + \gdef\@journal{diseases} + \gdef\@journalfull{Diseases} + \gdef\@journalshort{Diseases} + \gdef\@doiabbr{diseases} + \gdef\@ISSN{2079-9721} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{diversity}{% + \gdef\@journal{diversity} + \gdef\@journalfull{Diversity} + \gdef\@journalshort{Diversity} + \gdef\@doiabbr{d} + \gdef\@ISSN{1424-2818} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{dna}{% + \gdef\@journal{dna} + \gdef\@journalfull{DNA} + \gdef\@journalshort{DNA} + \gdef\@doiabbr{dna} + \gdef\@ISSN{2673-8856} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{drones}{% + \gdef\@journal{drones} + \gdef\@journalfull{Drones} + \gdef\@journalshort{Drones} + \gdef\@doiabbr{drones} + \gdef\@ISSN{2504-446X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{drugreact}{% + \gdef\@journal{drugreact} + \gdef\@journalfull{Drug Reactions} + \gdef\@journalshort{Drug React.} + \gdef\@doiabbr{drugreact} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{drylands}{% + \gdef\@journal{drylands} + \gdef\@journalfull{Drylands} + \gdef\@journalshort{Drylands} + \gdef\@doiabbr{drylands} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{dynamics}{% + \gdef\@journal{dynamics} + \gdef\@journalfull{Dynamics} + \gdef\@journalshort{Dynamics} + \gdef\@doiabbr{dynamics} + \gdef\@ISSN{2673-8716} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{earth}{% + \gdef\@journal{earth} + \gdef\@journalfull{Earth} + \gdef\@journalshort{Earth} + \gdef\@doiabbr{earth} + \gdef\@ISSN{2673-4834} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ebj}{% + \gdef\@journal{ebj} + \gdef\@journalfull{European Burn Journal} + \gdef\@journalshort{Eur. Burn J.} + \gdef\@doiabbr{ebj} + \gdef\@ISSN{2673-1991} + \gdef\@societyowner{European Burns Association} + \gdef\@journaltype{ACS}} +\DeclareOption{ecm}{% + \gdef\@journal{ecm} + \gdef\@journalfull{Emergency Care and Medicine} + \gdef\@journalshort{Emerg. Care Med.} + \gdef\@doiabbr{ecm} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ecologies}{% + \gdef\@journal{ecologies} + \gdef\@journalfull{Ecologies} + \gdef\@journalshort{Ecologies} + \gdef\@doiabbr{ecologies} + \gdef\@ISSN{2673-4133} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{econometrics}{% + \gdef\@journal{econometrics} + \gdef\@journalfull{Econometrics} + \gdef\@journalshort{Econometrics} + \gdef\@doiabbr{econometrics} + \gdef\@ISSN{2225-1146} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{economies}{% + \gdef\@journal{economies} + \gdef\@journalfull{Economies} + \gdef\@journalshort{Economies} + \gdef\@doiabbr{economies} + \gdef\@ISSN{2227-7099} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{edm}{% + \gdef\@journal{edm} + \gdef\@journalfull{Entropic and Disordered Matter} + \gdef\@journalshort{Entropic Disord. Matter} + \gdef\@doiabbr{edm} + \gdef\@ISSN{3042-7592} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{education}{% + \gdef\@journal{education} + \gdef\@journalfull{Education Sciences} + \gdef\@journalshort{Educ. Sci.} + \gdef\@doiabbr{educsci} + \gdef\@ISSN{2227-7102} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{eesp}{% + \gdef\@journal{eesp} + \gdef\@journalfull{Environmental and Earth Sciences Proceedings} + \gdef\@journalshort{Environ. Earth Sci. Proc.} + \gdef\@doiabbr{eesp} + \gdef\@ISSN{3042-5743} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ejihpe}{% + \gdef\@journal{ejihpe} + \gdef\@journalfull{European Journal of Investigation in Health, Psychology and Education} + \gdef\@journalshort{Eur. J. Investig. Health Psychol. Educ.} + \gdef\@doiabbr{ejihpe} + \gdef\@ISSN{2254-9625} + \gdef\@societyowner{University Association of Education and Psychology} + \gdef\@journaltype{APA}} +\DeclareOption{electricity}{% + \gdef\@journal{electricity} + \gdef\@journalfull{Electricity} + \gdef\@journalshort{Electricity} + \gdef\@doiabbr{electricity} + \gdef\@ISSN{2673-4826} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{electrochem}{% + \gdef\@journal{electrochem} + \gdef\@journalfull{Electrochem} + \gdef\@journalshort{Electrochem} + \gdef\@doiabbr{electrochem} + \gdef\@ISSN{2673-3293} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{electronicmat}{% + \gdef\@journal{electronicmat} + \gdef\@journalfull{Electronic Materials} + \gdef\@journalshort{Electron. Mater.} + \gdef\@doiabbr{electronicmat} + \gdef\@ISSN{2673-3978} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{electronics}{% + \gdef\@journal{electronics} + \gdef\@journalfull{Electronics} + \gdef\@journalshort{Electronics} + \gdef\@doiabbr{electronics} + \gdef\@ISSN{2079-9292} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{embodiedintell}{% + \gdef\@journal{embodiedintell} + \gdef\@journalfull{Embodied Intelligence} + \gdef\@journalshort{Embodied Intell.} + \gdef\@doiabbr{embodiedintell} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{encyclopedia}{% + \gdef\@journal{encyclopedia} + \gdef\@journalfull{Encyclopedia} + \gdef\@journalshort{Encyclopedia} + \gdef\@doiabbr{encyclopedia} + \gdef\@ISSN{2673-8392} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{endocrines}{% + \gdef\@journal{endocrines} + \gdef\@journalfull{Endocrines} + \gdef\@journalshort{Endocrines} + \gdef\@doiabbr{endocrines} + \gdef\@ISSN{2673-396X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{energies}{% + \gdef\@journal{energies} + \gdef\@journalfull{Energies} + \gdef\@journalshort{Energies} + \gdef\@doiabbr{en} + \gdef\@ISSN{1996-1073} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{eng}{% + \gdef\@journal{eng} + \gdef\@journalfull{Eng} + \gdef\@journalshort{Eng} + \gdef\@doiabbr{eng} + \gdef\@ISSN{2673-4117} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{engproc}{% + \gdef\@journal{engproc} + \gdef\@journalfull{Engineering Proceedings} + \gdef\@journalshort{Eng. Proc.} + \gdef\@doiabbr{engproc} + \gdef\@ISSN{2673-4591} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{entomology}{% + \gdef\@journal{entomology} + \gdef\@journalfull{Entomology} + \gdef\@journalshort{Entomology} + \gdef\@doiabbr{entomology} + \gdef\@ISSN{2813-0502} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{entropy}{% + \gdef\@journal{entropy} + \gdef\@journalfull{Entropy} + \gdef\@journalshort{Entropy} + \gdef\@doiabbr{e} + \gdef\@ISSN{1099-4300} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{environments}{% + \gdef\@journal{environments} + \gdef\@journalfull{Environments} + \gdef\@journalshort{Environments} + \gdef\@doiabbr{environments} + \gdef\@ISSN{2076-3298} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{environremediat}{% + \gdef\@journal{environremediat} + \gdef\@journalfull{Environmental Remediation} + \gdef\@journalshort{Environ. Remediat.} + \gdef\@doiabbr{environremediat} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{epidemiologia}{% + \gdef\@journal{epidemiologia} + \gdef\@journalfull{Epidemiologia} + \gdef\@journalshort{Epidemiologia} + \gdef\@doiabbr{epidemiologia} + \gdef\@ISSN{2673-3986} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{epigenomes}{% + \gdef\@journal{epigenomes} + \gdef\@journalfull{Epigenomes} + \gdef\@journalshort{Epigenomes} + \gdef\@doiabbr{epigenomes} + \gdef\@ISSN{2075-4655} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{epilepsy}{% + \gdef\@journal{epilepsy} + \gdef\@journalfull{Epilepsy} + \gdef\@journalshort{Epilepsy} + \gdef\@doiabbr{epilepsy} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{esa}{% + \gdef\@journal{esa} + \gdef\@journalfull{Energy Storage and Applications} + \gdef\@journalshort{Energy Storage Appl.} + \gdef\@doiabbr{esa} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{est}{% + \gdef\@journal{est} + \gdef\@journalfull{Electrochemical Science and Technology} + \gdef\@journalshort{Electrochem. Sci. Technol.} + \gdef\@doiabbr{est} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{famsci}{% + \gdef\@journal{famsci} + \gdef\@journalfull{Family Sciences} + \gdef\@journalshort{Fam. Sci.} + \gdef\@doiabbr{famsci} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{fclam}{% + \gdef\@journal{fclam} + \gdef\@journalfull{Future Collections, Libraries, Archives, and Museums} + \gdef\@journalshort{Future Collect. Libr. Arch. Mus.} + \gdef\@doiabbr{fclam} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{fermentation}{% + \gdef\@journal{fermentation} + \gdef\@journalfull{Fermentation} + \gdef\@journalshort{Fermentation} + \gdef\@doiabbr{fermentation} + \gdef\@ISSN{2311-5637} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{fibers}{% + \gdef\@journal{fibers} + \gdef\@journalfull{Fibers} + \gdef\@journalshort{Fibers} + \gdef\@doiabbr{fib} + \gdef\@ISSN{2079-6439} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{fintech}{% + \gdef\@journal{fintech} + \gdef\@journalfull{FinTech} + \gdef\@journalshort{FinTech} + \gdef\@doiabbr{fintech} + \gdef\@ISSN{2674-1032} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{fire}{% + \gdef\@journal{fire} + \gdef\@journalfull{Fire} + \gdef\@journalshort{Fire} + \gdef\@doiabbr{fire} + \gdef\@ISSN{2571-6255} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{fishes}{% + \gdef\@journal{fishes} + \gdef\@journalfull{Fishes} + \gdef\@journalshort{Fishes} + \gdef\@doiabbr{fishes} + \gdef\@ISSN{2410-3888} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{fluids}{% + \gdef\@journal{fluids} + \gdef\@journalfull{Fluids} + \gdef\@journalshort{Fluids} + \gdef\@doiabbr{fluids} + \gdef\@ISSN{2311-5521} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{foodeng}{% + \gdef\@journal{foodeng} + \gdef\@journalfull{Food Engineering} + \gdef\@journalshort{Food Eng.} + \gdef\@doiabbr{foodeng} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{foods}{% + \gdef\@journal{foods} + \gdef\@journalfull{Foods} + \gdef\@journalshort{Foods} + \gdef\@doiabbr{foods} + \gdef\@ISSN{2304-8158} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{forecasting}{% + \gdef\@journal{forecasting} + \gdef\@journalfull{Forecasting} + \gdef\@journalshort{Forecasting} + \gdef\@doiabbr{forecast} + \gdef\@ISSN{2571-9394} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{forensicsci}{% + \gdef\@journal{forensicsci} + \gdef\@journalfull{Forensic Sciences} + \gdef\@journalshort{Forensic Sci.} + \gdef\@doiabbr{forensicsci} + \gdef\@ISSN{2673-6756} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{forests}{% + \gdef\@journal{forests} + \gdef\@journalfull{Forests} + \gdef\@journalshort{Forests} + \gdef\@doiabbr{f} + \gdef\@ISSN{1999-4907} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{fossstud}{% + \gdef\@journal{fossstud} + \gdef\@journalfull{Fossil Studies} + \gdef\@journalshort{Foss. Stud.} + \gdef\@doiabbr{fossils} + \gdef\@ISSN{2813-6284} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{foundations}{% + \gdef\@journal{foundations} + \gdef\@journalfull{Foundations} + \gdef\@journalshort{Foundations} + \gdef\@doiabbr{foundations} + \gdef\@ISSN{2673-9321} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{fractalfract}{% + \gdef\@journal{fractalfract} + \gdef\@journalfull{Fractal and Fractional} + \gdef\@journalshort{Fractal Fract.} + \gdef\@doiabbr{fractalfract} + \gdef\@ISSN{2504-3110} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{freshwater}{% + \gdef\@journal{freshwater} + \gdef\@journalfull{Freshwater} + \gdef\@journalshort{Freshwater} + \gdef\@doiabbr{freshwater} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{fuels}{% + \gdef\@journal{fuels} + \gdef\@journalfull{Fuels} + \gdef\@journalshort{Fuels} + \gdef\@doiabbr{fuels} + \gdef\@ISSN{2673-3994} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{future}{% + \gdef\@journal{future} + \gdef\@journalfull{Future} + \gdef\@journalshort{Future} + \gdef\@doiabbr{future} + \gdef\@ISSN{2813-2882} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{futureinternet}{% + \gdef\@journal{futureinternet} + \gdef\@journalfull{Future Internet} + \gdef\@journalshort{Future Internet} + \gdef\@doiabbr{fi} + \gdef\@ISSN{1999-5903} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{futurepharmacol}{% + \gdef\@journal{futurepharmacol} + \gdef\@journalfull{Future Pharmacology} + \gdef\@journalshort{Future Pharmacol.} + \gdef\@doiabbr{futurepharmacol} + \gdef\@ISSN{2673-9879} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{futurephys}{% + \gdef\@journal{futurephys} + \gdef\@journalfull{Future Physics} + \gdef\@journalshort{Future Phys.} + \gdef\@doiabbr{futurephys} + \gdef\@ISSN{2624-6503} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{futuretransp}{% + \gdef\@journal{futuretransp} + \gdef\@journalfull{Future Transportation} + \gdef\@journalshort{Future Transp.} + \gdef\@doiabbr{futuretransp} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{galaxies}{% + \gdef\@journal{galaxies} + \gdef\@journalfull{Galaxies} + \gdef\@journalshort{Galaxies} + \gdef\@doiabbr{galaxies} + \gdef\@ISSN{2075-4434} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{games}{% + \gdef\@journal{games} + \gdef\@journalfull{Games} + \gdef\@journalshort{Games} + \gdef\@doiabbr{g} + \gdef\@ISSN{2073-4336} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{gases}{% + \gdef\@journal{gases} + \gdef\@journalfull{Gases} + \gdef\@journalshort{Gases} + \gdef\@doiabbr{gases} + \gdef\@ISSN{2673-5628} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{gastroent}{% + \gdef\@journal{gastroent} + \gdef\@journalfull{Gastroenterology Insights} + \gdef\@journalshort{Gastroenterol. Insights} + \gdef\@doiabbr{gastroent} + \gdef\@ISSN{2036-7422} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{gastrointestdisord}{% + \gdef\@journal{gastrointestdisord} + \gdef\@journalfull{Gastrointestinal Disorders} + \gdef\@journalshort{Gastrointest. Disord.} + \gdef\@doiabbr{gidisord} + \gdef\@ISSN{2624-5647} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{gastronomy}{% + \gdef\@journal{gastronomy} + \gdef\@journalfull{Gastronomy} + \gdef\@journalshort{Gastronomy} + \gdef\@doiabbr{gastronomy} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{gels}{% + \gdef\@journal{gels} + \gdef\@journalfull{Gels} + \gdef\@journalshort{Gels} + \gdef\@doiabbr{gels} + \gdef\@ISSN{2310-2861} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{genealogy}{% + \gdef\@journal{genealogy} + \gdef\@journalfull{Genealogy} + \gdef\@journalshort{Genealogy} + \gdef\@doiabbr{genealogy} + \gdef\@ISSN{2313-5778} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{genes}{% + \gdef\@journal{genes} + \gdef\@journalfull{Genes} + \gdef\@journalshort{Genes} + \gdef\@doiabbr{genes} + \gdef\@ISSN{2073-4425} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{geochem}{% + \gdef\@journal{geochem} + \gdef\@journalfull{GeoChem} + \gdef\@journalshort{GeoChem} + \gdef\@doiabbr{geochem} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{geographies}{% + \gdef\@journal{geographies} + \gdef\@journalfull{Geographies} + \gdef\@journalshort{Geographies} + \gdef\@doiabbr{geographies} + \gdef\@ISSN{2673-7086} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{geohazards}{% + \gdef\@journal{geohazards} + \gdef\@journalfull{GeoHazards} + \gdef\@journalshort{GeoHazards} + \gdef\@doiabbr{geohazards} + \gdef\@ISSN{2624-795X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{geomatics}{% + \gdef\@journal{geomatics} + \gdef\@journalfull{Geomatics} + \gdef\@journalshort{Geomatics} + \gdef\@doiabbr{geomatics} + \gdef\@ISSN{2673-7418} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{geometry}{% + \gdef\@journal{geometry} + \gdef\@journalfull{Geometry} + \gdef\@journalshort{Geometry} + \gdef\@doiabbr{geometry} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{geosciences}{% + \gdef\@journal{geosciences} + \gdef\@journalfull{Geosciences} + \gdef\@journalshort{Geosciences} + \gdef\@doiabbr{geosciences} + \gdef\@ISSN{2076-3263} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{geotechnics}{% + \gdef\@journal{geotechnics} + \gdef\@journalfull{Geotechnics} + \gdef\@journalshort{Geotechnics} + \gdef\@doiabbr{geotechnics} + \gdef\@ISSN{2673-7094} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{geriatrics}{% + \gdef\@journal{geriatrics} + \gdef\@journalfull{Geriatrics} + \gdef\@journalshort{Geriatrics} + \gdef\@doiabbr{geriatrics} + \gdef\@ISSN{2308-3417} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{germs}{% + \gdef\@journal{germs} + \gdef\@journalfull{Germs} + \gdef\@journalshort{Germs} + \gdef\@doiabbr{germs} + \gdef\@ISSN{2248-2997} + \gdef\@societyowner{Germs} + \gdef\@journaltype{ACS}} +\DeclareOption{glacies}{% + \gdef\@journal{glacies} + \gdef\@journalfull{Glacies} + \gdef\@journalshort{Glacies} + \gdef\@doiabbr{glacies} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{grainsci}{% + \gdef\@journal{grainsci} + \gdef\@journalfull{Grain Science} + \gdef\@journalshort{Grain Sci.} + \gdef\@doiabbr{grainsci} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{grasses}{% + \gdef\@journal{grasses} + \gdef\@journalfull{Grasses} + \gdef\@journalshort{Grasses} + \gdef\@doiabbr{grasses} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{green}{% + \gdef\@journal{green} + \gdef\@journalfull{Green} + \gdef\@journalshort{Green} + \gdef\@doiabbr{green} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{greenhealth}{% + \gdef\@journal{greenhealth} + \gdef\@journalfull{Green Health} + \gdef\@journalshort{Green Health} + \gdef\@doiabbr{greenhealth} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{gucdd}{% + \gdef\@journal{gucdd} + \gdef\@journalfull{Gout, Urate, and Crystal Deposition Disease} + \gdef\@journalshort{Gout Urate Cryst. Depos. Dis.} + \gdef\@doiabbr{gucdd} + \gdef\@ISSN{} + \gdef\@societyowner{Gout, Hyperuricemia and Crystal Associated Disease Network} + \gdef\@journaltype{ACS}} +\DeclareOption{gynecolcancer}{% + \gdef\@journal{gynecolcancer} + \gdef\@journalfull{Gynecologic Cancer} + \gdef\@journalshort{Gynecol. Cancer} + \gdef\@doiabbr{gynecolcancer} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hardware}{% + \gdef\@journal{hardware} + \gdef\@journalfull{Hardware} + \gdef\@journalshort{Hardware} + \gdef\@doiabbr{hardware} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hazardousmatters}{% + \gdef\@journal{hazardousmatters} + \gdef\@journalfull{Hazardous Matters} + \gdef\@journalshort{Hazard. Matters} + \gdef\@doiabbr{hazardousmatters} + \gdef\@ISSN{0014-0014} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{healthcare}{% + \gdef\@journal{healthcare} + \gdef\@journalfull{Healthcare} + \gdef\@journalshort{Healthcare} + \gdef\@doiabbr{healthcare} + \gdef\@ISSN{2227-9032} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{healthcmater}{% + \gdef\@journal{healthcmater} + \gdef\@journalfull{Healthcare Materials} + \gdef\@journalshort{Healthc. Mater.} + \gdef\@doiabbr{healthcmater} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hearts}{% + \gdef\@journal{hearts} + \gdef\@journalfull{Hearts} + \gdef\@journalshort{Hearts} + \gdef\@doiabbr{hearts} + \gdef\@ISSN{2673-3846} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hemato}{% + \gdef\@journal{hemato} + \gdef\@journalfull{Hemato} + \gdef\@journalshort{Hemato} + \gdef\@doiabbr{hemato} + \gdef\@ISSN{2673-6357} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hematolrep}{% + \gdef\@journal{hematolrep} + \gdef\@journalfull{Hematology Reports} + \gdef\@journalshort{Hematol. Rep.} + \gdef\@doiabbr{hematolrep} + \gdef\@ISSN{2038-8330} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hep}{% + \gdef\@journal{hep} + \gdef\@journalfull{Health Economics and Policy} + \gdef\@journalshort{Health Econ. Policy} + \gdef\@doiabbr{hep} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{heritage}{% + \gdef\@journal{heritage} + \gdef\@journalfull{Heritage} + \gdef\@journalshort{Heritage} + \gdef\@doiabbr{heritage} + \gdef\@ISSN{2571-9408} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{higheredu}{% + \gdef\@journal{higheredu} + \gdef\@journalfull{Trends in Higher Education} + \gdef\@journalshort{Trends High. Educ.} + \gdef\@doiabbr{higheredu} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{highthroughput}{% + \gdef\@journal{highthroughput} + \gdef\@journalfull{High-Throughput} + \gdef\@journalshort{High-Throughput} + \gdef\@doiabbr{ht} + \gdef\@ISSN{2571-5135} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{histories}{% + \gdef\@journal{histories} + \gdef\@journalfull{Histories} + \gdef\@journalshort{Histories} + \gdef\@doiabbr{histories} + \gdef\@ISSN{2409-9252} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{horticulturae}{% + \gdef\@journal{horticulturae} + \gdef\@journalfull{Horticulturae} + \gdef\@journalshort{Horticulturae} + \gdef\@doiabbr{horticulturae} + \gdef\@ISSN{2311-7524} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hospitals}{% + \gdef\@journal{hospitals} + \gdef\@journalfull{Hospitals} + \gdef\@journalshort{Hospitals} + \gdef\@doiabbr{hospitals} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{humanities}{% + \gdef\@journal{humanities} + \gdef\@journalfull{Humanities} + \gdef\@journalshort{Humanities} + \gdef\@doiabbr{h} + \gdef\@ISSN{2076-0787} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{humans}{% + \gdef\@journal{humans} + \gdef\@journalfull{Humans} + \gdef\@journalshort{Humans} + \gdef\@doiabbr{humans} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{hydrobiology}{% + \gdef\@journal{hydrobiology} + \gdef\@journalfull{Hydrobiology} + \gdef\@journalshort{Hydrobiology} + \gdef\@doiabbr{hydrobiology} + \gdef\@ISSN{2673-9917} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hydrogen}{% + \gdef\@journal{hydrogen} + \gdef\@journalfull{Hydrogen} + \gdef\@journalshort{Hydrogen} + \gdef\@doiabbr{hydrogen} + \gdef\@ISSN{2673-4141} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hydrology}{% + \gdef\@journal{hydrology} + \gdef\@journalfull{Hydrology} + \gdef\@journalshort{Hydrology} + \gdef\@doiabbr{hydrology} + \gdef\@ISSN{2306-5338} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hydrometeorology}{% + \gdef\@journal{hydrometeorology} + \gdef\@journalfull{Hydrometeorology} + \gdef\@journalshort{Hydrometeorology} + \gdef\@doiabbr{hydrometeorology} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hydropower}{% + \gdef\@journal{hydropower} + \gdef\@journalfull{Hydropower} + \gdef\@journalshort{Hydropower} + \gdef\@doiabbr{hydropower} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{hygiene}{% + \gdef\@journal{hygiene} + \gdef\@journalfull{Hygiene} + \gdef\@journalshort{Hygiene} + \gdef\@doiabbr{hygiene} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{idr}{% + \gdef\@journal{idr} + \gdef\@journalfull{Infectious Disease Reports} + \gdef\@journalshort{Infect. Dis. Rep.} + \gdef\@doiabbr{idr} + \gdef\@ISSN{2036-7449} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{iic}{% + \gdef\@journal{iic} + \gdef\@journalfull{Intelligent Infrastructure and Construction} + \gdef\@journalshort{Intell. Infrastruct. Constr.} + \gdef\@doiabbr{iic} + \gdef\@ISSN{3042-4720} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ijcs}{% + \gdef\@journal{ijcs} + \gdef\@journalfull{International Journal of Cognitive Sciences} + \gdef\@journalshort{Int. J. Cogn. Sci.} + \gdef\@doiabbr{ijcs} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{ijem}{% + \gdef\@journal{ijem} + \gdef\@journalfull{International Journal of Environmental Medicine} + \gdef\@journalshort{Int. J. Environ. Med.} + \gdef\@doiabbr{ijem} + \gdef\@ISSN{3042-7681} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ijerph}{% + \gdef\@journal{ijerph} + \gdef\@journalfull{International Journal of Environmental Research and Public Health} + \gdef\@journalshort{Int. J. Environ. Res. Public Health} + \gdef\@doiabbr{ijerph} + \gdef\@ISSN{1660-4601} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ijfs}{% + \gdef\@journal{ijfs} + \gdef\@journalfull{International Journal of Financial Studies} + \gdef\@journalshort{Int. J. Financial Stud.} + \gdef\@doiabbr{ijfs} + \gdef\@ISSN{2227-7072} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{ijgi}{% + \gdef\@journal{ijgi} + \gdef\@journalfull{ISPRS International Journal of Geo-Information} + \gdef\@journalshort{ISPRS Int. J. Geo-Inf.} + \gdef\@doiabbr{ijgi} + \gdef\@ISSN{2220-9964} + \gdef\@societyowner{International Society for Photogrammetry and Remote Sensing} + \gdef\@journaltype{ACS}} +\DeclareOption{ijmd}{% + \gdef\@journal{ijmd} + \gdef\@journalfull{International Journal of Medical Devices} + \gdef\@journalshort{Int. J. Med. Devices} + \gdef\@doiabbr{ijmd} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ijms}{% + \gdef\@journal{ijms} + \gdef\@journalfull{International Journal of Molecular Sciences} + \gdef\@journalshort{Int. J. Mol. Sci.} + \gdef\@doiabbr{ijms} + \gdef\@ISSN{1422-0067} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ijns}{% + \gdef\@journal{ijns} + \gdef\@journalfull{International Journal of Neonatal Screening} + \gdef\@journalshort{Int. J. Neonatal Screen.} + \gdef\@doiabbr{ijns} + \gdef\@ISSN{2409-515X} + \gdef\@societyowner{International Society for Neonatal Screening} + \gdef\@journaltype{ACS}} +\DeclareOption{ijom}{% + \gdef\@journal{ijom} + \gdef\@journalfull{International Journal of Orofacial Myology and Myofunctional Therapy} + \gdef\@journalshort{Int. J. Orofac. Myol. Myofunct. Ther.} + \gdef\@doiabbr{ijom} + \gdef\@ISSN{} + \gdef\@societyowner{International Association of Orofacial Myology (IAOM)} + \gdef\@journaltype{ACS}} +\DeclareOption{ijp}{% + \gdef\@journal{ijp} + \gdef\@journalfull{International Journal of Phenomics} + \gdef\@journalshort{Int. J. Phenomics} + \gdef\@doiabbr{ijp} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ijpb}{% + \gdef\@journal{ijpb} + \gdef\@journalfull{International Journal of Plant Biology} + \gdef\@journalshort{Int. J. Plant Biol.} + \gdef\@doiabbr{ijpb} + \gdef\@ISSN{2037-0164} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ijt}{% + \gdef\@journal{ijt} + \gdef\@journalfull{International Journal of Topology} + \gdef\@journalshort{Int. J. Topol.} + \gdef\@doiabbr{ijt} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ijtm}{% + \gdef\@journal{ijtm} + \gdef\@journalfull{International Journal of Translational Medicine} + \gdef\@journalshort{Int. J. Transl. Med.} + \gdef\@doiabbr{ijtm} + \gdef\@ISSN{2673-8937} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ijtpp}{% + \gdef\@journal{ijtpp} + \gdef\@journalfull{International Journal of Turbomachinery, Propulsion and Power} + \gdef\@journalshort{Int. J. Turbomach. Propuls. Power} + \gdef\@doiabbr{ijtpp} + \gdef\@ISSN{2504-186X} + \gdef\@societyowner{EUROTURBO} + \gdef\@journaltype{ACS}} +\DeclareOption{ijtst}{% + \gdef\@journal{ijtst} + \gdef\@journalfull{International Journal of Thermofluid Science and Technology} + \gdef\@journalshort{Int. J. Thermofluid Sci. Technol.} + \gdef\@doiabbr{ijtst} + \gdef\@ISSN{3043-1107} + \gdef\@societyowner{Nanjing University of Aeronautics and Astronautics (NUAA)} + \gdef\@journaltype{ACS}} +\DeclareOption{ime}{% + \gdef\@journal{ime} + \gdef\@journalfull{International Medical Education} + \gdef\@journalshort{Int. Med. Educ.} + \gdef\@doiabbr{ime} + \gdef\@ISSN{2813-141X} + \gdef\@societyowner{Academic Society for International Medical Education} + \gdef\@journaltype{ACS}} +\DeclareOption{immuno}{% + \gdef\@journal{immuno} + \gdef\@journalfull{Immuno} + \gdef\@journalshort{Immuno} + \gdef\@doiabbr{immuno} + \gdef\@ISSN{2673-5601} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{industries}{% + \gdef\@journal{industries} + \gdef\@journalfull{Industries} + \gdef\@journalshort{Industries} + \gdef\@doiabbr{industries} + \gdef\@ISSN{3042-9021} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{inflammj}{% + \gdef\@journal{inflammj} + \gdef\@journalfull{Inflammation Journal} + \gdef\@journalshort{Inflamm. J.} + \gdef\@doiabbr{inflammj} + \gdef\@ISSN{3043-0348} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{informatics}{% + \gdef\@journal{informatics} + \gdef\@journalfull{Informatics} + \gdef\@journalshort{Informatics} + \gdef\@doiabbr{informatics} + \gdef\@ISSN{2227-9709} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{information}{% + \gdef\@journal{information} + \gdef\@journalfull{Information} + \gdef\@journalshort{Information} + \gdef\@doiabbr{info} + \gdef\@ISSN{2078-2489} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{infrastructures}{% + \gdef\@journal{infrastructures} + \gdef\@journalfull{Infrastructures} + \gdef\@journalshort{Infrastructures} + \gdef\@doiabbr{infrastructures} + \gdef\@ISSN{2412-3811} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{inorganics}{% + \gdef\@journal{inorganics} + \gdef\@journalfull{Inorganics} + \gdef\@journalshort{Inorganics} + \gdef\@doiabbr{inorganics} + \gdef\@ISSN{2304-6740} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{insects}{% + \gdef\@journal{insects} + \gdef\@journalfull{Insects} + \gdef\@journalshort{Insects} + \gdef\@doiabbr{insects} + \gdef\@ISSN{2075-4450} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{instruments}{% + \gdef\@journal{instruments} + \gdef\@journalfull{Instruments} + \gdef\@journalshort{Instruments} + \gdef\@doiabbr{instruments} + \gdef\@ISSN{2410-390X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{inventions}{% + \gdef\@journal{inventions} + \gdef\@journalfull{Inventions} + \gdef\@journalshort{Inventions} + \gdef\@doiabbr{inventions} + \gdef\@ISSN{2411-5134} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{investment}{% + \gdef\@journal{investment} + \gdef\@journalfull{Investment} + \gdef\@journalshort{Investment} + \gdef\@doiabbr{investment} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{iot}{% + \gdef\@journal{iot} + \gdef\@journalfull{IoT} + \gdef\@journalshort{IoT} + \gdef\@doiabbr{iot} + \gdef\@ISSN{2624-831X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{iron}{% + \gdef\@journal{iron} + \gdef\@journalfull{Iron} + \gdef\@journalshort{Iron} + \gdef\@doiabbr{iron} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{j}{% + \gdef\@journal{j} + \gdef\@journalfull{J} + \gdef\@journalshort{J} + \gdef\@doiabbr{j} + \gdef\@ISSN{2571-8800} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jaestheticmed}{% + \gdef\@journal{jaestheticmed} + \gdef\@journalfull{Journal of Aesthetic Medicine} + \gdef\@journalshort{J. Aesthetic Med.} + \gdef\@doiabbr{jaestheticmed} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jal}{% + \gdef\@journal{jal} + \gdef\@journalfull{Journal of Ageing and Longevity} + \gdef\@journalshort{J. Ageing Longev.} + \gdef\@doiabbr{jal} + \gdef\@ISSN{2673-9259} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{japma}{% + \gdef\@journal{japma} + \gdef\@journalfull{Journal of the American Podiatric Medical Association} + \gdef\@journalshort{J. Am. Podiatr. Med. Assoc.} + \gdef\@doiabbr{japma} + \gdef\@ISSN{1930-8264} + \gdef\@societyowner{American Podiatric Medical Association (APMA)} + \gdef\@journaltype{ACS}} +\DeclareOption{jcdd}{% + \gdef\@journal{jcdd} + \gdef\@journalfull{Journal of Cardiovascular Development and Disease} + \gdef\@journalshort{J. Cardiovasc. Dev. Dis.} + \gdef\@doiabbr{jcdd} + \gdef\@ISSN{2308-3425} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jcm}{% + \gdef\@journal{jcm} + \gdef\@journalfull{Journal of Clinical Medicine} + \gdef\@journalshort{J. Clin. Med.} + \gdef\@doiabbr{jcm} + \gdef\@ISSN{2077-0383} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jcp}{% + \gdef\@journal{jcp} + \gdef\@journalfull{Journal of Cybersecurity and Privacy} + \gdef\@journalshort{J. Cybersecur. Priv.} + \gdef\@doiabbr{jcp} + \gdef\@ISSN{2624-800X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jcrm}{% + \gdef\@journal{jcrm} + \gdef\@journalfull{Journal of CardioRenal Medicine} + \gdef\@journalshort{J. CardioRenal Med.} + \gdef\@doiabbr{jcrm} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jcs}{% + \gdef\@journal{jcs} + \gdef\@journalfull{Journal of Composites Science} + \gdef\@journalshort{J. Compos. Sci.} + \gdef\@doiabbr{jcs} + \gdef\@ISSN{2504-477X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jcto}{% + \gdef\@journal{jcto} + \gdef\@journalfull{Journal of Clinical \& Translational Ophthalmology} + \gdef\@journalshort{J. Clin. Transl. Ophthalmol.} + \gdef\@doiabbr{jcto} + \gdef\@ISSN{2813-1053} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jdad}{% + \gdef\@journal{jdad} + \gdef\@journalfull{Journal of Dementia and Alzheimer’s Disease} + \gdef\@journalshort{J. Dement. Alzheimer's Dis.} + \gdef\@doiabbr{jdad} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jdb}{% + \gdef\@journal{jdb} + \gdef\@journalfull{Journal of Developmental Biology} + \gdef\@journalshort{J. Dev. Biol.} + \gdef\@doiabbr{jdb} + \gdef\@ISSN{2221-3759} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jdream}{% + \gdef\@journal{jdream} + \gdef\@journalfull{Journal of Interdisciplinary Research Applied to Medicine} + \gdef\@journalshort{J. Interdiscip. Res. Appl. Med.} + \gdef\@doiabbr{jdream} + \gdef\@ISSN{2532-7518} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jemr}{% + \gdef\@journal{jemr} + \gdef\@journalfull{Journal of Eye Movement Research} + \gdef\@journalshort{J. Eye Mov. Res.} + \gdef\@doiabbr{jemr} + \gdef\@ISSN{1995-8692} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jeta}{% + \gdef\@journal{jeta} + \gdef\@journalfull{Journal of Experimental and Theoretical Analyses} + \gdef\@journalshort{J. Exp. Theor. Anal.} + \gdef\@doiabbr{jeta} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jfb}{% + \gdef\@journal{jfb} + \gdef\@journalfull{Journal of Functional Biomaterials} + \gdef\@journalshort{J. Funct. Biomater.} + \gdef\@doiabbr{jfb} + \gdef\@ISSN{2079-4983} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jfmk}{% + \gdef\@journal{jfmk} + \gdef\@journalfull{Journal of Functional Morphology and Kinesiology} + \gdef\@journalshort{J. Funct. Morphol. Kinesiol.} + \gdef\@doiabbr{jfmk} + \gdef\@ISSN{2411-5142} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jfth}{% + \gdef\@journal{jfth} + \gdef\@journalfull{Journal of Fast-Track Health} + \gdef\@journalshort{J. Fast-Track Health} + \gdef\@doiabbr{jfth} + \gdef\@ISSN{3043-0844} + \gdef\@societyowner{Fast-Track Health} + \gdef\@journaltype{ACS}} +\DeclareOption{jgbg}{% + \gdef\@journal{jgbg} + \gdef\@journalfull{Journal of Genome Biotechnology and Genetics} + \gdef\@journalshort{J. Genome Biotechnol. Genet.} + \gdef\@doiabbr{jgbg} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jgg}{% + \gdef\@journal{jgg} + \gdef\@journalfull{Journal of Gerontology and Geriatrics} + \gdef\@journalshort{J. Gerontol. Geriatr.} + \gdef\@doiabbr{jgg} + \gdef\@ISSN{2499-6564} + \gdef\@societyowner{Italian Society of Gerontology and Geriatrics (SIGG)} + \gdef\@journaltype{ACS}} +\DeclareOption{jimaging}{% + \gdef\@journal{jimaging} + \gdef\@journalfull{Journal of Imaging} + \gdef\@journalshort{J. Imaging} + \gdef\@doiabbr{jimaging} + \gdef\@ISSN{2313-433X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jintelligence}{% + \gdef\@journal{jintelligence} + \gdef\@journalfull{Journal of Intelligence} + \gdef\@journalshort{J. Intell.} + \gdef\@doiabbr{jintelligence} + \gdef\@ISSN{2079-3200} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{jlpea}{% + \gdef\@journal{jlpea} + \gdef\@journalfull{Journal of Low Power Electronics and Applications} + \gdef\@journalshort{J. Low Power Electron. Appl.} + \gdef\@doiabbr{jlpea} + \gdef\@ISSN{2079-9268} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jmahp}{% + \gdef\@journal{jmahp} + \gdef\@journalfull{Journal of Market Access \& Health Policy} + \gdef\@journalshort{J. Mark. Access Health Policy} + \gdef\@doiabbr{jmahp} + \gdef\@ISSN{2001-6689} + \gdef\@societyowner{Market Access Society} + \gdef\@journaltype{ACS}} +\DeclareOption{jmmp}{% + \gdef\@journal{jmmp} + \gdef\@journalfull{Journal of Manufacturing and Materials Processing} + \gdef\@journalshort{J. Manuf. Mater. Process.} + \gdef\@doiabbr{jmmp} + \gdef\@ISSN{2504-4494} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jmms}{% + \gdef\@journal{jmms} + \gdef\@journalfull{Journal of Mind and Medical Sciences} + \gdef\@journalshort{J. Mind Med. Sci.} + \gdef\@doiabbr{jmms} + \gdef\@ISSN{2392-7674} + \gdef\@societyowner{JMMS} + \gdef\@journaltype{ACS}} +\DeclareOption{jmp}{% + \gdef\@journal{jmp} + \gdef\@journalfull{Journal of Molecular Pathology} + \gdef\@journalshort{J. Mol. Pathol.} + \gdef\@doiabbr{jmp} + \gdef\@ISSN{2673-5261} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jmse}{% + \gdef\@journal{jmse} + \gdef\@journalfull{Journal of Marine Science and Engineering} + \gdef\@journalshort{J. Mar. Sci. Eng.} + \gdef\@doiabbr{jmse} + \gdef\@ISSN{2077-1312} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jne}{% + \gdef\@journal{jne} + \gdef\@journalfull{Journal of Nuclear Engineering} + \gdef\@journalshort{J. Nucl. Eng.} + \gdef\@doiabbr{jne} + \gdef\@ISSN{2673-4362} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jnt}{% + \gdef\@journal{jnt} + \gdef\@journalfull{Journal of Nanotheranostics} + \gdef\@journalshort{J. Nanotheranostics} + \gdef\@doiabbr{jnt} + \gdef\@ISSN{2624-845X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jof}{% + \gdef\@journal{jof} + \gdef\@journalfull{Journal of Fungi} + \gdef\@journalshort{J. Fungi} + \gdef\@doiabbr{jof} + \gdef\@ISSN{2309-608X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{joi}{% + \gdef\@journal{joi} + \gdef\@journalfull{Journal of Innovation} + \gdef\@journalshort{J. Innov.} + \gdef\@doiabbr{joi} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{joitmc}{% + \gdef\@journal{joitmc} + \gdef\@journalfull{Journal of Open Innovation: Technology, Market, and Complexity} + \gdef\@journalshort{J. Open Innov. Technol. Mark. Complex.} + \gdef\@doiabbr{joitmc} + \gdef\@ISSN{2199-8531} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{joma}{% + \gdef\@journal{joma} + \gdef\@journalfull{Journal of the Oman Medical Association} + \gdef\@journalshort{J. Oman Med. Assoc.} + \gdef\@doiabbr{joma} + \gdef\@ISSN{2813-8759} + \gdef\@societyowner{Oman Medical Association} + \gdef\@journaltype{ACS}} +\DeclareOption{jop}{% + \gdef\@journal{jop} + \gdef\@journalfull{Journal of Parks} + \gdef\@journalshort{J. Parks} + \gdef\@doiabbr{jop} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{joptm}{% + \gdef\@journal{joptm} + \gdef\@journalfull{Journal of Optical Materials} + \gdef\@journalshort{J. Opt. Mater.} + \gdef\@doiabbr{joptm} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jor}{% + \gdef\@journal{jor} + \gdef\@journalfull{Journal of Respiration} + \gdef\@journalshort{J. Respir.} + \gdef\@doiabbr{jor} + \gdef\@ISSN{2673-527X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{journalmedia}{% + \gdef\@journal{journalmedia} + \gdef\@journalfull{Journalism and Media} + \gdef\@journalshort{Journal. Media} + \gdef\@doiabbr{journalmedia} + \gdef\@ISSN{2673-5172} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{jox}{% + \gdef\@journal{jox} + \gdef\@journalfull{Journal of Xenobiotics} + \gdef\@journalshort{J. Xenobiot.} + \gdef\@doiabbr{jox} + \gdef\@ISSN{2039-4713} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jpbi}{% + \gdef\@journal{jpbi} + \gdef\@journalfull{Journal of Pharmaceutical and BioTech Industry} + \gdef\@journalshort{J. Pharm. BioTech Ind.} + \gdef\@doiabbr{jpbi} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jphytomed}{% + \gdef\@journal{jphytomed} + \gdef\@journalfull{Journal of Phytomedicine} + \gdef\@journalshort{J. Phytomed.} + \gdef\@doiabbr{jphytomed} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jpm}{% + \gdef\@journal{jpm} + \gdef\@journalfull{Journal of Personalized Medicine} + \gdef\@journalshort{J. Pers. Med.} + \gdef\@doiabbr{jpm} + \gdef\@ISSN{2075-4426} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jrfm}{% + \gdef\@journal{jrfm} + \gdef\@journalfull{Journal of Risk and Financial Management} + \gdef\@journalshort{J. Risk Financial Manag.} + \gdef\@doiabbr{jrfm} + \gdef\@ISSN{1911-8074} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{jsam}{% + \gdef\@journal{jsam} + \gdef\@journalfull{Journal of Strategic and Applied Marketing} + \gdef\@journalshort{J. Strateg. Appl. Mark.} + \gdef\@doiabbr{jsam} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{jsan}{% + \gdef\@journal{jsan} + \gdef\@journalfull{Journal of Sensor and Actuator Networks} + \gdef\@journalshort{J. Sens. Actuator Netw.} + \gdef\@doiabbr{jsan} + \gdef\@ISSN{2224-2708} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jtaer}{% + \gdef\@journal{jtaer} + \gdef\@journalfull{Journal of Theoretical and Applied Electronic Commerce Research} + \gdef\@journalshort{J. Theor. Appl. Electron. Commer. Res.} + \gdef\@doiabbr{jtaer} + \gdef\@ISSN{0718-1876} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jvd}{% + \gdef\@journal{jvd} + \gdef\@journalfull{Journal of Vascular Diseases} + \gdef\@journalshort{J. Vasc. Dis.} + \gdef\@doiabbr{jvd} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{jzbg}{% + \gdef\@journal{jzbg} + \gdef\@journalfull{Journal of Zoological and Botanical Gardens} + \gdef\@journalshort{J. Zool. Bot. Gard.} + \gdef\@doiabbr{jzbg} + \gdef\@ISSN{2673-5636} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{kidneydial}{% + \gdef\@journal{kidneydial} + \gdef\@journalfull{Kidney and Dialysis} + \gdef\@journalshort{Kidney Dial.} + \gdef\@doiabbr{kidneydial} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{kinasesphosphatases}{% + \gdef\@journal{kinasesphosphatases} + \gdef\@journalfull{Kinases and Phosphatases} + \gdef\@journalshort{Kinases Phosphatases} + \gdef\@doiabbr{kinasesphosphatases} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{knowledge}{% + \gdef\@journal{knowledge} + \gdef\@journalfull{Knowledge} + \gdef\@journalshort{Knowledge} + \gdef\@doiabbr{knowledge} + \gdef\@ISSN{2673-9585} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{labmed}{% + \gdef\@journal{labmed} + \gdef\@journalfull{LabMed} + \gdef\@journalshort{LabMed} + \gdef\@doiabbr{labmed} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{laboratories}{% + \gdef\@journal{laboratories} + \gdef\@journalfull{Laboratories} + \gdef\@journalshort{Laboratories} + \gdef\@doiabbr{laboratories} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{lam}{% + \gdef\@journal{lam} + \gdef\@journalfull{Low-Altitude Mobility} + \gdef\@journalshort{Low-Alt. Mobil.} + \gdef\@doiabbr{lam} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{land}{% + \gdef\@journal{land} + \gdef\@journalfull{Land} + \gdef\@journalshort{Land} + \gdef\@doiabbr{land} + \gdef\@ISSN{2073-445X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{languages}{% + \gdef\@journal{languages} + \gdef\@journalfull{Languages} + \gdef\@journalshort{Languages} + \gdef\@doiabbr{languages} + \gdef\@ISSN{2226-471X} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{lasers}{% + \gdef\@journal{lasers} + \gdef\@journalfull{Lasers} + \gdef\@journalshort{Lasers} + \gdef\@doiabbr{lasers} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{laws}{% + \gdef\@journal{laws} + \gdef\@journalfull{Laws} + \gdef\@journalshort{Laws} + \gdef\@doiabbr{laws} + \gdef\@ISSN{2075-471X} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{legumes}{% + \gdef\@journal{legumes} + \gdef\@journalfull{Legumes} + \gdef\@journalshort{Legumes} + \gdef\@doiabbr{legumes} + \gdef\@ISSN{3043-0739} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{life}{% + \gdef\@journal{life} + \gdef\@journalfull{Life} + \gdef\@journalshort{Life} + \gdef\@doiabbr{life} + \gdef\@ISSN{2075-1729} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{lights}{% + \gdef\@journal{lights} + \gdef\@journalfull{Lights} + \gdef\@journalshort{Lights} + \gdef\@doiabbr{lights} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{limnolrev}{% + \gdef\@journal{limnolrev} + \gdef\@journalfull{Limnological Review} + \gdef\@journalshort{Limnol. Rev.} + \gdef\@doiabbr{limnolrev} + \gdef\@ISSN{2300-7575} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{lipidology}{% + \gdef\@journal{lipidology} + \gdef\@journalfull{Lipidology} + \gdef\@journalshort{Lipidology} + \gdef\@doiabbr{lipidology} + \gdef\@ISSN{2813-7086} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{liquids}{% + \gdef\@journal{liquids} + \gdef\@journalfull{Liquids} + \gdef\@journalshort{Liquids} + \gdef\@doiabbr{liquids} + \gdef\@ISSN{2673-8015} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{literature}{% + \gdef\@journal{literature} + \gdef\@journalfull{Literature} + \gdef\@journalshort{Literature} + \gdef\@doiabbr{literature} + \gdef\@ISSN{2410-9789} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{livers}{% + \gdef\@journal{livers} + \gdef\@journalfull{Livers} + \gdef\@journalshort{Livers} + \gdef\@doiabbr{livers} + \gdef\@ISSN{2673-4389} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{logics}{% + \gdef\@journal{logics} + \gdef\@journalfull{Logics} + \gdef\@journalshort{Logics} + \gdef\@doiabbr{logics} + \gdef\@ISSN{2813-0405} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{logistics}{% + \gdef\@journal{logistics} + \gdef\@journalfull{Logistics} + \gdef\@journalshort{Logistics} + \gdef\@doiabbr{logistics} + \gdef\@ISSN{2305-6290} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{lubricants}{% + \gdef\@journal{lubricants} + \gdef\@journalfull{Lubricants} + \gdef\@journalshort{Lubricants} + \gdef\@doiabbr{lubricants} + \gdef\@ISSN{2075-4442} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{lymphatics}{% + \gdef\@journal{lymphatics} + \gdef\@journalfull{Lymphatics} + \gdef\@journalshort{Lymphatics} + \gdef\@doiabbr{lymphatics} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{machines}{% + \gdef\@journal{machines} + \gdef\@journalfull{Machines} + \gdef\@journalshort{Machines} + \gdef\@doiabbr{machines} + \gdef\@ISSN{2075-1702} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{macromol}{% + \gdef\@journal{macromol} + \gdef\@journalfull{Macromol} + \gdef\@journalshort{Macromol} + \gdef\@doiabbr{macromol} + \gdef\@ISSN{2673-6209} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{magnetism}{% + \gdef\@journal{magnetism} + \gdef\@journalfull{Magnetism} + \gdef\@journalshort{Magnetism} + \gdef\@doiabbr{magnetism} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{magnetochemistry}{% + \gdef\@journal{magnetochemistry} + \gdef\@journalfull{Magnetochemistry} + \gdef\@journalshort{Magnetochemistry} + \gdef\@doiabbr{magnetochemistry} + \gdef\@ISSN{2312-7481} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{make}{% + \gdef\@journal{make} + \gdef\@journalfull{Machine Learning and Knowledge Extraction} + \gdef\@journalshort{Mach. Learn. Knowl. Extr.} + \gdef\@doiabbr{make} + \gdef\@ISSN{2504-4990} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{marinedrugs}{% + \gdef\@journal{marinedrugs} + \gdef\@journalfull{Marine Drugs} + \gdef\@journalshort{Mar. Drugs} + \gdef\@doiabbr{md} + \gdef\@ISSN{1660-3397} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{maritime}{% + \gdef\@journal{maritime} + \gdef\@journalfull{Maritime} + \gdef\@journalshort{Maritime} + \gdef\@doiabbr{maritime} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{materials}{% + \gdef\@journal{materials} + \gdef\@journalfull{Materials} + \gdef\@journalshort{Materials} + \gdef\@doiabbr{ma} + \gdef\@ISSN{1996-1944} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{materproc}{% + \gdef\@journal{materproc} + \gdef\@journalfull{Materials Proceedings} + \gdef\@journalshort{Mater. Proc.} + \gdef\@doiabbr{materproc} + \gdef\@ISSN{2673-4605} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{mathematics}{% + \gdef\@journal{mathematics} + \gdef\@journalfull{Mathematics} + \gdef\@journalshort{Mathematics} + \gdef\@doiabbr{math} + \gdef\@ISSN{2227-7390} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{mca}{% + \gdef\@journal{mca} + \gdef\@journalfull{Mathematical and Computational Applications} + \gdef\@journalshort{Math. Comput. Appl.} + \gdef\@doiabbr{mca} + \gdef\@ISSN{2297-8747} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{mcb}{% + \gdef\@journal{mcb} + \gdef\@journalfull{Mathematical and Computational Biology} + \gdef\@journalshort{Math. Comput. Biol.} + \gdef\@doiabbr{mcb} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{measurements}{% + \gdef\@journal{measurements} + \gdef\@journalfull{Measurements} + \gdef\@journalshort{Measurements} + \gdef\@doiabbr{measurements} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{meb}{% + \gdef\@journal{meb} + \gdef\@journalfull{Medical Ethics and Bioethics} + \gdef\@journalshort{Med. Ethics Bioeth.} + \gdef\@doiabbr{meb} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{medicina}{% + \gdef\@journal{medicina} + \gdef\@journalfull{Medicina} + \gdef\@journalshort{Medicina} + \gdef\@doiabbr{medicina} + \gdef\@ISSN{1648-9144} + \gdef\@societyowner{Lithuanian University of Health Sciences} + \gdef\@journaltype{ACS}} +\DeclareOption{medicines}{% + \gdef\@journal{medicines} + \gdef\@journalfull{Medicines} + \gdef\@journalshort{Medicines} + \gdef\@doiabbr{medicines} + \gdef\@ISSN{2305-6320} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{medsci}{% + \gdef\@journal{medsci} + \gdef\@journalfull{Medical Sciences} + \gdef\@journalshort{Med. Sci.} + \gdef\@doiabbr{medsci} + \gdef\@ISSN{2076-3271} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{membranes}{% + \gdef\@journal{membranes} + \gdef\@journalfull{Membranes} + \gdef\@journalshort{Membranes} + \gdef\@doiabbr{membranes} + \gdef\@ISSN{2077-0375} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{merits}{% + \gdef\@journal{merits} + \gdef\@journalfull{Merits} + \gdef\@journalshort{Merits} + \gdef\@doiabbr{merits} + \gdef\@ISSN{2673-8104} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{metabolites}{% + \gdef\@journal{metabolites} + \gdef\@journalfull{Metabolites} + \gdef\@journalshort{Metabolites} + \gdef\@doiabbr{metabo} + \gdef\@ISSN{2218-1989} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{metals}{% + \gdef\@journal{metals} + \gdef\@journalfull{Metals} + \gdef\@journalshort{Metals} + \gdef\@doiabbr{met} + \gdef\@ISSN{2075-4701} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{meteorology}{% + \gdef\@journal{meteorology} + \gdef\@journalfull{Meteorology} + \gdef\@journalshort{Meteorology} + \gdef\@doiabbr{meteorology} + \gdef\@ISSN{2674-0494} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{methane}{% + \gdef\@journal{methane} + \gdef\@journalfull{Methane} + \gdef\@journalshort{Methane} + \gdef\@doiabbr{methane} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{metrics}{% + \gdef\@journal{metrics} + \gdef\@journalfull{Metrics} + \gdef\@journalshort{Metrics} + \gdef\@doiabbr{metrics} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{metrology}{% + \gdef\@journal{metrology} + \gdef\@journalfull{Metrology} + \gdef\@journalshort{Metrology} + \gdef\@doiabbr{metrology} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{micro}{% + \gdef\@journal{micro} + \gdef\@journalfull{Micro} + \gdef\@journalshort{Micro} + \gdef\@doiabbr{micro} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{microarrays}{% + \gdef\@journal{microarrays} + \gdef\@journalfull{Microarrays} + \gdef\@journalshort{Microarrays} + \gdef\@doiabbr{microarrays} + \gdef\@ISSN{2076-3905} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{microbiolres}{% + \gdef\@journal{microbiolres} + \gdef\@journalfull{Microbiology Research} + \gdef\@journalshort{Microbiol. Res.} + \gdef\@doiabbr{microbiolres} + \gdef\@ISSN{2036-7481} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{microelectronics}{% + \gdef\@journal{microelectronics} + \gdef\@journalfull{Microelectronics} + \gdef\@journalshort{Microelectronics} + \gdef\@doiabbr{microelectronics} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{micromachines}{% + \gdef\@journal{micromachines} + \gdef\@journalfull{Micromachines} + \gdef\@journalshort{Micromachines} + \gdef\@doiabbr{mi} + \gdef\@ISSN{2072-666X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{microorganisms}{% + \gdef\@journal{microorganisms} + \gdef\@journalfull{Microorganisms} + \gdef\@journalshort{Microorganisms} + \gdef\@doiabbr{microorganisms} + \gdef\@ISSN{2076-2607} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{microplastics}{% + \gdef\@journal{microplastics} + \gdef\@journalfull{Microplastics} + \gdef\@journalshort{Microplastics} + \gdef\@doiabbr{microplastics} + \gdef\@ISSN{2673-8929} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{microwave}{% + \gdef\@journal{microwave} + \gdef\@journalfull{Microwave} + \gdef\@journalshort{Microwave} + \gdef\@doiabbr{microwave} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{minerals}{% + \gdef\@journal{minerals} + \gdef\@journalfull{Minerals} + \gdef\@journalshort{Minerals} + \gdef\@doiabbr{min} + \gdef\@ISSN{2075-163X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{mining}{% + \gdef\@journal{mining} + \gdef\@journalfull{Mining} + \gdef\@journalshort{Mining} + \gdef\@doiabbr{mining} + \gdef\@ISSN{2673-6489} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{mmphys}{% + \gdef\@journal{mmphys} + \gdef\@journalfull{Modern Mathematical Physics} + \gdef\@journalshort{Mod. Math. Phys.} + \gdef\@doiabbr{mmphys} + \gdef\@ISSN{3042-5034} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{modelling}{% + \gdef\@journal{modelling} + \gdef\@journalfull{Modelling} + \gdef\@journalshort{Modelling} + \gdef\@doiabbr{modelling} + \gdef\@ISSN{2673-3951} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{molbank}{% + \gdef\@journal{molbank} + \gdef\@journalfull{Molbank} + \gdef\@journalshort{Molbank} + \gdef\@doiabbr{M} + \gdef\@ISSN{1422-8599} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{molecules}{% + \gdef\@journal{molecules} + \gdef\@journalfull{Molecules} + \gdef\@journalshort{Molecules} + \gdef\@doiabbr{molecules} + \gdef\@ISSN{1420-3049} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{mollusca}{% + \gdef\@journal{mollusca} + \gdef\@journalfull{Mollusca} + \gdef\@journalshort{Mollusca} + \gdef\@doiabbr{mollusca} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{mps}{% + \gdef\@journal{mps} + \gdef\@journalfull{Methods and Protocols} + \gdef\@journalshort{Methods Protoc.} + \gdef\@doiabbr{mps} + \gdef\@ISSN{2409-9279} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{msf}{% + \gdef\@journal{msf} + \gdef\@journalfull{Medical Sciences Forum} + \gdef\@journalshort{Med. Sci. Forum} + \gdef\@doiabbr{msf} + \gdef\@ISSN{2673-9992} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{mti}{% + \gdef\@journal{mti} + \gdef\@journalfull{Multimodal Technologies and Interaction} + \gdef\@journalshort{Multimodal Technol. Interact.} + \gdef\@doiabbr{mti} + \gdef\@ISSN{2414-4088} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{multimedia}{% + \gdef\@journal{multimedia} + \gdef\@journalfull{Multimedia} + \gdef\@journalshort{Multimedia} + \gdef\@doiabbr{multimedia} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{muscles}{% + \gdef\@journal{muscles} + \gdef\@journalfull{Muscles} + \gdef\@journalshort{Muscles} + \gdef\@doiabbr{muscles} + \gdef\@ISSN{2813-0413} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{mutation}{% + \gdef\@journal{mutation} + \gdef\@journalfull{Mutation} + \gdef\@journalshort{Mutation} + \gdef\@doiabbr{mutation} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{nanoenergyadv}{% + \gdef\@journal{nanoenergyadv} + \gdef\@journalfull{Nanoenergy Advances} + \gdef\@journalshort{Nanoenergy Adv.} + \gdef\@doiabbr{nanoenergyadv} + \gdef\@ISSN{2673-706X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{nanomanufacturing}{% + \gdef\@journal{nanomanufacturing} + \gdef\@journalfull{Nanomanufacturing} + \gdef\@journalshort{Nanomanufacturing} + \gdef\@doiabbr{nanomanufacturing} + \gdef\@ISSN{2673-687X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{nanomaterials}{% + \gdef\@journal{nanomaterials} + \gdef\@journalfull{Nanomaterials} + \gdef\@journalshort{Nanomaterials} + \gdef\@doiabbr{nano} + \gdef\@ISSN{2079-4991} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ncrna}{% + \gdef\@journal{ncrna} + \gdef\@journalfull{Non-Coding RNA} + \gdef\@journalshort{Non-Coding RNA} + \gdef\@doiabbr{ncrna} + \gdef\@ISSN{2311-553X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ndt}{% + \gdef\@journal{ndt} + \gdef\@journalfull{NDT} + \gdef\@journalshort{NDT} + \gdef\@doiabbr{ndt} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{network}{% + \gdef\@journal{network} + \gdef\@journalfull{Network} + \gdef\@journalshort{Network} + \gdef\@doiabbr{network} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{neuroglia}{% + \gdef\@journal{neuroglia} + \gdef\@journalfull{Neuroglia} + \gdef\@journalshort{Neuroglia} + \gdef\@doiabbr{neuroglia} + \gdef\@ISSN{2571-6980} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{neuroimaging}{% + \gdef\@journal{neuroimaging} + \gdef\@journalfull{Neuroimaging} + \gdef\@journalshort{Neuroimaging} + \gdef\@doiabbr{neuroimaging} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{neurolint}{% + \gdef\@journal{neurolint} + \gdef\@journalfull{Neurology International} + \gdef\@journalshort{Neurol. Int.} + \gdef\@doiabbr{neurolint} + \gdef\@ISSN{2035-8377} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{neurosci}{% + \gdef\@journal{neurosci} + \gdef\@journalfull{NeuroSci} + \gdef\@journalshort{NeuroSci} + \gdef\@doiabbr{neurosci} + \gdef\@ISSN{2673-4087} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{nitrogen}{% + \gdef\@journal{nitrogen} + \gdef\@journalfull{Nitrogen} + \gdef\@journalshort{Nitrogen} + \gdef\@doiabbr{nitrogen} + \gdef\@ISSN{2504-3129} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{notspecified}{% + \gdef\@journal{notspecified} + \gdef\@journalfull{Journal Not Specified} + \gdef\@journalshort{Journal Not Specified} + \gdef\@doiabbr{} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{nursrep}{% + \gdef\@journal{nursrep} + \gdef\@journalfull{Nursing Reports} + \gdef\@journalshort{Nurs. Rep.} + \gdef\@doiabbr{nursrep} + \gdef\@ISSN{2039-4403} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{nutraceuticals}{% + \gdef\@journal{nutraceuticals} + \gdef\@journalfull{Nutraceuticals} + \gdef\@journalshort{Nutraceuticals} + \gdef\@doiabbr{nutraceuticals} + \gdef\@ISSN{1661-3821} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{nutrients}{% + \gdef\@journal{nutrients} + \gdef\@journalfull{Nutrients} + \gdef\@journalshort{Nutrients} + \gdef\@doiabbr{nu} + \gdef\@ISSN{2072-6643} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{obesities}{% + \gdef\@journal{obesities} + \gdef\@journalfull{Obesities} + \gdef\@journalshort{Obesities} + \gdef\@doiabbr{obesities} + \gdef\@ISSN{2673-4168} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{occuphealth}{% + \gdef\@journal{occuphealth} + \gdef\@journalfull{Occupational Health} + \gdef\@journalshort{Occup. Health} + \gdef\@doiabbr{occuphealth} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{oceans}{% + \gdef\@journal{oceans} + \gdef\@journalfull{Oceans} + \gdef\@journalshort{Oceans} + \gdef\@doiabbr{oceans} + \gdef\@ISSN{2673-1924} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ohbm}{% + \gdef\@journal{ohbm} + \gdef\@journalfull{Journal of Otorhinolaryngology, Hearing and Balance Medicine} + \gdef\@journalshort{J. Otorhinolaryngol. Hear. Balance Med.} + \gdef\@doiabbr{ohbm} + \gdef\@ISSN{2504-463X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{onco}{% + \gdef\@journal{onco} + \gdef\@journalfull{Onco} + \gdef\@journalshort{Onco} + \gdef\@doiabbr{onco} + \gdef\@ISSN{2673-7523} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{opermanag}{% + \gdef\@journal{opermanag} + \gdef\@journalfull{Operations Management} + \gdef\@journalshort{Oper. Manag.} + \gdef\@doiabbr{opermanag} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{optics}{% + \gdef\@journal{optics} + \gdef\@journalfull{Optics} + \gdef\@journalshort{Optics} + \gdef\@doiabbr{opt} + \gdef\@ISSN{2673-3269} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{oral}{% + \gdef\@journal{oral} + \gdef\@journalfull{Oral} + \gdef\@journalshort{Oral} + \gdef\@doiabbr{oral} + \gdef\@ISSN{2673-6373} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{organics}{% + \gdef\@journal{organics} + \gdef\@journalfull{Organics} + \gdef\@journalshort{Organics} + \gdef\@doiabbr{org} + \gdef\@ISSN{2673-401X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{organoids}{% + \gdef\@journal{organoids} + \gdef\@journalfull{Organoids} + \gdef\@journalshort{Organoids} + \gdef\@doiabbr{organoids} + \gdef\@ISSN{2674-1172} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{osteology}{% + \gdef\@journal{osteology} + \gdef\@journalfull{Osteology} + \gdef\@journalshort{Osteology} + \gdef\@doiabbr{osteology} + \gdef\@ISSN{2673-4036} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{oxygen}{% + \gdef\@journal{oxygen} + \gdef\@journalfull{Oxygen} + \gdef\@journalshort{Oxygen} + \gdef\@doiabbr{oxygen} + \gdef\@ISSN{2673-9801} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{pandemics}{% + \gdef\@journal{pandemics} + \gdef\@journalfull{Pandemics} + \gdef\@journalshort{Pandemics} + \gdef\@doiabbr{pandemics} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{parasites}{% + \gdef\@journal{parasites} + \gdef\@journalfull{Parasites} + \gdef\@journalshort{Parasites} + \gdef\@doiabbr{parasites} + \gdef\@ISSN{2673-5946} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{parasitologia}{% + \gdef\@journal{parasitologia} + \gdef\@journalfull{Parasitologia} + \gdef\@journalshort{Parasitologia} + \gdef\@doiabbr{parasitologia} + \gdef\@ISSN{2673-6772} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{particles}{% + \gdef\@journal{particles} + \gdef\@journalfull{Particles} + \gdef\@journalshort{Particles} + \gdef\@doiabbr{particles} + \gdef\@ISSN{2571-712X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{pathogens}{% + \gdef\@journal{pathogens} + \gdef\@journalfull{Pathogens} + \gdef\@journalshort{Pathogens} + \gdef\@doiabbr{pathogens} + \gdef\@ISSN{2076-0817} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{pathophysiology}{% + \gdef\@journal{pathophysiology} + \gdef\@journalfull{Pathophysiology} + \gdef\@journalshort{Pathophysiology} + \gdef\@doiabbr{pathophysiology} + \gdef\@ISSN{0928-4680} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{peacestud}{% + \gdef\@journal{peacestud} + \gdef\@journalfull{Peace Studies} + \gdef\@journalshort{Peace Stud.} + \gdef\@doiabbr{peacestud} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{pediatrrep}{% + \gdef\@journal{pediatrrep} + \gdef\@journalfull{Pediatric Reports} + \gdef\@journalshort{Pediatr. Rep.} + \gdef\@doiabbr{pediatric} + \gdef\@ISSN{2036-7503} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{pets}{% + \gdef\@journal{pets} + \gdef\@journalfull{Pets} + \gdef\@journalshort{Pets} + \gdef\@doiabbr{pets} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{pharmaceuticals}{% + \gdef\@journal{pharmaceuticals} + \gdef\@journalfull{Pharmaceuticals} + \gdef\@journalshort{Pharmaceuticals} + \gdef\@doiabbr{ph} + \gdef\@ISSN{1424-8247} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{pharmaceutics}{% + \gdef\@journal{pharmaceutics} + \gdef\@journalfull{Pharmaceutics} + \gdef\@journalshort{Pharmaceutics} + \gdef\@doiabbr{pharmaceutics} + \gdef\@ISSN{1999-4923} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{pharmacoepidemiology}{% + \gdef\@journal{pharmacoepidemiology} + \gdef\@journalfull{Pharmacoepidemiology} + \gdef\@journalshort{Pharmacoepidemiology} + \gdef\@doiabbr{pharma} + \gdef\@ISSN{2813-0618} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{pharmacy}{% + \gdef\@journal{pharmacy} + \gdef\@journalfull{Pharmacy} + \gdef\@journalshort{Pharmacy} + \gdef\@doiabbr{pharmacy} + \gdef\@ISSN{2226-4787} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{phc}{% + \gdef\@journal{phc} + \gdef\@journalfull{Primary and Hospital Care} + \gdef\@journalshort{Prim. Hosp. Care} + \gdef\@doiabbr{phc} + \gdef\@ISSN{3042-9897} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{philosophies}{% + \gdef\@journal{philosophies} + \gdef\@journalfull{Philosophies} + \gdef\@journalshort{Philosophies} + \gdef\@doiabbr{philosophies} + \gdef\@ISSN{2409-9287} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{photochem}{% + \gdef\@journal{photochem} + \gdef\@journalfull{Photochem} + \gdef\@journalshort{Photochem} + \gdef\@doiabbr{photochem} + \gdef\@ISSN{2673-7256} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{photonics}{% + \gdef\@journal{photonics} + \gdef\@journalfull{Photonics} + \gdef\@journalshort{Photonics} + \gdef\@doiabbr{photonics} + \gdef\@ISSN{2304-6732} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{photovoltaics}{% + \gdef\@journal{photovoltaics} + \gdef\@journalfull{Photovoltaics} + \gdef\@journalshort{Photovoltaics} + \gdef\@doiabbr{photovoltaics} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{phycology}{% + \gdef\@journal{phycology} + \gdef\@journalfull{Phycology} + \gdef\@journalshort{Phycology} + \gdef\@doiabbr{phycology} + \gdef\@ISSN{2673-9410} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{physchem}{% + \gdef\@journal{physchem} + \gdef\@journalfull{Physchem} + \gdef\@journalshort{Physchem} + \gdef\@doiabbr{physchem} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{physics}{% + \gdef\@journal{physics} + \gdef\@journalfull{Physics} + \gdef\@journalshort{Physics} + \gdef\@doiabbr{physics} + \gdef\@ISSN{2624-8174} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{physiologia}{% + \gdef\@journal{physiologia} + \gdef\@journalfull{Physiologia} + \gdef\@journalshort{Physiologia} + \gdef\@doiabbr{physiologia} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{plants}{% + \gdef\@journal{plants} + \gdef\@journalfull{Plants} + \gdef\@journalshort{Plants} + \gdef\@doiabbr{plants} + \gdef\@ISSN{2223-7747} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{plasma}{% + \gdef\@journal{plasma} + \gdef\@journalfull{Plasma} + \gdef\@journalshort{Plasma} + \gdef\@doiabbr{plasma} + \gdef\@ISSN{2571-6182} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{platforms}{% + \gdef\@journal{platforms} + \gdef\@journalfull{Platforms} + \gdef\@journalshort{Platforms} + \gdef\@doiabbr{platforms} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{pmh}{% + \gdef\@journal{pmh} + \gdef\@journalfull{Project Management Horizons} + \gdef\@journalshort{Proj. Manag. Horiz.} + \gdef\@doiabbr{pmh} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{pollutants}{% + \gdef\@journal{pollutants} + \gdef\@journalfull{Pollutants} + \gdef\@journalshort{Pollutants} + \gdef\@doiabbr{pollutants} + \gdef\@ISSN{2673-4672} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{polymers}{% + \gdef\@journal{polymers} + \gdef\@journalfull{Polymers} + \gdef\@journalshort{Polymers} + \gdef\@doiabbr{polym} + \gdef\@ISSN{2073-4360} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{polysaccharides}{% + \gdef\@journal{polysaccharides} + \gdef\@journalfull{Polysaccharides} + \gdef\@journalshort{Polysaccharides} + \gdef\@doiabbr{polysaccharides} + \gdef\@ISSN{2673-4176} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{populations}{% + \gdef\@journal{populations} + \gdef\@journalfull{Populations} + \gdef\@journalshort{Populations} + \gdef\@doiabbr{populations} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{poultry}{% + \gdef\@journal{poultry} + \gdef\@journalfull{Poultry} + \gdef\@journalshort{Poultry} + \gdef\@doiabbr{poultry} + \gdef\@ISSN{2674-1164} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{powders}{% + \gdef\@journal{powders} + \gdef\@journalfull{Powders} + \gdef\@journalshort{Powders} + \gdef\@doiabbr{powders} + \gdef\@ISSN{2674-0516} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{precision}{% + \gdef\@journal{precision} + \gdef\@journalfull{Precision---Journal of Precision Engineering} + \gdef\@journalshort{Precision} + \gdef\@doiabbr{precision} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{precisoncol}{% + \gdef\@journal{precisoncol} + \gdef\@journalfull{Precision Oncology} + \gdef\@journalshort{Precis. Oncol.} + \gdef\@doiabbr{precisoncol} + \gdef\@ISSN{3042-7614} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{preprints}{% + \gdef\@journal{preprints} + \gdef\@journalfull{Preprints} + \gdef\@journalshort{Preprints} + \gdef\@doiabbr{} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{preprintsapa}{% + \gdef\@journal{preprintsapa} + \gdef\@journalfull{Preprints} + \gdef\@journalshort{Preprints} + \gdef\@doiabbr{} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{preprintschicago}{% + \gdef\@journal{preprintschicago} + \gdef\@journalfull{Preprints} + \gdef\@journalshort{Preprints} + \gdef\@doiabbr{} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{proceedings}{% + \gdef\@journal{proceedings} + \gdef\@journalfull{Proceedings} + \gdef\@journalshort{Proceedings} + \gdef\@doiabbr{proceedings} + \gdef\@ISSN{2504-3900} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{processes}{% + \gdef\@journal{processes} + \gdef\@journalfull{Processes} + \gdef\@journalshort{Processes} + \gdef\@doiabbr{pr} + \gdef\@ISSN{2227-9717} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{prosthesis}{% + \gdef\@journal{prosthesis} + \gdef\@journalfull{Prosthesis} + \gdef\@journalshort{Prosthesis} + \gdef\@doiabbr{prosthesis} + \gdef\@ISSN{2673-1592} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{proteomes}{% + \gdef\@journal{proteomes} + \gdef\@journalfull{Proteomes} + \gdef\@journalshort{Proteomes} + \gdef\@doiabbr{proteomes} + \gdef\@ISSN{2227-7382} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{psf}{% + \gdef\@journal{psf} + \gdef\@journalfull{Physical Sciences Forum} + \gdef\@journalshort{Phys. Sci. Forum} + \gdef\@doiabbr{psf} + \gdef\@ISSN{2673-9984} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{psychiatryint}{% + \gdef\@journal{psychiatryint} + \gdef\@journalfull{Psychiatry International} + \gdef\@journalshort{Psychiatry Int.} + \gdef\@doiabbr{psychiatryint} + \gdef\@ISSN{2673-5318} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{psychoactives}{% + \gdef\@journal{psychoactives} + \gdef\@journalfull{Psychoactives} + \gdef\@journalshort{Psychoactives} + \gdef\@doiabbr{psychoactives} + \gdef\@ISSN{2813-1851} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{psycholint}{% + \gdef\@journal{psycholint} + \gdef\@journalfull{Psychology International} + \gdef\@journalshort{Psychol. Int.} + \gdef\@doiabbr{psycholint} + \gdef\@ISSN{2813-9844} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{publications}{% + \gdef\@journal{publications} + \gdef\@journalfull{Publications} + \gdef\@journalshort{Publications} + \gdef\@doiabbr{publications} + \gdef\@ISSN{2304-6775} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{purification}{% + \gdef\@journal{purification} + \gdef\@journalfull{Purification} + \gdef\@journalshort{Purification} + \gdef\@doiabbr{purification} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{quantumrep}{% + \gdef\@journal{quantumrep} + \gdef\@journalfull{Quantum Reports} + \gdef\@journalshort{Quantum Rep.} + \gdef\@doiabbr{quantum} + \gdef\@ISSN{2624-960X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{quaternary}{% + \gdef\@journal{quaternary} + \gdef\@journalfull{Quaternary} + \gdef\@journalshort{Quaternary} + \gdef\@doiabbr{quat} + \gdef\@ISSN{2571-550X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{qubs}{% + \gdef\@journal{qubs} + \gdef\@journalfull{Quantum Beam Science} + \gdef\@journalshort{Quantum Beam Sci.} + \gdef\@doiabbr{qubs} + \gdef\@ISSN{2412-382X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{radiation}{% + \gdef\@journal{radiation} + \gdef\@journalfull{Radiation} + \gdef\@journalshort{Radiation} + \gdef\@doiabbr{radiation} + \gdef\@ISSN{2673-592X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{rareearths}{% + \gdef\@journal{rareearths} + \gdef\@journalfull{Rare Earths} + \gdef\@journalshort{Rare Earths} + \gdef\@doiabbr{rareearths} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{rdt}{% + \gdef\@journal{rdt} + \gdef\@journalfull{Rare Diseases and Therapeutics} + \gdef\@journalshort{Rare Dis. Ther.} + \gdef\@doiabbr{rdt} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{reactions}{% + \gdef\@journal{reactions} + \gdef\@journalfull{Reactions} + \gdef\@journalshort{Reactions} + \gdef\@doiabbr{reactions} + \gdef\@ISSN{2624-781X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{realestate}{% + \gdef\@journal{realestate} + \gdef\@journalfull{Real Estate} + \gdef\@journalshort{Real Estate} + \gdef\@doiabbr{realestate} + \gdef\@ISSN{2813-8090} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{receptors}{% + \gdef\@journal{receptors} + \gdef\@journalfull{Receptors} + \gdef\@journalshort{Receptors} + \gdef\@doiabbr{receptors} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{recycling}{% + \gdef\@journal{recycling} + \gdef\@journalfull{Recycling} + \gdef\@journalshort{Recycling} + \gdef\@doiabbr{recycling} + \gdef\@ISSN{2313-4321} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{regeneration}{% + \gdef\@journal{regeneration} + \gdef\@journalfull{Regeneration} + \gdef\@journalshort{Regeneration} + \gdef\@doiabbr{regeneration} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{religions}{% + \gdef\@journal{religions} + \gdef\@journalfull{Religions} + \gdef\@journalshort{Religions} + \gdef\@doiabbr{rel} + \gdef\@ISSN{2077-1444} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{remotesensing}{% + \gdef\@journal{remotesensing} + \gdef\@journalfull{Remote Sensing} + \gdef\@journalshort{Remote Sens.} + \gdef\@doiabbr{rs} + \gdef\@ISSN{2072-4292} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{reports}{% + \gdef\@journal{reports} + \gdef\@journalfull{Reports} + \gdef\@journalshort{Reports} + \gdef\@doiabbr{reports} + \gdef\@ISSN{2571-841X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{reprodmed}{% + \gdef\@journal{reprodmed} + \gdef\@journalfull{Reproductive Medicine} + \gdef\@journalshort{Reprod. Med.} + \gdef\@doiabbr{reprodmed} + \gdef\@ISSN{2673-3897} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{resources}{% + \gdef\@journal{resources} + \gdef\@journalfull{Resources} + \gdef\@journalshort{Resources} + \gdef\@doiabbr{resources} + \gdef\@ISSN{2079-9276} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{rheumato}{% + \gdef\@journal{rheumato} + \gdef\@journalfull{Rheumato} + \gdef\@journalshort{Rheumato} + \gdef\@doiabbr{rheumato} + \gdef\@ISSN{2674-0621} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{risks}{% + \gdef\@journal{risks} + \gdef\@journalfull{Risks} + \gdef\@journalshort{Risks} + \gdef\@doiabbr{risks} + \gdef\@ISSN{2227-9091} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{rjpm}{% + \gdef\@journal{rjpm} + \gdef\@journalfull{Romanian Journal of Preventive Medicine} + \gdef\@journalshort{Rom. J. Prev. Med.} + \gdef\@doiabbr{rjpm} + \gdef\@ISSN{3091-101X} + \gdef\@societyowner{Romanian Society of Preventive Medicine} + \gdef\@journaltype{ACS}} +\DeclareOption{robotics}{% + \gdef\@journal{robotics} + \gdef\@journalfull{Robotics} + \gdef\@journalshort{Robotics} + \gdef\@doiabbr{robotics} + \gdef\@ISSN{2218-6581} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{rsee}{% + \gdef\@journal{rsee} + \gdef\@journalfull{Regional Science and Environmental Economics} + \gdef\@journalshort{Reg. Sci. Environ. Econ.} + \gdef\@doiabbr{rsee} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{ruminants}{% + \gdef\@journal{ruminants} + \gdef\@journalfull{Ruminants} + \gdef\@journalshort{Ruminants} + \gdef\@doiabbr{ruminants} + \gdef\@ISSN{2673-933X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{safety}{% + \gdef\@journal{safety} + \gdef\@journalfull{Safety} + \gdef\@journalshort{Safety} + \gdef\@doiabbr{safety} + \gdef\@ISSN{2313-576X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sanpp}{% + \gdef\@journal{sanpp} + \gdef\@journalfull{Swiss Archives of Neurology, Psychiatry and Psychotherapy} + \gdef\@journalshort{Swiss Arch. Neurol. Psychiatry Psychother.} + \gdef\@doiabbr{sanpp} + \gdef\@ISSN{2297-7007} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sca}{% + \gdef\@journal{sca} + \gdef\@journalfull{Stem Cell Advances} + \gdef\@journalshort{Stem Cell Adv.} + \gdef\@doiabbr{sca} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sci}{% + \gdef\@journal{sci} + \gdef\@journalfull{Sci} + \gdef\@journalshort{Sci} + \gdef\@doiabbr{sci} + \gdef\@ISSN{2413-4155} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sciedu}{% + \gdef\@journal{sciedu} + \gdef\@journalfull{Trends in Science Education} + \gdef\@journalshort{Trends Sci. Educ.} + \gdef\@doiabbr{sciedu} + \gdef\@ISSN{3043-1344} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{scipharm}{% + \gdef\@journal{scipharm} + \gdef\@journalfull{Scientia Pharmaceutica} + \gdef\@journalshort{Sci. Pharm.} + \gdef\@doiabbr{scipharm} + \gdef\@ISSN{2218-0532} + \gdef\@societyowner{\"{O}sterreichische Pharmazeutische Gesellschaft} + \gdef\@journaltype{ACS}} +\DeclareOption{sclerosis}{% + \gdef\@journal{sclerosis} + \gdef\@journalfull{Sclerosis} + \gdef\@journalshort{Sclerosis} + \gdef\@doiabbr{sclerosis} + \gdef\@ISSN{2813-3064} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{seeds}{% + \gdef\@journal{seeds} + \gdef\@journalfull{Seeds} + \gdef\@journalshort{Seeds} + \gdef\@doiabbr{seeds} + \gdef\@ISSN{2674-1024} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sensors}{% + \gdef\@journal{sensors} + \gdef\@journalfull{Sensors} + \gdef\@journalshort{Sensors} + \gdef\@doiabbr{s} + \gdef\@ISSN{1424-8220} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{separations}{% + \gdef\@journal{separations} + \gdef\@journalfull{Separations} + \gdef\@journalshort{Separations} + \gdef\@doiabbr{separations} + \gdef\@ISSN{2297-8739} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sexes}{% + \gdef\@journal{sexes} + \gdef\@journalfull{Sexes} + \gdef\@journalshort{Sexes} + \gdef\@doiabbr{sexes} + \gdef\@ISSN{2411-5118} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{shi}{% + \gdef\@journal{shi} + \gdef\@journalfull{Semiconductors and Heterogeneous Integration} + \gdef\@journalshort{Semicond. Heterog. Integr.} + \gdef\@doiabbr{shi} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{signals}{% + \gdef\@journal{signals} + \gdef\@journalfull{Signals} + \gdef\@journalshort{Signals} + \gdef\@doiabbr{signals} + \gdef\@ISSN{2624-6120} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sinusitis}{% + \gdef\@journal{sinusitis} + \gdef\@journalfull{Sinusitis} + \gdef\@journalshort{Sinusitis} + \gdef\@doiabbr{sinusitis} + \gdef\@ISSN{2309-107X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{siuj}{% + \gdef\@journal{siuj} + \gdef\@journalfull{Soci\'{e}t\'{e} Internationale d'Urologie Journal} + \gdef\@journalshort{Soc. Int. Urol. J.} + \gdef\@doiabbr{siuj} + \gdef\@ISSN{2563-6499} + \gdef\@societyowner{Soci\'{e}t\'{e} Internationale d'Urologie} + \gdef\@journaltype{ACS}} +\DeclareOption{skins}{% + \gdef\@journal{skins} + \gdef\@journalfull{Skins} + \gdef\@journalshort{Skins} + \gdef\@doiabbr{skins} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{smartcities}{% + \gdef\@journal{smartcities} + \gdef\@journalfull{Smart Cities} + \gdef\@journalshort{Smart Cities} + \gdef\@doiabbr{smartcities} + \gdef\@ISSN{2624-6511} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{smartfish}{% + \gdef\@journal{smartfish} + \gdef\@journalfull{Smart Fisheries} + \gdef\@journalshort{Smart Fish.} + \gdef\@doiabbr{smartfish} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sna}{% + \gdef\@journal{sna} + \gdef\@journalfull{Sinusitis and Asthma} + \gdef\@journalshort{Sinusitis Asthma} + \gdef\@doiabbr{sna} + \gdef\@ISSN{2624-7003} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{societies}{% + \gdef\@journal{societies} + \gdef\@journalfull{Societies} + \gdef\@journalshort{Societies} + \gdef\@doiabbr{soc} + \gdef\@ISSN{2075-4698} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{socsci}{% + \gdef\@journal{socsci} + \gdef\@journalfull{Social Sciences} + \gdef\@journalshort{Soc. Sci.} + \gdef\@doiabbr{socsci} + \gdef\@ISSN{2076-0760} + \gdef\@societyowner{} + \gdef\@journaltype{Chicago}} +\DeclareOption{software}{% + \gdef\@journal{software} + \gdef\@journalfull{Software} + \gdef\@journalshort{Software} + \gdef\@doiabbr{software} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{soilsystems}{% + \gdef\@journal{soilsystems} + \gdef\@journalfull{Soil Systems} + \gdef\@journalshort{Soil Syst.} + \gdef\@doiabbr{soilsystems} + \gdef\@ISSN{2571-8789} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{solar}{% + \gdef\@journal{solar} + \gdef\@journalfull{Solar} + \gdef\@journalshort{Solar} + \gdef\@doiabbr{solar} + \gdef\@ISSN{2673-9941} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{solids}{% + \gdef\@journal{solids} + \gdef\@journalfull{Solids} + \gdef\@journalshort{Solids} + \gdef\@doiabbr{solids} + \gdef\@ISSN{2673-6497} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{spectroscj}{% + \gdef\@journal{spectroscj} + \gdef\@journalfull{Spectroscopy Journal} + \gdef\@journalshort{Spectrosc. J.} + \gdef\@doiabbr{spectroscj} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sports}{% + \gdef\@journal{sports} + \gdef\@journalfull{Sports} + \gdef\@journalshort{Sports} + \gdef\@doiabbr{sports} + \gdef\@ISSN{2075-4663} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{standards}{% + \gdef\@journal{standards} + \gdef\@journalfull{Standards} + \gdef\@journalshort{Standards} + \gdef\@doiabbr{standards} + \gdef\@ISSN{2305-6703} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{stats}{% + \gdef\@journal{stats} + \gdef\@journalfull{Stats} + \gdef\@journalshort{Stats} + \gdef\@doiabbr{stats} + \gdef\@ISSN{2571-905X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{std}{% + \gdef\@journal{std} + \gdef\@journalfull{Surgical Techniques Development} + \gdef\@journalshort{Surg. Tech. Dev.} + \gdef\@doiabbr{std} + \gdef\@ISSN{2038-9582} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{stratsediment}{% + \gdef\@journal{stratsediment} + \gdef\@journalfull{Stratigraphy and Sedimentology} + \gdef\@journalshort{Stratigr. Sedimentol.} + \gdef\@doiabbr{stratsediment} + \gdef\@ISSN{3042-884X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{stresses}{% + \gdef\@journal{stresses} + \gdef\@journalfull{Stresses} + \gdef\@journalshort{Stresses} + \gdef\@doiabbr{stresses} + \gdef\@ISSN{2673-7140} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{strokerep}{% + \gdef\@journal{strokerep} + \gdef\@journalfull{Stroke Reports} + \gdef\@journalshort{Stroke Rep.} + \gdef\@doiabbr{strokerep} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{superintelligence}{% + \gdef\@journal{superintelligence} + \gdef\@journalfull{Journal of Superintelligence} + \gdef\@journalshort{J. Superintelligence} + \gdef\@doiabbr{superintelligence} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{surfaces}{% + \gdef\@journal{surfaces} + \gdef\@journalfull{Surfaces} + \gdef\@journalshort{Surfaces} + \gdef\@doiabbr{surfaces} + \gdef\@ISSN{2571-9637} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{surgeries}{% + \gdef\@journal{surgeries} + \gdef\@journalfull{Surgeries} + \gdef\@journalshort{Surgeries} + \gdef\@doiabbr{surgeries} + \gdef\@ISSN{2017-2017} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{suschem}{% + \gdef\@journal{suschem} + \gdef\@journalfull{Sustainable Chemistry} + \gdef\@journalshort{Sustain. Chem.} + \gdef\@doiabbr{suschem} + \gdef\@ISSN{2673-4079} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sustainability}{% + \gdef\@journal{sustainability} + \gdef\@journalfull{Sustainability} + \gdef\@journalshort{Sustainability} + \gdef\@doiabbr{su} + \gdef\@ISSN{2071-1050} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sustainfoods}{% + \gdef\@journal{sustainfoods} + \gdef\@journalfull{Sustainable Foods} + \gdef\@journalshort{Sustain. Foods} + \gdef\@doiabbr{sustainfoods} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{sustainpackag}{% + \gdef\@journal{sustainpackag} + \gdef\@journalfull{Sustainable Packaging} + \gdef\@journalshort{Sustain. Packag.} + \gdef\@doiabbr{sustainpackag} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{symmetry}{% + \gdef\@journal{symmetry} + \gdef\@journalfull{Symmetry} + \gdef\@journalshort{Symmetry} + \gdef\@doiabbr{sym} + \gdef\@ISSN{2073-8994} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{synbio}{% + \gdef\@journal{synbio} + \gdef\@journalfull{SynBio} + \gdef\@journalshort{SynBio} + \gdef\@doiabbr{synbio} + \gdef\@ISSN{2674-0583} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{systems}{% + \gdef\@journal{systems} + \gdef\@journalfull{Systems} + \gdef\@journalshort{Systems} + \gdef\@doiabbr{systems} + \gdef\@ISSN{2079-8954} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{tae}{% + \gdef\@journal{tae} + \gdef\@journalfull{Theoretical and Applied Ergonomics} + \gdef\@journalshort{Theor. Appl. Ergon.} + \gdef\@doiabbr{tae} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{targets}{% + \gdef\@journal{targets} + \gdef\@journalfull{Targets} + \gdef\@journalshort{Targets} + \gdef\@doiabbr{targets} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{taxonomy}{% + \gdef\@journal{taxonomy} + \gdef\@journalfull{Taxonomy} + \gdef\@journalshort{Taxonomy} + \gdef\@doiabbr{taxonomy} + \gdef\@ISSN{2673-6500} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{technologies}{% + \gdef\@journal{technologies} + \gdef\@journalfull{Technologies} + \gdef\@journalshort{Technologies} + \gdef\@doiabbr{technologies} + \gdef\@ISSN{2227-7080} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{telecom}{% + \gdef\@journal{telecom} + \gdef\@journalfull{Telecom} + \gdef\@journalshort{Telecom} + \gdef\@doiabbr{telecom} + \gdef\@ISSN{2673-4001} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{test}{% + \gdef\@journal{test} + \gdef\@journalfull{Test} + \gdef\@journalshort{Test} + \gdef\@doiabbr{test} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{textiles}{% + \gdef\@journal{textiles} + \gdef\@journalfull{Textiles} + \gdef\@journalshort{Textiles} + \gdef\@doiabbr{textiles} + \gdef\@ISSN{2673-7248} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{thalassrep}{% + \gdef\@journal{thalassrep} + \gdef\@journalfull{Thalassemia Reports} + \gdef\@journalshort{Thalass. Rep.} + \gdef\@doiabbr{thalassrep} + \gdef\@ISSN{2039-4365} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{therapeutics}{% + \gdef\@journal{therapeutics} + \gdef\@journalfull{Therapeutics} + \gdef\@journalshort{Therapeutics} + \gdef\@doiabbr{therapeutics} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{thermo}{% + \gdef\@journal{thermo} + \gdef\@journalfull{Thermo} + \gdef\@journalshort{Thermo} + \gdef\@doiabbr{thermo} + \gdef\@ISSN{2673-7264} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{timespace}{% + \gdef\@journal{timespace} + \gdef\@journalfull{Time and Space} + \gdef\@journalshort{Time Space} + \gdef\@doiabbr{timespace} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{tomography}{% + \gdef\@journal{tomography} + \gdef\@journalfull{Tomography} + \gdef\@journalshort{Tomography} + \gdef\@doiabbr{tomography} + \gdef\@ISSN{2379-139X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{tourismhosp}{% + \gdef\@journal{tourismhosp} + \gdef\@journalfull{Tourism and Hospitality} + \gdef\@journalshort{Tour. Hosp.} + \gdef\@doiabbr{tourhosp} + \gdef\@ISSN{2673-5768} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{toxics}{% + \gdef\@journal{toxics} + \gdef\@journalfull{Toxics} + \gdef\@journalshort{Toxics} + \gdef\@doiabbr{toxics} + \gdef\@ISSN{2305-6304} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{toxins}{% + \gdef\@journal{toxins} + \gdef\@journalfull{Toxins} + \gdef\@journalshort{Toxins} + \gdef\@doiabbr{toxins} + \gdef\@ISSN{2072-6651} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{tph}{% + \gdef\@journal{tph} + \gdef\@journalfull{Trends in Public Health} + \gdef\@journalshort{Trends Public Health} + \gdef\@doiabbr{tph} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{transplantology}{% + \gdef\@journal{transplantology} + \gdef\@journalfull{Transplantology} + \gdef\@journalshort{Transplantology} + \gdef\@doiabbr{transplantology} + \gdef\@ISSN{2673-3943} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{transportation}{% + \gdef\@journal{transportation} + \gdef\@journalfull{Transportation} + \gdef\@journalshort{Transportation} + \gdef\@doiabbr{transportation} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{traumacare}{% + \gdef\@journal{traumacare} + \gdef\@journalfull{Trauma Care} + \gdef\@journalshort{Trauma Care} + \gdef\@doiabbr{traumacare} + \gdef\@ISSN{2673-866X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{traumas}{% + \gdef\@journal{traumas} + \gdef\@journalfull{Traumas} + \gdef\@journalshort{Traumas} + \gdef\@doiabbr{traumas} + \gdef\@ISSN{2673-7477} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{tri}{% + \gdef\@journal{tri} + \gdef\@journalfull{Tea Research and Innovation} + \gdef\@journalshort{Tea Res. Innov.} + \gdef\@doiabbr{tri} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{tropicalmed}{% + \gdef\@journal{tropicalmed} + \gdef\@journalfull{Tropical Medicine and Infectious Disease} + \gdef\@journalshort{Trop. Med. Infect. Dis.} + \gdef\@doiabbr{tropicalmed} + \gdef\@ISSN{2414-6366} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{universe}{% + \gdef\@journal{universe} + \gdef\@journalfull{Universe} + \gdef\@journalshort{Universe} + \gdef\@doiabbr{universe} + \gdef\@ISSN{2218-1997} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{urbansci}{% + \gdef\@journal{urbansci} + \gdef\@journalfull{Urban Science} + \gdef\@journalshort{Urban Sci.} + \gdef\@doiabbr{urbansci} + \gdef\@ISSN{2413-8851} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{uro}{% + \gdef\@journal{uro} + \gdef\@journalfull{Uro} + \gdef\@journalshort{Uro} + \gdef\@doiabbr{uro} + \gdef\@ISSN{2673-4397} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{vaccines}{% + \gdef\@journal{vaccines} + \gdef\@journalfull{Vaccines} + \gdef\@journalshort{Vaccines} + \gdef\@doiabbr{vaccines} + \gdef\@ISSN{2076-393X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{vehicles}{% + \gdef\@journal{vehicles} + \gdef\@journalfull{Vehicles} + \gdef\@journalshort{Vehicles} + \gdef\@doiabbr{vehicles} + \gdef\@ISSN{2624-8921} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{venereology}{% + \gdef\@journal{venereology} + \gdef\@journalfull{Venereology} + \gdef\@journalshort{Venereology} + \gdef\@doiabbr{venereology} + \gdef\@ISSN{2674-0710} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{vetsci}{% + \gdef\@journal{vetsci} + \gdef\@journalfull{Veterinary Sciences} + \gdef\@journalshort{Vet. Sci.} + \gdef\@doiabbr{vetsci} + \gdef\@ISSN{2306-7381} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{vibration}{% + \gdef\@journal{vibration} + \gdef\@journalfull{Vibration} + \gdef\@journalshort{Vibration} + \gdef\@doiabbr{vibration} + \gdef\@ISSN{2571-631X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{virtualworlds}{% + \gdef\@journal{virtualworlds} + \gdef\@journalfull{Virtual Worlds} + \gdef\@journalshort{Virtual Worlds} + \gdef\@doiabbr{virtualworlds} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{viruses}{% + \gdef\@journal{viruses} + \gdef\@journalfull{Viruses} + \gdef\@journalshort{Viruses} + \gdef\@doiabbr{v} + \gdef\@ISSN{1999-4915} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{vision}{% + \gdef\@journal{vision} + \gdef\@journalfull{Vision} + \gdef\@journalshort{Vision} + \gdef\@doiabbr{vision} + \gdef\@ISSN{2411-5150} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{waste}{% + \gdef\@journal{waste} + \gdef\@journalfull{Waste} + \gdef\@journalshort{Waste} + \gdef\@doiabbr{waste} + \gdef\@ISSN{2813-0391} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{water}{% + \gdef\@journal{water} + \gdef\@journalfull{Water} + \gdef\@journalshort{Water} + \gdef\@doiabbr{w} + \gdef\@ISSN{2073-4441} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{welding}{% + \gdef\@journal{welding} + \gdef\@journalfull{Welding} + \gdef\@journalshort{Welding} + \gdef\@doiabbr{welding} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{wem}{% + \gdef\@journal{wem} + \gdef\@journalfull{Wildlife Ecology and Management} + \gdef\@journalshort{Wildl. Ecol. Manag.} + \gdef\@doiabbr{wem} + \gdef\@ISSN{1234-4321} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{wevj}{% + \gdef\@journal{wevj} + \gdef\@journalfull{World Electric Vehicle Journal} + \gdef\@journalshort{World Electr. Veh. J.} + \gdef\@doiabbr{wevj} + \gdef\@ISSN{2032-6653} + \gdef\@societyowner{World Electric Vehicle Association} + \gdef\@journaltype{ACS}} +\DeclareOption{wild}{% + \gdef\@journal{wild} + \gdef\@journalfull{Wild} + \gdef\@journalshort{Wild} + \gdef\@doiabbr{wild} + \gdef\@ISSN{} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{wind}{% + \gdef\@journal{wind} + \gdef\@journalfull{Wind} + \gdef\@journalshort{Wind} + \gdef\@doiabbr{wind} + \gdef\@ISSN{2674-032X} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{women}{% + \gdef\@journal{women} + \gdef\@journalfull{Women} + \gdef\@journalshort{Women} + \gdef\@doiabbr{women} + \gdef\@ISSN{2673-4184} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{world}{% + \gdef\@journal{world} + \gdef\@journalfull{World} + \gdef\@journalshort{World} + \gdef\@doiabbr{world} + \gdef\@ISSN{2673-4060} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} +\DeclareOption{youth}{% + \gdef\@journal{youth} + \gdef\@journalfull{Youth} + \gdef\@journalshort{Youth} + \gdef\@doiabbr{youth} + \gdef\@ISSN{2673-995X} + \gdef\@societyowner{} + \gdef\@journaltype{APA}} +\DeclareOption{zoonoticdis}{% + \gdef\@journal{zoonoticdis} + \gdef\@journalfull{Zoonotic Diseases} + \gdef\@journalshort{Zoonotic Dis.} + \gdef\@doiabbr{zoonoticdis} + \gdef\@ISSN{2813-0227} + \gdef\@societyowner{} + \gdef\@journaltype{ACS}} diff --git a/Definitions/journalnames.tex:Zone.Identifier b/Definitions/journalnames.tex:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/Definitions/journalnames.tex:Zone.Identifier Binary files differ diff --git a/Definitions/logo-mdpi.eps b/Definitions/logo-mdpi.eps new file mode 100644 index 0000000..af01219 --- /dev/null +++ b/Definitions/logo-mdpi.eps Binary files differ diff --git a/Definitions/logo-mdpi.eps:Zone.Identifier b/Definitions/logo-mdpi.eps:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/Definitions/logo-mdpi.eps:Zone.Identifier Binary files differ diff --git a/Definitions/logo-orcid.pdf b/Definitions/logo-orcid.pdf new file mode 100644 index 0000000..4ed20a2 --- /dev/null +++ b/Definitions/logo-orcid.pdf Binary files differ diff --git a/Definitions/logo-orcid.pdf:Zone.Identifier b/Definitions/logo-orcid.pdf:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/Definitions/logo-orcid.pdf:Zone.Identifier Binary files differ diff --git a/Definitions/logo-updates.eps b/Definitions/logo-updates.eps new file mode 100644 index 0000000..9c10411 --- /dev/null +++ b/Definitions/logo-updates.eps Binary files differ diff --git a/Definitions/logo-updates.eps:Zone.Identifier b/Definitions/logo-updates.eps:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/Definitions/logo-updates.eps:Zone.Identifier Binary files differ diff --git a/Definitions/mdpi.bst b/Definitions/mdpi.bst new file mode 100644 index 0000000..b7b4f50 --- /dev/null +++ b/Definitions/mdpi.bst @@ -0,0 +1,1346 @@ +%% Bibliography style for MDPI journals, updated on December 17, 2024 + +ENTRY + { address + archiveprefix % + author + booktitle + chapter + edition + editor + eprint % + doi + howpublished + institution + journal + key + month + note + number + organization + pages + primaryclass % + publisher + school + series + title + type + volume + year + url + urldate + nationality + } + {} + { label extra.label sort.label short.list } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block after.item } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'after.item := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { output.state after.item = + {"; " * write$} + {add.period$ " " * write$} + if$} + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.checkwoa} +{ 't := + duplicate$ empty$ + { pop$ } + 'output.nonnull + if$ +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION {embolden} +{ duplicate$ empty$ + { pop$ "" } + { "{\bf " swap$ * "}" * } + if$ +} + +FUNCTION {website} +{ duplicate$ empty$ + { pop$ "" } + { "\url{" swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}{, jj}{, f{.}}." format.name$ 't := + nameptr #1 > + { + nameptr #10 + #1 + = + numnames #10 + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { "; " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + numnames #2 > + { "" * } + 'skip$ + if$ + t "others" = + {"; " * " et~al." * } + { "; " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", Eds." * } + { ", Ed." * } + if$ + } + if$ +} + + + + +FUNCTION {format.title} +{ title empty$ + { "" } + { title} + if$ +} + +FUNCTION {format.number.patent} +{ number empty$ + { "" } + { nationality empty$ + { number} + { nationality " " * number *} + if$ + } + if$ +} + +FUNCTION {format.full.names} +{'s := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.full} +{ author empty$ + { editor empty$ + { "" } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + + + +FUNCTION {author.full} +{ author empty$ + { "" } + { author format.full.names } + if$ +} + +FUNCTION {editor.full} +{ editor empty$ + { "" } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.full + { type$ "proceedings" = + 'editor.full + 'author.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { " " year embolden * } + if$ +} + +FUNCTION {format.bdate} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { " " year * } + if$ +} + +FUNCTION {format.pdate} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + { " " year * } + { " " month * " " * year * } + if$} + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "Vol." volume tie.or.space.connect + series empty$ + 'skip$ + { ", " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " ed." * } + { edition "t" change.case$ " ed." * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp." pages n.dashify tie.or.space.connect } + { "p." pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume emphasize field.or.null + number empty$ + 'skip$ + { + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ",~" * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { edition empty$ + {"In " booktitle emphasize *} + {"In " booktitle emphasize * ", " * edition * " ed." *} + if$ + } + { edition empty$ + {"In " booktitle emphasize * "; " * format.editors * } + {"In " booktitle emphasize * ", " * edition * " ed." * "; " * format.editors * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle.proc} +{ booktitle empty$ + { "" } + { editor empty$ + { edition empty$ + {"In Proceedings of the " booktitle *} + {"In Proceedings of the " booktitle * ", " * edition * " ed." *} + if$ + } + { edition empty$ + {"In Proceedings of the " booktitle * "; " * format.editors * } + {"In Proceedings of the " booktitle * ", " * edition * " ed." * "; " * format.editors * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.publisher.and.address} +{ publisher empty$ + {""} + { address empty$ + {publisher } + {publisher ": " * address *} + if$ + } + if$ +} + + + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "In \emph{" journal * "}" * } + if$ + } + { "In " } + if$ + " \citet{" * crossref * "}" * +} + + + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Vol." volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { "" * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "In {\em " booktitle * "\/}" * } + if$ + } + { "In " key * } + if$ + } + { "In " * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.website} +{ url empty$ + { "" } + { "Available online: " url website * + urldate empty$ + {"there is url but no urldate in " cite$ * warning$} + { " (accessed on " * urldate * ")" *} + if$ + } + if$ +} + +%% the following function is modified from kp.bst at http://arxiv.org/hypertex/bibstyles/ +FUNCTION {format.eprint} +{eprint empty$ + { ""} + {primaryClass empty$ + {" \href{http://arxiv.org/abs/" eprint * "}" * "{{\normalfont " * "[" * eprint * "]" * "}}" *} + {archivePrefix empty$ + {" \href{http://arxiv.org/abs/" eprint * "}" * "{{\normalfont " * "[" * "arXiv:" * primaryClass * "/" * eprint * "]" * "}}" *} + {" \href{http://arxiv.org/abs/" eprint * "}" * "{{\normalfont " * "[" * archivePrefix * ":" * primaryClass * "/" * eprint * "]" * "}}" *} + if$ + } + if$ + } +if$ +} + + +%% For printing DOI numbers (it is a hyperlink but printed in black) +FUNCTION {formatfull.doi} +{ doi empty$ + { "" } + {"{\url{https://doi.org/" doi * "}}" * } + if$ +} + + + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + format.date * format.vol.num.pages "" * output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ +format.eprint output +new.block +note output +formatfull.doi output +fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + format.edition output + after.item 'output.state := + crossref missing$ + { format.bvolume output + format.number.series output + format.publisher.and.address "publisher" output.check +%%% address output + } + { + format.book.crossref output.nonnull + } + if$ + format.bdate "year" output.check + after.item 'output.state := + format.chapter.pages output + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.bdate output + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ +%%% new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + after.item 'output.state := + format.number.series output +%% new.sentence + format.publisher.and.address "publisher" output.check + format.bdate "year" output.check + after.item 'output.state := + format.bvolume output + format.chapter.pages "chapter and pages" output.check + + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + format.bdate "year" output.check + } + if$ + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + after.item 'output.state := + format.number.series output +% new.sentence + format.publisher.and.address "publisher" output.check + format.bdate "year" output.check + after.item 'output.state := + format.bvolume output + format.chapter.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle.proc "booktitle" output.check + address empty$ + { organization publisher new.sentence.checkb + organization output + publisher output + format.pdate "year" output.check + } + { mid.sentence 'output.state := + organization output + address output.nonnull + format.pdate "year" output.check + after.item 'output.state := + } + if$ + format.number.series output + format.bvolume output + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { address new.block.checka + address output + } + 'skip$ + if$ + } + { organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.bdate output + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.bdate "year" output.check + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.bdate output + format.eprint output + new.block + note output + formatfull.doi output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.bdate "year" output.check + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { publisher new.sentence.checka } + { organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.bdate "year" output.check + } + { address output.nonnull + format.bdate "year" output.check + new.sentence + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.bdate "year" output.check + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {www} +{ output.bibitem + format.authors "author" output.checkwoa + new.block + format.title "title" output.check + new.block + format.website "url" output.check + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {patent} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.number.patent "number" output.check + mid.sentence 'output.state := + format.pdate "date" output.check + format.eprint output + new.block + note output + formatfull.doi output + fin.entry +} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +INTEGERS { seq.num } + +FUNCTION {init.seq} +{ #0 'seq.num :=} + +EXECUTE {init.seq} + +FUNCTION {int.to.fix} +{ "000000000" swap$ int.to.str$ * + #-1 #10 substring$ +} + + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + seq.num #1 + 'seq.num := + seq.num int.to.fix + 'sort.label := + sort.label * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + + +STRINGS { longest.label last.label next.extra } + +INTEGERS { longest.label.width last.extra.num number.label } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := + #0 'number.label := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} + +EXECUTE {initialize.longest.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {begin.bib} +{ "\begin{thebibliography}{999}" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + + diff --git a/Definitions/mdpi.bst:Zone.Identifier b/Definitions/mdpi.bst:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/Definitions/mdpi.bst:Zone.Identifier Binary files differ diff --git a/Definitions/mdpi.cls b/Definitions/mdpi.cls new file mode 100644 index 0000000..c03b8c3 --- /dev/null +++ b/Definitions/mdpi.cls @@ -0,0 +1,1800 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% MDPI class for LaTeX files 27 July 2026 +%% %% For any information please send an e-mail to: +%% %% latex@mdpi.com +%% %% +%% %% Initial class provided by: +%% %% Stefano Mariani +%% %% Modified by: +%% %% Dietrich Rordorf +%% %% Peter Harremoes +%% %% Zeno Schumacher +%% %% Maddalena Giulini +%% %% Andres Gartmann +%% %% Dr. Janine Daum +%% %% Xiu Li +%% %% Versions: +%% %% v1.0 before Dr. Janine Daum +%% %% v2.0 when Dr. Janine Daum started (March 2013) +%% %% v3.0 layout change September 2015 +%%%% v4.0 layout change December 2020 +%%%% v5.0 layout change December 2024 +%%%% v6.0 layout change December 2025 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% IDENTIFICATION +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{Definitions/mdpi}[27/07/2026 MDPI paper class] + + %% PRELIMINARY DECLARATIONS +\LoadClass[10pt,a4paper]{article} +\RequirePackage[T1]{fontenc} +\RequirePackage[utf8]{inputenc} +\RequirePackage{calc} +\RequirePackage{indentfirst} +\RequirePackage{fancyhdr} +\RequirePackage{graphicx} +\RequirePackage{lastpage} +\RequirePackage{ifthen} +\RequirePackage{float} +\RequirePackage{amsmath} +\RequirePackage{amssymb} % For math environment bold format +\RequirePackage[right,mathlines]{lineno} +\RequirePackage{setspace} +\RequirePackage{enumitem} +\RequirePackage{mathpazo} +\RequirePackage{booktabs} % For \toprule etc. in tables +\RequirePackage{titlesec} +\RequirePackage{etoolbox} % For \AtBeginDocument etc. +\RequirePackage{tabto} % To use tab for alignment on first page +\RequirePackage{xcolor, colortbl} % To provide color for soul (for english editing), for adding cell color of table +\RequirePackage{soul} % To highlight text +\newcommand{\highlighting}[1]{\colorbox{yellow}{#1}} +\RequirePackage{multirow} +\RequirePackage{microtype} % For command \textls[]{} +\RequirePackage{tikz} % For \foreach used for Orcid icon +\RequirePackage{refcount} % To enable extracting the value of the counter "LastPage" +\RequirePackage{changepage} % To adjust the width of the column for the title part and figures/tables (adjustwidth environment) +\RequirePackage{attrib} % For XML2PDF use \tag{} for equation +\RequirePackage{upgreek} % For making greek letters not italic +\RequirePackage{array} % For table array +\RequirePackage{tabularx} +\RequirePackage{pbox} % For biography environment +\RequirePackage{ragged2e} % For command \justifying +\RequirePackage[subfigure]{tocloft} % For dots in TOC. If subfigure package is loaded, the subfigure option needs to be added here to avoid clash: \RequirePackage[subfigure]{tocloft} +\RequirePackage{marginnote} % For left column +\reversemarginpar % To have the left column on the left side +\RequirePackage{marginfix} % For command \clearmargin for manually moving the left column to the next page +\RequirePackage{enotez} % For endnotes +\RequirePackage{xstring} % For citation in left column +\RequirePackage[labelformat=simple]{subfig} % Support to add subfigures +\renewcommand\thesubfigure{\normalfont(\textbf{\alph{subfigure}})} % Change subfigure label format +\RequirePackage{alphalph} % Provide double letters numbers + +%% OPTIONS +% For transition period to change back to continuous page numbers +\def\@continuouspages{} +\newcommand{\continuouspages}[1]{\gdef\@continuouspages{#1}} + +%% To choose the journal +% All journals (website name, full name, short name, DOI abbreviation, and ISSN + choice of continuous page numbers) are defined in an extra file. +\input{Definitions/journalnames} +\DeclareOption{journal}{\ClassWarning{mdpi}{You used an invalid journal name or you have not specified the journal. The first option of the documentclass command specifies the journal. The word 'journal' should be replaced by one of the journal names specified in template.tex (in the comment 'Choose between the following MDPI journal').}} + +%% To choose the type of manuscript +\DeclareOption{abstract}{\gdef\@arttype{Abstract}} +\DeclareOption{addendum}{\gdef\@arttype{Addendum}} +\DeclareOption{article}{\gdef\@arttype{Article}} +\DeclareOption{benchmark}{\gdef\@arttype{Benchmark}} +\DeclareOption{book}{\gdef\@arttype{Book}} +\DeclareOption{bookreview}{\gdef\@arttype{Book Review}} +\DeclareOption{briefcommunication}{\gdef\@arttype{Brief Communication}} +\DeclareOption{briefreport}{\gdef\@arttype{Brief Report}} +\DeclareOption{casereport}{\gdef\@arttype{Case Report}} +\DeclareOption{changes}{\gdef\@arttype{Changes}} +\DeclareOption{clinicopathologicalchallenge}{\gdef\@arttype{Clinicopathological Challenge}} +\DeclareOption{comment}{\gdef\@arttype{Comment}} +\DeclareOption{commentary}{\gdef\@arttype{Commentary}} +\DeclareOption{communication}{\gdef\@arttype{Communication}} +\DeclareOption{conceptpaper}{\gdef\@arttype{Concept Paper}} +\DeclareOption{conferenceproceedings}{\gdef\@arttype{Proceedings}} +\DeclareOption{correction}{\gdef\@arttype{Correction}} +\DeclareOption{conferencereport}{\gdef\@arttype{Conference Report}} +\DeclareOption{creative}{\gdef\@arttype{Creative}} +\DeclareOption{datadescriptor}{\gdef\@arttype{Data Descriptor}} +\DeclareOption{discussion}{\gdef\@arttype{Discussion}} +\DeclareOption{entry}{\gdef\@arttype{Entry}} +\DeclareOption{expressionofconcern}{\gdef\@arttype{Expression of Concern}} +\DeclareOption{extendedabstract}{\gdef\@arttype{Extended Abstract}} +\DeclareOption{editorial}{\gdef\@arttype{Editorial}} +\DeclareOption{essay}{\gdef\@arttype{Essay}} +\DeclareOption{erratum}{\gdef\@arttype{Erratum}} +\DeclareOption{fieldguide}{\gdef\@arttype{Field Guide}} +\DeclareOption{hypothesis}{\gdef\@arttype{Hypothesis}} +\DeclareOption{interestingimages}{\gdef\@arttype{Interesting Images}} +\DeclareOption{letter}{\gdef\@arttype{Letter}} +\DeclareOption{meetingreport}{\gdef\@arttype{Meeting Report}} +\DeclareOption{monograph}{\gdef\@arttype{Monograph}} +\DeclareOption{newbookreceived}{\gdef\@arttype{New Book Received}} +\DeclareOption{obituary}{\gdef\@arttype{Obituary}} +\DeclareOption{opinion}{\gdef\@arttype{Opinion}} +\DeclareOption{proceedingpaper}{\gdef\@arttype{Proceeding Paper}} +\DeclareOption{projectreport}{\gdef\@arttype{Project Report}} +\DeclareOption{reply}{\gdef\@arttype{Reply}} +\DeclareOption{retraction}{\gdef\@arttype{Retraction}} +\DeclareOption{review}{\gdef\@arttype{Review}} +\DeclareOption{perspective}{\gdef\@arttype{Perspective}} +\DeclareOption{protocol}{\gdef\@arttype{Protocol}} +\DeclareOption{shortnote}{\gdef\@arttype{Short Note}} +\DeclareOption{studyprotocol}{\gdef\@arttype{Study Protocol}} +\DeclareOption{supfile}{\gdef\@arttype{Supfile}} +\DeclareOption{systematicreview}{\gdef\@arttype{Systematic Review}} +\DeclareOption{technicalnote}{\gdef\@arttype{Technical Note}} +\DeclareOption{viewpoint}{\gdef\@arttype{Viewpoint}} +\DeclareOption{guidelines}{\gdef\@arttype{Guidelines}} +\DeclareOption{registeredreport}{\gdef\@arttype{Registered Report}} +\DeclareOption{tutorial}{\gdef\@arttype{Tutorial}} +% Urology article types +\DeclareOption{giantsinurology}{\gdef\@arttype{Giants in Urology}} +\DeclareOption{urologyaroundtheworld}{\gdef\@arttype{Urology around the World}} +\DeclareOption{patentsummary}{\gdef\@arttype{Patent Summary}} + +%% To choose the status of the manuscript +\DeclareOption{submit}{\gdef\@status{submit}} +\DeclareOption{accept}{\gdef\@status{accept}} + +%% To choose the whether there is one or more authors +\DeclareOption{oneauthor}{\gdef\@authornum{author}} +\DeclareOption{moreauthors}{\gdef\@authornum{authors}} + +%% Add the chosen options to the class +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} + +%% Defaults +\ExecuteOptions{notspecified,10pt,a4paper,article,submit,oneauthor} + +%% Process options +\ProcessOptions\relax + +%% MORE DECLARATIONS + +%%% Book contributions based on the article type +\newcommand{\isBookContribution}{% + \ifthenelse{\equal{\@arttype}{Book}% + \OR \equal{\@arttype}{Monograph}% + }% +} + +\newcommand{\isMonograph}{% + \ifthenelse{\equal{\@arttype}{Monograph}% + }% +} + +\newcommand{\isPreprints}{% + \ifthenelse{\equal{\@journal}{preprints}% + \OR \equal{\@journal}{preprintschicago}% + \OR \equal{\@journal}{preprintsapa}% + }% +} + +%%%% Maths environments +\RequirePackage{amsthm} +\newtheoremstyle{mdpi}% name +{12pt}% space above +{12pt}% space below +{\itshape}% body font +{}% indent amount 1 +{\bfseries}% theorem head font +{.}% punctuation after theorem head +{.5em}% space after theorem head +{}% theorem head spec (can be left empty, meaning `normal') + +\renewcommand{\qed}{\unskip\nobreak\quad\qedsymbol} %% This places the symbol right after the text instead of placing it at the end on the line. + +\renewenvironment{proof}[1][\proofname]{\par %% \proofname allows to have "Proof of my theorem" + \pushQED{\qed}% + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist + \item[\hskip\labelsep + \bfseries %% "Proof" is bold + #1\@addpunct{.}]\ignorespaces %% Period instead of colon +}{% + \popQED\endtrivlist\@endpefalse +} + + \theoremstyle{mdpi} + \newcounter{theorem} + \setcounter{theorem}{0} + \newtheorem{Theorem}[theorem]{Theorem} + + \newcounter{lemma} + \setcounter{lemma}{0} + \newtheorem{Lemma}[lemma]{Lemma} + + \newcounter{corollary} + \setcounter{corollary}{0} + \newtheorem{Corollary}[corollary]{Corollary} + + \newcounter{proposition} + \setcounter{proposition}{0} + \newtheorem{Proposition}[proposition]{Proposition} + + \newcounter{characterization} + \setcounter{characterization}{0} + \newtheorem{Characterization}[characterization]{Characterization} + + \newcounter{property} + \setcounter{property}{0} + \newtheorem{Property}[property]{Property} + + \newcounter{problem} + \setcounter{problem}{0} + \newtheorem{Problem}[problem]{Problem} + + \newcounter{example} + \setcounter{example}{0} + \newtheorem{Example}[example]{Example} + + \newcounter{examplesanddefinitions} + \setcounter{examplesanddefinitions}{0} + \newtheorem{ExamplesandDefinitions}[examplesanddefinitions]{Examples and Definitions} + + \newcounter{remark} + \setcounter{remark}{0} + \newtheorem{Remark}[remark]{Remark} + + \newcounter{definition} + \setcounter{definition}{0} + \newtheorem{Definition}[definition]{Definition} + + \newcounter{hypothesis} + \setcounter{hypothesis}{0} + \newtheorem{Hypothesis}[hypothesis]{Hypothesis} + + \newcounter{notation} + \setcounter{notation}{0} + \newtheorem{Notation}[notation]{Notation} + + \newcounter{assumption} + \setcounter{assumption}{0} + \newtheorem{Assumption}[assumption]{Assumption} + + \newcounter{algorithm} + \setcounter{algorithm}{0} + \newtheorem{Algorithm}[algorithm]{Algorithm} + + % Define left/right mark in math environment +\let\originalleft\left +\let\originalright\right +\renewcommand{\left}{\mathopen{}\mathclose\bgroup\originalleft} +\renewcommand{\right}{\aftergroup\egroup\originalright} + +%%%% Chicago style journals +\newcommand{\isChicagoStyle}{% + \ifthenelse{\equal{\@journaltype}{Chicago} + } +} + +%%%% APA style journals +\newcommand{\isAPAStyle}{% + \ifthenelse{\equal{\@journaltype}{APA} + } +} + +%%%% Chicago style journals +\newcommand{\isAPAandChicago}{% + \ifthenelse{\equal{\@journaltype}{APA} + \OR \equal{\@journaltype}{Chicago} + } +} + +%%%% References +\isAPAStyle{% +\RequirePackage[natbibapa]{Definitions/mdpi_apacite} % Only used for APA style journals + }{% + \RequirePackage[sort&compress,sectionbib]{natbib} +} % Option sectionbib is for optionally organizing references using sections (author request) + +\renewcommand\NAT@set@cites{% + \ifNAT@numbers + \ifNAT@super \let\@cite\NAT@citesuper + \def\NAT@mbox##1{\unskip\nobreak\textsuperscript{##1}}% + \let\citeyearpar=\citeyear + \let\NAT@space\relax + \def\NAT@super@kern{\kern\p@}% + \else + \let\NAT@mbox=\mbox + \let\@cite\NAT@citenum + \let\NAT@space\relax + \let\NAT@super@kern\relax + \fi + \let\@citex\NAT@citexnum + \let\@biblabel\NAT@biblabelnum + \let\@bibsetup\NAT@bibsetnum + \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@num\NAT@close}% + \def\natexlab##1{}% + \def\NAT@penalty{\penalty\@m}% + \else + \let\@cite\NAT@cite + \let\@citex\NAT@citex + \let\@biblabel\NAT@biblabel + \let\@bibsetup\NAT@bibsetup + \let\NAT@space\NAT@spacechar + \let\NAT@penalty\@empty + \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@date\NAT@close}% + \def\natexlab##1{##1}% + \fi} + +\isAPAStyle{% + \bibliographystyle{Definitions/mdpi_apacite} + }{% + \isChicagoStyle{% + \bibliographystyle{Definitions/mdpi_chicago} + \bibpunct{(}{)}{;}{x}{}{,}% + }{% + \bibliographystyle{Definitions/mdpi} + \bibpunct{[}{]}{,}{n}{}{,}% + }% +} + +%%%%% Hyperlinks +%% Define color for citations +\definecolor{bluecite}{HTML}{0875b7} + +%% crefname definitions +\newcommand{\crefnameDefinitions}{ + \crefname{figure}{Figure}{Figures} + \crefname{table}{Table}{Tables} + \crefname{section}{Section}{Sections} + \crefname{appendix}{Appendix}{Appendices} + \crefname{scheme}{Scheme}{Schemes} + \crefname{chart}{Chart}{Charts} + \crefname{paragraph}{Section}{Sections} + \crefname{graph}{Graph}{Graphs} +} + +% After TeXLive 2021, \AddToHook{begindocument} is needed to make sure that hyperref is loaded last. \ifdef{\AddToHook{begindocument}}{ is needed for backwards-compatibility because \AddToHook{begindocument} did not yet exist in 2020. +% After TeXLive 2022, \AddToHook{begindocument/before}{} is needed and \DeclareHookRule{begindocument}{hyperref}{before}{mdpi} needs to be added because of the new version of hyperref. +\newcommand{\hyperrefpackage}{ + \isBookContribution{% + \RequirePackage[unicode=true, + bookmarksopen={true}, + pdffitwindow=true, + colorlinks=true, + linkcolor=black, + citecolor=black, + urlcolor=black, + hyperfootnotes=false, + pdfstartview={FitH}, + pdfpagemode=UseNone, + pdfpagelabels]{hyperref} + }{ + \ifthenelse{\equal{\@journal}{laws}}{ + \RequirePackage[unicode=true, + bookmarksopen={true}, + pdffitwindow=true, + colorlinks=true, + linkcolor=bluecite, + citecolor=bluecite, + urlcolor=bluecite, + hyperfootnotes=false, + pdfstartview={FitH}, + pdfpagemode= UseNone]{hyperref} + }{ + \RequirePackage[unicode=true, + bookmarksopen={true}, + pdffitwindow=true, + colorlinks=true, + linkcolor=bluecite, + citecolor=bluecite, + urlcolor=bluecite, + hyperfootnotes=true, + pdfstartview={FitH}, + pdfversion=1.7, + pdfpagemode= UseNone]{hyperref} + } +} +\RequirePackage[capitalise,noabbrev]{cleveref} +} +\ifdef{\AddToHook}{ +\DeclareHookRule{begindocument}{hyperref}{before}{mdpi} + \AddToHook{begindocument/before}{ + \hyperrefpackage + \crefnameDefinitions + } + }{ + \hyperrefpackage + \crefnameDefinitions +} + +\ifdefined\XeTeXversion + \typeout{Check out XeLaTex!} + \else + \pdfminorversion=7 % Set PDF version +\fi + +%% To have the possibility to change the urlcolor +\newcommand{\changeurlcolor}[1]{\hypersetup{urlcolor=#1}} + +%% Cleveref definitions +\newcommand{\cleverefDefinitions}{ + \crefrangelabelformat{figure}{##3##1##4--##5##2##6} % double # for nesting inside \newcommand + \crefrangelabelformat{table}{##3##1##4--##5##2##6} + \crefrangelabelformat{section}{##3##1##4--##5##2##6} + \crefrangelabelformat{appendix}{##3##1##4--##5##2##6} + \crefrangelabelformat{scheme}{##3##1##4--##5##2##6} + \crefrangelabelformat{chart}{##3##1##4--##5##2##6} + \crefrangelabelformat{graph}{##3##1##4--##5##2##6} +} + +\newcommand{\crefrangeconjunction}{--} +\newcommand{\fig}[1]{Figure~\ref{#1}} +\newcommand{\tabref}[1]{Table~\ref{#1}} +\newcommand{\sect}[1]{Section~\ref{#1}} +\newcommand{\app}[1]{Appendix~\ref{#1}} +\newcommand{\sche}[1]{Scheme~\ref{#1}} +\newcommand{\cchart}[1]{Chart~\ref{#1}} +\newcommand{\equ}[1]{\ref{#1}} +\newcommand{\boxref}[1]{Box~\ref{#1}} +\newcommand{\cgraph}[1]{Graph~\ref{#1}} + +%%%% Metadata +\newcommand{\org@maketitle}{}% LATEX-Check +\let\org@maketitle\maketitle +\def\maketitle{% + \hypersetup{ + pdftitle={\@Title}, + pdfsubject={\@abstract}, + pdfkeywords={\@keyword}, + pdfauthor={\@AuthorNames} + }% + \org@maketitle +} + +%%%%% Endnotes +\setenotez{backref=true} +\DeclareInstance{enotez-list}{custom}{paragraph}{ + format=\fontsize{9}{11}\selectfont\leftskip0.76cm, + number=\textsuperscript{\makebox[6mm][l]{#1}}, + notes-sep=0pt +} + +%%%% Footnotes, for journal Laws +\RequirePackage{scrextend} +\setlength{\skip\footins}{0.6cm} % Increase space between text and footnote +\setlength{\footnotesep}{8pt} % Increase space between line and footnote +\deffootnote{1.5em}{0em}{\textsuperscript{\thefootnotemark}\quad} % Remove indent + +%%%% Widows & orphans +\clubpenalty=10000 +\widowpenalty=10000 +\displaywidowpenalty=10000 +\tolerance=1000 % slopiness / badness of the line breaking + +%%%% To avoid "Output-loop.." compile bug +\maxdeadcycles=10000 + +% line and word spacing +\linespread{1.165} + +% Indents & Commands for hanging indent +\setlength{\parindent}{0.75cm} +\newcommand{\dist}{1.7em} +\newcommand{\hang}{\hangafter=1\hangindent=\dist\noindent} + +%%%% Front matter +% Command for checking for a question mark or exclamation mark in title +\def\instring#1#2{TT\fi\begingroup\edef\x{\endgroup\noexpand\in@{#1}{#2}}\x\ifin@} + +\newcommand{\firstargument}{} +\newcommand{\Title}[1]{\gdef\@Title{#1}}% +\def\@Author{} +\newcommand{\Author}[1]{\gdef\@Author{#1}}% +\def\@AuthorNames{} +\newcommand{\AuthorNames}[1]{\gdef\@AuthorNames{#1}}% +\newcommand{\firstpage}[1]{\gdef\@firstpage{#1}} +\newcommand{\doinum}[1]{\gdef\@doinum{#1}} + +% DOI number +% Create command to add a leading zero if 1 digit +\newcommand\twodigits[1]{% + \ifnum#1<10 % + 0\number#1 + \else + \number#1 + \fi +} + +% Create command to add a leading zero if less then 5 digits +\newcommand\fivedigits[1]{% + \ifnum#1<10 % + 000\number#1 + \else + \ifnum#1<100 % + 00\number#1 + \else + \ifnum#1<1000 % + 0\number#1 + \else + \ifnum#1<10000 % + \number#1 + \else + \ifnum#1<100000 % + \number#1 + \else + error + \fi + \fi + \fi + \fi + \fi +} + +\ifthenelse{\equal{\@journal}{molbank} + \OR \equal{\@journal}{chemproc} + \OR \equal{\@journal}{engproc} + \OR \equal{\@journal}{eesp} + \OR \equal{\@journal}{materproc} + \OR \equal{\@journal}{blsf} + \OR \equal{\@journal}{msf} + \OR \equal{\@journal}{psf} + \OR \equal{\@journal}{csmf} + }{ + \doinum{10.3390/\@articlenumber} + }{ + \doinum{10.3390/\@doiabbr\@pubvolume\twodigits\@issuenum\fivedigits\@articlenumber} +} + +% For \@pubvolume, \@issuenum, and \@articlenumber: create command to cut leading zeros +\newcommand\cutdigits[1]{% + \ifnum#1>0 % + \number#1 + \else + \ifnum#1<10000 % + \number#1 + \else + error + \fi + \fi +} + +\newcommand{\pubvolume}[1]{\gdef\@pubvolume{\cutdigits{#1}}} +\newcommand{\pubyear}[1]{\gdef\@pubyear{#1}} +\newcommand{\copyrightyear}[1]{\gdef\@copyrightyear{#1}} +\newcommand{\address}[2][]{\renewcommand{\firstargument}{#1}\gdef\@address{#2}} +\newcommand{\corresfirstargument}{} +\def\@corres{} +\newcommand{\corres}[2][]{\renewcommand{\corresfirstargument}{#1}\gdef\@corres{#2}} +\def\@conference{} +\newcommand{\conference}[1]{\gdef\@conference{#1}}% +\def\@abstract{} +\renewcommand{\abstract}[1]{\gdef\@abstract{#1}} +\def\@externaleditor{} +\newcommand{\externaleditor}[1]{\gdef\@externaleditor{#1}} +\def\@LSID{} +\newcommand{\LSID}[1]{\gdef\@LSID{#1}} +\def\@datereceived{} +\newcommand{\datereceived}[1]{\gdef\@datereceived{#1}} +\def\@daterevised{} +\newcommand{\daterevised}[1]{\gdef\@daterevised{#1}} +\def\@dateaccepted{} +\newcommand{\dateaccepted}[1]{\gdef\@dateaccepted{#1}} +\newcommand{\datepublished}[1]{\gdef\@datepublished{#1}} +\def\@datecorrected{} +\newcommand{\datecorrected}[1]{\gdef\@datecorrected{#1}} +\def\@dateretracted{} +\newcommand{\dateretracted}[1]{\gdef\@dateretracted{#1}} +\def\@pacs{} +\newcommand{\PACS}[1]{\gdef\@pacs{#1}} +\def\@msc{} +\newcommand{\MSC}[1]{\gdef\@msc{#1}} +\def\@jel{} +\newcommand{\JEL}[1]{\gdef\@jel{#1}} +\def\@keyword{} +\newcommand{\keyword}[1]{\gdef\@keyword{#1}} +\def\@dataset{} +\newcommand{\dataset}[1]{\gdef\@dataset{#1}} +\def\@datasetlicense{} +\newcommand{\datasetlicense}[1]{\gdef\@datasetlicense{#1}} +\def\@featuredapplication{} +\newcommand{\featuredapplication}[1]{\gdef\@featuredapplication{#1}} +\def\@keycontribution{} +\newcommand{\keycontribution}[1]{\gdef\@keycontribution{#1}} +\def\@issuenum{} +\newcommand{\issuenum}[1]{\gdef\@issuenum{\cutdigits{#1}}} +\def\@firstnote{} +\newcommand{\firstnote}[1]{\gdef\@firstnote{#1}} +\def\@secondnote{} +\newcommand{\secondnote}[1]{\gdef\@secondnote{#1}}% +\def\@thirdnote{} +\newcommand{\thirdnote}[1]{\gdef\@thirdnote{#1}}% +\def\@fourthnote{} +\newcommand{\fourthnote}[1]{\gdef\@fourthnote{#1}}% +\def\@fifthnote{} +\newcommand{\fifthnote}[1]{\gdef\@fifthnote{#1}}% +\def\@sixthnote{} +\newcommand{\sixthnote}[1]{\gdef\@sixthnote{#1}}% +\def\@seventhnote{} +\newcommand{\seventhnote}[1]{\gdef\@seventhnote{#1}}% +\def\@eighthnotes{} +\newcommand{\eighthnotes}[1]{\gdef\@eighthnotes{#1}}% +\def\@ninethnote{} +\newcommand{\ninethnote}[1]{\gdef\@ninethnote{#1}}% +\def\@tenthnote{} +\newcommand{\tenthnote}[1]{\gdef\@tenthnote{#1}}% +\def\@eleventhnote{} +\newcommand{\eleventhnote}[1]{\gdef\@eleventhnote{#1}}% +\def\@simplesumm{} +\newcommand{\simplesumm}[1]{\gdef\@simplesumm{#1}} +\newcommand{\articlenumber}[1]{ + \ifthenelse{\equal{\@journal}{molbank}}{ + \gdef\@articlenumber{#1}% + }{ + \gdef\@articlenumber{\cutdigits{#1}}% + } + } + +\def\@externalbibliography{} +\newcommand{\externalbibliography}[1]{\gdef\@externalbibliography{#1}} +\def\@reftitle{} +\newcommand{\reftitle}[1]{\gdef\@reftitle{#1}} +\def\@longauthorlist{} +\newcommand{\longauthorlist}[1]{\gdef\@longauthorlist{#1}} +\def\@encyclopediadef{} +\newcommand{\encyclopediadef}[1]{\gdef\@encyclopediadef{#1}} +\def\@addhighlights{} +\newcommand{\addhighlights}[1]{\gdef\@addhighlights{#1}} +\def\@CorrStatement{} +\newcommand{\CorrStatement}[1]{\gdef\@CorrStatement{#1}} +\newcommand{\textcorrstatement}{\textbf{Correction Statement:} This article has been republished with a minor change. The change does not affect the scientific content of the article and further details are available within the backmatter of the website version of this article.} +\def\@IsAssociation{} +\newcommand{\IsAssociation}[1]{\gdef\@IsAssociation{#1}} + +%% ORCID +% Make Orcid icon +\newcommand{\orcidicon}{\includegraphics[width=0.32cm]{Definitions/logo-orcid.pdf}} + +% Define link and button for each author +\foreach \x in {A, ..., Z}{% +\expandafter\xdef\csname orcid\x\endcsname{\noexpand\href{https://orcid.org/\csname orcidauthor\x\endcsname}{\noexpand\orcidicon}} +} + +%%%% Journal name for the header +\newcommand{\journalname}{\@journalshort} + +%%%% Header and footer on first page +%% The plain page style needs to be redefined because with \maketitle in the article class, LaTeX applies the the plain page style automatically to the first page. +\ifthenelse{\equal{\@journal}{preprints} % + \OR \equal{\@journal}{preprintschicago} + \OR \equal{\@journal}{preprintsapa} + \OR \equal{\@arttype}{Book} + \OR \equal{\@arttype}{Monograph}}{% + \fancypagestyle{plain}{% + \fancyhf{} + \isPreprints{}{% + \fancyfoot[C]{\footnotesize\thepage} + }% + }% + }{% + \ifthenelse{\equal{\@arttype}{Supfile}}{ + % page header and footer styles for supplementary files + \fancypagestyle{plain}{ + \fancyhf{} + \fancyhead[R]{ + \footnotesize % + S\thepage{} of S\pageref*{LastPage}% + \\\rule{\fulllength}{0.4pt}% + }% + \fancyhead[L]{ + \footnotesize % + \ifthenelse{\equal{\@status}{submit}}{% + Version {\@ \today} submitted to {\em \journalname}% + }{% + {\em \journalname} % + {\bfseries \@pubyear}, % + {\em \@pubvolume}, % + \ifthenelse{\equal{\@continuouspages}{\@empty}}{% + \@articlenumber% + }{% + S\@firstpage\ifnumcomp{\getpagerefnumber{LastPage}}{=}{\@firstpage}{}{--S\pageref*{LastPage}}% + }% + . {\url{https://doi.org/\@doinum}}% + }% + \\\vspace{-2pt}\rule{\fulllength}{0.4pt}% + }% + }% + }{ + \fancypagestyle{plain}{ + \renewcommand{\footrulewidth}{0.4pt} + \fancyhead{\null\vspace{8pt}} + \fancyfoot[L]{ + \fontsize{8}{8}\selectfont + \ifthenelse{\equal{\@status}{submit}}{% + Version {\@ \today} submitted to {\em \journalname}% + }{% + {\em\journalname\ }{\bfseries\@pubyear}, {\em \@pubvolume}, % + \ifthenelse{\equal{\@continuouspages}{\@empty}}{% + \@articlenumber % + }{% + \@firstpage\ifnumcomp{\getpagerefnumber{LastPage}}{=}{\@firstpage}{}{--\pageref*{LastPage}} % + }% + }% + } + \fancyfoot[R]{ + \fontsize{8}{8}\selectfont + {% + }{\url{https://doi.org/\@doinum}}}% + } + } +} + +%%%% Maketitle part 1: Logo, Arttype, Title, Author +\renewcommand{\@maketitle}{ + \isBookContribution{% for books we have no logos, article type and narrow column + }{% for journals and preprints we have logos, article type and narrow column + \ifthenelse{\equal{\@leftcolumnsplit}{\@empty}}{% Default option for the left column + \marginnote[\contentleftcolumn]{}[\MyLen] % Bottom aligned + }{% + } + \isPreprints{\vspace{0.92cm}}{% + \begin{adjustwidth}{-\extralength}{} + } + } + \begin{flushleft} + \ifthenelse{\equal{\@arttype}{Supfile}}{% + \fontsize{18}{18}\selectfont + \raggedright + \hyphenpenalty=10000 + \tolerance=1000 + \noindent\textbf{Supplementary Materials: \@Title}% + \par + \vspace{12pt} + \fontsize{10}{10}\selectfont + \noindent\boldmath\bfseries{\@Author} + }{% + \isBookContribution{}{% + \vspace*{-1.75cm} + } + {%0 + \ifthenelse{\equal{\@journal}{preprints} + \OR \equal{\@journal}{preprintschicago} + \OR \equal{\@journal}{preprintsapa} + \OR \equal{\@arttype}{Book} + \OR \equal{\@arttype}{Monograph}}{}{ + \vspace{-2pt}% + \ifthenelse{\equal{\@status}{submit}}{% + \vspace{5pt}% + \hfill \href{https://www.mdpi.com}{% + \includegraphics[height=1cm]{Definitions/logo-mdpi.eps}}% + }{ + \href{https://www.mdpi.com/journal/\@journal}{ + \includegraphics[height=1.2cm]{Definitions/\@journal-logo.eps}}% + \hfill + \ifthenelse{\equal{\@IsAssociation}{\@empty} \OR \isundefined{\@IsAssociation}}{% + \ifthenelse{\equal{\@journal}{ijom}}{% + \href{https://www.mdpi.com}{\includegraphics[height=1cm]{Definitions/logo-mdpi-ijom.eps}} + }{ + \ifthenelse{\equal{\@journal}{siuj}}{% + \href{https://www.mdpi.com}{\includegraphics[height=1cm]{Definitions/logo-mdpi-siuj.eps}} + }{ + \ifthenelse{\equal{\@journal}{scipharm}}{% + \href{https://www.mdpi.com}{\includegraphics[height=1cm]{Definitions/logo-mdpi-scipharm.eps}}% + }{% + \href{https://www.mdpi.com}{\includegraphics[height=1cm]{Definitions/logo-mdpi.eps}}% + } + }% + }% + }{ + \href{https://www.mdpi.com}{\includegraphics[height=1cm]{Definitions/logo-mdpi-\@journal.eps}}% + }% + }% + \par + \rule{\fulllength}{0.4pt}% + }% + \par + }%0 + {%1 + \vspace{14pt} + \fontsize{10}{10}\selectfont + \isBookContribution{}{% + \textit{\@arttype}% + }% + \par + }%1 + {%2 + \fontsize{18}{18}\selectfont + \hyphenpenalty=10000 + \tolerance=1000 + \isMonograph{}{% + \boldmath\bfseries{\@Title}% + }% + \par + \vspace{12pt} + }%2 + \ifthenelse{\equal{\@longauthorlist}{\@empty}}{% + }{% + \end{flushleft}% + \isPreprints{}{% + \end{adjustwidth}% + } + \vspace{-2.5pt} + } + {%3 + \hyphenpenalty=10000 + \tolerance=1000 + \isMonograph{}{% + \boldmath\bfseries{\@Author} + \ifthenelse{\equal{\@arttype}{Book}}{\vspace{-12pt}}{} + }% + \par + \vspace{12pt} + }%3 + }% + \ifthenelse{\equal{\@longauthorlist}{\@empty}}{% + \end{flushleft}% + }{% + }% + \isBookContribution{}{% + \ifthenelse{\equal{\@longauthorlist}{\@empty}}{% + \isPreprints{}{% + \end{adjustwidth}% + } + }{% + } + } + \ifthenelse{\equal{\@leftcolumnsplit}{\@empty}}{% Left column split + }{ + \marginnote[\contentleftcolumn]{}% Alignment with the affiliations + } + \isMonograph{\vspace{-2cm}}{} + } + +%%% Left column on first page (= "left column" = "leftcol") + +% Definite font size for the narrow column +\newcommand{\leftcolFont}{% + \linespread{1.71} + \fontsize{7}{7}\selectfont + \justify + \hyphenpenalty=10000 + \tolerance=1000 +} + +% Split content into six parts + +% Part 1: Update logo +\newcommand{\leftcolumnUpdatelogo}{ + \leftcolFont + \ifthenelse{\equal{\@status}{submit}}{ + }{% + \href{https://crossmark.crossref.org/dialog?doi=\@doinum&domain=pdf&date_stamp=\the\year-\twodigits{\the\month}-\twodigits{\the\day}}{\includegraphics[height=.6cm]{Definitions/logo-updates.eps}} + \vspace{-18pt}\\ + }% +} + +%% Part 2: Academic editor(s) +\newcommand{\leftcolExternalEditor}{ + \ifthenelse{\equal{\@externaleditor}{\@empty}}{% + }{% + \leftcolFont + \raggedright + \IfSubStr{\@externaleditor}{ and }{Academic Editors: \@externaleditor}{{\fontdimen2\font=1.4pt Academic Editor: \@externaleditor}} + %\@externaleditor % For urgent situation, you can release this command and comment out line 953 + \vspace{-4pt} + } +} + +% Part 3: Dates +\newcommand{\leftcolDates}{ +\isPreprints{% + }{% + \leftcolFont + \ifthenelse{\equal{\@journal}{proceedings} + \OR \equal{\@journal}{chemproc} + \OR \equal{\@journal}{engproc} + \OR \equal{\@journal}{eesp} + \OR \equal{\@journal}{materproc} + \OR \equal{\@journal}{blsf} + \OR \equal{\@journal}{msf} + \OR \equal{\@journal}{psf} + \OR \equal{\@journal}{csmf}}{% + Published: \@datepublished\\\vspace{-16pt} + }{% + Received: \@datereceived\\ + \ifthenelse{\equal{\@daterevised}{\@empty}}{% + }{% + Revised: \@daterevised\\% + } + Accepted: \@dateaccepted\\ + Published: \@datepublished + \ifthenelse{\equal{\@datecorrected}{\@empty}}{% + }{% + \newline Corrected: \@datecorrected + } + \ifthenelse{\equal{\@dateretracted}{\@empty}}{% + }{% + \newline Retracted: \@dateretracted + }\vspace{-4pt} + } + } +} + +% Part 4: Correction statement +\newcommand{\leftcolumnCorrstatement}{% +\isPreprints{}{% + \ifthenelse{\equal{\@CorrStatement}{yes}}{% + \leftcolFont% + \textcorrstatement% + \vspace{-2pt} + }{% + \vspace{-2pt} + } + } +} + +% Part 5: Copyright +\newcommand{\leftcolumnCright}{ +\isPreprints{}{% + \leftcolFont + \raggedright + \cright + } +} + +% Content of the left column. The marginnote with this content will be placed it at the very top of the first page to have a fixed reference point +\newcommand{\contentleftcolumn}{% + \ifthenelse{\equal{\@arttype}{Supfile} + \OR \equal{\@journal}{preprints} + \OR \equal{\@journal}{preprintschicago} + \OR \equal{\@journal}{preprintsapa} + }{ + }{% + \ifthenelse{\equal{\@status}{submit}}{% + }{\leftcolumnUpdatelogo} %1 + \leftcolExternalEditor %2 + \leftcolDates %3 + \leftcolumnCorrstatement %4 + \leftcolumnCright %5 + } +} + +% Placing on the left column +\newlength{\MyLen} % For length of the left column content +\newsavebox{\MyBox} % A box is needed to measure the length (= height) of the left column content + +\newcommand{\calculateMyLen}{ % The calculation needs to be done after begin document, therefore this command is executed at \AtBeginDocument + \savebox{\MyBox}{ % All this savebox and parbox is apparently needed to measure the length (= height) of the text + \parbox[l]{\leftcolumnlength}{ %This is the width of the left column, defined above at "Dimensions" and "Layout" + \contentleftcolumn + } + } + \settototalheight{\MyLen}{\usebox{\MyBox}} % Use the length (= height) of the box to assign this value to \MyLen (this can be queried in .tex by \the\MyLen) + \setlength{\MyLen}{\textheight-\MyLen-12pt} % Change \MyLen to be \textheight minus \MyLen so that the resulting value can be used to alig the left column to the bottom of \textheight. Then substract 12pt to make the bottom alignment +} + +% Left column split options for long titles/author lists +% Make new command for deciding for the split option +\def\@leftcolumnsplit{} +\newcommand{\leftcolumnsplit}[1]{\gdef\@leftcolumnsplit{#1}} + +% Split option 1 +\newcommand{\OptionOneA}{ + \leftcolExternalEditor %1 + \leftcolDates\vspace{-2pt} %2 +} + +\newcommand{\OptionOneB}{ + \leftcolumnCright %3 +} + +% Split option 2 +\newcommand{\OptionTwoA}{ + \leftcolExternalEditor\vspace{-10pt} %1 +} + +\newcommand{\OptionTwoB}{ + \leftcolDates\vspace{-2pt} %2 + \vspace{6pt}\leftcolumnCright %3 +} + +% Split option 3 +\newcommand{\OptionThreeA}{ +} + +\newcommand{\OptionThreeB}{ + \leftcolExternalEditor %1 + \leftcolDates\vspace{-2pt} %2 + \vspace{6pt}\leftcolumnCright %3 +} + +%%%% Maketitle part 2 +\newcommand{\maketitlen}{% + \isBookContribution{\vspace{12pt}}{% + \begin{flushleft} + \begin{spacing}{1.35} + \hyphenpenalty=10000 + \tolerance=1000 + \fontsize{8}{8}\selectfont + {% + \ifthenelse{\equal{\firstargument}{1}}{}{% + \hang}\@address + \par + }% + {% + \ifthenelse{\equal{\@authornum}{author}}{}{% + \ifthenelse{\equal{\@corres}{\@empty}}{}{% + \hang\textbf{*} \tabto{\dist} \@corres} + \par + } + }% + {% + \ifthenelse{\equal{\@conference}{\@empty}}{}{% + \hang$^{\dagger}$ \tabto{\dist} This paper is an extended version of our paper published in\space \@conference.} + \par + }% + {% + \ifthenelse{\equal{\@firstnote}{\@empty}}{}{% + \hang\ifthenelse{\equal{\@conference}{\@empty}}{$^\dagger$}{$^\ddagger$} \tabto{\dist} \@firstnote} + \par + }% + {% + \ifthenelse{\equal{\@secondnote}{\@empty}}{}{% + \hang \ifthenelse{\equal{\@conference}{\@empty}}{$^{\ddagger}$}{$^{\S}$} \tabto{\dist} \@secondnote} + \par + }% + {% + \ifthenelse{\equal{\@thirdnote}{\@empty}}{}{% + \hang \ifthenelse{\equal{\@conference}{\@empty}}{$^{\S}$}{$^{\|}$} \tabto{\dist} \@thirdnote} + \par + }% + {% + \ifthenelse{\equal{\@fourthnote}{\@empty}}{}{% + \hang \ifthenelse{\equal{\@conference}{\@empty}}{$^{\|}$}{$^\P$} \tabto{\dist} \@fourthnote} + \par + }% + {% + \ifthenelse{\equal{\@fifthnote}{\@empty}}{}{% + \hang \ifthenelse{\equal{\@conference}{\@empty}}{$^{\P}$}{**} \tabto{\dist} \@fifthnote} + \par + }% + {% + \ifthenelse{\equal{\@sixthnote}{\@empty}}{}{% + \hang \ifthenelse{\equal{\@conference}{\@empty}}{**}{$^{\dagger\dagger}$} \tabto{\dist} \@sixthnote} + \par + }% + {% + \ifthenelse{\equal{\@seventhnote}{\@empty}}{}{% + \hang \ifthenelse{\equal{\@conference}{\@empty}}{$^{\dagger\dagger}$}{$^{\ddagger\ddagger}$} \tabto{\dist} \@seventhnote} + \par + }% + {% + \ifthenelse{\equal{\@eighthnotes}{\@empty}}{}{% + \hang \ifthenelse{\equal{\@conference}{\@empty}}{$^{\ddagger\ddagger}$}{$^{\S\S}$} \tabto{\dist} \@eighthnotes} + \par + }% + {% + \ifthenelse{\equal{\@ninethnote}{\@empty}}{}{% + \hang \ifthenelse{\equal{\@conference}{\@empty}}{$^{\S\S}$}{$^{\|\|}$} \tabto{\dist} \@ninethnote} + \par + }% + {% + \ifthenelse{\equal{\@tenthnote}{\@empty}}{}{% + \hang \ifthenelse{\equal{\@conference}{\@empty}}{$^{\|\|}$}{$^{\P\P}$} \tabto{\dist} \@tenthnote} + \par + }% + {% + \ifthenelse{\equal{\@eleventhnote}{\@empty}}{}{% + \hang \ifthenelse{\equal{\@conference}{\@empty}}{$^{\P\P}$}{***} \tabto{\dist} \@eleventhnote} + \par + }% + {% + \ifthenelse{\equal{\@LSID}{\@empty}}{}{% + \vskip12pt \@LSID} + \par + }% + \end{spacing} + \end{flushleft} +} +} + +%%%% Abstract, keywords, journal data, PACS, MSC, JEL +\newcommand{\abstractkeywords}{ +\isMonograph{}{\vspace{-8pt} +% For journal Applied Sciences: +\ifthenelse{\equal{\@featuredapplication}{\@empty}}{ + }{% + \noindent\textbf{Featured Application\vspace{6pt}\\}\@featuredapplication + \vspace{12pt} + \par +} +%6 +\ifthenelse{\equal{\@addhighlights}{\@empty}}{}{ + \noindent\textbf{Highlights\vspace{-6pt}\\}\addhighlights % redefined in .tex to use itemize + \vspace{12pt} + \par +} +\ifthenelse{\equal{\@simplesumm}{\@empty}}{}{ + \noindent\textbf{Simple Summary\vspace{6pt}\\}\@simplesumm + \vspace{12pt} + \par +} +\ifthenelse{\equal{\@abstract}{\@empty}}{}{ + \noindent\textbf{Abstract\vspace{6pt}\\}\@abstract + \vspace{12pt} + \par +} +\ifthenelse{\equal{\@encyclopediadef}{\@empty}}{}{ + \noindent\textbf{Definition\vspace{6pt}\\}\@encyclopediadef + \vspace{12pt} + \par +} +%7 +% For journal Data: +\ifthenelse{\equal{\@dataset}{\@empty}}{}{ + \noindent\textbf{Dataset:\space}\@dataset + \vspace{12pt} + \par +} +%For journal Data: +\ifthenelse{\equal{\@datasetlicense}{\@empty}}{}{ + \noindent\textbf{Dataset License:\space}\@datasetlicense + \vspace{12pt} + \par +} +%8 +\ifthenelse{\equal{\@keyword}{\@empty}}{}{ + \noindent\textbf{Keywords:\space}\@keyword + \vspace{12pt} + \par +} +%9 +%For journal Toxins: +\ifthenelse{\equal{\@keycontribution}{\@empty}}{}{ + \noindent\textbf{Key Contribution:\space}\@keycontribution + \vspace{12pt} + \par +} +%10 +\ifthenelse{\equal{\@pacs}{\@empty}}{}{ + \noindent\textbf{PACS:\space}\@pacs + \vspace{12pt} + \par +} +%11 +\ifthenelse{\equal{\@msc}{\@empty}}{}{ + \noindent\textbf{MSC:\space}\@msc + \vspace{12pt} + \par +} +%12 +\ifthenelse{\equal{\@jel}{\@empty}}{}{ + \noindent\textbf{JEL Classification:\space}\@jel + \vspace{12pt} + \par +} +%13 +\vspace{4pt} +\isBookContribution{}{\hrule} +\vspace{12pt} +\normalsize +} +} % For Monograph, remove front part + +%%%% Print maketitle and abstractkeywords +\ifthenelse{\equal{\@arttype}{Supfile}}{ + \AfterEndPreamble{ + \maketitle + \let\maketitle\relax + \ifthenelse{\equal{\@status}{submit}}{\linenumbers}{} + }% + }{ + \AfterEndPreamble{ + \maketitle + \let\maketitle\relax + \maketitlen + \let\maketitlen\relax + \ifthenelse{\equal{\@status}{submit}}{\linenumbers}{} + \abstractkeywords + }% +} + +\AtBeginDocument{ + \calculateMyLen + \DeclareSymbolFont{AMSb}{U}{msb}{m}{n} + \DeclareSymbolFontAlphabet{\mathbb}{AMSb} + \cleverefDefinitions + %%%% URL + \RequirePackage{url} + \urlstyle{same} + % Line breaks in URL + \def\UrlDigits{\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0} + \g@addto@macro{\UrlBreaks}{\UrlOrds} + \g@addto@macro{\UrlBreaks}{\UrlDigits} +} + +%%%% Font size in Tables and watermark in arttype retraction +\AtEndPreamble{ + \def\@tablesize{} + \newcommand{\tablesize}[1]{\gdef\@tablesize{#1}} + \let\oldtabularx\tabularx + \renewcommand{\tabularx}{\ifthenelse{\equal{\@tablesize}{\@empty}}{}{\@tablesize}\oldtabularx} + \printretraction +} + +%%%% Table of contents +\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}} % Dots between section title and page number +\renewcommand{\numberline}[1]{#1.~\space} % Increase space between number and title + +%%%% Section headings +\setcounter{secnumdepth}{4} % Default: 3 in the article class. To get paragraphs numbered and counted, increase the default value of secnumdepth to 4 + +\isMonograph{% + \titleformat {\section} [block] {\raggedright \fontsize{18}{18}\selectfont\bfseries} {\thesection.\space} {0pt} {} + \titlespacing {\section} {0pt} {12pt} {8pt} + }{ + \titleformat {\section} [block] {\raggedright \fontsize{12}{12}\selectfont\bfseries} {\thesection.\space} {0pt} {} + \titlespacing {\section} {0pt} {12pt} {3pt} +} + +\titleformat {\subsection} [block] {\raggedright \fontsize{10}{10}\selectfont\itshape} {\thesubsection.\space} {0pt} {} +\titlespacing {\subsection} {0pt} {12pt} {3pt} + +\titleformat {\subsubsection} [block] {\raggedright \fontsize{10}{10}\selectfont} {\thesubsubsection.\space} {0pt} {} +\titlespacing {\subsubsection} {0pt} {12pt} {3pt} + +\titleformat {\paragraph} [block] {\raggedright \fontsize{10}{10}\selectfont} {} {0pt} {} +\titlespacing {\paragraph} {0pt} {12pt} {3pt} + +%%%% Special section title style for back matter +\newcommand{\supplementary}[1]{ +\par\vspace{6pt}\noindent{\fontsize{9}{11.5}\selectfont\textbf{Supplementary Materials:} {#1}\par}} + +\newcommand{\authorcontributions}[1]{% +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Author Contributions:} {#1}\par}} + +\newcommand{\funding}[1]{ +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Funding:} {#1}\par}} + +\newcommand{\institutionalreview}[1]{ +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Institutional Review Board Statement:} {#1}\par}} + +\newcommand{\informedconsent}[1]{ +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Informed Consent Statement:} {#1}\par}} + +\newcommand{\dataavailability}[1]{ +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Data Availability Statement:} {#1}\par}} + +\newcommand{\durcstatement}[1]{% For journal Drones +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{DURC Statement:} {#1}\par}} + +\newcommand{\publicinvolvement}[1]{% For journal Nursing Reports +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Public Involvement Statement:} {#1}\par}} + +\newcommand{\guidelinesstandards}[1]{% For journal Nursing Reports +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Guidelines and Standards Statement:} {#1}\par}} + +\newcommand{\acknowledgments}[1]{ +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Acknowledgments:} {#1}\par}} + +\newcommand{\conflictsofinterest}[1]{% +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Conflicts of Interest:} {#1}\par}} + +\newcommand{\entrylink}[1]{% For journal Encyclopedia +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Entry Link:} {#1}\par}} + +\newcommand{\useofartificialintelligence}[1]{% For journal Nursing Reports +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Use of Artificial Intelligence:} {#1}\par}} + +\newcommand{\reviewreports}[1]{% +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{Review Reports:} {#1}\par}} + +\newcommand{\abbreviations}[2]{\vspace{12pt}\noindent{\fontsize{12}{12}\selectfont\textbf{#1}}{% +\par\vspace{3pt}\hspace{-0.85cm}{\fontsize{9}{11.2}\selectfont #2}\par}} + +% Standby command for adding paragraph in back matter part +\newcommand{\specialsection}[2]{% +\vspace{12pt}\noindent{\selectfont\textbf{#1}\par\vspace{6pt}\noindent {\fontsize{9}{9}\selectfont #2}\par}} + +% Command for author's biography +\newcommand{\bio}[2]{% +\noindent{#1}\hspace{1.1cm}\noindent {\fontsize{9}{11.2}\selectfont \pbox[b]{13.86cm}{#2}}\par\vspace{6pt}} + +% Use for special paragraph requirement in back matter +\newcommand{\backnotes}[2]{ +\vspace{6pt}\noindent{\fontsize{9}{11.2}\selectfont\textbf{#1:} {#2}\par}} + +%%%%% Defines the appendix +\def\@appendixtitles{} +\newcommand{\appendixtitles}[1]{\gdef\@appendixtitles{#1}} + +\def\@appendixsections{} +\newcommand{\appendixsections}[1]{\gdef\@appendixsections{#1}} + +\def\@appendixstart{} +\newcommand{\appendixstart}[1]{\gdef\@appendixstart{#1}} + +\renewcommand{\appendixstart}{% +\setcounter{section}{0}% +\setcounter{subsection}{0}% +\setcounter{subsubsection}{0}% +\setcounter{figure}{0} +\setcounter{table}{0} +\setcounter{scheme}{0} +\setcounter{chart}{0} +\setcounter{boxenv}{0} +\setcounter{equation}{0} +\setcounter{theorem}{0} +\setcounter{lemma}{0} +\setcounter{corollary}{0} +\setcounter{proposition}{0} +\setcounter{characterization}{0} +\setcounter{property}{0} +\setcounter{problem}{0} +\setcounter{example}{0} +\setcounter{examplesanddefinitions}{0} +\setcounter{remark}{0} +\setcounter{definition}{0} +\setcounter{hypothesis}{0} +\setcounter{notation}{0} +\setcounter{algorithm}{0} +\setcounter{graph}{0} +} + +\renewcommand{\appendix}{% +% +\gdef\thesection{\AlphAlph{\value{section}}}% +\gdef\thesubsection{\AlphAlph{\value{section}}.\@arabic\c@subsection}% + +\titleformat {\section} [block] {\raggedright\bfseries\fontsize{12}{12}\selectfont} {\fontsize{12}{12}\selectfont\bfseries% + \ifthenelse{\equal{\@appendixtitles}{yes}}{% + \appendixname~\thesection.% + }{% + \appendixname~\thesection~% + } + } {0pt} {} +\titlespacing {\section} {0pt} {12pt} {3pt} +% +\titleformat {\subsection} [block] {\raggedright\itshape} {% + \ifthenelse{\equal{\@appendixtitles}{yes}}{% + \appendixname~\thesubsection.% + }{% + \appendixname~\thesubsection% + } + } {0pt} {} +\titlespacing {\section} {0pt} {12pt} {3pt} +% +\titleformat {\subsubsection} [block] {\raggedright\selectfont} {% + \ifthenelse{\equal{\@appendixtitles}{yes}}{% + \appendixname~\thesubsubsection.% + }{% + \appendixname~\thesubsubsection% + } + } {0pt} {} +\titlespacing {\section} {0pt} {12pt} {3pt} +% +\gdef\thesection{\AlphAlph{\value{section}}}% for hyperref +\gdef\thesubsection{\AlphAlph{\value{section}}.\@arabic\c@subsection}% for hyperref +\csname appendixmore\endcsname +\renewcommand{\thefigure}{A\arabic{figure}} +\renewcommand{\thetable}{A\arabic{table}} +\renewcommand{\thescheme}{A\arabic{scheme}} +\renewcommand{\thechart}{A\arabic{chart}} +\renewcommand{\theboxenv}{A\arabic{boxenv}} +\renewcommand{\theequation}{A\arabic{equation}} +\renewcommand{\thetheorem}{A\arabic{theorem}} +\renewcommand{\thelemma}{A\arabic{lemma}} +\renewcommand{\thecorollary}{A\arabic{corollary}} +\renewcommand{\theproposition}{A\arabic{proposition}} +\renewcommand{\thecharacterization}{A\arabic{characterization}} +\renewcommand{\theproperty}{A\arabic{property}} +\renewcommand{\theproblem}{A\arabic{problem}} +\renewcommand{\theexample}{A\arabic{example}} +\renewcommand{\theexamplesanddefinitions}{A\arabic{examplesanddefinitions}} +\renewcommand{\theremark}{A\arabic{remark}} +\renewcommand{\thedefinition}{A\arabic{definition}} +\renewcommand{\thehypothesis}{A\arabic{hypothesis}} +\renewcommand{\thenotation}{A\arabic{notation}} +\renewcommand{\thealgorithm}{A\arabic{algorithm}} +\renewcommand{\thegraph}{A\arabic{graph}} +} + +%%%% Dimensions +%% Width of left column = marginparwidth +\newlength{\leftcolumnlength} +\setlength{\leftcolumnlength}{4.1cm} + +%% Width of left column plus marginsep +\newlength{\extralength} +\setlength{\extralength}{4.61cm} % = 0.51 cm + 4.1 cm (= marginparwidth + marginparsep) + +%% Width of the page minus the margins +\newlength{\fulllength} +\setlength{\fulllength}{21 cm - 1.27 cm - 1.27 cm} + +%%%% Layout +\isPreprints{% + \RequirePackage[left=2.7cm, + right=2.7cm, + top=1.35cm, + bottom=1.08cm, + includehead, + includefoot]{geometry} + }{ +\isBookContribution{%% + \RequirePackage[left=2.05cm, + right=2.05cm, + top=1.8cm, + bottom=0.75cm, + paperwidth=170mm, + paperheight=244mm, + footskip=20pt, + headsep=24pt, + includefoot]{geometry} + }{ + \RequirePackage[left=5.87cm, %1.27 cm + 0.51 cm + 4.1 cm = 5.87 cm (= 1.27 cm + marginparwidth + marginparsep) + marginparwidth=4.1cm, + marginparsep=0.51cm, + right=1.27cm, + top=1.27cm, + bottom=1.08cm, + footskip=36pt, + headsep=24pt, + includehead, + includefoot]{geometry} + } +} + +\isPreprints{}{% +\fancyheadoffset[L]{\extralength} % Header into the margin +\isBookContribution{% + }{% + \fancyfootoffset[L]{\extralength}% + } +} % Footer into the margin + +%%%% Commands for landscape page +\newcommand{\startlandscape}{% +\isPreprints{% + \clearpage + \paperwidth=\pdfpageheight + \paperheight=\pdfpagewidth + \pdfpageheight=\paperheight + \pdfpagewidth=\paperwidth + \newgeometry{layoutwidth=297mm, layoutheight=210 mm, left=1.27cm, right=1.27cm, top=1.27cm, bottom=1.08cm, includehead, includefoot} + \fancyheadoffset{0pt} + \captionsetup{margin={0cm,0cm}} + }{% + \clearpage + \paperwidth=\pdfpageheight + \paperheight=\pdfpagewidth + \pdfpageheight=\paperheight + \pdfpagewidth=\paperwidth + \newgeometry{layoutwidth=297mm, layoutheight=210 mm, left=1.27cm, right=1.27cm, top=1.27cm, bottom=1.08cm, includehead, includefoot} + \fancyheadoffset{0pt} + \captionsetup{margin={4.6cm,0cm}} + } +} + +\newcommand{\finishlandscape}{% + \clearpage + \paperwidth=\pdfpageheight + \paperheight=\pdfpagewidth + \pdfpageheight=\paperheight + \pdfpagewidth=\paperwidth + \restoregeometry + \fancyheadoffset[L]{\extralength} + \captionsetup{margin={0cm,0cm}} +} + +%%%% Figures and tables +\RequirePackage{newfloat} +\DeclareFloatingEnvironment[]{listing} +\DeclareFloatingEnvironment[name=Box]{boxenv} +\DeclareFloatingEnvironment[]{chart} +\DeclareFloatingEnvironment[]{scheme} +\DeclareFloatingEnvironment[]{figurewide} +\DeclareFloatingEnvironment[]{graph} + +\RequirePackage{caption} +\isPreprints{% +\captionsetup[figure]{position=bottom, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, singlelinecheck=on, justification=justified} + +\captionsetup[scheme]{position=bottom, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, singlelinecheck=on, justification=justified} + +\captionsetup[listing]{position=top, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, singlelinecheck=on, justification=justified} + +\captionsetup[chart]{position=bottom, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, singlelinecheck=on, justification=justified} + +\captionsetup[table]{position=top, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, singlelinecheck=on, justification=justified} + +\captionsetup[boxenv]{position=top, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, singlelinecheck=on, justification=justified} + +\captionsetup[graph]{position=bottom, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, singlelinecheck=on, justification=justified} +}{ +\captionsetup[figure]{position=bottom, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, singlelinecheck=off, justification=justified} + +\captionsetup[scheme]{position=bottom, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, singlelinecheck=off, justification=justified} + +\captionsetup[listing]{position=top, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, singlelinecheck=off, justification=justified} + +\captionsetup[chart]{position=bottom, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, singlelinecheck=off, justification=justified} + +\captionsetup[table]{position=top, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, singlelinecheck=off, justification=justified} + +\captionsetup[boxenv]{position=top, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, singlelinecheck=off, justification=justified} + +\captionsetup[graph]{position=bottom, labelfont={bf, small, stretch=1.17}, labelsep=period, textfont={small, stretch=1.17}, aboveskip=6pt, belowskip=-6pt, singlelinecheck=off, justification=justified} +} + +%% Non-floating figure block with long caption (\captionof{figure}{...}). +%% TL2026 + \DocumentMetadata: use float tagging sockets (PDF/UA-2). +%% TL2023 / no tagging: \UseTaggingSocket may be undefined -- skip safely. +\newcommand{\mdpi@tagsocket}[1]{\ifdefined\UseTaggingSocket\UseTaggingSocket{#1}\fi} + +%% For table footnotes +\newsavebox{\@justcentbox} +\newcommand{\justifyorcenter}[1]{ +\sbox \@justcentbox{#1} +\ifdim \wd \@justcentbox >\hsize #1 +\else \centerline{#1} \fi +} + +%% For text alignment in tables +\renewcommand\tabularxcolumn[1]{m{#1}} % vertical centering +\newcolumntype{C}{>{\centering\arraybackslash}X} % centered text in C columns +\newcolumntype{L}{>{\raggedright\arraybackslash}X} % centered text in L columns +\newcolumntype{R}{>{\raggedleft\arraybackslash}X} % centered text in R columns + +%%%% Bullet lists +\setitemize{topsep=3pt,parsep=0pt,itemsep=0pt,leftmargin=*,labelsep=5.5mm,align=parleft} +\setenumerate{topsep=3pt,parsep=0pt,itemsep=0pt,leftmargin=*,labelsep=5.5mm,align=parleft} +\setlist[description]{itemsep=0mm} + +%%%% Quote environment +\renewenvironment{quote}{ + \list{}{ + \listparindent=0pt + \leftmargin=0.75cm + \rightmargin=0.75cm + \topsep=3pt + \parsep=3pt + }% + \item\relax + } + {\endlist} + +%%%% Supplementary file +\ifthenelse{\equal{\@arttype}{Supfile}}{ + \renewcommand{\thefigure}{S\arabic{figure}}% + \renewcommand{\thetable}{S\arabic{table}}% + }{}% + +%% Link to supplementary material: www.mdpi.com/ISSN-number/volume-number/issue-number/article-number +\newcommand{\linksupplementary}[1]{\url{https://www.mdpi.com/article/\@doinum/#1}} + +%%%% Header and footer (all pages except the first) +\renewcommand\headrule{} %% set line (from fancyhdr) in header to nothing + +\pagestyle{fancy} +\lhead{ + \ifthenelse{\equal{\@journal}{preprints}% + \OR \equal{\@journal}{preprintschicago} + \OR \equal{\@journal}{preprintsapa} + \OR \equal{\@arttype}{Book} + \OR \equal{\@arttype}{Monograph}}{% + }{% + \fontsize{8}{8}\selectfont% + \ifthenelse{\equal{\@status}{submit}}{% + \vspace{2pt}Version {\@ \today} submitted to {\em \journalname}% + }{% + \ifthenelse{\equal{\@arttype}{Supfile}}{% + {\em \journalname} {\bfseries \@pubyear}, {\em \@pubvolume}, % + \ifthenelse{\equal{\@continuouspages}{\@empty}}{% + \@articlenumber. % + }{% + S\@firstpage\ifnumcomp{\getpagerefnumber{LastPage}}{=}{\@firstpage}{}{--S\pageref*{LastPage}}. % + }% + {\url{https://doi.org/\@doinum}}% + }{% + {\null\vspace{2pt}\em\journalname\ }{\bfseries\@pubyear}, {\em \@pubvolume}% + \ifthenelse{\equal{\@continuouspages}{\@empty}}{% + , \@articlenumber% + }{}% + }% + }\\% + \isPreprints{}{% + \rule{\fulllength}{0.4pt}% + }% + }% + } + +\rhead{% + \isBookContribution{}{% + \ifthenelse{\equal{\@arttype}{Supfile}}{% + \fontsize{8}{8}\selectfont S\thepage{} of S\pageref*{LastPage}% + }{% + \ifthenelse{\equal{\@continuouspages}{\@empty}}{% + \fontsize{8}{8}\selectfont\thepage{} of \pageref*{LastPage}% + }{% + \fontsize{8}{8}\selectfont\thepage% + }% + }\\% + \isPreprints{}{% + \rule{\fulllength}{0.4pt}% + }% + }% +} + +\cfoot{% + \isBookContribution{% + \fontsize{8}{8}\selectfont\thepage + }{% + } +} + +\isBookContribution{% + }{% + \isPreprints{}{% + \rfoot{% + \fontsize{8}{8}\selectfont% + {\url{https://doi.org/\@doinum}}% + } + } +} + +%%%% Article type "Retraction" +\def\@retractiondate{}% Date that the retraction notice was published +\newcommand{\retractiondate}[1]{\gdef\@retractiondate{#1}} +\def\@retractionnoticeyear{}% Year in which the retraction notice was published +\newcommand{\retractionnoticeyear}[1]{\gdef\@retractionnoticeyear{#1}} +\def\@retractionnoticevolume{} % Volume in which the retraction notice was published +\newcommand{\retractionnoticevolume}[1]{\gdef\@retractionnoticevolume{#1}} +\def\@retractionnoticeidnumber{}% Article Number in which the retraction notice was published +\newcommand{\retractionnoticeidnumber}[1]{\gdef\@retractionnoticeidnumber{#1}} +\def\@retractionnoticedoi{} % DOI published retraction notice +\newcommand{\retractionnoticedoi}[1]{\gdef\@retractionnoticedoi{#1}} +\newcommand{\printretraction}{ +\ifthenelse{\equal{\@retractiondate}{\@empty}}{}{% + \RequirePackage{draftwatermark} + \SetWatermarkText{RETRACTED} + \SetWatermarkScale{0.8} + \fancypagestyle{plain}{ + \fancyhf{} + \fancyfoot[L]{ + \footnotesize% + \st{\mbox{\textit{\journalname} \textbf{\@pubyear}, \textit\@pubvolume, }}% + \ifthenelse{\equal{\@continuouspages}{\@empty}}{% + \st{\@articlenumber}% + }{% + \st{\@firstpage}\ifnumcomp{\getpagerefnumber{LastPage}}{=}{\@firstpage}{}{\st{--\mbox{\pageref*{LastPage}}}}% + }% + \\This paper has been retracted. A retraction notice was published on \@retractiondate{} % + in \textit{\@journalfull} \textbf{\@retractionnoticeyear}, \textit{\@retractionnoticevolume}, \@retractionnoticeidnumber. https://doi.org/\@retractionnoticedoi + }% + \fancyfoot[R]{ + \footnotesize% + \st{{% + \href{https://doi.org/\@doinum}% + {https://doi.org/\@doinum}}}% + }% + \renewcommand{\footrulewidth}{0.4pt}% + } + } +} + +%%%% Bibliography +\renewcommand\bibname{References} % Backwards compatibility for book production +\renewcommand\@biblabel[1]{#1.\hfill} +\def\thebibliography#1{ +\emergencystretch 2em +\titleformat {\section} [block] {\raggedright \fontsize{12}{12}\selectfont\bfseries} {} {0pt} {} + \isBookContribution{}{% to remove the sectin from the TOC in books + \section{\@reftitle} +} +\fontsize{9}{11}\selectfont +\list{{\arabic{enumi}}}{\def\makelabel##1{\hss{##1}} +\topsep=0\p@ +\parsep=0\p@ +\partopsep=0\p@ +\itemsep=0\p@ +\labelsep=1.5mm +\isAPAandChicago{% + \ifthenelse{\equal{\@externalbibliography}{\@empty}}{% + \itemindent=-7.7mm + }{% + \itemindent=-3.3mm}% + }{% + \itemindent=0\p@} +\settowidth\labelwidth{\footnotesize[#1]}% +\leftmargin\labelwidth +\advance\leftmargin\labelsep +\usecounter{enumi}} +} +\let\endthebibliography=\endlist + +%%%% Publisher's note +\newcommand{\PublishersNote}{ +\null\par\noindent\fontsize{9}{11}\selectfont\textbf{Disclaimer/Publisher's Note:} The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. +} + +%%%% Copyright info +\newcommand{\cright}{% + \ifthenelse{\equal{\@arttype}{Supfile}}{% + }{% + \ifthenelse{\equal{\@status}{submit}}{% + \fontdimen2\font=1.2pt + \raggedright\textbf{Copyright: }\copyright{} {\@ \the\year} by the \@authornum. % + Submitted to {\em\journalname} for possible open access publication under the terms and % + conditions of the % + }{% + {\raggedright\textbf{Copyright:} \copyright \ {\@copyrightyear} by the \@authornum. % + \ifthenelse{\equal{\@societyowner}{}}{}{% + Published by MDPI on behalf of the {\@societyowner}.} + Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms % + and conditions of the % + } + }% + \ifthenelse{\equal{\@journal}{ijtpp}}{% + \href{https://creativecommons.org/licenses/by-nc-nd/4.0/}{Creative Commons Attribution % + (CC BY-NC-ND) license}}{\href{https://creativecommons.org/licenses/by/4.0/}% + {Creative Commons Attribution (CC~BY) license}}. + } +} + +%%%% For tables XML2PDF +\RequirePackage{seqsplit} % Use for split table column + \newlength{\cellWidtha} + \newlength{\cellWidthb} + \newlength{\cellWidthc} + \newlength{\cellWidthd} + \newlength{\cellWidthe} + \newlength{\cellWidthf} + \newlength{\cellWidthg} + \newlength{\cellWidthh} + \newlength{\cellWidthi} + \newlength{\cellWidthj} + \newlength{\cellWidthk} + \newlength{\cellWidthl} + \newlength{\cellWidthm} + \newlength{\cellWidthn} + \newlength{\cellWidtho} + \newlength{\cellWidthp} + \newlength{\cellWidthq} + \newlength{\cellWidthr} + \newlength{\cellWidths} + \newlength{\cellWidtht} + \newlength{\cellWidthu} + \newlength{\cellWidthv} + \newlength{\cellWidthw} + \newlength{\cellWidthx} + \newlength{\cellWidthy} + \newlength{\cellWidthz} + \newlength{\cellWidthA} + \newlength{\cellWidthB} + \newlength{\cellWidthC} + \newlength{\cellWidthD} + \newlength{\cellWidthE} + \newlength{\cellWidthF} + \newlength{\cellWidthG} + \newlength{\cellWidthH} + \newlength{\cellWidthI} + \newlength{\cellWidthJ} + \newlength{\cellWidthK} + \newlength{\cellWidthL} + \newlength{\cellWidthM} + \newlength{\cellWidthN} + \newlength{\cellWidthO} + \newlength{\cellWidthP} + \newlength{\cellWidthQ} + \newlength{\cellWidthR} + \newlength{\cellWidthS} + \newlength{\cellWidthT} + \newlength{\cellWidthU} + \newlength{\cellWidthV} + \newlength{\cellWidthW} + \newlength{\cellWidthX} + \newlength{\cellWidthY} + \newlength{\cellWidthZ} + \newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp} % For table column setting in XML2PDF + +\endinput \ No newline at end of file diff --git a/Definitions/mdpi.cls:Zone.Identifier b/Definitions/mdpi.cls:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/Definitions/mdpi.cls:Zone.Identifier Binary files differ diff --git a/Definitions/mdpi_apacite.bst b/Definitions/mdpi_apacite.bst new file mode 100644 index 0000000..114742e --- /dev/null +++ b/Definitions/mdpi_apacite.bst @@ -0,0 +1,5001 @@ +%% This is file `mdpi_apacite.bst', +%% Modified by MDPI according to apacite.bst. (Updated on 12 January 2025) +%% +%% The original source files were: +%% +%% apacite.dtx (with options: `bibstyle') +%% +%% This is a generated file. +%% +%% Copyright (C) 1994-2013 Erik Meijer and any individual authors listed +%% elsewhere in this file. + +ENTRY + { address + annote + annotate + author + booktitle + chair + chapter + day + doi + edition + editor + englishtitle + firstkey + howpublished + institution + journal + key + lastchecked + month + nihms + note + number + organization + originaladdress + originalbooktitle + originaledition + originaleditor + originaljournal + originalnumber + originalpages + originalpublisher + originalvolume + originalyear + pages + pmcid + publisher + school + series + symposium + text + title + translator + type + url + urldate + volume + year + } + { cite.order %% order of first citation + title.number %% for sorting titles + cite.initials %% dummy (0-1) indicating whether or not + %% initials of the 1st author must + %% be used for citing + cite.num.names.full %% number of names to be cited for full and + cite.num.names.short %% short cite + add.to.year %% For a, b, c, etc. after year + %% in multiple citations with same author-year + } + { year.label %% For sorting entries by year + author.year.sort.label %% For sorting entries and checking whether + %% initials should be added, how many authors + %% should be cited and whether a, b, etc. + %% after year is necessary + title.sort.label %% for sorting titles + citeorder.sort.label %% for sorting by citation order + type.2 %% Replacement for type with misc entries and + %% entries that revert to misc. + } +INTEGERS { len pos name.max old.number numnames numnames.old + nameptr lastname format.num.names cite.initials.old + cite.num.names.old add.to.year.old forward + multiresult dot brace.level + } + +STRINGS { s t u old.label field + aut1f aut1s aut1f.old aut1s.old + aut2 aut2.old + aut3 aut3.old + aut4 aut4.old + aut5 aut5.old + aut6 aut6.old + year.label.old + } +FUNCTION {test} { #0 } +FUNCTION {dump.stack} +{ "---- STACK {" cite$ * "} ----" * top$ + stack$ + "---- END STACK {" cite$ * "} ----" * top$ +} +FUNCTION {make.index} { #0 } +FUNCTION {unsorted} { #0 } +MACRO {jan} {"{\APACmonth{01}}"} +MACRO {feb} {"{\APACmonth{02}}"} +MACRO {mar} {"{\APACmonth{03}}"} +MACRO {apr} {"{\APACmonth{04}}"} +MACRO {may} {"{\APACmonth{05}}"} +MACRO {jun} {"{\APACmonth{06}}"} +MACRO {jul} {"{\APACmonth{07}}"} +MACRO {aug} {"{\APACmonth{08}}"} +MACRO {sep} {"{\APACmonth{09}}"} +MACRO {oct} {"{\APACmonth{10}}"} +MACRO {nov} {"{\APACmonth{11}}"} +MACRO {dec} {"{\APACmonth{12}}"} +MACRO {winter} {"{\APACmonth{13}}"} +MACRO {spring} {"{\APACmonth{14}}"} +MACRO {summer} {"{\APACmonth{15}}"} +MACRO {fall} {"{\APACmonth{16}}"} +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % issues warning if field is empty + % call with + % "field" field warning.if.empty + % Note that the first field must be between quotes + % because it is the fieldname for use in the warning message. + % +FUNCTION {warning.if.empty} +{ empty$ + { "No " swap$ * " in " * cite$ * warning$ } + { pop$ } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % issues warning if title, type, and howpublished are empty + % +FUNCTION {check.relevant.fields} +{ title empty$ + type empty$ and + howpublished empty$ and + { "No title, type, and howpublished in " cite$ * warning$ } + 'skip$ + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % delivers 1 if (both editor and translator + % not empty and not equal to each other) + % 0 if (editor or translator empty) or + % (editor = translator) + % +FUNCTION {editor.ne.trans} +{ translator empty$ + { #0 } + { editor empty$ + { #0 } + { translator editor = + { #0 } + { #1 } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {conv.int.to.str} +{ duplicate$ #10 < + { "0000" swap$ int.to.str$ * } + { duplicate$ #100 < + { "000" swap$ int.to.str$ * } + { duplicate$ #1000 < + { "00" swap$ int.to.str$ * } + { duplicate$ #10000 < + { "0" swap$ int.to.str$ * } + { int.to.str$ } + if$ + } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {ref.type} +{ type$ "article" = + type$ "magazine" = + type$ "newspaper" = + type$ "book" = + type$ "techreport" = + type$ "unpublished" = + type$ "misc" = + type$ "booklet" = + type$ "manual" = + type$ "proceedings" = + or + or + or + or + or + or + or + or + or + { #1 } + { type$ "incollection" = + type$ "phdthesis" = + type$ "mastersthesis" = + type$ "lecture" = + type$ "inbook" = + type$ "inproceedings" = + type$ "conference" = + type$ "intechreport" = + or + or + or + or + or + or + or + { #2 } + { type$ "literal" = + { #3 } + { #0 } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {is.atype} +{ type$ "article" = + type$ "magazine" = + type$ "newspaper" = + type$ "incollection" = + type$ "inbook" = + type$ "inproceedings" = + type$ "conference" = + type$ "intechreport" = + type$ "manual" = + or + or + or + or + or + or + or + or + { #1 } + { journal empty$ not + % + type$ "phdthesis" = + type$ "mastersthesis" = + or + % + and + { #1 } + { type$ "misc" = + type empty$ not and + { type "\bibmessage" = + type "\bibcomputerprogram" = + type "\bibcomputerprogrammanual" = + type "\bibcomputerprogramandmanual" = + type "\bibcomputersoftware" = + type "\bibcomputersoftwaremanual" = + type "\bibcomputersoftwareandmanual" = + type "\bibprogramminglanguage" = + or + or + or + or + or + or + or + { #1 } + { #0 } + if$ + } + { #0 } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % connects two strings with connect string + % if one of them empty, then connect string + % is left out + % + % call with S1 S2 connectstring connect.check + % +FUNCTION {connect.check} +{ 'u := + % + % if S2 = "" + % + duplicate$ empty$ + % + % then remove S2 + % + { pop$ + % + % S1 is on top of stack. + % if it is empty, it is replaced by the empty string "" + % + duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ + } + % + % else swap S1 and S2 so that S1 can be checked + % + { swap$ + % + % if S1 is empty, remove S1 so that S2 is left on the + % stack and is the result is given + % + duplicate$ empty$ + { pop$ } + % + % now the real work starts: + % push the connect string "C" + % so that top of stack is "C" "S1" "S2" + % concatenate, so that top of stack is + % "S1+C" "S2" + % + { u * + % + % swap and concatenate + % + swap$ * + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % connects two strings with space ("\ ") + % if length of second is 4 or larger, + % connects them with non-breaking space ("tie", "~") + % if length of second smaller than 4 + % + % call with S1 S2 tie.or.space.connect + % result: "S1\ S2" or "S1~S2" + % +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #4 < + { "~" } + { "\ " } + if$ + swap$ * * +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % connects two strings with comma (", ") + % if one of them is empty, the comma is left out + % + % call with S1 S2 connect.with.comma.check + % result: "S1, S2" + % +FUNCTION {connect.with.comma.check} +{ ", " connect.check } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % connects two strings with semicolon ("; ") + % if one of them is empty, semicolon is left out + % + % call with S1 S2 connect.with.semicolon.check + % result: "S1; S2" + % +FUNCTION {connect.with.semicolon.check} +{ "; " connect.check } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % connects two strings with colon (": ") + % if one of them is empty, colon is left out + % + % call with S1 S2 connect.with.colon.check + % result: "S1: S2" + % +FUNCTION {connect.with.colon.check} +{ ": " connect.check } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % connects two strings with space ("\ ") + % + % call with S1 S2 connect.with.space.check + % result: "S1\ S2" + % +FUNCTION {connect.with.space.check} +{ "\ " connect.check } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % encloses string in pre- and postfix string + % call with + % prefix postfix S enclose.check + % delivers empty string if S empty + % +FUNCTION {enclose.check} +{ duplicate$ empty$ + { pop$ pop$ pop$ + "" + } + { swap$ * * } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % emphasizes top of stack + % call with + % "string" emphasize.check + % +FUNCTION {emphasize.check} +{ "\Bem{" swap$ + "}" swap$ + enclose.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % brackets top of stack + % call with + % "string" bracket + % +FUNCTION {bracket.check} +{ "[" swap$ + "]" swap$ + enclose.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % parenthesizes top of stack + % call with + % "string" parenthesize + % +FUNCTION {parenthesize.check} +{ "(" swap$ + ")" swap$ + enclose.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % checks whether argument is "multiresult": + % whether it contains '-', '+', or ',' characters + % used with pages to check whether pp. or p. must be used + % +FUNCTION {multi.result.check} +{ 't := + #0 'multiresult := + % + % while (not multiresult) and (length(t) > 1) do + % + { multiresult not + t text.length$ #1 > + and + } + % + % if t(1-2) = "--" or t(1) = "+" or "," + % then multiresult = 1 + % else t = t(2-last) + % + { t #1 #2 substring$ 's := + "--" s = + { #1 'multiresult := } + { t #1 #1 substring$ 's := + "+" s = + "," s = + or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + if$ + } + while$ + multiresult +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % Checks whether an author is a corporate author, i.e., + % whether the field starts with "{\bibcorporate". + % Call with + % field is.bibcorporate + % +FUNCTION {is.bibcorporate} +{ #1 #14 substring$ "{\bibcorporate" = } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {remove.spaces} +{ % Remove spaces from string. + % Works best if string only contains alphanumeric characters and spaces. + 's := % The original string + s text.length$ 'len := % Its length (no. of characters) + "" 't := % Initialize the transformed string + #0 'pos := + % + % while (pos < len) do + % + { pos len < } + { pos #1 + 'pos := + s pos #1 substring$ 'u := + % + % u is the pos-th character in s + % If it is a space, move to next character, + % else copy character to output. + % + u " " = + 'skip$ + { t u * 't := } + if$ + } + while$ + % + % Now push the result back on the stack + t +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % end block by writing what's left on the stack and + % starting a new line + % +FUNCTION {output.end.block} +{ write$ + newline$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % end block by adding a period and writing what's left + % on the stack and starting a new line + % +FUNCTION {output.dot.end.block} +{ add.period$ + output.end.block +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % starting new block by writing what's left on the stack, + % starting a new line and adding some extra space or + % whatever is more defined in \newblock + % +FUNCTION {output.new.block} +{ output.end.block + "\newblock " write$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % starting new block by writing what's left on the stack, + % starting a new line and adding some extra space or + % whatever is more defined in \newblock + % +FUNCTION {output.dot.new.block} +{ add.period$ + output.new.block +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {start.new.block} +{ " " write$ newline$ + "\newblock " write$ newline$ +} + +FUNCTION {sort.name.format.classic} { "{ll{}}{ f{}}{ vv{}}{ jj{}}" } + +FUNCTION {cite.name.format.classic} { "{ll}" } + +FUNCTION {author.name.format.classic} { "{ll}{, f{. }.}{ vv}{, jj}" } + +FUNCTION {index.name.format.classic} { "{ll}{, f{. }.}{ vv}{, jj}" } + +FUNCTION {sort.name.format} { "{vv{}}{ll{}}{ f{}}{ jj{}}" } + +FUNCTION {cite.name.format} { "{vv }{ll}" } + +FUNCTION {cite.initials.name.format} { "{f{. }.~~}{vv }{ll}{ jj}" } + +FUNCTION {author.name.format} { "{vv }{ll}{, f{. }.}{, jj}" } + +FUNCTION {editor.name.format} { "{f{. }.~~}{vv }{ll}{ jj}" } + +FUNCTION {index.name.format} { "{vv }{ll}{, f{. }.}{, jj}" } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {init.initials} +{ "yyyyy" 'aut1f.old := + "yyyyy" 'aut1s.old := + #0 'cite.initials.old := +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {update.no.initials} +{ 'field := + field 'aut1f.old := + field 'aut1s.old := + #0 'cite.initials.old := +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {check.add.initials.aut} +{ % + % If last name is equal to previous last name + % but initials are different, then initials should + % be cited. If initials are also the same, initials + % should be cited if that is the case for the previous + % author . + % + aut1s aut1s.old = + { aut1f aut1f.old = + { cite.initials.old 'cite.initials := } + { #1 'cite.initials := + aut1f 'aut1f.old := + aut1s 'aut1s.old := + cite.initials 'cite.initials.old := + } + if$ + } + { % + % Different last name. + aut1f 'aut1f.old := + aut1s 'aut1s.old := + cite.initials 'cite.initials.old := + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {check.add.initials.field} +{ 'field := + field #1 cite.initials.name.format format.name$ 'aut1f := + field #1 cite.name.format format.name$ 'aut1s := + % + % Now do the actual work + % + check.add.initials.aut +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {check.add.initials} +{ % + % Check whether author or editor or other field acts as author. + % Initials are only relevant with author or editor. + % + firstkey empty$ not + { key empty$ not + { % + % Both key and firstkey are nonempty. + % Then, key is treated as last name of first author, + % and firstkey is treated as last name + initials of + % first author . + % + firstkey sortify remove.spaces 'aut1f := + key sortify remove.spaces 'aut1s := + check.add.initials.aut + } + { firstkey sortify remove.spaces update.no.initials } + if$ + } + { key empty$ not + { key sortify remove.spaces update.no.initials } + { % + % No key or firstkey, so find out which field + % to use as author. + % + % Check reference type: + % if result is 1 then possibly editor acts as author + % 2 then editor does not act as author + % 3 then key should have been used + % 0 then unknown reference type + ref.type #2 = + { % + % Format first author with and without initials + author empty$ + { title.sort.label update.no.initials } + { author check.add.initials.field } + if$ + } + { % + % Format first author with and without initials + author empty$ + { editor empty$ + { title.sort.label update.no.initials } + { editor check.add.initials.field } + if$ + } + { author check.add.initials.field } + if$ + } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {tentative.cite.num.names.field} %% MDPI Modified +{ 'field := + field num.names$ 'numnames := + numnames #3 < + { % + % 1 or 2 names: always cite all of them. + numnames 'cite.num.names.full := + numnames 'cite.num.names.short := + } + { numnames #6 < + { % + % 3-5 names: cite all of them the first time, + % only the first name later times + numnames 'cite.num.names.full := + #1 'cite.num.names.short := + } + { % + % 6 or more names: cite only the first name + #1 'cite.num.names.full := + #1 'cite.num.names.short := + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {tentative.cite.num.names} +{ % + % Check whether author or editor or other field acts as author. + % Number of names is only relevant with author or editor. + % + firstkey empty$ not + { + #1 'cite.num.names.full := + #1 'cite.num.names.short := + } + { key empty$ not + { + #1 'cite.num.names.full := + #1 'cite.num.names.short := + } + { % + % No key or firstkey, so find out which field + % to use as author. + % + % Check reference type: + % if result is 1 then possibly editor acts as author + % 2 then editor does not act as author + % 3 then key should have been used + % 0 then unknown reference type + ref.type #2 = + { % + % Format first author with and without initials + author empty$ + { + #1 'cite.num.names.full := + #1 'cite.num.names.short := + } + { author tentative.cite.num.names.field } + if$ + } + { % + % Format first author with and without initials + author empty$ + { editor empty$ + { + #1 'cite.num.names.full := + #1 'cite.num.names.short := + } + { editor tentative.cite.num.names.field } + if$ + } + { author tentative.cite.num.names.field } + if$ + } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {init.cite.num.names} +{ #0 'cite.num.names.old := + #0 'numnames.old := + "yyyy" 'year.label.old := + #0 'add.to.year.old := + "" 'aut1f.old := + "" 'aut2.old := + "" 'aut3.old := + "" 'aut4.old := + "" 'aut5.old := + "" 'aut6.old := +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {update.cite.num.names} +{ cite.num.names.short 'cite.num.names.old := + numnames 'numnames.old := + year.label 'year.label.old := + add.to.year 'add.to.year.old := + aut1f 'aut1f.old := + aut2 'aut2.old := + aut3 'aut3.old := + aut4 'aut4.old := + aut5 'aut5.old := + aut6 'aut6.old := +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.6.authors} +{ % + % First author: with initials. + % + field #1 cite.initials.name.format format.name$ 'aut1f := + % + % Second and later authors: without initials. + % + numnames #1 > + name.max #1 > + and + { % + % 2nd author + field #2 cite.name.format format.name$ 'aut2 := + % + numnames #2 > + name.max #2 > + and + { % + % 3nd author + field #3 cite.name.format format.name$ 'aut3 := + % + numnames #3 > + name.max #3 > + and + { % + % 4th author + field #4 cite.name.format format.name$ 'aut4 := + % + numnames #4 > + name.max #4 > + and + { % + % 5th author + field #5 cite.name.format format.name$ 'aut5 := + % + numnames #5 > + name.max #5 > + and + { % + % 6th author + field #6 cite.name.format format.name$ 'aut6 := + } + { % + % 5 authors: 6 is empty + % + "" 'aut6 := + } + if$ + } + { % + % 4 authors: 5-6 are empty + % + "" 'aut5 := + "" 'aut6 := + } + if$ + } + { % + % 3 authors: 4-6 are empty + % + "" 'aut4 := + "" 'aut5 := + "" 'aut6 := + } + if$ + } + { % + % 2 authors: 3-6 are empty + % + "" 'aut3 := + "" 'aut4 := + "" 'aut5 := + "" 'aut6 := + } + if$ + } + { % + % Only 1 author: 2-6 are empty + % + "" 'aut2 := + "" 'aut3 := + "" 'aut4 := + "" 'aut5 := + "" 'aut6 := + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {change.add.to.year} +{ + forward #1 = + { % + % Moving forward: this add.to.year number must be 1 higher than + % previous. + % + add.to.year.old #0 > + { add.to.year.old #1 + 'add.to.year := } + { #2 'add.to.year := } + if$ + } + { % + % Moving backward: this add.to.year number must be 1 lower than + % previous. + % + add.to.year.old #1 - 'add.to.year := + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {definitive.cite.num.names.1.or.2} +{ % + numnames numnames.old = + { % + % Same number of names: ambiguity could arise. Check whether current + % and previous have the same author(s). + % + aut1f aut1f.old = + { % + % Same first author: if the second author is also the same or if + % there is only one author, a's and b's should be added. + % + aut2 aut2.old = + numnames #2 = + and + % + numnames #1 = + or + { % + % Same author(s): add to year. + % + change.add.to.year + } + { % + % Different second author: no ambiguity possible. + % + skip$ + } + if$ + } + { % + % Different first author: no ambiguity possible. + % + skip$ + } + if$ + } + { % + % Different number of names: no ambiguity possible. + % + skip$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {definitive.cite.num.names.3.or.more} +{ % + % Check whether current and previous have the same first author. + % + aut1f aut1f.old = + { % + % Same first author: check second author + % + aut2 aut2.old = + { % + % Same 1st & 2nd author: check 3rd. + % + aut3 aut3.old = + { % + % Same 1st-3rd authors: check 4th. + % + numnames.old #3 = + { numnames #3 = + { % + % Both current and previous have 3 authors, which are + % the same, so both have identical author-year + % combinations, so ambiguity should be resolved by + % a's and b's. Check whether more authors were + % necessary for previous one. + % + change.add.to.year + cite.num.names.short cite.num.names.old < + { cite.num.names.old + 'cite.num.names.short := + } + 'skip$ + if$ + } + { % + % Previous has 3 authors, current has more, with same + % first 3, so at least 4 must be used for current to + % make a difference. + % + cite.num.names.short #4 < + { #4 'cite.num.names.short := } + 'skip$ + if$ + } + if$ + } + { numnames #3 = + { % + % Current has 3 authors, previous has more, with same + % first 3, so all 3 of current must be used. + % + numnames 'cite.num.names.short := + } + { % + % Same 1st-3rd author and both current and previous + % have at least 4 authors: check 4th. + % + aut4 aut4.old = + { % + % Same 1st-4th authors: check 5th. + % + numnames.old #4 = + { numnames #4 = + { % + % Both current and previous have 4 authors, + % which are the same, so both have + % identical author-year combinations, so + % ambiguity should be resolved by a's and + % b's. Check whether more authors were + % necessary for previous one. + % + change.add.to.year + cite.num.names.short cite.num.names.old < + { cite.num.names.old + 'cite.num.names.short := + } + 'skip$ + if$ + } + { % + % Previous has 4 authors, current has more, + % with same first 4, so at least 5 must be + % used for current to make a difference. + % + cite.num.names.short #5 < + { #5 'cite.num.names.short := } + 'skip$ + if$ + } + if$ + } + { numnames #4 = + { % + % Current has 4 authors, previous has more, + % with same first 4, so all 4 of current + % must be used. + % + numnames 'cite.num.names.short := + } + { % + % Same 1st-4th author and both current and + % previous have at least 5 authors: check + % 5th. + % + aut5 aut5.old = + { % + % Same 1st-5th authors: check 6th. + % + numnames.old #5 = + { numnames #5 = + { % + % Both current and previous + % have 5 authors, which are the + % same, so both have identical + % author-year combinations, so + % ambiguity should be resolved + % by a's and b's. Check whether + % more authors were necessary + % for previous one. + % + change.add.to.year + cite.num.names.short + cite.num.names.old < + { cite.num.names.old + 'cite.num.names.short := + } + 'skip$ + if$ + } + { % + % Previous has 5 authors, + % current has more, with same + % first 5, so at least 6 must + % be used for current to make + % a difference. + % + cite.num.names.short #6 < + { #6 'cite.num.names.short := } + 'skip$ + if$ + } + if$ + } + { numnames #5 = + { % + % Current has 5 authors, + % previous has more, with same + % first 5, so all 5 of current + % must be used. + % + numnames 'cite.num.names.short := + } + { % + % Same 1st-5th author and both + % current and previous have at + % least 6 authors. If one has + % 6 authors and the other has + % more or the 6th is different, + % 6 should be used (which is + % the maximum). + % + numnames #6 > + numnames.old #6 = + and + % + numnames #6 = + numnames.old #6 > + and + % + or + % + aut6 aut6.old = + not + % + or + { #6 cite.num.names.short < + { #6 + 'cite.num.names.short + := + } + 'skip$ + if$ + } + { % + % The first 6 authors are + % the same and either both + % have 6 or both have more. + % So for all practical + % purposes they have + % identical author-year + % combination, so ambiguity + % should be resolved by a's + % and b's. Check whether + % more authors were + % necessary for previous + % one. + % + change.add.to.year + cite.num.names.short + cite.num.names.old + < + { cite.num.names.old + 'cite.num.names.short + := + } + 'skip$ + if$ + } + if$ + } + if$ + } + if$ + } + { % + % Different 5th author: citing 5 authors is + % sufficient for this comparison. + % + cite.num.names.short #5 < + { #5 'cite.num.names.short := } + 'skip$ + if$ + } + if$ + } + if$ + } + if$ + } + { % + % Different 4th author: citing 4 authors is + % sufficient for this comparison. + % + cite.num.names.short #4 < + { #4 'cite.num.names.short := } + 'skip$ + if$ + } + if$ + } + if$ + } + if$ + } + { % + % Different 3rd author: citing 3 authors is sufficient for this + % comparison. + % + cite.num.names.short #3 < + { #3 'cite.num.names.short := } + 'skip$ + if$ + } + if$ + } + { % + % Different 2nd author: citing 2 authors is sufficient for this + % comparison. + % + cite.num.names.short #2 < + { #2 'cite.num.names.short := } + 'skip$ + if$ + } + if$ + } + { % + % Different first author: no ambiguity, move to next entry. + % + skip$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {definitive.cite.num.names.field} +{ 'field := + field num.names$ 'numnames := + % + % Format authors + % + format.6.authors + % + % Now compare authors with authors of previous entry. + % + cite.num.names.short numnames.old > + { % + % The previous entry has less authors than already defined + % necessary to be cited. No ambiguity is possible and we're ready. + % + skip$ + } + { % + % Both previous and current entry have at least one author . + % + year.label year.label.old = + { % + % Same year label: possibly ambiguous citation. + % + % First check: current and/or previous have 1 or + % 2 authors. + % + numnames #3 < + numnames.old #3 < + or + % + { definitive.cite.num.names.1.or.2 } + { definitive.cite.num.names.3.or.more } + if$ + } + { % + % Different year label: everything's fine, + % move to next entry. + % + skip$ + } + if$ + } + if$ + % + % If during the previous process the name maximum is exceeded + % (which was not checked), correct this. NOTE: If the name + % maximum is smaller than 6, this could lead to ambiguous + % citations if, e.g., the year and the first 5 authors are + % the same, but the 6th author is different. + % + cite.num.names.short name.max > + { name.max 'cite.num.names.short := } + 'skip$ + if$ + % + % For a "full" cite, the number of names should always be at least + % as large as for a "short" cite. + % + cite.num.names.full cite.num.names.short < + { cite.num.names.short 'cite.num.names.full := } + 'skip$ + if$ + % + % Update "old" variables for next entry. + % + update.cite.num.names +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {definitive.cite.no.names} +{ % + % The formatted field that acts as author is on top + % of the stack. + 'aut1f := + "" 'aut2 := + "" 'aut3 := + "" 'aut4 := + "" 'aut5 := + "" 'aut6 := + #1 'numnames := + % + year.label year.label.old = + { % + % Same year label: possibly ambiguous citation. + % + definitive.cite.num.names.1.or.2 + } + { % + % Different year label: everything's fine, + % move to next entry. + % + skip$ + } + if$ + % + % Update "old" variables for next entry. + % + update.cite.num.names +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {definitive.cite.num.names} +{ % + % Check whether author or editor or other field acts as author. + % Number of names is only relevant with author or editor. + % + firstkey empty$ not + { firstkey sortify remove.spaces definitive.cite.no.names } + { key empty$ not + { key sortify remove.spaces definitive.cite.no.names } + { % + % No key or firstkey, so find out which field + % to use as author. + % + % Check reference type: + % if result is 1 then possibly editor acts as author + % 2 then editor does not act as author + % 3 then key should have been used + % 0 then unknown reference type + ref.type #2 = + { % + % Format first author with and without initials + author empty$ + { title.sort.label definitive.cite.no.names } + { author definitive.cite.num.names.field } + if$ + } + { % + % Format first author with and without initials + author empty$ + { editor empty$ + { title.sort.label definitive.cite.no.names } + { editor definitive.cite.num.names.field } + if$ + } + { author definitive.cite.num.names.field } + if$ + } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.tentative.year.sort.label} +{ % + % Implicit or explicit ``no date'' is put at the front + % (the year zero; years B.C. will imply complications) + % because these are possibly old works. + % ``In press'' is put at the end. + % + year empty$ + { "0000" 'year.label := } + { year "\bibnodate" = + year "l" change.case$ "no date" = or + year "l" change.case$ "n.d." = or + { "0000" 'year.label := } + { year "\BIP" = + year "l" change.case$ "in press" = or + year "l" change.case$ "forthcoming" = or + { "9999" 'year.label := } + { % It is not checked whether the year field + % makes sense. + year sortify remove.spaces 'year.label := + } + if$ + } + if$ + } + if$ + % + % Push year sort label on the stack + year.label +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {month.number.day} +{ month empty$ + { "" } + { month sortify remove.spaces + % + % Add the day when available. + day empty$ + 'skip$ + { "/" * + day sortify remove.spaces * + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.name.sort.label} +{ % + % Author or editor-acting-as-author available. + % => Make tentative "short cite with initials" author + % label (L1) of one of the forms + % "Last1 F1" + % "Last1 F1 Last2" + % "Last1 F1 zzzz" ("zzzz" representing et~al.) + % => If more than 2 'authors': make label (L2) for 2nd-6th authors + % of one of the forms + % "Last2 Last3" + % "Last2 Last3 Last4" + % "Last2 Last3 Last4 Last5" + % "Last2 Last3 Last4 Last5 Last6" + % "Last2 Last3 Last4 Last5 Last6 zzzz" + % + % Then format year label (L3) of one of the forms: + % "0000" (missing year or explicit 'no date') + % "9999" ('in press') + % year (otherwise; don't use originalyear here yet) + % + % From earlier sorting of titles, we have title number. Convert + % to string, which gives title label (L4) . + % + % Then tentative sorting label (author.year.sort.label) is a + % concatenation of + % L1 + % " " + % L3 + % " " + % L2 + % " " + % L4 + % + % The name field is on top of the stack. + 'field := + % + % numnames is the total number of names contained in field + field num.names$ 'numnames := + % + % Format first author + field #1 sort.name.format format.name$ + % + % Format the second author if there are two, or else "zzzz" = et~al. + numnames #1 = + 'skip$ + { numnames #2 = + { % + % Two authors: format second author + field #2 "{ll{}}" format.name$ 's := + s "others" = + { " zzzz" * } % Add "et~al."-substitute + { " " * s * } % Add second author + if$ + } + { " zzzz" * } % 3 or more authors: add "et~al."-substitute + if$ + } + if$ + " " * % Add spaces + make.tentative.year.sort.label * % Add year (L3). + " " * % Add spaces + % + % Now build up L2 if applicable + numnames #3 < + 'skip$ + { % + % Treat last author slightly differently + numnames name.max > + { name.max 'lastname := + " zzzz" % Push "et~al."-substitute on stack + } + { numnames 'lastname := + "" % Push empty string on stack + } + if$ + % + % Names 2 to "last" - 1 + "" % Push empty string on stack + #2 'nameptr := + { nameptr lastname < } + { % Add name no. nameptr + field nameptr "{ll{}}" format.name$ * + " " * + nameptr #1 + 'nameptr := + } + while$ + % + % "Last" author + field lastname "{ll{}}" format.name$ 's := + s "others" = + { "zzzz" * } % Add "et~al."-substitute + { s * } % Add last author + if$ + % + swap$ * % Add the previously formatted empty string or + % "et~al."-substitute if there are many authors. + * % Add L2 to the earlier labels. + } + if$ + % + " " * % Add spaces + title.number conv.int.to.str * % Add sorted title number (L4). + sortify % Clean up and convert to lowercase + " " * % Add spaces + month.number.day * % Add month and day when available + 'author.year.sort.label := % Assign result to sort label. +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.field.year.sort.label} +{ % + % 'field' acts as first author (L1), subsequent authors + % are empty (L2). + % + % Then format year label (L3) of one of the forms: + % "0000" (missing year or explicit 'no date') + % "9999" ('in press') + % year (otherwise; don't use originalyear here yet) + % + % From earlier sorting of titles, we have title number. Convert + % to string, which gives title label (L4) . + % + % Then tentative sorting label (author.year.sort.label) is a + % concatenation of + % L1 + % " " + % L3 + % " " + % L2 + % " " + % L4 + % + % 'field' is on top of the stack. It is already supposed to be cleaned + % (i.e., sortified and space-removed), so this is already L1. + " " * % Add spaces to L1 + make.tentative.year.sort.label * % Add year (L3). + " " * % Add spaces + " " * % L2 is empty, add spaces + title.number conv.int.to.str * % Add sorted title number (L4). + sortify % Clean up and convert to lowercase + " " * % Add spaces + month.number.day * % Add month and day when available + 'author.year.sort.label := % Assign result to sort label. +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.author.editor.sort.label} +{ author empty$ + { editor empty$ + { % + % Use what has previously been stored in title.sort.label + % as author substitute . + title.sort.label make.field.year.sort.label + } + { editor make.name.sort.label } + if$ + } + { author make.name.sort.label } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.author.sort.label} +{ author empty$ + { % + % Use what has previously been stored in title.sort.label + % as author substitute . + title.sort.label make.field.year.sort.label + } + { author make.name.sort.label } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.tentative.sort.label} +{ % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % General strategy: + % + % Ordinary situation: author or editor-acting-as-author + % available. + % => Make tentative "short cite with initials" author + % label (L1) of one of the forms + % "Last1 F1" + % "Last1 F1 Last2" + % "Last1 F1 zzzz" ("zzzz" representing et~al.) + % => If more than 2 'authors': make label (L2) for 2nd-6th authors + % of one of the forms + % "Last2 Last3" + % "Last2 Last3 Last4" + % "Last2 Last3 Last4 Last5" + % "Last2 Last3 Last4 Last5 Last6" + % "Last2 Last3 Last4 Last5 Last6 zzzz" + % When key is available (overrules author and editor fields): + % => L1 = key, L2 = "" + % No author, editor, and key: define title or substitute as key + % and format as key. + % + % Then format year label (L3) of one of the forms: + % "0000" (missing year or explicit 'no date') + % "9999" ('in press') + % year (otherwise; don't use originalyear here yet) + % + % From earlier sorting of titles, we have title number. Convert + % to string, which gives title label (L4) . + % + % Then tentative sorting label (author.year.sort.label) is a + % concatenation of + % L1 + % " " + % L3 + % " " + % L2 + % " " + % L4 + % + % This can then be sorted, from which it can be derived + % whether initials are necessary, how many names must + % be used for short and full citations, and whether "a"'s and + % "b"'s etc. are necessary behind the year labels. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % key and firstkey overrule author information + % + firstkey empty$ not + { key empty$ not + { % + % Both key and firstkey available: + % for sorting and checking initials, treat key as last + % name and firstkey as initials. + % + key sortify remove.spaces + " " * + firstkey sortify remove.spaces * + make.field.year.sort.label + } + { firstkey sortify remove.spaces make.field.year.sort.label } + if$ + } + { key empty$ not + { key sortify remove.spaces make.field.year.sort.label } + { % + % No key or firstkey, so find out which field + % to use as author. + % + % Check reference type: + % if result is 1 then possibly editor acts as author + % 2 then editor does not act as author + % 3 then key should have been used + % 0 then unknown reference type + ref.type + duplicate$ #1 = + { pop$ + make.author.editor.sort.label + } + { duplicate$ #2 = + { pop$ + make.author.sort.label + } + { #3 = + { "no key in " cite$ * warning$ + make.author.editor.sort.label + } + { make.author.editor.sort.label } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + % + author.year.sort.label 'sort.key$ := +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.definitive.name.sort.label} +{ % + % Author or editor-acting-as-author available. + % => Make author-with-initials label (L1) of one of the forms + % "Last1 F1 Last2 F2 ... LastN FN" + % "Last1 F1 Last2 F2 ... Last6 F6 zzzz" + % (where N <= 6 is the total number of authors, and + % "zzzz" represents et~al. if there are more than 6 authors) + % No author, editor, and key: define title or substitute as sort key. + % + % The name field is on top of the stack. + 'field := + % + % numnames is the total number of names contained in field + field num.names$ 'numnames := + % + % If there are more than 6 authors, only 6 are mentioned. + numnames name.max > + { name.max 'format.num.names := } + { numnames 'format.num.names := } + if$ + % Initialize stack with empty string + "" + % + % Cycle over authors. + #1 'nameptr := + { nameptr format.num.names < } + { % Format author and add spaces + field nameptr sort.name.format format.name$ * + " " * + nameptr #1 + 'nameptr := + } + while$ + % Format last author that must be formatted + field nameptr sort.name.format format.name$ * + % Add et~al. if necessary + nameptr numnames < + { " zzzz" * } + 'skip$ + if$ + sortify % Clean up and change case + " " * % Add spaces + year.label * % Add year + " " * % Add spaces + title.number conv.int.to.str * % Add sorted title number + " " * % Add spaces + month.number.day * % Add month and day when available + 'author.year.sort.label := % Assign result to sort label. +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.definitive.field.year.sort.label} +{ % + % 'field' acts as author (L1). + % + % Then format year label (L2) of one of the forms: + % "0000" (missing year or explicit `no date') + % "9999" (`in press') + % year (otherwise; don't use originalyear here yet) + % + % From earlier sorting of titles, we have title number. Convert + % to string, which gives title label (L3) . + % + % Then tentative sorting label (author.year.sort.label) is a + % concatenation of + % L1 + % " " + % L2 + % " " + % L3 + % + % 'field' is on top of the stack. It is already supposed to be cleaned + % (i.e., sortified and space-removed), so this is already L1. + " " * % Add spaces + year.label * % Add year + " " * % Add spaces + title.number conv.int.to.str * % Add sorted title number + " " * % Add spaces + month.number.day * % Add month and day when available + 'author.year.sort.label := % Assign result to sort label. +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.definitive.author.editor.sort.label} +{ author empty$ + { editor empty$ + { % + % Use what has previously been stored in title.sort.label + % as author substitute . + title.sort.label make.definitive.field.year.sort.label + } + { editor make.definitive.name.sort.label } + if$ + } + { author make.definitive.name.sort.label } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.definitive.author.sort.label} +{ author empty$ + { % + % Use what has previously been stored in title.sort.label + % as author substitute . + title.sort.label make.definitive.field.year.sort.label + } + { author make.definitive.name.sort.label } + if$ +} +FUNCTION {make.final.sort.key} +{ ref.type #2 = + { make.definitive.author.sort.label } + { make.definitive.author.editor.sort.label } + if$ + unsorted + { citeorder.sort.label 'sort.key$ := } + { author.year.sort.label 'sort.key$ := } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + { s } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {chop.articles} +{ 's := + "a " #2 + "an " #3 + "the " #4 + s + chop.word + chop.word + chop.word +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.sort.title} +{ % + % Remove non-alphanumeric characters and change to lower case . + sortify + % + % Remove "a ", "an ", and "the " from the front . + chop.articles #1 entry.max$ substring$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.sort.title} +{ title empty$ + { text empty$ + { type empty$ + { howpublished empty$ + { note empty$ + { url empty$ + { " " } + {url format.sort.title } + if$ + } + { note format.sort.title } + if$ + } + { howpublished format.sort.title } + if$ + } + { type format.sort.title } + if$ + } + { text format.sort.title } + if$ + } + { title format.sort.title } + if$ + remove.spaces + 'title.sort.label := + title.sort.label 'sort.key$ := +} +FUNCTION {make.title.number} +{ title.sort.label old.label = + { + old.number 'title.number := + } + { + old.number #1 + 'title.number := + title.number 'old.number := + title.sort.label 'old.label := + } + if$ +} +FUNCTION {make.citeorder.number} +{ old.number #1 + 'cite.order := + cite.order 'old.number := + cite.order conv.int.to.str 'citeorder.sort.label := +} + +FUNCTION {last.part.name.format.classic} { "{ll}" } + +FUNCTION {von.junior.name.format.classic} { "{ vv}{, jj}" } + +FUNCTION {last.part.name.format} { "{vv }{ll}" } + +FUNCTION {initials.with.space.name.format} { "{f.}" } + +FUNCTION {von.last.junior.name.format} { "{vv }{ll}{ jj}" } + +FUNCTION {von.junior.name.format} { "{, jj}" } + +FUNCTION {one.complete.name.format} { "{vv }{ll}{, jj}{, ff}" } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {string.length} +{ #0 'pos := + % If the next character exists, i.e., is not empty, + % add 1 to the string length. + % We cannot use empty$ because " " empty$ is true. + { duplicate$ pos #1 + #1 substring$ "" = not } + { pos #1 + 'pos := } + while$ + pop$ pos +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {transform.spaces.and.hyphens} +{ 's := % The original string + s string.length 'len := % Its length (no. of characters) + "" 't := % Initialize the transformed string + #1 'pos := + #0 'brace.level := + % + % while (pos < len) do + % + { pos len < } + { % First, check whether we are at brace level 0 + brace.level #0 = + { + % At least two characters left: check for ". ", ".~", and ".-". + % If so, replace and shift two positions. + s pos #2 substring$ ". " = + s pos #2 substring$ ".~" = or + { t ". " * 't := + pos #2 + 'pos := + } + { s pos #2 substring$ ".-" = + { t ".-" * 't := + pos #2 + 'pos := + } + { % neither is true, copy one character and shift one position + t s pos #1 substring$ * 't := + % Check whether we need to increase brace level. + % Note that this is not sophisticated: it does not capture + % \{, \verb+}+, etc. + % Note also that unbalanced braces cause problems. + s pos #1 substring$ "{" = + { brace.level #1 + 'brace.level := } + 'skip$ + if$ + pos #1 + 'pos := + } + if$ + } + if$ + } + { % Not at brace level 0: copy result literally + t s pos #1 substring$ * 't := + % Check whether we need to increase or decrease brace level. + % Note that this is not sophisticated: it does not capture + % \{, \verb+}+, etc. + s pos #1 substring$ "{" = + { brace.level #1 + 'brace.level := } + { s pos #1 substring$ "}" = + { brace.level #1 - 'brace.level := } + 'skip$ + if$ + } + if$ + pos #1 + 'pos := + } + if$ + } + while$ + % + pos len = + { % Last character, copy + t s pos #1 substring$ * 't := + } + { % pos = len + 1, so s ends with ". " or ".-" + % This should not have happened, but make the best out of it. + % Push last two characters of s on the stack, i.e., ". " or ".-". + s len #1 - #2 substring$ + % Remove ". " or "\BHBI " from t + t text.length$ 'len := % Length of t (no. of characters) + t #1 len #6 - substring$ + % Concatenate and assign to t + swap$ * 't := + } + if$ + % + % Now push the result back on the stack + t +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.initials.with.hyphen} +{ % Format initials. + % Call with + % field authornumber format.initials.with.hyphen + % e.g. + % author #1 format.initials.with.hyphen + % Instead of field, a string may also be used. + % + % First, format initials in the default way, retaining spaces + % and hyphens. + initials.with.space.name.format format.name$ + transform.spaces.and.hyphens +} + +FUNCTION {format.last.part.name} +{ % Format a name with last.part.name.format, + % as part of more complicated things. + % Call with + % field authornumber format.last.part.name + % e.g. + % author #1 format.last.part.name + % Instead of field, a string may also be used. + last.part.name.format format.name$ +} + +FUNCTION {format.von.last.junior.name} +{ % Format a name with von.last.junior.name.format, + % for citing or as part of more complicated things. + % Call with + % field authornumber format.von.last.junior.name + % e.g. + % author #1 format.von.last.junior.name + % Instead of field, a string may also be used. + von.last.junior.name.format format.name$ +} + +FUNCTION {format.von.junior.name} +{ % Format a name with von.last.junior.name.format, + % for citing or as part of more complicated things. + % Call with + % field authornumber format.von.junior.name + % e.g. + % author #1 format.von.junior.name + % Instead of field, a string may also be used. + von.junior.name.format format.name$ +} + +FUNCTION {format.cite.initials.name} +{ % Format a name for citing with initials. + % Call with + % field authornumber format.cite.initials.name + % e.g. + % author #1 format.cite.initials.name + % Instead of field, a string may also be used. + % + % First, extract the complete name, format it in the canonical form, + % and push on the stack. + one.complete.name.format format.name$ + % + % Format the initials and push on the stack. + duplicate$ #1 format.initials.with.hyphen + % + % Format the von-last-junior part and push on the stack. + swap$ #1 format.von.last.junior.name + % + % Connect with "~" hyphen (if they're both non-empty). + "~" connect.check +} + +FUNCTION {format.author.name} +{ % Format an author name for the reference list. + % Call with + % field authornumber format.author.name + % e.g. + % author #1 format.author.name + % Instead of field, a string may also be used. + % + % First, extract the complete name, format it in the canonical form, + % and push on the stack. + one.complete.name.format format.name$ + % + % Make two copies of the name, format the last name and push on the stack. + duplicate$ duplicate$ #1 format.last.part.name + % + % Format the initials and push on the stack. + swap$ #1 format.initials.with.hyphen + % + % Connect with last name. + connect.with.comma.check + % + % Format the von-junior part and connect with initials. + swap$ #1 format.von.junior.name "" connect.check +} + +FUNCTION {format.editor.name} +{ % Format a name for the reference list as an editor. + % Call with + % field authornumber format.editor.name + % e.g. + % author #1 format.editor.name + % Instead of field, a string may also be used. + % + format.cite.initials.name +} + +FUNCTION {format.index.name} +{ % Format an author name for the index. + % Call with + % field authornumber format.index.name + % e.g. + % author #1 format.index.name + % Instead of field, a string may also be used. + % + format.author.name +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +FUNCTION {comma.between.two} { ", " } % MDPI Modified + +FUNCTION {comma.between.names} { ", " } + +FUNCTION {comma.before.last} { ", " } + +FUNCTION {dots.before.last} { ", \dots{} " } + +FUNCTION {and.before.last} { " \BBA\ " } + +FUNCTION {et.al.string.cite} { " et~al." } + +FUNCTION {et.al.string} { " et~al." } + +FUNCTION {et.al.string.period} { " et~al." } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {add.name.index} +{ % + % + make.index + { "" * write$ + % Check for corporate author + field is.bibcorporate + { "\corporateAX{" } + { "\AX{" } + if$ + write$ + field nameptr sort.name.format format.name$ sortify write$ newline$ + "@" write$ + field nameptr format.index.name + "}" * write$ + } + { "" * write$ } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.name.cite.label} +{ 'field := + 'format.num.names := + % + field num.names$ 'numnames := % numnames is the total number of names + % contained in field + % + % It is implicit in the APA manual that if "et~al." would refer + % to exactly one author, then this author should be named + % instead of "et~al." + % + format.num.names numnames #1 - = + { numnames 'format.num.names := } + 'skip$ + if$ + % + % Format first author: with or without initials + % + #1 'nameptr := + cite.initials #1 = + { field nameptr format.cite.initials.name } + { field nameptr cite.name.format format.name$ } + if$ + add.name.index % Add index entry when desired. + % + numnames #1 = + 'skip$ + { format.num.names #1 = + { % + % First author et~al. + % + et.al.string.cite write$ + } + { numnames #2 = + { % + % Given that format.num.names > 1, it is 2. + % Format second author. + % + #2 'nameptr := + field nameptr cite.name.format format.name$ 's := + % + % Check if 2nd author is explicit "others". + % If so, insert "et~al." string. + % + s "others" = + { et.al.string.cite write$ } % First et~al. + { % + % First \& Second + % + and.before.last write$ + s + add.name.index % Add index entry when desired. + } + if$ + } + { % + % 3 or more names, 2 or more must be cited + % + % for nameptr := 2 to format.num.names - 1 do + % + #2 'nameptr := + { nameptr format.num.names < } + { % + % Put comma between consecutive authors + % + comma.between.names write$ + % + % Format and add next author + % + field nameptr cite.name.format format.name$ + add.name.index % Add index entry when desired. + % + % Move to next author + % + nameptr #1 + 'nameptr := + } + while$ + % + % nameptr = format.num.names + % Format this author. + % + field nameptr cite.name.format format.name$ 's := + % + format.num.names numnames = + { % + % This is also the last author. Add (optional) comma. + % + comma.before.last write$ + % + % Check if this author is explicit "others". + % If so, insert "et~al." string. + % + s "others" = + { et.al.string.cite write$ } + { and.before.last write$ + s + add.name.index % Add index entry when desired. + } + if$ + } + { % + % This is not the last author. + % Add comma, author name, and "et~al." + % + comma.between.names write$ + s + add.name.index % Add index entry when desired. + % + comma.before.last et.al.string.cite * write$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.title.cite.label} +{ % + % Formatting: check if formatted as article title or + % as book title, and insert this formatting. + % + is.atype + { "\APACciteatitle {" } + { "\APACcitebtitle {" } + if$ + % + title empty$ + { text empty$ + { type empty$ + { howpublished empty$ + { note empty$ + { url empty$ + { cite$ } + { url } + if$ + } + { note } + if$ + } + { howpublished } + if$ + } + { type } + if$ + } + { text } + if$ + } + { title } + if$ + % + % Connect with formatting. + % + * "}" * + % + % Write to output + % + write$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.author.editor.cite.label} +{ author empty$ + { editor empty$ + { % + % No author or editor: + % Use title or other description as citation label. + % + make.title.cite.label + "}{" write$ + make.title.cite.label + } + { cite.num.names.full editor make.name.cite.label + "}{" write$ + cite.num.names.short editor make.name.cite.label + } + if$ + } + { cite.num.names.full author make.name.cite.label + "}{" write$ + cite.num.names.short author make.name.cite.label + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.author.cite.label} +{ author empty$ + { % + % No author: + % Use title or other description as citation label. + % + make.title.cite.label + "}{" write$ + make.title.cite.label + } + { cite.num.names.full author make.name.cite.label + "}{" write$ + cite.num.names.short author make.name.cite.label + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.definitive.year.supplement} +{ % + % Add "a", "b", etc. when necessary. + % + add.to.year #0 = + { "" } + { "{\protect " + year empty$ + { "\BCntND " * } + { year "\bibnodate" = + year "l" change.case$ "no date" = or + year "l" change.case$ "n.d." = or + { "\BCntND " * } + { year "\BIP" = + year "l" change.case$ "in press" = or + year "l" change.case$ "forthcoming" = or + { "\BCntIP " * } + { "\BCnt " * } + if$ + } + if$ + } + if$ + "{" * add.to.year int.to.str$ * "}}" * + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {protect.year} +{ year empty$ + { "{\protect \bibnodate {}}" } + { year "\bibnodate" = + year "l" change.case$ "no date" = or + year "l" change.case$ "n.d." = or + { "{\protect \bibnodate {}}" } + { year "\BIP" = + year "l" change.case$ "in press" = or + year "l" change.case$ "forthcoming" = or + { "{\protect \BIP {}}" } + { year } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.definitive.year.label} % MDPI Modified +{ "{" + originalyear empty$ + { protect.year } + { originalyear "\bibnodate" = % date of original publication unknown + originalyear "l" change.case$ "no date" = or + originalyear "l" change.case$ "n.d." = or + { translator empty$ + { protect.year } + { "{\protect \BTRANSL {}}~" protect.year * } + if$ + } + { year empty$ + { originalyear "/{\protect \bibnodate {}}" * } % 1923/n.d. + { originalyear year = + { protect.year } + { originalyear "/" * protect.year * } % 1923/1961 + if$ + } + if$ + } + if$ + } + if$ + * "}" * write$ + % + % Add "a", "b", etc. when necessary. + % + "{\protect \APACexlab {" "}}" + make.definitive.year.supplement enclose.check +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {make.cite.labels} +{ newline$ + % + % Write a few lines for testing purposes. + % + test + { "\bibitem[] {} \fullciteA {" cite$ * "}" * write$ newline$ + "\bibitem[] {} \citeA {" cite$ * "}" * write$ newline$ + } + 'skip$ + if$ + % + "\bibitem[\protect\citeauthoryear{" write$ + % + % When key or firstkey is available, this takes precedence. + % + firstkey empty$ not + { % + % Full cite: firstkey. + % + firstkey write$ + "}{" write$ + % + % Short cite: if key is not empty and cite.initials is 0, + % then key, else firstkey. + % + cite.initials #0 = + key empty$ not + and + { key } + { firstkey } + if$ + write$ + } + { key empty$ not + { % + % No firstkey, but key available: + % Both full and short labels are key. + % + key write$ + "}{" write$ + key write$ + } + { % No key or firstkey, so find out which field + % to use as author. + % + % Check reference type: + % if result is 1 then possibly editor acts as author + % 2 then editor does not act as author + % 3 then key should have been used + % 0 then unknown reference type + ref.type #2 = + { make.author.cite.label } + { make.author.editor.cite.label } + if$ + } + if$ + } + if$ + "}{" write$ + % + % Make year label that's used for citations + % + make.definitive.year.label write$ + "}]{" write$ + cite$ write$ + "} " write$ + % author.year.sort.label write$ % for testing purposes + % year.label write$ % for testing purposes + % + % If the item is used in a meta-analysis, indicate this with + % a star. +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {editor.postfix} +{ editor num.names$ #1 > + { "(\BEDS)" } + { "(\BED)" } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {editor.trans.postfix} +{ editor num.names$ #1 > + { "(\BEDS{} \BAnd{} \BTRANSS)" } + { "(\BED{} \BAnd{} \BTRANS)" } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % "(Trans.)" postfix + % translator must not be empty + % +FUNCTION {trans.postfix} +{ translator num.names$ #1 > + { "(\BTRANSS)" } + { "(\BTRANS)" } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {authors.editors.reflist.apa5} +{ 'field := + 'dot := + % + field num.names$ 'numnames := % numnames is the total number of names + % contained in field + numnames 'format.num.names := % Format all authors + format.num.names name.max > % Unless this exceeds the maximum of 6. + { dot + { name.max 'format.num.names := } % Format 6 authors + { cite.num.names.full 'format.num.names := } % Format 1 editor + if$ + } + 'skip$ + if$ + % + % Enclose authors in APACrefauthors environment to allow crude style + % options in \LaTeX. + newline$ + % + % It is kind of explicit in the APA manual that if "et~al." would + % refer to exactly one author (the 7th), then this author should + % still be replaced by "et~al.", unlike with citations. + % So format.num.names is not adapted. + % + % Format first author + % + #1 'nameptr := + field nameptr format.author.name + % + % Add period if required and if this is the only author. + % + numnames #1 = + dot + and + { add.period$ } + 'skip$ + if$ + add.name.index % Add index entry when desired. + % + numnames #1 = + 'skip$ + { format.num.names #1 = + { % + % First author et~al. + % + comma.between.two + % + % Add period if required. + % + dot + { et.al.string.period * } + { et.al.string * } + if$ + write$ + } + { numnames #2 = + { % + % Given that format.num.names > 1, it is 2. + % + comma.between.two write$ + % + % Format second author. + % + #2 'nameptr := + field nameptr format.author.name 's := + % + % Check if 2nd author is explicit "others". + % If so, insert "et~al." string. + % + s "others" = + { % + % First et~al. + % Add period if required. + % + dot + { et.al.string.period } + { et.al.string } + if$ + write$ + } + { % + % First \& Second + % + and.before.last write$ + % + % Add period if required. + % + dot + { s add.period$ } + { s } + if$ + add.name.index % Add index entry when desired. + } + if$ + } + { % + % 3 or more names, 2 or more must be cited + % + % for nameptr := 2 to format.num.names - 1 do + % + #2 'nameptr := + { nameptr format.num.names < } + { % + % Put comma between consecutive authors + % + comma.between.names write$ + % + % Format and add next author + % + field nameptr format.author.name + add.name.index % Add index entry when desired. + % + % Move to next author + % + nameptr #1 + 'nameptr := + } + while$ + % + % nameptr = format.num.names + % Format this author. + % + field nameptr format.author.name 's := + % + format.num.names numnames = + { % + % This is also the last author. Add (optional) comma. + % + comma.before.last write$ + % + % Check if this author is explicit "others". + % If so, insert "et~al." string. + % + s "others" = + { % + % Add period if required. + % + dot + { et.al.string.period } + { et.al.string } + if$ + write$ + } + { and.before.last write$ + % + % Add period if required. + % + dot + { s add.period$ } + { s } + if$ + add.name.index % Add index entry when desired. + } + if$ + } + { % + % This is not the last author. + % Add comma, author name, and "et~al." + % + comma.between.names write$ + s + add.name.index % Add index entry when desired. + % + comma.before.last + % + % Add period if required. + % + dot + { et.al.string.period * } + { et.al.string * } + if$ + write$ + } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {authors.reflist.apa6} +{ 'field := + 'dot := + field num.names$ 'numnames := + numnames #20 > + { #20 'format.num.names := } + { numnames 'format.num.names := } + if$ + newline$ + #1 'nameptr := + field nameptr format.author.name + numnames #1 = + { dot + { add.period$ } + 'skip$ + if$ + add.name.index + } + { add.name.index + numnames #2 = + { comma.between.two write$ + #2 'nameptr := + field nameptr format.author.name 's := + s "others" = + { "`others' not consistent with 6th ed. of the APA Manual" + warning$ + dot + { et.al.string.period } + { et.al.string } + if$ + write$ newline$ + } + { and.before.last write$ + dot + { s add.period$ } + { s } + if$ + add.name.index + } + if$ + } + { %% for nameptr := 20 to format.num.names - 1 do + #2 'nameptr := + { nameptr format.num.names < } + { comma.between.names write$ + field nameptr format.author.name + add.name.index + nameptr #1 + 'nameptr := + } + while$ + field numnames format.author.name 's := + format.num.names numnames = + { comma.before.last write$ + s "others" = + { "`others' not consistent with 6th ed. of the APA " + "Manual" * + warning$ + dot + { et.al.string.period } + { et.al.string } + if$ + write$ + } + { and.before.last write$ + dot + { s add.period$ } + { s } + if$ + add.name.index + } + if$ + } + { dots.before.last write$ + s + add.name.index + } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.author.names} +{ 'field := + 'dot := + dot + { dot field authors.reflist.apa6 } + { dot field authors.editors.reflist.apa5 } + if$ +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.authors} +{ #1 author format.author.names } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.editors.as.authors} +{ #0 editor format.author.names + "\ " editor.postfix * add.period$ write$ newline$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.ed.trans.as.authors} +{ #0 editor format.author.names + "\ " editor.trans.postfix * add.period$ write$ newline$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.editor.names} +{ 'field := + % + field num.names$ 'numnames := % numnames is the total number of names + % contained in field + numnames 'format.num.names := % Format all authors + format.num.names name.max > % Unless this exceeds the maximum of 6. + { #1 'format.num.names := } % Then it becomes 1 (First et~al.) + 'skip$ + if$ + % + % Format first editor + % + field #1 format.editor.name + % + numnames #1 = + 'skip$ + { format.num.names #1 = + { et.al.string * } % First editor et~al., no comma. + { numnames #2 = + { % + % Given that format.num.names > 1, it is 2. + % No comma. Format second editor. + % + field #2 format.editor.name 's := + % + % Check if 2nd editor is explicit "others". + % If so, insert "et~al." string. + % + s "others" = + { et.al.string * } % First et~al. + { and.before.last * s * } % First \& Second + if$ + } + { % + % 3 or more names, 2 or more must be cited + % + % for nameptr := 2 to format.num.names - 1 do + % + #2 'nameptr := + { nameptr format.num.names < } + { % + % Put comma between consecutive editors + % + comma.between.names * + % + % Format and add next editor + % + field nameptr format.editor.name * + % + % Move to next editor + % + nameptr #1 + 'nameptr := + } + while$ + % + % nameptr = format.num.names + % Format this editor. + % + field nameptr format.editor.name 's := + % + format.num.names numnames = + { % + % This is also the last editor. Add (optional) comma. + % + comma.before.last * + % + % Check if this editor is explicit "others". + % If so, insert "et~al." string. + % + s "others" = + { et.al.string * } + { and.before.last * s * } + if$ + } + { % + % This is not the last editor. + % Add comma, editor name, and "et~al." + % + comma.between.names * s * + comma.before.last * et.al.string * + } + if$ + } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format editors in case editors do not act as authors + % (such as reference to chapter in edited book) + % + % L. W. Poon (Ed.) (1 editor) + % or + % A. S. Gurman \& D. P. Kniskern (Eds.) (2 editors) + % or + % L. Poon, A. Jones, \& D. P. Smith (Eds.) (>2 editors) + % + % editor must not be empty + % +FUNCTION {format.editors.in.line} +{ editor format.editor.names + editor.postfix connect.with.space.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format editors in case editors are also translators + % and do not act as authors + % (such as reference to chapter in edited book + % of translated articles) + % + % L. W. Poon (Ed. and Trans.) (1 editor) + % or + % A. S. Gurman \& D. P. Kniskern (Eds. and Trans.) (2 editors) + % or + % L. Poon, A. Jones, \& D. P. Smith (Eds. and Trans.) (>2 editors) + % + % editor must not be empty + % +FUNCTION {format.editors.trans.in.line} +{ editor format.editor.names + editor.trans.postfix connect.with.space.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format translators in case translators act as editors + % (such as reference to chapter in translated book) + % + % L. W. Poon (Trans.) (1 translator) + % or + % A. S. Gurman \& D. P. Kniskern (Trans.) (2 translators) + % or + % L. Poon, A. Jones, \& D. P. Smith (Trans.) (>2 translators) + % + % translator must not be empty + % +FUNCTION {format.translators.in.line} +{ translator format.editor.names + trans.postfix connect.with.space.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format translators in case translator does not act as editor + % (such as reference to translated book) + % + % L. Solotaroff, Trans. + % +FUNCTION {format.translators.in.paren.check} +{ translator empty$ + { "" } + { translator format.editor.names + translator num.names$ #1 > + { ", \BTRANSS{}" * } + { ", \BTRANS{}" * } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format editors and translators in case neither act as editor + % (such as reference to edited or translated book with a + % a single author) + % + % L. Solotaroff, Ed. + % L. Solotaroff, Ed. \& Trans. + % L. Solotaroff, Trans. + % L. Solotaroff, Ed. \& S. Prokofieff, Trans. + % +FUNCTION {format.editors.translators.in.paren.check} +{ editor empty$ + { translator empty$ + { "" } + { translator format.editor.names + translator num.names$ #1 > + { ", \BTRANSS{}" * } + { ", \BTRANS{}" * } + if$ + } + if$ + } + { editor format.editor.names + editor num.names$ #1 > + { ", \BEDS{}" * } + { ", \BED{}" * } + if$ + translator empty$ + 'skip$ + { editor translator = + { editor num.names$ #1 > + { " \BAnd{} \BTRANSS" * } + { " \BAnd{} \BTRANS" * } + if$ + } + { " \BAnd{} " * + translator format.editor.names * + translator num.names$ #1 > + { ", \BTRANSS{}" * } + { ", \BTRANS{}" * } + if$ + } + if$ + } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % translator of article + % +FUNCTION {format.atrans.check} +{ format.translators.in.paren.check parenthesize.check } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format "In editor (Ed.), " + % +FUNCTION {format.in.editors} +{ "\BIn{} " + editor empty$ + 'skip$ + { format.editors.in.line * ", " * } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format "In translator (Trans.)," + % +FUNCTION {format.in.trans} +{ "\BIn{} " + translator empty$ + 'skip$ + { format.translators.in.line * ", " * } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format "In editor (Ed. and Trans.)" + % or "In editor (Ed.)" if editor not equal to translator + % +FUNCTION {format.in.editors.trans} +{ "\BIn{} " + editor empty$ + { translator empty$ + 'skip$ + { format.translators.in.line * ", " * } + if$ + } + { translator empty$ + { format.editors.in.line * } + { editor translator = + { format.editors.trans.in.line * } + { format.editors.in.line * } + if$ + } + if$ + ", " * + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.year.check} +{ "\APACrefYear{" + protect.year * + % + % Add "a", "b", etc. when necessary. + % + make.definitive.year.supplement * + "}" * +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {format.year.month.day.check} +{ "\APACrefYearMonthDay{" + protect.year * + % + % Add "a", "b", etc. when necessary. + % + make.definitive.year.supplement * + "}{" * + % + % Add month and day when present. + % + month empty$ + 'skip$ + { month * } + if$ + "}{" * + day empty$ + 'skip$ + { day * } + if$ + "}" * +} + +FUNCTION {format.atitle.no.dot} +{} + +FUNCTION {format.atitle.dot} +{add.period$ +} + +FUNCTION {format.atitle.connect} +{ swap$ + duplicate$ empty$ + { pop$ + format.atitle.dot + } + { swap$ + format.atitle.no.dot + swap$ connect.with.space.check + add.period$ + } + if$ +} + +FUNCTION {format.btitle.no.dot} +{ duplicate$ empty$ + { pop$ + "" + } + { duplicate$ + % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefbtitle {" swap$ * "} {" * swap$ + "t" change.case$ + * "}" * + } + if$ +} + +FUNCTION {format.btitle.dot} +{ duplicate$ empty$ + { pop$ + "" + } + { add.period$ format.btitle.no.dot } + if$ +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % title of book and similar + % field must be on top of stack + % second element on stack must be connected: + % if that is empty, then btitle.dot + % else btitle.no.dot, connect, and add period + % +FUNCTION {format.btitle.connect} +{ swap$ + duplicate$ empty$ + { pop$ + format.btitle.dot + } + { swap$ + format.btitle.no.dot + swap$ connect.with.space.check + add.period$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % title of book and similar + % field must be on top of stack + % second element on stack must be connected + % +FUNCTION {format.btitle.connect.no.dot} +{ swap$ + duplicate$ empty$ + { pop$ + format.btitle.no.dot + } + { swap$ + format.btitle.no.dot + swap$ connect.with.space.check + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format englishtitle (of nonenglish article, etc.) + % +FUNCTION {format.aetitle.check} +{ englishtitle empty$ + { "" } + { % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefaetitle {" englishtitle * "} {" * + englishtitle "t" change.case$ * "}" * + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format englishtitle (of nonenglish book, etc.) + % +FUNCTION {format.betitle.check} +{ englishtitle empty$ + { "" } + { % Two arguments: Title twice: (1) don't change case; (2) change case + "\APACrefbetitle {" englishtitle * "} {" * + englishtitle "t" change.case$ * "}" * + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format type (of article, etc.) + % +FUNCTION {format.atype.check} +{ type bracket.check } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format title and englishtitle (of article, etc.) + % +FUNCTION {format.atitle.check} +{ format.aetitle.check + title format.atitle.connect +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format title, englishtitle, and type + % (of article, etc.) + % +FUNCTION {format.atitle.type.check} +{ format.aetitle.check + format.atype.check connect.with.space.check + title format.atitle.connect +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format title, englishtitle, + % and translator (of article, etc.) + % +FUNCTION {format.atitle.trans.check} +{ format.aetitle.check + format.atrans.check connect.with.space.check + title format.atitle.connect +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format title, englishtitle, type, + % and translator (of article, etc.) + % +FUNCTION {format.atitle.type.trans.check} +{ format.aetitle.check + format.atype.check connect.with.space.check + format.atrans.check connect.with.space.check + title format.atitle.connect +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format journal, volume, number and pages + % call with + % formatted.pages format.journal.vol.num.pages.check + % +FUNCTION { format.journal.vol.num.pages.check } +{ "journal" journal warning.if.empty + duplicate$ empty$ + journal empty$ and + volume empty$ and + number empty$ and + { pop$ "" } + { "\APACjournalVolNumPages{" journal "" connect.check + "}{" * volume "" connect.check + "}{" * number "" connect.check + "}{" * swap$ "" connect.check + "}" * + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % volume of book, checks whether + % "Volume" or "Volumes" + % + % call with + % field format.bvolume.check + % +FUNCTION {format.bvolume.check} +{ duplicate$ empty$ + 'skip$ + { duplicate$ multi.result.check + { "\BVOLS" swap$ tie.or.space.connect } + { "\BVOL" swap$ tie.or.space.connect } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % edition of book, must not be empty + % call with + % field format.edition.check + % +FUNCTION {format.edition.check} +{ duplicate$ empty$ + 'skip$ + { "\PrintOrdinal{" swap$ * "}" * + "\BEd" connect.with.space.check + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % volume and edition of book + % +FUNCTION {format.bvol.edition.check} +{ edition format.edition.check + volume format.bvolume.check + connect.with.comma.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % volume and edition of book + % +FUNCTION {format.bvol.edition} +{ format.bvol.edition.check + parenthesize.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % volume and edition and translator of translated book + % +FUNCTION {format.bvol.edition.trans} +{ format.bvol.edition.check + format.translators.in.paren.check connect.with.semicolon.check + parenthesize.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % volume, edition, editor, and translator of (translated) book + % +FUNCTION {format.bvol.edition.editor.trans} +{ format.bvol.edition.check + format.editors.translators.in.paren.check connect.with.semicolon.check + parenthesize.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % formats pages by first checking if 1 or more pages + % and prefixing pages with "p." or "pp." (these strings + % are given in the commands \BPG and \BPGS, respectively), + % whichever is applicable, and do a tie or space connect + % + % call with + % field format.bpages.check + % +FUNCTION {format.bpages.check} +{ duplicate$ empty$ + 'skip$ + { duplicate$ multi.result.check + { "\BPGS" swap$ tie.or.space.connect } + { "\BPG~" swap$ * } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % formats chapters by first checking if 1 or more chapters + % and prefixing pages with "chap." (this string + % is given in the commands \BCHAP and \BCHAPS, respectively), + % whichever is applicable, and do a tie or space connect + % + % call with + % field format.bchapter.check + % +FUNCTION {format.bchapter.check} +{ duplicate$ empty$ + 'skip$ + { duplicate$ multi.result.check + { "\BCHAPS" swap$ tie.or.space.connect } + { "\BCHAP" swap$ tie.or.space.connect } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % volume, edition, and pages or chapter of article in book etc. + % +FUNCTION {format.bvol.edition.pages} +{ format.bvol.edition.check + pages empty$ + { chapter format.bchapter.check connect.with.comma.check } + { pages format.bpages.check connect.with.comma.check } + if$ + parenthesize.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % title, volume, edition of book + % +FUNCTION {format.btitle.vol.edition} +{ format.betitle.check + format.bvol.edition connect.with.space.check + title format.btitle.connect.no.dot +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % title, volume, edition, and translator of book + % +FUNCTION {format.btitle.vol.edition.trans} +{ format.betitle.check + format.bvol.edition.trans connect.with.space.check + title format.btitle.connect.no.dot +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % title, volume, edition, editor, and translator of book + % +FUNCTION {format.btitle.vol.edition.editor.trans} +{ format.betitle.check + format.bvol.edition.editor.trans connect.with.space.check + title format.btitle.connect.no.dot +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format address and publisher of book etc. + % + % New York: Wiley + % or + % Wiley (if address empty) + % or + % New York (if publisher empty) + % +FUNCTION {format.address.publisher} +{ % + % If publisher = author or publisher = "author" or publisher = "Author" + % then hand over the final choice how to format this to \LaTeX. + % (I could imagine similar code for editors, but the APA manual does + % not mention it and then we'd have to check whether the editor is in + % the author position, so let's keep it simple until someone complains.) + % + author empty$ + publisher empty$ or + { publisher "\APACaddressPublisher{" } + { author publisher = + "author" publisher = or + "Author" publisher = or + { author "\APACaddressPublisherEqAuth{" } + { publisher "\APACaddressPublisher{" } + if$ + } + if$ + address "" connect.check "}{" * + % Recover publisher that was pushed onto the stack previously. + swap$ "" connect.check "}" * +} + +FUNCTION {format.address.publisher.check} +{ publisher empty$ + address empty$ + and + 'skip$ + { + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.address.publisher + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format number as in reports: No. 2017 + % call with + % field format.rnumber.check + % +FUNCTION {format.rnumber.check} +{ duplicate$ empty$ + 'skip$ + { duplicate$ multi.result.check + { "Nos." swap$ tie.or.space.connect } + { "No." swap$ tie.or.space.connect } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format type and number of a standalone item + % call with + % format.type.number + % +FUNCTION { format.type.number } +{ type empty$ + { type.2 } + { type } + if$ + number empty$ + { bracket.check } + { number format.rnumber.check connect.with.space.check + parenthesize.check + } + if$ +} + +FUNCTION {format.howpublished} +{ howpublished empty$ + 'skip$ + { % clear the stack + duplicate$ empty$ + 'pop$ + { output.dot.new.block } + if$ + "\APAChowpublished {" howpublished * "}" * + } + if$ +} +FUNCTION {output.howpublished} +{ howpublished empty$ + 'skip$ + { "\APAChowpublished {" howpublished * "}" * + output.dot.new.block + } + if$ +} +FUNCTION {howpublished.block} +{ howpublished empty$ + 'skip$ + { start.new.block + "\APAChowpublished {" howpublished * "}" * + output.dot.end.block + } + if$ +} + +FUNCTION {begin.end.url.env} +{ "Available online: " % MDPI modified + urldate empty$ + { " (accessed on)." } + { " (accessed on " urldate * ")." * } % MDPI modified + if$ +} + +FUNCTION {begin.end.doi.env} +{ "" % MDPI modified + "" +} + +FUNCTION {begin.end.msg.env} +{ "\begin{APACrefURLmsg} " + " \end{APACrefURLmsg} " +} +FUNCTION {format.url} +{ type.2 empty$ + { begin.end.url.env } + { type.2 "\bibmessage" = + { begin.end.msg.env } + { begin.end.url.env } + if$ + } + if$ + "\url{" url * "}" * + enclose.check +} +FUNCTION {url.block} +{ doi empty$ + { url empty$ + 'skip$ + { start.new.block + format.url + output.end.block + } + if$ + } + 'skip$ + if$ +} +FUNCTION {format.doi} +{ begin.end.doi.env + "{\url{https://doi.org/" doi * "}}." * % MDPI modified + enclose.check +} +FUNCTION {doi.block} +{ doi empty$ + 'skip$ + { start.new.block + format.doi + output.end.block + } + if$ +} +FUNCTION {format.note} +{ "\APACrefnote{" "}" note enclose.check } +FUNCTION {note.block} +{ note empty$ + 'skip$ + { start.new.block + format.note + output.end.block + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format original year of publication and note + % (reprint or translation) + % +FUNCTION {format.orig.year.note} +{ originalyear empty$ + { format.note } + { "\APACorigyearnote{" + originalyear "" connect.check "}{" * + note "" connect.check "}" * + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format original journal of publication and note + % (reprint or translation) + % +FUNCTION {format.orig.journal.note} +{ "\APACorigjournalnote{" + originalyear "" connect.check "}{" * + originaljournal "" connect.check "}{" * + originalvolume "" connect.check "}{" * + originalnumber "" connect.check "}{" * + originalpages "" connect.check "}{" * + note "" connect.check "}" * +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format original book of publication and note + % (reprint or translation) + % +FUNCTION {format.orig.book.note} +{ "\APACorigbooknote{" originalyear "" connect.check "}{" * + % + originaleditor empty$ + 'skip$ + { originaleditor num.names$ #1 > + { "\APACorigEDS {" * originaleditor format.editor.names * "}" * } + { "\APACorigED {" * originaleditor format.editor.names * "}" * } + if$ + } + if$ + % + "}{" * + originalbooktitle format.btitle.no.dot "" connect.check "} {" * + originaledition format.edition.check "" connect.check "} {" * + originalvolume format.bvolume.check "" connect.check "} {" * + originalpages format.bpages.check "" connect.check "} {" * + originaladdress "" connect.check "} {" * + originalpublisher "" connect.check "} {" * + note "" connect.check "}" * +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format information about original publication of reprint + % and format optional note + % +FUNCTION {format.orig.note} +{ originaljournal empty$ + { originalbooktitle empty$ + { note empty$ + { originalyear empty$ + 'skip$ + { originalyear "\bibnodate" = + originalyear "l" change.case$ "no date" = or + originalyear "l" change.case$ "n.d." = or + 'skip$ + { output.new.block + format.orig.year.note + } + if$ + } + if$ + } + { output.new.block + format.orig.year.note + } + if$ + } + { output.new.block + format.orig.book.note + } + if$ + } + { output.new.block + format.orig.journal.note + } + if$ +} +FUNCTION {fin.entry} +{ doi empty$ + 'skip$ + { output.new.block + format.doi + } + if$ + output.end.block +% "\PrintBackRefs{\CurrentBib}" write$ newline$ + test + { "\vspace{\baselineskip}" write$ newline$ } + 'skip$ + if$ +} +FUNCTION {fin.entry.2} +{ doi.block + % "\PrintBackRefs{\CurrentBib}" write$ newline$ + test + { "\vspace{\baselineskip}" write$ newline$ } + 'skip$ + if$ +} +FUNCTION {periodical} +{ + author empty$ + % + % no author: possibly special issue with editors as authors + % (APA manual, ex. 11, p. 121) + % + { editor empty$ + % + % no author or editor: title serves as author. + % title formatted as article title (APA manual not consistent in this, + % compare statement on p. 119: ``treat as book title'' and + % example 8, p. 121: no underlining => article title) + % + { format.atitle.type.trans.check output.new.block + % + % now formatted date on top of stack + % + output.dot.new.block + } + % + % format editor and year, and check if year is present + % format article title and check if title or type present + % + { format.editors.as.authors start.new.block + % + % now formatted date on top of stack + % + output.dot.new.block + format.atitle.type.trans.check output.new.block + } + if$ + } + % + % format author and year, and check if year is present + % format article title and check if title or type present + % + { format.authors start.new.block + % + % now formatted date on top of stack + % + output.dot.new.block + format.atitle.type.trans.check output.new.block + } + if$ + % + % format journal name, volume and issue number, and pages + % and check if journal not empty + % + format.journal.vol.num.pages.check + % + % if not empty, insert howpublished. + % (used if article is retrieved from the internet) + % + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ + % + % possible reprint and optional note + % + format.orig.note + fin.entry +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % journal article + % +FUNCTION {article} +{ pages format.year.month.day.check periodical } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % magazine article + % +FUNCTION {magazine} +{ pages format.year.month.day.check periodical } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % newspaper article + % +FUNCTION {newspaper} +{ pages format.bpages.check format.year.month.day.check periodical } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % (translation of) entire book + % +FUNCTION {book} +{ % + % author or editor, + % year, title, englishtitle, translator + % + author empty$ + % + % no author: possibly edited book with editors as authors + % + { editor empty$ + % + % no author or editor: title serves as author. + % title formatted as book title + % + { format.btitle.vol.edition.trans + format.type.number connect.with.space.check + output.dot.new.block + format.year.check add.period$ + } + % + % format editor and year, and check if year is present + % format booktitle, volume, and edition and check if title present + % + { translator empty$ + { format.editors.as.authors start.new.block + format.year.check output.dot.new.block + format.btitle.vol.edition + } + % + % format translator correctly + % + { translator editor = + not + { format.editors.as.authors start.new.block + format.year.check output.dot.new.block + format.btitle.vol.edition.trans + } + { format.ed.trans.as.authors start.new.block + format.year.check output.dot.new.block + format.btitle.vol.edition + } + if$ + } + if$ + format.type.number connect.with.space.check + add.period$ + } + if$ + } + % + % format author and year, and check if year is present + % format booktitle, volume, and edition and check if title present + % + { format.authors start.new.block + format.year.check output.dot.new.block + format.btitle.vol.edition.editor.trans + format.type.number connect.with.space.check + add.period$ + } + if$ + % + % format address and publisher + % + format.address.publisher.check + % + % if not empty, insert howpublished. + % (used if book is retrieved from the internet) + % + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ + % + % format original publication (of reprint/translation) + % and optional note + % + format.orig.note + fin.entry +} +FUNCTION {incollection} +{ author empty$ + { editor.ne.trans + { format.atitle.type.trans.check } + { format.atitle.type.check } + if$ + output.new.block + format.year.month.day.check add.period$ + } + { format.authors start.new.block + format.year.month.day.check output.dot.new.block + editor.ne.trans + { format.atitle.type.trans.check } + { format.atitle.type.check } + if$ + } + if$ + editor empty$ + translator empty$ and + edition empty$ and + volume empty$ and + pages empty$ and + chapter empty$ and + booktitle empty$ and + 'skip$ + { + output.new.block + format.in.editors.trans + format.bvol.edition.pages + booktitle format.btitle.connect * add.period$ + } + if$ + format.address.publisher.check + format.howpublished add.period$ + url empty$ + 'skip$ + { + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ + format.orig.note + fin.entry +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % technical report number + % +FUNCTION {format.tr.number} +{ type empty$ + { "\BTR{}" } + { type "\bibnotype" = + { "" } + { type } + if$ + } + if$ + number format.rnumber.check connect.with.space.check +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % title, volume, edition, report number + % +FUNCTION {format.tr.title.number} +{ format.betitle.check + % Single out the situation in which there is no number + % and type = {\bibnotype}, i.e., no type as well. + % (Why not use book then?) + type empty$ + { % Now, we're in the regular situation with at least a + % number, a type, a volume, or an edition. + "\APACbVolEdTR{" format.bvol.edition.check * "}{" * + format.tr.number * "}" * + } + { type "\bibnotype" = + number empty$ + volume empty$ + edition empty$ + and + and + and + { "" } + { % Now, we're in the regular situation with at least a + % number, a type, a volume, or an edition. + "\APACbVolEdTR {" format.bvol.edition.check * "}{" * + format.tr.number * "}" * + } + if$ + } + if$ + connect.with.space.check + title format.btitle.connect +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % format address and institution of reports etc. + % + % Washington, DC: National Institute of Education + % or + % National Institute of Education (if address empty) + % + % warning if no institution + % +FUNCTION {format.address.institution.check} +{ url empty$ + doi empty$ and + { "institution" institution warning.if.empty + "address" address warning.if.empty + } + 'skip$ + if$ + institution empty$ + address empty$ + and + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + % + % If institution = author or institution = "author" + % or institution = "Author" then hand over the final choice how to + % format this to \LaTeX. See also format.address.publisher + % + author empty$ + institution empty$ or + { institution "\APACaddressInstitution{" } + { author institution = + "author" institution = or + "Author" institution = or + { author "\APACaddressInstitutionEqAuth{" } + { institution "\APACaddressInstitution{" } + if$ + } + if$ + address "" connect.check "}{" * + % Recover institution that was pushed onto the stack previously. + swap$ "" connect.check "}" * + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % reports + % +FUNCTION {techreport} +{ author empty$ + % + % no author: possibly edited report with editors as authors + % + { editor empty$ + % + % no author or editor: title serves as author. + % title formatted as book title + % + { format.tr.title.number output.dot.new.block + format.year.month.day.check add.period$ + } + % + % format editor and year, and check if year is present + % format report title and check if title present + % format volume, edition, type, and number + % + { format.editors.as.authors start.new.block + format.year.month.day.check output.dot.new.block + format.tr.title.number add.period$ + } + if$ + } + % + % format author and year, and check if year is present + % format report title and check if title present + % format volume, edition, type, and number + % + { format.authors start.new.block + format.year.month.day.check output.dot.new.block + format.tr.title.number add.period$ + } + if$ + % + % format address and institution, check if institution present + % + format.address.institution.check + % + % if not empty, insert howpublished. + % (used if report is retrieved from the internet) + % + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ + % + % format optional note + % + note empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.note + } + if$ + fin.entry +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % (translated) article or chapter in report + % +FUNCTION {intechreport} +{ author empty$ + % + % no author: title serves as author. + % title formatted as article title (APA manual not consistent in this, + % compare statement on p. 119: ``treat as book title'' and + % example 8, p. 121: no underlining => article title) + % + { editor.ne.trans + { format.atitle.trans.check } + { format.atitle.check } + if$ + output.new.block + format.year.month.day.check output.dot.new.block + } + % + % format author and year, and check if year is present + % format article title and check if title or type present + % + { format.authors start.new.block + format.year.month.day.check output.dot.new.block + editor.ne.trans + { format.atitle.trans.check } + { format.atitle.check } + if$ + output.new.block + } + if$ + % + % format "In " editor " (Ed. \& Trans.), " + % booktitle, volume, edition, pages + % + format.in.editors.trans + % + % volume, edition, report type and number, pages + % + "\APACbVolEdTRpgs {" format.bvol.edition.check * "} {" * + format.tr.number * + "} {" * pages format.bpages.check * + "}" * + % + booktitle format.btitle.connect * + add.period$ + % + % format address and publisher + % + format.address.institution.check + % + % if not empty, insert howpublished. + % (used if report is retrieved from the internet) + % + format.howpublished add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ + % + % format original publication (of reprint/translation) + % and optional note + % + format.orig.note + fin.entry +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % papers presented at conferences etc. + % +FUNCTION {lecture} +{ author empty$ + { "author" author warning.if.empty } + { format.authors start.new.block } + if$ + % + % format year, month, and day, and check if year present + % format title and check if title present + % format howpublished and check if howpublished present + % + format.year.month.day.check output.dot.new.block + symposium empty$ + { format.betitle.check + title format.btitle.connect output.new.block + howpublished empty$ + { "symposium and howpublished missing in " cite$ * warning$ + "" + } + { "\APAChowpublished {" howpublished * "}" * } + if$ + address connect.with.comma.check + } + { format.atitle.type.check output.new.block + "\BIn{} " + chair empty$ + 'skip$ + { chair format.editor.names + chair num.names$ #1 > + { "(\BCHAIRS)" } + { "(\BCHAIR)" } + if$ + connect.with.space.check * ", " * + } + if$ + symposium format.btitle.no.dot * + format.howpublished + address connect.with.comma.check + } + if$ + add.period$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ + % + % format optional note + % + note empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.note + } + if$ + fin.entry +} + +FUNCTION {format.ttitle.type.school} +{ doi empty$ not + url empty$ not or + howpublished empty$ not or + { pop$ } + { swap$ pop$ } + if$ + type empty$ + 'skip$ + { type "\bibnotype" = + { pop$ + "" + } + { pop$ + type + } + if$ + } + if$ + duplicate$ empty$ + doi empty$ + url empty$ and + howpublished empty$ and + address empty$ + school empty$ and or and + { 'pop$ + title empty$ not + englishtitle empty$ not or + { start.new.block } + 'skip$ + if$ + "" + } + { start.new.block + "\APACtypeAddressSchool {" swap$ * "}{" * + doi empty$ + url empty$ and + howpublished empty$ and + { "}{}" * } + { address "" connect.check "}{" * + school "" connect.check "}" * + } + if$ + } + if$ + format.betitle.check swap$ + connect.with.space.check + "title" title warning.if.empty + title format.btitle.connect +} +FUNCTION {unpub.address.school.block} +{ doi empty$ + url empty$ and + howpublished empty$ and + { "school" school warning.if.empty + school empty$ + address empty$ and + 'skip$ + { start.new.block + "\APACaddressSchool {" address "" connect.check "}{" * + school "" connect.check "}" * + output.dot.end.block + } + if$ + } + 'skip$ + if$ +} +FUNCTION {thesis} +{ journal empty$ not + { pop$ pop$ + article + } + { author empty$ + { "author" author warning.if.empty } + { format.authors start.new.block } + if$ + format.year.check output.dot.end.block + format.ttitle.type.school output.dot.end.block + unpub.address.school.block + howpublished.block + url.block + note.block + fin.entry.2 + } + if$ +} +FUNCTION {phdthesis} +{ "\BPhD" "\BUPhD" thesis } +FUNCTION {mastersthesis} +{ "\BMTh" "\BUMTh" thesis } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % title of something (used in unpublished and misc) + % english translation of title + % type and number of something + % +FUNCTION {format.btitle.type.num} +{ format.betitle.check + format.bvol.edition connect.with.space.check + format.type.number + connect.with.space.check + title empty$ + { add.period$ } + { title format.btitle.connect } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % title of message or software-related thing (used in misc) + % english translation of title + % type and number of something + % +FUNCTION {format.mtitle.type.num} +{ format.aetitle.check + format.bvol.edition connect.with.space.check + type.2 "\bibmessage" = + { number empty$ + 'skip$ + { type.2 number tie.or.space.connect + bracket.check + connect.with.space.check + } + if$ + } + { format.type.number + connect.with.space.check + } + if$ + title empty$ + { add.period$ } + { title format.atitle.connect } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % title, english translation of title, + % type and number of something (used in misc) + % +FUNCTION {output.misctitle.type.num} +{ type.2 empty$ + { format.btitle.type.num } + { type.2 "\bibmessage" = + type.2 "\bibcomputerprogram" = or + type.2 "\bibcomputerprogrammanual" = or + type.2 "\bibcomputerprogramandmanual" = or + type.2 "\bibcomputersoftware" = or + type.2 "\bibcomputersoftwaremanual" = or + type.2 "\bibcomputersoftwareandmanual" = or + type.2 "\bibprogramminglanguage" = or + { format.mtitle.type.num } + { format.btitle.type.num } + if$ + } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % unpublished manuscripts, etc. + % +FUNCTION {unpublished} +{ check.relevant.fields + author empty$ + % + % no author: possibly edited book with editors as authors + % + { editor empty$ + % + % no author or editor: title serves as author. + % title formatted as book title + % + { format.btitle.type.num output.new.block + format.year.month.day.check add.period$ + } + % + % format editor and year, and check if year is present + % format book title, volume, and edition and check if title present + % + { format.editors.as.authors start.new.block + format.year.month.day.check output.dot.new.block + format.btitle.type.num + } + if$ + } + % + % format author and year, and check if year is present + % format book title, volume, and edition + % and check if title or type present + % + { format.authors start.new.block + format.year.month.day.check output.dot.new.block + format.btitle.type.num + } + if$ + howpublished empty$ + organization empty$ and + address empty$ and + 'skip$ + { output.new.block + "\APAChowpublished{" "}" howpublished enclose.check + organization connect.with.comma.check + address connect.with.comma.check + add.period$ + } + if$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ + % + % format optional note + % + note empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.note + } + if$ + fin.entry +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % nonprint media and other things that don't fit + % +FUNCTION {misc} +{ % + % To handle @manual: use type.2 instead of type. + type.2 empty$ + type empty$ not and + { type 'type.2 := } + 'skip$ + if$ + % + author empty$ + % + % no author: possibly edited item with editors as authors + % + { editor empty$ + % + % no author or editor: title/type serves as author. + % title formatted as book title + % + % if no title and no type, howpublished is title + % + { title empty$ + type.2 empty$ and + { howpublished empty$ + { "No author, editor, title, type, and howpublished in " + cite$ * warning$ + "" + } + { "\APAChowpublished{" howpublished * "}" * add.period$ } + if$ + format.year.month.day.check add.period$ + } + { output.misctitle.type.num output.new.block + format.year.month.day.check add.period$ + format.howpublished add.period$ + } + if$ + } + % + % format editor and year, and check if year is present + % format book title, volume, and edition and check if title present + % + { format.editors.as.authors start.new.block + format.year.month.day.check output.dot.new.block + output.misctitle.type.num + format.howpublished add.period$ + } + if$ + } + % + % format author and year, and check if year is present + % format book title, volume, and edition + % and check if title or type present + % + { format.authors start.new.block + format.year.month.day.check output.dot.new.block + output.misctitle.type.num + format.howpublished add.period$ + } + if$ + % + address empty$ + publisher empty$ and + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.address.publisher add.period$ + } + if$ + % + % format url + % + url empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.url + } + if$ + % + % format optional note + % + note empty$ + 'skip$ + { % Clear the stack + duplicate$ empty$ + 'skip$ + { output.new.block } + if$ + format.note + } + if$ + fin.entry +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % for legal cases and other cases that need to be + % done by hand + % +FUNCTION {literal} +{ "key" key warning.if.empty + "text" text warning.if.empty + text empty$ + { "" } + { text } + if$ + fin.entry +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % technical documentation + % +FUNCTION {manual} +{ % + % If type is empty, assume that it is a computer software manual. + % + type empty$ + { "\bibcomputersoftwaremanual" 'type.2 := } + 'skip$ + if$ + misc +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % booklet + % +FUNCTION {booklet} +{ misc } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % part of a book + % +FUNCTION {inbook} +{ incollection } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % article in proceedings + % +FUNCTION {inproceedings} +{ incollection } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % article in proceedings (Kopka & Daly, 2004, p. 230) + % +FUNCTION {conference} +{ inproceedings } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % proceedings + % +FUNCTION {proceedings} +{ misc } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % unknown types + % +FUNCTION {default.type} +{ misc } + +FUNCTION {initialize} +{ + #6 'name.max := +%% #250 'entry.max$ := +%% #5000 'global.max$ := +} +FUNCTION {init.old.number} +{ #0 'old.number := } +FUNCTION {init.old.label} +{ "zzzzzz" 'old.label := } +FUNCTION {init.cite.initials.add.to.year} +{ #0 'cite.initials := + #0 'add.to.year := +} +FUNCTION {move.forward} +{ #1 'forward := } +FUNCTION {move.backward} +{ #0 'forward := } +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{999}" write$ newline$ +} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +FUNCTION {write.bbl.entry} +{ + make.cite.labels + call.type$ +} +READ +EXECUTE { initialize } +EXECUTE { init.old.number } +ITERATE { make.citeorder.number } +ITERATE { make.sort.title } +SORT +EXECUTE { init.old.number } +EXECUTE { init.old.label } +ITERATE { make.title.number } +ITERATE { make.tentative.sort.label } +SORT +ITERATE { init.cite.initials.add.to.year } +EXECUTE { init.initials } +ITERATE { check.add.initials } +EXECUTE { init.initials } +REVERSE { check.add.initials } +ITERATE { tentative.cite.num.names } +EXECUTE { init.cite.num.names } +EXECUTE { move.forward } +ITERATE { definitive.cite.num.names } +EXECUTE { init.cite.num.names } +EXECUTE { move.backward } +REVERSE { definitive.cite.num.names } +ITERATE { make.final.sort.key } +SORT +EXECUTE { begin.bib } +ITERATE { write.bbl.entry } +EXECUTE { end.bib } + +%% +%% End of file `apacite.bst'. diff --git a/Definitions/mdpi_apacite.bst:Zone.Identifier b/Definitions/mdpi_apacite.bst:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/Definitions/mdpi_apacite.bst:Zone.Identifier Binary files differ diff --git a/Definitions/mdpi_apacite.sty b/Definitions/mdpi_apacite.sty new file mode 100644 index 0000000..59ec5bb --- /dev/null +++ b/Definitions/mdpi_apacite.sty @@ -0,0 +1,2216 @@ +%% This is file `mdpi_apacite.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% apacite.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 1994-2013 Erik Meijer and any individual authors listed +%% elsewhere in this file. +%% +%% This file is part of the `apacite' package. +%% ------------------------------------------- +%% Updated on December 17, 2024 + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{mdpi_apacite} + +%% apacite.sty : citation and reference list according to APA manual +%% Written by Erik Meijer +%% +%% Contains code adapted from +%% index.sty [1995/09/28 v4.1beta Improved index support (dmj)], +%% hyperref.dtx [6.71, 2000/10/04], +%% babel.def [2001/03/01, v3.7h], +%% backref.dtx [1.20, 2002/06/09], +%% ltbibl.dtx [2004/02/15 v1.1q LaTeX Kernel (Bibliography)], +%% bibtopic.dtx [2002/08/22 v1.0k], +%% multibib.dtx [2004/01/28 v1.3 Multiple bibliographies for one document.], +%% multibbl.dtx [2004/07/27 v1.1], +%% amsrefs.dtx [2004/06/30 v2.0] +%% ltidxglo.dtx [1996/01/20 v1.1e LaTeX Kernel (Index and Glossary)] +%% doc.dtx [2004/02/09 v2.1b Standard LaTeX documentation package (FMi)] +%% and code (used with permission) provided by: +%% Stefan Bj\"ork. +%% +\def\@year@\citeauthoryear#1#2#3{#3} % default +\DeclareOption{BCAY}{% compatibility with old .bbl files + \def\@year@\BCAY#1#2#3{#3}% +} +\newif\if@APAC@classic@cite +\newif\if@APAC@natbib@emu +\newif\if@APAC@natbib@apa +\newif\if@APAC@classic@or@emu +\newif\if@APAC@any@natbib +\newif\if@APAC@anycitation +\DeclareOption{apaciteclassic}{% + \@APAC@classic@citetrue + \@APAC@natbib@emufalse + \@APAC@natbib@apafalse + \@APAC@classic@or@emutrue + \@APAC@any@natbibfalse + \@APAC@anycitationtrue +} +\DeclareOption{natbibemu}{% + \@APAC@classic@citefalse + \@APAC@natbib@emutrue + \@APAC@natbib@apafalse + \@APAC@classic@or@emutrue + \@APAC@any@natbibtrue + \@APAC@anycitationtrue +} +\DeclareOption{natbibapa}{% + \@APAC@classic@citefalse + \@APAC@natbib@emufalse + \@APAC@natbib@apatrue + \@APAC@classic@or@emufalse + \@APAC@any@natbibtrue + \@APAC@anycitationtrue +} +\DeclareOption{nocitation}{% + \@APAC@classic@citefalse + \@APAC@natbib@emufalse + \@APAC@natbib@apafalse + \@APAC@classic@or@emufalse + \@APAC@any@natbibfalse + \@APAC@anycitationfalse +} +\newif\if@APAC@mask +\DeclareOption{mask}{\@APAC@masktrue} +\DeclareOption{unmask}{\@APAC@maskfalse} +%% ^^A \cmd{\if} somehow gives an error +\newif\if@numberedbib +\DeclareOption{numberedbib}{\@numberedbibtrue} +\DeclareOption{unnumberedbib}{\@numberedbibfalse} +\newif\if@sectionbib +\newif\if@sectionbibdefault +\@sectionbibfalse +\@sectionbibdefaulttrue +\DeclareOption{sectionbib}{% + \@sectionbibdefaultfalse + \@sectionbibtrue +} +\DeclareOption{nosectionbib}{% + \@sectionbibdefaultfalse + \@sectionbibfalse +} +\newif\if@tocbib +\DeclareOption{tocbib}{\@tocbibtrue} +\DeclareOption{notocbib}{\@tocbibfalse} +\DeclareOption{bibnewpage}{\def\@bibnewpage{\bibnewpage}} +\DeclareOption{nobibnewpage}{\let\@bibnewpage\relax} +\newif\if@doi +\DeclareOption{doi}{\@doitrue} +\DeclareOption{nodoi}{\@doifalse} +%% ^^A \cmd{\if} somehow gives an error +\newif\if@APAC@index +\DeclareOption{noindex}{\@APAC@indexfalse}% +\DeclareOption{index}{\@APAC@indextrue}% +%% ^^A \cmd{\if} somehow gives an error +\newif\if@APAC@include@corporate +\DeclareOption{includecorporate}{\@APAC@include@corporatetrue}% +\DeclareOption{suppresscorporate}{\@APAC@include@corporatefalse}% +\newif\if@APAC@index@package +\DeclareOption{indexpackage}{\@APAC@index@packagetrue}% +\DeclareOption{noindexpackage}{\@APAC@index@packagefalse}% +\DeclareOption{stdindex}{% + \ExecuteOptions{index}% Request author index + \ExecuteOptions{indexpackage}% This option requires the index package + \AtEndOfPackage{\APACstdindex}% index environment as in index package +}% +\DeclareOption{tocindex}{% + \ExecuteOptions{index}% Request author index + \ExecuteOptions{indexpackage}% This option requires the index package + \AtEndOfPackage{\APACtocindex}% index environment as in index package + %% with toc entry added +}% +\DeclareOption{emindex}{% + \ExecuteOptions{index}% Request author index + \ExecuteOptions{indexpackage}% This option requires the index package + \AtEndOfPackage{\APACemindex}% EM's index environment (see below) +}% +\DeclareOption{ltxemindex}{% + \ExecuteOptions{index}% Request author index + \ExecuteOptions{noindexpackage}% Don't use the index package + \AtEndOfPackage{\APACltxemindex}% EM's index environment without the index + %% package (see below) +} +\DeclareOption{hyper}{% + \PackageWarningNoLine{apacite}{Obsolete option `hyper' ignored}% +} +\DeclareOption{nohyper}{% + \PackageWarningNoLine{apacite}{Obsolete option `nohyper' ignored}% +} +\DeclareOption{accentfix}{% + \PackageWarningNoLine{apacite}{Obsolete option `accentfix' ignored}% +} +\DeclareOption{noaccentfix}{% + \PackageWarningNoLine{apacite}{Obsolete option `noaccentfix' ignored}% +} +\ExecuteOptions{apaciteclassic,noindex,indexpackage,unnumberedbib,tocbib,% + nobibnewpage,suppresscorporate,doi,unmask} +\ProcessOptions +\AtBeginDocument{% + \@ifundefined{citeauthoryear}{\def\citeauthoryear#1#2#3{}}{}% +} +\AtBeginDocument{% + \@ifundefined{themaskedRefs}{\newcounter{maskedRefs}}{}} +\newif\if@F@cite\@F@citetrue +\newif\if@A@cite\@A@citefalse +\newif\if@Y@cite\@Y@citefalse +\if@APAC@classic@or@emu +\def\nocite#1{% + \@bsphack + \ifx\@onlypreamble\document + \@for\@citeb:=#1\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw + \immediate\write\@newciteauxhandle{\string\citation{\@citeb}}% + \fi + \@ifundefined{b@\@citeb\APAC@extra@b@citeb}{% + \edef\B@my@dummy{*}% + \ifx\@citeb\B@my@dummy + \else + \G@refundefinedtrue + \@latex@warning{Citation `\@citeb' undefined}% + \fi + }{}% + }% + \else + \AtBeginDocument{\nocite{#1}}% + \fi + \@esphack + \@restore@auxhandle +} +\global\def\B@my@dummy{*}% +\def\@ifauthorsequalc@de#1{% + \if@F@cite + \@F@citefalse + \else + \if@Y@cite + {\@BBY}% + \fi + \fi + \if@Y@cite + \hyper@natlinkstart{#1}% + {\csname Y@\@citeb\APAC@extra@b@citeb\endcsname}% + \hyper@natlinkend + \fi +} +\def\@ifauthorsunequalc@de#1{% + \if@F@cite + \@F@citefalse + \else + \if@Y@cite + {\@BAY}% + \fi + {\@BBC}% + \fi + \edef\@cite@undefined{?}% + \def\BBA{\@BBA}% + \if@A@cite + \hyper@natlinkstart{#1}% + {\csname b@\@citeb\APAC@extra@b@citeb\endcsname}% + \hyper@natlinkend + \if@Y@cite + {\@BBAY}% + \fi + \fi + \if@Y@cite + \hyper@natlinkstart{#1}% + {\csname Y@\@citeb\APAC@extra@b@citeb\endcsname}% + \hyper@natlinkend + \fi + \let\BBA\relax +} +\fi +\if@APAC@classic@cite +\def\cite{% + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + \def\@BBOP{\BBOP}% % open parenthesis + \def\@BBCP{\BBCP}% % close parenthesis + \@ifnextchar<% % > + {\@cite}% + {\@cite<>}% +} +\def\fullcite{% + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + \def\@BBOP{\BBOP}% % open parenthesis + \def\@BBCP{\BBCP}% % close parenthesis + \@ifnextchar<% % > + {\@cite}% + {\@cite<>}% +} +\def\shortcite{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \def\@BBOP{\BBOP}% % open parenthesis + \def\@BBCP{\BBCP}% % close parenthesis + \@ifnextchar<% % > + {\@cite}% + {\@cite<>}% +} +\def\citeNP{% + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + \def\@BBOP{}% % open parenthesis + \def\@BBCP{}% % close parenthesis + \@ifnextchar<%% > + {\@cite}% + {\@cite<>}% +} +\def\fullciteNP{% + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + \def\@BBOP{}% % open parenthesis + \def\@BBCP{}% % close parenthesis + \@ifnextchar<%% > + {\@cite}% + {\@cite<>}% +} +\def\shortciteNP{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \def\@BBOP{}% % open parenthesis + \def\@BBCP{}% % close parenthesis + \@ifnextchar<%% > + {\@cite}% + {\@cite<>}% +} +\def\@cite<#1>{% + \def\@BAP{\BAP}% % after precitation [=#1] before first citation + \def\@BBA{\BBAA}% % `and' between authors + \def\@BBAY{\BBAY}% % between author and year + \def\@BAY{}% % after year + \def\@BBY{\BBYY}% % between years of multiple citations with same author + \def\@BBC{\BBC}% % between cites + \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] + \def\@BAstyle{\BAstyle}% text style of authors + \@A@citetrue% % cite authors + \@Y@citetrue% % cite years + \@ifnextchar[% % ] + {\@@cite<#1>}% + {\@@cite<#1>[]}% +} +\def\citeA{% + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + \@ifnextchar<% %> + {\@citeA}% + {\@citeA<>}% +} +\def\fullciteA{% + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + \@ifnextchar<% %> + {\@citeA}% + {\@citeA<>}% +} +\def\shortciteA{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \@ifnextchar<% %> + {\@citeA}% + {\@citeA<>}% +} +\def\@citeA<#1>{% + \def\@BBOP{}% % open parenthesis. + \def\@BAP{\BAP}% % after precitation [=#1] before first citation + \def\@BBA{\BBAB}% % `and' between authors + \def\@BBAY{ \BBOP}%% between author and year + \def\@BAY{\BBCP}% % after year + \def\@BBY{\BBYY}% % between years of multiple citations with same author + \def\@BBC{\BBC}% % between cites + \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] + \def\@BBCP{}% % close parenthesis + \def\@BAstyle{\BAstyle}% text style of authors + \@A@citetrue% % cite authors + \@Y@citetrue% % cite years + \@ifnextchar[% % ] + {\@@cite<#1>}% + {\@@cite<#1>[]}% +} +\def\citeauthor{% + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + \@ifnextchar<% %> + {\@citeauthor}% + {\@citeauthor<>}% +} +\def\fullciteauthor{% + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + \@ifnextchar<% %> + {\@citeauthor}% + {\@citeauthor<>}% +} +\def\shortciteauthor{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \@ifnextchar<% %> + {\@citeauthor}% + {\@citeauthor<>}% +} +\def\citeauthorNP{% + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + \@ifnextchar<% %> + {\@citeauthorNP}% + {\@citeauthorNP<>}% +} +\def\fullciteauthorA{% + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + \@ifnextchar<% %> + {\@citeauthorNP}% + {\@citeauthorNP<>}% +} +\def\shortciteauthorA{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \@ifnextchar<% %> + {\@citeauthorNP}% + {\@citeauthorNP<>}% +} +\def\@citeauthor<#1>{% + \def\@BBOP{}% % open parenthesis + \def\@BAP{\BAP}% % after precitation [=#1] before first citation + \def\@BBA{\BBAB}% % `and' between authors + \def\@BBAY{}% % between author and year + \def\@BAY{}% % after year + \def\@BBY{}% % between years of multiple citations with same author + \def\@BBC{\BBC}% % between cites + \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] + \def\@BBCP{}% % close parenthesis + \def\@BAstyle{\BAastyle}% text style of authors + \@A@citetrue% % cite authors + \@Y@citefalse% % do not cite years + \@ifnextchar[% % ] + {\@@cite<#1>}% + {\@@cite<#1>[]}% +} +\def\@citeauthorNP<#1>{% + \def\@BBOP{}% % open parenthesis + \def\@BAP{\BAP}% % after precitation [=#1] before first citation + \def\@BBA{\BBAA}% % `and' between authors + \def\@BBAY{}% % between author and year + \def\@BAY{}% % after year + \def\@BBY{}% % between years of multiple citations with same author + \def\@BBC{\BBC}% % between cites + \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] + \def\@BBCP{}% % close parenthesis + \def\@BAstyle{\BAastyle}% text style of authors + \@A@citetrue% % cite authors + \@Y@citefalse% % do not cite years + \@ifnextchar[% % ] + {\@@cite<#1>}% + {\@@cite<#1>[]}% +} +\def\citeyear{% + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + \def\@BBOP{\BBOP}% % open parenthesis + \def\@BBCP{\BBCP}% % close parenthesis + \@ifnextchar<% % > + {\@citeyear}% + {\@citeyear<>}% +} +\def\citeyearNP{% + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + \def\@BBOP{}% % open parenthesis + \def\@BBCP{}% % close parenthesis + \@ifnextchar<% % > + {\@citeyear}% + {\@citeyear<>}% +} +\def\@citeyear<#1>{% + \def\@BAP{\BAP}% % after precitation [=#1] before first citation + \def\@BBA{}% % `and' between authors + \def\@BBAY{}% % between author and year + \def\@BAY{}% % after year + \def\@BBY{\BBYY}% % between years of multiple citations with same author + \def\@BBC{\BBC}% % between cites + \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] + \def\@BAstyle{}% % text style of authors + \@A@citefalse% % do not cite authors + \@Y@citetrue% % cite years + \@ifnextchar[% % ] + {\@@cite<#1>}% + {\@@cite<#1>[]}% +} +\def\@@cite<#1>[#2]#3{% + \nocite{#3}% + \edef\@citeP{}% + \mbox{\@BBOP}% + \ifx\@empty#1\@empty + \else% + {\ignorespaces #1\@BAP}% + \fi% + \@for\@citeb:=#3\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \back@cite{\@citeb}% + \@ifundefined{b@\@citeb\APAC@extra@b@citeb}% + {\expandafter\def\csname b@\@citeb\APAC@extra@b@citeb\endcsname{?}% + \expandafter\def\csname Y@\@citeb\APAC@extra@b@citeb\endcsname{?}% + %% The following is now handled by \nocite + %% \G@refundefinedtrue + %% \@latex@warning{Citation `\@citeb' undefined}% + }%% + {\@ifundefined{flag@\@citeb\APAC@extra@b@citeb}% + {\global\expandafter + \def\csname flag@\@citeb\APAC@extra@b@citeb\endcsname{DUMMY}% + \def\BCA##1##2{{\@BAstyle ##1}}% + }% + {\def\BCA##1##2{{\@BAstyle ##2}}% + }% + }% + \protected@edef\B@my@dummy{\csname + b@\@citeb\APAC@extra@b@citeb\endcsname}% + \ifx\@citeP\B@my@dummy + \@ifauthorsequalc@de{\@citeb\APAC@extra@b@citeb}% + \else + \@ifauthorsunequalc@de{\@citeb\APAC@extra@b@citeb}% + \fi + \protected@edef\@citeP{\csname b@\@citeb\APAC@extra@b@citeb\endcsname}% + \let\BCA\relax + }%% + \ifx\@empty#2\@empty + \else% + {\@BBN #2}% + \fi% + \if@Y@cite% + {\@BAY}% + \fi% + {\@BBCP}% + \@F@citetrue % +} +\newcommand{\maskcitations}{% + \def\masknocite##1{}% + \def\maskcite{% + \@ifnextchar<% % > + {\mask@cite}% + {\mask@cite<>}% + }% + \def\mask@cite<##1>{% + \@ifnextchar[% % ] + {\mask@@cite<##1>}% + {\mask@@cite<##1>[]}% + }% + \def\mask@@cite<##1>[##2]##3{% + \relax + \setcounter{maskedRefs}{0}% + \@for\@citeb:=##3\do{% + \addtocounter{maskedRefs}{1}% + }% + \ifnum\value{maskedRefs} = 1% + \onemaskedcitationmsg{\themaskedRefs}% + \else + \maskedcitationsmsg{\themaskedRefs}% + \fi + }% + \let\maskfullcite\maskcite + \let\maskshortcite\maskcite + \let\maskciteNP\maskcite + \let\maskfullciteNP\maskciteNP + \let\maskshortciteNP\maskciteNP + \let\maskciteA\maskcite + \let\maskfullciteA\maskciteA + \let\maskshortciteA\maskciteA + \let\maskciteauthor\maskcite + \let\maskfullciteauthor\maskciteauthor + \let\maskshortciteauthor\maskciteauthor + \let\maskciteauthorNP\maskciteauthor + \let\maskfullciteauthorNP\maskciteauthorNP + \let\maskshortciteauthorNP\maskciteauthorNP + \let\maskciteyear\maskcite + \let\maskciteyearNP\maskciteyear + \DeclareRobustCommand{\masktext}[2][]{##1}% +} +\newcommand{\unmaskcitations}{% + \let\masknocite\nocite + \let\maskcite\cite + \let\maskfullcite\fullcite + \let\maskshortcite\shortcite + \let\maskciteNP\citeNP + \let\maskfullciteNP\fullciteNP + \let\maskshortciteNP\shortciteNP + \let\maskciteA\citeA + \let\maskfullciteA\fullciteA + \let\maskshortciteA\shortciteA + \let\maskciteauthor\citeauthor + \let\maskfullciteauthor\fullciteauthor + \let\maskshortciteauthor\shortciteauthor + \let\maskciteauthorNP\citeauthorNP + \let\maskfullciteauthorNP\fullciteauthorNP + \let\maskshortciteauthorNP\shortciteauthorNP + \let\maskciteyear\citeyear + \let\maskciteyearNP\citeyearNP + \DeclareRobustCommand{\masktext}[2][]{##2} +} +\fi +\newif\if@APAC@alias@cite +\@APAC@alias@citefalse +\if@APAC@natbib@emu +\DeclareRobustCommand\citep{% + \@ifstar{% full cite + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + }{% else + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + }% + \def\@BBOP{\BBOP}% % open parenthesis + \def\@BBCP{\BBCP}% % close parenthesis + \@ifnextchar[% % ] + {\APACNAT@citep}% + {\APACNAT@citep[]}% +} +\DeclareRobustCommand\shortcitep{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \def\@BBOP{\BBOP}% % open parenthesis + \def\@BBCP{\BBCP}% % close parenthesis + \@ifnextchar[% % ] + {\APACNAT@citep}% + {\APACNAT@citep[]}% +} +\DeclareRobustCommand\citealp{% + \@ifstar{% full cite + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + }{% else + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + }% + \def\@BBOP{}% % open parenthesis + \def\@BBCP{}% % close parenthesis + \@ifnextchar[%% ] + {\APACNAT@citep}% + {\APACNAT@citep[]}% +} +\DeclareRobustCommand\shortcitealp{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \def\@BBOP{}% % open parenthesis + \def\@BBCP{}% % close parenthesis + \@ifnextchar[%% ] + {\APACNAT@citep}% + {\APACNAT@citep[]}% +} +\newcommand\APACNAT@citep{} +\def\APACNAT@citep[#1]{% + \def\@BAP{\BAP}% % after precitation [=#1] before first citation + \def\@BBA{\BBAA}% % `and' between authors + \def\@BBAY{\BBAY}% % between author and year + \def\@BAY{}% % after year + \def\@BBY{\BBYY}% % between years of multiple citations with same author + \def\@BBC{\BBC}% % between cites + \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] + \def\@BAstyle{\BAstyle}% text style of authors + \@A@citetrue% % cite authors + \@Y@citetrue% % cite years + \@ifnextchar[% % ] + {\@citex[#1]}% + {\@citex[][#1]}% +} +\DeclareRobustCommand\citet{% + \@ifstar{% + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + }{% else + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + }% + \def\@BBAY{ \BBOP}%% between author and year + \@ifnextchar[% %] + {\APACNAT@citet}% + {\APACNAT@citet[]}% +} +\DeclareRobustCommand\shortcitet{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \def\@BBAY{ \BBOP}%% between author and year + \@ifnextchar[% %] + {\APACNAT@citet}% + {\APACNAT@citet[]}% +} +\DeclareRobustCommand\citealt{% + \@ifstar{% full cite + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + }{% else + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + }% + \def\@BBOP{}% % open parenthesis + \def\@BBCP{}% % close parenthesis + \def\@BBAY{ }%% between author and year + \@ifnextchar[%% ] + {\APACNAT@citet}% + {\APACNAT@citet[]}% +} +\DeclareRobustCommand\shortcitealt{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \def\@BBOP{}% % open parenthesis + \def\@BBCP{}% % close parenthesis + \def\@BBAY{ }%% between author and year + \@ifnextchar[%% ] + {\APACNAT@citet}% + {\APACNAT@citet[]}% +} +\newcommand\APACNAT@citet{} +\def\APACNAT@citet[#1]{% + \def\@BBOP{}% % open parenthesis. + \def\@BAP{\BAP}% % after precitation [=#1] before first citation + \def\@BBA{\BBAB}% % `and' between authors +%% \def\@BBAY{ \BBOP}%% between author and year + \def\@BAY{\BBCP}% % after year + \def\@BBY{\BBYY}% % between years of multiple citations with same author + \def\@BBC{\BBC}% % between cites + \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] + \def\@BBCP{}% % close parenthesis + \def\@BAstyle{\BAstyle}% text style of authors + \@A@citetrue% % cite authors + \@Y@citetrue% % cite years + \@ifnextchar[% % ] + {\@citex[#1]}% + {\@citex[][#1]}% +} +\DeclareRobustCommand\citeauthort{% + \@ifstar{% + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + }{% else + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + }% + \@ifnextchar[% %] + {\APACNAT@citeauthort}% + {\APACNAT@citeauthort[]}% +} +\DeclareRobustCommand\shortciteauthort{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \@ifnextchar[% %] + {\APACNAT@citeauthort}% + {\APACNAT@citeauthort[]}% +} +\DeclareRobustCommand\citeauthorp{% + \@ifstar{% + \def\BCAY##1##2##3{\BCA{##1}{##1}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##1}}% + }{% else + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + }% + \@ifnextchar[% %] + {\APACNAT@citeauthorp}% + {\APACNAT@citeauthorp[]}% +} +\DeclareRobustCommand\shortciteauthorp{% + \def\BCAY##1##2##3{\BCA{##2}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##2}{##2}}% + \@ifnextchar[% %] + {\APACNAT@citeauthorp}% + {\APACNAT@citeauthorp[]}% +} +\DeclareRobustCommand\citeauthor{\citeauthort} +\DeclareRobustCommand\citefullauthor{\citeauthort*} +\DeclareRobustCommand\shortciteauthor{\shortciteauthort} +\newcommand\APACNAT@citeauthort{} +\def\APACNAT@citeauthort[#1]{% + \def\@BBOP{}% % open parenthesis + \def\@BAP{\BAP}% % after precitation [=#1] before first citation + \def\@BBA{\BBAB}% % `and' between authors + \def\@BBAY{}% % between author and year + \def\@BAY{}% % after year + \def\@BBY{}% % between years of multiple citations with same author + \def\@BBC{\BBC}% % between cites + \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] + \def\@BBCP{}% % close parenthesis + \def\@BAstyle{\BAastyle}% text style of authors + \@A@citetrue% % cite authors + \@Y@citefalse% % do not cite years + \@ifnextchar[% % ] + {\@citex[#1]}% + {\@citex[][#1]}% +} +\newcommand\APACNAT@citeauthorp{} +\def\APACNAT@citep[#1]{% + \def\@BBOP{}% % open parenthesis + \def\@BAP{\BAP}% % after precitation [=#1] before first citation + \def\@BBA{\BBAA}% % `and' between authors + \def\@BBAY{}% % between author and year + \def\@BAY{}% % after year + \def\@BBY{}% % between years of multiple citations with same author + \def\@BBC{\BBC}% % between cites + \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] + \def\@BBCP{}% % close parenthesis + \def\@BAstyle{\BAastyle}% text style of authors + \@A@citetrue% % cite authors + \@Y@citefalse% % do not cite years + \@ifnextchar[% % ] + {\@citex[#1]}% + {\@citex[][#1]}% +} +\DeclareRobustCommand\citeyearpar{% + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + \def\@BBOP{\BBOP}% % open parenthesis + \def\@BBCP{\BBCP}% % close parenthesis + \@ifnextchar[% % ] + {\APACNAT@citeyear}% + {\APACNAT@citeyear[]}% +} +\DeclareRobustCommand\citeyear{% + \def\BCAY##1##2##3{\BCA{##1}{##2}}% kept for compat. with prev. versions + \def\citeauthoryear##1##2##3{\BCA{##1}{##2}}% + \def\@BBOP{}% % open parenthesis + \def\@BBCP{}% % close parenthesis + \@ifnextchar[% % ] + {\APACNAT@citeyear}% + {\APACNAT@citeyear[]}% +} +\newcommand\APACNAT@citeyear{} +\def\APACNAT@citeyear[#1]{% + \def\@BAP{\BAP}% % after precitation [=#1] before first citation + \def\@BBA{}% % `and' between authors + \def\@BBAY{}% % between author and year + \def\@BAY{}% % after year + \def\@BBY{\BBYY}% % between years of multiple citations with same author + \def\@BBC{\BBC}% % between cites + \def\@BBN{\BBN}% % after last citation before note/postcitation [=#2] + \def\@BAstyle{}% % text style of authors + \@A@citefalse% % do not cite authors + \@Y@citetrue% % cite years + \@ifnextchar[% % ] + {\@citex[#1]}% + {\@citex[][#1]}% +} +\newcommand\APACNAT@citex{} +\def\APACNAT@citex[#1][#2]#3{% + \nocite{#3}% + \edef\@citeP{}% + \mbox{\@BBOP}% + \ifx\@empty#1\@empty + \else% + {\ignorespaces #1\@BAP}% + \fi% + \@for\@citeb:=#3\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \back@cite{\@citeb}% + \if@APAC@alias@cite + \@ifundefined{al@\@citeb\APAC@extra@b@citeb}% + {\PackageWarning{apacite}{Undefined alias for citation \@citeb} + \expandafter\def\csname al@\@citeb\APAC@extra@b@citeb\endcsname{?}% + }{}% + \@Y@citefalse % do not cite years + \def\BCA##1##2{{\@BAstyle \csname + al@\@citeb\APAC@extra@b@citeb\endcsname}}% + \@ifauthorsunequalc@de{\@citeb\APAC@extra@b@citeb}% + \else + \@ifundefined{b@\@citeb\APAC@extra@b@citeb}% + {\expandafter\def\csname b@\@citeb\APAC@extra@b@citeb\endcsname{?}% + \expandafter\def\csname Y@\@citeb\APAC@extra@b@citeb\endcsname{?}% + }% + {\@ifundefined{flag@\@citeb\APAC@extra@b@citeb}% + {\global\expandafter + \def\csname flag@\@citeb\APAC@extra@b@citeb\endcsname{DUMMY}% + \def\BCA##1##2{{\@BAstyle ##1}}% + }% + {\def\BCA##1##2{{\@BAstyle ##2}}% + }% + }% + \protected@edef\B@my@dummy{\csname + b@\@citeb\APAC@extra@b@citeb\endcsname}% + \ifx\@citeP\B@my@dummy + \@ifauthorsequalc@de{\@citeb\APAC@extra@b@citeb}% + \else + \@ifauthorsunequalc@de{\@citeb\APAC@extra@b@citeb}% + \fi + \protected@edef\@citeP{\csname + b@\@citeb\APAC@extra@b@citeb\endcsname}% + \let\BCA\relax + \fi + }% + \ifx\@empty#2\@empty + \else% + {\@BBN #2}% + \fi% + \if@Y@cite% + {\@BAY}% + \fi% + {\@BBCP}% + \@F@citetrue % +} +\newcommand\citetext[1]{\mbox{}\BBOP{}#1\BBCP} +\let\@citex\APACNAT@citex +\DeclareRobustCommand\cite{% + \@ifstar{% + \@ifnextchar[% %] + {\citep*}% + {\citet*}% + }{% + \@ifnextchar[% %] + {\citep}% + {\citet}% + }% +} +\DeclareRobustCommand\Citet{\citet} +\DeclareRobustCommand\Citep{\citep} +\DeclareRobustCommand\Citealt{\citealt} +\DeclareRobustCommand\Citealp{\citealp} +\DeclareRobustCommand\Citeauthort{\citeauthort} +\DeclareRobustCommand\Citeauthorp{\citeauthorp} +\DeclareRobustCommand\Citeauthor{\citeauthor} +\DeclareRobustCommand\Citefullauthor{\citefullauthor} +\DeclareRobustCommand\Cite{\cite} +\DeclareRobustCommand\shortCitet{\shortcitet} +\DeclareRobustCommand\shortCitep{\shortcitep} +\DeclareRobustCommand\shortCitealt{\shortcitealt} +\DeclareRobustCommand\shortCitealp{\shortcitealp} +\DeclareRobustCommand\shortCiteauthort{\shortciteauthort} +\DeclareRobustCommand\shortCiteauthorp{\shortciteauthorp} +\DeclareRobustCommand\shortCiteauthor{\shortciteauthor} +\newcommand\shortcites[1]{% + \@bsphack + \@for\@citeb:=#1\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \global\expandafter + \def\csname flag@\@citeb\APAC@extra@b@citeb\endcsname{DUMMY}% + }% + \@esphack +} +\newcommand\defcitealias[2]{% + \@ifundefined{al@#1\APAC@extra@b@citeb}{} + {\PackageWarning{apacite}{Overwriting existing alias for citation #1}} + \@namedef{al@#1\APAC@extra@b@citeb}{#2}} +\DeclareRobustCommand\citetalias{% + \@APAC@alias@citetrue + \citet +} +\DeclareRobustCommand\citepalias{% + \@APAC@alias@citetrue + \citep +} +\newif\ifciteindex \citeindexfalse +\newcommand\citeindextype{default} +\let\citenumfont=\@empty +\newcommand\bibpunct[7][, ]% + {\gdef\BBOP{#2}\gdef\BBCP{#3}\gdef\BBC{#4}% + \gdef\BBAY{#6}\gdef\BBYY{#7}\gdef\BBN{#1}% + } +\newcommand\bibstyle@apacite{% + \bibpunct[, ]{(}{)}{; }{a}{, }{, }% + \setlength{\bibhang}{2.5em}% + \setlength{\bibsep}{0pt}% +} +\let\bibstyle@apa=\bibstyle@apacite +\newcommand\citestyle[1]{\csname bibstyle@#1\endcsname} +\newcommand\setcitestyle[1]{% + \@for\@tempa:=#1\do + {\def\@tempb{round}\ifx\@tempa\@tempb + \renewcommand\BBOP{(}\renewcommand\BBCP{)}\fi + \def\@tempb{square}\ifx\@tempa\@tempb + \renewcommand\BBOP{[}\renewcommand\BBCP{]}\fi + \def\@tempb{angle}\ifx\@tempa\@tempb + \renewcommand\BBOP{$<$}\renewcommand\BBCP{$>$}\fi + \def\@tempb{curly}\ifx\@tempa\@tempb + \renewcommand\BBOP{\{}\renewcommand\BBCP{\}}\fi + \def\@tempb{semicolon}\ifx\@tempa\@tempb + \renewcommand\BBC{; }\fi + \def\@tempb{colon}\ifx\@tempa\@tempb + \renewcommand\BBC{: }\fi + \def\@tempb{comma}\ifx\@tempa\@tempb + \renewcommand\BBC{, }\fi + \def\@tempb{authoryear}\ifx\@tempa\@tempb + \fi + \def\@tempb{numbers}\ifx\@tempa\@tempb + \fi + \def\@tempb{super}\ifx\@tempa\@tempb + \fi + \expandafter\APAC@find@eq\@tempa=\relax\@nil + \if\@tempc\relax\else + \expandafter\APAC@rem@eq\@tempc + \def\@tempb{open}\ifx\@tempa\@tempb + \xdef\BBOP{\@tempc}\fi + \def\@tempb{close}\ifx\@tempa\@tempb + \xdef\BBCP{\@tempc}\fi + \def\@tempb{aysep}\ifx\@tempa\@tempb + \xdef\BBAY{\@tempc}\fi + \def\@tempb{yysep}\ifx\@tempa\@tempb + \xdef\BBYY{\@tempc}\fi + \def\@tempb{notesep}\ifx\@tempa\@tempb + \xdef\BBN{\@tempc}\fi + \def\@tempb{citesep}\ifx\@tempa\@tempb + \xdef\BBC{\@tempc}\fi + \fi + }% +} +\def\APAC@find@eq#1=#2\@nil{\def\@tempa{#1}\def\@tempc{#2}} +\def\APAC@rem@eq#1={\def\@tempc{#1}} +\fi +\newcommand{\BBA@nat}{% + \ifNAT@swa + \BBAA + \else + \BBAB + \fi +} +\if@APAC@natbib@apa + \AtEndOfPackage{% + \if@sectionbibdefault + \RequirePackage[sort]{natbib} %longnamesfirst, % MDPI Modified + \else\if@sectionbib + \RequirePackage[sort,sectionbib]{natbib} %longnamesfirst, % MDPI Modified + \else + \RequirePackage[sort]{natbib} %longnamesfirst, % MDPI Modified + \fi\fi +\renewcommand\NAT@parse@date{} +\def\NAT@parse@date#1#2#3#4#5#6@@{% + \def\NAT@year{#1#2}\def\NAT@exlab{{#3}}} +\DeclareRobustCommand{\BBA}{\BBA@nat} +\let\orig@nat@@lbibitem\@lbibitem +\def\@lbibitem{\NAT@swatrue\orig@nat@@lbibitem} +\renewcommand\citetext[1]{\NAT@open\begingroup\NAT@swatrue + #1\endgroup\NAT@close} +\DeclareRobustCommand\citeauthort{\citeauthor} +\DeclareRobustCommand\Citeauthort{\Citeauthor} +\DeclareRobustCommand\citeauthorp + {\begingroup\NAT@swatrue\let\NAT@ctype\@ne\NAT@parfalse + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand\Citeauthorp + {\begingroup\NAT@swatrue\let\NAT@ctype\@ne\NAT@parfalse + \let\NAT@up\NAT@Up + \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} +\DeclareRobustCommand{\Citefullauthor}{\Citeauthor*} +\DeclareRobustCommand{\citefullauthort}{\citeauthort*} +\DeclareRobustCommand{\citefullauthorp}{\citeauthorp*} +\DeclareRobustCommand{\Citefullauthort}{\Citeauthort*} +\DeclareRobustCommand{\Citefullauthorp}{\Citeauthorp*} +\providecommand\bibstyle@apacite{% + \renewcommand{\BBAY}{,}% + \renewcommand{\BBC}{;}% + \renewcommand{\BBYY}{,}% + \bibpunct[\BBN ]{\BBOP }{\BBCP }{\BBC }{a}{\BBAY }{\BBYY }% + \setlength{\bibhang}{2.5em}% + \setlength{\bibsep}{0pt}% +} +\providecommand\bibstyle@apa{\bibstyle@apacite} +\citestyle{apacite} +}% end \cmd{\AtEndOfPackage} +\fi +\if@APAC@any@natbib +\newcommand{\maskcitations}{% + \def\masknocite##1{}% + \DeclareRobustCommand\maskcite{% + \@ifnextchar[% % ] + {\mask@cite}% + {\mask@cite[]}% + }% + \def\mask@cite[##1]{% + \@ifnextchar[% % ] + {\mask@@cite[##1]}% + {\mask@@cite[##1][]}% + }% + \def\mask@@cite[##1][##2]##3{% + \relax + \setcounter{maskedRefs}{0}% + \@for\@citeb:=##3\do{% + \addtocounter{maskedRefs}{1}% + }% + \ifnum\value{maskedRefs} = 1% + \onemaskedcitationmsg{\themaskedRefs}% + \else + \maskedcitationsmsg{\themaskedRefs}% + \fi + }% + \let\maskcitep\maskcite + \let\maskcitealp\maskcite + \let\maskcitet\maskcite + \let\maskcitealt\maskcite + \let\maskciteauthor\maskcite + \let\maskcitefullauthor\maskcite + \let\maskciteyearpar\maskcite + \let\maskciteyear\maskcite + \let\maskcitetalias\maskcite + \let\maskcitepalias\maskcite + \let\maskCitet\maskcite + \let\maskCitep\maskcite + \let\maskCitealt\maskcite + \let\maskCitealp\maskcite + \let\maskCiteauthor\maskcite + \let\maskcitenum\maskcite + \let\maskciteauthort\maskcite + \let\maskciteauthorp\maskcite + \let\maskCitefullauthor\maskcite + \let\maskCiteauthort\maskcite + \let\maskCiteauthorp\maskcite + \DeclareRobustCommand{\masktext}[2][]{##1}% +} +\newcommand{\unmaskcitations}{% + \let\masknocite\nocite + \let\maskcitep\citep + \let\maskcitealp\citealp + \let\maskcitet\citet + \let\maskcitealt\citealt + \let\maskciteauthor\citeauthor + \let\maskcitefullauthor\citefullauthor + \let\maskciteyearpar\citeyearpar + \let\maskciteyear\citeyear + \let\maskcite\cite + \let\maskcitetalias\citetalias + \let\maskcitepalias\citepalias + \let\maskCitet\Citet + \let\maskCitep\Citep + \let\maskCitealt\Citealt + \let\maskCitealp\Citealp + \let\maskCiteauthor\Citeauthor + \let\maskcitenum\citenum + \let\maskciteauthort\citeauthort + \let\maskciteauthorp\citeauthorp + \let\maskCitefullauthor\Citefullauthor + \let\maskCiteauthort\Citeauthort + \let\maskCiteauthorp\Citeauthorp + \DeclareRobustCommand{\masktext}[2][]{##2} +} +\fi +\if@APAC@anycitation + \AtEndOfPackage{% + \if@APAC@mask + \maskcitations + \else + \unmaskcitations + \fi + }% +\fi +\def\definemetaflag#1{% + \@bsphack + \expandafter\global\expandafter\def + \csname APAC@metaprenote@\APAC@extra@b@citeb\endcsname{% + \APACmetaprenote}% + \@for\@citeb:=#1\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \@ifundefined{flagmeta@\@citeb\APAC@extra@b@citeb}% + {\global\expandafter + \def\csname flagmeta@\@citeb\APAC@extra@b@citeb\endcsname{DUMMY}% + }% + {}% + }% + \@esphack +} +\def\nocitemeta#1{% + \nocite{#1}% + \@bsphack + \if@filesw + \@for\@citeb:=#1\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \immediate\write + \@newciteauxhandle{\string\definemetaflag{\@citeb}}% + }% + \fi + \@esphack + \@restore@auxhandle +} +\def\bibnewpage{\clearpage}% +\def\@biblabel#1{} +\def\@lbibitem[#1]#2{% + \def\BBA{\BBAA}% ``\&'' + \item[\hyper@natanchorstart{#2\APAC@extra@b@citeb}% + \@biblabel{#1}% + \hyper@natanchorend]% + \if@filesw{% + \def\BBA{\string\BBA}% + \let\protect\noexpand + \immediate\write\@newciteauxhandle{\string\bibcite{#2}{#1}}% + \immediate\write\@newciteauxhandle{\string\APACbibcite{#2}{#1}}% + \def\BBA{\BBAA}% + }% + \fi + \ignorespaces +} +\def\APACbibcite#1#2{% + \global\expandafter + \def\csname b@#1\APAC@extra@binfo\endcsname{#2}% names + \global\expandafter + \def\csname Y@#1\APAC@extra@binfo\endcsname{\@year@#2}% year +} +\let\bibcite\APACbibcite +\def\st@rtbibsection{% + \@bibnewpage% start a new page if desired + \if@numberedbib% + \section{\refname}% e.g., 6. References + \else% + \section*{\refname}% e.g., References + \if@tocbib% + \addcontentsline{toc}{section}{\refname}% + \fi% + \@ifundefined{chapter} + {\@mkboth{{\refname}}{{\refname}}}% + {\markright{{\refname}}}% + \fi% +}% +\def\st@rtbibchapter{% + \if@numberedbib% + \chapter{\bibname}% e.g., 6. References + \else% + \chapter*{\bibname}% e.g., References + \if@tocbib% + \addcontentsline{toc}{chapter}{\bibname}% + \fi% + \@mkboth{{\bibname}}{{\bibname}}% + \fi% +}% +\def\thebibliography#1{% + \@ifundefined{chapter}% + {\st@rtbibsection}% + {\if@sectionbibdefault + {\@ifundefined{@mainmatterfalse}% + {\st@rtbibchapter}% + {\if@mainmatter + \st@rtbibsection + \else + \st@rtbibchapter + \fi + }% + }% + \else + \if@sectionbib + \st@rtbibsection + \else + \st@rtbibchapter + \fi + \fi + }% + \bibliographytypesize % e.g., to put the bibliography in \small type + \bibliographyprenote % some explanatory note before the references + \@ifundefined{APAC@metaprenote@\APAC@extra@b@citeb}% + {}% skip + {\csname APAC@metaprenote@\APAC@extra@b@citeb\endcsname}% + \list{\relax}{\labelsep=\biblabelsep + \parsep=\bibparsep + \itemsep=\bibitemsep + \leftmargin=\bibleftmargin + \itemindent=\bibindent}% changed to cope with 4th ed. + \def\newblock{\hskip .11em plus .33em minus .07em}% + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax %' + \bt@beg@thb@hook + \APACrestorebibitem +} +\def\endthebibliography{% + \bt@end@thb@hook + \def\@noitemerr{% + \@latex@warning{Empty `thebibliography' environment}% + }% + \endlist\normalsize +} +\def\@connect@with@commas#1{% + \def\@comma@space{\unskip, }% + \let\@connect@string\relax + \@for\@element@:=#1\do{% + \ifx\@empty\@element@% + \else + \@connect@string\@element@% + \let\@connect@string\@comma@space + \fi + }% + \let\@connect@string\@undefined + \let\@comma@space\@undefined +} +\newcommand{\APACmetastar}{\ensuremath{{}^\ast}} +\def\APACinsertmetastar#1{% + \@for\@citeb:=#1\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \@ifundefined{flagmeta@\@citeb\APAC@extra@b@citeb}% + {}% skip + {{\APACmetastar}}% + }% +} +\newenvironment{APACrefauthors}{% + \begingroup \APACrefauthstyle +}{\endgroup } +\newcommand{\APACrefYear}[1]{% + {\BBOP}{#1}{\BBCP}% +} +\newcommand{\APACrefatitle}[2]{#2} +\newcommand{\APACrefbtitle}[2]{\Bem{#2}} +\newcommand{\APACrefaetitle}[2]{[#2]} +\newcommand{\APACrefbetitle}[2]{[#2]} +\newcommand{\APACjournalVolNumPages}[4]{% + \Bem{#1}% journal + \ifx\@empty#2\@empty + \else + \unskip, \Bem{#2}% volume + \fi + \ifx\@empty#3\@empty + \else + \unskip({#3})% issue number + \fi + \ifx\@empty#4\@empty + \else + \unskip, {#4}% pages + \fi +} +\DeclareRobustCommand{\APACaddressPublisher}[2]{% + \ifx\@empty#1\@empty + \ifx\@empty#2\@empty + \else + {#2}% publisher + \fi + \else + {#1}% address + \ifx\@empty#2\@empty + \else + \unskip: {#2}% publisher + \fi + \fi +} +\let\APACaddressInstitution\APACaddressPublisher +\DeclareRobustCommand{\APACaddressSchool}[2]{% + \ifx\@empty#2\@empty + \ifx\@empty#1\@empty + \else + {#1}% address + \fi + \else + {#2}% school + \ifx\@empty#1\@empty + \else + \unskip, {#1}% address + \fi + \fi +} +\DeclareRobustCommand{\APACtypeAddressSchool}[3]{% + \ifx\@empty#1\@empty + \ifx\@empty#3\@empty + \ifx\@empty#2\@empty + \else + ({#2})% address + \fi + \else + ({#3}% school + \ifx\@empty#2\@empty + \else + \unskip, {#2}% address + \fi + )% + \fi + \else + ({#1}% type + \ifx\@empty#3\@empty + \ifx\@empty#2\@empty + \else + \unskip, {#2}% address + \fi + \else + \unskip, {#3}% school + \ifx\@empty#2\@empty + \else + \unskip, {#2}% address + \fi + \fi + )% + \fi +} +\newcommand{\APACaddressPublisherEqAuth}[2]{% + \ifx\@empty#1\@empty + {\BAuthor{}}% Publisher formatted as ``Author'' + \else + {#1\unskip: \BAuthor{}}% Address: Author + \fi +} +\let\APACaddressInstitutionEqAuth\APACaddressPublisherEqAuth +\let\APAChowpublished\relax +\newenvironment{APACrefURL}[1][]{% + \ifx\@empty#1\@empty + \BRetrievedFrom % Available online: + \else + \BRetrieved{#1}% Retrieved , from + \fi +}{} +\newenvironment{APACrefDOI}{% + \global\let\old@doi\doi + \if@doi + \doiprefix + \else + \global\let\doi\@gobble + \fi + }{\global\let\doi\old@doi } +\newenvironment{APACrefURLmsg}{% + \BMsgPostedTo +}{} +\newcommand{\APACorigED}[1]{% + \ifx\@empty#1\@empty + \else + \Bby\ {#1}, \BED{}% ``by E. D. Itor (Ed.)'' + \fi +} +\newcommand{\APACorigEDS}[1]{% + \ifx\@empty#1\@empty + \else + \Bby\ {#1}, \BEDS{}% ``by E. D. Itor \& A. N. Other (Eds.)'' + \fi +} +\newcommand{\APACbVolEdTR}[2]{% + \ifx\@empty#1\@empty + \ifx\@empty#2\@empty + \else + {(#2)}% (Technical Report No.\ ) + \fi + \else + ({#1}% (2nd ed., Vol.~1 + \ifx\@empty#2\@empty + \else + \unskip; {#2}% ; Technical Report No.\ + \fi + )% Final parenthesis. + \fi +} +\newcommand{\APACbVolEdTRpgs}[3]{% + \ifx\@empty#1\@empty + \ifx\@empty#2\@empty + \ifx\@empty#3\@empty + \else + {(#3)}%% (pp. 10--30) + \fi + \else + %% (Technical Report No.\ , pp. 10--30) + (\@connect@with@commas{{#2},{#3}})% + \fi + \else + ({#1}% (2nd ed., Vol.~1 + \ifx\@empty#2\@empty + \ifx\@empty#3\@empty + \else + \unskip; {#3}% ; pp. 10--30 + \fi + \else + %% ; Technical Report No.\ , pp. 10--30 + \unskip; \@connect@with@commas{{#2},{#3}}% + \fi + )% Final parenthesis. + \fi +} +\newcommand{\APACrefnote}[1]{% + \ifx\@empty#1\@empty + \else + ({#1})% + \fi +} +\newcommand{\APACorigyearnote}[2]{% + \ifx\@empty#1\@empty + \APACrefnote{#2}% + \else + \ifx\bibnodate#1\@empty + \APACrefnote{#2}% + \else + (\BOWP{} {#1}% + \ifx\@empty#2\@empty + \else + \unskip; {#2}% + \fi + )% + \fi + \fi +} +\newcommand{\APACorigjournalnote}[6]{% + (\BREPR{} % ``(Reprinted from '' (note the space) + \Bem{#2}% Journal (should not be empty) + \ifx\@empty#1\@empty + \else + \unskip, {#1}% , year + \fi + \ifx\@empty#3\@empty + \else + \unskip, \Bem{#3}% , volume + \fi + \ifx\@empty#4\@empty + \else + \unskip{[#4]}% [issue number] + \fi + \ifx\@empty#5\@empty + \else + \unskip, {#5}% , pages + \fi + \ifx\@empty#6\@empty + \else + \unskip; {#6}% ; note + \fi + )% Final parenthesis +} +\newcommand{\APACorigbooknote}[9]{% + %% ``(Reprinted from '' (note the space) + (\BREPR{} % + %% Title, edition, volume, pages, editor, year, address: publisher + \@connect@with@commas{% + {#3},{#4},{#5},{#6},{#2},{#1},{\APACaddressPublisher{#7}{#8}}% + }%% + \ifx\@empty#9\@empty + \else + ; #9%% ; note + \fi + )% Final parenthesis. +} +\newenvironment{APACrefannotation}{% + \begin{quotation}\noindent\ignorespaces +}{\end{quotation}} +\newcommand{\BAstyle}{}% +\newcommand{\BAastyle}{}% +\newcommand{\APACrefauthstyle}{}% +\newcommand{\APACciteatitle}[1]{``#1''} +\newcommand{\APACcitebtitle}[1]{{\em #1\/}} +\newcommand{\APACyear}[1]{{#1}}% +\newcommand{\APACexlab}[1]{{#1}}% +\newcounter{BibCnt} +\renewcommand{\theBibCnt}{\alph{BibCnt}} +\DeclareRobustCommand{\BCnt}[1]{\setcounter{BibCnt}{#1}\theBibCnt} +\DeclareRobustCommand{\BCntIP}[1]{\setcounter{BibCnt}{#1}\mbox{-\theBibCnt}} +\DeclareRobustCommand{\BCntND}[1]{\setcounter{BibCnt}{#1}\mbox{-\theBibCnt}} +\let\bibliographytypesize\normalsize +\newcommand{\bibliographyprenote}{} +\newskip{\bibleftmargin} +\newskip{\bibindent} +\newskip{\bibparsep} +\newskip{\bibitemsep} +\newskip{\biblabelsep} +\setlength{\bibleftmargin}{2.5em} +\setlength{\bibindent}{-\bibleftmargin} +\setlength{\bibparsep}{0pt} +\setlength{\bibitemsep}{0pt plus .3pt} +\setlength{\biblabelsep}{0pt} +\let\bibcorporate\relax +\newcommand{\BBA}{\BBAA}% `\&' +\let\Bem\emph +\newcommand{\bibnotype}{} +\newcommand{\APACSortNoop}[1]{} +\let\bibphant\APACSortNoop +\def\makehashother{\catcode`\#=12\relax} +\def\makehashmacropar{\catcode`\#=6\relax} +\if@APAC@index + \if@APAC@index@package + \RequirePackage{index}[1995/09/28] + \newindex{autx}{adx}{and}{\authorindexname} + \DeclareRobustCommand{\AX}[1]{% + \if@filesw{% + \protected@write\@auxout{}{% + \string\protected@write\string\tf@autx{}{% + \string\string\string + \indexentry{\string#1|hyperpage}{\thepage}}}% + }% + \fi + }% + \else + \newwrite\@AXfile + \immediate\openout\@AXfile=\jobname.adx + \typeout + {Writing author index file \jobname.adx }% + \DeclareRobustCommand{\AX}[1]{% + \protected@write\@AXfile{}% + {\string\indexentry{\string#1}{\thepage}}% + }% + \def\PrintAX{\edef\currentindexname{\authorindexname}% + \@input@{\jobname.and}% + \global\let\PrintAX\@empty + }% + \AtBeginDocument{% + \@ifundefined{printindex}{\makeindex}{}% + \let\orig@printindex\printindex + \def\printindex{\@ifnextchar[{\APAC@printindex}{% + \orig@printindex}}% + \def\APAC@printindex[autx]{\PrintAX}% + }% + \fi + \if@APAC@include@corporate + \let\corporateAX\AX + \else + \let\corporateAX\@gobble + \fi +\else + \AtBeginDocument{% + \@ifundefined{printindex}% + {% + \def\printindex{\@ifnextchar[{\check@printindex}{% + \check@printindex[]}}% + \def\check@printindex[#1]{\relax }% + }% + {% + \let\orig@printindex\printindex + \def\printindex{\@ifnextchar[{\check@printindex}{\orig@printindex}}% + \def\check@printindex[#1]{% + \expandafter\def\csname APAC@#1\endcsname{DUMMY}% + \@ifundefined{APAC@autx}% + {\orig@printindex[#1]}% + {\let\APAC@autx\@undefined}% + }% + }% + }% + \let\AX\@gobble + \let\corporateAX\@gobble +\fi +\newcommand{\APACstdindex}{% + \@ifclassloaded{article}{% + \renewenvironment{theindex}{% + \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[% + \section*{\indexname}% + \ifx\index@prologue\@empty\else + \index@prologue + \bigskip + \fi + ]% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}% + \thispagestyle{plain}% + \parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol + \onecolumn + \else + \clearpage + \fi + } + }{% + \renewenvironment{theindex}{% + \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[% + \@makeschapterhead{\indexname}% + \ifx\index@prologue\@empty\else + \index@prologue + \bigskip + \fi + ]% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}% + \thispagestyle{plain}% + \parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol + \onecolumn + \else + \clearpage + \fi + }% + }% +} +\newcommand{\APACtocindex}{% + \@ifclassloaded{article}{% + \renewenvironment{theindex}{% + \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[% + \section*{\indexname}% + \ifx\index@prologue\@empty\else + \index@prologue + \bigskip + \fi + ]% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}% + \addcontentsline{toc}{section}{\indexname}% + \thispagestyle{plain}% + \parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol + \onecolumn + \else + \clearpage + \fi + } + }{% + \renewenvironment{theindex}{% + \edef\indexname{\the\@nameuse{idxtitle@\@indextype}}% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[% + \@makeschapterhead{\indexname}% + \ifx\index@prologue\@empty\else + \index@prologue + \bigskip + \fi + ]% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}% + \addcontentsline{toc}{chapter}{\indexname}% + \thispagestyle{plain}% + \parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol + \onecolumn + \else + \clearpage + \fi + }% + }% +} +\newcommand{\APACemindex}{% + \RequirePackage{multicol} + \renewenvironment{theindex}{% + \edef\@indexname{\the\@nameuse{idxtitle@\@indextype}}% + \@ifundefined{chapter}% + {\section*{\@indexname}% + \addcontentsline{toc}{section}{\@indexname}% +%% \sectionmark{{\@indexname}}% doesn't work: generates numbers + }% + {\chapter*{\@indexname}% + \addcontentsline{toc}{chapter}{\@indexname}% +%% \chaptermark{{\@indexname}}% doesn't work: generates numbers +%% % (except in the backmatter) +%% \sectionmark{{\@indexname}}% doesn't work: generates numbers + }% + \@mkboth{{\@indexname}}{{\@indexname}}% Hence we need this. + \parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + \setlength{\columnsep}{2em} + \small + \begin{multicols}{2} + \raggedright + }% + {\end{multicols}\normalsize + }% +} +\newcommand{\APACltxemindex}{% + \RequirePackage{multicol} + \renewenvironment{theindex}{% + \@ifundefined{currentindexname}{% + \@ifundefined{indexname}{% + \edef\@indexname{Index}% + }{\edef\@indexname{\indexname}}% + }{\edef\@indexname{\currentindexname}}% + \@ifundefined{chapter}% + {\section*{\@indexname}% + \addcontentsline{toc}{section}{\@indexname}% +%% \sectionmark{{\@indexname}}% doesn't work: generates numbers + }% + {\chapter*{\@indexname}% + \addcontentsline{toc}{chapter}{\@indexname}% +%% \chaptermark{{\@indexname}}% doesn't work: generates numbers +%% % (except in the backmatter) +%% \sectionmark{{\@indexname}}% doesn't work: generates numbers + }% + \@mkboth{{\@indexname}}{{\@indexname}}% Hence we need this. + \def\pfill{\relax{}}% + \parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + \setlength{\columnsep}{2em} + \small + \begin{multicols}{2} + \raggedright + }% + {\end{multicols}\normalsize + }% +} +\AtBeginDocument{% + \@ifpackageloaded{url}{% + \@ifundefined{Url@force@Tilde}{\def\Url@force@Tilde{\relax}}{}% + \def\Url@APACdot{\mathchar"2E }% + \def\Url@APACcomma{\mathchar"2C }% + \def\Url@APACquestionmark{\mathchar"3F }% + \def\Url@APACexclamation{\mathchar"21 }% + \def\Url@APAChyphen{\mathchar"2D }% + \def\Url@APACunderscore{\_}% + \def\APACurlBreaks{% + \def\UrlBreaks{\do\@\do\\\do\|\do\;\do\>\do\]\do\)\do\'\do+\do\=\do\#}% + \def\UrlBigBreaks{\do\/\do\:\do@url@hyp}% + \def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% \) + \def\UrlOrds{\do\*\do\~\do\'\do\"}% + \def\UrlSpecials{% + \do\.{\mathbin{}\Url@APACdot }% + \do\,{\mathbin{}\Url@APACcomma }% + \do\-{\mathbin{}\Url@APAChyphen }% + \do\?{\mathbin{}\Url@APACquestionmark }% + \do\!{\mathbin{}\Url@APACexclamation }% + \do\_{\mathbin{}\Url@APACunderscore }% + \do\ {\Url@space}\do\%{\Url@percent}\do\^^M{\Url@space}% + \Url@force@Tilde}% package option may force faked text-ascii-tilde + }%% + \def\Url@OTnonTT{\do\<{\langle}\do\>{\mathbin{\rangle}}\do + \_{\mathbin{}\_}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do + \\{\mathbin{\backslash}}\UrlTildeSpecial} + \def\url@APACttstyle{\def\UrlFont{\ttfamily}\APACurlBreaks }% + \def\url@APACrmstyle{\def\UrlFont{\rmfamily}\APACurlBreaks }% + \def\url@APACsfstyle{\def\UrlFont{\sffamily}\APACurlBreaks }% + \def\url@APACsamestyle{\def\UrlFont{}\APACurlBreaks }% + % MDPI: match body roman (texgyrepagella), not typewriter + \urlstyle{APACrm}% + }{}% +} +\AtBeginDocument{% + \@ifundefined{url}{% + \def\url#1{\texttt{#1}}% + }{}% +} +\AtBeginDocument{% + \expandafter\ifx\csname urlstyle\endcsname\relax + \providecommand{\doi}[1]{#1}\else + \providecommand{\doi}{\begingroup \urlstyle{APACsame}\Url}\fi +} +\@ifundefined{doiprefix}{% + \newcommand{\doiprefix}{\penalty0{}}% % MDPI Modified +}{}% +\@ifundefined{bbl@cite@choice}{}{% + \g@addto@macro\bbl@cite@choice{% + \let\bibcite\APACbibcite + }% +} +\if@APAC@natbib@apa +\else +\AtBeginDocument{% + \@ifpackageloaded{natbib}{% + \def\NAT@parse@date#1#2#3#4#5#6@@{% + \def\NAT@year{{#1}}\def\NAT@exlab{{#2}}% + }% + }{}% +} +\fi +\AtBeginDocument{% + \@ifpackageloaded{natbib}{% + \let\@oldbibpreamble\bibpreamble + \def\bibpreamble{% + \@oldbibpreamble% + \bibliographytypesize% + \bibliographyprenote% + \@ifundefined{APAC@metaprenote@\APAC@extra@b@citeb}% + {}% skip + {\csname APAC@metaprenote@\APAC@extra@b@citeb\endcsname}% + }% + \let\@old@endthebibliography\endthebibliography + \def\endthebibliography{\@old@endthebibliography% + \normalsize}% + }{}% +} +\AtBeginDocument{% + \@ifundefined{NAT@parse}{% + \def\NAT@parse{This is a fake natbib command to fool hyperref.}}{}% + \@ifundefined{hyper@natlinkstart}{% + \let\hyper@natlinkstart\@gobble}{}% + \@ifundefined{hyper@natlinkend}{% + \let\hyper@natlinkend\relax}{}% + \@ifundefined{hyper@natanchorstart}{% + \let\hyper@natanchorstart\@gobble}{}% + \@ifundefined{hyper@natanchorend}{% + \let\hyper@natanchorend\relax}{}% + \@ifundefined{hyperpage}{% + \def\hyperpage#1{#1}}{}% + \@ifpackageloaded{hyperref}{% + \@ifpackageloaded{url}{% + \ifx\@empty\Url@ObeySp\@empty + \def\url@#1{\def\@tmp@arg{\string#1}% + \HyPsd@Subst{ }{}{\@tmp@arg}% + \hyper@linkurl{\Hurl{#1}}{\@tmp@arg}}% + \fi + }{}% + }{}% +} +\def\back@cite{}% +\def\CurrentBib{}% +\def\PrintBackRefs{}% +\def\APACrestorebibitem{}% +\AtBeginDocument{% + \@ifpackageloaded{backref}{% + \@ifundefined{ifBR@verbose}{% + \let\ifBR@verbose\iffalse + \let\fi\fi}{}% + \def\back@cite#1{% + \ifBR@verbose + \PackageInfo{backref}{back cite \string`#1\string'}% + \fi + \Hy@backout{#1\APAC@extra@b@citeb}% + }% + \def\APACrestorebibitem{% + \def\BR@@lbibitem[##1]##2{% + \BRorg@bibitem[{##1}]{##2}% + \def\CurrentBib{##2\APAC@extra@b@citeb}% + }% + }% + \def\PrintBackRefs#1{\BR@backref{#1}}% + }{% + \let\back@cite\@gobble + \let\PrintBackRefs\@gobble + }% +} +\def\BR@@lbibitem[#1]#2#3\par{% + \BRorg@bibitem[#1]{#2}#3% + \BR@backref{#2}% +}% +\@ifundefined{@extra@b@citeb}{\def\@extra@b@citeb{}}{} +\gdef\@extra@binfo{} +\def\APAC@extra@b@citeb{\APAC@curr@aux\APAC@bu\@extra@b@citeb}% +\def\APAC@extra@binfo{\APAC@curr@aux\APAC@bu\@extra@binfo}% +\AtEndOfPackage{% + \let\APACstd@cite\cite + \let\APACstd@nocite\nocite + \let\APACstd@lbibitem\@lbibitem +} +\@ifundefined{APAC@bu}{\def\APAC@bu{}}{} +\AtBeginDocument{% + \@ifpackageloaded{bibunits}{% + \def\APAC@bu{% + \ifx\cite\std@cite + @APACbu0@% + \else + @APACbu\the\@bibunitauxcnt @% + \fi + }% + \let\std@cite\APACstd@cite + \let\std@nocite\APACstd@nocite + \def\std@lbibitem[#1]#2{% + \let\@APACtemp@auxout\@newciteauxhandle + \let\@newciteauxhandle\@bibunitaux + \APACstd@lbibitem[#1]{#2}% + \let\@newciteauxhandle\@APACtemp@auxout + }% + \let\@lbibitem\std@lbibitem + }{}% +} +\AtBeginDocument{% + \@ifpackageloaded{bibtopic}{% + \renewcommand*\bt@change@thb{\relax}% + }{% + \providecommand{\bt@beg@thb@hook}{\relax} + \providecommand{\bt@end@thb@hook}{\relax} + }% +} +\@ifundefined{APAC@curr@aux}{\def\APAC@curr@aux{}}{} +\AtBeginDocument{% + \@ifpackageloaded{multibbl}{% + \def\APAC@def@curr@aux#1{\def\APAC@curr@aux{@APACaux@#1@}}% + \def\newbibliography#1{% + \APAC@def@curr@aux{#1}% + \@input@{#1.aux}% + \begingroup + \if@filesw + \expandafter\newwrite\csname #1@auxfile\endcsname + \expandafter\immediate\openout + \csname #1@auxfile\endcsname #1.aux\relax + \typeout{Writing auxiliary file #1.aux }% + \fi + \endgroup + }%% + \let\APAC@mbbl@bibliography\bibliography + \def\bibliography#1#2#3{% + \APAC@def@curr@aux{#1}% + \let\@APACtemp@auxout\@newciteauxhandle + \def\@APACtemp{\csname #1@auxfile\endcsname}% + \let\@newciteauxhandle\@APACtemp + \APAC@mbbl@bibliography{#1}{#2}{#3}% + \let\@newciteauxhandle\@APACtemp@auxout + }%% + \let\@orig@@cite\@@cite + \def\@@cite<#1>[#2]#3#4{% + \nocite{#3}{#4}% + \let\@temp@nocite\nocite + \let\nocite\@gobble + \APAC@def@curr@aux{#3}% + \@orig@@cite<#1>[#2]{#4}% + \let\nocite\@temp@nocite + \let\@temp@nocite\@undefined + }%% + \let\@orig@nocite\nocite + \def\nocite#1#2{% + \APAC@def@curr@aux{#1}% + \@bsphack + \ifx\@onlypreamble\document + \@for\@citeb:=#2\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \@ifundefined{#1@auxfile}{% + \if@filesw + \immediate\write\@newciteauxhandle{\string\citation{\@citeb}}% + \fi + }{\if@filesw + \expandafter\immediate% + \write\csname #1@auxfile\endcsname{\string\citation{\@citeb}}% + \fi + }% + \@ifundefined{b@\@citeb\APAC@extra@b@citeb}{% + \edef\B@my@dummy{*}% + \ifx\@citeb\B@my@dummy + \else + \G@refundefinedtrue + \@latex@warning{Citation `\@citeb' undefined}% + \fi + }{}% + }% + \else + \AtBeginDocument{\nocite{#1}{#2}}% + \fi + \@esphack + \@restore@auxhandle + }% + \let\@orig@@nocitemeta\nocitemeta + \def\nocitemeta#1#2{% + \nocite{#1}{#2}% + \let\@temp@nocite\nocite + \let\nocite\@gobble + \@orig@@nocitemeta{#2}% + \let\nocite\@temp@nocite + \let\@temp@nocite\@undefined + }% + }{}% +} +\providecommand\@newciteauxhandle{\@auxout} +\def\@restore@auxhandle{\gdef\@newciteauxhandle{\@auxout}} +\AtBeginDocument{% + \@ifundefined{newcites}{\global\let\@restore@auxhandle\relax}{}% +} +\if@APAC@classic@cite +\def\@mb@citenamelist{% + cite,fullcite,shortcite,citeNP,fullciteNP,shortciteNP,% + citeA,fullciteA,shortciteA,citeauthor,fullciteauthor,shortciteauthor,% + citeauthorNP,fullciteauthorNP,shortciteauthorNP,% + citeyear,citeyearNP,nocite,nocitemeta,% + maskcite,maskfullcite,maskshortcite,maskciteNP,maskfullciteNP,% + maskshortciteNP,maskciteA,maskfullciteA,maskshortciteA,% + maskciteauthor,maskfullciteauthor,maskshortciteauthor,% + maskciteauthorNP,maskfullciteauthorNP,maskshortciteauthorNP,% + maskciteauthorA,maskfullciteauthorA,maskshortciteauthorA,% + maskciteyear,maskciteyearNP,masknocite% +} +\fi +\if@APAC@natbib@apa +\AtEndOfPackage{% +\@ifundefined{@mb@citenamelist}{% + \def\@mb@citenamelist{% + nocite,citep,citealp,citet,citealt,citeauthor,citefullauthor,% + citeyearpar,citeyear,citetext,cite,shortcites,citetalias,% +shortciteNP,citeauthorNP,fullciteauthorNP,citeyearNP,citeA,fullciteA,shortciteA, % MDPI added + citepalias,Citet,Citep,Citealt,Citealp,Citeauthor,citenum}% +}{} +\let\orig@mb@citenamelist\@mb@citenamelist +\edef\@mb@citenamelist{% + \orig@mb@citenamelist,% + citeauthort,citeauthorp,citefullauthort,citefullauthorp,Citeauthort,% + Citeauthorp,Citefullauthort,Citefullauthorp,% + masknocite,maskcitep,maskcitealp,maskcitet,maskcitealt,% + maskciteauthor,maskcitefullauthor,maskciteyearpar,maskciteyear,% + maskcite,maskcitetalias,maskcitepalias,maskCitet,maskCitep,% + maskCitealt,maskCitealp,maskCiteauthor,maskcitenum,maskciteauthort,% + maskciteauthorp,maskCitefullauthor,maskCiteauthort,maskCiteauthorp,% + nocitemeta% +} +} +\fi +\newcommand{\onemaskedcitationmsg}[1]{% + \emph{(#1\ citation removed for masked review)}} +\newcommand{\maskedcitationsmsg}[1]{% + \emph{(#1\ citations removed for masked review)}} +\def\refname{References}% Name of ref. list if it's a section. +\def\bibname{References}% Name of ref. list if it's a chapter. +\newcommand{\authorindexname}{Author Index} +\newcommand{\APACmetaprenote}{% + References marked with an asterisk indicate studies included in + the meta-analysis.} +\newcommand{\bibmessage}{Msg}% Message, for internet forums and the like +\newcommand{\bibcomputerprogram}{Computer program} +\newcommand{\bibcomputerprogrammanual}{Computer program manual} +\newcommand{\bibcomputerprogramandmanual}{Computer program and manual} +\newcommand{\bibcomputersoftware}{Computer software} +\newcommand{\bibcomputersoftwaremanual}{Computer software manual} +\newcommand{\bibcomputersoftwareandmanual}{Computer software and manual} +\newcommand{\bibprogramminglanguage}{Programming language} +\newcommand{\bibnodate}{n.d.\hbox{}}% no date +\newcommand{\BIP}{in press} % in press +\newcommand{\BOthers}[1]{et al.\hbox{}}% ``and others'' +\newcommand{\BOthersPeriod}[1]{et al.\hbox{}}% ``and others.'', with a period +\newcommand{\BIn}{In} % for ``In '' editor... +\newcommand{\Bby}{by} % for ``by '' editor... (in reprints) +\newcommand{\BED}{Ed.\hbox{}} % editor +\newcommand{\BEDS}{Eds.\hbox{}} % editors +\newcommand{\BTRANS}{Trans.\hbox{}} % translator +\newcommand{\BTRANSS}{Trans.\hbox{}} % translators +\newcommand{\BTRANSL}{trans.\hbox{}} % translation, for the year field +\newcommand{\BCHAIR}{Chair} % chair of symposium +\newcommand{\BCHAIRS}{Chairs} % chairs +\newcommand{\BVOL}{Vol.\hbox{}} % volume (of a multi-volume book) +\newcommand{\BVOLS}{Vols.\hbox{}} % volumes +\newcommand{\BNUM}{No.\hbox{}} % number (of a technical report) +\newcommand{\BNUMS}{Nos.\hbox{}} % numbers +\newcommand{\BEd}{ed.\hbox{}} % edition +\newcommand{\BCHAP}{chap.\hbox{}} % chapter (for electronic documents) +\newcommand{\BCHAPS}{chap.\hbox{}} % chapters +\newcommand{\BPG}{p.\hbox{}} % page +\newcommand{\BPGS}{pp.\hbox{}} % pages +%% Default technical report type name. +\newcommand{\BTR}{Tech.\ Rep.\hbox{}} +%% Default PhD thesis type name. +\newcommand{\BPhD}{Doctoral dissertation} +%% Default unpublished PhD thesis type name. +\newcommand{\BUPhD}{Unpublished doctoral dissertation} +%% Default master's thesis type name. +\newcommand{\BMTh}{Master's thesis} +%% Default unpublished master's thesis type name. +\newcommand{\BUMTh}{Unpublished master's thesis} +\newcommand{\BAuthor}{Author}% ``Author'' if publisher = author +\newcommand{\BOWP}{Original work published} +\newcommand{\BREPR}{Available online:\ } % MDPI modified +\newcommand{\BAvailFrom}{Available from\ }% Websites; note the space. +%% The argument is the date on which it was last checked. +\newcommand{\BRetrieved}[1]{Retrieved {#1}, from\ }% Websites; note the space. %%Retrieved {#1}, from\ +\newcommand{\BRetrievedFrom}{Available online:\ }% Websites; note the space. % MDPI modified +\newcommand{\BMsgPostedTo}{Message posted to\ }% Messages; note the space. +\newcommand{\BBOP}{(} % opening parenthesis +\newcommand{\BBCP}{)} % closing parenthesis +\newcommand{\BBOQ}{} % opening quote for article title +\newcommand{\BBCQ}{} % closing quote for article title +\newcommand{\BBAA}{\&} % between authors in parenthetical cites and ref. list +\newcommand{\BBAB}{and} % between authors in in-text citation +\newcommand{\BAnd}{\&} % for ``Ed. \& Trans.'' in ref. list +\DeclareRobustCommand{\BPBI}{.~}% Period between initials +\DeclareRobustCommand{\BHBI}{.-}% Hyphen between initials +\newcommand{\BAP}{ } % after prefix, before first citation +\newcommand{\BBAY}{, } % between author(s) and year +\newcommand{\BBYY}{, } % between years of multiple citations with same author +\newcommand{\BBC}{; } % between cites +\newcommand{\BBN}{, } % before note +\newcommand{\BCBT}{,} % comma between authors in ref. list when no. of + %% authors = 2 +\newcommand{\BCBL}{,} % comma before last author when no. of authors > 2 +\newcommand{\BDBL}{, \dots{} }% dots before last author when no. of authors > 7 +\newcommand{\APACmonth}[1]{\ifcase #1\or January\or February\or March\or + April\or May\or June\or July\or August\or September\or October\or + November\or December\or Winter\or Spring\or Summer\or Fall\else + {#1}\fi} +\newcommand{\APACrefYearMonthDay}[3]{% + {\BBOP}{#1}% year (+ addendum); should not be empty + \ifx\@empty#2\@empty + \ifx\@empty#3\@empty + \else + \unskip, {#3}% day + \fi + \else + \unskip, {#2}% month + \ifx\@empty#3\@empty + \else + \unskip~{#3}% day + \fi + \fi + {\BBCP}% closing parenthesis +} +\let\@xp\expandafter +\newcommand{\PrintOrdinal}[1]{% + \afterassignment\print@ordinal + \count@ 0#1\relax\@nil +} +\def\print@ordinal#1#2\@nil{% + \ifx\relax#1\relax + \ifnum\count@>\z@ + \CardinalNumeric\count@ + \else + ??th% + \fi + \else + \ifnum \count@>\z@ \number\count@ \fi + #1#2\relax + \fi +} +\newcommand{\CardinalNumeric}[1]{% + \number#1\relax + \if + \ifnum#1<14 + \ifnum#1>\thr@@ T\else F\fi + \else + F% + \fi + T% + th% + \else + \@xp\keep@last@digit\@xp#1\number#1\relax + \ifcase#1th\or st\or nd\or rd\else th\fi + \fi +} +\def\keep@last@digit#1#2{% + \ifx\relax#2% + \@xp\@gobbletwo + \else + #1=#2\relax + \fi + \keep@last@digit#1% +} +\AtBeginDocument{% + \@ifundefined{iflanguage}% + {\relax }% + {% + \edef\APAC@tmp{nohyphenation}% + \ifx\languagename\APAC@tmp + \else + \InputIfFileExists{\languagename.apc}{}{% + \def\APAC@iflang##1##2{% + \expandafter\ifx\csname l@##1\endcsname\relax + \else + \ifnum\csname l@##1\endcsname=\language + {##2}% + \fi + \fi + }% + \APAC@iflang{dutch}{\gdef\APAC@apcfile{dutch.apc}}% + \APAC@iflang{finnish}{\gdef\APAC@apcfile{finnish.apc}}% + \APAC@iflang{french}{\gdef\APAC@apcfile{french.apc}}% + \APAC@iflang{german}{\gdef\APAC@apcfile{german.apc}}% + \APAC@iflang{ngerman}{\gdef\APAC@apcfile{ngerman.apc}}% + \APAC@iflang{greek}{\gdef\APAC@apcfile{greek.apc}}% + \APAC@iflang{norsk}{\gdef\APAC@apcfile{norsk.apc}}% + \APAC@iflang{spanish}{\gdef\APAC@apcfile{spanish.apc}}% + \APAC@iflang{swedish}{\gdef\APAC@apcfile{swedish.apc}}% + \APAC@iflang{UKenglish}{\gdef\APAC@apcfile{english.apc}}% + \APAC@iflang{english}{\gdef\APAC@apcfile{english.apc}}% + \@ifundefined{APAC@apcfile}{% + \PackageWarningNoLine{apacite}{% + No suitable language definition file (\languagename.apc) found}% + }{% + \InputIfFileExists{\APAC@apcfile}{}{% + \PackageWarningNoLine{apacite}{% + Language definition file \APAC@apcfile\space not found}% + }% + }% + \let\APAC@apcfile\@undefined + }% + \fi + \let\APAC@tmp\@undefined + }% + \let\APAC@iflang\@undefined +} +%% +\endinput +%% +%% End of file `apacite.sty'. diff --git a/Definitions/mdpi_apacite.sty:Zone.Identifier b/Definitions/mdpi_apacite.sty:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/Definitions/mdpi_apacite.sty:Zone.Identifier Binary files differ diff --git a/Definitions/mdpi_chicago.bst b/Definitions/mdpi_chicago.bst new file mode 100644 index 0000000..2c3a8c5 --- /dev/null +++ b/Definitions/mdpi_chicago.bst @@ -0,0 +1,1675 @@ +%%% ==================================================================== +%%% @BibTeX-style-file{ +%%% author = "Glenn Paulley", +%%% version = "4", +%%% date = "28 August 1992", +%%% time = "10:23:39 199", +%%% filename = "chicago.bst", +%%% address = "Data Structuring Group +%%% Department of Computer Science +%%% University of Waterloo +%%% Waterloo, Ontario, Canada +%%% N2L 3G1", +%%% telephone = "(519) 885-1211", +%%% FAX = "(519) 885-1208", +%%% checksum = "26323 1654 5143 37417", +%%% email = "gnpaulle@bluebox.uwaterloo.ca", +%%% codetable = "ISO/ASCII", +%%% keywords = "", +%%% supported = "yes", +%%% abstract = "A BibTeX bibliography style that follows the +%%% `B' reference style of the 13th Edition of +%%% the Chicago Manual of Style. A detailed +%%% feature list is given below.", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== +% +% "Chicago" BibTeX style, chicago.bst +% =================================== +% +% BibTeX `chicago' style file for BibTeX version 0.99c, LaTeX version 2.09 +% Place it in a file called chicago.bst in the BibTeX search path. +% You need to include chicago.sty as a \documentstyle option. +% (Placing it in the same directory as the LaTeX document should also work.) +% This "chicago" style is based on newapa.bst (American Psych. Assoc.) +% found at ymir.claremont.edu. +% +% Citation format: (author-last-name year) +% (author-last-name and author-last-name year) +% (author-last-name, author-last-name, and author-last-name year) +% (author-last-name et al. year) +% (author-last-name) +% author-last-name (year) +% (author-last-name and author-last-name) +% (author-last-name et al.) +% (year) or (year,year) +% year or year,year +% +% Reference list ordering: alphabetical by author or whatever passes +% for author in the absence of one. +% +% This BibTeX style has support for abbreviated author lists and for +% year-only citations. This is done by having the citations +% actually look like +% +% \citeauthoryear{full-author-info}{abbrev-author-info}{year} +% +% The LaTeX style has to have the following (or similar) +% +% \let\@internalcite\cite +% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite} +% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite} +% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite} +% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite} +% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite} +% +% These TeX macro definitions are found in chicago.sty. Additional +% commands to manipulate different components of a citation can be defined +% so that, for example, you can list author's names without parentheses +% if using a citation as a noun or object in a sentence. +% +% This file was originally copied from newapa.bst at ymir.claremont.edu. +% +% Features of mdpi_chicago.bst, updated on December 17, 2024: +% ======================= +% +% - full names used in citations, but abbreviated citations are available +% (see above) +% - if an entry has a "month", then the month and year are also printed +% as part of that bibitem. +% - all conjunctions use "and" instead of "\&" +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. +% - book, inbook, and manual use "location: publisher" (or organization) +% for address and publisher. All other types list publishers separately. +% - "pp." are used to identify page numbers for all entry types except +% articles. +% - organization is used as a citation label if neither author nor editor +% is present (for manuals). +% - "et al." is used for long author and editor lists, or when "others" +% is used. +% +% Modifications and bug fixes from newapa.bst: +% =========================================== +% +% - added month, year to bib entries if month is present +% - fixed bug with In proceedings, added necessary comma after title +% - all conjunctions changed to "and" from "\&" +% - fixed bug with author labels in my.full.label: "et al." now is +% generated when "others" is an author name +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. Unnecessary (IMHO) "()" around page numbers +% were removed, and page numbers now don't end with a period. +% - created chicago.sty for use with this bibstyle (required). +% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume, +% number, and /or pages. Renamed to format.jour.vol. +% - fixed bug in formatting booktitles: additional period an error if +% book has a volume. +% - fixed bug: editors usually given redundant period before next clause +% (format.editors.dot) removed. +% - added label support for organizations, if both author and editor +% are missing (from alpha.bst). If organization is too long, then +% the key field is used for abbreviated citations. +% - In proceedings or books of several volumes, no comma was written +% between the "Volume x" and the page numbers (this was intentional +% in newapa.bst). Fixed. +% - Some journals may not have volumes/numbers, only month/year (eg. +% IEEE Computer). Fixed bug in article style that assumed volume/number +% was always present. +% +% Original documentation for newapa.sty: +% ===================================== +% +% This version was made by modifying the master file made by +% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX +% style of Peter F. Patel-Schneider. +% +% Copyright (C) 1985, all rights reserved. +% Copying of this file is authorized only if either +% (1) you make absolutely no changes to your copy, including name, or +% (2) if you do make changes, you name it something other than 'newapa.bst'. +% There are undoubtably bugs in this style. If you make bug fixes, +% improvements, etc. please let me know. My e-mail address is: +% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com +% +% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst', +% with lots of tweaking to make it look like APA style, along with tips +% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'. + +ENTRY + { address + author + booktitle + chapter + edition + editor + doi + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label.year extra.label sort.year sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t u } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +% Use a colon to separate output. Used only for address/publisher +% combination in book/inbook types, address/institution for manuals, +% and organization:publisher for proceedings (inproceedings). +% +FUNCTION {output.nonnull.colon} +{ 's := + output.state mid.sentence = + { ": " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.colon} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull.colon + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.check.colon} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.colon + if$ +} + +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { add.period$ write$ + " " year * extra.label * + month empty$ + { } + { ", " * month * } + if$ + mid.sentence 'output.state := + } + if$ +} + + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +% +% Emphasize the top string on the stack. +% +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +% +% Emphasize the top string on the stack, but add a trailing space. +% +FUNCTION {emphasize.space} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } +% +% Format bibliographical entries with the first author last name first, +% and subsequent authors with initials followed by last name. +% All names are formatted in this routine. +% +FUNCTION {format.names} +{ 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { nameptr #1 = + {s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := } + {s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := } + if$ + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION {my.full.label} +{ 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ + +} + +FUNCTION {format.names.fml} +% +% Format names in "familiar" format, with first initial followed by +% last name. Like format.names, ALL names are formatted. +% +{ 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := + + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } +% { " \& " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +% +% Format editor names for use in the "in" types: inbook, incollection, +% inproceedings: first initial, then last names. When editors are the +% LABEL for an entry, then format.editor is used which lists editors +% by last name first. +% +FUNCTION {format.editors.fml} +{ editor empty$ + { "" } + { editor format.names.fml + editor num.names$ #1 > + { " (Eds.)" * } + { " (Ed.)" * } + if$ + } + if$ +} + +% +% Format editor names for use in labels, last names first. +% +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { " (Eds.)" * } + { " (Ed.)" * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +% Note that the APA style requres case changes +% in article titles. The following does not +% change cases. If you perfer it, uncomment the +% following and comment out the above. + +%FUNCTION {format.title} +%{ title empty$ +% { "" } +% { title } +% if$ +%} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ edition empty$ + { title emphasize } + { title empty$ + { title emphasize } + { volume empty$ % gnp - check for volume, then don't need period + { "{\em " title * "\/} (" * edition * " ed.)" * "." * } + { "{\em " title * "\/} (" * edition * " ed.)" * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.emphasize.booktitle} +{ edition empty$ + { booktitle emphasize } + { booktitle empty$ + { booktitle emphasize } + { volume empty$ % gnp - extra period an error if book has a volume + { "{\em " booktitle * "\/} (" * edition * " ed.)" * "." *} + { "{\em " booktitle * "\/} (" * edition * " ed.)" * } + if$ + } + if$ + } + if$ + } + + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "Volume" volume tie.or.space.connect % gnp - changed to mixed case + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "Number" } % gnp - changed to mixed case always + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp.\ " pages n.dashify tie.or.space.connect } % gnp - removed () + { "pp.\ " pages tie.or.space.connect } + if$ + } + if$ +} + +% By Young (and Spencer) +% GNP - fixed bugs with missing volume, number, and/or pages +% +% Format journal, volume, number, pages for article types. +% +FUNCTION {format.jour.vol} +{ journal empty$ + { "no journal in " cite$ * warning$ + "" } + { journal emphasize.space } + if$ + number empty$ + { volume empty$ + { "no number and no volume in " cite$ * warning$ + "" * } + { "~{\em " * Volume * "}" * } + if$ + } + { volume empty$ + {"no volume for " cite$ * warning$ + "~(" * number * ")" * } + { "~" * + volume emphasize.space + "(" * number * ")" * * } + if$ + } + if$ + pages empty$ + {"page numbers missing in " cite$ * warning$ + "" * } % gnp - place a null string on the stack for output + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } % gnp - removed pp. for articles + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "Chapter" } % gnp - changed to mixed case + { type "t" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + {"page numbers missing in " cite$ * warning$} % gnp - added check + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In " format.emphasize.booktitle * } + { "In " format.editors.fml * ", " * format.emphasize.booktitle * } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ "See" + "\citep{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect % gnp - changed to mixed case + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \citep{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ "See" + " \citep{" * crossref * "}" * +} + +% format.lab.names: +% +% determines "short" names for the abbreviated author information. +% "Long" labels are created in calc.label, using the routine my.full.label +% to format author and editor fields. +% +% There are 4 cases for labels. (n=3 in the example) +% a) one author Foo +% b) one to n Foo, Bar and Baz +% c) use of "and others" Foo, Bar et al. +% d) more than n Foo et al. +% +FUNCTION {format.lab.names} +{ 's := + s num.names$ 'numnames := + numnames #2 > % change number to number of others allowed before + % forcing "et al". + { s #1 "{vv~}{ll}" format.name$ " et~al." * } + { + numnames #1 - 'namesleft := + #2 'nameptr := + s #1 "{vv~}{ll}" format.name$ + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + } + { ", " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { "no key, author in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { "no key, editor in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {author.key.organization.label} +% +% added - gnp. Provide label formatting by organization if author is null. +% +{ author empty$ + { organization empty$ + { key empty$ + { "no key, author or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +% +% added - gnp. Provide label formatting by organization if editor is null. +% +{ editor empty$ + { organization empty$ + { key empty$ + { "no key, editor or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { "no key, author, or editor in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {calc.label} +% +% Changed - GNP. See also author.organization.sort, editor.organization.sort +% Form label for BibTeX entry. The classification of which fields are used +% for which type of entry (book, inbook, etc.) are taken from alpha.bst. +% The change here from newapa is to also include organization as a +% citation label if author or editor is missing. +% +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + + author empty$ % generate the full label citation information. + { editor empty$ + { organization empty$ + { "no author, editor, or organization in " cite$ * warning$ + "??" } + { organization } + if$ + } + { editor my.full.label } + if$ + } + { author my.full.label } + if$ + +% leave label on the stack, to be popped when required. + + "}{" * swap$ * "}{" * +% year field.or.null purify$ #-1 #4 substring$ * +% +% save the year for sort processing afterwards (adding a, b, c, etc.) +% + year field.or.null purify$ #-1 #4 substring$ + 'label.year := +} + +FUNCTION {output.bibitem} +{ newline$ + + "\bibitem[\protect\citeauthoryear{" write$ + calc.label write$ + sort.year write$ + "}]{" write$ + + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +%% For printing DOI numbers (it is a hyperlink but printed in black) +FUNCTION {formatfull.doi} +{ doi empty$ + { "" } + {"{\url{https://doi.org/" doi * "}}" * } + if$ +} + + +FUNCTION {article} +{ output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title + "title" output.check + new.block + crossref missing$ + { format.jour.vol output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors + "author and editor" output.check } + { format.authors + output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle + "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + address output + publisher "publisher" output.check.colon + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output % added + output.year.check % added + new.block + format.title + "title" output.check + new.block + howpublished output + address output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors + "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle + "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages + "chapter and pages" output.check + new.block + format.number.series output + new.sentence + address output + publisher + "publisher" output.check.colon + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title + "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle + "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output % gnp - was special.output.nonnull +% left out comma before page numbers + new.sentence + address output + publisher "publisher" output.check.colon + } + { format.incoll.inproc.crossref + output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title + "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle + "booktitle" output.check + format.bvolume output + format.number.series output + address output + format.pages output + new.sentence + organization output + publisher output.colon + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { editor empty$ + { organization "organization" output.check + organization format.key output } % if all else fails, use key + { format.editors "author and editor" output.check } + if$ + } + { format.authors output.nonnull } + if$ + output.year.check % added + new.block + format.btitle + "title" output.check + organization address new.block.checkb +% Reversed the order of "address" and "organization", added the ":". + address output + organization "organization" output.check.colon +% address output +% ":" output +% organization output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title + "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output % added + output.year.check % added + title howpublished new.block.checkb + format.title output + new.block + howpublished output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.btitle + "title" output.check + new.block + "Ph.\ D. thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output + organization format.key output } % gnp - changed from author format.key + { format.editors output.nonnull } + if$ +% author format.key output % gnp - removed (should be either +% editor or organization + output.year.check % added (newapa) + new.block + format.btitle + "title" output.check + format.bvolume output + format.number.series output + address output + new.sentence + organization output + publisher output.colon + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title + "title" output.check + new.block + format.tr.number output.nonnull + institution + "institution" output.check + address output + new.block + note output + formatfull.doi output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title + "title" output.check + new.block + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {ai} {"Artificial Intelligence"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + + + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { " et~al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { "missing author in " cite$ * warning$ + editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +% +% added - GNP. Stack author or organization for sorting (from alpha.bst). +% Unlike alpha.bst, we need entire names, not abbreviations +% +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +% +% added - GNP. Stack editor or organization for sorting (from alpha.bst). +% Unlike alpha.bst, we need entire names, not abbreviations +% +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +% +% Presort creates the bibentry's label via a call to calc.label, and then +% sorts the entries based on entry type. Chicago.bst adds support for +% including organizations as the sort key; the following is stolen from +% alpha.bst. +% +{ calc.label sortify % recalculate bibitem label + year field.or.null purify$ #-1 #4 substring$ * % add year + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + #1 entry.max$ substring$ % added for newapa + 'sort.label := % added for newapa + sort.label % added for newapa + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT % by label, year, author/editor, title + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +% +% Pass through all entries, comparing current entry to last one. +% Need to concatenate year to the stack (done by calc.label) to determine +% if two entries are the same (see presort) +% +{ last.label + calc.label year field.or.null purify$ #-1 #4 substring$ * % add year + #1 entry.max$ substring$ = % are they equal? + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + calc.label year field.or.null purify$ #-1 #4 substring$ * % add year + #1 entry.max$ substring$ 'last.label := % assign to last.label + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label.year extra.label * 'sort.year := + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT % by sort.label, year, title --- giving final bib. order. + +FUNCTION {begin.bib} + +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{999}" write$ newline$ +} + + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + diff --git a/Definitions/mdpi_chicago.bst:Zone.Identifier b/Definitions/mdpi_chicago.bst:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/Definitions/mdpi_chicago.bst:Zone.Identifier Binary files differ diff --git a/README.md b/README.md index e69de29..47e349e 100644 --- a/README.md +++ b/README.md @@ -0,0 +1 @@ +MDPIのAI in medicineの論文執筆 \ No newline at end of file diff --git a/template.pdf b/template.pdf new file mode 100644 index 0000000..8f105f1 --- /dev/null +++ b/template.pdf Binary files differ diff --git a/template.pdf:Zone.Identifier b/template.pdf:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/template.pdf:Zone.Identifier Binary files differ diff --git a/template.tex b/template.tex new file mode 100644 index 0000000..dc88230 --- /dev/null +++ b/template.tex @@ -0,0 +1,543 @@ +% LaTeX support: latex@mdpi.com +% For support, please attach all files needed for compiling as well as the log file, and specify your operating system, LaTeX version, and LaTeX editor. + +%================================================================= +\documentclass[journal,article,submit,moreauthors]{Definitions/mdpi} +%\documentclass[preprints,article,submit,moreauthors]{Definitions/mdpi} +% For posting an early version of this manuscript as a preprint, you may use "preprints" as the journal. Changing "submit" to "accept" before posting will remove line numbers. + +%-------------------- +% Class Options: +%-------------------- +%---------- +% journal +%---------- +% Choose between the following MDPI journals: +% accountaudit, acn, acoustics, actuators, addictions, addictprev, adhesives, adolescents, aerobiology, aerospace, agriculture, agriengineering, agrochemicals, agronomy, ai, aichem, aieng, aimater, aimed, aipa, air, aisens, aisoc, algorithms, allergies, alloys, amh, analog, analytica, analytics, anatomia, anesthres, animals, antibiotics, antibodies, antioxidants, applbiosci, appliedchem, appliedmath, appliedphys, applmech, applmicrobiol, applnano, applsci, aps, aquacj, archaeolstud, architecture, arm, arthropoda, asc, asi, astronautics, astronomy, atmosphere, atoms, audiolres, automation, axioms, bacteria, batteries, bdcc, beverages, biochem, bioengineering, biologics, biology, biomass, biomechanics, biomed, biomedicines, biomedinformatics, biomimetics, biomolecules, biophysica, bioresourbioprod, biosensors, biosphere, biotech, birds, blockchains, bloods, blsf, brainsci, breath, buildings, cancers, carbon, cardio, cardiogenetics, cardiovascmed, catalysts, cells, ceramics, challenges, chemengineering, chemistry, chemosensors, chemproc, children, chips, cimb, civileng, cleantechnol, climate, clinbioenerg, clinpract, clockssleep, cmd, cmtr, coasts, coatings, colloids, colorants, commodities, complexities, complications, compounds, computation, computers, condensedmatter, conservation, constrmater, cosmetics, covid, crops, cryo, cryptography, crystals, csmf, ctn, culture, curroncol, cyber, dairy, data, ddc, dentistry, dermato, dermatopathology, designs, devices, dhi, diabetology, diagnostics, dietetics, digital, disabilities, diseases, diversity, dna, drones, drugreact, drylands, dynamics, earth, ebj, ecm, ecologies, edm, eesp, electricity, electrochem, electronicmat, electronics, embodiedintell, encyclopedia, endocrines, energies, eng, engproc, entomology, entropy, environments, environremediat, epidemiologia, epigenomes, esa, est, fermentation, fibers, fintech, fire, fishes, fluids, foodeng, foods, forecasting, forensicsci, forests, fossstud, foundations, fractalfract, freshwater, fuels, future, futureinternet, futurepharmacol, futurephys, futuretransp, galaxies, gases, gastroent, gastrointestdisord, gastronomy, gels, genes, geochem, geographies, geohazards, geomatics, geometry, geosciences, geotechnics, geriatrics, germs, glacies, grainsci, grasses, green, greenhealth, gucdd, gynecolcancer, hardware, hazardousmatters, healthcare, healthcmater, hearts, hemato, hematolrep, hep, heritage, higheredu, highthroughput, horticulturae, hospitals, hydrobiology, hydrogen, hydrology, hydrometeorology, hydropower, hygiene, idr, iic, ijem, ijerph, ijgi, ijmd, ijms, ijns, ijom, ijp, ijpb, ijt, ijtm, ijtpp, ijtst, ime, immuno, industries, inflammj, informatics, information, infrastructures, inorganics, insects, instruments, inventions, iot, j, jaestheticmed, jal, japma, jcdd, jcm, jcp, jcrm, jcs, jcto, jdad, jdb, jdream, jemr, jeta, jfb, jfmk, jfth, jgbg, jgg, jimaging, jlpea, jmahp, jmmp, jmms, jmp, jmse, jne, jnt, jof, joi, joitmc, joma, jop, joptm, jor, jox, jpbi, jphytomed, jpm, jsan, jtaer, jvd, jzbg, kidneydial, kinasesphosphatases, knowledge, labmed, laboratories, lam, land, lasers, legumes, life, lights, limnolrev, lipidology, liquids, livers, logics, logistics, lubricants, lymphatics, machines, macromol, magnetism, magnetochemistry, make, marinedrugs, maritime, materials, materproc, mathematics, mca, mcb, measurements, medicina, medicines, medsci, membranes, merits, metabolites, metals, meteorology, methane, metrics, metrology, micro, microarrays, microbiolres, microelectronics, micromachines, microorganisms, microplastics, microwave, minerals, mining, mmphys, modelling, molbank, molecules, mollusca, mps, msf, mti, multimedia, muscles, nanoenergyadv, nanomanufacturing, nanomaterials, ncrna, ndt, network, neuroglia, neuroimaging, neurolint, neurosci, nitrogen, notspecified, nursrep, nutraceuticals, nutrients, obesities, occuphealth, oceans, ohbm, onco, optics, oral, organics, organoids, osteology, oxygen, pandemics, parasites, parasitologia, particles, pathogens, pathophysiology, pediatrrep, pets, pharmaceuticals, pharmaceutics, pharmacoepidemiology, pharmacy, phc, philosophies, photochem, photonics, photovoltaics, phycology, physchem, physics, physiologia, plants, plasma, platforms, pollutants, polymers, polysaccharides, populations, poultry, powders, precision, precisoncol, preprints, proceedings, processes, prosthesis, proteomes, psf, psychiatryint, psychoactives, purification, quantumrep, quaternary, qubs, radiation, rareearths, rdt, reactions, realestate, receptors, recycling, regeneration, remotesensing, reports, reprodmed, resources, rheumato, rjpm, robotics, rsee, ruminants, safety, sanpp, sca, sci, scipharm, sclerosis, seeds, sensors, separations, sexes, shi, signals, sinusitis, siuj, skins, smartcities, smartfish, sna, societies, software, soilsystems, solar, solids, spectroscj, sports, standards, stats, std, stratsediment, stresses, strokerep, superintelligence, surfaces, surgeries, suschem, sustainability, sustainfoods, sustainpackag, symmetry, synbio, systems, tae, targets, taxonomy, technologies, telecom, test, textiles, thalassrep, therapeutics, thermo, timespace, tomography, toxics, toxins, tph, transplantology, transportation, traumacare, traumas, tri, tropicalmed, universe, urbansci, uro, vaccines, vehicles, venereology, vetsci, vibration, virtualworlds, viruses, vision, waste, water, welding, wem, wevj, wild, wind, women, world, zoonoticdis + +%--------- +% article +%--------- +% The default type of manuscript is "article", but can be replaced by: +% abstract, addendum, article, benchmark, book, bookreview, briefcommunication, briefreport, casereport, changes, clinicopathologicalchallenge, comment, commentary, communication, conceptpaper, conferenceproceedings, correction, conferencereport, creative, datadescriptor, discussion, entry, expressionofconcern, extendedabstract, editorial, essay, erratum, fieldguide, hypothesis, interestingimages, letter, meetingreport, monograph, newbookreceived, obituary, opinion, proceedingpaper, projectreport, reply, retraction, review, perspective, protocol, shortnote, studyprotocol, supfile, systematicreview, technicalnote, viewpoint, guidelines, registeredreport, tutorial, giantsinurology, urologyaroundtheworld +% supfile = supplementary materials + +%---------- +% submit +%---------- +% The class option "submit" will be changed to "accept" by the Editorial Office when the paper is accepted. This will only make changes to the frontpage (e.g., the logo of the journal will get visible), the headings, and the copyright information. Also, line numbering will be removed. Journal info and pagination for accepted papers will also be assigned by the Editorial Office. + +%------------------ +% moreauthors +%------------------ +% If there is only one author the class option oneauthor should be used. Otherwise use the class option moreauthors. + +%================================================================= +% MDPI internal commands - do not modify +\firstpage{1} +\makeatletter +\setcounter{page}{\@firstpage} +\makeatother +\pubvolume{1} +\issuenum{1} +\articlenumber{0} +\pubyear{2026} +\copyrightyear{2026} +%\externaleditor{Firstname Lastname} % More than 1 editor, please add `` and '' before the last editor name +\datereceived{ } +\daterevised{ } % Comment out if no revised date +\dateaccepted{ } +\datepublished{ } +%\datecorrected{} % For corrected papers: "Corrected: XXX" date in the original paper. +%\dateretracted{} % For retracted papers: "Retracted: XXX" date in the original paper. +%\doinum{} % Used for some special journals, like molbank +%\pdfoutput=1 % Uncommented for upload to arXiv.org +%\CorrStatement{yes} % For updates +%\longauthorlist{yes} % For many authors that exceed the left citation part +%\IsAssociation{yes} % For association journals + +%================================================================= +% Add packages and commands here. The following packages are loaded in our class file: fontenc, inputenc, calc, indentfirst, fancyhdr, graphicx, epstopdf, lastpage, ifthen, float, amsmath, amssymb, lineno, setspace, enumitem, mathpazo, booktabs, titlesec, etoolbox, tabto, xcolor, colortbl, soul, multirow, microtype, tikz, totcount, changepage, attrib, upgreek, array, tabularx, pbox, ragged2e, tocloft, marginnote, marginfix, enotez, amsthm, natbib, hyperref, cleveref, scrextend, url, geometry, newfloat, caption, draftwatermark, seqsplit +% cleveref: load \crefname definitions after \begin{document} + +%================================================================= +% Please use the following mathematics environments: Theorem, Lemma, Corollary, Proposition, Characterization, Property, Problem, Example, ExamplesandDefinitions, Hypothesis, Remark, Definition, Notation, Assumption +%% For proofs, please use the proof environment (the amsthm package is loaded by the MDPI class). + +%================================================================= +% Full title of the paper (Capitalized) +\Title{Title} + +% Author Orchid ID: enter ID or remove command +\newcommand{\orcidauthorA}{0000-0000-0000-000X} % Add \orcidA{} behind the author's name +%\newcommand{\orcidauthorB}{0000-0000-0000-000X} % Add \orcidB{} behind the author's name + +% Authors, for the paper (add full first names) +\Author{Firstname Lastname $^{1}$\orcidA{}, Firstname Lastname $^{2}$ and Firstname Lastname $^{2,}$*} + +%\longauthorlist{yes} + +% MDPI internal command: Authors, for metadata in PDF +\AuthorNames{Firstname Lastname, Firstname Lastname and Firstname Lastname} + +% Affiliations / Addresses (Add [1] after \address if there is only one affiliation.) +\address{% +$^{1}$ \quad Affiliation 1; e-mail@e-mail.com\\ +$^{2}$ \quad Affiliation 2; e-mail@e-mail.com} + +% Contact information of the corresponding author +\corres{Correspondence: e-mail@e-mail.com; Tel.: (optional; include country code; if there are multiple corresponding authors, add author initials) +xx-xxxx-xxx-xxxx (F.L.)} + +% Current address and/or shared authorship +%\firstnote{Current address: Affiliation.} +% Current address should not be the same as any items in the Affiliation section. + +%\secondnote{These authors contributed equally to this work.} +% The commands \thirdnote{} till \eighthnote{} are available for further notes. + +%\simplesumm{} % Simple summary + +%\conference{} % An extended version of a conference paper + +% Abstract (Do not insert blank lines, i.e. \\) +\abstract{A single paragraph of about 200 words maximum. For research articles, abstracts should give a pertinent overview of the work. We strongly encourage authors to use the following style of structured abstracts, but without headings: (1) Background: Place the question addressed in a broad context and highlight the purpose of the study. (2) Methods: Briefly describe the main methods or treatments applied. (3) Results: Summarize the article’s main findings. (4) Conclusions: Indicate the main conclusions or interpretations. The abstract should be an objective representation of the article and it must not contain results that are not presented and substantiated in the main text and should not exaggerate the main~conclusions.} + +% Keywords +\keyword{keyword 1; keyword 2; keyword 3 (List three to ten pertinent keywords specific to the article; yet reasonably common within the subject discipline.)} + +% The fields PACS, MSC, and JEL may be left empty or commented out if not applicable +%\PACS{J0101} +%\MSC{} +%\JEL{} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Only for the journal Diversity +%\LSID{\url{http://}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Only for the journal Applied Sciences +%\featuredapplication{Authors are encouraged to provide a concise description of the specific application or a potential application of the work. This section is not mandatory.} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Only for the journal Data +%\dataset{DOI number or link to the deposited data set if the data set is published separately. If the data set shall be published as a supplement to this paper, this field will be filled by the journal editors. In this case, please submit the data set as a supplement.} +%\datasetlicense{License under which the data set is made available (CC0, CC-BY, CC-BY-SA, CC-BY-NC, etc.)} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Only for the journal BioTech, Fishes, Neuroimaging and Toxins +%\keycontribution{The breakthroughs or highlights of the manuscript. Authors can write one or two sentences to describe the most important part of the paper.} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Only for the journal Encyclopedia +%\encyclopediadef{For entry manuscripts only: please provide a brief overview of the entry title instead of an abstract.} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Different journals have different requirements. Please check the specific journal guidelines in the "Instructions for Authors" on the journal's official website. +%\addhighlights{yes} +%\renewcommand{\addhighlights}{% +% +%\noindent This is an optional section, the goal of which is to increase the discoverability and readability of the article via search engines and other scholars. Highlights should not be a copy of the abstract, but a simple overview allowing the reader to quickly and simply find out what the article is about and what can be cited from it. Each of these parts should be up to 2 bullet points.\vspace{3pt}\\ +%\textbf{What are the main findings?} +% \begin{itemize}[labelsep=2.5mm,topsep=-3pt] +% \item First bullet. +% \item Second bullet. +% \end{itemize}\vspace{3pt} +%\textbf{What are the implications of the main findings?} +% \begin{itemize}[labelsep=2.5mm,topsep=-3pt] +% \item First bullet. +% \item Second bullet. +% \end{itemize} +%} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{document} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setcounter{section}{-1} %% Remove this when starting to work on the template. +\section{How to Use this Template} + +The template details the sections that can be used in a manuscript. Note that the order and names of article sections may differ from the requirements of the journal (e.g., the positioning of the Materials and Methods section). Please check the instructions on the authors' page of the journal to verify the correct order and names. + +Remove this paragraph and start section numbering with 1. For any questions, please contact the Editorial Office of the journal or \href{mailto:support@mdpi.com}{support@mdpi.com}. For LaTeX-related questions please contact \href{mailto:latex@mdpi.com}{latex@mdpi.com}.%\endnote{This is an endnote.} % To use endnotes, please un-comment \printendnotes below (before References). Only journal Laws uses \footnote. + +% The order of the section titles is different for some journals. Please refer to the "Instructions for Authors” on the journal homepage. + +\section{Introduction} + +The introduction should briefly place the study in a broad context and highlight why it is important. It should define the purpose of the work and its significance. The current state of the research field should be reviewed carefully and key publications cited. Please highlight controversial and diverging hypotheses when necessary. Finally, briefly mention the main aim of the work and highlight the principal conclusions. As far as possible, please keep the introduction comprehensible to scientists outside your particular field of research. Citing a journal paper \citep{ref-journal}. Now citing a book reference \citep{ref-book1,ref-book2} or other reference types \citep{ref-unpublish,ref-url}. Please use the command \citep{ref-proceeding,ref-thesis} for the following MDPI journals, which use author--date citation: Administrative Sciences, AI in Education, Arts, Behavioral Sciences, Businesses, Econometrics, Economies, Education Sciences, European Journal of Investigation in Health, Psychology and Education, Family Sciences, Future Collections, Libraries, Archives, and Museums, Games, Genealogy, Histories, Humanities, Humans, International Journal of Cognitive Sciences, International Journal of Financial Studies, Investment, Journal of Intelligence, Journalism and Media, Journal of Risk and Financial Management, Journal of Strategic and Applied Marketing, Languages, Laws, Literature, Operations Management, Peace Studies, Project Management Horizons, Psychology International, Publications, Religions, Risks, Social Sciences, Tourism and Hospitality, Youth. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Materials and Methods} + +The Materials and Methods should be described with sufficient detail to allow others to replicate and build on the published results. Please note that the publication of your manuscript implies that you must make all materials, data, computer code, and protocols associated with the publication available to readers. Please disclose at the submission stage any restrictions on the availability of materials or information. New methods and protocols should be described in detail while well-established methods can be briefly described and appropriately cited. + +Research manuscripts reporting large datasets that are deposited in a publicly available database should specify where the data have been deposited and provide the relevant accession numbers. If the accession numbers have not yet been obtained at the time of submission, please state that they will be provided during review. They must be provided prior to publication. + +Interventionary studies involving animals or humans, and other studies that require ethical approval, must list the authority that provided approval and the corresponding ethical approval code. + +In this section, where applicable, authors are required to disclose details of how generative artificial intelligence (GenAI) has been used in this paper (e.g., to generate text, data, or graphics, or to assist in study design, data collection, analysis, or interpretation). The use of GenAI for superficial text editing (e.g., grammar, spelling, punctuation, and formatting) does not need to be declared. + +\begin{quote} +This is an example of a quote. +\end{quote} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Results} + +This section may be divided by subheadings. It should provide a concise and precise description of the experimental results, their interpretation, and the experimental conclusions that can be drawn. + +\subsection{Subsection} +\subsubsection{Subsubsection} + +Bulleted lists look like this: +\begin{itemize} +\item First bullet; +\item Second bullet; +\item Third bullet. +\end{itemize} + +Numbered lists can be added as follows: +\begin{enumerate} +\item First item; +\item Second item; +\item Third item. +\end{enumerate} + +The text continues here. + +\subsection{Figures, Tables and Schemes} + +All figures and tables should be cited in the main text as Figure~\ref{fig1}, Table~\ref{tab1}, etc. + +\begin{figure}[H] +%\isPreprints{\centering}{} % Only used for preprints +\includegraphics[width=8.0 cm]{Definitions/logo-mdpi} +\caption{This is a figure. Schemes follow the same formatting.\label{fig1}} +\end{figure} +\unskip + +\begin{table}[H] +%\small % Change table font size +\caption{This is a table caption. Tables should be placed in the main text near the first time they are~cited.\label{tab1}} +%\isPreprints{\centering}{} % Only used for preprints +\begin{tabularx}{\textwidth}{CCC} +\toprule +\textbf{Title 1} & \textbf{Title 2} & \textbf{Title 3}\\ +\midrule +Entry 1 & Data & Data\\ +Entry 2 & Data & Data \textsuperscript{1}\\ +\bottomrule +\end{tabularx} + +\noindent{\small{\textsuperscript{1} Tables may have a footer.}} +\end{table} + +The text continues here (Figure~\ref{fig2} and Table~\ref{tab2}). + +% Example of a figure that spans the whole page width and with subfigures. The same concept works for tables, too. +\begin{figure}[H] +%\isPreprints{}{% This command is only used for ``preprints''. +\begin{adjustwidth}{-\extralength}{0cm} +\centering +%} % If the paper is ``preprints'', please uncomment this parenthesis. +\subfloat[\centering]{\includegraphics[width=7.0cm]{Definitions/logo-mdpi}} +%\hfill +\subfloat[\centering]{\includegraphics[width=7.0cm]{Definitions/logo-mdpi}}\\ +\subfloat[\centering]{\includegraphics[width=7.0cm]{Definitions/logo-mdpi}} +%\hfill +\subfloat[\centering]{\includegraphics[width=7.0cm]{Definitions/logo-mdpi}} +%\isPreprints{}{% This command is only used for ``preprints''. +\end{adjustwidth} +%} % If the paper is ``preprints'', please uncomment this parenthesis. +\caption{This is a wide figure. Schemes follow the same formatting. If there are multiple panels, they should be listed as follows: (\textbf{a}) Description of what is contained in the first panel. (\textbf{b}) Description of what is contained in the second panel. (\textbf{c}) Description of what is contained in the third panel. (\textbf{d}) Description of what is contained in the fourth panel. Figures should be placed in the main text near the first time they are cited.\label{fig2}} +\end{figure} + +\begin{table}[H] +\caption{This is a wide table. Tables should be placed in the main text near the first time they are~cited.\label{tab2}} +%\isPreprints{\centering}{% This command is only used for ``preprints''. + \begin{adjustwidth}{-\extralength}{0cm} +%} % If the paper is ``preprints'', please uncomment this parenthesis. +%\isPreprints{\begin{tabularx}{\textwidth}{CCCC}}{% This command is only used for ``preprints''. + \begin{tabularx}{\fulllength}{CCCC} +%} % If the paper is ``preprints'', please uncomment this parenthesis. + \toprule + \textbf{Title 1} & \textbf{Title 2} & \textbf{Title 3} & \textbf{Title 4}\\ + \midrule +\multirow[m]{3}{*}{Entry 1 *} & Data & Data & Data\\ + & Data & Data & Data\\ + & Data & Data & Data\\ + \midrule +\multirow[m]{3}{*}{Entry 2} & Data & Data & Data\\ + & Data & Data & Data\\ + & Data & Data & Data\\ + \bottomrule + \end{tabularx} +% \isPreprints{}{% This command is only used for ``preprints''. + \end{adjustwidth} +%} % If the paper is ``preprints'', please uncomment this parenthesis. + \noindent{\small{* Tables may have a footer.}} +\end{table} + +%\begin{listing}[H] +%\caption{Title of the listing} +%\rule{\columnwidth}{1pt} +%\raggedright Text of the listing. In font size footnotesize, small, or normalsize. Preferred format: left aligned and single spaced. Preferred border format: top border line and bottom border line. +%\rule{\columnwidth}{1pt} +%\end{listing} + +Text. + +Text. + +\subsection{Formatting of Mathematical Components} + +This is example 1 of an equation: +\begin{equation} +a = 1, +\end{equation} +the text following an equation need not be a new paragraph if it continues a sentence. Please punctuate equations as regular text. + +This is example 2 of an equation: +%\isPreprints{}{% This command is only used for ``preprints''. +\begin{adjustwidth}{-\extralength}{0cm} +%} % If the paper is ``preprints'', please uncomment this parenthesis. +\begin{equation} +a = b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u + v + w + x + y + z +\end{equation} +%\isPreprints{}{% This command is only used for ``preprints''. +\end{adjustwidth} +%} % If the paper is ``preprints'', please uncomment this parenthesis. + +If the text following an equation starts a new sentence, it should be a new paragraph. Please punctuate equations as regular text. + +%% Example of a page in landscape format (with table and table footnote). +%\startlandscape +%\begin{table}[H] %% Table in wide page +%%\isPreprints{\centering}{} % This command is only used for ``preprints''. +%\caption{This is a very wide table.\label{tab3}} +% \begin{tabularx}{\textwidth}{CCCC} +% \toprule +% \textbf{Title 1} & \textbf{Title 2} & \textbf{Title 3} & \textbf{Title 4}\\ +% \midrule +% Entry 1 & Data & Data & This cell has some longer content that runs over two lines.\\ +% Entry 2 & Data & Data & Data\textsuperscript{1}\\ +% \bottomrule +% \end{tabularx} +%%\isPreprints{}{% This command is only used for ``preprints''. +% \begin{adjustwidth}{+\extralength}{0cm} +%%} % If the paper is ``preprints'', please uncomment this parenthesis. +% \noindent\small{\textsuperscript{1} This is a table footnote.} +%%\isPreprints{}{% This command is only used for ``preprints''. +% \end{adjustwidth} +%%} % If the paper is ``preprints'', please uncomment this parenthesis. +%\end{table} +%\finishlandscape + +Theorem-type environments (including propositions, lemmas, corollaries, etc.) can be formatted as follows: +%% Example of a theorem: +\begin{Theorem} +Example text of a theorem. Theorems, propositions, lemmas, etc., should be numbered sequentially (i.e., Proposition 2 follows Theorem 1). Examples or Remarks use the same formatting, but should be numbered separately, so a document may contain Theorem 1, Remark 1 and Example~1. +\end{Theorem} + +The text continues here. Proofs must be formatted as follows: + +%% Example of a proof: +\begin{proof}[Proof of Theorem 1] +Text of the proof. Note that the phrase ``of Theorem 1'' is optional if it is clear which theorem is being referred to. +\end{proof} +The text continues here. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Discussion} + +Authors should discuss the results and how they can be interpreted from the perspective of previous studies and of the working hypotheses. The findings and their implications should be discussed in the broadest context possible. Future research directions may also be highlighted. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Conclusions} + +This section is not mandatory but can be added to the manuscript if the discussion is unusually long or complex. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Patents} + +This section is not mandatory but may be added if there are patents resulting from the work reported in this manuscript. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\vspace{6pt} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% optional +%\supplementary{The following supporting information can be downloaded at \linksupplementary{s1}, Figure S1: title; Table S1: title; Video S1: title.} + +% Only for journal Methods and Protocols: +% If you wish to submit a video article, please do so with any other supplementary material. +% \supplementary{The following supporting information can be downloaded at \linksupplementary{s1}, Figure S1: title; Table S1: title; Video S1: title. A supporting video article is available at doi: link.} + +% Only used for preprtints: +% \supplementary{The following supporting information can be downloaded at the website of this paper posted on \href{https://www.preprints.org/}{Preprints.org}.} + +% Only for journal Hardware: +% If you wish to submit a video article, please do so with any other supplementary material. +% \supplementary{The following supporting information can be downloaded at \linksupplementary{s1}, Figure S1: title; Table S1: title; Video S1: title.\vspace{6pt}\\ +%\begin{tabularx}{\textwidth}{lll} +%\toprule +%\textbf{Name} & \textbf{Type} & \textbf{Description} \\ +%\midrule +%S1 & Python script (.py) & Script of python source code used in XX \\ +%S2 & Text (.txt) & Script of modelling code used to make Figure X \\ +%S3 & Text (.txt) & Raw data from experiment X \\ +%S4 & Video (.mp4) & Video demonstrating the hardware in use \\ +%... & ... & ... \\ +%\bottomrule +%\end{tabularx} +%} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\authorcontributions{For research articles with several authors, a short paragraph specifying their individual contributions must be provided. The following statements should be used ``Conceptualization, X.X. and Y.Y.; methodology, X.X.; software, X.X.; validation, X.X., Y.Y. and Z.Z.; formal analysis, X.X.; investigation, X.X.; resources, X.X.; data curation, X.X.; writing---original draft preparation, X.X.; writing---review and editing, X.X.; visualization, X.X.; supervision, X.X.; project administration, X.X.; funding acquisition, Y.Y. All authors have read and agreed to the published version of the manuscript.'', please turn to the \href{http://img.mdpi.org/data/contributor-role-instruction.pdf}{CRediT taxonomy} for the term explanation. Authorship must be limited to those who have contributed substantially to the work~reported.} + +\funding{Please add: ``This research received no external funding'' or ``This research was funded by NAME OF FUNDER grant number XXX''. Check carefully that the details given are accurate and use the standard spelling of funding agency names at \url{https://search.crossref.org/funding}, any errors may affect your future funding.} + +\institutionalreview{In this section, please add the Institutional Review Board Statement and approval number for studies involving humans or animals. You might choose to exclude this statement if the study did not require ethical approval. Please note that the Editorial Office might ask you for further information. Please add ``The study was conducted in accordance with the Declaration of Helsinki, and approved by the Institutional Review Board (or Ethics Committee) of NAME OF INSTITUTE (protocol code XXX and date of approval).” for studies involving humans OR ``The animal study protocol was approved by the Institutional Review Board (or Ethics Committee) of NAME OF INSTITUTE (protocol code XXX and date of approval).” for studies involving animals OR ``Ethical review and approval were waived for this study due to REASON (please provide a detailed justification).” OR ``Not applicable.” for studies not involving humans or animals.} + +\informedconsent{Any research article describing a study involving humans should contain this statement. Please add ``Informed consent was obtained from all subjects involved in the study.'' OR ``Patient consent was waived due to REASON (please provide a detailed justification).'' OR ``Not applicable'' for studies not involving humans. You might also choose to exclude this statement if the study did not involve humans. + +Written informed consent for publication must be obtained from participating patients who can be identified (including by the patients themselves). Please state ``Written informed consent has been obtained from the patient(s) to publish this paper.” if applicable.} + +\dataavailability{We encourage all authors of articles published in MDPI journals to share their research data. In this section, please provide details regarding where data supporting reported results can be found, including links to publicly archived datasets analyzed or generated during the study. Where no new data were created, or where data are unavailable due to privacy or ethical restrictions, a statement is still required. Suggested Data Availability Statements are available in the section ``MDPI Research Data Policies” at \url{https://www.mdpi.com/ethics}.} + +%\durcstatement{Current research is limited to the [please insert a specific academic field, e.g., XXX], which is beneficial [share benefits and/or primary use] and does not pose a threat to public health or national security. Authors acknowledge the dual-use potential of the research involving xxx and confirm that all necessary precautions have been taken to prevent potential misuse. As an ethical responsibility, authors strictly adhere to relevant national and international laws about DURC. Authors advocate for responsible deployment, ethical considerations, regulatory compliance, and transparent reporting to mitigate misuse risks and foster beneficial outcomes.} + +% Only for journal Nursing Reports +%\publicinvolvement{Please describe how the public (patients, consumers, carers) were involved in the research. Consider reporting against the GRIPP2 (Guidance for Reporting Involvement of Patients and the Public) checklist. If the public were not involved in any aspect of the research add: ``No public involvement in any aspect of this research''.} +% +%% Only for journal Nursing Reports +%\guidelinesstandards{Please add a statement indicating which reporting guideline was used when drafting the report. For example, ``This manuscript was drafted against the XXX (the full name of reporting guidelines and citation) for XXX (type of research) research''. A complete list of reporting guidelines can be accessed via the equator network: \url{https://www.equator-network.org/}.} +% +%% Only for journal Nursing Reports +%\useofartificialintelligence{Please describe in detail any and all uses of artificial intelligence (AI) or AI-assisted tools used in the preparation of the manuscript. This may include, but is not limited to, language translation, language editing and grammar, or generating text. Alternatively, please state that “AI or AI-assisted tools were not used in drafting any aspect of this manuscript”.} + +\acknowledgments{In this section, you can acknowledge any support given that is not covered by the author contribution or funding sections. This may include administrative and technical support, or donations in kind (e.g., materials used for experiments). Where GenAI has been used for purposes such as generating text, data, or graphics, or for study design, data collection, analysis, or interpretation of data, please add ``During the preparation of this manuscript/study, the author(s) used [tool name, version information] for the purposes of [description of use]. The authors have reviewed and edited the output and take full responsibility for the content of this publication.”} + +\conflictsofinterest{Declare conflicts of interest or state ``The authors declare no conflicts of interest.” Authors must identify and declare any personal circumstances or interests that may be perceived as inappropriately influencing the representation or interpretation of reported research results. Any role of the funders in the design of the study; in the collection, analyses or interpretation of data; in the writing of the manuscript; or in the decision to publish the results must be declared in this section. If there is no role, please state ``The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the~results”.} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Optional + +%% Only for journal Encyclopedia +%\entrylink{The Link to this entry published on the encyclopedia platform.} + +\abbreviations{Abbreviations}{% +The following abbreviations are used in this manuscript:\\ + +\noindent +\begin{tabular}{@{}ll} +MDPI & Multidisciplinary Digital Publishing Institute\\ +DOAJ & Directory of open access journals\\ +TLA & Three-letter acronym\\ +LD & Linear dichroism +\end{tabular} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Optional +\appendixtitles{no} % Leave argument "no" if all appendix headings stay EMPTY (then no dot is printed after "Appendix A"). If the appendix sections contain a heading then change the argument to "yes". +\appendixstart +\appendix +\section[\appendixname~\thesection]{} +\subsection[\appendixname~\thesubsection]{} + +The appendix is an optional section that can contain details and data supplemental to the main text---for example, explanations of experimental details that would disrupt the flow of the main text but nonetheless remain crucial to understanding and reproducing the research shown; figures of replicates for experiments of which representative data are shown in the main text can be added here if brief, or as Supplementary Materials. Mathematical proofs of results not central to the paper can be added as an appendix. + +\begin{table}[H] +\caption{This is a table caption.\label{tab5}} +%\newcolumntype{C}{>{\centering\arraybackslash}X} +\begin{tabularx}{\textwidth}{CCC} +\toprule +\textbf{Title 1} & \textbf{Title 2} & \textbf{Title 3}\\ +\midrule +Entry 1 & Data & Data\\ +Entry 2 & Data & Data\\ +\bottomrule +\end{tabularx} +\end{table} + +\section[\appendixname~\thesection]{} + +All appendix sections must be cited in the main text. In the appendices, figures, tables, etc., should be labeled starting with “A”, e.g., Figure A1, Figure A2, etc. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\isPreprints{}{% This command is only used for ``preprints''. +\begin{adjustwidth}{-\extralength}{0cm} +%} % If the paper is ``preprints'', please uncomment this parenthesis. +%\printendnotes[custom] % Un-comment to print a list of endnotes + +\reftitle{References} + +% References must be numbered in order of appearance in the text (including citations in tables and legends) and listed individually at the end of the manuscript. We recommend preparing the references with a bibliography software package, such as EndNote, ReferenceManager or Zotero, to avoid typing mistakes and duplicated references. Include the digital object identifier (DOI) for all references where available. +% Please provide either the correct journal abbreviation (e.g. according to the “The list of Title Word Abbreviations” https://portal.issn.org/ltwa) or the full name of the journal. +% Citations and references in the Supplementary Materials are permitted provided that they also appear in the reference list here. +% In the text, reference numbers should be placed in square brackets [ ] and placed before the punctuation; for example, [1], [1–3] or [1,3]. For embedded citations in the text with pagination, use both parentheses and brackets to indicate the reference number and page numbers; for example, [5] (p. 10), or [6] (pp. 101–105). + +%===================================== +% References, variant A: external bibliography +%===================================== +% \bibliography{your_external_BibTeX_file} + +%===================================== +% References, variant B: internal bibliography +%===================================== + +% ACS format +\begin{thebibliography}{999} +% Reference 1 +\bibitem{ref-journal} +Author~1, T. The title of the cited article. {\em Journal Abbreviation} {\bf 2008}, {\em 10}, 142--149. +% Reference 2 +\bibitem{ref-book1} +Author~2, L. The title of the cited contribution. In {\em The Book Title}; Editor 1, F., Editor 2, A., Eds.; Publishing House: City, Country, 2007; pp. 32--58. +% Reference 3 +\bibitem{ref-book2} +Author 1, A.; Author 2, B. \textit{Book Title}, 3rd ed.; Publisher: Publisher Location, Country, 2008; pp. 154--196. +% Reference 4 +\bibitem{ref-unpublish} +Author 1, A.B.; Author 2, C. Title of Unpublished Work. \textit{Abbreviated Journal Name} year, \textit{phrase indicating stage of publication (submitted; accepted; in press)}. +% Reference 5 +\bibitem{ref-url} +Title of Site. Available online: URL (accessed on Day Month Year). +% Reference 6 +\bibitem{ref-proceeding} +Author 1, A.B.; Author 2, C.D.; Author 3, E.F. Title of presentation. In Proceedings of the Name of the Conference, Location of Conference, Country, Date of Conference (Day Month Year); Abstract Number (optional), Pagination (optional). +% Reference 7 +\bibitem{ref-thesis} +Author 1, A.B. Title of Thesis. Level of Thesis, Degree-Granting University, Location of University, Date of Completion. +\end{thebibliography} + +% If authors have biography, please use the format below +%\section*{Short Biography of Authors} +%\bio +%{\raisebox{-0.35cm}{\includegraphics[width=3.5cm,height=5.3cm,clip,keepaspectratio]{Definitions/author1.pdf}}} +%{\textbf{Firstname Lastname} Biography of first author} +% +%\bio +%{\raisebox{-0.35cm}{\includegraphics[width=3.5cm,height=5.3cm,clip,keepaspectratio]{Definitions/author2.jpg}}} +%{\textbf{Firstname Lastname} Biography of second author} + +% For the MDPI journals use author-date citation, please follow the formatting guidelines on http://www.mdpi.com/authors/references +% To cite two works by the same author: \citeauthor{ref-journal-1a} (\citeyear{ref-journal-1a}, \citeyear{ref-journal-1b}). This produces: Whittaker (1967, 1975) +% To cite two works by the same author with specific pages: \citeauthor{ref-journal-3a} (\citeyear{ref-journal-3a}, p. 328; \citeyear{ref-journal-3b}, p.475). This produces: Wong (1999, p. 328; 2000, p. 475) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% for journal Sci +%\reviewreports{\\ +%Reviewer 1 comments and authors’ response\\ +%Reviewer 2 comments and authors’ response\\ +%Reviewer 3 comments and authors’ response +%} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\PublishersNote{} +%\isPreprints{}{% This command is only used for ``preprints''. +\end{adjustwidth} +%} % If the paper is ``preprints'', please uncomment this parenthesis. +\end{document} + diff --git a/template.tex:Zone.Identifier b/template.tex:Zone.Identifier new file mode 100644 index 0000000..b487fc7 --- /dev/null +++ b/template.tex:Zone.Identifier Binary files differ