summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-09-29 22:08:57 +0000
committerKarl Berry <karl@freefriends.org>2015-09-29 22:08:57 +0000
commit6c088673b9f7d4b0e3b186b850d4fd6ba9997326 (patch)
tree3c86550ea260098612b6ca6f6f0250664a606716
parent982ab23fae158d0e4ca19de74a6fa98928334007 (diff)
lstbayes (29sep15)
git-svn-id: svn://tug.org/texlive/trunk@38498 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/lstbayes/Makefile42
-rw-r--r--Master/texmf-dist/doc/latex/lstbayes/README.md54
-rw-r--r--Master/texmf-dist/doc/latex/lstbayes/examples.pdfbin0 -> 141285 bytes
-rw-r--r--Master/texmf-dist/doc/latex/lstbayes/examples.tex129
-rw-r--r--Master/texmf-dist/doc/latex/lstbayes/lstbayes.pdfbin0 -> 132474 bytes
-rw-r--r--Master/texmf-dist/source/latex/lstbayes/lstbayes.dtx361
-rw-r--r--Master/texmf-dist/source/latex/lstbayes/lstbayes.ins40
-rw-r--r--Master/texmf-dist/tex/latex/lstbayes/lstbayes.sty260
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-science.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/lstbayes.tlpsrc0
11 files changed, 888 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/lstbayes/Makefile b/Master/texmf-dist/doc/latex/lstbayes/Makefile
new file mode 100644
index 00000000000..fd92ddab4e4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/lstbayes/Makefile
@@ -0,0 +1,42 @@
+#
+# This file generates files required to use the lstbayes package
+#
+
+# formatting tools
+PYTHON = python3
+SHELL = bash
+LATEX = pdflatex
+TEX = tex
+
+.PHONY: build pdf all
+
+all: build pdf
+
+build: lstbayes.sty
+
+release: build pdf README.md
+ -rm lstbayes.zip
+ if [ -d lstbayes ]; then rm -rf ./lstbayes; fi
+ mkdir lstbayes
+ cp *.pdf *.ins *.dtx *.tex README.md Makefile lstbayes
+ zip -r lstbayes.zip lstbayes
+
+pdf: lstbayes.pdf examples.pdf
+
+lstbayes.dtx: lstbayes.dtx.mustache
+ $(PYTHON) lstbayes.py $< > $@
+
+lstbayes.sty: lstbayes.ins lstbayes.dtx
+ $(TEX) $<
+
+lstbayes.pdf: lstbayes.dtx
+ $(LATEX) $<
+ makeindex -s gind.ist -o ${@:.pdf=.ind} ${@:.pdf=.idx}
+ makeindex -s gglo.ist -o ${@:.pdf=.gls} ${@:.pdf=.glo}
+ $(LATEX) $<
+ $(LATEX) $<
+
+examples.pdf: examples.tex
+ $(LATEX) $<
+ $(LATEX) $<
+
diff --git a/Master/texmf-dist/doc/latex/lstbayes/README.md b/Master/texmf-dist/doc/latex/lstbayes/README.md
new file mode 100644
index 00000000000..9f076be4c5c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/lstbayes/README.md
@@ -0,0 +1,54 @@
+# Listings language drivers for BUGS, JAGS, and Stan
+
+[![CTAN](https://img.shields.io/ctan/v/lstbayes.svg)](https://www.ctan.org/pkg/lstbayes)
+[![CTAN license](https://img.shields.io/ctan/l/lstbayes.svg)](https://www.ctan.org/pkg/lstbayes)
+
+Adds support for the following languages to the LaTeX
+[listings](http://www.ctan.org/tex-archive/macros/latex/contrib/listings/)
+package, which pretty-prints source code:
+
+- [BUGS](http://www.openbugs.net)
+- [JAGS](http://mcmc-jags.sourceforge.net/)
+- [Stan](http://mc-stan.org/)
+
+# Usage
+
+To use, load the package
+```latex
+\usepackage{lstbayes}
+```
+Then use `BUGS`, `JAGS` or `Stan` as a language in one of the listings environments or commands. For example, to format the Stan [Eight schools](https://raw.githubusercontent.com/wiki/stan-dev/rstan/8schools.stan) model,
+```latex
+\begin{lstlisting}[language=Stan]
+data {
+ int<lower=0> J; // number of schools
+ real y[J]; // estimated treatment effects
+ real<lower=0> sigma[J]; // s.e. of effect estimates
+}
+parameters {
+ real mu;
+ real<lower=0> tau;
+ real eta[J];
+}
+transformed parameters {
+ real theta[J];
+ for (j in 1:J)
+ theta[j] <- mu + tau * eta[j];
+}
+model {
+ eta ~ normal(0, 1);
+ y ~ normal(theta, sigma);
+}
+\end{lstlisting}
+```
+
+Also see the examples in `examples.tex` and `examples.pdf` files included in this repository.
+See the `listings` [documentation](https://www.ctan.org/tex-archive/macros/latex/contrib/listings/?la) for more on how to use the `listings` package.
+
+# Issues
+
+Development occurs on github at <https://github.com/jrnold/lstbayes>.
+
+
+<!-- LocalWords: lstbayes tex usepackage lstlisting pdf
+ -->
diff --git a/Master/texmf-dist/doc/latex/lstbayes/examples.pdf b/Master/texmf-dist/doc/latex/lstbayes/examples.pdf
new file mode 100644
index 00000000000..2d18ac1f480
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/lstbayes/examples.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/lstbayes/examples.tex b/Master/texmf-dist/doc/latex/lstbayes/examples.tex
new file mode 100644
index 00000000000..48a1c91be51
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/lstbayes/examples.tex
@@ -0,0 +1,129 @@
+\documentclass{article}
+
+\title{Examples for the \textsf{lstbayes} package}
+\author{Jeffrey B. Arnold}
+
+\usepackage{lstbayes}
+\usepackage{hyperref}
+
+\begin{document}
+
+\maketitle{}
+
+Some example programs typset using the \textsf{listings} language drivers provideb by the \textsf{lstbayes} package.
+
+\section{BUGS}
+
+The Rats model from the OpenBUGS Examples Volume I: \url{http://www.openbugs.net/Examples/Rats.html}.
+\begin{lstlisting}[language=BUGS]
+model {
+ for( i in 1 : N ) {
+ for( j in 1 : T ) {
+ Y[i , j] ~ dnorm(mu[i , j],tau.c)
+ mu[i , j] <- alpha[i] + beta[i] * (x[j] - xbar)
+ culmative.Y[i , j] <- culmative(Y[i , j], Y[i , j])
+ post.pv.Y[i , j] <- post.p.value(Y[i , j])
+ prior.pv.Y[i , j] <- prior.p.value(Y[i , j])
+ replicate.post.Y[i , j] <- replicate.post(Y[i , j])
+ pv.post.Y[i , j] <- step(Y[i , j] - replicate.post.Y[i , j])
+ replicate.prior.Y[i , j] <- replicate.prior(Y[i , j])
+ pv.prior.Y[i , j] <- step(Y[i , j] - replicate.prior.Y[i , j])
+ }
+ alpha[i] ~ dnorm(alpha.c,alpha.tau)
+ beta[i] ~ dnorm(beta.c,beta.tau)
+ }
+ tau.c ~ dgamma(0.001,0.001)
+ sigma <- 1 / sqrt(tau.c)
+ alpha.c ~ dnorm(0.0,1.0E-6)
+ alpha.tau ~ dgamma(0.001,0.001)
+ beta.c ~ dnorm(0.0,1.0E-6)
+ beta.tau ~ dgamma(0.001,0.001)
+ alpha0 <- alpha.c - xbar * beta.c
+}
+\end{lstlisting}
+
+
+\section{JAGS}
+
+Linear regression example from John Myles White, \url{http://www.johnmyleswhite.com/notebook/2010/08/20/using-jags-in-r-with-the-rjags-package/}.
+
+\begin{lstlisting}[language=JAGS]
+model {
+ for (i in 1:N){
+ y[i] ~ dnorm(y.hat[i], tau)
+ y.hat[i] <- a + b * x[i]
+ }
+ a ~ dnorm(0, .0001)
+ b ~ dnorm(0, .0001)
+ tau <- pow(sigma, -2)
+ sigma ~ dunif(0, 100)
+}
+\end{lstlisting}
+
+
+\section{Stan}
+
+Rats example from \url{https://github.com/stan-dev/example-models/blob/master/bugs_examples/vol1/rats/rats_vec.stan}.
+
+\begin{lstlisting}[language=Stan]
+# http://www.mrc-bsu.cam.ac.uk/bugs/winbugs/Vol1.pdf
+# Page 3: Rats
+data {
+ int<lower=0> N;
+ int<lower=0> T;
+ real x[T];
+ real y[N,T];
+ real xbar;
+}
+transformed data {
+ real x_minus_xbar[T];
+ real y_linear[N*T];
+
+ for (t in 1:T)
+ x_minus_xbar[t] <- x[t] - xbar;
+
+ for (n in 1:N)
+ for (t in 1:T)
+ y_linear[(n-1)*T + t] <- y[n, t];
+}
+parameters {
+ real alpha[N];
+ real beta[N];
+
+ real mu_alpha;
+ real mu_beta;
+
+ real<lower=0> sigmasq_y;
+ real<lower=0> sigmasq_alpha;
+ real<lower=0> sigmasq_beta;
+}
+transformed parameters {
+ real<lower=0> sigma_y;
+ real<lower=0> sigma_alpha;
+ real<lower=0> sigma_beta;
+
+ sigma_y <- sqrt(sigmasq_y);
+ sigma_alpha <- sqrt(sigmasq_alpha);
+ sigma_beta <- sqrt(sigmasq_beta);
+}
+model {
+ real pred[N*T];
+
+ for (n in 1:N)
+ for (t in 1:T)
+ pred[(n-1)*T + t] <- fma(beta[n], x_minus_xbar[t], alpha[n]);
+
+ mu_alpha ~ normal(0, 100);
+ mu_beta ~ normal(0, 100);
+ sigmasq_y ~ inv_gamma(0.001, 0.001);
+ sigmasq_alpha ~ inv_gamma(0.001, 0.001);
+ sigmasq_beta ~ inv_gamma(0.001, 0.001);
+ alpha ~ normal(mu_alpha, sigma_alpha); // vectorized
+ beta ~ normal(mu_beta, sigma_beta); // vectorized
+
+ y_linear ~ normal(pred, sigma_y); // vectorized
+}
+\end{lstlisting}
+
+\end{document}
+
diff --git a/Master/texmf-dist/doc/latex/lstbayes/lstbayes.pdf b/Master/texmf-dist/doc/latex/lstbayes/lstbayes.pdf
new file mode 100644
index 00000000000..edcdd0195e3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/lstbayes/lstbayes.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/lstbayes/lstbayes.dtx b/Master/texmf-dist/source/latex/lstbayes/lstbayes.dtx
new file mode 100644
index 00000000000..8ccbfbf372a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/lstbayes/lstbayes.dtx
@@ -0,0 +1,361 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2015 by Jeffrey B. Arnold <jeffrey.arnold@gmail.com>
+% ---------------------------------------------------------------------------
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Jeffrey B. Arnold.
+%
+% This work consists of the files lstbayes.dtx and lstbayes.ins
+% and the derived filebase lstbayes.sty.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{lstbayes.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{lstbayes}
+%<*package>
+ [2015/09/27 lstbayes listings language drivers for BUGS, JAGS, and Stan]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{lstbayes}
+\usepackage{hyperref}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{lstbayes.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{12}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{2015-09-26}{2015/09/26}{Converted to DTX file}
+% \changes{2015-09-27}{2015/09/27}{Fix README}
+% \changes{2015-09-28}{2015/09/27}{Fix README. Add keywords for all built-in functions that are in Stan v2.8.0.}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+% \providecommand*{\url}{\texttt}
+% \GetFileInfo{lstbayes.dtx}
+% \title{The \textsf{lstbayes} package}
+% \author{Jeffrey B. Arnold \\ \url{jeffrey.arnold@gmail.com}}
+% \date{\fileversion~from \filedate}
+%
+% \maketitle
+%
+% \section{Introduction}
+%
+% This package provides language drivers for the \href{https://www.ctan.org/tex-archive/macros/latex/contrib/listings/}{\textsf{listings}} package for the several Bayesian modeling languages: BUGS, JAGS, and Stan.
+%
+% \section{Usage}
+%
+% % See the documentation of the \textsf{listings} package.
+%
+
+%
+% \StopEventually{}
+%
+% \section{Implementation}
+%
+% \iffalse
+%<*package>
+% \fi
+%
+% \begin{macrocode}
+\RequirePackage{listings}
+% \end{macrocode}
+%
+% \subsection{BUGS}
+%
+% Language driver for BUGS, including \href{http://www.openbugs.net/w/FrontPage}{WinBUGS} and \href{http://openbugs.net}{OpenBUGS}.
+% The driver is based on \href{http://www.openbugs.net/Manuals/Manual.html}{OpenBUGS v. 3.2.3}.
+%
+% \begin{macrocode}
+\lstdefinelanguage{BUGS}{
+ morekeywords=[1]{for,in,model,T,I,C},%
+ morecomment=[l]{\#},%
+ sensitive=true,%
+ alsoletter={.},%
+ otherkeywords={<-,~},%
+ literate={<-}{{$\leftarrow$}}1 {~}{{$\sim$}}1%
+}
+\lstalias[]{OpenBUGS}[]{BUGS}
+\lstalias[]{WinBUGS}[]{BUGS}
+% \end{macrocode}
+%
+% \subsection{JAGS}
+%
+% Language driver for \href{http://mcmc-jags.sourceforge.net/}{JAGS}.
+% The driver is based on JAGS version 3.4.0 (Sept 4, 2013).
+%
+%
+% \begin{macrocode}
+\lstdefinelanguage[]{JAGS}[]{BUGS}{
+ morekeywords=[1]{data,var,const},%
+ morecomment=[n]{/*}{*/}%
+}
+% \end{macrocode}
+%
+% \subsection{Stan}
+%
+% Language driver for \href{http://mc-stan.org/}{Stan}.
+% The driver is based on Stan modeling language version \href{https://github.com/stan-dev/stan/releases/download/v2.8.0/stan-reference-2.8.0.pdf}{2.8.0} (Sept 8, 2015).
+%
+% \begin{macrocode}
+\lstdefinelanguage{Stan}{
+ morekeywords=[1]{functions,data,parameters,transformed,model,generated,quantities,%
+ for,in,while,print,if,else,lp__,lower,upper,increment_log_prob,T,return,%
+ reject,integrate_ode},%
+ morekeywords=[2]{int,real,vector,%
+ ordered,positive_ordered,simplex,unit_vector,%
+ row_vector,matrix,%
+ cholesky_factor_corr,cholesky_factor_cov,%
+ coor_matrix,cov_matrix,%
+ void},%
+ morekeywords=[3]{%
+ Phi,Phi_approx,%
+ abs,acos,%
+ acosh,append_col,%
+ append_row,asin,%
+ asinh,atan,%
+ atan2,atanh,%
+ bernoulli_ccdf_log,bernoulli_cdf,%
+ bernoulli_cdf_log,bernoulli_log,%
+ bernoulli_logit_log,bernoulli_rng,%
+ bessel_first_kind,bessel_second_kind,%
+ beta_binomial_ccdf_log,beta_binomial_cdf,%
+ beta_binomial_cdf_log,beta_binomial_log,%
+ beta_binomial_rng,beta_ccdf_log,%
+ beta_cdf,beta_cdf_log,%
+ beta_log,beta_rng,%
+ binary_log_loss,binomial_ccdf_log,%
+ binomial_cdf,binomial_cdf_log,%
+ binomial_coefficient_log,binomial_log,%
+ binomial_logit_log,binomial_rng,%
+ block,categorical_log,%
+ categorical_logit_log,categorical_rng,%
+ cauchy_ccdf_log,cauchy_cdf,%
+ cauchy_cdf_log,cauchy_log,%
+ cauchy_rng,cbrt,%
+ ceil,chi_square_ccdf_log,%
+ chi_square_cdf,chi_square_cdf_log,%
+ chi_square_log,chi_square_rng,%
+ cholesky_decompose,col,%
+ cols,columns_dot_product,%
+ columns_dot_self,cos,%
+ cosh,crossprod,%
+ cumulative_sum,determinant,%
+ diag_matrix,diag_post_multiply,%
+ diag_pre_multiply,diagonal,%
+ digamma,dims,%
+ dirichlet_log,dirichlet_rng,%
+ distance,dot_product,%
+ dot_self,double_exponential_ccdf_log,%
+ double_exponential_cdf,double_exponential_cdf_log,%
+ double_exponential_log,double_exponential_rng,%
+ e,eigenvalues_sym,%
+ eigenvectors_sym,erf,%
+ erfc,exp,%
+ exp2,exp_mod_normal_ccdf_log,%
+ exp_mod_normal_cdf,exp_mod_normal_cdf_log,%
+ exp_mod_normal_log,exp_mod_normal_rng,%
+ expm1,exponential_ccdf_log,%
+ exponential_cdf,exponential_cdf_log,%
+ exponential_log,exponential_rng,%
+ fabs,falling_factorial,%
+ fdim,floor,%
+ fma,fmax,%
+ fmin,fmod,%
+ frechet_ccdf_log,frechet_cdf,%
+ frechet_cdf_log,frechet_log,%
+ frechet_rng,gamma_ccdf_log,%
+ gamma_cdf,gamma_cdf_log,%
+ gamma_log,gamma_p,%
+ gamma_q,gamma_rng,%
+ gaussian_dlm_obs_log,get_lp,%
+ gumbel_ccdf_log,gumbel_cdf,%
+ gumbel_cdf_log,gumbel_log,%
+ gumbel_rng,head,%
+ hypergeometric_log,hypergeometric_rng,%
+ hypot,if_else,%
+ int_step,inv,%
+ inv_chi_square_ccdf_log,inv_chi_square_cdf,%
+ inv_chi_square_cdf_log,inv_chi_square_log,%
+ inv_chi_square_rng,inv_cloglog,%
+ inv_gamma_ccdf_log,inv_gamma_cdf,%
+ inv_gamma_cdf_log,inv_gamma_log,%
+ inv_gamma_rng,inv_logit,%
+ inv_sqrt,inv_square,%
+ inv_wishart_log,inv_wishart_rng,%
+ inverse,inverse_spd,%
+ is_inf,is_nan,%
+ lbeta,lgamma,%
+ lkj_corr_cholesky_log,lkj_corr_cholesky_rng,%
+ lkj_corr_log,lkj_corr_rng,%
+ lmgamma,log,%
+ log10,log1m,%
+ log1m_exp,log1m_inv_logit,%
+ log1p,log1p_exp,%
+ log2,log_determinant,%
+ log_diff_exp,log_falling_factorial,%
+ log_inv_logit,log_mix,%
+ log_rising_factorial,log_softmax,%
+ log_sum_exp,logistic_ccdf_log,%
+ logistic_cdf,logistic_cdf_log,%
+ logistic_log,logistic_rng,%
+ logit,lognormal_ccdf_log,%
+ lognormal_cdf,lognormal_cdf_log,%
+ lognormal_log,lognormal_rng,%
+ machine_precision,max,%
+ mdivide_left_tri_low,mdivide_right_tri_low,%
+ mean,min,%
+ modified_bessel_first_kind,modified_bessel_second_kind,%
+ multi_gp_cholesky_log,multi_gp_log,%
+ multi_normal_cholesky_log,multi_normal_cholesky_rng,%
+ multi_normal_log,multi_normal_prec_log,%
+ multi_normal_rng,multi_student_t_log,%
+ multi_student_t_rng,multinomial_log,%
+ multinomial_rng,multiply_log,%
+ multiply_lower_tri_self_transpose,neg_binomial_2_ccdf_log,%
+ neg_binomial_2_cdf,neg_binomial_2_cdf_log,%
+ neg_binomial_2_log,neg_binomial_2_log_log,%
+ neg_binomial_2_log_rng,neg_binomial_2_rng,%
+ neg_binomial_ccdf_log,neg_binomial_cdf,%
+ neg_binomial_cdf_log,neg_binomial_log,%
+ neg_binomial_rng,negative_infinity,%
+ normal_ccdf_log,normal_cdf,%
+ normal_cdf_log,normal_log,%
+ normal_rng,not_a_number,%
+ num_elements,ordered_logistic_log,%
+ ordered_logistic_rng,owens_t,%
+ pareto_ccdf_log,pareto_cdf,%
+ pareto_cdf_log,pareto_log,%
+ pareto_rng,pareto_type_2_ccdf_log,%
+ pareto_type_2_cdf,pareto_type_2_cdf_log,%
+ pareto_type_2_log,pareto_type_2_rng,%
+ pi,poisson_ccdf_log,%
+ poisson_cdf,poisson_cdf_log,%
+ poisson_log,poisson_log_log,%
+ poisson_log_rng,poisson_rng,%
+ positive_infinity,pow,%
+ prod,qr_Q,%
+ qr_R,quad_form,%
+ quad_form_diag,quad_form_sym,%
+ rank,rayleigh_ccdf_log,%
+ rayleigh_cdf,rayleigh_cdf_log,%
+ rayleigh_log,rayleigh_rng,%
+ rep_array,rep_matrix,%
+ rep_row_vector,rep_vector,%
+ rising_factorial,round,%
+ row,rows,%
+ rows_dot_product,rows_dot_self,%
+ scaled_inv_chi_square_ccdf_log,scaled_inv_chi_square_cdf,%
+ scaled_inv_chi_square_cdf_log,scaled_inv_chi_square_log,%
+ scaled_inv_chi_square_rng,sd,%
+ segment,sin,%
+ singular_values,sinh,%
+ size,skew_normal_ccdf_log,%
+ skew_normal_cdf,skew_normal_cdf_log,%
+ skew_normal_log,skew_normal_rng,%
+ softmax,sort_asc,%
+ sort_desc,sort_indices_asc,%
+ sort_indices_desc,sqrt,%
+ sqrt2,square,%
+ squared_distance,step,%
+ student_t_ccdf_log,student_t_cdf,%
+ student_t_cdf_log,student_t_log,%
+ student_t_rng,sub_col,%
+ sub_row,sum,%
+ tail,tan,%
+ tanh,tcrossprod,%
+ tgamma,to_array_1d,%
+ to_array_2d,to_matrix,%
+ to_row_vector,to_vector,%
+ trace,trace_gen_quad_form,%
+ trace_quad_form,trigamma,%
+ trunc,uniform_ccdf_log,%
+ uniform_cdf,uniform_cdf_log,%
+ uniform_log,uniform_rng,%
+ variance,von_mises_log,%
+ von_mises_rng,weibull_ccdf_log,%
+ weibull_cdf,weibull_cdf_log,%
+ weibull_log,weibull_rng,%
+ wiener_log,wishart_log,%
+ wishart_rng,bernoulli,%
+ bernoulli_logit,beta,%
+ beta_binomial,binomial,%
+ binomial_logit,categorical,%
+ categorical_logit,cauchy,%
+ chi_square,dirichlet,%
+ double_exponential,exp_mod_normal,%
+ exponential,frechet,%
+ gamma,gaussian_dlm_obs,%
+ gumbel,hypergeometric,%
+ inv_chi_square,inv_gamma,%
+ inv_wishart,lkj_corr,%
+ lkj_corr_cholesky,logistic,%
+ lognormal,multi_gp,%
+ multi_gp_cholesky,multi_normal,%
+ multi_normal_cholesky,multi_normal_prec,%
+ multi_student_t,multinomial,%
+ neg_binomial,neg_binomial_2,%
+ neg_binomial_2_log,normal,%
+ ordered_logistic,pareto,%
+ pareto_type_2,poisson,%
+ poisson_log,rayleigh,%
+ scaled_inv_chi_square,skew_normal,%
+ student_t,uniform,%
+ von_mises,weibull,%
+ wiener,wishart%
+ },%
+ otherkeywords={<-,~},%
+ sensitive=true,%
+ morecomment=[l]{\#},%
+ morecomment=[l]{//},%
+ morecomment=[n]{/*}{*/},%
+ string=[d]"%,
+ literate={<-}{{$\leftarrow$}}1 {~}{{$\sim$}}1%
+}
+% \end{macrocode}
+
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+
diff --git a/Master/texmf-dist/source/latex/lstbayes/lstbayes.ins b/Master/texmf-dist/source/latex/lstbayes/lstbayes.ins
new file mode 100644
index 00000000000..30c906f57e2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/lstbayes/lstbayes.ins
@@ -0,0 +1,40 @@
+%%
+%% Copyright (C) 2015 by Jeffrey B. Arnold <jeffrey.arnold@gmail.com>
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+
+\usedir{tex/latex/lstbayes}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2015 by Jeffrey B. Arnold <jeffrey.arnold@gmail.com>
+
+This file may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.3c of this license
+or (at your option) any later version. The latest version of this
+license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of LaTeX
+version 2006/05/20 or later.
+
+\endpreamble
+
+\generate{\file{lstbayes.sty}{\from{lstbayes.dtx}{package}}}
+
+\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/lstbayes/lstbayes.sty b/Master/texmf-dist/tex/latex/lstbayes/lstbayes.sty
new file mode 100644
index 00000000000..9fd906d639e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lstbayes/lstbayes.sty
@@ -0,0 +1,260 @@
+%%
+%% This is file `lstbayes.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lstbayes.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2015 by Jeffrey B. Arnold <jeffrey.arnold@gmail.com>
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3c of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2006/05/20 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{lstbayes}
+ [2015/09/27 lstbayes listings language drivers for BUGS, JAGS, and Stan]
+
+\RequirePackage{listings}
+\lstdefinelanguage{BUGS}{
+ morekeywords=[1]{for,in,model,T,I,C},%
+ morecomment=[l]{\#},%
+ sensitive=true,%
+ alsoletter={.},%
+ otherkeywords={<-,~},%
+ literate={<-}{{$\leftarrow$}}1 {~}{{$\sim$}}1%
+}
+\lstalias[]{OpenBUGS}[]{BUGS}
+\lstalias[]{WinBUGS}[]{BUGS}
+\lstdefinelanguage[]{JAGS}[]{BUGS}{
+ morekeywords=[1]{data,var,const},%
+ morecomment=[n]{/*}{*/}%
+}
+\lstdefinelanguage{Stan}{
+ morekeywords=[1]{functions,data,parameters,transformed,model,generated,quantities,%
+ for,in,while,print,if,else,lp__,lower,upper,increment_log_prob,T,return,%
+ reject,integrate_ode},%
+ morekeywords=[2]{int,real,vector,%
+ ordered,positive_ordered,simplex,unit_vector,%
+ row_vector,matrix,%
+ cholesky_factor_corr,cholesky_factor_cov,%
+ coor_matrix,cov_matrix,%
+ void},%
+ morekeywords=[3]{%
+ Phi,Phi_approx,%
+ abs,acos,%
+ acosh,append_col,%
+ append_row,asin,%
+ asinh,atan,%
+ atan2,atanh,%
+ bernoulli_ccdf_log,bernoulli_cdf,%
+ bernoulli_cdf_log,bernoulli_log,%
+ bernoulli_logit_log,bernoulli_rng,%
+ bessel_first_kind,bessel_second_kind,%
+ beta_binomial_ccdf_log,beta_binomial_cdf,%
+ beta_binomial_cdf_log,beta_binomial_log,%
+ beta_binomial_rng,beta_ccdf_log,%
+ beta_cdf,beta_cdf_log,%
+ beta_log,beta_rng,%
+ binary_log_loss,binomial_ccdf_log,%
+ binomial_cdf,binomial_cdf_log,%
+ binomial_coefficient_log,binomial_log,%
+ binomial_logit_log,binomial_rng,%
+ block,categorical_log,%
+ categorical_logit_log,categorical_rng,%
+ cauchy_ccdf_log,cauchy_cdf,%
+ cauchy_cdf_log,cauchy_log,%
+ cauchy_rng,cbrt,%
+ ceil,chi_square_ccdf_log,%
+ chi_square_cdf,chi_square_cdf_log,%
+ chi_square_log,chi_square_rng,%
+ cholesky_decompose,col,%
+ cols,columns_dot_product,%
+ columns_dot_self,cos,%
+ cosh,crossprod,%
+ cumulative_sum,determinant,%
+ diag_matrix,diag_post_multiply,%
+ diag_pre_multiply,diagonal,%
+ digamma,dims,%
+ dirichlet_log,dirichlet_rng,%
+ distance,dot_product,%
+ dot_self,double_exponential_ccdf_log,%
+ double_exponential_cdf,double_exponential_cdf_log,%
+ double_exponential_log,double_exponential_rng,%
+ e,eigenvalues_sym,%
+ eigenvectors_sym,erf,%
+ erfc,exp,%
+ exp2,exp_mod_normal_ccdf_log,%
+ exp_mod_normal_cdf,exp_mod_normal_cdf_log,%
+ exp_mod_normal_log,exp_mod_normal_rng,%
+ expm1,exponential_ccdf_log,%
+ exponential_cdf,exponential_cdf_log,%
+ exponential_log,exponential_rng,%
+ fabs,falling_factorial,%
+ fdim,floor,%
+ fma,fmax,%
+ fmin,fmod,%
+ frechet_ccdf_log,frechet_cdf,%
+ frechet_cdf_log,frechet_log,%
+ frechet_rng,gamma_ccdf_log,%
+ gamma_cdf,gamma_cdf_log,%
+ gamma_log,gamma_p,%
+ gamma_q,gamma_rng,%
+ gaussian_dlm_obs_log,get_lp,%
+ gumbel_ccdf_log,gumbel_cdf,%
+ gumbel_cdf_log,gumbel_log,%
+ gumbel_rng,head,%
+ hypergeometric_log,hypergeometric_rng,%
+ hypot,if_else,%
+ int_step,inv,%
+ inv_chi_square_ccdf_log,inv_chi_square_cdf,%
+ inv_chi_square_cdf_log,inv_chi_square_log,%
+ inv_chi_square_rng,inv_cloglog,%
+ inv_gamma_ccdf_log,inv_gamma_cdf,%
+ inv_gamma_cdf_log,inv_gamma_log,%
+ inv_gamma_rng,inv_logit,%
+ inv_sqrt,inv_square,%
+ inv_wishart_log,inv_wishart_rng,%
+ inverse,inverse_spd,%
+ is_inf,is_nan,%
+ lbeta,lgamma,%
+ lkj_corr_cholesky_log,lkj_corr_cholesky_rng,%
+ lkj_corr_log,lkj_corr_rng,%
+ lmgamma,log,%
+ log10,log1m,%
+ log1m_exp,log1m_inv_logit,%
+ log1p,log1p_exp,%
+ log2,log_determinant,%
+ log_diff_exp,log_falling_factorial,%
+ log_inv_logit,log_mix,%
+ log_rising_factorial,log_softmax,%
+ log_sum_exp,logistic_ccdf_log,%
+ logistic_cdf,logistic_cdf_log,%
+ logistic_log,logistic_rng,%
+ logit,lognormal_ccdf_log,%
+ lognormal_cdf,lognormal_cdf_log,%
+ lognormal_log,lognormal_rng,%
+ machine_precision,max,%
+ mdivide_left_tri_low,mdivide_right_tri_low,%
+ mean,min,%
+ modified_bessel_first_kind,modified_bessel_second_kind,%
+ multi_gp_cholesky_log,multi_gp_log,%
+ multi_normal_cholesky_log,multi_normal_cholesky_rng,%
+ multi_normal_log,multi_normal_prec_log,%
+ multi_normal_rng,multi_student_t_log,%
+ multi_student_t_rng,multinomial_log,%
+ multinomial_rng,multiply_log,%
+ multiply_lower_tri_self_transpose,neg_binomial_2_ccdf_log,%
+ neg_binomial_2_cdf,neg_binomial_2_cdf_log,%
+ neg_binomial_2_log,neg_binomial_2_log_log,%
+ neg_binomial_2_log_rng,neg_binomial_2_rng,%
+ neg_binomial_ccdf_log,neg_binomial_cdf,%
+ neg_binomial_cdf_log,neg_binomial_log,%
+ neg_binomial_rng,negative_infinity,%
+ normal_ccdf_log,normal_cdf,%
+ normal_cdf_log,normal_log,%
+ normal_rng,not_a_number,%
+ num_elements,ordered_logistic_log,%
+ ordered_logistic_rng,owens_t,%
+ pareto_ccdf_log,pareto_cdf,%
+ pareto_cdf_log,pareto_log,%
+ pareto_rng,pareto_type_2_ccdf_log,%
+ pareto_type_2_cdf,pareto_type_2_cdf_log,%
+ pareto_type_2_log,pareto_type_2_rng,%
+ pi,poisson_ccdf_log,%
+ poisson_cdf,poisson_cdf_log,%
+ poisson_log,poisson_log_log,%
+ poisson_log_rng,poisson_rng,%
+ positive_infinity,pow,%
+ prod,qr_Q,%
+ qr_R,quad_form,%
+ quad_form_diag,quad_form_sym,%
+ rank,rayleigh_ccdf_log,%
+ rayleigh_cdf,rayleigh_cdf_log,%
+ rayleigh_log,rayleigh_rng,%
+ rep_array,rep_matrix,%
+ rep_row_vector,rep_vector,%
+ rising_factorial,round,%
+ row,rows,%
+ rows_dot_product,rows_dot_self,%
+ scaled_inv_chi_square_ccdf_log,scaled_inv_chi_square_cdf,%
+ scaled_inv_chi_square_cdf_log,scaled_inv_chi_square_log,%
+ scaled_inv_chi_square_rng,sd,%
+ segment,sin,%
+ singular_values,sinh,%
+ size,skew_normal_ccdf_log,%
+ skew_normal_cdf,skew_normal_cdf_log,%
+ skew_normal_log,skew_normal_rng,%
+ softmax,sort_asc,%
+ sort_desc,sort_indices_asc,%
+ sort_indices_desc,sqrt,%
+ sqrt2,square,%
+ squared_distance,step,%
+ student_t_ccdf_log,student_t_cdf,%
+ student_t_cdf_log,student_t_log,%
+ student_t_rng,sub_col,%
+ sub_row,sum,%
+ tail,tan,%
+ tanh,tcrossprod,%
+ tgamma,to_array_1d,%
+ to_array_2d,to_matrix,%
+ to_row_vector,to_vector,%
+ trace,trace_gen_quad_form,%
+ trace_quad_form,trigamma,%
+ trunc,uniform_ccdf_log,%
+ uniform_cdf,uniform_cdf_log,%
+ uniform_log,uniform_rng,%
+ variance,von_mises_log,%
+ von_mises_rng,weibull_ccdf_log,%
+ weibull_cdf,weibull_cdf_log,%
+ weibull_log,weibull_rng,%
+ wiener_log,wishart_log,%
+ wishart_rng,bernoulli,%
+ bernoulli_logit,beta,%
+ beta_binomial,binomial,%
+ binomial_logit,categorical,%
+ categorical_logit,cauchy,%
+ chi_square,dirichlet,%
+ double_exponential,exp_mod_normal,%
+ exponential,frechet,%
+ gamma,gaussian_dlm_obs,%
+ gumbel,hypergeometric,%
+ inv_chi_square,inv_gamma,%
+ inv_wishart,lkj_corr,%
+ lkj_corr_cholesky,logistic,%
+ lognormal,multi_gp,%
+ multi_gp_cholesky,multi_normal,%
+ multi_normal_cholesky,multi_normal_prec,%
+ multi_student_t,multinomial,%
+ neg_binomial,neg_binomial_2,%
+ neg_binomial_2_log,normal,%
+ ordered_logistic,pareto,%
+ pareto_type_2,poisson,%
+ poisson_log,rayleigh,%
+ scaled_inv_chi_square,skew_normal,%
+ student_t,uniform,%
+ von_mises,weibull,%
+ wiener,wishart%
+ },%
+ otherkeywords={<-,~},%
+ sensitive=true,%
+ morecomment=[l]{\#},%
+ morecomment=[l]{//},%
+ morecomment=[n]{/*}{*/},%
+ string=[d]"%,
+ literate={<-}{{$\leftarrow$}}1 {~}{{$\sim$}}1%
+}
+
+
+\endinput
+%%
+%% End of file `lstbayes.sty'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 22e55a1a1d7..0466f42c7eb 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -344,7 +344,7 @@ my @TLP_working = qw(
lshort-japanese lshort-korean lshort-mongol lshort-persian
lshort-polish lshort-portuguese lshort-russian lshort-slovak
lshort-slovenian lshort-spanish lshort-thai lshort-turkish lshort-ukr
- lshort-vietnamese lstaddons lt3graph ltablex ltabptch
+ lshort-vietnamese lstaddons lstbayes lt3graph ltablex ltabptch
ltxdockit ltxfileinfo ltximg ltxindex ltxkeys ltxmisc ltxnew ltxtools
lua-alt-getopt lua-check-hyphen lua-visual-debug
lua2dox luabibentry luabidi luacode
diff --git a/Master/tlpkg/tlpsrc/collection-science.tlpsrc b/Master/tlpkg/tlpsrc/collection-science.tlpsrc
index 5b87367e09b..e97ffc670ae 100644
--- a/Master/tlpkg/tlpsrc/collection-science.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-science.tlpsrc
@@ -48,6 +48,7 @@ depend hepthesis
depend hepunits
depend karnaugh
depend karnaughmap
+depend lstbayes
depend matlab-prettifier
depend mhchem
depend miller
diff --git a/Master/tlpkg/tlpsrc/lstbayes.tlpsrc b/Master/tlpkg/tlpsrc/lstbayes.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/lstbayes.tlpsrc