Hello,
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
<jonathan.leechpepin@gmail.com> wrote:
> Hello Tom,
>
> On 25 February 2013 12:52, Thomas S. Dye <tsd@tsdye.com> 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
| smt@rentrakmail.com
RENTRAK | www.rentrak.com | NASDAQ: RENT