summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ascelike
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/ascelike
Initial commit
Diffstat (limited to 'macros/latex/contrib/ascelike')
-rw-r--r--macros/latex/contrib/ascelike/README36
-rw-r--r--macros/latex/contrib/ascelike/ascelike.bst1642
-rw-r--r--macros/latex/contrib/ascelike/ascelike.cls677
-rw-r--r--macros/latex/contrib/ascelike/ascexmpl.bib407
-rw-r--r--macros/latex/contrib/ascelike/ascexmpl.pdfbin0 -> 115879 bytes
-rw-r--r--macros/latex/contrib/ascelike/ascexmpl.tex562
6 files changed, 3324 insertions, 0 deletions
diff --git a/macros/latex/contrib/ascelike/README b/macros/latex/contrib/ascelike/README
new file mode 100644
index 0000000000..45fa6a097f
--- /dev/null
+++ b/macros/latex/contrib/ascelike/README
@@ -0,0 +1,36 @@
+Unofficial LaTeX class and bibliography style-files for ASCE documents
+(Amer. Soc. of Civil Engineers), both journal manuscripts and camera-ready
+manuscripts for conference proceedings
+
+ascelike.cls - Version 2.3, Feb. 14, 2013
+ascelike.bst - Version 2.2, Feb. 14, 2013
+
+The package is freely available under the LaTeX Project Public License,
+version 1.1
+
+The two main files are
+ ascelike.cls - The document class file
+ ascelike.bst - The bibliography style file for creating bibliographic
+ with the weird use of quotation marks, etc.
+
+I've also included example/documentation files:
+ ascexmpl.tex - An example *.tex file, which also serves as documentation,
+ especially in the use of the various options in ascelike.cls
+ ascexmpl.bib - An example *.bib bibliographic data base
+ ascexmpl.dvi - Output from ascexmpl.tex and ascexmpl.bib
+ ascexmpl.pdf - Output from ascexmpl.tex and ascexmpl.bib
+ ascexmpl.ps - Output from ascexmpl.tex and ascexmpl.bib
+
+You can also find information on usage in the headings of these files,
+along with copyright/licence information.
+
+NOTE: The following supplementary files are REQUIRED:
+ ifthen.sty (part of the standard latex release)
+ setspace.sty (produces doubles spacing for journal manuscripts)
+ endfloat.sty (places figures and tables at the end of the manuscript)
+ lineno.sty (places line numbers along the margin of a manuscript)
+
+ascelike.cls will not work without these files. You can obtain all of them
+from the CTAN archive (perhaps in *dtx form).
+
+Report problems and suggestions to Matthew R. Kuhn, kuhn@up.edu
diff --git a/macros/latex/contrib/ascelike/ascelike.bst b/macros/latex/contrib/ascelike/ascelike.bst
new file mode 100644
index 0000000000..0b86810059
--- /dev/null
+++ b/macros/latex/contrib/ascelike/ascelike.bst
@@ -0,0 +1,1642 @@
+%% File: ascelike.bst
+%%
+%% Version 2.2, February 14, 2013
+%%
+%%
+%% An unofficial bibliography style-file for ASCE-like bibliographies.
+%% Adapted from chicago.bst (24-jan-88 version) of Glenn Paulley
+%% This bst style should be used with document class ascelike.cls
+%% for citations that come out like (Jones, 1986) or variations of such.
+%%
+%% For use with the BibTeX bibliographic formatting tool, Copyright (C) 1988,
+%% all rights reserved. Bibtex is a program for formatting bibliographic
+%% entries. It uses an author's *.bib file which contains a data base of
+%% information on each entry. The entries are formatted in a style
+%% specified in a *.bst file, such as this file, so that the editorial
+%% style of the particular book or journal publisher is met. For example,
+%% this ascelike.bst file prepares bibliographies in an ASCE-like style,
+%% with quotation marks around titles, etc.
+%%
+%% To use this ascelike.bst file, you must prepare a *.bib file of your
+%% bibliographic data base. See The Latex book "LaTeX: A Document
+%% Preparation System" by Leslie Lamport, or in Oren Patashnik's "BibTEXing"
+%% document (contained in the btxdoc.* files on CTAN and in online web
+%% versions, search for "btxdox" or "bibtexing").
+%%
+%% =============================================
+%% IMPORTANT NOTICE:
+%% See the copyright and distribution conditions below.
+%%
+%% Copyright 2011:
+%% Matthew R Kuhn
+%% Donald P. Shiley School of Engineering
+%% University of Portland
+%% 5000 N Willamette Blvd
+%% Portland OR 97203
+%% USA
+%% E-mail: kuhn@up.edu
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed, available from the CTAN
+%% archives; either version 1.1 of the License, or any later version.
+%% Most importantly, you may modify this file, but only if you rename it.
+%%
+%% This is a contributed file to the LaTeX2e system.
+%%
+%% This program consists of the files ascelike.cls and ascelike.bst
+%%
+%% -----------------------------------
+%%
+%% This document class produces bibliographic entries that roughly comply
+%% with the guidelines of the American Society of Civil Engineers.
+%% However, it was not produced by ASCE, its agents, or employees; nor
+%% is it in any way sanctioned or approved by that organization.
+%%
+%% Please contact Matthew Kuhn by email for suggestions, etc.
+%%
+%% -----------------------------------
+%
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label.year label extra.label sort.label sort.year }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block
+ after.quote after.quote.comma
+ t.state o.state title.already org.already }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #4 'after.quote :=
+ #5 'after.quote.comma :=
+ #0 't.state :=
+ #0 'o.state :=
+ #1 'title.already :=
+ #2 'org.already :=
+}
+
+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.quote =
+ { ".''\ " * write$ }
+ { output.state after.quote.comma =
+ { ",''\ " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ 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$
+}
+
+% apalike needs this function because
+% the year has special punctuation;
+% apalike ignores the month
+FUNCTION {output.year.check}
+{ year empty$
+ { "empty year in " cite$ * warning$ }
+ { write$
+ " (" year * extra.label * ")" *
+ after.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.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{\em " 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 := % last name first
+ 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 {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.editors}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr "{f. }{vv}{ll}{, jj}" format.name$ 't := % last name first
+ 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 {format.authors}
+{ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.key} % this function is just for apalike
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { editor format.names.editors
+ editor num.names$ #1 >
+ { ", eds." * }
+ { ", ed." * }
+ if$
+ }
+ if$
+}
+
+INTEGERS { len.minus.1 }
+STRINGS { u v }
+
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { "``" title "t" change.case$ *
+ }
+% { title 'u :=
+% u #1 #1 substring$ 'v :=
+% u text.length$ #1 - 'len.minus.1 :=
+% u #2 len.minus.1 substring$ 'u :=
+% u "l" change.case$ 'u :=
+% "``" v * u *
+% }
+ 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}
+{ 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$
+ { " of " * series emphasize * }
+ if$
+ "Vol. and No." number either.or.check
+ }
+ if$
+}
+
+FUNCTION {format.howpublished}
+{ howpublished empty$
+ { "" }
+ { "(" howpublished * ")" *
+ }
+ 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$ " edition" * }
+ { edition "t" change.case$ " edition" * }
+ 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
+ { "" pages n.dashify tie.or.space.connect }
+ { "" pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ number empty$
+ 'skip$
+ { "(" number * ")" * *
+ 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$
+ { booktitle emphasize }
+ { booktitle emphasize ", " * format.editors * }
+% { "In " booktitle emphasize * }
+% { "In " format.editors * ", " * booktitle emphasize * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+ { "Report No." }
+ { type }
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+ emphasize
+}
+
+FUNCTION {format.article.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ "\cite{" * crossref * "}" * % this is for apalike
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ "In" % this is for apalike
+ " \cite{" * crossref * "}" *
+}
+
+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 % apalike uses the whole key
+ 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$
+ { cite$ #1 #3 substring$ }
+ 'key % apalike uses the whole 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 % apalike uses the whole key, no organization
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+%
+% added - gnp. Provide label formatting by organization if author is null.
+%
+{ author empty$
+ { key empty$
+ { organization empty$
+ { "no key, author or organization in " cite$ * warning$
+ cite$ #1 #3 substring$ }
+ 'organization
+ if$
+ }
+ { key }
+ 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.
+%
+% Changed - MRK. With ASCE's author-year citation style, there is no
+% need for the first argument in the \citeauthoryear command. The first
+% argument in the chicago.bst style contains a full list of all
+% author last names. This argument is not used with ASCE's styel.
+% We replace this argument with a null argument "{}",
+% with the 2nd and 3rd arguments giving the citation author and the year.
+% This change is made so that two separate articles, say by Huang, Bird, and
+% Bell and by Haung, Bird, and Hendrich (both published in, say, 2009)
+% will be given the citations Jones et al. (2009a) and Jones et al. (2009b).
+% Without the change, both would be given the citations Jones et al. (2009).
+% Thanks to Alec Gosse.
+%
+{ 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$
+
+%------------- cut MRK -------------------
+% author empty$ % generate the full label citation information.
+% { editor empty$
+% { organization empty$
+% { type$ "manual" =
+% { title empty$
+% { "no author, editor, organization or title in "
+% cite$ * warning$
+% "??"
+% }
+% { title }
+% if$
+% }
+% { "no author, editor, or organization in " cite$ * warning$
+% "??" }
+% if$
+% }
+% { organization }
+% if$
+% }
+% { editor my.full.label }
+% if$
+% }
+% { author my.full.label }
+% if$
+%
+%% leave label on the stack, to be popped when required.
+%
+% "}{" * swap$ * "}{" *
+%------------- paste MRK ---------------
+ "}{" swap$ * "}{" *
+%------------- end MRK -----------------
+% 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[" write$
+% label write$
+% "]{" write$
+% cite$ write$
+% "}" write$
+% newline$
+% ""
+% before.all 'output.state :=
+%}
+{ newline$
+
+ "\bibitem[\protect\citeauthoryear{" write$
+ calc.label write$
+ sort.year write$
+ "}]{" write$
+
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ crossref missing$
+ { journal emphasize "journal" output.check
+ organization output
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ note empty$
+ { }
+ { before.all 'output.state :=
+ "\ " note * output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {book}
+{ 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$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ format.howpublished output
+ publisher "publisher" output.check
+ address output
+ }
+ { new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ url empty$
+ { }
+ { mid.sentence 'output.state :=
+ "$<$" url * "$>$" * output
+% format.url output
+ }
+ if$
+ month empty$
+ { }
+ { before.all 'output.state :=
+ "\ (" month * ")" * output
+ }
+ if$
+ new.block
+ note empty$
+ { }
+ { before.all 'output.state :=
+ "\ " note * output
+ }
+ if$
+% note output
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished output
+ address output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ 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$
+ output.year.check % special for apalike
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ format.howpublished output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.chapter.pages output
+ }
+ { format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.howpublished output
+ publisher "publisher" output.check
+ address output
+ format.edition output
+ format.chapter.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.howpublished output
+ organization output % for apalike
+ address output % there's no year
+% new.sentence % here so things
+ publisher output % are simpler
+ format.pages output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ url empty$
+ { }
+ { mid.sentence 'output.state :=
+ "$<$" url * "$>$" * output
+% format.url output
+ }
+ if$
+ month empty$
+ { }
+ { before.all 'output.state :=
+ "\ (" month * ")" * output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ #0 't.state :=
+ #0 'o.state :=
+ author empty$
+ { format.editors output
+ editor empty$
+ { organization empty$
+ { org.already 'o.state :=
+ title empty$
+ { title format.key output }
+ { format.btitle "title" output.check
+ title.already 't.state :=
+ }
+ if$
+ }
+ { organization "organization" output.check
+ org.already 'o.state :=
+ }
+ if$
+ }
+ { }
+ if$
+ }
+ { }
+ if$
+% { 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$
+% author format.key output % special for
+ output.year.check % apalike
+ new.block
+ t.state title.already =
+ { }
+ { format.btitle "title" output.check }
+ if$
+% format.btitle "title" output.check
+ o.state org.already =
+ { publisher address new.block.checkb
+ publisher output
+ }
+ { organization address new.block.checkb
+ organization output
+ }
+ if$
+% organization address new.block.checkb
+% organization output
+ address output
+ format.edition output
+ url empty$
+ { }
+ { mid.sentence 'output.state :=
+ "$<$" url * "$>$" * output
+% format.url output
+ }
+ if$
+ month empty$
+ { }
+ { before.all 'output.state :=
+ "\ (" month * ")" * output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ "M.S. thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output.nonnull
+ url empty$
+ { }
+ { mid.sentence 'output.state :=
+ "$<$" url * "$>$" * output
+% format.url output
+ }
+ if$
+ month empty$
+ { }
+ { before.all 'output.state :=
+ "\ (" month * ")" * output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+%{ output.bibitem
+% format.authors "author" output.check
+% author format.key output % special for
+% output.year.check % apalike
+% 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
+% fin.entry
+%}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ journal emphasize "journal" output.check
+ organization output
+ url empty$
+ { }
+ { mid.sentence 'output.state :=
+ "$<$" url * "$>$" * output
+% format.url output
+ }
+ if$
+ month empty$
+ { }
+ { before.all 'output.state :=
+ "\ (" month * ")" * output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "$<$" url * "$>$" *
+ }
+ if$
+}
+
+%{ output.bibitem
+% format.authors "author" output.check
+% author format.key output % special for
+% output.year.check % apalike
+% new.block
+% format.title "title" output.check
+% after.quote 'output.state :=
+% crossref missing$
+% { journal emphasize "journal" output.check
+% organization output
+% format.vol.num.pages output
+% }
+% { format.article.crossref output.nonnull
+% format.pages output
+% }
+% if$
+% new.block
+% note output
+% fin.entry
+%}
+
+
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ "Ph.D. thesis" format.thesis.type output.nonnull
+ school "school" output.check
+ address output.nonnull
+ url empty$
+ { }
+ { mid.sentence 'output.state :=
+ "$<$" url * "$>$" * output
+% format.url output
+ }
+ if$
+ month empty$
+ { }
+ { before.all 'output.state :=
+ "\ (" month * ")" * output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ address output % for apalike
+ new.sentence % we always output
+ organization output % a nonempty organization
+ publisher output % here
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ new.block
+ format.title "title" output.check
+ after.quote 'output.state :=
+ format.tr.number output.nonnull
+ institution "institution" output.check
+ address output
+ url empty$
+ { }
+ { mid.sentence 'output.state :=
+ "$<$" url * "$>$" * output
+% format.url output
+ }
+ if$
+ month empty$
+ { }
+ { before.all 'output.state :=
+ "\ (" month * ")" * output
+ }
+ if$
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output % special for
+ output.year.check % apalike
+ 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 {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$
+}
+
+% There are three apalike cases: one person (Jones),
+% two (Jones and de~Bruijn), and more (Jones et~al.).
+% This function is much like format.crossref.editors.
+%
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ 'skip$
+ if$ % apalike uses initials
+ s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
+ 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 {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$
+}
+
+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$
+}
+
+% apalike uses two sorting passes; the first one sets the
+% labels so that the `a's, `b's, etc. can be computed;
+% the second pass puts the references in "correct" order.
+% The presort function is for the first pass. It computes
+% label, sort.label, and title, and then concatenates.
+%FUNCTION {presort}
+%{ calc.label
+% label sortify
+% " "
+% *
+% type$ "book" =
+% type$ "inbook" =
+% or
+% 'author.editor.sort
+% { type$ "proceedings" =
+% 'editor.sort
+% 'author.sort
+% if$
+% }
+% if$
+% #1 entry.max$ substring$ % for
+% 'sort.label := % apalike
+% sort.label % style
+% *
+% " "
+% *
+% title field.or.null
+% sort.format.title
+% *
+% #1 entry.max$ substring$
+% 'sort.key$ :=
+%}
+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, sort.label, title---for final label calculation
+
+STRINGS { last.label next.extra } % apalike labels are only for the text;
+
+INTEGERS { last.extra.num } % there are none in the bibliography
+
+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 :=
+}
+
+%FUNCTION {initialize.extra.label.stuff} % and hence there is no `longest.label'
+%{ #0 int.to.chr$ 'last.label :=
+% "" 'next.extra :=
+% #0 'last.extra.num :=
+%}
+%
+%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$
+%}
+%
+%FUNCTION {reverse.pass}
+%{ next.extra "b" =
+%% { "a" 'extra.label := }
+% 'skip$
+% if$
+%% label extra.label * 'label :=
+% label.year extra.label * 'sort.year :=
+% extra.label 'next.extra :=
+%}
+
+EXECUTE {initialize.extra.label.stuff}
+
+ITERATE {forward.pass}
+
+REVERSE {reverse.pass}
+
+% Now that the label is right we sort for real,
+% on sort.label then year then title. This is
+% for the second sorting 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 bibliography order
+
+FUNCTION {begin.bib}
+{ preamble$ empty$ % no \etalchar in apalike
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{}" write$ newline$ % no labels in apalike
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
diff --git a/macros/latex/contrib/ascelike/ascelike.cls b/macros/latex/contrib/ascelike/ascelike.cls
new file mode 100644
index 0000000000..4a6fe6657a
--- /dev/null
+++ b/macros/latex/contrib/ascelike/ascelike.cls
@@ -0,0 +1,677 @@
+%% File: ascelike.cls
+%%
+%% Version 2.3
+%%
+%% An unofficial LaTeX class file for preparing review manuscripts and
+%% camera-ready manuscripts for ASCE journals and conference proceedings
+%%
+%% =============================================
+%% IMPORTANT NOTICE:
+%% See the copyright and distribution conditions below.
+%%
+%% Copyright 2011:
+%% Matthew R Kuhn
+%% Donald P. Shiley School of Engineering
+%% University of Portland
+%% 5000 N Willamette Blvd
+%% Portland OR 97203
+%% USA
+%% E-mail: kuhn@up.edu
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed, available from the CTAN
+%% archives; either version 1.1 of the License, or any later version.
+%% Most importantly, you may modify this file, but only if you rename it.
+%%
+%% This is a contributed file to the LaTeX2e system.
+%%
+%% This program consists of the files ascelike.cls and ascelike.bst
+%%
+%% -----------------------------------
+%%
+%% This document class produces manuscripts that roughly comply with
+%% the guidelines of the American Society of Civil Engineers. However,
+%% it was not produced by ASCE, its agents, or employees; nor is it in
+%% any way sanctioned or approved by that organization.
+%%
+%% -----------------------------------
+%%
+%% Please note the following usage:
+%%
+%% 1) This is a LATEX2E class file; it will not work with LaTeX 2.09.
+%%
+%% 2) It requires the following supplementary files:
+%% ifthen.sty (part of the standard latex release)
+%% setspace.sty (produces doubles spacing for journal manuscripts)
+%% endfloat.sty (places figures and tables at the end of the manuscript)
+%% lineno.sty (places line numbers alongside the text)
+%% Without these files, it won't work. All three files are available
+%% from the CTAN archive, currently at //http:www.tug.org/ctan.html
+%%
+%% 3) The following files can be used with the tool bibtex to produce
+%% ASCE-like reference citations and entries (with the weird use of
+%% quotation marks around titles, etc.)
+%% ascelike.bst
+%% ascelike.bib (an example bibliographic database for use with bibtex)
+%%
+%% 3) There are several options. The two main options are
+%% Journal or Proceedings:
+%% - "Journal" produces double-spaced manuscripts for ASCE journals.
+%% It places tables and figures at the end of the manuscript,
+%% produces a list of table and list of figures. Numbers the
+%% appendices with Roman numerals. Produces proper headings for
+%% sections, subsections, subsubsections, appendices, and abstract.
+%% Produces the proper page margins, and numbers the pages,
+%% - "Proceedings" produces older-sytle camera-ready single-
+%% spaced manuscripts for ASCE conference proceedings. It places
+%% figures and tables within the text. It produces proper headings
+% for sections, subsections, subsubsections, appendices, and
+% abstract. Produces the proper page margins, and numbers the pages.
+%% - "NewProceedings" produces camera-ready single-spaced manuscripts
+%% for ASCE conference proceedings, according to website
+%% instructions of Feb 14, 2013. It places figures and tables
+%% within the text. It produces proper headings for
+%% sections, subsections, subsubsections, appendices, and abstract.
+%% Produces the proper page margins, and numbers the pages.
+%% This style of proceedings differs from the older style
+%% ("Proceedings") in the fonts for headings
+%%
+%% The remaining option override the defaults that are set by the
+%% above formats:
+%% - BackFigs or InsideFigs:
+%% These can be used to override the default placement of tables
+%% and figures for the Journal and Proceeding formats.
+%% - SingleSpace or DoubleSpace:
+%% These can be used to override the default text spacing for
+%% the Journal and Proceeding formats.
+%% - 10pt, 11pt, or 12pt:
+%% These can be used to override the default text size (12pt).
+%% - NoLists suppresses the inclusion of lists of figures and tables
+%% - NoPageNumbers suppressesthe printing of page numbers
+%% - SectionNumbers produces the numbering of sections and subsections,
+% unlike the ASCE convention.
+%%
+%% A few standard Latex options have been removed, as they don't seem to apply
+%% in the ASCE environment: landscape, titlepage, openbib, leqno, fleqn
+%%
+%% As for preparing the document file: except for the new options, you
+%% should just use standard sequencing of LaTeX commands.
+%%
+%% The only new command that I've added is the \NameTag command which
+%% prints your name in the bottom right corner of every page (as with
+%% the ASCE shiny, camera-ready paper). Insert it in the preamble of
+%% your document file: \NameTag{<your name>}.
+%%
+%% Please contact Matthew Kuhn by email for suggestions, etc.
+%%
+\typeout{}
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesClass{ascelike}
+ [2013/2/14 Version 2.3 ASCE-like manuscripts (Am. Soc. Civ. Engr.)]
+\typeout{}
+\RequirePackage{ifthen}[1994/11/16]
+%
+\newboolean{Proceedings}
+\newboolean{NewProceedings}% 02-14-13
+\newboolean{Journal}
+\newboolean{BackFigs}
+\newboolean{InsideFigs}
+\newboolean{SingleSpace}
+\newboolean{DoubleSpace}
+\newboolean{NoPageNumbers}
+\newboolean{NoLists}% 11-21-02
+\newboolean{SectionNumbers}% 12-28-02
+\newboolean{NoLineNumbers}% 12-16-11
+\newboolean{LineNumbers}% 12-16-11
+\newcommand{\ptsize}{}
+%
+\DeclareOption{Proceedings}%
+ {\setboolean{Proceedings}{true}%
+ \setboolean{Journal}{false}%
+ \setboolean{NewProceedings}{false}}% 02-14-13
+\DeclareOption{Journal}%
+ {\setboolean{Journal}{true}%
+ \setboolean{Proceedings}{false}%
+ \setboolean{NewProceedings}{false}}% 02-14-13
+\DeclareOption{NewProceedings}% 02-14-13
+ {\setboolean{NewProceedings}{true}% 02-14-13
+ \setboolean{Journal}{false}% 02-14-13
+ \setboolean{Proceedings}{false}}% 02-14-13
+%
+\DeclareOption{BackFigs}%
+ {\setboolean{BackFigs}{true}\setboolean{InsideFigs}{false}}
+\DeclareOption{InsideFigs}%
+ {\setboolean{InsideFigs}{true}\setboolean{BackFigs}{false}}
+%
+\DeclareOption{DoubleSpace}%
+ {\setboolean{DoubleSpace}{true}\setboolean{SingleSpace}{false}}
+\DeclareOption{SingleSpace}%
+ {\setboolean{SingleSpace}{true}\setboolean{DoubleSpace}{false}}
+%
+\DeclareOption{NoLineNumbers}%
+ {\setboolean{NoLineNumbers}{true}\setboolean{LineNumbers}{false}}
+\DeclareOption{LineNumbers}%
+ {\setboolean{LineNumbers}{true}\setboolean{NoLineNumbers}{false}}
+%
+% Declare text size options so that 12pt can be made the default option
+\DeclareOption{10pt}{\renewcommand{\ptsize}{10pt}}
+\DeclareOption{11pt}{\renewcommand{\ptsize}{11pt}}
+\DeclareOption{12pt}{\renewcommand{\ptsize}{12pt}}
+%
+\DeclareOption{NoPageNumbers}{\setboolean{NoPageNumbers}{true}}
+%
+\DeclareOption{landscape}{\OptionNotUsed}
+\DeclareOption{titlepage}{\OptionNotUsed}
+\DeclareOption{openbib}{\OptionNotUsed}
+\DeclareOption{leqno}{\OptionNotUsed}
+\DeclareOption{fleqn}{\OptionNotUsed}
+%
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+%
+\DeclareOption{NoLists}{\setboolean{NoLists}{true}}% 11-21-02
+\DeclareOption{SectionNumbers}{\setboolean{SectionNumbers}{true}}% 11-21-02
+%
+% Make 12pt and Journal the default options
+\ExecuteOptions{12pt,Journal}
+\ProcessOptions\relax
+%
+\LoadClass[oneside,onecolumn,letterpaper,final,\ptsize]{article}[1994/12/09]
+%
+% These *.sty packages must be installed along this *.cls file. Note that
+% the package endfloat.sty is also required further below in order to
+% place figures at the end of the paper.
+%
+%
+% Use these defaults
+% For Journal manuscripts:
+% 1) place figures at the end of the manuscript
+% (can be changed with the InsideFigs option)
+% 2) double spacing of text
+% (can be changed with the SingleSpace option)
+% 3) line numbers
+% (can be changed with the NoLineNumbers option)
+%
+% For Proceedings manuscripts:
+% 1) place figures within the text,
+% (can be changed with the BackFigs option)
+% 2) single spacing of text
+% (can be changed with the DoubleSpace option)
+% 3) no line numbers
+% (can be changed with the LineNumbers option)
+%
+\ifthenelse{\boolean{Journal}}
+ {\ifthenelse{\boolean{InsideFigs}}{}{\setboolean{BackFigs}{true}}}
+ {\ifthenelse{\boolean{BackFigs}}{}{\setboolean{InsideFigs}{true}}}
+%
+\ifthenelse{\boolean{Journal}}
+ {\ifthenelse{\boolean{SingleSpace}}{}{\setboolean{DoubleSpace}{true}}}
+ {\ifthenelse{\boolean{DoubleSpace}}{}{\setboolean{SingleSpace}{true}}}
+%
+\ifthenelse{\boolean{Journal}}
+ {\ifthenelse{\boolean{NoLineNumbers}}{}{\setboolean{LineNumbers}{true}}}
+ {\ifthenelse{\boolean{LineNumbers}}{}{\setboolean{NoLineNumbers}{true}}}
+%
+%
+% Various messages displayed on the screen:
+\typeout{}
+\ifthenelse{\boolean{Journal}}
+{\typeout{(1) A "Journal" style manuscript will be produced}}
+{\ifthenelse{\boolean{Proceedings}}% 02-14-13
+ {\typeout{(1) A "Proceedings" old-style manuscript will be produced}}%02-14-13
+ {\typeout{(1) A "NewProceedings" new-style manuscript will be produced}}}
+%
+\ifthenelse{\boolean{BackFigs}}
+{\typeout{%
+ (2) Figures and Tables will be placed together at the end of the manuscript
+ (change with the 'InsideFigs' option)}}
+{\typeout{%
+ (2) Figures and Tables will be placed within the text of the manuscript
+ (change with the 'BackFigs' option)}}
+%
+\ifthenelse{\boolean{DoubleSpace}}
+{\typeout{%
+ (3) Text will be double spaced (change with the 'SingleSpace' option)}}
+{\typeout{%
+ (3) Text will be single spaced (change with the 'DoubleSpace' option)}}
+%
+\typeout{(4) Text will be \ptsize
+ \space(change with the '10pt', '11pt', & '12pt' options)}
+%
+\ifthenelse{\boolean{LineNumbers}}% 12-16-11
+{\typeout{%
+ (5) Line numbers will be placed alonside the text (change with the
+ 'NoLineNumbers' option)}}
+{\typeout{%
+ (5) Line numbers will not be placed alonside the text (change with the
+ 'LineNumbers' option)}}
+\typeout{}
+%
+% Delay the possible loading of these packages until the beginning of 7-18-00
+% the document. This should avoid conflicts with user-load versions 7-18-00
+% of the same packages. 7-18-00
+\AtBeginDocument{% 7-18-00
+\ifthenelse{\boolean{BackFigs}}
+ {\ifthenelse{\boolean{NoLists}}% 11-21-02
+ {\RequirePackage[nolists,noheads,nomarkers,tablesfirst]{endfloat}}%11-21-02
+ {\RequirePackage[lists,noheads,nomarkers,tablesfirst]{endfloat}}
+ }
+ {}
+%
+\ifthenelse{\boolean{DoubleSpace}}
+{\RequirePackage{setspace}\doublespacing}{}
+% 7-18-00
+\ifthenelse{\boolean{LineNumbers}}
+{\RequirePackage{lineno}\linenumbers%
+\setlength{\linenumbersep}{0.3in}%
+\linenumberdisplaymath}{}
+}%
+%
+% Page layout for Proceedings manuscripts:
+\ifthenelse{\boolean{Proceedings}}
+{\setlength{\topmargin} {0.25in}
+ \setlength{\headheight} {0.00in}
+ \setlength{\headsep} {0.00in}
+ \setlength{\textheight} {8.83in}
+ \setlength{\footskip} {0.40in}
+ \setlength{\oddsidemargin} {0.45in}
+ \setlength{\textwidth} {5.71in}
+ \setlength{\marginparsep} {0.00in}
+ \setlength{\marginparwidth}{0.00in}
+ \setlength{\marginparpush} {0.00in}}
+%
+{\ifthenelse{\boolean{Journal}}
+% Page layout for Journal manuscripts:
+ {\setlength{\topmargin} {0.00in}
+ \setlength{\headheight} {0.00in}
+ \setlength{\headsep} {0.00in}
+ \setlength{\textheight} {9.00in}
+ \setlength{\footskip} {0.50in}
+ \setlength{\oddsidemargin} {0.00in}
+ \setlength{\textwidth} {6.50in}
+ \setlength{\marginparsep} {0.00in}
+ \setlength{\marginparwidth}{0.00in}
+ \setlength{\marginparpush} {0.00in}}
+%
+% Page layout for NewProceedings manuscripts:
+ {\setlength{\topmargin} {0.00in}
+ \setlength{\headheight} {0.00in}
+ \setlength{\headsep} {0.00in}
+ \setlength{\textheight} {9.00in}
+ \setlength{\footskip} {0.40in}
+ \setlength{\oddsidemargin} {0.38in}
+ \setlength{\textwidth} {5.75in}
+ \setlength{\marginparsep} {0.00in}
+ \setlength{\marginparwidth}{0.00in}
+ \setlength{\marginparpush} {0.00in}}}
+%
+%
+% Author-year citations in the ASCE style. The following code was
+% adopted from the chicago.sty package. I removed the 'long citation
+% style' to make all citations in the short style used by ASCE (i.e.,
+% using "et. al" for multiple authors).
+%
+% Here's an adaptation of chicago.sty notes for the various citation
+% options that I've included:
+%
+% \cite{key}
+% which produces citations with full author list and year.
+% eg. (Brown 1978; Jarke et al. 1985)
+% \citeNP{key}
+% which produces citations with full author list and year, but without
+% enclosing parentheses:
+% eg. Brown 1978; Jarke et. al 1985
+% \citeA{key}
+% which produces citations with only the full author list.
+% eg. (Brown; Jarke et. al)
+% \citeN{key}
+% which produces citations with the full author list and year, but
+% can be used as nouns in a sentence; no parentheses appear around
+% the author names, but only around the year.
+% eg. Shneiderman (1978) states that......
+% \citeN should only be used for a single citation.
+% \citeyear{key}
+% which produces the year information only, within parentheses.
+% \citeyearNP{key}
+% which produces the year information only.
+%
+% `NP' means `no parentheses'.
+%
+\let\@internalcite\cite
+%
+% Place commas in-between citations in the same \citeyear, \citeyearNP,
+% or \citeN command.
+% Use something like \citeN{ref1,ref2,ref3} and \citeN{ref4} for a list.
+%
+\newcommand{\citedata}%
+ {\@ifnextchar [{\@tempswatrue\@citedatax}%
+ {\@tempswafalse\@citedatax[]}}
+%
+\def\@citedatax[#1]#2{%
+\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi%
+ \def\@citea{}\@cite{\@for\@citeb:=#2\do%
+ {\@citea\def\@citea{, }\@ifundefined% by Young
+ {b@\@citeb}{{\bf ?}%
+ \@warning{Citation `\@citeb' on page \thepage \space undefined}}%
+{\csname b@\@citeb\endcsname}}}{#1}}%
+%
+\def\@citex[#1]#2{%
+\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi%
+ \def\@citea{}\@cite{\@for\@citeb:=#2\do%
+ {\@citea\def\@citea{; }\@ifundefined% by Young
+ {b@\@citeb}{{\bf ?}%
+ \@warning{Citation `\@citeb' on page \thepage \space undefined}}%
+{\csname b@\@citeb\endcsname}}}{#1}}%
+%
+\renewcommand{\cite}%
+ {\def\@citeseppen{-1000}%
+ \def\@cite##1##2{(##1\if@tempswa , ##2\fi)}%
+ \def\citeauthoryear##1##2##3{##2 ##3}\@internalcite}
+\newcommand{\citeNP}%
+ {\def\@citeseppen{-1000}%
+ \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
+ \def\citeauthoryear##1##2##3{##2 ##3}\@internalcite}
+\newcommand{\citeN}%
+ {\def\@citeseppen{-1000}%
+ \def\@cite##1##2{##1\if@tempswa , ##2)\else{)}\fi}%
+ \def\citeauthoryear##1##2##3{##2 (##3}\citedata}
+\newcommand{\citeA}%
+ {\def\@citeseppen{-1000}%
+ \def\@cite##1##2{(##1\if@tempswa , ##2\fi)}%
+ \def\citeauthoryear##1##2##3{##2}\@internalcite}
+\newcommand{\citeyear}%
+ {\def\@citeseppen{-1000}%
+ \def\@cite##1##2{(##1\if@tempswa , ##2\fi)}%
+ \def\citeauthoryear##1##2##3{##3}\citedata}
+\newcommand{\citeyearNP}%
+ {\def\@citeseppen{-1000}%
+ \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
+ \def\citeauthoryear##1##2##3{##3}\citedata}
+%
+%
+% An ASCE-like title on the first page
+\renewcommand{\maketitle}{
+ \begingroup
+ \renewcommand{\thefootnote}{\arabic{footnote}}%
+ \ifthenelse{\boolean{@twocolumn}}
+ {\ifthenelse{\equal{\col@number}{\@ne}}
+ {\@maketitle}
+ {\twocolumn[\@maketitle]}}%
+ {\newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \@maketitle}
+ \@thanks
+ \endgroup
+ \setcounter{footnote}{0}%
+ \let\thanks\relax
+ \let\maketitle\relax\let\@maketitle\relax
+ \gdef\@thanks{}\gdef\@author{}\gdef\@title{}}
+%
+\renewcommand{\@maketitle}{%
+ \newpage
+ \null
+% \begin{center}%
+ \ifthenelse{\boolean{Journal}}
+ {\vspace{0.00in}}
+ {\ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {\vspace{1.40in}}% 02-14-13
+ {\vspace{1.40in}}}
+ \centering
+ {\large\bfseries\@title\par}%
+ \vspace{1.0em}%
+ {\normalsize\normalfont
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+% \end{center}%
+ \par
+ \vspace{0.5em}}%
+%
+%
+% An ASCE-like abstract
+\renewcommand{\abstractname}{ABSTRACT}
+\renewenvironment{abstract}
+ {\ifthenelse{\boolean{Proceedings}}
+ {\section*{\small\abstractname}\small}%
+ {\section*{\abstractname}}%
+ }
+ {\normalsize}
+%
+%
+% ASCE-like section, subsection, and subsubsection headings
+\ifthenelse{\boolean{SectionNumbers}}% 12-29-02
+ {\setcounter{secnumdepth}{2}}% 12-29-02
+ {\setcounter{secnumdepth}{0}}% 12-29-02
+\renewcommand{\section}{\secdef\Section\sSection}
+\newcommand{\SectionNumber}{}
+\setcounter{section}{-1}
+\newcommand{\Section}[2][?]{%
+ \refstepcounter{section}%
+ \ifthenelse{\boolean{SectionNumbers}} % 12-29-02
+ {\renewcommand{\SectionNumber}{\thesection\hspace{1em}}}
+ {}
+ \par{\flushleft\normalsize\bfseries%
+ \ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {\rmfamily}% 02-14-13
+ {\sffamily}%
+ \uppercase%
+ {\SectionNumber#2}\par}%
+ \nopagebreak}
+\newcommand{\sSection}[1]{%
+ \refstepcounter{section}%
+ \par{\flushleft\bfseries%
+ \ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {\rmfamily}% 02-14-13
+ {\sffamily}%
+ \uppercase{#1}\par}\nopagebreak}
+%
+\renewcommand{\subsection}{\@startsection{subsection}{2}{0in}%
+ {1.00ex\@plus 1ex \@minus .2ex}%
+ {0.2ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries}}
+%
+\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{0in}%
+ {1.00ex\@plus 1ex \@minus .2ex}%
+ {0.2ex \@plus .2ex}%
+ {\normalfont\normalsize\itshape}}
+%
+\newcommand{\RefSectionType}{\section*}
+\ifthenelse{\boolean{Journal}}{\renewcommand{\RefSectionType}{\section}}{}%
+%
+%
+% ASCE-like appendix headings. In order to get appendix heading such as
+% 'Appendix II: Notation' you must insert the line '\appendix' in your
+% document *.tex file at the start of the appendices.
+%
+\renewcommand{\appendixname}{APPENDIX}
+\renewcommand{\appendix}{%
+ \renewcommand{\section}{%
+ \ifthenelse{\boolean{Journal}}
+ {\newpage}{}%
+ \secdef\Appendix\sAppendix}%
+ \setcounter{section}{0}%
+ \renewcommand{\thesection}{\Roman{section}}%
+}
+\newcommand{\Appendix}[2][]{%
+ \refstepcounter{section}%
+ {%
+ \flushleft\normalsize\bfseries
+ \ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {\rmfamily}% 02-14-13
+ {\sffamily}%
+ \appendixname\ %
+ \thesection. \uppercase{#1}\par}\nopagebreak}%
+\newcommand{\sAppendix}[1]{%
+ {\flushleft\normalsize\bfseries%
+ \ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {\rmfamily}% 02-14-13
+ {\sffamily}%
+ \uppercase{#1}\par}\nopagebreak}%
+%
+%
+% An ASCE-like "enumerate" environment for numbered lists
+\newcounter{enumnoo}
+\renewenvironment{enumerate}
+{\begin{list}
+ {\arabic{enumnoo}.}%
+ {\usecounter{enumnoo}%
+ \setlength{\labelwidth}{2em}%
+ \setlength{\labelsep}{0.7em}%
+ \setlength{\itemindent}{0em}%
+ \setlength{\listparindent}{1.5em}% 12-29-02
+ \setlength{\leftmargin}{3em}%
+ \setlength{\rightmargin}{0em}%
+ \setlength{\parsep}{0ex}%
+ \setlength{\topsep}{2ex}%
+ \setlength{\itemsep}{0ex}%
+ }%
+}
+{\end{list}}%
+%
+%
+% An ASCE-like "itemize" environment for 'bulleted' items
+\renewenvironment{itemize}
+{\begin{list}
+ {\labelitemi}%
+ {\setlength{\labelwidth}{1em}%
+ \setlength{\labelsep}{0.7em}%
+ \setlength{\itemindent}{0em}%
+ \setlength{\listparindent}{3em}%
+ \setlength{\leftmargin}{3em}%
+ \setlength{\rightmargin}{0em}%
+ \setlength{\parsep}{0ex}%
+ \setlength{\topsep}{2ex}%
+ \setlength{\itemsep}{0ex}%
+ }%
+}
+{\end{list}}%
+%
+%
+% ASCE-like figure labels
+\renewcommand{\figurename}%
+ {\ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {Figure}% 02-14-13
+ {FIG.}}
+\renewcommand{\tablename}%
+ {\ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {Table}% 02-14-13
+ {TABLE}}
+\newsavebox{\TempBoxb}
+\newlength{\TempBoxl}
+\setlength{\belowcaptionskip}{1.5ex}
+\newlength{\Abovecaptionrule}
+\ifthenelse{\boolean{Journal}\and\boolean{BackFigs}}%
+ {\setlength{\Abovecaptionrule}{0.75in}}
+ {\setlength{\Abovecaptionrule}{0.05in}}
+\renewcommand{\@makecaption}[2]{%
+ \vspace{\Abovecaptionrule}
+ \savebox{\TempBoxb}{%
+ \rule{0em}{3ex}%
+ \ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {\rmfamily}% 02-14-13
+ {\sffamily}%
+ \bfseries\normalsize#1.%
+ \makebox[1ex]{}%
+ \ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {\rmfamily}% 02-14-13
+ {\sffamily}%
+ \bfseries\normalsize#2}%
+ \settowidth{\TempBoxl}{\usebox{\TempBoxb}}
+ \ifthenelse{\lengthtest{\TempBoxl > \textwidth}}
+ {\ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {\rmfamily}% 02-14-13
+ {\sffamily}%
+ \bfseries\normalsize#1.\makebox[1ex]{}%
+ \ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {\rmfamily}% 02-14-13
+ {\sffamily}%
+ \bfseries\normalsize#2\par}%
+ {\centering \usebox{\TempBoxb}}
+ \vskip\belowcaptionskip}%
+%
+%
+% Float parameters suggested by G. Granger in TUGboat 15(2)
+\setcounter{topnumber}{2}
+\setcounter{bottomnumber}{2}
+\setcounter{totalnumber}{4}
+\setcounter{dbltopnumber}{2}
+\renewcommand{\topfraction}{0.9}
+\renewcommand{\bottomfraction}{0.5}
+\renewcommand{\textfraction}{0.1}
+\renewcommand{\floatpagefraction}{0.8}
+\renewcommand{\dbltopfraction}{0.9}
+\renewcommand{\dblfloatpagefraction}{0.8}
+%
+%
+% An ASCE-like layout of the bibliographic items
+\renewcommand{\refname}{REFERENCES}
+\def\@biblabel#1{}
+\bibindent=1.0em
+\renewenvironment{thebibliography}[1]
+ {\par%
+ \RefSectionType{\refname%
+ \@mkboth{\refname}{\refname}}%
+ \list{[\arabic{enumiv}]}%
+ {%\settowidth\labelwidth{\@biblabel{#1}}%
+ \setlength{\labelwidth}{0em}
+ \leftmargin\labelwidth
+ \setlength{\labelsep}{0.in}
+ \advance\leftmargin\labelsep
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \setlength{\itemsep}{0ex}%
+ \setlength{\topsep}{0ex}%
+ \parsep \z@
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand{\theenumiv}{\arabic{enumiv}}}%
+ \sloppy\clubpenalty4000\widowpenalty4000%
+ \sfcode`\.=\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+\renewcommand{\newblock}{}
+%
+% A new commond for "tagging" the author's name on the bottom right
+% corner of the page (as per the ASCE shiny, camera-ready blank paper)
+\newcommand{\NameTag}[1]
+ {\ifthenelse{\boolean{NoPageNumbers}}% 02-14-13
+ {\@latex@warning{Oops! Can not use NameTag with NoPageNumbers}}% 02-14-13
+ {\newlength{\LeftFootSpace}
+ \settowidth{\LeftFootSpace}{#1}
+ \renewcommand{\@oddfoot}{\hspace{\LeftFootSpace}\hfill\thepage\hfill#1}}
+ }
+\newcommand{\KeyWordName}{Keywords}
+\newcommand{\KeyWords}[1]
+ {\par\noindent\rule{0em}{3ex}%
+ \ifthenelse{\boolean{NewProceedings}}% 02-14-13
+ {\rmfamily}% 02-14-13
+ {\sffamily}%
+ \bfseries\KeyWordName: %
+ \normalfont#1}
+%
+% ASCE asks for the lists of tables and figures to be double-spaces
+\ifthenelse{\boolean{BackFigs}}
+{\renewcommand\listoftables{%
+ \section*{\listtablename
+ \@mkboth{%
+ \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
+ \ifthenelse{\boolean{DoubleSpace}}% 02-14-13
+ {\doublespacing\@starttoc{lot}\singlespacing}% 02-14-13
+ {\@starttoc{lot}}}
+ \renewcommand\listoffigures{%
+ \section*{\listfigurename
+ \@mkboth{\MakeUppercase\listfigurename}%
+ {\MakeUppercase\listfigurename}}%
+ \ifthenelse{\boolean{DoubleSpace}}% 02-14-13
+ {\doublespacing\@starttoc{lof}\singlespacing}% 02-14-13
+ {\@starttoc{lof}}}
+ }{}
+%
+\AtEndOfClass
+ {\bibliographystyle{ascelike}
+ \ifthenelse{\boolean{NoPageNumbers}}
+ {\pagestyle{empty}}
+ {\pagestyle{plain}}
+ }
+%
diff --git a/macros/latex/contrib/ascelike/ascexmpl.bib b/macros/latex/contrib/ascelike/ascexmpl.bib
new file mode 100644
index 0000000000..fd7a2d4cb7
--- /dev/null
+++ b/macros/latex/contrib/ascelike/ascexmpl.bib
@@ -0,0 +1,407 @@
+%
+%
+% August 20, 2011
+%
+% Bibtex bibliographic data base using the canonical set given in the
+% ASCE web document "Instructions For Preparation Of Electronic Manuscripts"
+% For use with the ascelike.bst bibliographic style file.
+%
+% A few 'fine points' about bibtex data bases:
+% 1) Entries that are NOT enclosed in quotations marks ("" "")
+% must contain data. For example, the NUMBER entry. If you don't
+% know the NUMBER, don't leave it blank. Just remove the entire
+% NUMBER line.
+% 2) Bibtex will suppress capital letters within the TITLE of an article
+% (except for the first word of the title). To force capitalization,
+% enclose the capitalized letter(s) in curly braces, such as {ASCE}
+% of {SI}.
+% 3) Although unusual, if the reference has no author, you will need to
+% be somewhat creative to produce ASCE-like output. This usually occurs
+% when the "non-author" is an organization instead of a person, but
+% it also applies to newspaper articles. Try the following:
+% a) if the non-author is a a single word or abreviation ("ASTM" or
+% "Newsweek"), try formatting as a book, incollection, or article,
+% placing the non-author in the AUTHOR field.
+% b) if the non-author is multiple word (Federal Highway
+% Administration), you will need to be creative, since bibtex
+% will confuse the non-author as a person with first, middle, and
+% last names (for example, Federal, H. A.). Try using the MANUAL
+% format as shown in FHWA:1991a, FR:1968a, and ICBO:1988a
+%
+%
+@INCOLLECTION{ASTM:1991a,
+ AUTHOR = "ASTM",
+ TITLE = "Standard practice for the use of the international system of units ({SI}) (the modernized metric system)",
+ EDITOR = "",
+ BOOKTITLE = "E 380-91a",
+ PUBLISHER = "ASTM",
+ ADDRESS = "Philadelphia, Pa.",
+ MONTH = "",
+ YEAR = 1991,
+ EDITION = "",
+ PAGES = "",
+ ORGANIZATION = "",
+ NOTE = "",
+ }
+
+@MISC{Burka:1993a,
+ author = {Burka, L. P.},
+ title = {A hypertext history of multi-user dimensions},
+ journal = {MUD history},
+ year = {1993},
+ month = {Dec. 5, 1994},
+ url = {http://www.ccs.neu.edu},
+}
+%
+@ARTICLE{Dasgupta:2008a,
+ AUTHOR = "Dasgupta, G.",
+ TITLE = "Stiffness matrix from isoparametric closed form
+ shape functions using exact integration",
+ JOURNAL = "J. Aerosp. Eng.",
+ YEAR = 2008,
+ NOTE = "in press",
+ }
+%
+@TECHREPORT{Duan:1990a,
+ AUTHOR = "Duan, L. and Loh, J. T. and Chen, W. F.",
+ TITLE = "M-{P}-f-based analysis of dented tubular members",
+ INSTITUTION = "School of Civ. Engrg., Purdue Univ.",
+ TYPE = "Struct. Engrg. Rep. No.",
+ NUMBER = "CE-STR-90-27",
+ ADDRESS = "West Lafayette, Ind.",
+ YEAR = 1990,
+ NOTE = "",
+ URL = "",
+}
+%
+@BOOK{Duvant:1972a,
+ AUTHOR = "Duvant, G. and Lions, J. L.",
+ EDITOR = "",
+ TITLE = "Les in{\'{e}}quations en m{\'{e}}chanique et en physique",
+ PUBLISHER = "Dunod",
+ ADDRESS = "Paris, France",
+ YEAR = 1972,
+ EDITION = "",
+ NOTE = "(in French)",
+ }
+%
+@PHDTHESIS{Chang:1987a,
+ AUTHOR = "Chang, T. C.",
+ TITLE = "Network resource allocation using an expert system
+ with fuzzy logic reasoning",
+ SCHOOL = "University of California",
+ ADDRESS = "Berkeley, CA",
+ YEAR = 1987,
+ URL = "",
+ }
+%
+@INPROCEEDINGS{Eshenaur:1991a,
+ AUTHOR = "Eshenaur, S. R. and Kulicki, J. M. and Mertz, D. R.",
+ TITLE = "Retrofitting distortion-induced fatigue cracking of
+ non-composite steel girder-floorbeam-stringer bridges",
+ BOOKTITLE = "Proc., 8th Annual Int. Bridge Conf.",
+ EDITOR = "",
+ PUBLISHER = "",
+ YEAR = 1991,
+ ORGANIZATION = "Engineers' Soc. of Western Pennsylvania",
+ ADDRESS = "Pittsburgh, Pa.",
+ PAGES = "380--388",
+ NOTE = "",
+ }
+%
+@INPROCEEDINGS{Garrett:2003a,
+ AUTHOR = "Garrett, D. L.",
+ TITLE = "Coupled analysis of floating production systems",
+ BOOKTITLE = "Proc., Int. Symp. on Deep Mooring Systems",
+ EDITOR = "",
+ PUBLISHER = "",
+ YEAR = 2003,
+ ORGANIZATION = "ASCE",
+ ADDRESS = "Reston, VA",
+ PAGES = "152--167",
+ NOTE = "",
+ HOWPUBLISHED = "CD-ROM",
+ }
+%
+@ARTICLE{Gaspar:2001a,
+ AUTHOR = "Gaspar, N. and Koenders, M. A.",
+ TITLE = "Micromechanic formulation of macroscopic
+ structures in a granular medium",
+ JOURNAL = "J. Engrg. Mech.",
+ YEAR = 2001,
+ VOLUME = 127,
+ NUMBER = 10,
+ PAGES = "987--993",
+ NOTE = "",
+ }
+%
+@INCOLLECTION{Gaspar:2001b,
+ AUTHOR = "Gaspar, N. and Koenders, M. A.",
+ TITLE = "Estimates of the shear modulus of a granular assembly
+ using heterogeneous media techniques",
+ EDITOR = "Kishino, Y.",
+ BOOKTITLE = "Powders and Grains 2001",
+ PUBLISHER = "A.A. Balkema",
+ ADDRESS = "Lisse",
+ YEAR = 2001,
+ PAGES = "389--392",
+ ORGANIZATION = "",
+ NOTE = "",
+ }
+%
+@MANUAL{FHWA:1991a,
+ AUTHOR = "",
+ KEY = "Federal",
+ TITLE = "Evaluating scour at bridges",
+ ORGANIZATION = "Federal Highway Administration (FHWA)",
+ PUBLISHER = "Rep., Hydr. Engrg. Circular No. 18: FHWA-IP-90-017",
+ ADDRESS = "Washington, D.C.",
+ YEAR = 1991,
+ NOTE = "",
+}
+%
+@MANUAL{FR:1968a,
+ AUTHOR = "",
+ KEY = "Federal",
+ TITLE = "Federal Register",
+ HOWPUBLISHED = "",
+ YEAR = 1988,
+ NOTE = "33(No. 146; July 27), 10756",
+ }
+%
+@ARTICLE{Frater:1992a,
+ AUTHOR = "Frater, G. S. and Packer, J. A.",
+ TITLE = "Weldment design for {RHS} truss connections. {I}: Applications",
+ JOURNAL = "J. Struct. Engrg.",
+ ORGANIZATION = "ASCE",
+ YEAR = 1992,
+ VOLUME = 118,
+ NUMBER = 10,
+ PAGES = "2784--2803",
+ NOTE = "",
+ }
+%
+@ARTICLE{Frater:1992b,
+ AUTHOR = "Frater, G. S. and Packer, J. A.",
+ TITLE = "Weldment design for {RHS} truss connections. {II}: Experimentation",
+ JOURNAL = "J. Struct. Engrg.",
+ ORGANIZATION = "ASCE",
+ MONTH = "",
+ YEAR = 1992,
+ VOLUME = 118,
+ NUMBER = 10,
+ PAGES = "2804--2820",
+ NOTE = "",
+ }
+%
+@BOOK{Goossens:1994a,
+ AUTHOR = "Goossens, M. and Mittlebach, F. and Samarin, A.",
+ TITLE = "The \LaTeX\ Companion",
+ PUBLISHER = "Addison--Wesley Pub. Co.",
+ ADDRESS = "Reading, Mass.",
+ YEAR = 1994,
+ }
+@ARTICLE{Huang2009a,
+ author = {Yue Huang and Roger Bird and Margaret Bell},
+ title = {A comparative study of the emission by road maintenance works and
+ the disrupted traffic using life cycle assessment and micro-simulation},
+ journal = {Transportation Research Part D},
+ year = {2009},
+ volume = {14},
+ pages = {197-204},
+}
+
+@ARTICLE{Huang2009b,
+ author = {Yue Huang and Roger Bird and Oliver Hendrich},
+ title = {Development of a life cycle assessment tool for construction and
+ maintenance of asphalt pavements},
+ journal = {Journal of Cleaner Production},
+ year = {2009},
+ volume = {17},
+ pages = {283-296},
+}
+
+@MANUAL{ICBO:1988a,
+ AUTHOR = "",
+ ORGANIZATION = "International Conference of Building Officials",
+ TITLE = "Uniform building code",
+ KEY = "International",
+ PUBLISHER = "",
+ ADDRESS = "Whittier, Calif.",
+ MONTH = "",
+ YEAR = 1988,
+ EDITION = "",
+ NOTE = "",
+ }
+%
+@ARTICLE{Ireland:1954a,
+ AUTHOR = "Ireland, H. O.",
+ TITLE = "Stability analysis of {C}ongress {S}treet open cut
+ in {C}hicago",
+ JOURNAL = "G{\'{e}}otechnique",
+ ORGANIZATION = "London, England",
+ MONTH = "",
+ YEAR = 1954,
+ VOLUME = 4,
+ NUMBER = 4,
+ PAGES = "163--168",
+ NOTE = "",
+ }
+%
+@MISC{Kuhn:2011a,
+ author = {Kuhn, M. R.},
+ title = {Style files for {ASCE}-like documents},
+ journal = {ascelike},
+ year = {2011},
+ month = {Nov. 17, 2011},
+ url = {http://www.ctan.org/tex-archive/macros/latex/contrib/ascelike},
+}
+%
+@BOOK{Lamport:1994a,
+ AUTHOR = "Lamport, L.",
+ TITLE = "\LaTeX: A Document Prepartation System User's Guide
+ and Reference Manual",
+ PUBLISHER = "Addison--Wesley Pub. Co.",
+ ADDRESS = "Reading, Mass.",
+ YEAR = 1994,
+ }
+
+@INCOLLECTION{Liggett:1998a,
+ author = {Liggett, J. A. and Caughey, D. A.},
+ title = {Fluid statics},
+ booktitle = {Fluid mechanics},
+ year = {1998},
+ howpublished = {CD-ROM},
+ chapter = {2},
+ publisher = {ASCE},
+ address = {Reston, VA},
+ pages = {167--177},
+}
+%
+@MANUAL{Lotus:1985a,
+ AUTHOR = "",
+ TITLE = "Lotus 1-2-3 reference manual; release 2.01",
+ PUBLISHER = "Lotus Development Corp.",
+ KEY = "Lotus",
+ ADDRESS = "Cambridge, Mass.",
+ EDITION = "",
+ MONTH = "",
+ YEAR = 1985,
+ NOTE = "",
+ }
+%
+@BOOK{Melan:1913a,
+ AUTHOR = "Melan, J.",
+ EDITOR = "",
+ TITLE = "Theory of arches and suspension bridges",
+ PUBLISHER = "Myron C. Clark",
+ ADDRESS = "Chicago, Ill",
+ MONTH = "",
+ YEAR = 1913,
+ EDITION = "",
+ NOTE = "D. B. Steinman, translator",
+ }
+%
+@MANUAL{Moody:1988a,
+ AUTHOR = "",
+ TITLE = "Moody's municipal \& government manual",
+ PUBLISHER = "Moody's Investors Service",
+ KEY = "Moody",
+ ADDRESS = "New York, N.Y.",
+ EDITION = "",
+ MONTH = "",
+ YEAR = 1988,
+ NOTE = "",
+ }
+%
+@ARTICLE{Pennoni:1992a,
+ AUTHOR = "Pennoni, C. R.",
+ TITLE = "Visioning: the future of civil engineering",
+ JOURNAL = "J. Profl. Issues in Engrg. Education and Practice",
+ ORGANIZATION = "ASCE",
+ MONTH = "",
+ YEAR = 1992,
+ VOLUME = 118,
+ NUMBER = 3,
+ PAGES = "221--233",
+ NOTE = "",
+ }
+%
+@ARTICLE{Reiffenstuhl:1982a,
+ AUTHOR = "Reiffenstuhl, H.",
+ TITLE = "Das Vorspannen von Bewehrung auf Druck:
+ Grundsaetzliches und Anwendungsmoeglichkeiten
+ [prestressing of reinforcing in compression:
+ fundamentals and application possibilities]",
+ JOURNAL = "Beton-und Stahlbetonbau",
+ ORGANIZATION = "Berlin, Germany",
+ MONTH = "",
+ YEAR = 1982,
+ VOLUME = 77,
+ NUMBER = 3,
+ PAGES = "69--73",
+ NOTE = "(in German)",
+ }
+%
+% Note that the TYPE can be left blank ("") for the default M.S. thesis
+@MASTERSTHESIS{Sotiropulos:1991a,
+ AUTHOR = "Sotiropulos, S. N.",
+ TITLE = "Static response of bridge superstructures
+ made of fiber reinforced plastic",
+ SCHOOL = "West Virginia Univ.",
+ ADDRESS = "Morgantown, WV",
+ YEAR = 1991,
+ TYPE = "M.{S}. thesis",
+ URL = "",
+ }
+%
+@ARTICLE{Stahl:2004a,
+ AUTHOR = "Stahl, D. C. and Wolfe, R. W. and Begel, M.",
+ TITLE = "Improved analysis of timber rivet connections",
+ JOURNAL = "J. Struct. Eng.",
+ YEAR = 2004,
+ VOLUME = 130,
+ NUMBER = 8,
+ PAGES = "1272--1279",
+ }
+%
+@ARTICLE{Vesilind:1992a,
+ AUTHOR = "Vesilind, P. A.",
+ TITLE = "Discussion of `{G}uidance for engineering-design-class
+ lectures on ethics,' by {R}ichard {H}. {M}c{C}uen",
+ JOURNAL = "J. Profl. Issues in Engrg. Education and Practice",
+ ORGANIZATION = "ASCE",
+ MONTH = "",
+ YEAR = 1992,
+ VOLUME = 118,
+ NUMBER = 2,
+ PAGES = "214--215",
+ NOTE = "",
+ }
+%
+@INCOLLECTION{Zadeh:1981a,
+ AUTHOR = "Zadeh, L. A.",
+ TITLE = "Possibility theory and soft data analysis",
+ EDITOR = "L. Cobb and R. M. Thrall",
+ BOOKTITLE = "Mathematical frontiers of the social and policy sciences",
+ PUBLISHER = "Westview Press, Inc.",
+ ADDRESS = "Boulder, Colo.",
+ MONTH = "",
+ YEAR = 1981,
+ EDITION = "",
+ PAGES = "69--129",
+ ORGANIZATION = "",
+ NOTE = "",
+ }
+%
+@PHDTHESIS{Wichtmann:2005a,
+ AUTHOR = "Wichtmann, T.",
+ TITLE = "Explicit accumulation model for non-cohesive
+ soils under cyclic loading",
+ SCHOOL = "Institute for Soil Mechanics and Foundation Engineering,
+ Ruhr-Univ. Bochum, Germany",
+ ADDRESS = "",
+ YEAR = 2005,
+ URL = "www.rz.uni-karlsruhe.de/$\sim$gn97/",
+ MONTH = "2007",
+ }
diff --git a/macros/latex/contrib/ascelike/ascexmpl.pdf b/macros/latex/contrib/ascelike/ascexmpl.pdf
new file mode 100644
index 0000000000..4cefa7a5fc
--- /dev/null
+++ b/macros/latex/contrib/ascelike/ascexmpl.pdf
Binary files differ
diff --git a/macros/latex/contrib/ascelike/ascexmpl.tex b/macros/latex/contrib/ascelike/ascexmpl.tex
new file mode 100644
index 0000000000..7b44031a8e
--- /dev/null
+++ b/macros/latex/contrib/ascelike/ascexmpl.tex
@@ -0,0 +1,562 @@
+%
+\documentclass[Proceedings]{ascelike}
+%
+% Feb. 14, 2013
+%
+% Some useful packages...
+%
+%\usepackage{graphicx}
+%\usepackage{subfigure}
+%\usepackage{amsmath}
+%\usepackage{amsfonts}
+%\usepackage{amssymb}
+%\usepackage{amsbsy}
+%\usepackage{times}
+%
+%
+% Place hyperlinks within the pdf file (works only with pdflatex, not latex)
+% \usepackage[colorlinks=true,citecolor=red,linkcolor=black]{hyperref}
+%
+%
+% NOTE: Don't include the \NameTag{<your name>} if you have selected
+% the NoPageNumbers option: this leads to an inconsistency and
+% a warning, and the NameTag is ignored.
+\NameTag{Kuhn, Feb. 14, 2013}
+%
+%
+\begin{document}
+%
+% You will need to make the title all-caps
+\title{STYLE FILES FOR ASCE-LIKE DOCUMENTS}
+%
+\author{
+Matthew R. Kuhn%
+%
+% ---- The first of two styles for addresses: using footnotes and \thanks ----
+\thanks{
+Dept.\ of Civil Engrg.,
+Donald P.\ Shiley School of Engrg., Univ.\ of Portland,
+5000 N.\ Willamette Blvd.,
+Portland, OR 97203. E-mail: kuhn@up.edu.},
+\ Member, ASCE
+%
+% Adding a second author with the same affiliation (still using \thanks):
+% \\
+% Ima Colleague,\footnotemark[1] Member, ASCE%
+%
+% Adding another author with a different affiliation. I have found that
+% the \and command doesn't quite work, so just use "and", as in the following
+% \\
+% and
+% Younyee Kuhn%
+% \thanks{Flourishing wife of same.},%
+% \ Not a Member, ASCE
+%
+% ---- The second of two styles for addresses: below names, no footnotes ----
+%
+% For this style, don't use \thanks. Instead, use superscripts and carriage
+% returns ("\\"). It's not pretty, but neither is the new ASCE proceedings
+% style. Something like the following:
+%
+% Matthew R. Kuhn$^1$, Member, ASCE\\[1ex]%
+%
+% $^1$\parbox[t]{5.75in}{Dept.\ of Civil Engrg.,
+% Donald P.\ Shiley School of Engrg., Univ.\ of Portland,
+% 5000 N.\ Willamette Blvd., Portland, OR 97203. kuhn@up.edu.}
+}
+%
+\maketitle
+%
+\begin{abstract}
+This document was produced with the \LaTeX\ typesetting program
+using the document class ``\texttt{ascelike.cls}'' and the
+example file ``\texttt{ascexmpl.tex}''.
+The reference section on page~\pageref{section:references}
+was produced with the \textsc{Bib}\TeX\ style ``\texttt{ascelike.bst}''
+and the database ``\texttt{ascelike.bib}''.
+The objective of these files is manuscripts that roughly comply with the
+guidelines of the American Society of Civil Engineers.
+The document class
+produces either double-spaced manuscripts for journal submissions or
+manuscripts for conference proceedings, either in ASCE's older or newer
+styles.
+This document serves as a brief guide to \texttt{ascelike.cls},
+as well as a test of the output that is produced
+by the input file \texttt{ascexmpl.tex}.
+The package is freely available under the LaTeX
+Project Public License, version 1.1
+\end{abstract}
+%
+% Some keywords, using a new command: \KeyWords{}
+%
+\KeyWords{\LaTeX, ASCE, document class,
+ ascelike.cls~(version 2.3),
+ ascelike.bst~(version 2.2).}
+%
+\section{Introduction}
+The class file ``\texttt{ascelike.cls}''
+produces manuscripts that roughly comply with the
+guidelines of the American Society of Civil Engineers (ASCE).
+The \texttt{ascelike.cls} document class, the
+bibliographic style \texttt{ascelike.bst}, and
+example files are available on the \texttt{ctan}
+web-site \cite{Kuhn:2011a}.
+Although the files are \emph{not} produced by ASCE, its agents,
+or employees, \texttt{ascelike.cls} is now referenced on
+the ASCE web-site.
+\par
+This document was created from the file
+``\texttt{ascexmpl.tex}'', which also serves to test the
+\texttt{ascelike.cls} and \texttt{ascelike.bst} system.
+\par
+The program \texttt{ascelike.cls} is distributed under the
+terms of the LaTeX Project Public License Distributed,
+available from the CTAN archives;
+either version 1.1 of the License, or any later version.
+If you modify
+\texttt{ascelike.cls}, you should rename it so that ``altered''
+copies are not later proliferated.
+\par
+The document class ``\texttt{ascelike.cls}'' requires the following
+supplementary files:
+\begin{itemize}
+\item
+\texttt{ifthen.sty},
+\item
+\texttt{setspace.sty},
+\item
+\texttt{endfloat.sty}, and
+\item
+\texttt{lineno.sty}.
+\end{itemize}
+\emph{Without these files,} \texttt{ascelike.cls} \emph{won't work}.
+These files are typically included in \LaTeX\ distributions, such as the
+\textsf{TexLive}, \textsf{MikTex}, and \textsf{MacTex} distributions.
+All of these files are freely available
+from the Comprehensive \TeX\ Archive Network (CTAN) archive,
+through \verb+http://www.ctan.org+ or
+\verb+http://www.tug.org+, although they may need to be unbundled from
+a \verb+*.dtx+ file.
+If one of these files is not installed as part of your \TeX\ system,
+then download the file from the CTAN archive and place it in the same folder
+as your manuscript files.
+On Debian GNU/Linux systems, the \texttt{setspace.sty}
+file is part of the \texttt{texlive-latex-re\-com\-mended} package;
+the \texttt{endfloat.sty}
+file is part of the \texttt{texlive-latex-extra} package;
+and the \texttt{lineno.sty}
+file is part of the \texttt{texlive-humanities} package.
+\par
+In addition to \texttt{ascelike.cls},
+the file \texttt{ascelike.bst} can be used with
+the bibliographic tool \textsc{Bib}\TeX\ to produce ASCE-like
+reference citations and entries (with the weird use of
+quotation marks around titles, etc.) \cite{Kuhn:2011a}.
+An example bibliographic data base is given in the
+supplementary file \texttt{ascexmpl.bib}.
+\par
+In addition to these essential files,
+we have found the following packages very useful:
+%
+\begin{itemize}
+\item
+\texttt{graphicx.sty} and its companion files for incorporating
+encapsulated post\-script (figure) files into the document
+\item
+\texttt{times.sty} for typesetting with Times fonts.
+\item
+\texttt{subfigure.sty} for arranging and numbering sub-figures
+\item
+\texttt{amsmath.sty} and its companion files for the AMS extensions
+to mathematical formatting (\texttt{amsfonts.sty}, \texttt{amssymb.sty},
+and \texttt{amsbsy.sty}).
+\item
+\texttt{url.sty} can be used to embed the underscore ``\_'' and
+ampersand ``\&'' symbols with web addresses.
+\end{itemize}
+%
+All of these packages are freely
+available from the CTAN archive,
+and they are included in most \LaTeX\ distributions.
+%
+\section{Input and Options}
+You should
+prepare your \verb+*.tex+ input file as a regular
+\LaTeX\ file using the standard \texttt{article.cls} constructs,
+but, of course, substituting \texttt{ascelike} for \texttt{article}
+in the opening \verb+\documentclass+ command.
+You will likely need to specify a number of options as described below.
+In addition, \texttt{ascelike} provides two new commands: \verb+KeyWords+ and
+\verb+NameTag+, both of which are described further below.
+\par
+The document class \texttt{ascelike.cls} provides several options given
+below.
+The \verb+Proceedings|+\-\verb+Journal|+\-\verb+NewProceedings+
+option is the most important;
+the other options are largely incidental.
+%
+\begin{enumerate}
+\item
+Options
+\verb+Journal|+\verb+Proceedings|+\verb+NewProceedings+ specify the overall
+format of the output man\-u\-script.
+\par
+\texttt{Journal} produces double-spaced manuscripts for ASCE journals.
+As default settings, it places tables and figures at the end of the manuscript
+and produces lists of tables and figures.
+It places line numbers within the left margin.
+All of these default settings can altered with the options that are
+described below.
+It also numbers the appendices with Roman numerals and produces
+proper headings for
+sections, subsections, subsubsections, appendices, and abstract.
+It produces the proper page margins and numbers the pages.
+%
+\par
+\texttt{Proceedings} produces older-style camera-ready single-spaced
+manu\-scripts for ASCE conference proceedings.
+The newer ASCE style is enacted with the \verb+NewProceedings+ option.
+As default settings,
+\verb+Proceedings|+ places figures and tables within the text.
+It does not place line numbers within the left margin.
+Pages are numbered, and the bottom left corner can be ``tagged'' with
+the author's name (this can be done by inserting the command
+\verb+\NameTag{<+\emph{your name}\verb+>}+ within the preamble of your
+document).
+All of these default settings can be altered with the options that are
+described below.
+\verb+Proceedings|+ also produces the proper page margins as
+given on the old shiny,
+camera-ready paper (with the light blue lines)
+supplied by ASCE.
+It produces proper headings for
+sections, subsections, subsubsections, appendices, and the abstract.
+%
+\par
+\texttt{NewProceedings} produces newer-style single-spaced
+manu\-scripts for ASCE conference proceedings, as shown on the
+ASCE website (\emph{ca.} 2013).
+The older ASCE style is enacted with the \verb+Proceedings+ option.
+As default settings,
+\verb+NewProceedings+ places figures and tables within the text.
+It does not place line numbers within the left margin.
+Pages are not numbered.
+If desired, the bottom left corner can be ``tagged'' with
+the author's name (this can be done by inserting the command
+\verb+\NameTag{<+\emph{your name}\verb+>}+ within the preamble of your
+document).
+All of the default settings can be altered with the options that are
+described below.
+\verb+NewProceedings+ also produces the proper page margins as
+specified by ASCE.
+It produces proper headings for
+sections, subsections, subsubsections, appendices, and the abstract.
+To create author addresses that do \emph{not} appear as footnotes,
+use the kluge that is described on page~\pageref{address.kluge}
+and in this \texttt{ascexmpl.tex} example.
+%
+\item
+Options \verb+BackFigs|InsideFigs+ can be used to override
+the default placement of tables
+and figures in the \texttt{Journal}, \texttt{Proceedings}, and
+\texttt{NewProceed\-ings} formats.
+\item
+Options \verb+SingleSpace|DoubleSpace+ can be used to override
+the default text spacing in the
+\texttt{Journal}, \texttt{Proceedings}, and
+\texttt{NewProceedings} formats.
+\item
+Options \verb+10pt|11pt|12pt+ can be used to override the
+default text size (12pt).
+\item
+The option \texttt{NoLists} suppresses inclusion of lists of tables
+and figures that would normally be included in the \texttt{Journal}
+format.
+\item
+The option \texttt{NoPageNumbers} suppresses the printing of page numbers.
+\item
+The option \texttt{SectionNumbers} produces an automatic numbering of sections.
+Without the \texttt{SectionNumbers} option, sections will \emph{not} be
+numbered, as this seems to be the usual formatting in ASCE journals
+(note that the appendices will, however, be automatically
+``numbered'' with Roman numerals).
+With the \texttt{SectionNumbers} option, sections and
+subsections are numbered with Arabic numerals (e.g. 2, 2.1, etc.), but
+subsubsection headings will not be numbered. To change this default
+depth of numbering when
+the option \texttt{SectionNumbers} is invoked, insert the following commands
+in the preamble of your document:\\[2mm]
+\begin{tabular}{ll}
+\verb! \setcounter{secnumdepth}{1}! & Number sections only\\
+\verb! \setcounter{secnumdepth}{3}! & Number sections, subsections, \\
+ & and subsubsections
+\end{tabular}\\[2mm]
+Even with the \texttt{SectionNumbers} option, you can use the ``starred''
+form, \verb!\section*{ }!, to create a section heading without numbers.
+This might be desirable for an Acknowledgements section at the end of
+a paper. Note, however, that the starred form will not suppress
+the numbering of subsections or subsubsections.
+\item
+The options \verb+NoLineNumbers|LineNumbers+ can be used to override
+the default use (or absence) of line numbers in the \texttt{Journal},
+\texttt{Proceedings}, and
+\texttt{NewProceedings} formats.
+\end{enumerate}
+%
+\section{Sections, subsections, equations, etc.}
+This section is included to explain and to
+test the formating of sections, subsections,
+subsubsections, equations, tables, and figures.
+Section heading are automatically made uppercase, which is great unless
+your section heading contains mathematics, \verb+$<math stuff>$+.
+If a heading does contain mathematics, you will need to modify
+\texttt{ascelike.cls}, in particular the line containing the
+\verb+\uppercase+ command.
+To force mathematics symbols to become
+bold within a section heading, try using
+the \verb!\boldmath! command before the in-line math:
+for example,
+\verb!\boldmath$a_{i}=\sqrt{\beta}$!.
+%
+\subsection{An Example Subsection with math, \boldmath$a_{i}=\sqrt{\beta}$}
+No automatic capitalization occurs with subsection headings;
+you will need to capitalize the first letter of each word,
+as in ``An Example Subsection.''
+%
+\subsubsection{An example subsubsection}
+No automatic capitalization occurs with subsubsections;
+you will need to capitalize only the first letter of subsubsection
+headings.
+\par
+And now we include an example of a displayed equation (Eq.~\ref{eq:Einstein})
+%
+\begin{equation} \label{eq:Einstein}
+E = m c^{2} \;,
+\end{equation}
+%
+a figure (Fig.~\ref{fig:box_fig}),%
+%
+\begin{figure}
+\centering
+\framebox[3.00in]{\rule[0in]{0in}{1.00in}}
+\caption{An example figure (just a box).
+This particular figure has a caption with more information
+than the figure itself, a very poor practice indeed.
+A reference here \protect\cite{Stahl:2004a}.}
+\label{fig:box_fig}
+\end{figure}
+%
+and a table (Table~\ref{table:assembly}).%
+%
+\begin{table}
+\caption{An example table}
+\label{table:assembly}
+\centering
+\small
+\renewcommand{\arraystretch}{1.25}
+\begin{tabular}{l l}
+\hline\hline
+\multicolumn{1}{c}{Assembly Attribute} &
+\multicolumn{1}{c}{Values} \\
+\multicolumn{1}{c}{(1)} &
+\multicolumn{1}{c}{(2)} \\
+\hline
+Number of particles & 4008 \\
+Particle sizes & Multiple \\
+Particle size range & $0.45D_{50}^{\:\ast}$ to $1.40D_{50}$ \\
+Initial void ratio, $e_{\mathrm{init}}$ & $0.179$ \\
+Assembly size & $54D_{50} \times 54D_{50} \times 54D_{50}$ \\
+\hline
+\multicolumn{2}{l}{$\ast$ $D_{50}$ represents the median particle diameter} \\
+\hline\hline
+\end{tabular}
+\normalsize
+\end{table}
+%
+Notice that the caption of Fig.~\ref{fig:box_fig} contains
+a citation of a bibliographic item \cite{Stahl:2004a}.
+This can lead to the following error message:
+\begin{verbatim}
+ ! Illegal parameter number in definition of \reserved@a.
+ ! Missing control sequence inserted
+\end{verbatim}
+These errors are avoided by protecting citations within captions,
+with the command \verb|\protect\cite{...}|.
+%
+\par
+The command \verb+\KeyWords{<your key words>}+ can be used to produce
+a labeled list of key words.
+It can be placed anywhere in the document and produces an unindented
+paragraph of keywords at that location.
+\par
+The command \verb+\NameTag{<+\emph{your name}\verb+>}+ can be placed
+within the preamble of your document, which will produce a name
+and date tag in bottom left corner of the page.
+Do not use \verb+\NameTag+ in combination with the \verb+NoPageNumbers+
+option, as the former will be ignored.
+%
+\section{Citations and bibliographic entries}
+When used together, \texttt{ascelike.cls} and \texttt{ascelike.bst}
+produce APA~/ \emph{Chica\-go Manual of Style} citations in
+name-date format.
+The code in \texttt{ascelike.bst}
+is a modification of the \texttt{chicago.sty} and
+\texttt{chicago.bst} packages.
+The following citation options are available:
+\begin{itemize}
+\item
+\verb+\cite{key}+ produces citations with full author
+list and year \cite{Ireland:1954a}.
+\item
+\verb+\citeNP{key}+ produces citations with full author list and year,
+but without enclosing parentheses: e.g. \citeNP{Ireland:1954a}.
+\item
+\verb+\citeA{key}+ produces citations with only the full
+author list: e.g. \citeA{Ireland:1954a}
+\item
+\verb+\citeN{key}+ produces citations with the full author list and year, but
+which can be used as nouns in a sentence; no parentheses appear around
+the author names, but only around the year: e.g. \citeN{Ireland:1954a}
+states that \ldots
+\item
+\verb+\citeyear{key}+ produces the year information only, within parentheses,
+as in \citeyear{Ireland:1954a}.
+\item
+\verb+\citeyearNP{key}+ produces the year information only,
+as in \citeyearNP{Ireland:1954a}.
+\end{itemize}
+%
+\par
+The bibliographic data base \texttt{ascexmpl.bib}
+gives examples of bibliographic entries for different document types.
+These entries are from the canonical set in the
+ASCE web document ``Instructions For Preparation Of Electronic Manuscripts''
+and from the ASCE web-site.
+The References section of this document has been automatically created with
+the \texttt{ascelike.bst} style for the following entries:
+\begin{itemize}
+\item a book \cite{Goossens:1994a},
+\item an anonymous book \cite{Moody:1988a},
+\item an anonymous report using \texttt{@MANUAL} \cite{FHWA:1991a},
+%\item an anonymous newspaper story ("Educators" 1993),
+\item a journal article \cite{Stahl:2004a,Pennoni:1992a},
+\item a journal article in press \cite{Dasgupta:2008a},
+\item an article in an edited book using \texttt{@INCOLLECTION} \cite{Zadeh:1981a},
+\item a building code using \texttt{@MANUAL} \cite{ICBO:1988a},
+\item a discussion of an \texttt{@ARTICLE} \cite{Vesilind:1992a},
+\item a masters thesis using \texttt{@MASTERSTHESIS} \cite{Sotiropulos:1991a},
+\item a doctoral thesis using \texttt{@PHDTHESIS} \cite{Chang:1987a},
+\item a paper in a foreign journal \cite{Ireland:1954a},
+\item a paper in a proceedings using \texttt{@INPROCEEDINGS}
+ \cite{Eshenaur:1991a,Garrett:2003a},
+\item a standard using \texttt{@INCOLLECTION} \cite{ASTM:1991a},
+\item a translated book \cite{Melan:1913a},
+\item a two-part paper \cite{Frater:1992a,Frater:1992b},
+\item a university report using \texttt{@TECHREPORT} \cite{Duan:1990a},
+\item an untitled item in the Federal Register using
+ \texttt{@MANUAL} \cite{FR:1968a},
+\item works in a foreign language \cite{Duvant:1972a,Reiffenstuhl:1982a},
+\item software using \texttt{@MANUAL} \cite{Lotus:1985a},
+\item two works by the same author in the same year
+ \cite{Gaspar:2001b,Gaspar:2001a}, and
+\item two works by three authors in the same year that only share
+ the first two authors \cite{Huang2009a,Huang2009b}.
+\end{itemize}
+%
+\par
+ASCE has added two types of bibliographic entries:
+web-pages and CD-ROMs. A web-page can be formated using the
+\texttt{@MISC} entry category, as with the item \cite{Burka:1993a} produced
+with the following \texttt{*.bib} entry:
+\begin{verbatim}
+ @MISC{Burka:1993a,
+ author = {Burka, L. P.},
+ title = {A hypertext history of multi-user dimensions},
+ journal = {MUD history},
+ year = {1993},
+ month = {Dec. 5, 1994},
+ url = {http://www.ccs.neu.edu}
+ }
+\end{verbatim}
+Notice the use of the ``\texttt{month}'' field to give the date that material
+was downloaded and the use of a new ``\texttt{url}'' field.
+The ``\texttt{url}'' and \texttt{month}''
+fields can also be used with other entry types
+(i.e., \texttt{@BOOK}, \texttt{@INPROCEEDINGS}, \texttt{@MANUAL},
+\texttt{@MASTERSTHESIS}, \texttt{@PHDTHESIS}, and \texttt{@TECHREPORT}):
+for example, in the entry type \texttt{@PHDTHESIS} for \cite{Wichtmann:2005a}.
+%
+\par
+A CD-ROM can be referenced when using the \texttt{@BOOK}, \texttt{@INBOOK},
+\texttt{@INCOLLECTION}, or \texttt{@INPROCEEDINGS} categories,
+as in the entry \cite{Liggett:1998a}.
+The field ``\texttt{howpublished}'' is used to designate the medium
+in the \texttt{.bib} file:
+\begin{verbatim}
+ howpublished = {CD-ROM},
+\end{verbatim}
+%
+\section{Miscellany}
+Most ASCE conference proceedings are now published on CD ROM media.
+I have noticed that instructions on paper formats issued by
+conference organizers often differ from the
+standard ASCE instructions.
+Fortunately most of the differences can be easily accommodated, such as
+changes in the margins and placement of the authors' addresses.
+As for margins, these can, of course, be altered by using
+\verb+\setlength{<length>}+ commands within the preamble to a document without
+making any changes to \texttt{ascelike.cls}.
+(See the \LaTeX\ book
+\cite{Lamport:1994a}, its companion \cite{Goossens:1994a}, or
+online web documentation.)
+%
+\par
+Multiple authors from the same institution can be handled within
+the \verb|\author| \verb|{...}| command by using the \verb|\footnotemark| command:
+\begin{verbatim}
+ \\
+ Ima Colleague,\footnotemark[1] Member, ASCE%
+\end{verbatim}
+%
+\par\label{address.kluge}
+Authors' addresses can be placed below the title (instead of
+in a footnote) by \emph{not} using the \verb+\thanks+ command,
+replacing it with superscripts \verb+$^1$+, carriage returns
+``\verb+\\+'', and \verb+\parbox+'s.
+An example is shown in the \texttt{ascexmpl.tex} file.
+%
+\section{Wish List}
+I would like to enable the \texttt{a4paper} option and could use some
+advice about passing this option to \texttt{article} so that the
+\texttt{article.cls} commands for \verb+\paperheight+ and \verb+\paperwidth+
+are executed. I am also uncertain about using \texttt{a4paper} as
+a Boolean to set page margins.
+%
+\pagebreak
+%
+%
+% Now we start the appendices, with the new section name, "Appendix", and a
+% new counter, "I", "II", etc.
+%
+\appendix\label{section:references}
+%
+% Here's the first appendix, the list of references:
+%
+\bibliography{ascexmpl}
+%
+% And now for some pretty impressive notation. In this example, I have used
+% the tabular environment to line up the columns in ASCE style.
+% Note that this and all appendices (except the references) start with
+% the \section command
+%
+\section{Notation}
+\emph{The following symbols are used in this paper:}%\par\vspace{0.10in}
+\nopagebreak
+\par
+\begin{tabular}{r @{\hspace{1em}=\hspace{1em}} l}
+$D$ & pile diameter (m); \\
+$R$ & distance (m); and\\
+$C_{\mathrm{Oh\;no!}}$ & fudge factor.
+\end{tabular}
+%
+\end{document}