-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
577 lines (452 loc) · 25 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Capital Structure</title>
<style>
p.comment {
background-color: #FAB57F;
padding: 10px;
border: 1px solid black;
margin-left: 25px;
border-radius: 5px;
font-style: bold;
color: black;
}
</style>
<link rel="stylesheet" href="css/reveal.css">
<!-- <link rel="stylesheet" href="css/theme/black.css"> -->
<link rel="stylesheet" href="css/theme/league.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section>
<section data-background-image="./city_skyline.jpg">
<h2>Capital Structure</h2>
<br>
<br>
<br>
<br>
<br>
<br>
</section>
<section>
<h2>Capital Structure</h2>
<br>
<p> MATT BRIGIDA </p>
<p> Associate Professor of Finance (SUNY Polytechnic Institute) & Financial Education Advisor, Milken Institute Center for Financial Markets</p>
</section>
</section>
<section data-markdown>
<textarea data-template>
<p align="left">Generally speaking, a firm can finance its assets with either debt or equity. The <b class="fragment highlight-green">proportion of debt relative to equity</b> a firm uses, is known as the firm's <b class="fragment highlight-green">capital structure</b> (aka **capital stack**).</p>
- A method to determine the <b class="fragment highlight-green">best</b> capital structure for a given firm is not known (either in theory or practice).
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- However, an understanding of the implications of given structures will <b class="fragment highlight-blue">allow financial managers to strike a reasonable balance between debt and equity</b>.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
## Modifying A Capital Structure
<p align="left">Before we talk about the firm's choice of capital structure, it is useful to know that <b class="fragment highlight-green">firms can change their capital structure</b> (known as *capital restructuring*).</p>
- To increase the debt-to-equity ratio, the firm can issue debt and then use the proceeds to buy back stock.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- Conversely, to decrease the debt-to-equity ratio, the firm can issue stock, and use the proceeds to buy back debt.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
<p align="left">Note these restructurings <b class="fragment highlight-red">do not</b> affect the firm's assets. This highlights the fact that:</p>
<p class="comment" align="center">The capital structure decision is independent of the investment decision.</p>
</textarea>
</section>
<section data-markdown>
<textarea data-template>
## Let's Take a Look
<p align="left">Before we talk further about capital structure, let's take a look at capital structures in the wild with the <b class="fragment highlight-green">following interactive app</b>.</p>
<p align="left">Click on the industry name box, and hit backspace. You can then start typing an industry's name to find it, then hit enter and it will show the average industry capital structure.</p>
</textarea>
</section>
<section data-background-image="./code_image.jpg">
<div class="stretch">
<iframe src="https://micfm.shinyapps.io/capital_structure_app3/" height="100%" width="100%"></iframe>
</div>
</section>
<section>
<style>
.fiddle iframe {
height: 100% //you can manually change this height
}
</style>
<div class="fiddle">
<script async src="https://jsfiddle.net/mbkr1/pbcvksx6/embed/result,js,html,css/dark/"></script>
</div>
</section>
<section>
<a href="http://pages.stern.nyu.edu/~adamodar/New_Home_Page/datafile/dbtreg.htm#USDebt">See here for some interesting regressions on factors affecting a firms capital structure.</a>
</section>
<!-- <section> -->
<!-- <div class="stretch"> -->
<!-- <iframe width="100%" height="300" src="https://jsfiddle.net/mbkr1/pbcvksx6/embedded/" allowfullscreen="allowfullscreen" allowpaymentrequest frameborder="0"></iframe> -->
<!-- </div> -->
<!-- </section> -->
<section data-markdown>
<textarea data-template>
<!-- ### The Goal of Financial Management -->
<p align="left">Remember, the <b class="fragment highlight-blue">Goal of Financial Management</b> is to <b class="fragment highlight-green">maximize the value of the firm's equity</b>. So the firm should seek a capital structure which does this.</p>
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- Interestingly, <b class="fragment highlight-green">maximizing the value of equity will be equivalent to maximizing the value of the whole firm</b>.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- Further, the value of the firm will be maximized when the <b class="fragment highlight-red">firm's weighted-average cost of capital (WACC) is minimized</b>. So central in our discussion will be the effect of changing the firm's capital structure on the firm's WACC.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
## Financial Leverage
<p align="left">*Leverage* refers to the use of debt in the firm's capital structure---the analogy being that debt magnifies returns just as mechanical leverage magnifies force.</p>
- In what follows we'll demonstrate the effect of leverage on the return on equity.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
## An Example of Leverage
<p align="left">Say your firm, NY Solar, has <b class="fragment highlight-blue">assets with a *market value* of \$10 million. The firm is all equity financed, and has 50,000 shares outstanding, at \$200 per share (\$10 million / 50,000)</b>.</p>
- Your firm is considering a <b class="fragment highlight-red">restructuring that will add \$5 million in debt</b> to the firm's capital structure. The debt will pay your creditors 10%.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- The proceeds from issuing \$5 million in debt can be used to <b class="fragment highlight-green">buy back 25,000 shares of stock</b> (\$5 million / \$200). There will then be 25,000 shares left outstanding.
- The firm will be <b class="fragment highlight-blue">financed with 50% debt, and 50% equity after the restructuring</b>. This means the debt-to-equity ratio is 1.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- The <b class="fragment highlight-green">stock price is unchanged by the restructuring</b>, $\frac{\$5,000,000}{25,000} = \$200$. Note, we have ignored any impact of the restrucutring on taxes.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
<p align="left">Below is a table showing the current and restructured capital structures.</p>
| | Current | Restructured |
|--------------------|--------------|--------------|
| Assets | \$10,000,000 | \$10,000,000 |
| <b class="fragment highlight-green">Equity</b> | \$10,000,000 | \$5,000,000 |
| <b class="fragment highlight-red">Debt</b> | \$0 | \$5,000,000 |
| Share Price | \$200 | \$200 |
| <b class="fragment highlight-blue">Shares Outstanding</b> | 50,000 | 25,000 |
</textarea>
</section>
<section data-markdown>
<textarea data-template>
## The Effect of Capital Structure
<p align="left">Here we investigate the effect of <b class="fragment highlight-blue">differing capital structures on the return on equity (ROE) and earnings per share (EPS)</b>. We do so in three future scenarios---<b class="fragment highlight-red">recession</b>, <b class="fragment highlight-blue">normal</b>, and <b class="fragment highlight-green">expansion</b>.</p>
- In the recession and expansion, EBIT will be 50% and 150% of the EBIT in the normal scenario respectively.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
## Current (No Debt)
| | Recession | Normal | Expansion |
|--------------|--------------|-------------|---------------|
| EBIT | \$600,000 | \$1,200,000 | \$1,800,000 |
| Interest | \$0 | \$0 | \$0 |
| Net Income | \$600,000 | \$1,200,000 | \$1,800,000 |
| ROE | 6% | 12% | 18% |
| EPS | \$12 | \$24 | \$36 |
</textarea>
</section>
<section data-markdown>
<textarea data-template>
## Restructured
| | Recession | Normal | Expansion |
|--------------|--------------|-------------|---------------|
| EBIT | \$600,000 | \$1,200,000 | \$1,800,000 |
| Interest | \$500,000 | \$500,000 | \$500,000 |
| Net Income | \$100,000 | \$700,000 | \$1,300,000 |
| ROE | 2% | 14% | 26% |
| EPS | \$4 | \$28 | \$52 |
</textarea>
</section>
<section data-markdown>
<textarea data-template>
## The Effect of Leverage
<p align="left">The above examples show the effect of leverage is to increase the variability of ROE and EPS as a function of EBIT. That is:</p>
<p class="comment">Leverage Magnifies Gains and Losses.</p>
- In the <b class="fragment highlight-green">following interactive app</b>, you can set the percent that EBIT will be increased/decreased in the expansion/recession scenarios.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- You can then calculate ROE and EPS in each scenario, given EBIT.
</textarea>
</section>
<section data-background-image="./code_image.jpg">
<div class="stretch">
<iframe src="https://micfm.shinyapps.io/capital_structure_app1/" height="100%" width="100%"></iframe>
</div>
</section>
</section>
<section data-markdown>
<textarea data-template>
## EPS, EBIT, and Debt
<p align="left">The <b class="fragment highlight-green">following interactive app</b> will plot EPS as a function of EBIT in both cases with debt and no debt.</p>
- What this app shows is how EPS benefits from debt if EBIT is above a certain point, however is lowered if EBIT is below that point. In short, leverage is good on the upside, and bad on the downside.
</textarea>
</section>
<section data-background-image="./code_image.jpg">
<div class="stretch">
<iframe src="https://micfm.shinyapps.io/capital_structure_app2/" height="100%" width="100%"></iframe>
</div>
</section>
</section>
<section data-markdown>
<textarea data-template>
## Does Capital Structure Matter?
<p align="left">From the above we see that leverage magnifies the returns to equity (on the upside and downside). So <b class="fragment highlight-blue">it would seem that the capital structure is important</b> for equity investors considering owning the stock?</p>
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- Interestigly, equity <b class="fragment highlight-green">investors may view the capital structure as irrelevant</b>. This is because the equity investors can create any capital structure they want for the firm, by borrowing or lending in their own account. This is referred to as <b class="fragment highlight-green">homemade leverage</b>.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
## An Example
<p align="left">In the following example we'll show how an equity investor can <b class="fragment highlight-blue">transform a position in the all-equity stock, into a position leveraged with a debt-to-equity ratio of 1</b>.</p>
</textarea>
</section>
<section data-markdown>
<textarea data-template>
## Creating a Leveraged Position
<p align="left">Assume an investor <b class="fragment highlight-green">wants to buy \$10,000 of the proposed restructured firm</b> (50 shares @ \$200 per share), <b class="fragment highlight-red">however the firm is presently all-equity</b>. The EPS in the restructured case is \$4, \$28, and \$52 in the recession, normal, and expansion cases.</p>
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- Now assume <b class="fragment highlight-blue">the investor buys \$20,000 of the all-equity firm (100 shares @ \$200 per share), by using \$10,000 of her own money, and \$10,000 borrowed at 10\%</b>.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- In this case the <b class="fragment highlight-blue">investor's EPS and ROE will match the EPS and ROE in the restructured case</b>. The <b class="fragment highlight-blue">investor has replicated the leveraged position herself</b>, and did not need the firm to do it.
- The only assumption needed was that the investor can borrow at the same rate as the company, which is reasonable (see margin rates on stock brokerage accounts).
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- In a similar fashion (through lending) an investor can create an all-equity firm from a leveraged firm.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
### The Modigliani and Miller (M&M) Propositions
<p align="left">The idea of <b class="fragment highlight-green">homemade leverage</b> was introduced my M&M early in their famous work (Nobel Memorial Prize winning) on capital structure. Their groundbreaking propositions are [worthy of their own presentation](http://www.5minutefinance.org/concepts/modigliani-and-miller-propositions). Be sure to check out that presentation. Briefly, their propositions are:</p>
</textarea>
</section>
<section data-markdown>
<textarea data-template>
### M&M: <b class="fragment highlight-green">No Taxes</b>
- Prop 1. The <b class="fragment highlight-green">value of the leveraged and unleveraged firms are equal</b> (capital structure irrelevance).
- Prop 2. The <b class="fragment highlight-green">cost of equity is: $R_e = R_u + \frac{D}{E}(R_u - R_d)$</b> <br>
where $R_u$ and $R_d$ are the required returns on the unlevered firm and debt, respectively.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
### M&M <b class="fragment highlight-green">with Taxes</b>
- Prop 1. The value of the <b class="fragment highlight-green">levered firm is equal to the value of the unlevered firm plus the present value of the interest tax shield</b>.
- Prop 2. The <b class="fragment highlight-green">cost of equity is: $R_e = R_u + \frac{D}{E}(R_u - R_d)(1 - \tau)$</b> <br>
where $R_u$ and $R_d$ are the required returns on the unlevered firm and debt, respectively. $\tau$ denotes the tax rate.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
### Adding the Cost of Financial Distress
<p align="left">M&M proposition II with taxes says that the firm's <b class="fragment highlight-green">WACC is decreasing in the debt-to-equity ratio</b>. However, this doesn't take into account that the more debt the firm has, the <b class="fragment highlight-red">greater the probability of financial distress</b> (or ultimate bankruptcy). Remember that interest, unlike dividends, must be paid.</p>
</textarea>
</section>
<section data-markdown>
<textarea data-template>
- <b class="fragment highlight-red">There are costs merely to financial distress, even if bankruptcy does not occur</b>, such as employees leaving, suppliers demanding up-front payments instead of allowing credit, and NPV positive investments may not be taken to preserve cash.
- Also, bankruptcy itself, if it occurs, is very costly. Legal and administrative expenses alone are substantial.
</textarea>
</section>
<section data-markdown>
<textarea data-template>
### Optimal Capital Structure
<p align="left"><b class="fragment highlight-blue">Balancing the benefit of the debt tax shield with the cost of financial distress</b>, implies the possible existence of an optimal capital structure. That doesn't mean we have a formula---only that there is evidence that such a capital structure exists.</p>
- This is the <b class="fragment highlight-blue">static trade-off theory</b>. Firm value is maximized when the marginal gain of the tax benefit equals the cost of the increased probability of financial distress.
<!-- - At this point, the value of the levered firm is maximized (the WACC is minimized). -->
</textarea>
</section>
<section>
<h3>Credits and Collaboration</h3>
<p align="left">Click the following links to see the <a href="https://github.com/Matt-Brigida/5mf-capital-structure/blob/master/index.html">code</a>, <a href="https://github.com/Matt-Brigida/5mf-capital-structure/blame/master/index.html">authors of this presentation</a>.</p>
<p align="left">If you would like to make any additions or corrections to this presentation, feel free to issue a pull request!</p>
</section>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
transition: 'convex',
<!-- menu: { -->
<!-- // Specifies which side of the presentation the menu will -->
<!-- // be shown. Use 'left' or 'right'. -->
<!-- side: 'left', -->
<!-- // Add slide numbers to the titles in the slide list. -->
<!-- // Use 'true' or format string (same as reveal.js slide numbers) -->
<!-- numbers: false, -->
<!-- // Specifies which slide elements will be used for generating -->
<!-- // the slide titles in the menu. The default selects the first -->
<!-- // heading element found in the slide, but you can specify any -->
<!-- // valid css selector and the text from the first matching -->
<!-- // element will be used. -->
<!-- // Note: that a section data-menu-title attribute or an element -->
<!-- // with a menu-title class will take precedence over this option -->
<!-- titleSelector: 'h1, h2, h3, h4, h5, h6', -->
<!-- // If slides do not have a matching title, attempt to use the -->
<!-- // start of the text content as the title instead -->
<!-- useTextContentForMissingTitles: false, -->
<!-- // Hide slides from the menu that do not have a title. -->
<!-- // Set to 'true' to only list slides with titles. -->
<!-- hideMissingTitles: false, -->
<!-- // Add markers to the slide titles to indicate the -->
<!-- // progress through the presentation -->
<!-- markers: false, -->
<!-- // Specify custom panels to be included in the menu, by -->
<!-- // providing an array of objects with 'title', 'icon' -->
<!-- // properties, and either a 'src' or 'content' property. -->
<!-- custom: false, -->
<!-- // Specifies the themes that will be available in the themes -->
<!-- // menu panel. Set to 'false' to hide themes panel. -->
<!-- themes: [ -->
<!-- { name: 'Black', theme: 'css/theme/black.css' }, -->
<!-- { name: 'White', theme: 'css/theme/white.css' }, -->
<!-- { name: 'League', theme: 'css/theme/league.css' }, -->
<!-- { name: 'Sky', theme: 'css/theme/sky.css' }, -->
<!-- { name: 'Beige', theme: 'css/theme/beige.css' }, -->
<!-- { name: 'Simple', theme: 'css/theme/simple.css' }, -->
<!-- { name: 'Serif', theme: 'css/theme/serif.css' }, -->
<!-- { name: 'Blood', theme: 'css/theme/blood.css' }, -->
<!-- { name: 'Night', theme: 'css/theme/night.css' }, -->
<!-- { name: 'Moon', theme: 'css/theme/moon.css' }, -->
<!-- { name: 'Solarized', theme: 'css/theme/solarized.css' } -->
<!-- ], -->
<!-- // Specifies if the transitions menu panel will be shown. -->
<!-- transitions: true, -->
<!-- // Adds a menu button to the slides to open the menu panel. -->
<!-- // Set to 'false' to hide the button. -->
<!-- openButton: true, -->
<!-- // If 'true' allows the slide number in the presentation to -->
<!-- // open the menu panel. The reveal.js slideNumber option must -->
<!-- // be displayed for this to take effect -->
<!-- openSlideNumber: false, -->
<!-- // If true allows the user to open and navigate the menu using -->
<!-- // the keyboard. Standard keyboard interaction with reveal -->
<!-- // will be disabled while the menu is open. -->
<!-- keyboard: true, -->
<!-- // Normally the menu will close on user actions such as -->
<!-- // selecting a menu item, or clicking the presentation area. -->
<!-- // If 'true', the sticky option will leave the menu open -->
<!-- // until it is explicitly closed, that is, using the close -->
<!-- // button or pressing the ESC or m key (when the keyboard -->
<!-- // interaction option is enabled). -->
<!-- sticky: false, -->
<!-- // If 'true' standard menu items will be automatically opened -->
<!-- // when navigating using the keyboard. Note: this only takes -->
<!-- // effect when both the 'keyboard' and 'sticky' options are enabled. -->
<!-- autoOpen: true, -->
<!-- // If 'true' the menu will not be created until it is explicitly -->
<!-- // requested by calling RevealMenu.init(). Note this will delay -->
<!-- // the creation of all menu panels, including custom panels, and -->
<!-- // the menu button. -->
<!-- delayInit: false, -->
<!-- // By default the menu will load it's own font-awesome library -->
<!-- // icons. If your presentation needs to load a different -->
<!-- // font-awesome library the 'loadIcons' option can be set to false -->
<!-- // and the menu will not attempt to load the font-awesome library. -->
<!-- loadIcons: true -->
<!-- }, -->
<!-- uncomment the below section, and the two lines in the dependencies below, to turn on audio -->
<!-- audio: { -->
<!-- prefix: 'audio/', // audio files are stored in the "audio" folder -->
<!-- suffix: '.wav', // audio files have the ".ogg" ending --- changed to wav -->
<!-- textToSpeechURL: null, // the URL to the text to speech converter -->
<!-- defaultNotes: false, // use slide notes as default for the text to speech converter -->
<!-- defaultText: false, // use slide text as default for the text to speech converter -->
<!-- advance: 0, // advance to next slide after given time in milliseconds after audio has played, use negative value to not advance -->
<!-- autoplay: false, // automatically start slideshow -->
<!-- defaultDuration: 5, // default duration in seconds if no audio is available -->
<!-- playerOpacity: 0.05, // opacity value of audio player if unfocused -->
<!-- playerStyle: 'position: fixed; bottom: 4px; left: 25%; width: 50%; height:75px; z-index: 33;', // style used for container of audio controls -->
<!-- startAtFragment: false, // when moving to a slide, start at the current fragment or at the start of the slide -->
<!-- }, -->
<!-- end audio section -->
chalkboard: {
src: null,
readOnly: undefined,
toggleChalkboardButton: { left: "90px", bottom: "30px", top: "auto", right: "auto" },
toggleNotesButton: { left: "150px", bottom: "30px", top: "auto", right: "auto" },
},
math: {
mathjax: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js',
config: 'TeX-AMS_HTML-full' // See http://docs.mathjax.org/en/latest/config-files.html
},
dependencies: [
{ src: 'plugin/math/math.js', async: true },
<!-- { src: 'plugin/audio-slideshow/slideshow-recorder.js', condition: function( ) { return !!document.body.classList; } }, -->
<!-- { src: 'plugin/audio-slideshow/audio-slideshow.js', condition: function( ) { return !!document.body.classList; } }, -->
{ src: 'plugin/markdown/marked.js' },
{ src: 'plugin/markdown/markdown.js' },
{ src: 'plugin/menu/menu.js' },
{ src: 'plugin/notes/notes.js', async: true },
<!-- { src: 'node_modules/reveal.js-menu/menu.js' }, -->
{ src: 'plugin/chalkboard/chalkboard.js' },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
],
keyboard: {
67: function() { RevealChalkboard.toggleNotesCanvas() }, // toggle notes canvas when 'c' is pressed
66: function() { RevealChalkboard.toggleChalkboard() }, // toggle chalkboard when 'b' is pressed
46: function() { RevealChalkboard.clear() }, // clear chalkboard when 'DEL' is pressed
8: function() { RevealChalkboard.reset() }, // reset chalkboard data on current slide when 'BACKSPACE' is pressed
68: function() { RevealChalkboard.download() }, // downlad recorded chalkboard drawing when 'd' is pressed
82: function() { Recorder.toggleRecording(); }, // press 'r' to start/stop recording
90: function() { Recorder.downloadZip(); }, // press 'z' to download zip containing audio files
84: function() { Recorder.fetchTTS(); }, // press 't' to fetch TTS audio files
},
});
</script>
</body>
</html>