emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] pxref in texinfo export


From: Subhan Tindall
Subject: Re: [O] pxref in texinfo export
Date: Mon, 25 Feb 2013 10:40:55 -0800

There are 4 different ref commands, all with slightly syntactic
requirements and outputs when compiled using makeinfo.  I for one use
@pxref{} a lot, and it has different requirements for placement than
@ref or @xref (namely those two MUST have a . or , following the end
of the ref)
8.1 Different Cross Reference Commands
There are four different cross reference commands:
@xref Used to start a sentence in the printed manual saying ‘See . . .
’ or an Info
         cross-reference saying ‘*Note name : node.’.
@ref Used within or, more often, at the end of a sentence; same as
@xref for Info;
    produces just the reference in the printed manual without a preceding ‘See’.
@pxref Used within parentheses to make a reference that suits both an
Info file and a
        printed book. Starts with a lower case ‘see’ within the
printed manual. (‘p’ is
               for ‘parenthesis’.)
@inforef Used to make a reference to an Info file for which there is
no printed manual.

(from the Texinfo manual)

On Mon, Feb 25, 2013 at 10:32 AM, Jonathan Leech-Pepin
<address@hidden> wrote:
> Hello Tom,
>
> On 25 February 2013 12:52, Thomas S. Dye <address@hidden> wrote:
>>
>> Aloha all,
>>
>> IIUC, there is currently no support for @pxref{} in the texinfo
>> exporter.  This is a texinfo @-command that does one thing in the info
>> output and another in the LaTeX output.
>
>
> Ultimately there is actually no real difference between "see @ref{}"
> and "@pxref{}".  I just checked using the first @pxref{} in org.texi
> (Under Activation).
>
> In org.texi it is shown as (@pxref{Conflicts}), in org.html it
> becomes: (see <a href="#Conflicts">Conflicts</a>) while in the info
> file (org) it is shown as (*note Conflicts::).
>
> Opening the info file in Info (C-u C-h i <path to info file>), *node
> Conflicts:: becomes "see Conflicts".  Adding "see" manually
> before *note does not change the output.  The same is the case for
> @xref{}.  @xref{} adds "See" before the link in html/LaTeX, and
> uses *Note in the info document; "See [[link]]" produces the same See in
> html/LaTeX, and creates "See *note" in the info file (which is
> inserted as "See <link>" in Emacs Info.
>
> Yes the output is different if looking at the info file directly,
> however when viewing it withing Emacs the text is consistent.
>
> I didn't implement support for @xref{} or @pxref{} in the texinfo
> exporter, because I could not find a way to reliably determine the
> context so as to use the right type of link in the texi file.
>
> Using occur there were already 47 cases in org.texi where "[Ss]ee
> @ref" was used rather than the stylistically appropriate @pxref/@xref.
>
> Regards,
>
> Jon
>
>>
>> My idea is to create a custom link type, something like this:
>>
>> (org-add-link-type
>>    "pxref" nil
>>    (lambda (path desc format)
>>      (cond
>>       ((eq format 'html)
>>        (format "<span class=\"pxref\">%s</span>" path))
>>       ((eq format 'latex)
>>        (format "\\ref{%s}" path))
>>       ((eq format 'texinfo)
>>        (format "@pxref{%s,%s}" path desc)))))
>>
>> I haven't tested this, but it should export approximately correctly and
>> I'm confident I can get the export part working.
>>
>> What I can't figure out is how to have Org recognize that a link like
>> this:
>>
>> [[pxref:Internal link]]
>>
>> is really an internal link, rather than an external link.  I'd like to
>> be able to click on this and end up at <<Internal link>> in the Org
>> buffer.
>>
>> Is this possible?  If so, can you point me to a solution?
>>
>>
>> All the best,
>> Tom
>>
>> --
>> T.S. Dye & Colleagues, Archaeologists
>> 735 Bishop St, Suite 315, Honolulu, HI 96813
>> Tel: 808-529-0866, Fax: 808-529-0884
>> http://www.tsdye.com
>>
>



-- 
Subhan Michael Tindall | Software Developer
| address@hidden
RENTRAK | www.rentrak.com | NASDAQ: RENT



reply via email to

[Prev in Thread] Current Thread [Next in Thread]