NICE!

  I cannot test it right now, but I'll give it a try soon and see if it can
be committed, i.e. if it doesn't break anything. I'm of course assuming you
already checked, but if I want to keep my commit privileges I must say I'm
checking anyway ;-D. Anyway, it seems fine.

  Thank you!
________________
Miguel de  Benito.


On Fri, Jul 1, 2011 at 11:38, Sam Liddicott <s...@liddicott.com> wrote:

>
> And I changed my preview command to:
>
> bash -c ' ps2pdf "$0" "$0.pdf" && evince "$0.pdf" '
>
> which happens to also demonstrate a nice bash trick - useful to prevent
> injection attacks when using the "system" command - particularly useful from
> java...
>
> You build up the command using parameters $0 $1 etc, and then pass these as
> arguments to the system command. Any quotes or spaces in the arguments are
> harmless!
>
> Sam
>
>
> On 01/07/11 10:20, Sam Liddicott wrote:
>
>> Attached is a patch that provides hyperlink support when the file is
>> exported to ps and then converted to pdf using ps2pdf.
>>
>> No external style sheets are needed.
>>
>> After patching and re-building you WILL need to:
>>
>> texmacs --delete-style-cache
>>
>> once, or within texmacs click on "tools, updates, styles"
>>
>> The only problem I am aware of is that the link generally moves to the top
>> of the target page (or bottom, if it is the last page) instead of the
>> correct part of the target page.
>>
>> labels have a new internal definition and are implemented as a locus
>> containing a link of type "anchor" in which the id is written as a named
>> destination in postscript.
>> (In fact the ID is always written as a named destination even for
>> non-anchor links, which probably doesn't matter).
>>
>> The body of the locus is the original label definition so it should all
>> work fine I hope.
>>
>> (Let me know if labels behave badly).
>>
>> best regards
>>
>> Anyone want to review this, or commit this to the main project?
>>
>> Sam
>>
>>
>> On 30/06/11 20:55, Sam Liddicott wrote:
>>
>>>
>>>
>>> I think I'm abusing locus a little too much and it's not robust.
>>>
>>> I think I need to change the definition of reference:
>>>
>>>  env ("reference")= tree (MACRO, "Id",
>>>                           tree (LOCUS, copy (ref_id), ln3, reftxt));
>>>
>>> and replace reftxt with something like
>>> tree(DECORATE_LINK, tree(ARG, "Id"), refrext);
>>>
>>> And DECORATE_LINK will work something like datoms but emit the right
>>> postscript.
>>>
>>> This can be a general way for annotating a box with hidden postscript.
>>>
>>> Sam
>>>
>>> On 30/06/11 17:57, Sam Liddicott wrote:
>>>
>>>>
>>>>
>>>> I've decided to extend the built-in label macro to also contain a
>>>> special locus that will generate the pdfmark for a named destination 
>>>> (anchor
>>>> to html people).
>>>>
>>>> I've already got my hackery in place for locus, so spotting a new kind
>>>> should be easy enough.
>>>>
>>>> I hope to post the full patch sometime tomorrow.
>>>>
>>>> (Sadly it only works for postscript -> pdf and not new pdf rendering).
>>>>
>>>> Sam
>>>>
>>>> On 30/06/11 12:21, Sam Liddicott wrote:
>>>>
>>>>>
>>>>>
>>>>> On 29/06/11 19:54, marc lalaude-labayle wrote:
>>>>>
>>>>>> I follow your posts about this feature and really hopes you'll achieve
>>>>>> to add this one to texmacs.
>>>>>>
>>>>>
>>>>> I've done it.
>>>>> It's hell.
>>>>>
>>>>> B the time a <reference> is rendered it's a locus and knowledge that it
>>>>> was a reference has gone, and the actual reference value is hard 9for me) 
>>>>> to
>>>>> get hold of.
>>>>> However I've got the locus rendering to emit the required pdfmark, and
>>>>> that's hacky but works.
>>>>> Joris may have something to say.
>>>>> I would rather have done this as a <specific printer> macro but I have
>>>>> no knowledge of the bounding rect which is needed.
>>>>>
>>>>> However, a <label> is not actually rendered so there is nowhere for me
>>>>> to overload to add the pdfmark to the postscript.
>>>>>
>>>>> Based on my hacking of <specific|printer<image|<**
>>>>> tuple|<raw-data|magic-macro>..**. I'm emitting the pdfmark stuff for
>>>>> the label.
>>>>> (It's very slow generating the post-script).
>>>>>
>>>>> Anyway, it works - although I have to override the label macro to emit
>>>>> this.
>>>>>
>>>>> The downsides are:
>>>>> 1. hackyness
>>>>> 2. slow - I need to have the label rendered directly or find some
>>>>> better means of injecting post-script
>>>>> 3. despite me trying to do do the label's properly (in postscript) the
>>>>> link-targets just seem to be to "the page" rather that the right part of 
>>>>> the
>>>>> page, so I'll have to see what I did wrong there.
>>>>>
>>>>>
>>>>>
>>>>> Sam
>>>>>
>>>>>
>>>>>> Marc
>>>>>>
>>>>>> 2011/6/29 Sam Liddicott <s...@liddicott.com <mailto:s...@liddicott.com
>>>>>> >>
>>>>>>
>>>>>>
>>>>>>    Wow, I'm nearly there.
>>>>>>
>>>>>>    Using post_display on locus_box_rep I can blot out a hyperlink!
>>>>>>
>>>>>>    So I'm just adding the anchor and href methods to the renderer
>>>>>> class.
>>>>>>
>>>>>>    Sam
>>>>>>
>>>>>>
>>>>>>    On 28/06/11 18:15, Sam Liddicott wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>        I'm determined to add PDF hyperlink support to texmacs.
>>>>>>
>>>>>>        This post-script can be inserted wherever a <label> is
>>>>>> rendered:
>>>>>>
>>>>>>        [ /Dest (LABEL-ID-HERE) cvn /View [/XYZ null null null] /DEST
>>>>>>        pdfmark
>>>>>>
>>>>>>        I've found the point at which the label is rendered but
>>>>>>        because it has no real appearance of it's own I've still got
>>>>>>        to poke my way through to the printer_rep layer.
>>>>>>
>>>>>>        This post-script can be inserted wherever a reference appears,
>>>>>>        by which I mean a certain type of LOCUS.
>>>>>>
>>>>>>        [
>>>>>>        /Rect [ .. ..... .. ]
>>>>>>        /Border [16 16 1 [3 10]]
>>>>>>        /Color [1 0 0]
>>>>>>        /Dest (LABEL-ID-HERE) cvn
>>>>>>        /Subtype /Link
>>>>>>        /ANN pdfmark
>>>>>>
>>>>>>        The rect coordinates are the same as used when rendering the
>>>>>>        locus with mouse-over so that it shows a green box.
>>>>>>
>>>>>>        I've tested the post-script by hand-editing files and it does
>>>>>>        work.
>>>>>>
>>>>>>        I'm sure that I get to do this somewhere around the final
>>>>>>        print statement in concater_rep::typeset_locus file
>>>>>>        concat_active.cpp but I still can't make the link between that
>>>>>>        point and the printer_rep renderer, unless concat_active is a
>>>>>>        subclass which I doubt.
>>>>>>
>>>>>>        So right now I'm trying to track down what locus_box does. I
>>>>>>        see it in change_boxes.cpp but am no closer to finding the
>>>>>>        point at which printer_rep's print() is invoked or where the
>>>>>>        green rect coords are kept, but I hope to find it soon.
>>>>>>
>>>>>>
>>>>>>        I'm both cases LABEL-ID-HERE has to have weird symbols in
>>>>>>        octal with \, and \ ( ) escaped by \
>>>>>>
>>>>>>        This is taking me HOURS so if anyone who knows the C better
>>>>>>        than me wants to speak out, please do.
>>>>>>
>>>>>>        Sam
>>>>>>
>>>>>>        ______________________________**_________________
>>>>>>        Texmacs-dev mailing list
>>>>>>        Texmacs-dev@gnu.org <mailto:Texmacs-dev@gnu.org>
>>>>>>        
>>>>>> https://lists.gnu.org/mailman/**listinfo/texmacs-dev<https://lists.gnu.org/mailman/listinfo/texmacs-dev>
>>>>>>
>>>>>>
>>>>>>
>>>>>>    --     [FSF Associate Member #2325]
>>>>>> <http://www.fsf.org/register_**form?referrer=2325<http://www.fsf.org/register_form?referrer=2325>
>>>>>> >
>>>>>>
>>>>>> <http://www.openrightsgroup.**org/ <http://www.openrightsgroup.org/>>
>>>>>>
>>>>>>
>>>>>>    ______________________________**_________________
>>>>>>    Texmacs-dev mailing list
>>>>>>    Texmacs-dev@gnu.org <mailto:Texmacs-dev@gnu.org>
>>>>>>    
>>>>>> https://lists.gnu.org/mailman/**listinfo/texmacs-dev<https://lists.gnu.org/mailman/listinfo/texmacs-dev>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ______________________________**_________________
>>>>>> Texmacs-dev mailing list
>>>>>> Texmacs-dev@gnu.org
>>>>>> https://lists.gnu.org/mailman/**listinfo/texmacs-dev<https://lists.gnu.org/mailman/listinfo/texmacs-dev>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
> --
> [FSF Associate Member #2325] <http://www.fsf.org/register_**
> form?referrer=2325 <http://www.fsf.org/register_form?referrer=2325>>
>
> <http://www.openrightsgroup.**org/ <http://www.openrightsgroup.org/>>
>
> ______________________________**_________________
> Texmacs-dev mailing list
> Texmacs-dev@gnu.org
> https://lists.gnu.org/mailman/**listinfo/texmacs-dev<https://lists.gnu.org/mailman/listinfo/texmacs-dev>
>
_______________________________________________
Texmacs-dev mailing list
Texmacs-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/texmacs-dev

Reply via email to