TITLE: Test of the Bootstrap style

DocOnce can work with Bootstrap HTML styles this way:

!bc sys
Terminal> doconce format html mydoc --html_style=bootswatch --html_admon=bootstrap_panel
!ec

Here goes optional text.

# A split before the first section will enable a button in the jumbotron
# for going to the first real page

!split
========= More details on writing DocOnce documents with Bootstrap layout =========


======= Demonstrations of admons =======

The Bootstrap/Bootswatch styles support two kinds of admons:

 * alert admons (`bootstrap_alert`) with colored background (default)
 * panel admon (`bootstrap_panel`) where only the title has colored background


Below are some examples on admons.

!bwarning Warning: recall to prefix module functions

!bc ipy

In [1]: import numpy as np

In [2]: x = np.linspace(0, 4*np.pi, 11)

In [3]: y = exp(-0.1*x)*sin(x)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-3-c1040545fa6c> in <module>()
----> 1 y = exp(-0.1*x)*sin(x)

NameError: name 'exp' is not defined

In [4]: y = np.exp(-0.1*x)*np.sin(x)

In [5]: y
Out[5]:
array([  0.00000000e+00,   8.38747563e-01,   4.57160372e-01,
        -4.03174933e-01,  -5.75315545e-01,  -1.30666897e-16,
         4.47461836e-01,   2.43889614e-01,  -2.15089026e-01,
        -3.06923992e-01,  -1.39418467e-16])
!ec


This is the admon for warnings or paying attention.
!ewarning

!bnotice Information
This is the notice admon with nice-to-have information.
!enotice

!bquestion Testing the understanding
How many admon styles are supported by the DocOnce Boostrap and Bootswatch
styles?
!equestion

!bsummary
DocOnce supports the following elements of Bootstrap elements:

 * Admons
 * Panels (via admons)
 * Jumbotron for title and intro
 * Columns of content (grid structure via the `slidecell` environment)
 * Tooltips via footnotes
!esummary

Tables, first with math headings:

|-l----r-------r--------r--|
|$i$|$h_i$|$\bar T_i$|`L_i`|
|-l-----r-------r----r-----|
|0   |0     |288   |-0.0065|
|1   |11,000|216   |0.0	   |
|2   |20,000|216   |0.001  |
|3   |32,000|228   |0.0028 |
|4   |47,000|270   |0.0	   |
|5   |51,000|270   |-0.0028|
|6   |71,000|214   |`NaN`  |
|--------------------------|

And then with plain words:

|-l----r-------r--------r--|
|i|height|Temperature | L  |
|-l-----r-------r----r-----|
|0   |0     |288   |-0.0065|
|1   |11,000|216   |0.0	   |
|2   |20,000|216   |0.001  |
|3   |32,000|228   |0.0028 |
|4   |47,000|270   |0.0	   |
|5   |51,000|270   |-0.0028|
|6   |71,000|214   |`NaN`  |
|--------------------------|



!split
======= Horizontal alignment of document elements =======
label{sec:examples}

===== Principles of grid structures =====

The HTML page can feature a grid structure of cells, defined by
the following syntax in case of a 1x3 grid:

!bc
# begin-grid-area

|bslidecell 00
...
|eslidecell

|bslidecell 01
...
|eslidecell

|bslidecell 02
...
|eslidecell

# end-grid-area
!ec

===== Example on a 1x3 grid structure =====

# begin-grid-area

Some text like this is lost.

!bslidecell 00
__Mathematics.__
Given a function

!bt
\[ f(x) = e^{-ax}\sin wx\thinspace .\]
!et
Write a program for evaluating $f(x)$, and test the program
for the value of $f(0)$.
!eslidecell

!bslidecell 01
__Implementation.__
The Python implementation reads

!bc pycod
from math import exp, sin

def f(x):
    return exp(-a*x)*sin(w*x)
!ec
where `a` and `w` must be *global variables*, initialized in the
main program.
!eslidecell

!bslidecell 02

__Computational experiment.__
With a main program

!bc pycod
a = 1
from math import pi
w = pi
print(f(0))
!ec
we can run the program:

!bc sys
Terminal> python prog.py
0
!ec
!eslidecell
# end-grid-area

===== Variation of the previous grid structure using panels =====

# Note: panels are realized as admons, using --admon_style=bootstrap_panel

# begin-grid-area

!bslidecell 00
!bnotice Mathematics
Given a function

!bt
\[ f(x) = e^{-ax}\sin wx\thinspace .\]
!et
Write a program for evaluating $f(x)$, and test the program
for the value of $f(0)$.
!enotice
!eslidecell

!bslidecell 01
!bnotice Implementation
The Python implementation reads

!bc pycod
from math import exp, sin

def f(x):
    return exp(-a*x)*sin(w*x)
!ec
where `a` and `w` must be *global variables*, initialized in the
main program.
!enotice
!eslidecell

!bslidecell 02
!bnotice Computational experiment
With a main program

!bc pycod
a = 1
from math import pi
w = pi
print(f(0))
!ec
we can run the program:

!bc sys
Terminal> python prog.py
0
!ec
!enotice
!eslidecell
# end-grid-area
