diff --git a/patterns_formatting/Figure1.jpg b/patterns_formatting/Figure1.jpg new file mode 100644 index 0000000..47d8597 Binary files /dev/null and b/patterns_formatting/Figure1.jpg differ diff --git a/patterns_formatting/article-template.pdf b/patterns_formatting/article-template.pdf new file mode 100644 index 0000000..697b46e Binary files /dev/null and b/patterns_formatting/article-template.pdf differ diff --git a/patterns_formatting/article-template.tex b/patterns_formatting/article-template.tex new file mode 100644 index 0000000..1ef8f0d --- /dev/null +++ b/patterns_formatting/article-template.tex @@ -0,0 +1,427 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% Welcome to the Patterns LaTeX template 2.0 +%%% derived from the Cell Press template, +%%% version 1.8. This is a minimalist template +%%% to help you organize your article for +%%% publication at Cell Press. PLEASE NOTE: + +%%% (1) If you submit your final manuscript materials +%%% in LaTeX format, our typesetters will prepare +%%% a Word file for use in production. This conversion +%%% process allows us to copyedit your paper, fix +%%% any typos, and add formatting and tagging. The +%%% conversion process will add approximately 3 +%%% business days to the production timeline. +%%% Authors using LaTeX should keep this in mind +%%% when considering deadlines. + +%%% (2) Keep your LaTeX files as simple as possible. +%%% Avoid the use of elaborate local macros and/or +%%% customized external style files. If you need +%%% additional macros, please keep them simple and +%%% include them in the actual .tex document preamble. +%%% Source code should be set up so that all .sty +%%% and .bst files called by the main .tex file are +%%% in the same directory as the main .tex file. + +%%% (3) Cell Press publishes more than 40 journals, +%%% some of which may have different or additional +%%% formatting requirements not specified in this +%%% template. When revising your paper before +%%% acceptance, please review the formatting +%%% guidelines, including the Final Files Requirements, +%%% for the journal you are publishing with. + +%%% Please send feedback on this template to patterns@cell.com. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass[12pt,letterpaper]{article} +\usepackage[a4paper, total={7in, 10in}]{geometry} +\renewcommand{\familydefault}{\sfdefault} +\usepackage{graphicx} +\usepackage{helvet} +\usepackage{authblk} +\usepackage{hyperref} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage[super,comma,sort&compress] + {natbib}\bibliographystyle{numbered} +\usepackage[right]{lineno} \linenumbers + + +\makeatletter +\renewcommand{\maketitle}{\bgroup\setlength{\parindent}{0pt} +\begin{flushleft} + \textbf{\@title} + + \@author +\end{flushleft}\egroup} +\makeatother + +%%% Insert title below; leave date empty. + +\title{Title is a maximum of 145 characters, including spaces, and avoids the use of jargon and uncommon abbreviations} +\date{} + +%%% Author first and last names should be spelled +%%% out in their entirety (do not abbreviate "J.H. +%%% Watson" unless this is how the author's name +%%% always appears). Middle initials are OK. Do +%%% not include titles, positions, or degrees. + +%%% Use numbered footnotes to indicate institutional +%%% affiliations. Authors may have multiple +%%% institutional affiliations, and affiliations +%%% may be shared among multiple authors. + +%%% After the institutional affiliations, numbered +%%% footnotes may be used to indicate an author's +%%% present address, equal contribution status, +%%% and/or senior author status. Corresponding +%%% authors may additionally include Twitter (X) +%%% handles as a means of contact. + +%%% The final numbered footnote should indicate +%%% which author is the lead contact (required). +%%% One author must be designated as the lead contact. +%%% There can be no more than one lead contact. + +%%% Corresponding authors should be indicated with +%%% asterisks (*). Use 2 asterisks (**) for the +%%% second-listed corresponding author, 3 (***) for +%%% the third-listed, and so on. The lead contact +%%% must be a corresponding author. Additional +%%% authors may also serve as corresponding authors. + +\author[1,5]{First Last} +\author[1,2,5]{First Middle Last} +\author[2,3]{First M.M. Last} +\author[3,*]{First Last, Jr.} +\author[3,4,6,7,8,**]{F. Middle Last} + + +%%% Institutional affiliations should contain the +%%% following information at minimum: department(s)/ +%%% subunit(s), institution, city, state/region (if +%%% applicable), and country. + +\affil[1]{University A, London SW7 2AZ, UK} +\affil[2]{Department B, University B, Toronto, ON M5S 3H6, Canada} +\affil[3]{Division C, Department C, University C, Cambridge, MA, USA} + +\affil[4]{Present address: 123 Sesame Street, New York, NY, USA} +\affil[5]{These authors contributed equally} +\affil[6]{Senior author} +\affil[7]{Twitter: @CorrespondingAuthor} +\affil[8]{Lead contact} + +%%% List only one email address per corresponding author. + +\affil[*]{Correspondence: first.last.jr@university.edu} +\affil[**]{Correspondence: f.middle.last@university.edu} + + + +\begin{document} + +\maketitle + +\section*{SUMMARY} + +The summary (abstract) should consist of a single paragraph of 150 words or fewer. + +\section*{KEYWORDS} + +%%% Include up to 10 keywords, separated by commas. +%%% Keywords entered in EM are not carried over; only +%%% keywords included in the main text will be used +%%% in the final article metadata. + +cell, press, LaTeX, template + +\section*{INTRODUCTION} + +No subheadings, please. Use of abbreviations should be kept to a minimum, and nonstandard abbreviations should be defined when first used in the text. + +\section*{RESULTS} + +The results may be divided with subheadings. Please do not use numbered subheadings. For some formats, ``results and discussion" may be combined under a single heading. + +\subsection*{Figures} + +For initial submissions, figures and their titles and legends can be run-in with the text. For final submissions, the image files must be uploaded as separate files, one complete file per figure. The figure titles and legends should be placed toward the end of the main text, after the declaration of interests. Our typesetters will place the figures and their titles and legends appropriately based on your in-text citations. + +\subsection*{Citations} + +To cite/link to display items (figures and tables) and/or sections of the manuscript, simply write, for example, ``(Figure 1)" or ``see discussion." Our team will do the rest. Please note that we do not number sections or subsections. + +To cite references, you may use the cite command, e.g., ``Recent articles in \textit{Matter} and \textit{Cell} \cite{wang2020conformational,li2020conformational} have shown ..." or ``Many interesting discoveries have been reported, \cite{wang2020conformational,radzihovsky1995new,cates1984statics,kapoor2022leakage,hantke2018my} which ..." + +\subsection*{Equations} + +Simple formulae should appear in line with the text whenever possible. You can write inline math by enclosing it between \verb|\(| and \verb|\)|, as in this example: \(x^2 + y^2 = z^2\). You can also enclose it between dollar signs (\texttt{\$}), as in this example: $E=mc^2$. + +Larger, more complex formulae may appear on a new line, either by enclosing them between \verb|\[| and \verb|\]| or by using the \verb|displaymath| environment: + +\[ x^n + y^n = z^n \] + +\begin{displaymath} +\sqrt{x^2+1} +\end{displaymath} + +If any equations or formulae need to be referred to or cited again later in the text, use the \verb|equation| environment to number them. Later, you can cite these as "Equation 1," "Equation 2," etc. + +\begin{equation} +f(x) = \sum_{i=0}^{n} \frac{a_i}{1+x} +\end{equation} + +\section*{DISCUSSION} + +The discussion should explain the significance of the results and place them into a broader context. Subheadings are permitted. + +\subsection*{Limitations of the study} + +A "limitations" or "limitations of the study" subsection in the discussion is encouraged. + +\section*{METHODS} + +\subsection*{Custom methods subheading 1} +\subsection*{Custom methods subheading 2} + +%%% The methods section usually appears +%%% immediately after the discussion section, +%%% but may be moved elsewhere at the author's +%%% discretion, subject to editor approval. + +\section*{RESOURCE AVAILABILITY} + +%%% The resource availability section is required +%%% for all research articles. It is the first +%%% section that should appear under the "experimental +%%% procedures" heading. This section must contain +%%% the following required subsections: "lead contact," +%%% "materials availability," and "data and code +%%% availability." These 3 subsections are mandatory +%%% even if no unique materials were generated in +%%% the study. Do not edit or change the names of +%%% the (sub)headings. No other subheadings or text +%%% are allowed in the resource availability section. + +\subsection*{Lead contact} + +%%% Authors are required to designate a lead contact, +%%% who will be responsible for communication with +%%% the journal before and after publication and is +%%% the arbiter of disputes, including concerns +%%% related to reagents or resource sharing. Only +%%% one author can be named the lead contact, and +%%% only the lead contact’s information may be +%%% provided in this section. + +Requests for further information and resources should be directed to and will be fulfilled by the lead contact, Sally White (s.white@university.edu). + +\subsection*{Materials availability} + +%%% This subsection must include a statement describing +%%% the availability of newly generated materials +%%% associated with the paper, including any conditions +%%% for access. If there are no newly generated materials +%%% associated with the paper, the statement should +%%% state this, e.g.: This study did not generate new +%%% materials. + +Plasmids generated in this study have been deposited to [Addgene, name and catalog number or unique identifier]. + +\subsection*{Data and code availability} + +%%% All original research papers must include a +%%% comprehensive and accurate “data and code +%%% availability” statement within the “resource +%%% availability” section of the paper before it +%%% is accepted for publication. + +Our source code is available at GitHub (LINK) and has been archived at Zenodo\cite{georgios_rizos_2023_10253149}. Any additional information required to reanalyze the data reported in this paper is available from the lead contact upon request. + + +\newpage + +%%% The following sections sould appear after the +%%% experimental procedures + +\section*{Supplemental information index} + +%%% Supplemental information must be uploaded as +%%% separate files. In the main text, please list the +%%% files to be included in a brief index. For details, +%%% please review the supplemental information guidelines: + +%%% Journals with experimental procedures: +%%% http://www.cell.com/supplemental-information + +%%% Journals with STAR Methods: +%%% https://www.cell.com/STAR-supplemental-information + +\begin{description} + \item Figures S1-S5 and their legends in a PDF + \item Table S1. A descriptive title for an Excel file that was too large to appear in the PDF + \item Table S2. Another descriptive title for a different Excel file + \item Data S1. Raw data on x, y, and z +\end{description} + +\section*{Acknowledgments} + +%%% Use this section to acknowledge contributions +%%% from non-authors and list funding sources, +%%% including grant numbers. + +This work was funded by [FUNDER] via grant [GRANT NO.]. The authors thank all members of the lab for their support. + +\section*{Author contributions} + +%%% This section is required for most research papers. +%%% Mention each individual author with a statement +%%% outlining the contribution of each author to the work. + +Conceptualization, S.C.P. and S.Y.W.; methodology, A.B., S.C.P., and S.Y.W.; investigation, M.E., A.N.V., N.A.V., S.C.P., and S.Y.W.; writing – original draft, S.C.P. and S.Y.W.; writing – review \& editing, S.C.P. and S.Y.W.; funding acquisition, S.C.P. and S.Y.W.; resources, M.E.V and C.K.B.; supervision, A.B., N.L.W., and A.A.D. + +\section*{Declaration of interests} + +%%% This section is required for all articles, even +%%% if the authors have no competing interests. Please +%%% refer to the declaration of interests policy: +%%% https://www.cell.com/declaration-of-interests + +The authors declare no competing interests. + +\section*{Declaration of generative AI and AI-assisted technologies} + +%%% If generative AI and AI-assisted technologies +%%% were used in the writing process, this must +%%% be disclosed in the paper. This declaration +%%% does not apply to the use of basic tools for +%%% checking grammar, spelling, references, etc. +%%% If you have nothing to disclose, please do not +%%% include this section. + +During the preparation of this work, the author(s) used [NAME OF TOOL OR SERVICE] in order to [REASON]. After using this tool or service, the author(s) reviewed and edited the content as needed and take(s) full responsibility for the content of the publication. + +\newpage + + +\section*{MAIN FIGURE TITLES AND LEGENDS} + +%%% At final submission, figure files MUST be +%%% provided separately as high-resolution image +%%% files. All of the panels for a figure should +%%% be in the same file. Figures should have +%%% clear labels/file names (Figure 1, Figure 2, +%%% etc.). + +%%% Figure titles and legends should be placed +%%% at the end of the main text. You do not +%%% need to place the figures, nor their titles +%%% and legends, within the main text. While +%%% typesetting your article, our team will +%%% place each figure in the best location +%%% based on the final layout and on your +%%% figure citations, e.g., (Figures 1A and 1B). + +%%% Please review the figure guidelines before +%%% submitting your final materials: +%%% https://www.cell.com/figureguidelines. + +\noindent\includegraphics[width=0.85\linewidth]{Figure1.jpg} + +\subsection*{Figure 1. A brief title that describes the entire figure without citing specific panels} + +The figure legend can be all one paragraph and describe the images (A), graphs (B), and plots (C), etc., together. +\newline +(A) Or each panel or group of panels can be described separately, as shown here and below. +\newline +(B) Graph of X, Y, and Z. +\newline +(C and D) If panels are grouped like this, please explicitly describe each panel, e.g., “Images showing SEM (C) and TEM (D).” +\newline +Please define all scale and error bars, and please review the Cell Press figure guidelines before submission: \href{https://www.cell.com/figureguidelines}{https://www.cell.com/figureguidelines}. Example figure created by Cassie Comeau, Cell Press. + +\newpage + +\section*{MAIN TABLES, INCLUDING TITLES AND LEGENDS} + +%%% Whenever possible, we encourage you to submit +%%% your main-text tables as Microsoft Word documents, +%%% using Word's table function. This will ensure +%%% the best results during conversion. Tables +%%% should be numbered Table 1, Table 2, etc. and +%%% should not include subpanels (do not use Table 1A, +%%% 1B, etc.). Give each table a brief descriptive +%%% title. Table legends are optional but encouraged. +%%% Footnotes (superscript lowercase letters) should +%%% be used where necessary to indicate some feature +%%% of the data; please do not use bold, italic, +%%% colored text, or shading for this purpose. Use +%%% separate cells, not line breaks or spaces, for +%%% all discrete data elements. Small embedded +%%% graphics with color are OK. + +%%% Like figures, all tables must be cited within +%%% the main text, and our typesetting team will +%%% place the tables within the typeset paper at +%%% the appropriate locations. + + +\subsection*{Table 1. A table with clear organization of data} + +\begin{tabular}{|l | l | l | l|} + \hline + \textbf{Column 1} & \textbf{Column 2} & \textbf{Column 3} & \textbf{Column 4} \\ [1ex] + \hline + Row A\textsuperscript{a} & 6 & 87,837 & 787 \\ [1ex] + \hline + Row B & 7 & 78 & 5,415 \\ [1ex] + \hline + Row C & 545 & 778 & 7507 \\ [1ex] + \hline + Row D & 545 & 18,744 & 7,560 \\ [1ex] + \hline + Row E & 88 & 788 & 6,344 \\ [1ex] + \hline +\end{tabular} + +\bigskip + +The table legend (optional) follows the table itself. The legend should be used to provide additional info that relates to the table as a whole. + +\textsuperscript{a}Footnotes can be used to provide additional info on specific content within the table, such as this footnote to the first row (row A). Do not use footnotes in the table title. + +\newpage + +%%% REFERENCES: As of 2023, all Cell Press journals +%%% use Numbered (AMA) style. We recommend placing +%%% your references in the included "references.bib" +%%% file. + + +\bibliography{references} + + +\bigskip + +%%% In your References, please include only articles +%%% that are published (online publication and +%%% preprint servers are OK). Unpublished data, +%%% submitted and/or accepted manuscripts, abstracts, +%%% and personal communications should be cited within +%%% the text only ("unpublished data," "data not +%%% shown," "Alice Smith, personal communication") +%%% and not included in the references list. Personal +%%% communication should be documented by a letter +%%% of permission. Whenever possible, please make +%%% sure your .bib file has the complete author lists +%%% for each item (at minimum, the first 11 authors +%%% listed). + + +\end{document} \ No newline at end of file diff --git a/patterns_formatting/numbered.bst b/patterns_formatting/numbered.bst new file mode 100644 index 0000000..57b8705 --- /dev/null +++ b/patterns_formatting/numbered.bst @@ -0,0 +1,1614 @@ + +%% `numbered.bst' is based on `model6-num-names.bst' +%% (Version 2.0), Copyright 2009-2012 Elsevier Ltd, +%% part of the `Elsarticle Bundle'. + + +ENTRY + { address + archive + author + booktitle + chapter + collaboration + edition + editor + eid + howpublished + institution + isbn + journal + key + month + note + number + numpages + organization + pages + publisher + school + series + title + type + volume + year + url + doi + eprint + pubmed + } + {} + { label extra.label sort.label short.list } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +STRINGS { urlprefix doiprefix eprintprefix pubmedprefix } + +FUNCTION {init.web.variables} +{ + "\URLprefix " 'urlprefix := + "\DOIprefix" 'doiprefix := + "\ArXivprefix " 'eprintprefix := + "\Pubmedprefix " 'pubmedprefix := +} + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +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$ + { add.period$ " " * write$ } + 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 {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 {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {no.blank.or.punct} +{ "" * before.all 'output.state := +} + +FUNCTION {date.block} +{ + ". " * + no.blank.or.punct +} + +FUNCTION {book.date.block} +{ ":\unskip" * + no.blank.or.punct +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +STRINGS {z} +FUNCTION {remove.dots} +{ 'z := + "" + { z empty$ not } + { z #1 #1 substring$ + z #2 global.max$ substring$ 'z := + duplicate$ "." = 'pop$ + { * } + if$ + } + while$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "" } + +FUNCTION {bbl.page} +{ "" } + +FUNCTION {bbl.eidpp} +{ "pages" } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {close.brace} +{ "}{}" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + "\bibinfo{" swap$ * "}{" * swap$ * "}" * + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +INTEGERS { nameptr namesleft numnames } + + +STRINGS { bibinfo} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, f.}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + nameptr #9 + #90 + + #1 + = + numnames #9 + #90 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + {"," * + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} + +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor + * + } + if$ +} +FUNCTION {format.isbn} +{ isbn "isbn" bibinfo.check + duplicate$ empty$ 'skip$ + { + new.block + "ISBN " swap$ * + } + if$ +} + +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.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 {word.in} +{ bbl.in capitalize + ":" * + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + " (" swap$ * ")" * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + 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 duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + "(" swap$ * ")" * + } + if$ +} + +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + emphasize + format.journal.pages +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ". " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + %emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + "," * + " " * + get.bbl.editor + " " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + address "address" bibinfo.check * + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.check format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {print.url} + {url duplicate$ empty$ + { pop$ "" } + { new.sentence + urlprefix "\url{" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.doi} + {doi duplicate$ empty$ + { pop$ "" } + { new.sentence + doiprefix "\doi{" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.eprint} + {eprint duplicate$ empty$ + { pop$ "" } + { new.sentence + duplicate$ "\href{http://arxiv.org/abs/" swap$ * "}{\tt arXiv:" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.pubmed} + {pubmed duplicate$ empty$ + { pop$ "" } + { new.sentence + pubmedprefix "\Pubmed{" * swap$ * "}" * + } + if$ + } + +FUNCTION {webpage} +{ "%Type = Webpage" write$ + output.bibitem + format.authors "author" output.check + author format.key output + author empty$ + { + format.title "title" output.check + new.block + format.date "year" output.check + date.block + } + { + format.date "year" output.check + date.block + format.title "title" output.check + new.block +} + if$ + print.url output + fin.entry +} + +FUNCTION {article} +{ "%Type = Article" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + "" * + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + print.url output + print.doi output + print.eprint output + print.pubmed output + new.block + format.note output + fin.entry +} + +FUNCTION {book} +{ "%Type = Book" write$ + output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + new.sentence + format.number.series output + format.edition output + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.isbn output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {booklet} +{ "%Type = Booklet" write$ + output.bibitem + format.authors output + author format.key output + new.block + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date "year" output.check + format.isbn output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {inbook} +{ "%Type = Inbook" write$ + output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + new.sentence + format.number.series output + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + crossref missing$ + { format.isbn output } + 'skip$ + if$ + format.date "year" output.check + book.date.block + format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {incollection} +{ "%Type = Incollection" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.chapter.pages output + new.sentence + format.number.series output + format.publisher.address output + format.edition output + format.isbn output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.date "year" output.check + book.date.block + format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {inproceedings} +{ "%Type = Inproceedings" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.date "year" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + new.sentence + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.isbn output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + + format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ "%Type = Manual" write$ + output.bibitem + format.authors output + author format.key output + new.block + format.btitle "title" output.check + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + format.date "year" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ "%Type = Mastersthesis" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {misc} +{ "%Type = Misc" write$ + output.bibitem + format.authors output + author format.key output + new.block + format.date "year" output.check + new.block + format.title output + new.block + howpublished "howpublished" bibinfo.check output + format.publisher.address output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {phdthesis} +{ "%Type = Phdthesis" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ "%Type = Proceedings" write$ + output.bibitem + format.editors output + editor format.key output + new.block + format.btitle "title" output.check + format.bvolume output + new.sentence + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.date "year" output.check + format.isbn output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {techreport} +{ "%Type = Techreport" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ "%Type = Unpublished" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + format.date "year" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +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 := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * 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 {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + { pop$ "????" } + { purify$ #-1 #4 substring$ } + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" +% "{vv~}{ll~}{\rd[f.f.]}{jj~}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { 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 {author.editor.sort} +{ author empty$ + { 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 {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +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 + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #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.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 +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\href}[2]{#2}" + write$ newline$ + "\providecommand{\path}[1]{#1}" + write$ newline$ + "\providecommand{\DOIprefix}{doi:}" + write$ newline$ + "\providecommand{\ArXivprefix}{arXiv:}" + write$ newline$ + "\providecommand{\URLprefix}{URL: }" + write$ newline$ + "\providecommand{\Pubmedprefix}{pmid:}" + write$ newline$ + "\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\Pubmed}[1]{\href{pmid:#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\BIBand}{and}" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\ifx\xfnm\undefined \def\xfnm[#1]{\unskip,\space#1}\fi" + write$ newline$ + "\makeatletter\def\@biblabel#1{#1.}\makeatother" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +EXECUTE {init.web.variables} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% +%% Change log: +%% ----------- +%% 22.04.2011 +%% +%% 10.08.2012 +%% a. doi, url, eprint, pmid added +%% b. Bibtype `webpage' defined +%% +%% End of file `model6-num-names.bst'. + diff --git a/patterns_formatting/numcompress.sty b/patterns_formatting/numcompress.sty new file mode 100644 index 0000000..b187eff --- /dev/null +++ b/patterns_formatting/numcompress.sty @@ -0,0 +1,189 @@ +%% +%% This is file 'numcompress'. +%% +%% Copyright (C) 2009-2012 River Valley Technologies +%% +%% +%% This package may be distributed under the terms of the LaTeX Project +%% Public License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1.0 or, at your option, any later version. +%% +%% $Id: numcompress.sty 187 2012-08-18 09:36:35Z rishi $ +%% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/numcompress.sty $ +%% +\NeedsTeXFormat{LaTeX2e} +\def\Fileversion$#1: #2 ${\gdef\fileversion{#2}} +\def\Filedate$#1: #2-#3-#4 #5 #6 #7 ${\gdef\filedate{#2/#3/#4}} +\Fileversion$Rev: 187 $ +\Filedate$LastChangedDate: 2012-08-18 15:06:35 +0530 (Sat, 18 Aug 2012) $ +\ProvidesPackage{numcompress} + [\filedate\space\fileversion\space numcompress (CVR)] +\PackageWarningNoLine{numcompress} + {****************************************\MessageBreak + Package numcompress v,\fileversion\space loaded\MessageBreak + [Compress numbers (CVR)]\MessageBreak + ****************************************} +\newif\ifdots \dotsfalse +\newif\ifnumcompress \numcompresstrue + +\DeclareOption{dots}{\global\dotstrue} +\DeclareOption{nodots}{\global\dotsfalse} +\DeclareOption{compress}{\global\numcompresstrue} +\DeclareOption{nocompress}{\global\numcompressfalse} + +\ProcessOptions + +\def\removeDot#1{\def\tmp{#1}% + \ifx\tmp\@empty\else\@removeDot#1\@nil\fi} + +\def\@removeDot#1\@nil{\edef\fchar{\expandafter\@car#1\@nil}% + \edef\rchar{\expandafter\@cdr#1!\@nil}% + \def\@xmltempa{.}\def\@xmltempb{!}% + \ifx\fchar\@xmltempb\relax\else% + \ifx\fchar\@xmltempa\relax\else% + \fchar\ignorespaces\fi\removeDot{\rchar}\fi} + +\def\First[#1]{\csname First#1\endcsname} +\def\Second[#1]{\csname Second#1\endcsname} + +\def\parseFirstPage#1{\@tempcnta=0 + \@tfor\@digits:=#1\do{% + {\global\advance\@tempcnta by 1 + \expandafter\xdef\csname + First\the\@tempcnta\endcsname{\@digits}% + \xdef\flength{\the\@tempcnta}}}} + +\def\parseSecondPage#1{\@tempcnta=0 + \@tfor\@digits:=#1\do{% + {\global\advance\@tempcnta by 1 + \expandafter\xdef\csname + Second\the\@tempcnta\endcsname{\@digits}% + \xdef\llength{\the\@tempcnta}}}} + +\newif\ifdissimilar\dissimilarfalse +\def\checkequal#1#2{\edef\Farg{#1}\edef\Sarg{#2}% + \edef\One{A}% + \ifcat\One\Farg \relax\else% + \ifdissimilar\Sarg\else% + \ifnum\Farg=\Sarg\relax\else\Sarg\dissimilartrue\fi\fi\fi} +% +\let\@@fpage\@empty +\let\@@lpage\@empty +\def\fpage@compress#1{% + \gdef\@@fpage{#1}% + \edef\llength{0}% + \parseFirstPage{#1}% + \ifnum\flength=\llength% + \gdef\@fpage{\@@fpage}% + \gdef\@lpage{% + \@ifundefined{Second1}{}{\checkequal{\First[1]}{\Second[1]}}% + \@ifundefined{Second2}{}{\checkequal{\First[2]}{\Second[2]}}% + \@ifundefined{Second3}{}{\checkequal{\First[3]}{\Second[3]}}% + \@ifundefined{Second4}{}{\checkequal{\First[4]}{\Second[4]}}% + \@ifundefined{Second5}{}{\checkequal{\First[5]}{\Second[5]}}% + }% + \else% + \gdef\@fpage{\@@fpage}% + \gdef\@lpage{\@@lpage}% + \fi} + +\def\lpage@compress#1{% + \gdef\@@lpage{#1}% + \parseSecondPage{#1}% + \ifnum\flength=\llength% + \gdef\@fpage{\@@fpage}% + \gdef\@lpage{% + \edef\One{A}% + \edef\xFirst{\First[1]}% + \edef\xSecond{\Second[1]}% + \ifcat\One\xSecond\relax% + \ifx\xFirst\xSecond% + \@ifundefined{Second1}{}{\checkequal{\First[1]}{\Second[1]}}% + \@ifundefined{Second2}{}{\checkequal{\First[2]}{\Second[2]}}% + \@ifundefined{Second3}{}{\checkequal{\First[3]}{\Second[3]}}% + \@ifundefined{Second4}{}{\checkequal{\First[4]}{\Second[4]}}% + \@ifundefined{Second5}{}{\checkequal{\First[5]}{\Second[5]}}% + \else#1\fi% + \else% + \ifx\xFirst\xSecond% + \@ifundefined{Second1}{}{\checkequal{\First[1]}{\Second[1]}}% + \@ifundefined{Second2}{}{\checkequal{\First[2]}{\Second[2]}}% + \@ifundefined{Second3}{}{\checkequal{\First[3]}{\Second[3]}}% + \@ifundefined{Second4}{}{\checkequal{\First[4]}{\Second[4]}}% + \@ifundefined{Second5}{}{\checkequal{\First[5]}{\Second[5]}}% + \else#1\fi% + \fi% + }% + \else + \gdef\@fpage{\@@fpage}% + \gdef\@lpage{% + \edef\Targ{#1}% + \edef\One{A}% + \edef\xFirst{\First[1]}% + \edef\xSecond{\Second[1]}% + \ifx\xFirst\xSecond + \ifcat\One\xSecond\relax\else\@@lpage\fi% + \else#1\fi% + }% + \fi} + +%\newwrite\xx +%\immediate\openout\xx=tmpbib.tex +\gdef\@@lpage@compress#1--#2\@nil{\lpage@compress{#1}} +\gdef\@@@pages#1#2{\def\next{#2}% +% \immediate\write\xx{[\the\c@NAT@ctr.]\space [#1][#2]}% + \fpage@compress{#1}%\ifx\next\@empty\relax\else + \@@lpage@compress#2\@nil%\fi + {\@fpage\ifx\next\@empty\relax\else + --\@lpage\fi}\resetall} + +\gdef\@@@page#1{#1\resetall} + +\def\mk@empty#1{\@tempcnta=1 + \loop\ifnum\@tempcnta<6 + \expandafter\let\csname#1\the\@tempcnta\endcsname\relax + \advance\@tempcnta by 1 \repeat} +\def\resetall{\let\@lpage\@empty\let\@fpage\@empty + \def\flength{0}\def\llength{0}% + \let\@@fpage\@empty\let\@@lpage\@empty + \mk@empty{First}\mk@empty{Second}} + + +\ifdots + \gdef\xfnm[#1]{\unskip\space#1} + \def\bibinfo#1#2{\@ifnextchar.{\@@bibinfo{#1}{#2}}{\@@@bibinfo{#1}{#2}}} + \def\@@@bibinfo#1#2{\def\next{#1}% + \def\@@@pg{pages}\def\@@@au{author}% + \ifx\next\@@@pg\bibpages{#2}\else + \ifx\next\@@@au\bibauthor{#2}\else + #2\fi\fi} + \def\@@bibinfo#1#2.{\def\next{#1}% + \def\@@@pg{pages}\def\@@@au{author}% + \ifx\next\@@@pg\bibpages{#2}.\else + \ifx\next\@@@au\bibauthor{#2}\else + #2.\fi\fi} +\else + \gdef\xfnm[#1]{\unskip\space\removeDot{#1}} + \def\bibinfo#1#2{\def\next{#1}% + \def\@@@pg{pages}\def\@@@au{author}% + \ifx\next\@@@pg\bibpages{#2}\else + \ifx\next\@@@au\bibauthor{#2}\else + #2\fi\fi} +\fi + +\ifnumcompress + \def\bibpages#1{\@@bibpages#1--\\\@nil} + \def\@@bibpages#1--#2\@nil{% + \ifx\\#2\relax\@@@page{#1}\else + \@@@pages{#1}{#2}\fi} + \else + \def\bibpages#1{#1} +\fi + +\def\bibauthor#1{#1} + +\endinput + +%% +%% End of package 'numcompress.sty' +%% diff --git a/patterns_formatting/references.bib b/patterns_formatting/references.bib new file mode 100644 index 0000000..e411df2 --- /dev/null +++ b/patterns_formatting/references.bib @@ -0,0 +1,103 @@ +% Encoding: UTF-8 + +%%%% Article with 1 author + +@article{cates1984statics, + title={Statics and dynamics of polymeric fractals}, + author={Cates, ME}, + journal={Physical Review Letters}, + volume={53}, + number={9}, + pages={926}, + year={1984}, + publisher={APS} +} + +%%%% Article with 2 authors + +@article{radzihovsky1995new, + title={A new phase of tethered membranes: tubules}, + author={Radzihovsky, Leo and Toner, John}, + journal={Physical Review Letters}, + volume={75}, + number={26}, + pages={4752}, + year={1995}, + publisher={APS} +} + +%%%% Article with 3+ authors + +@article{li2020conformational, + title={Conformational scaling relations of two-dimensional macromolecular graphene oxide in solution}, + author={Li, Peng and Wang, Shijun and Meng, Fanxu and Wang, Ya and Guo, Fan and Rajendran, Sangeetha and Gao, Chao and Xu, Zhiping and Xu, Zhen}, + journal={Macromolecules}, + volume={53}, + number={23}, + pages={10421--10430}, + year={2020}, + publisher={ACS Publications} +} + +%%%% Article with more than 10 authors + +@article{wang2020conformational, + title={Conformational phase map of two-dimensional macromolecular graphene oxide in solution}, + author={Wang, Ya and Wang, Shijun and Li, Peng and Rajendran, Sangeetha and Xu, Zhen and Liu, Senping and Guo, Fan and He, Yinghui and Li, Zeshen and Xu, Zhiping and others}, + journal={Matter}, + volume={3}, + number={1}, + pages={230--245}, + year={2020}, + publisher={Elsevier} +} + +%%%% Book + +@book{nelson2004statistical, + title={Statistical Mechanics of Membranes and Surfaces}, + author={Nelson, David and Piran, Tsvi and Weinberg, Steven}, + year={2004}, + publisher={World Scientific} +} + +%%%%Preprints + +@article{kapoor2022leakage, + title={Leakage and the reproducibility crisis in {ML}-based science}, + author={Kapoor, Sayash and Narayanan, Arvind}, + journal={Preprint at arXiv}, + year={2022}, + note = {\href{https://doi.org/10.48550/arXiv.2207.07048}{https://doi.org/10.48550/arXiv.2207.07048}} +} + + +%%%% Conference proceedings + +@inproceedings{zhou2023explain, + title={How to Explain and Justify Almost Any Decision: Potential Pitfalls for Accountability in AI Decision-Making}, + author={Zhou, Joyce and Joachims, Thorsten}, + booktitle={Proceedings of the 2023 ACM Conference on Fairness, Accountability, and Transparency}, + pages={12--21}, + year={2023} +} +@inproceedings{hantke2018my, + title={What is my dog trying to tell me? The automatic recognition of the context and perceived emotion of dog barks}, + author={Hantke, Simone and Cummins, Nicholas and Schuller, Bjorn}, + booktitle={2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)}, + pages={5134--5138}, + year={2018}, + organization={IEEE} +} + +%%%% Data citations + +@misc{georgios_rizos_2023_10253149, + author = {Rizos, Georgios}, + title = {Code for the article ``{Propagating Variational Model Uncertainty for Bioacoustic Call Label Smoothing}''}, + month = dec, + year = 2023, + publisher = {Zenodo}, + version = {revision}, + note = {\href{https://doi.org/10.5281/zenodo.10253149}{https://doi.org/10.5281/zenodo.10253149}} +} \ No newline at end of file