Action TEX


Si vous ne pouvez pas installer ce qu'il faut sur votre serveur pour faire fonctionner les formules TEX (ForumulesMathExemple), une autre solution pourra vous permettre de créer vos formules dans le wiki.

Aide à propos de TEX: http://refcards.com/docs/silvermanj/tex/tex-refcard-letter.pdf

L'action se nomme «tex» et on a à entrer une formule mathématique sous forme TEX dans le critère f.

Exemple: {{tex f="\Delta{y}=y_i+v_{yi}t+\frac{1}{2}at^2"}}

donne:
tex



L'action utilise cet API de Google: https://developers.google.com/chart/infographics/docs/formulas


Code de l'action:
<?php
if (empty($vars['f'])) {echo "Pas de crit&egrave;re f!";}

else {
	$txt=$vars['f'];
	if ($vars['class']=="") { $laclass="nul";} else  {$laclass="attach_".$vars['class'];}
	$urlmst = $this->config[url_site];

	if (!function_exists("tex"))

	{
	/**
	* Filtre pour générer un QRCode à partir d'un texte
	*/
		function tex ( $txt, $dim=120 )
		{
			// S'il existe pas on crée le répertoire qui va accueillir nos QRCodes
			if ( !is_dir("cache-tex/" ) )
			{                                     
				if ( !mkdir ( "cache-tex/", 0775 ) )
				{ 
					return "impossible de creer le repertoire" ;
				}
		}
			
			// l'url du service web de Google qui va bien
			$url = 'http://chart.apis.google.com/chart';
			// On colle dans un tableau les arguments pour la requÃ&#131;¨te
			$args = array(	"cht"=>"tx",
						
							"chl"=>rawurldecode(urlencode($txt)) 
							);
			// On crée le context pour la requÃ&#131;¨te
			$context = stream_context_create( array( 
				'http' => array( 
					'method' => 'POST',
					'content' => http_build_query($args)
					)
				)
			);
			
			// Ici on va générer un nom et un chemin pour notre fichier final
		$hash    = md5(serialize($txt));
		$fichier = "cache-tex/qrcode-$hash.png";

			// Si notre fichier n'existe pas on requÃ&#131;¨te le service et on crée le fichier
			if ( !is_file( $fichier ) ){
				file_put_contents( $fichier, file_get_contents( $url, false, $context ) );
			}
			
			// On retourne un tag image avec la source qui va bien
			//return "<img src=\"$fichier\" alt='qrcode' width='$dim' height='$dim' class='middle' />";
			return "$fichier";
		}

	}

	$fichier= tex($txt);
	echo "<div class='$laclass'>";
	echo "<img src=\"".$urlmst."$fichier\" alt='tex' class='middle' />";
	echo "</div>";
}
?>



tex

 
IMP :: RSS :: HTML :: TXT :: Clone :: Historique :: Propriétaire : PierreLachance