summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/lstbayes
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/lstbayes
Initial commit
Diffstat (limited to 'macros/latex/contrib/lstbayes')
-rw-r--r--macros/latex/contrib/lstbayes/Makefile42
-rw-r--r--macros/latex/contrib/lstbayes/README.md54
-rw-r--r--macros/latex/contrib/lstbayes/examples.pdfbin0 -> 140037 bytes
-rw-r--r--macros/latex/contrib/lstbayes/examples.tex128
-rw-r--r--macros/latex/contrib/lstbayes/lstbayes.dtx609
-rw-r--r--macros/latex/contrib/lstbayes/lstbayes.ins40
-rw-r--r--macros/latex/contrib/lstbayes/lstbayes.pdfbin0 -> 135554 bytes
7 files changed, 873 insertions, 0 deletions
diff --git a/macros/latex/contrib/lstbayes/Makefile b/macros/latex/contrib/lstbayes/Makefile
new file mode 100644
index 0000000000..19e0345532
--- /dev/null
+++ b/macros/latex/contrib/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 lstbayes.pdf lstbayes.ins lstbayes.dtx examples.tex examples.pdf README.md Makefile lstbayes
+ zip -r lstbayes.zip lstbayes
+
+pdf: lstbayes.pdf examples.pdf
+
+lstbayes.dtx: lstbayes_template.dtx lstbayes.py
+ $(PYTHON) lstbayes.py $(pkgversion)
+
+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/macros/latex/contrib/lstbayes/README.md b/macros/latex/contrib/lstbayes/README.md
new file mode 100644
index 0000000000..5ea1e5d0ac
--- /dev/null
+++ b/macros/latex/contrib/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/pkg/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/pkg/listings/) 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/macros/latex/contrib/lstbayes/examples.pdf b/macros/latex/contrib/lstbayes/examples.pdf
new file mode 100644
index 0000000000..06daa4ace9
--- /dev/null
+++ b/macros/latex/contrib/lstbayes/examples.pdf
Binary files differ
diff --git a/macros/latex/contrib/lstbayes/examples.tex b/macros/latex/contrib/lstbayes/examples.tex
new file mode 100644
index 0000000000..9ff02ab83d
--- /dev/null
+++ b/macros/latex/contrib/lstbayes/examples.tex
@@ -0,0 +1,128 @@
+\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/macros/latex/contrib/lstbayes/lstbayes.dtx b/macros/latex/contrib/lstbayes/lstbayes.dtx
new file mode 100644
index 0000000000..00a8634a93
--- /dev/null
+++ b/macros/latex/contrib/lstbayes/lstbayes.dtx
@@ -0,0 +1,609 @@
+%%%%%%%%% \iffalse meta-comment
+%
+% Copyright (C) 2018 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>
+ [2018/07/06 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.17.0/stan-reference-2.17.0.pdf}{2.17.0}.
+%
+% \begin{macrocode}
+\lstdefinelanguage{Stan}{
+ morekeywords=[1]{%
+ functions,%
+ data,%
+ else,%
+ for,%
+ generated,%
+ if,%
+ in,%
+ increment_log_prob,%
+ integrate_ode_bdf,%
+ integrate_ode_rk45,%
+ integrate_ode,%
+ lower,%
+ model,%
+ parameters,%
+ print,%
+ quantities,%
+ reject,%
+ return,%
+ T,%
+ target,%
+ transformed,%
+ upper,%
+ while%
+ },%
+ morekeywords=[2]{%
+ cholesky_factor_corr,%
+ cholesky_factor_cov,%
+ corr_matrix,%
+ cov_matrix,%
+ int,%
+ matrix,%
+ ordered,%
+ positive_ordered,%
+ real,%
+ row_vector,%
+ simplex,%
+ unit_vector,%
+ vector,%
+ void%
+ },%
+ morekeywords=[3]{%
+ Phi,%
+ Phi_approx,%
+ abs,%
+ acos,%
+ acosh,%
+ algebra_solver,%
+ append_array,%
+ append_col,%
+ append_row,%
+ asin,%
+ asinh,%
+ atan,%
+ atan2,%
+ atanh,%
+ bernoulli,%
+ bernoulli_cdf,%
+ bernoulli_lccdf,%
+ bernoulli_lcdf,%
+ bernoulli_logit,%
+ bernoulli_logit_lpmf,%
+ bernoulli_logit_rng,%
+ bernoulli_lpmf,%
+ bernoulli_rng,%
+ bessel_first_kind,%
+ bessel_second_kind,%
+ beta,%
+ beta_binomial,%
+ beta_binomial_cdf,%
+ beta_binomial_lccdf,%
+ beta_binomial_lcdf,%
+ beta_binomial_lpmf,%
+ beta_binomial_rng,%
+ beta_cdf,%
+ beta_lccdf,%
+ beta_lcdf,%
+ beta_lpdf,%
+ beta_rng,%
+ binary_log_loss,%
+ binomial,%
+ binomial_cdf,%
+ binomial_coefficient_log,%
+ binomial_lccdf,%
+ binomial_lcdf,%
+ binomial_logit,%
+ binomial_logit_lpmf,%
+ binomial_lpmf,%
+ binomial_rng,%
+ block,%
+ categorical,%
+ categorical_logit,%
+ categorical_logit_lpmf,%
+ categorical_logit_rng,%
+ categorical_lpmf,%
+ categorical_rng,%
+ cauchy,%
+ cauchy_cdf,%
+ cauchy_lccdf,%
+ cauchy_lcdf,%
+ cauchy_lpdf,%
+ cauchy_rng,%
+ cbrt,%
+ ceil,%
+ chi_square,%
+ chi_square_cdf,%
+ chi_square_lccdf,%
+ chi_square_lcdf,%
+ chi_square_lpdf,%
+ chi_square_rng,%
+ cholesky_decompose,%
+ choose,%
+ col,%
+ cols,%
+ columns_dot_product,%
+ columns_dot_self,%
+ cos,%
+ cosh,%
+ cov_exp_quad,%
+ crossprod,%
+ csr_extract_u,%
+ csr_extract_v,%
+ csr_extract_w,%
+ csr_matrix_times_vector,%
+ csr_to_dense_matrix,%
+ cumulative_sum,%
+ determinant,%
+ diag_matrix,%
+ diag_post_multiply,%
+ diag_pre_multiply,%
+ diagonal,%
+ digamma,%
+ dims,%
+ dirichlet,%
+ dirichlet_lpdf,%
+ dirichlet_rng,%
+ distance,%
+ dot_product,%
+ dot_self,%
+ double_exponential,%
+ double_exponential_cdf,%
+ double_exponential_lccdf,%
+ double_exponential_lcdf,%
+ double_exponential_lpdf,%
+ double_exponential_rng,%
+ e,%
+ eigenvalues_sym,%
+ eigenvectors_sym,%
+ erf,%
+ erfc,%
+ exp,%
+ exp2,%
+ exp_mod_normal,%
+ exp_mod_normal_cdf,%
+ exp_mod_normal_lccdf,%
+ exp_mod_normal_lcdf,%
+ exp_mod_normal_lpdf,%
+ exp_mod_normal_rng,%
+ expm1,%
+ exponential,%
+ exponential_cdf,%
+ exponential_lccdf,%
+ exponential_lcdf,%
+ exponential_lpdf,%
+ exponential_rng,%
+ fabs,%
+ falling_factorial,%
+ fdim,%
+ floor,%
+ fma,%
+ fmax,%
+ fmin,%
+ fmod,%
+ frechet,%
+ frechet_cdf,%
+ frechet_lccdf,%
+ frechet_lcdf,%
+ frechet_lpdf,%
+ frechet_rng,%
+ gamma,%
+ gamma_cdf,%
+ gamma_lccdf,%
+ gamma_lcdf,%
+ gamma_lpdf,%
+ gamma_p,%
+ gamma_q,%
+ gamma_rng,%
+ gaussian_dlm_obs,%
+ gaussian_dlm_obs_lpdf,%
+ get_lp,%
+ gumbel,%
+ gumbel_cdf,%
+ gumbel_lccdf,%
+ gumbel_lcdf,%
+ gumbel_lpdf,%
+ gumbel_rng,%
+ head,%
+ hypergeometric,%
+ hypergeometric_lpmf,%
+ hypergeometric_rng,%
+ hypot,%
+ inc_beta,%
+ int_step,%
+ integrate_ode,%
+ integrate_ode_bdf,%
+ integrate_ode_rk45,%
+ inv,%
+ inv_Phi,%
+ inv_chi_square,%
+ inv_chi_square_cdf,%
+ inv_chi_square_lccdf,%
+ inv_chi_square_lcdf,%
+ inv_chi_square_lpdf,%
+ inv_chi_square_rng,%
+ inv_cloglog,%
+ inv_gamma,%
+ inv_gamma_cdf,%
+ inv_gamma_lccdf,%
+ inv_gamma_lcdf,%
+ inv_gamma_lpdf,%
+ inv_gamma_rng,%
+ inv_logit,%
+ inv_sqrt,%
+ inv_square,%
+ inv_wishart,%
+ inv_wishart_lpdf,%
+ inv_wishart_rng,%
+ inverse,%
+ inverse_spd,%
+ is_inf,%
+ is_nan,%
+ lbeta,%
+ lchoose,%
+ lgamma,%
+ lkj_corr,%
+ lkj_corr_cholesky,%
+ lkj_corr_cholesky_lpdf,%
+ lkj_corr_cholesky_rng,%
+ lkj_corr_lpdf,%
+ lkj_corr_rng,%
+ lmgamma,%
+ lmultiply,%
+ 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,%
+ logistic_cdf,%
+ logistic_lccdf,%
+ logistic_lcdf,%
+ logistic_lpdf,%
+ logistic_rng,%
+ logit,%
+ lognormal,%
+ lognormal_cdf,%
+ lognormal_lccdf,%
+ lognormal_lcdf,%
+ lognormal_lpdf,%
+ lognormal_rng,%
+ machine_precision,%
+ matrix_exp,%
+ max,%
+ mdivide_left_spd,%
+ mdivide_left_tri_low,%
+ mdivide_right_spd,%
+ mdivide_right_tri_low,%
+ mean,%
+ min,%
+ modified_bessel_first_kind,%
+ modified_bessel_second_kind,%
+ multi_gp,%
+ multi_gp_cholesky,%
+ multi_gp_cholesky_lpdf,%
+ multi_gp_lpdf,%
+ multi_normal,%
+ multi_normal_cholesky,%
+ multi_normal_cholesky_lpdf,%
+ multi_normal_cholesky_rng,%
+ multi_normal_lpdf,%
+ multi_normal_prec,%
+ multi_normal_prec_lpdf,%
+ multi_normal_rng,%
+ multi_student_t,%
+ multi_student_t_lpdf,%
+ multi_student_t_rng,%
+ multinomial,%
+ multinomial_lpmf,%
+ multinomial_rng,%
+ multiply_log,%
+ multiply_lower_tri_self_transpose,%
+ neg_binomial,%
+ neg_binomial_2,%
+ neg_binomial_2_cdf,%
+ neg_binomial_2_lccdf,%
+ neg_binomial_2_lcdf,%
+ neg_binomial_2_log,%
+ neg_binomial_2_log_lpmf,%
+ neg_binomial_2_log_rng,%
+ neg_binomial_2_lpmf,%
+ neg_binomial_2_rng,%
+ neg_binomial_cdf,%
+ neg_binomial_lccdf,%
+ neg_binomial_lcdf,%
+ neg_binomial_lpmf,%
+ neg_binomial_rng,%
+ negative_infinity,%
+ normal,%
+ normal_cdf,%
+ normal_lccdf,%
+ normal_lcdf,%
+ normal_lpdf,%
+ normal_rng,%
+ not_a_number,%
+ num_elements,%
+ ordered_logistic,%
+ ordered_logistic_lpmf,%
+ ordered_logistic_rng,%
+ owens_t,%
+ pareto,%
+ pareto_cdf,%
+ pareto_lccdf,%
+ pareto_lcdf,%
+ pareto_lpdf,%
+ pareto_rng,%
+ pareto_type_2,%
+ pareto_type_2_cdf,%
+ pareto_type_2_lccdf,%
+ pareto_type_2_lcdf,%
+ pareto_type_2_lpdf,%
+ pareto_type_2_rng,%
+ pi,%
+ poisson,%
+ poisson_cdf,%
+ poisson_lccdf,%
+ poisson_lcdf,%
+ poisson_log,%
+ poisson_log_lpmf,%
+ poisson_log_rng,%
+ poisson_lpmf,%
+ poisson_rng,%
+ positive_infinity,%
+ pow,%
+ print,%
+ prod,%
+ qr_Q,%
+ qr_R,%
+ quad_form,%
+ quad_form_diag,%
+ quad_form_sym,%
+ rank,%
+ rayleigh,%
+ rayleigh_cdf,%
+ rayleigh_lccdf,%
+ rayleigh_lcdf,%
+ rayleigh_lpdf,%
+ rayleigh_rng,%
+ reject,%
+ rep_array,%
+ rep_matrix,%
+ rep_row_vector,%
+ rep_vector,%
+ rising_factorial,%
+ round,%
+ row,%
+ rows,%
+ rows_dot_product,%
+ rows_dot_self,%
+ scaled_inv_chi_square,%
+ scaled_inv_chi_square_cdf,%
+ scaled_inv_chi_square_lccdf,%
+ scaled_inv_chi_square_lcdf,%
+ scaled_inv_chi_square_lpdf,%
+ scaled_inv_chi_square_rng,%
+ sd,%
+ segment,%
+ sin,%
+ singular_values,%
+ sinh,%
+ size,%
+ skew_normal,%
+ skew_normal_cdf,%
+ skew_normal_lccdf,%
+ skew_normal_lcdf,%
+ skew_normal_lpdf,%
+ skew_normal_rng,%
+ softmax,%
+ sort_asc,%
+ sort_desc,%
+ sort_indices_asc,%
+ sort_indices_desc,%
+ sqrt,%
+ sqrt2,%
+ square,%
+ squared_distance,%
+ step,%
+ student_t,%
+ student_t_cdf,%
+ student_t_lccdf,%
+ student_t_lcdf,%
+ student_t_lpdf,%
+ student_t_rng,%
+ sub_col,%
+ sub_row,%
+ sum,%
+ tail,%
+ tan,%
+ tanh,%
+ target,%
+ 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,%
+ uniform_cdf,%
+ uniform_lccdf,%
+ uniform_lcdf,%
+ uniform_lpdf,%
+ uniform_rng,%
+ variance,%
+ von_mises,%
+ von_mises_lpdf,%
+ von_mises_rng,%
+ weibull,%
+ weibull_cdf,%
+ weibull_lccdf,%
+ weibull_lcdf,%
+ weibull_lpdf,%
+ weibull_rng,%
+ wiener,%
+ wiener_lpdf,%
+ wishart,%
+ wishart_lpdf,%
+ wishart_rng
+ },%
+ otherkeywords={.*=,./=,+=,-=,*=,/=,<-,~},%
+ sensitive=true,%
+ morecomment=[l]{\#},%
+ morecomment=[l]{//},%
+ morecomment=[n]{/*}{*/},%
+ string=[d]"%,
+ literate={<-}{{$\leftarrow$}}1 {~}{{$\sim$}}1%
+}
+% \end{macrocode}
+
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale \ No newline at end of file
diff --git a/macros/latex/contrib/lstbayes/lstbayes.ins b/macros/latex/contrib/lstbayes/lstbayes.ins
new file mode 100644
index 0000000000..30c906f57e
--- /dev/null
+++ b/macros/latex/contrib/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/macros/latex/contrib/lstbayes/lstbayes.pdf b/macros/latex/contrib/lstbayes/lstbayes.pdf
new file mode 100644
index 0000000000..97d89eb596
--- /dev/null
+++ b/macros/latex/contrib/lstbayes/lstbayes.pdf
Binary files differ