[Gambas-devel] RFC: component LATEX2

Julio Sanchez jusabejusabe at ...176...
Fri Aug 23 19:38:59 CEST 2013


Hello Tobi

"2) You depend on pandoc for the conversions..."
Only used Pandoc when converting odt or rtf.
To create pdf needless.

"3) You cannot just save shell scripts under /tmp and execute them. This is
a
   security risk (depending on your users' umask). Even though, you Chmod
   them correctly, there is still a race condition involved."
I have already resolved in the latest version, do not use script.
We perform with the command Shell

As I see that there are many changes to be made, I will upload the google
code project (both the component and the example), for there to be modifying
ye the things I mentioned, to better control the versions so and so go
improving
it.

Thanks for the comments.

Julio



2013/8/23 Julio Sanchez <jusabejusabe at ...176...>

> Hello Fabien:
>
>
> "What do you mean ?"
> I uploaded a new version with those changes
>
> New Download:
> code tar.gz: https://app.box.com/s/yhioaqx1u7ags9zy4l88
> .deb: https://app.box.com/s/ximes52mi8xu10v8zk7u
>
> Download new test:  https://app.box.com/s/x106l0f6of33c7awukck
>
> Regards,
> Julio
>
>
>
>
> 2013/8/23 Tobias Boege <tobias at ...692...>
>
>> On Thu, 22 Aug 2013, Julio Sanchez wrote:
>> > Hello, my name is Julio Sanchez Berro (jsbsan alia), I attached a
>> > component that
>> > I made to create reports. Generates both TEX files (latex) and PDF.
>> >
>> > You can create reports RTF and ODT, gridviews content of queries and
>> > databases, which can be modified by libreoffice, for example.
>> >
>> > For if it considers, is added in future version gambas3.
>> >
>> > Here you are download links and a short video so you can see what you
>> can
>> > get with component latex2
>> >
>> > Download:
>> >      component: https://app.box.com/s/8x4a1k2bjw75cknulmzy
>> >      test: https://app.box.com/s/mydi385uslwlkxg1v697
>> >
>> > VideoTutorial:
>> >      http://youtu.be/6fWUFGOT-tQ
>> >
>> > I have two questions:
>> > 1) When I create a program that makes use of the new component, to
>> create
>> > the installation package. DEB siquiente get the error:
>> > https://app.box.com/s/mg75jawunxftlvgsoy8p
>> >
>> > 2) Latex component classes, methods are discussed, to help the user.
>> > Leaving the
>> > aid when used. But when added to a new project, that helps not appear:
>> > https://app.box.com/s/phm89rjjng14pt24gmo9
>> > https://app.box.com/s/lh5pj2oens064baoezt7
>> >
>> >
>> > Best Regards
>> >
>> > Note:
>> > Forgive my English, but not much and helps me google translate
>>
>> My comments focus on the LaTeX part mainly as I don't know much about .odt
>> and don't care about .rtf ;-)
>>
>> Nice idea. However, there are three things I don't like:
>>
>> 1) The component is only marginally object-oriented, like Fabien already
>>    pointed out. I mean, the idea to let the user programmatically
>> construct
>>    a LaTeX document is a pretty good one but you should keep track of the
>>    document structure and then be able to modify it (to some extent)
>>    afterwards.
>> 2) You depend on pandoc for the conversions and some LaTeX packages which
>>    people may not have installed. The least duty you have is to say what
>>    LaTeX packages one needs. (And man, I just checked out pandoc and it's
>>    1 GiB when installed under Arch Linux on my machine. Is it worth the
>>    effort to just create .odt and .rtf? Can't you just export the .tex and
>>    let the user, if he so desires, convert .tex to .odt or .rtf?)
>> 3) You cannot just save shell scripts under /tmp and execute them. This
>> is a
>>    security risk (depending on your users' umask). Even though, you Chmod
>>    them correctly, there is still a race condition involved.
>>
>> Oh, and I need to say that I didn't understand most of the code because
>> your
>> naming is spanish (I think). I don't know what most variables signify.
>> While
>> I'm at naming, don't prepend "Class" before a class name. I.e. you name a
>> class "_ClassBox.class" but from the file extension, it is already clear
>> that it is a class, so just name it "_Box" or "_LatexBox" if you fear name
>> conflicts.
>>
>> Not to say that the interface needs polishing. Just look at
>> _ClassBox:MessageBox(). Its 'itype' parameter needs symbolic constants.
>> The
>> user likes to give
>>
>> box.MessageBox("some text", box.Oval)
>>
>> instead of
>>
>> box.MessageBox("some text", 3)
>>
>> And the symbols need to follow the Pascal naming convention.
>>
>> Also some random things I encountered:
>> - Don't include spanish comments (or comments at all) in the documents
>> your
>>   component generates (Latex:InitDoc()).
>> - I don't think functions like Latex:QueryResultTableDB() or
>>   Latex:TableGridViews() really belong to the LaTeX class. They just make
>>   your component depend on gb.db and gb.form for some very special tasks.
>>   latex2 should be usable without databases and a graphical system. So
>>   instead, take the code out of there and write an example project to show
>>   how it could be done.
>> - _ClassVerbatin is clearly mis-named with the "n" at the end. The
>>   corresponding variable in _ClassEnvironment is also mis-named.
>> - Not everyone has "evince" installed (LatexHelper:compilePDF()). Just
>> don't
>>   launch PDF viewers from a component.
>> - Returning an error string where a file name would be expected is not a
>>   sane way of reporting errors (again in LatexHelper:compilePDF() and some
>>   others). Your error message could equivalently well be file names.
>> You'll
>>   have to use Error.Raise().
>>
>> IMHO, the component also lacks some generic functions like
>>
>> Latex.BeginEnvironment(sEnv As String, ...)
>>
>> where you would then write
>>
>> \begin{sEnv}[...]
>>
>> Use the Param class to access the variable argument list.
>>
>> I hope this isn't too much or too unordered.
>>
>> Regards,
>> Tobi
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Introducing Performance Central, a new site from SourceForge and
>> AppDynamics. Performance Central is your source for news, insights,
>> analysis and resources for efficient Application Performance Management.
>> Visit us today!
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Gambas-devel mailing list
>> Gambas-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gambas-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/devel/attachments/20130823/90cc32d6/attachment.html>


More information about the Devel mailing list