2025-01-12 00:52:51 +08:00

684 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html$if(lang)$ lang="$lang$" xml:lang="$lang$"$endif$$if(dir)$ dir="$dir$"$endif$>
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
$if(theme)$
$else$
<meta name="viewport" content="width=device-width, initial-scale=1" />
$endif$
$for(author-meta)$
<meta name="author" content="$author-meta$" />
$endfor$
$if(date-meta)$
<meta name="date" content="$date-meta$" />
$endif$
<title>$if(title-prefix)$$title-prefix$ - $endif$$pagetitle$</title>
$for(header-includes)$
$header-includes$
$endfor$
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
$if(quotes)$
q { quotes: "“" "”" "" ""; }
$endif$
$if(displaymath-css)$
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
$endif$
</style>
$if(highlightjs)$
<style type="text/css">code{white-space: pre;}</style>
<script type="text/javascript">
if (window.hljs) {
hljs.configure({languages: []});
hljs.initHighlightingOnLoad();
if (document.readyState && document.readyState === "complete") {
window.setTimeout(function() { hljs.initHighlighting(); }, 0);
}
}
</script>
$endif$
$if(highlight-downlit)$
<style type="text/css">
/* from bookdown::bs4_book() css */
code a:any-link {
color: inherit; /* use colour from syntax highlighting */
text-decoration: underline;
text-decoration-color: #ccc;
}
</style>
$endif$
$if(highlighting-css)$
<style type="text/css">
code {
white-space: pre;
}
.sourceCode {
overflow: visible;
}
</style>
<style type="text/css" data-origin="pandoc">
$highlighting-css$
$if(code_folding)$
.sourceCode .row {
width: 100%;
}
.sourceCode {
overflow-x: auto;
}
.code-folding-btn {
margin-right: -30px;
}
$endif$
</style>
<script>
// apply pandoc div.sourceCode style to pre.sourceCode instead
(function() {
var sheets = document.styleSheets;
for (var i = 0; i < sheets.length; i++) {
if (sheets[i].ownerNode.dataset["origin"] !== "pandoc") continue;
try { var rules = sheets[i].cssRules; } catch (e) { continue; }
var j = 0;
while (j < rules.length) {
var rule = rules[j];
// check if there is a div.sourceCode rule
if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") {
j++;
continue;
}
var style = rule.style.cssText;
// check if color or background-color is set
if (rule.style.color === '' && rule.style.backgroundColor === '') {
j++;
continue;
}
// replace div.sourceCode by a pre.sourceCode rule
sheets[i].deleteRule(j);
sheets[i].insertRule('pre.sourceCode{' + style + '}', j);
}
}
})();
</script>
$endif$
$if(abstract)$
<style type="text/css">
p.abstract{
text-align: center;
font-weight: bold;
}
div.abstract{
margin: auto;
width: 90%;
}
</style>
$endif$
$if(source_embed)$
<style type="text/css">
#rmd-source-code {
display: none;
}
</style>
$endif$
$if(csl-css)$
<style type="text/css">
/* for pandoc --citeproc since 2.11 */
div.csl-bib-body { }
div.csl-entry {
clear: both;
$if(csl-entry-spacing)$
margin-bottom: $csl-entry-spacing$;
$endif$
}
.hanging div.csl-entry {
margin-left:2em;
text-indent:-2em;
}
div.csl-left-margin {
min-width:2em;
float:left;
}
div.csl-right-inline {
margin-left:2em;
padding-left:1em;
}
div.csl-indent {
margin-left: 2em;
}
</style>
$endif$
$for(css)$
<link rel="stylesheet" href="$css$" $if(html5)$$else$type="text/css" $endif$/>
$endfor$
$if(theme)$
<style type = "text/css">
.main-container {
max-width: 940px;
margin-left: auto;
margin-right: auto;
}
img {
max-width:100%;
}
.tabbed-pane {
padding-top: 12px;
}
.html-widget {
margin-bottom: 20px;
}
button.code-folding-btn:focus {
outline: none;
}
summary {
display: list-item;
}
details > summary > p:only-child {
display: inline;
}
pre code {
padding: 0;
}
</style>
$if(kable-scroll)$
<style type="text/css">
.kable-table {
border: 1px solid #ccc;
border-radius: 4px;
overflow: auto;
padding-left: 8px;
padding-right: 8px;
margin-bottom: 20px;
max-height: 350px;
}
.kable-table table {
margin-bottom: 0px;
}
.kable-table table>thead>tr>th {
border: none;
border-bottom: 2px solid #dddddd;
}
.kable-table table>thead {
background-color: #fff;
}
</style>
$endif$
$if(navbar)$
<style type="text/css">
.dropdown-submenu {
position: relative;
}
.dropdown-submenu>.dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover>.dropdown-menu {
display: block;
}
.dropdown-submenu>a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #cccccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover>a:after {
border-left-color: #adb5bd;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
left: -100%;
margin-left: 10px;
border-radius: 6px 0 6px 6px;
}
</style>
<script type="text/javascript">
// manage active state of menu based on current page
$$(document).ready(function () {
// active menu anchor
href = window.location.pathname
href = href.substr(href.lastIndexOf('/') + 1)
if (href === "")
href = "index.html";
var menuAnchor = $$('a[href="' + href + '"]');
// mark the anchor link active (and if it's in a dropdown, also mark that active)
var dropdown = menuAnchor.closest('li.dropdown');
if (window.bootstrap) { // Bootstrap 4+
menuAnchor.addClass('active');
dropdown.find('> .dropdown-toggle').addClass('active');
} else { // Bootstrap 3
menuAnchor.parent().addClass('active');
dropdown.addClass('active');
}
// Navbar adjustments
var navHeight = $$(".navbar").first().height() + 15;
var style = document.createElement('style');
var pt = "padding-top: " + navHeight + "px; ";
var mt = "margin-top: -" + navHeight + "px; ";
var css = "";
// offset scroll position for anchor links (for fixed navbar)
for (var i = 1; i <= 6; i++) {
css += ".section h" + i + "{ " + pt + mt + "}\n";
}
style.innerHTML = "body {" + pt + "padding-bottom: 40px; }\n" + css;
document.head.appendChild(style);
});
</script>
$endif$
<!-- tabsets -->
<style type="text/css">
.tabset-dropdown > .nav-tabs {
display: inline-table;
max-height: 500px;
min-height: 44px;
overflow-y: auto;
border: 1px solid #ddd;
border-radius: 4px;
}
.tabset-dropdown > .nav-tabs > li.active:before, .tabset-dropdown > .nav-tabs.nav-tabs-open:before {
content: "\e259";
font-family: 'Glyphicons Halflings';
display: inline-block;
padding: 10px;
border-right: 1px solid #ddd;
}
.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before {
content: "\e258";
font-family: 'Glyphicons Halflings';
border: none;
}
.tabset-dropdown > .nav-tabs > li.active {
display: block;
}
.tabset-dropdown > .nav-tabs > li > a,
.tabset-dropdown > .nav-tabs > li > a:focus,
.tabset-dropdown > .nav-tabs > li > a:hover {
border: none;
display: inline-block;
border-radius: 4px;
background-color: transparent;
}
.tabset-dropdown > .nav-tabs.nav-tabs-open > li {
display: block;
float: none;
}
.tabset-dropdown > .nav-tabs > li {
display: none;
}
</style>
<!-- code folding -->
$if(code_menu)$
<style type="text/css">
.code-folding-btn { margin-bottom: 4px; }
</style>
$endif$
$if(toc_float)$
<style type="text/css">
#$idprefix$TOC {
margin: 25px 0px 20px 0px;
}
@media (max-width: 768px) {
#$idprefix$TOC {
position: relative;
width: 100%;
}
}
@media print {
$if(toc_print)$
$else$
#$idprefix$TOC {
display: none !important;
}
$endif$
.toc-content {
/* see https://github.com/w3c/csswg-drafts/issues/4434 */
float: right;
}
}
.toc-content {
padding-left: 30px;
padding-right: 40px;
}
div.main-container {
max-width: 1200px;
}
div.tocify {
width: 20%;
max-width: 260px;
max-height: 85%;
}
@media (min-width: 768px) and (max-width: 991px) {
div.tocify {
width: 25%;
}
}
@media (max-width: 767px) {
div.tocify {
width: 100%;
max-width: none;
}
}
.tocify ul, .tocify li {
line-height: 20px;
}
.tocify-subheader .tocify-item {
font-size: 0.90em;
}
.tocify .list-group-item {
border-radius: 0px;
}
$if(toc_collapsed)$
$else$
.tocify-subheader {
display: inline;
}
.tocify-subheader .tocify-item {
font-size: 0.95em;
}
$endif$
</style>
$endif$
$endif$
</head>
<body>
$if(theme)$
<div class="container-fluid main-container">
$if(toc_float)$
<!-- setup 3col/9col grid for toc_float and main content -->
<div class="row">
$if(bs3)$
<div class="col-xs-12 col-sm-4 col-md-3">
$else$
<div class="col-sm-12 col-md-4 col-lg-3">
$endif$
$if(toc-title)$
<h2 id="$idprefix$toc-title">$toc-title$</h2>
$endif$
<div id="$idprefix$TOC" class="tocify">
</div>
</div>
$if(bs3)$
<div class="toc-content col-xs-12 col-sm-8 col-md-9">
$else$
<div class="toc-content col-sm-12 col-md-8 col-lg-9">
$endif$
$endif$
$endif$
$for(include-before)$
$include-before$
$endfor$
$if(theme)$
<div id="$idprefix$header">
$if(code_menu)$
<div class="btn-group pull-right float-right">
<button type="button" class="btn btn-default btn-xs btn-secondary btn-sm dropdown-toggle" data-toggle="dropdown" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span>Code</span> <span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right" style="min-width: 50px;">
$if(code_folding)$
<li><a id="rmd-show-all-code" href="#">Show All Code</a></li>
<li><a id="rmd-hide-all-code" href="#">Hide All Code</a></li>
$if(source_embed)$
<li role="separator" class="divider"></li>
$endif$
$endif$
$if(source_embed)$
<li><a id="rmd-download-source" href="#">Download Rmd</a></li>
$endif$
</ul>
</div>
$endif$
$endif$
$if(title)$
<h1 class="title toc-ignore">$title$</h1>
$if(subtitle)$
<h3 class="subtitle">$subtitle$</h3>
$endif$
$for(author)$
$if(author.name)$
<h4 class="author">$author.name$</h4>
$if(author.affiliation)$
<address class="author_afil">
$author.affiliation$<br>$endif$
$if(author.email)$
<a class="author_email" href="mailto:#">$author.email$</a>
</address>
$endif$
$else$
<h4 class="author">$author$</h4>
$endif$
$endfor$
$if(date)$
<h4 class="date">$date$</h4>
$endif$
$if(abstract)$
<div class="abstract">
<p class="abstract">Abstract</p>
$abstract$
</div>
$endif$
$endif$
$if(theme)$
</div>
$endif$
$if(toc_float)$
$else$
$if(toc)$
<div id="$idprefix$TOC">
$if(toc-title)$
<h2 id="$idprefix$toc-title">$toc-title$</h2>
$endif$
$toc$
</div>
$endif$
$endif$
$body$
$for(include-after)$
$include-after$
$endfor$
$if(theme)$
$if(toc_float)$
</div>
</div>
$endif$
</div>
<script>
// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
$$('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$$(document).ready(function () {
bootstrapStylePandocTables();
});
$if(kable-scroll)$
$$(document).ready(function () {
$$('.knitsql-table').addClass('kable-table');
var container = $$('.kable-table');
container.each(function() {
// move the caption out of the table
var table = $$(this).children('table');
var caption = table.children('caption').detach();
caption.insertBefore($$(this)).css('display', 'inherit');
});
});
$endif$
</script>
<!-- tabsets -->
<script>
$$(document).ready(function () {
window.buildTabsets("$idprefix$TOC");
});
$$(document).ready(function () {
$$('.tabset-dropdown > .nav-tabs > li').click(function () {
$$(this).parent().toggleClass('nav-tabs-open');
});
});
</script>
$endif$
<!-- code folding -->
$if(code_menu)$
<script>
$$(document).ready(function () {
$if(source_embed)$
window.initializeSourceEmbed("$source_embed$");
$endif$
$if(code_folding)$
window.initializeCodeFolding("$code_folding$" === "show");
$endif$
});
</script>
$endif$
$if(toc_float)$
<script>
$$(document).ready(function () {
// temporarily add toc-ignore selector to headers for the consistency with Pandoc
$$('.unlisted.unnumbered').addClass('toc-ignore')
// move toc-ignore selectors from section div to header
$$('div.section.toc-ignore')
.removeClass('toc-ignore')
.children('h1,h2,h3,h4,h5').addClass('toc-ignore');
// establish options
var options = {
selectors: "$toc_selectors$",
theme: "bootstrap3",
context: '.toc-content',
hashGenerator: function (text) {
return text.replace(/[.\\/?&!#<>]/g, '').replace(/\s/g, '_');
},
ignoreSelector: ".toc-ignore",
scrollTo: 0
};
$if(toc_collapsed)$
options.showAndHide = true;
$else$
options.showAndHide = false;
$endif$
$if(toc_smooth_scroll)$
options.smoothScroll = true;
$else$
options.smoothScroll = false;
$endif$
// tocify
var toc = $$("#$idprefix$TOC").tocify(options).data("toc-tocify");
});
</script>
$endif$
$if(mathjax-url)$
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "$mathjax-url$";
document.getElementsByTagName("head")[0].appendChild(script);
})();
</script>
$endif$
</body>
</html>