[Archetypes-commits] r59 - in pkg: . R inst/doc man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Wed Jun 13 10:15:46 CEST 2012
Author: manuel
Date: 2012-06-13 10:15:46 +0200 (Wed, 13 Jun 2012)
New Revision: 59
Added:
pkg/R/archetypes-map.R
Removed:
pkg/inst/doc/jss.bst
pkg/inst/doc/jss.cls
Modified:
pkg/.Rbuildignore
pkg/DESCRIPTION
pkg/NEWS
pkg/R/archetypes-class.R
pkg/man/predict.Rd
Log:
Modified: pkg/.Rbuildignore
===================================================================
--- pkg/.Rbuildignore 2012-05-07 12:16:06 UTC (rev 58)
+++ pkg/.Rbuildignore 2012-06-13 08:15:46 UTC (rev 59)
@@ -3,3 +3,4 @@
inst/doc/toy-as.RData
inst/doc/toy-gas.RData
inst/doc/Rplots.pdf
+inst/nnls
\ No newline at end of file
Modified: pkg/DESCRIPTION
===================================================================
--- pkg/DESCRIPTION 2012-05-07 12:16:06 UTC (rev 58)
+++ pkg/DESCRIPTION 2012-06-13 08:15:46 UTC (rev 59)
@@ -1,42 +1,45 @@
-Package: archetypes
-Type: Package
-Title: Archetypal Analysis
-Version: 2.1-0
-Date: 2011-10-25
-Depends:
- methods,
- stats,
- modeltools,
- nnls (>= 1.1)
-Suggests:
- MASS,
- vcd,
- mlbench,
- ggplot2
-Author: Manuel J. A. Eugster
- <manuel.eugster at stat.uni-muenchen.de>
-Maintainer: Manuel J. A. Eugster
- <manuel.eugster at stat.uni-muenchen.de>
-Description: The main function archetypes implements a
- framework for archetypal analysis supporting arbitary
- problem solving mechanisms for the different conceputal
- parts of the algorithm.
-License: GPL (>= 2)
-Revision: 44
-Collate:
- 'archetypes-barplot.R'
- 'generics.R'
- 'archetypes-class.R'
- 'archetypes-kit-blocks.R'
- 'archetypes-kit.R'
- 'archetypes-movie.R'
- 'archetypes-panorama.R'
- 'pcplot.R'
- 'archetypes-pcplot.R'
- 'archetypes-robust.R'
- 'archetypes-screeplot.R'
- 'archetypes-step.R'
- 'archetypes-weighted.R'
- 'archetypes-xyplot.R'
- 'memento.R'
- 'skeletonplot.R'
+Package: archetypes
+Type: Package
+Title: Archetypal Analysis
+Version: 2.1-0
+Date: 2011-10-25
+Depends:
+ methods,
+ stats,
+ modeltools,
+ nnls (>= 1.1)
+Suggests:
+ MASS,
+ vcd,
+ mlbench,
+ ggplot2
+Author: Manuel J. A. Eugster
+ <manuel.eugster at stat.uni-muenchen.de>,
+ Friedrich leisch
+ <friedrich.leisch at boku.ac.at>
+Maintainer: Manuel J. A. Eugster
+ <manuel.eugster at stat.uni-muenchen.de>
+Description: The main function archetypes implements a
+ framework for archetypal analysis supporting arbitary
+ problem solving mechanisms for the different conceputal
+ parts of the algorithm.
+License: GPL (>= 2)
+Revision: 44
+Collate:
+ 'archetypes-barplot.R'
+ 'generics.R'
+ 'archetypes-class.R'
+ 'archetypes-kit-blocks.R'
+ 'archetypes-kit.R'
+ 'archetypes-movie.R'
+ 'archetypes-panorama.R'
+ 'pcplot.R'
+ 'archetypes-pcplot.R'
+ 'archetypes-robust.R'
+ 'archetypes-screeplot.R'
+ 'archetypes-step.R'
+ 'archetypes-weighted.R'
+ 'archetypes-xyplot.R'
+ 'memento.R'
+ 'skeletonplot.R'
+ 'archetypes-map.R'
Modified: pkg/NEWS
===================================================================
--- pkg/NEWS 2012-05-07 12:16:06 UTC (rev 58)
+++ pkg/NEWS 2012-06-13 08:15:46 UTC (rev 59)
@@ -6,7 +6,13 @@
o Removed deprecated functions.
+ o Cleaned vignette 'archetypes.Rnw' and 'inst/doc' folder.
+ o Added predict function for 'original' archetypes.
+
+ o Added archetype maps; based on cody by Friedrich Leisch.
+
+
Changes in archetypes version 2.0-2
o Added analysis of the simulation study for robust archetypes
Modified: pkg/R/archetypes-class.R
===================================================================
--- pkg/R/archetypes-class.R 2012-05-07 12:16:06 UTC (rev 58)
+++ pkg/R/archetypes-class.R 2012-06-13 08:15:46 UTC (rev 59)
@@ -214,9 +214,12 @@
-#' Predict method for archetypal analysis
+#' Predict method for archetypal analysis fits
#'
-#' @param object An \code{archetypes} object.
+#' This method produces predicted alpha coefficients for new data.
+#'
+#' @param object An \code{archetypes} object; currently only
+#' \code{\link[=archetypesFamily]{original}}-family objects.
#' @param newdata A data frame with data for which to
#' predict the alpha coefficients.
#' @param ... Ignored.
@@ -227,7 +230,7 @@
#' @S3method predict archetypes
predict.archetypes <- function(object, newdata, ...) {
stopifnot(object$family$which == "original")
-
+
scale <- object$scaling
## HACK: use blocks!
Added: pkg/R/archetypes-map.R
===================================================================
--- pkg/R/archetypes-map.R (rev 0)
+++ pkg/R/archetypes-map.R 2012-06-13 08:15:46 UTC (rev 59)
@@ -0,0 +1,58 @@
+
+# @export
+archmap <- function(object, cex = 1.5, rotate = 0, col = 1, pch = 1,
+ xlab = "", ylab = "", axes = FALSE, asp = TRUE,
+ space = alpha_space, ...) {
+ k <- object$k
+ if(k<3) stop("Need at least 3 archetypes.\n")
+ cmds <- space(dist(parameters(object)))
+
+ if(rotate!=0){
+ a <- pi*rotate/180
+ A <- matrix(c(cos(a), -sin(a), sin(a),
+ cos(a)), ncol=2)
+ cmds <- cmds %*% A
+ }
+ hmds <- chull(cmds)
+ active <- 1:k %in% hmds
+
+ ## archetypes give border of plotting region
+ plot(cmds, type="n", xlab=xlab, ylab=ylab, axes=axes, asp=asp, ...)
+ points(coef(object) %*% cmds, col=col, pch=pch)
+
+ rad <- ceiling(log10(k)) + 1.5
+ polygon(cmds[hmds,])
+ points(cmds[active,], pch=21, cex=rad*cex, bg="grey")
+ text(cmds[active,], labels=(1:k)[active], cex=cex)
+ if(any(!active)){
+ points(cmds[!active,,drop=FALSE], pch=21, cex=rad*cex,
+ bg="white", fg="grey")
+ text(cmds[!active,,drop=FALSE], labels=(1:k)[!active],
+ cex=cex, col="grey20")
+ }
+
+ invisible(cmds)
+}
+
+
+
+# @export
+alpha_space <- function(x, r = 10) {
+ n <- nrow(as.matrix(x))
+
+ phi <- seq(-pi, pi, length.out = n + 1)
+
+ x <- r * cos(phi)
+ y <- r * sin(phi)
+
+ m <- cbind(x, y)
+
+ m[-1, ]
+}
+
+
+
+# @export
+atypes_space <- function(x) {
+ cmdscale(x)
+}
Property changes on: pkg/R/archetypes-map.R
___________________________________________________________________
Added: svn:keywords
+ Date Revision Author URL Id
Added: svn:eol-style
+ native
Deleted: pkg/inst/doc/jss.bst
===================================================================
--- pkg/inst/doc/jss.bst 2012-05-07 12:16:06 UTC (rev 58)
+++ pkg/inst/doc/jss.bst 2012-06-13 08:15:46 UTC (rev 59)
@@ -1,1620 +0,0 @@
-%%
-%% This is file `jss.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% merlin.mbs (with options: `ay,nat,nm-rvx,keyxyr,dt-beg,yr-par,note-yr,tit-qq,bt-qq,atit-u,trnum-it,vol-bf,volp-com,num-xser,isbn,issn,edpar,pp,ed,xedn,xand,etal-it,revdata,eprint,url,url-blk,nfss')
-%% ----------------------------------------
-%% *** Journal of Statistical Software ***
-%%
-%% Copyright 1994-2002 Patrick W Daly
- % ===============================================================
- % IMPORTANT NOTICE:
- % This bibliographic style (bst) file has been generated from one or
- % more master bibliographic style (mbs) files, listed above.
- %
- % This generated file can be redistributed and/or modified under the terms
- % of the LaTeX Project Public License Distributed from CTAN
- % archives in directory macros/latex/base/lppl.txt; either
- % version 1 of the License, or any later version.
- % ===============================================================
- % Name and version information of the main mbs file:
- % \ProvidesFile{merlin.mbs}[2002/10/21 4.05 (PWD, AO, DPC)]
- % For use with BibTeX version 0.99a or later
- %-------------------------------------------------------------------
- % This bibliography style file is intended for texts in ENGLISH
- % This is an author-year citation style bibliography. As such, it is
- % non-standard LaTeX, and requires a special package file to function properly.
- % Such a package is natbib.sty by Patrick W. Daly
- % The form of the \bibitem entries is
- % \bibitem[Jones et al.(1990)]{key}...
- % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
- % The essential feature is that the label (the part in brackets) consists
- % of the author names, as they should appear in the citation, with the year
- % in parentheses following. There must be no space before the opening
- % parenthesis!
- % With natbib v5.3, a full list of authors may also follow the year.
- % In natbib.sty, it is possible to define the type of enclosures that is
- % really wanted (brackets or parentheses), but in either case, there must
- % be parentheses in the label.
- % The \cite command functions as follows:
- % \citet{key} ==>> Jones et al. (1990)
- % \citet*{key} ==>> Jones, Baker, and Smith (1990)
- % \citep{key} ==>> (Jones et al., 1990)
- % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
- % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
- % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
- % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
- % \citeauthor{key} ==>> Jones et al.
- % \citeauthor*{key} ==>> Jones, Baker, and Smith
- % \citeyear{key} ==>> 1990
- %---------------------------------------------------------------------
-
-ENTRY
- { address
- archive
- author
- booktitle
- chapter
- collaboration
- edition
- editor
- eid
- eprint
- howpublished
- institution
- isbn
- issn
- journal
- key
- month
- note
- number
- numpages
- organization
- pages
- publisher
- school
- series
- title
- type
- url
- volume
- year
- }
- {}
- { label extra.label sort.label short.list }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-STRINGS { s t}
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { ", " * write$ }
- { output.state after.block =
- { add.period$ write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
- if$
- mid.sentence 'output.state :=
- }
- if$
- s
-}
-FUNCTION {output}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull
- if$
-}
-FUNCTION {output.check}
-{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull
- if$
-}
-FUNCTION {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
- 'skip$
- { after.block 'output.state := }
- if$
-}
-FUNCTION {new.sentence}
-{ output.state after.block =
- 'skip$
- { output.state before.all =
- 'skip$
- { after.sentence 'output.state := }
- if$
- }
- if$
-}
-FUNCTION {add.blank}
-{ " " * before.all 'output.state :=
-}
-
-FUNCTION {date.block}
-{
- new.block
-}
-
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-FUNCTION {non.stop}
-{ duplicate$
- "}" * add.period$
- #-1 #1 substring$ "." =
-}
-
-STRINGS {z}
-FUNCTION {remove.dots}
-{ 'z :=
- ""
- { z empty$ not }
- { z #1 #1 substring$
- z #2 global.max$ substring$ 'z :=
- duplicate$ "." = 'pop$
- { * }
- if$
- }
- while$
-}
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-FUNCTION {emphasize}
-{ duplicate$ empty$
- { pop$ "" }
- { "\emph{" swap$ * "}" * }
- if$
-}
-FUNCTION {bolden}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textbf{" swap$ * "}" * }
- if$
-}
-FUNCTION {tie.or.space.prefix}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$
-}
-
-FUNCTION {capitalize}
-{ "u" change.case$ "t" change.case$ }
-
-FUNCTION {space.word}
-{ " " swap$ * " " * }
- % Here are the language-specific definitions for explicit words.
- % Each function has a name bbl.xxx where xxx is the English word.
- % The language selected here is ENGLISH
-FUNCTION {bbl.and}
-{ "and"}
-
-FUNCTION {bbl.etal}
-{ "et~al." }
-
-FUNCTION {bbl.editors}
-{ "eds." }
-
-FUNCTION {bbl.editor}
-{ "ed." }
-
-FUNCTION {bbl.edby}
-{ "edited by" }
-
-FUNCTION {bbl.edition}
-{ "edition" }
-
-FUNCTION {bbl.volume}
-{ "volume" }
-
-FUNCTION {bbl.of}
-{ "of" }
-
-FUNCTION {bbl.number}
-{ "number" }
-
-FUNCTION {bbl.nr}
-{ "no." }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.eidpp}
-{ "pages" }
-
-FUNCTION {bbl.chapter}
-{ "chapter" }
-
-FUNCTION {bbl.techrep}
-{ "Technical Report" }
-
-FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
-
-FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
-
-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"}
-FUNCTION {bibinfo.check}
-{ swap$
- duplicate$ missing$
- {
- pop$ pop$
- ""
- }
- { duplicate$ empty$
- {
- swap$ pop$
- }
- { swap$
- pop$
- }
- if$
- }
- if$
-}
-FUNCTION {bibinfo.warn}
-{ swap$
- duplicate$ missing$
- {
- swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
- ""
- }
- { duplicate$ empty$
- {
- swap$ "empty " swap$ * " in " * cite$ * warning$
- }
- { swap$
- pop$
- }
- if$
- }
- if$
-}
-FUNCTION {format.eprint}
-{ eprint duplicate$ empty$
- 'skip$
- { "\eprint"
- archive empty$
- 'skip$
- { "[" * archive * "]" * }
- if$
- "{" * swap$ * "}" *
- }
- if$
-}
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { "\urlprefix\url{" url * "}" * }
- if$
-}
-
-STRINGS { bibinfo}
-INTEGERS { nameptr namesleft numnames }
-
-FUNCTION {format.names}
-{ 'bibinfo :=
- duplicate$ empty$ 'skip$ {
- 's :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}{ jj}{ f{}}"
- format.name$
- remove.dots
- bibinfo bibinfo.check
- 't :=
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- "," *
- s nameptr "{ll}" format.name$ duplicate$ "others" =
- { 't := }
- { pop$ }
- if$
- t "others" =
- {
- " " * bbl.etal emphasize *
- }
- { " " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- } if$
-}
-FUNCTION {format.names.ed}
-{
- 'bibinfo :=
- duplicate$ empty$ 'skip$ {
- 's :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{f{}~}{vv~}{ll}{ jj}"
- format.name$
- remove.dots
- bibinfo bibinfo.check
- 't :=
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- "," *
- s nameptr "{ll}" format.name$ duplicate$ "others" =
- { 't := }
- { pop$ }
- if$
- t "others" =
- {
-
- " " * bbl.etal emphasize *
- }
- { " " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
- } if$
-}
-FUNCTION {format.key}
-{ empty$
- { key field.or.null }
- { "" }
- if$
-}
-
-FUNCTION {format.authors}
-{ author "author" format.names
- duplicate$ empty$ 'skip$
- { collaboration "collaboration" bibinfo.check
- duplicate$ empty$ 'skip$
- { " (" swap$ * ")" * }
- if$
- *
- }
- if$
-}
-FUNCTION {get.bbl.editor}
-{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
-
-FUNCTION {format.editors}
-{ editor "editor" format.names duplicate$ empty$ 'skip$
- {
- " " *
- get.bbl.editor
- "(" swap$ * ")" *
- *
- }
- if$
-}
-FUNCTION {format.isbn}
-{ isbn "isbn" bibinfo.check
- duplicate$ empty$ 'skip$
- {
- new.block
- "ISBN " swap$ *
- }
- if$
-}
-
-FUNCTION {format.issn}
-{ issn "issn" bibinfo.check
- duplicate$ empty$ 'skip$
- {
- new.block
- "ISSN " swap$ *
- }
- if$
-}
-
-FUNCTION {format.note}
-{
- note empty$
- { "" }
- { note #1 #1 substring$
- duplicate$ "{" =
- 'skip$
- { output.state mid.sentence =
- { "l" }
- { "u" }
- if$
- change.case$
- }
- if$
- note #2 global.max$ substring$ * "note" bibinfo.check
- }
- if$
-}
-
-FUNCTION {format.title}
-{ title
- "title" bibinfo.check
- duplicate$ empty$ 'skip$
- {
- "\enquote{" swap$ *
- add.period$ "}" *
- }
- if$
-}
-FUNCTION {end.quote.btitle}
-{ booktitle empty$
- 'skip$
- { before.all 'output.state := }
- if$
-}
-FUNCTION {format.full.names}
-{'s :=
- "" 't :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr
- "{vv~}{ll}" format.name$
- 't :=
- nameptr #1 >
- {
- namesleft #1 >
- { ", " * t * }
- {
- s nameptr "{ll}" format.name$ duplicate$ "others" =
- { 't := }
- { pop$ }
- if$
- t "others" =
- {
- " " * bbl.etal emphasize *
- }
- {
- numnames #2 >
- { "," * }
- 'skip$
- if$
- bbl.and
- space.word * t *
- }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {author.editor.key.full}
-{ author empty$
- { editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- 'key
- if$
- }
- { editor format.full.names }
- if$
- }
- { author format.full.names }
- if$
-}
-
-FUNCTION {author.key.full}
-{ author empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- 'key
- if$
- }
- { author format.full.names }
- if$
-}
-
-FUNCTION {editor.key.full}
-{ editor empty$
- { key empty$
- { cite$ #1 #3 substring$ }
- 'key
- if$
- }
- { editor format.full.names }
- if$
-}
-
-FUNCTION {make.full.names}
-{ type$ "book" =
- type$ "inbook" =
- or
- 'author.editor.key.full
- { type$ "proceedings" =
- 'editor.key.full
- 'author.key.full
- if$
- }
- if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem[{" write$
- label write$
- ")" make.full.names duplicate$ short.list =
- { pop$ }
- { * }
- if$
- "}]{" * write$
- cite$ write$
- "}" write$
- newline$
- ""
- before.all 'output.state :=
-}
-
-FUNCTION {n.dashify}
-{
- 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
-
-FUNCTION {word.in}
-{ bbl.in capitalize
- " " * }
-
-FUNCTION {format.date}
-{ year "year" bibinfo.check duplicate$ empty$
- {
- "empty year in " cite$ * "; set to ????" * warning$
- pop$ "????"
- }
- 'skip$
- if$
- extra.label *
- before.all 'output.state :=
- " (" swap$ * ")" *
-}
-FUNCTION {format.btitle}
-{ title "title" bibinfo.check
- duplicate$ empty$ 'skip$
- {
- emphasize
- }
- if$
-}
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bbl.volume volume tie.or.space.prefix
- "volume" bibinfo.check * *
- series "series" bibinfo.check
- duplicate$ empty$ 'pop$
- { swap$ bbl.of space.word * swap$
- emphasize * }
- if$
- "volume and number" number either.or.check
- }
- if$
-}
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- { series field.or.null }
- { series empty$
- { number "number" bibinfo.check }
- { output.state mid.sentence =
- { bbl.number }
- { bbl.number capitalize }
- if$
- number tie.or.space.prefix "number" bibinfo.check * *
- bbl.in space.word *
- series "series" bibinfo.check *
- }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
-FUNCTION {format.edition}
-{ edition duplicate$ empty$ 'skip$
- {
- output.state mid.sentence =
- { "l" }
- { "t" }
- if$ change.case$
- "edition" bibinfo.check
- " " * bbl.edition *
- }
- if$
-}
-INTEGERS { multiresult }
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
-FUNCTION {format.pages}
-{ pages duplicate$ empty$ 'skip$
- { duplicate$ multi.page.check
- {
- bbl.pages swap$
- n.dashify
- }
- {
- bbl.page swap$
- }
- if$
- tie.or.space.prefix
- "pages" bibinfo.check
- * *
- }
- if$
-}
-FUNCTION {format.journal.pages}
-{ pages duplicate$ empty$ 'pop$
- { swap$ duplicate$ empty$
- { pop$ pop$ format.pages }
- {
- ", " *
- swap$
- n.dashify
- "pages" bibinfo.check
- *
- }
- if$
- }
- if$
-}
-FUNCTION {format.journal.eid}
-{ eid "eid" bibinfo.check
- duplicate$ empty$ 'skip$
- { swap$ duplicate$ empty$ 'skip$
- {
- ", " *
- }
- if$
- swap$
- numpages empty$ 'skip$
- { bbl.eidpp numpages tie.or.space.prefix
- "numpages" bibinfo.check * *
- " (" swap$ * ")" * *
- }
- if$
- }
- if$ *
-}
-FUNCTION {format.vol.num.pages}
-{ volume field.or.null
- duplicate$ empty$ 'skip$
- {
- "volume" bibinfo.check
- }
- if$
- bolden
- number "number" bibinfo.check duplicate$ empty$ 'skip$
- {
- swap$ duplicate$ empty$
- { "there's a number but no volume in " cite$ * warning$ }
- 'skip$
- if$
- swap$
- "(" swap$ * ")" *
- }
- if$ *
- eid empty$
- { format.journal.pages }
- { format.journal.eid }
- if$
-}
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- 'format.pages
- { type empty$
- { bbl.chapter }
- { type "l" change.case$
- "type" bibinfo.check
- }
- if$
- chapter tie.or.space.prefix
- "chapter" bibinfo.check
- * *
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- if$
-}
-
-FUNCTION {bt.enquote}
-{ duplicate$ empty$ 'skip$
- { "\enquote{" swap$ *
- non.stop
- { ",} " * }
- { "}, " * }
- if$
- }
- if$
-}
-FUNCTION {format.booktitle}
-{
- booktitle "booktitle" bibinfo.check
- bt.enquote
-}
-FUNCTION {format.in.ed.booktitle}
-{ format.booktitle duplicate$ empty$ 'skip$
- {
- editor "editor" format.names.ed duplicate$ empty$ 'pop$
- {
- " " *
- get.bbl.editor
- "(" swap$ * "), " *
- * swap$
- * }
- if$
- word.in swap$ *
- }
- if$
-}
-FUNCTION {format.thesis.type}
-{ type duplicate$ empty$
- 'pop$
- { swap$ pop$
- "t" change.case$ "type" bibinfo.check
- }
- if$
-}
-FUNCTION {format.tr.number}
-{ number "number" bibinfo.check
- type duplicate$ empty$
- { pop$ bbl.techrep }
- 'skip$
- if$
- "type" bibinfo.check
- swap$ duplicate$ empty$
- { pop$ "t" change.case$ }
- { tie.or.space.prefix * * }
- if$
-}
-FUNCTION {format.article.crossref}
-{
- word.in
- " \cite{" * crossref * "}" *
-}
-FUNCTION {format.book.crossref}
-{ volume duplicate$ empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
- pop$ word.in
- }
- { bbl.volume
- capitalize
- swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
- }
- if$
- " \cite{" * crossref * "}" *
-}
-FUNCTION {format.incoll.inproc.crossref}
-{
- word.in
- " \cite{" * crossref * "}" *
-}
-FUNCTION {format.org.or.pub}
-{ 't :=
- ""
- address empty$ t empty$ and
- 'skip$
- {
- t empty$
- { address "address" bibinfo.check *
- }
- { t *
- address empty$
- 'skip$
- { ", " * address "address" bibinfo.check * }
- if$
- }
- if$
- }
- if$
-}
-FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.warn format.org.or.pub
-}
-
-FUNCTION {format.organization.address}
-{ organization "organization" bibinfo.check format.org.or.pub
-}
-
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- date.block
- format.title "title" output.check
- new.block
- crossref missing$
- {
- journal
- "journal" bibinfo.check
- emphasize
- "journal" output.check
- format.vol.num.pages output
- }
- { format.article.crossref output.nonnull
- format.pages output
- }
- if$
- format.issn output
- new.block
- format.note output
- format.eprint output
- format.url output
- 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$
- format.date "year" output.check
- date.block
- format.btitle "title" output.check
- crossref missing$
- { format.bvolume output
- new.block
- format.number.series output
- new.sentence
- format.publisher.address output
- }
- {
- new.block
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- format.isbn output
- new.block
- format.note output
- format.eprint output
- format.url output
- fin.entry
-}
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- author format.key output
- format.date "year" output.check
- date.block
- format.title "title" output.check
- new.block
- howpublished "howpublished" bibinfo.check output
- address "address" bibinfo.check output
- format.isbn output
- new.block
- format.note output
- format.eprint output
- format.url 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$
- format.date "year" output.check
- date.block
- format.btitle "title" output.check
- crossref missing$
- {
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- new.block
- format.number.series output
- new.sentence
- format.publisher.address output
- }
- {
- format.chapter.pages "chapter and pages" output.check
- new.block
- format.book.crossref output.nonnull
- }
- if$
- format.edition output
- crossref missing$
- { format.isbn output }
- 'skip$
- if$
- new.block
- format.note output
- format.eprint output
- format.url output
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- date.block
- format.title "title" output.check
- new.block
- crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
- end.quote.btitle
- format.bvolume output
- format.number.series output
- format.chapter.pages output
- new.sentence
- format.publisher.address output
- format.edition output
- format.isbn output
- }
- { format.incoll.inproc.crossref output.nonnull
- format.chapter.pages output
- }
- if$
- new.block
- format.note output
- format.eprint output
- format.url output
- fin.entry
-}
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- date.block
- format.title "title" output.check
- new.block
- crossref missing$
- { format.in.ed.booktitle "booktitle" output.check
- end.quote.btitle
- format.bvolume output
- format.number.series output
- format.pages output
- new.sentence
- publisher empty$
- { format.organization.address output }
- { organization "organization" bibinfo.check output
- format.publisher.address output
- }
- if$
- format.isbn output
- format.issn output
- }
- { format.incoll.inproc.crossref output.nonnull
- format.pages output
- }
- if$
- new.block
- format.note output
- format.eprint output
- format.url output
- fin.entry
-}
-FUNCTION {conference} { inproceedings }
-FUNCTION {manual}
-{ output.bibitem
- format.authors output
- author format.key output
- format.date "year" output.check
- date.block
- format.btitle "title" output.check
- organization address new.block.checkb
- organization "organization" bibinfo.check output
- address "address" bibinfo.check output
- format.edition output
- new.block
- format.note output
- format.eprint output
- format.url output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- date.block
- format.btitle
- "title" output.check
- new.block
- bbl.mthesis format.thesis.type output.nonnull
- school "school" bibinfo.warn output
- address "address" bibinfo.check output
- new.block
- format.note output
- format.eprint output
- format.url output
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- author format.key output
- format.date "year" output.check
- date.block
- format.title output
- new.block
- howpublished "howpublished" bibinfo.check output
- new.block
- format.note output
- format.eprint output
- format.url output
- fin.entry
-}
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- date.block
- format.btitle
- "title" output.check
- new.block
- bbl.phdthesis format.thesis.type output.nonnull
- school "school" bibinfo.warn output
- address "address" bibinfo.check output
- new.block
- format.note output
- format.eprint output
- format.url output
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- format.editors output
- editor format.key output
- format.date "year" output.check
- date.block
- format.btitle "title" output.check
- format.bvolume output
- format.number.series output
- new.sentence
- publisher empty$
- { format.organization.address output }
- { organization "organization" bibinfo.check output
- format.publisher.address output
- }
- if$
- format.isbn output
- format.issn output
- new.block
- format.note output
- format.eprint output
- format.url output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- date.block
- format.title
- "title" output.check
- new.block
- format.tr.number emphasize output.nonnull
- institution "institution" bibinfo.warn output
- address "address" bibinfo.check output
- new.block
- format.note output
- format.eprint output
- format.url output
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- author format.key output
- format.date "year" output.check
- date.block
- format.title "title" output.check
- new.block
- format.note "note" output.check
- format.eprint output
- format.url output
- fin.entry
-}
-
-FUNCTION {default.type} { misc }
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/archetypes -r 59
More information about the Archetypes-commits
mailing list