generate_blocks_tex_file - create main tex file of block
generate_blocks_tex_file(lisf,flag,lang)
- lisf : string. the name of the interfacing function of a scicos block (extension free)
- flag : string. set the type of tex files to produce
- 'html' : to produce tex file for html format
- 'guide' : to produce tex for file paper format
- lang : string. set the lang of tex file
- 'eng' : to produce english man page
- 'fr' : to produce french man page
//generate_blocks_tex_file(lisf(i,1),lisf(i,2),flag)
//
//Fonction qui génère le fichier tex principal
//d'un block scicos
//Entrée : lisf : Nom de la fonction
// flag : 'html' pour générer une page d'aide html
// 'guide' pour générer un page d'aide ps
// lang : 'eng pour de l'anglais (default)
// 'fr' pour du français
function generate_blocks_tex_file(lisf,flag,lang)
//verify the 'lang' right parameter
[lsh,rsh]=argn(0)
if rsh<3 then
if ~exists('lang') then
lang='eng'
elseif lang<>'eng' & lang<>'fr' then
lang='eng'
end
end
//Generate auxiliary tex files
lisf=generate_aux_tex_file(lisf,'block',flag,lang);
//define title of paragraph
tt_title=[
'' //tt1 : header du fichier tex
'' //tt2 : figure du block (.eps)
'Palette' //tt3 : Palette
'Theorical background' //tt4 : Theorical background (_theo_bkg)
'Technical background' //tt5 : Technical background (_tec_bkg)
'Description' //tt6 : Description (_long)
'Algorithm' //tt7 : Algorithm (_algo)
'Super block equivalent model' //tt8 : Figure du super block equivalent (sblock_equiv)
'Scilab script/function equivalent Model' //tt9 : Scilab script equivalent (sci_equiv)
'Dialog box' //tt10 : Dialog box (_dial_box,_param)
'Example' //tt11 : Example (_ex)
'Default properties' //tt12 : Default properties (_def_prop)
'Interfacing function' //tt13 : Interfacing function
'Computational function' //tt14 : Computational function (_comput_fun)
'Used functions' //tt15 : Used functions (_used_func)
'Pair Block' //tt16 : Pair Block (_pair_blk)
'See also' //tt17 : See Also (_see_also)
'Authors' //tt18 : Authors (_authors)
'Bibliography' //tt19 : Bibliography (_bib)
'' //tt20 : End of tex file
]
//change language of title
if lang=='fr' then
tt_title=change_lang_title(lang,tt_title);
end
//define level of paragraph
if flag=='html' then
tex_title='\subsection{'+tt_title+'}'
else
tex_title='\subsection{'+tt_title+'}'
end
for i=1:size(lisf,1) //for each file
for j=1:20 execstr('tt'+string(j)+'=[]'),end //for each paragraph
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_blocks.tex')<>[] then //figure block
tt2=['\input{'+lisf(i,1)+'_blocks}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_theo_bkg.tex')<>[] then //Theorical background
tt4=[tex_title(4)
'\input{'+lisf(i,1)+'_theo_bkg}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_tec_bkg.tex')<>[] then //Technical backgroung
tt5=[tex_title(5)
'\input{'+lisf(i,1)+'_tec_bkg}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_long.tex')<>[] then //Description
tt6=[tex_title(6)
''
'\input{'+lisf(i,1)+'_long}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_algo.tex')<>[] then //Algorithm
tt7=[tex_title(7)
'\input{'+lisf(i,1)+'_algo}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_sblock_equiv.tex')<>[] then //Super Block
tt8=[tex_title(8)
'\input{'+lisf(i,1)+'_sblock_equiv}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_sci_equiv.tex')<>[] then //Scilab script
tt9=[tex_title(9)
'\input{'+lisf(i,1)+'_sci_equiv}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_dial_box.tex')<>[] then //Dialog box
tt10=[tex_title(10)
'\input{'+lisf(i,1)+'_dial_box}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_param.tex')<>[] then //Parameters
tt10=[tt10;'';'\input{'+lisf(i,1)+'_param}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_ex.tex')<>[] then //Example
tt11=[tex_title(11)
'\input{'+lisf(i,1)+'_ex}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_comput_func.tex')<>[] then //Computational Function
tt14=['\input{'+lisf(i,1)+'_comput_func}'] //Warning!
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_used_func.tex')<>[] then //Used function
tt15=[tex_title(15)
'\input{'+lisf(i,1)+'_used_func}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_pair_blk.tex')<>[] then //Pair Block
tt16=[tex_title(16)
'\input{'+lisf(i,1)+'_pair_blk}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_see_also.tex')<>[] then //See Also
tt17=[tex_title(17)
'\input{'+lisf(i,1)+'_see_also}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_bib.tex')<>[] then //bibliography
tt19=['\input{'+lisf(i,1)+'_bib.tex}']
end
////////////////////
///paper
////////////////////
if flag=='guide' then
tt1=['\section{'+latexsubst(lisf(i,1))+' - '+...
latexsubst(lisf(i,2))+'}\label{'+lisf(i,1)+'}'] //Header of tex file
PalName=return_rpordoef(tt_ml,lisf(i,1)+'.sci')
if PalName<>[] then //Palette
tta=return_xml_sdesc(xml_path+lang+'/'+PalName+'.xml')
else
tta=[];
end
tt3=['\begin{itemize}';
'\item \textbf{'+tt_title(3)+' :} '+PalName+'.cosf - '+tta; //Palette on pout rajouter un \ref{} ici!
'\item \textbf{'+tt_title(13)+' :} \tt '+latexsubst(lisf(i,1))+'.sci'; //fonction d'interface
'\end{itemize}';]
////////////////////
///html
////////////////////
elseif flag=='html' then
if lang=='fr' then //Header of tex file
tt1=['\documentclass[11pt,frenchb]{article}']
else
tt1=['\documentclass[11pt]{article}']
end
tt1=[tt1;
'\usepackage{makeidx,graphics,fullpage}'
'\usepackage{verbatim,times,amsmath,amssymb,epsfig,color}'
'\usepackage{html}'
'\begin{document}']
if lang=='fr' then
tt1=[tt1;'\begin{center}Bloc Scicos\\']
else
tt1=[tt1;'\begin{center}'+lisf(i,3)+'\\']
end
tt1=[tt1
'\htmladdnormallink{eng}{../eng/'+lisf(i,1)+'.htm}\hspace{2mm}-'+...
'\hspace{2mm}\htmladdnormallink{fr}{../fr/'+lisf(i,1)+'.htm}}'
'\end{center}'];
tt1=[tt1;'\section{'+latexsubst(lisf(i,2))+'}\label{'+lisf(i,1)+'}']
tt2=[tt2;'\tableofcontents'] //table of contents
PalName=return_rpordoef(tt_ml,lisf(i,1)+'.sci')
if PalName<>[] then //Palette
tta=return_xml_sdesc(xml_path+lang+'/'+PalName+'.xml')
tt3=[tex_title(3)
'\begin{itemize}']
//if flag=='html' then
tt3=[tt3;'\item{\htmladdnormallink{'+PalName+'.cosf - '+tta+'}{'+PalName+'.htm}}']
// else
// tt3=[tt3;'\item{'+PalName+'.cosf - '+tta+'}'] //on pout rajouter un \ref{} ici!
// end
tt3=[tt3;'\end{itemize}']
end
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_def_prop.tex')<>[] then //Defaults Properties
tt12=[tex_title(12)
'\input{'+lisf(i,1)+'_def_prop}']
end
tt13=[tex_title(13) //Interfacing Function
'{\tt '+latexsubst(lisf(i,1))+'.sci}']
if fileinfo(lisf(i,1)+'/'+lisf(i,1)+'_authors.tex')<>[] then //Authors
tt18=[tex_title(18)
'\input{'+lisf(i,1)+'_authors}']
end
tt20=['\htmlinfo*';'\end{document}']
end
//Write the main tex file of block
txt=[]
for j=1:20 txt=[txt;evstr('tt'+string(j))], end
mputl(txt,lisf(i,1)+'/'+lisf(i,1)+'.tex');
end
endfunction
IRCOM Group
Alan Layec