emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Jonathan Leech-Pepin <jonathan.leechpepin@gmail.com>
To: Subhan Tindall <subhan.tindall@rentrakmail.com>
Cc: Org-mode <emacs-orgmode@gnu.org>
Subject: Re: pxref in texinfo export
Date: Mon, 25 Feb 2013 15:24:33 -0500	[thread overview]
Message-ID: <CAEWDx5ctecUfaPgPro4hvLDqfHU28iE5yW4S06tnvLYugqxoQQ@mail.gmail.com> (raw)
In-Reply-To: <CAKKEbDt-+1NCFSpNperv=5aPpqECMGOMp89AUsknJuLQKW3VKQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2745 bytes --]

Hello,

On 25 February 2013 14:01, Subhan Tindall <subhan.tindall@rentrakmail.com>wrote:

> The point being that compiling .texinfo source into an Info file
> treats references differently. For example:
> (@pxref{my_node_name}).  will compile just fine.
> (@ref{my_node_name}). will not.


Both work perfectly fine for me.
makeinfo (GNU texinfo) 5.0


> There are also differences in case
> (see v. See, note v. Note), and differences in output by ref type
> depending on target output of file (info, DVI, HTML,...). For example,
> @pxref generates different punctuation for typeset v. info files, @ref
> does not generate a 'See ' in printed material while @xref does, etc.
>
> Although the differences are subtle, they really are not equivalent
> and should not be treated as such.
>

With a slight amount of work on the user's part, they can be made
functionally equivalent on export.

Using the two attached minimal .texi files (good-ref.texi is using
@xref/@pxref as is preferred while ref.texi is using @ref with
appropriate See/see added in the text) and disregarding filename
differences (since they are noted in the info output) I get the
following differences:

> makeinfo --html --no-split good-ref.texi ref.texi
0 Diffs

> makeinfo --docbook --no-split good-ref.texi ref.texi
Filename ID appears in diff

> makeinfo --xml --no-split good-ref.texi ref.texi
Filename difference.

Links are different since TexinfoML does still distinguish xref/pxref
and ref in how they create the links.

> makeinfo --no-split good-ref.texi ref.texi

The info file does show the expected differences between the two
documents, notably that the "@xref{}" becomes "*Note" while the
equivalent "See @ref{}" becomes "See *note" with @pxref{}->*note vs
see @ref{} -> see *note.

However once they are viewed within the *info* buffer (C-u C-h i
good-ref.info/ref-only.info) the lines in question are visually
identical since *Note becomes "See" and *note becomes "see" if there
is not already "see" present.

I will not disagree that @ref, @pxref and @xref are subtly different,
however with slight user intervention @ref can be used in the same
above locations by simply replacing:

@xref{}  -> "See @ref{}"
@pxref{} -> "see @ref{}"

I had to compare these possible outcomes when working on the texinfo
exporter.  Since links are parsed before being included in their
paragraphs, I did not have a way to obtain context and therefore
attempt to guess (and be successful) at which type of reference was
intended by a link in Org.  Restricting it to @ref{} in all cases,
even if it added a slight burden to the user (4 additional characters
to type in Org) if they wanted to emulate @xref or @pxref was in my
opinion the best choice.

Regards,

--
Jon

[...]

[-- Attachment #2: Type: text/html, Size: 3560 bytes --]

  reply	other threads:[~2013-02-25 20:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-25 17:52 pxref in texinfo export Thomas S. Dye
2013-02-25 18:32 ` Jonathan Leech-Pepin
2013-02-25 18:40   ` Subhan Tindall
2013-02-25 18:48     ` Jonathan Leech-Pepin
2013-02-25 19:01       ` Subhan Tindall
2013-02-25 20:24         ` Jonathan Leech-Pepin [this message]
2013-02-25 20:29           ` Jonathan Leech-Pepin
2013-02-25 21:34             ` Subhan Tindall
2013-02-25 22:01               ` Jonathan Leech-Pepin
2013-02-25 21:38           ` Nicolas Goaziou
2013-02-25 21:48             ` Subhan Tindall
2013-02-25 22:06               ` Jonathan Leech-Pepin
2013-02-25 22:23                 ` Nicolas Goaziou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAEWDx5ctecUfaPgPro4hvLDqfHU28iE5yW4S06tnvLYugqxoQQ@mail.gmail.com \
    --to=jonathan.leechpepin@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=subhan.tindall@rentrakmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).