ソースを参照

mathjax plugin updates #531

Hakim El Hattab 10 年 前
コミット
b17e285164
2 ファイル変更14 行追加13 行削除
  1. 2 2
      examples/math.html
  2. 12 11
      plugin/math/math.js

+ 2 - 2
examples/math.html

@@ -182,8 +182,8 @@
 				transition: 'linear',
 
 				math: {
-					// host: 'http://cdn.mathjax.org/mathjax/latest/MathJax.js',
-					mode: 'TeX-AMS_HTML-full'
+					// mathjax: 'http://cdn.mathjax.org/mathjax/latest/MathJax.js',
+					dialect: 'TeX-AMS_HTML-full'
 				},
 
 				dependencies: [

+ 12 - 11
plugin/math/math.js

@@ -7,25 +7,26 @@
 var RevealMath = window.RevealMath || (function(){
 
 	var config = Reveal.getConfig().math || {};
-	config.host = config.host || 'http://cdn.mathjax.org/mathjax/latest/MathJax.js';
-	config.mode = config.mode || 'TeX-AMS_HTML-full';
+	config.mathjax = config.mathjax || 'http://cdn.mathjax.org/mathjax/latest/MathJax.js';
+	config.dialect = config.dialect || 'TeX-AMS_HTML-full';
 
-	loadScript( config.host + '?config=' + config.mode, function() {
+	loadScript( config.mathjax + '?config=' + config.dialect, function() {
 
 		MathJax.Hub.Config({
 			messageStyle: 'none',
-			tex2jax: { inlineMath: [['$','$'],['\\(','\\)']] }
+			tex2jax: { inlineMath: [['$','$'],['\\(','\\)']] },
+			skipStartupTypeset: true
 		});
 
-		// Process any math inside of the current slide when navigating,
-		// this is needed since it's not possible to typeset equations
-		// within invisible elements (far future or past).
+		// Typeset followed by an immediate reveal.js layout since
+		// the typesetting process could affect slide height
+		MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub ] );
+		MathJax.Hub.Queue( Reveal.layout );
+
+		// Reprocess equations in slides when they turn visible
 		Reveal.addEventListener( 'slidechanged', function( event ) {
 
-			// This will only typeset equations that have not yet been
-			// processed, as well as equations that have change since
-			// last being processed.
-			MathJax.Hub.Update( event.currentSlide );
+			MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, event.currentSlide ] );
 
 		} );