* LaTeX export of section links
@ 2009-11-20 11:34 Francesco Pizzolante
2009-11-20 12:42 ` Bernt Hansen
2009-11-20 14:13 ` Carsten Dominik
0 siblings, 2 replies; 6+ messages in thread
From: Francesco Pizzolante @ 2009-11-20 11:34 UTC (permalink / raw)
To: mailing-list-org-mode
Hi,
I have a few questions about links to sections.
I've read that it is better to user IDs and CUSTOM_IDs to links to section...
Here's a small example with 4 cases:
--8<---------------cut here---------------start------------->8---
* First
:PROPERTIES:
:CUSTOM_ID: heading-a
:END:
Hello Toto!
* Second
# <<heading-b>>
Hello Tata!
* Third
#+CUSTOM_ID: heading-c
Hello Titi!
* Fourth
#+ID: heading-d
Hello Tete!
[[heading-a]]
[[heading-b]]
[[heading-c]]
[[heading-d]]
--8<---------------cut here---------------end--------------->8---
Which give the following LaTeX code:
--8<---------------cut here---------------start------------->8---
\section{First}
\label{sec-1}
\label{heading-a}
Hello Toto!
\section{Second}
\label{sec-2}
\label{heading-b}
Hello Tata!
\section{Third}
\label{sec-3}
Hello Titi!
\section{Fourth}
\label{sec-4}
Hello Tete!
\hyperref[sec-1]{heading-a}
\hyperref[sec-2]{heading-b}
\hyperref[sec-3]{heading-c}
\hyperref[sec-4]{heading-d}
--8<---------------cut here---------------end--------------->8---
The first and second cases both generate labels which are not used in LaTeX.
The third and fourth cases are very elegant as they use only aliases (which
are dropped from the LaTeX code).
My questions are:
- what's the difference between using ID and CUSTOM_ID?
- the cases "Third" and "Fourth" are the more elegant from my point of view.
Is this the right way of doing?
- what's the difference between cases "First" and "Second" (I mean between
using PROPERTIES and # <<X>>)?
- in the documentation (section 4.2), we talk about "CUSTOM_ID property" does
it mean that we should use it as in case 1?
Thanks.
Francesco
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode-mXXj517/zsQ@public.gmane.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: LaTeX export of section links
2009-11-20 11:34 LaTeX export of section links Francesco Pizzolante
@ 2009-11-20 12:42 ` Bernt Hansen
2009-11-20 14:13 ` Carsten Dominik
1 sibling, 0 replies; 6+ messages in thread
From: Bernt Hansen @ 2009-11-20 12:42 UTC (permalink / raw)
To: Francesco Pizzolante; +Cc: mailing-list-org-mode
Francesco Pizzolante
<fpz-djc/iPCCuDYQheJpep6IedvLeJWuRmrY@public.gmane.org> writes:
> Hi,
>
> I have a few questions about links to sections.
>
> I've read that it is better to user IDs and CUSTOM_IDs to links to section...
>
> Here's a small example with 4 cases:
>
> --8<---------------cut here---------------start------------->8---
> * First
> :PROPERTIES:
> :CUSTOM_ID: heading-a
> :END:
>
> Hello Toto!
>
> * Second
> # <<heading-b>>
>
> Hello Tata!
>
> * Third
> #+CUSTOM_ID: heading-c
>
> Hello Titi!
>
> * Fourth
> #+ID: heading-d
>
> Hello Tete!
>
> [[heading-a]]
> [[heading-b]]
> [[heading-c]]
> [[heading-d]]
> --8<---------------cut here---------------end--------------->8---
>
> Which give the following LaTeX code:
>
> --8<---------------cut here---------------start------------->8---
> \section{First}
> \label{sec-1}
> \label{heading-a}
>
>
> Hello Toto!
>
> \section{Second}
> \label{sec-2}
> \label{heading-b}
>
>
> Hello Tata!
>
> \section{Third}
> \label{sec-3}
>
>
> Hello Titi!
>
> \section{Fourth}
> \label{sec-4}
>
>
> Hello Tete!
>
> \hyperref[sec-1]{heading-a}
> \hyperref[sec-2]{heading-b}
> \hyperref[sec-3]{heading-c}
> \hyperref[sec-4]{heading-d}
> --8<---------------cut here---------------end--------------->8---
>
> The first and second cases both generate labels which are not used in LaTeX.
>
> The third and fourth cases are very elegant as they use only aliases (which
> are dropped from the LaTeX code).
>
> My questions are:
>
> - what's the difference between using ID and CUSTOM_ID?
>
> - the cases "Third" and "Fourth" are the more elegant from my point of view.
> Is this the right way of doing?
>
> - what's the difference between cases "First" and "Second" (I mean between
> using PROPERTIES and # <<X>>)?
>
> - in the documentation (section 4.2), we talk about "CUSTOM_ID property" does
> it mean that we should use it as in case 1?
I use the CUSTOM_ID property for HTML exports (not LaTeX).
The ID property is automatically generated for me when I link to a task
and is a unique identifier for that heading across all of my org files.
,----
| * Some Task
| :PROPERTIES:
| :ID: 1329fa08-3c1d-4b73-b984-bef414b0dd3d
| :END:
`----
This allows me to have more than one 'Some Task' in my files and each
will have a unique ID so that linking to it finds the correct one.
CUSTOM_IDs are a way to create links using a user-defined name. I use
this for my org-mode document at http://doc.norang.ca/org-mode.html so
that I can reference a section by name such as
http://doc.norang.ca/org-mode.html#Publishing
If I later insert a section before Publishing the link still goes to the
correct place. Without the CUSTOM_ID property I get a link like
http://doc.norang.ca/org-mode.html#sec-13 which may stop working if the
document sections are moved around.
I'm not sure what this buys you in LaTeX since I don't think the
CUSTOM_ID names are exposed in the links (correct me if I'm wrong).
I don't think the
#+CUSTOM_ID: name
#+ID: name
forms are valid. These should be properties. The above names are
probably just ignored during the export process.
HTH,
Bernt
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: LaTeX export of section links
2009-11-20 11:34 LaTeX export of section links Francesco Pizzolante
2009-11-20 12:42 ` Bernt Hansen
@ 2009-11-20 14:13 ` Carsten Dominik
[not found] ` <361B87B2-29D2-465C-84BE-A82376059D35-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
1 sibling, 1 reply; 6+ messages in thread
From: Carsten Dominik @ 2009-11-20 14:13 UTC (permalink / raw)
To: Francesco Pizzolante; +Cc: mailing-list-org-mode
Hi Francesco,
On Nov 20, 2009, at 12:34 PM, Francesco Pizzolante wrote:
> Hi,
>
> I have a few questions about links to sections.
>
> I've read that it is better to user IDs and CUSTOM_IDs to links to
> section...
>
> Here's a small example with 4 cases:
>
> --8<---------------cut here---------------start------------->8---
> * First
> :PROPERTIES:
> :CUSTOM_ID: heading-a
> :END:
>
> Hello Toto!
>
> * Second
> # <<heading-b>>
>
> Hello Tata!
>
> * Third
> #+CUSTOM_ID: heading-c
>
> Hello Titi!
>
> * Fourth
> #+ID: heading-d
>
> Hello Tete!
>
> [[heading-a]]
> [[heading-b]]
> [[heading-c]]
> [[heading-d]]
> --8<---------------cut here---------------end--------------->8---
>
> Which give the following LaTeX code:
>
> --8<---------------cut here---------------start------------->8---
> \section{First}
> \label{sec-1}
> \label{heading-a}
>
>
> Hello Toto!
>
> \section{Second}
> \label{sec-2}
> \label{heading-b}
>
>
> Hello Tata!
>
> \section{Third}
> \label{sec-3}
>
>
> Hello Titi!
>
> \section{Fourth}
> \label{sec-4}
>
>
> Hello Tete!
>
> \hyperref[sec-1]{heading-a}
> \hyperref[sec-2]{heading-b}
> \hyperref[sec-3]{heading-c}
> \hyperref[sec-4]{heading-d}
> --8<---------------cut here---------------end--------------->8---
>
> The first and second cases both generate labels which are not used
> in LaTeX.
There is no harm in defining labels that are not used.
>
> The third and fourth cases are very elegant as they use only aliases
> (which
> are dropped from the LaTeX code).
Third and forth are non-existent syntax in Org, these lines are just
treated as comments and are removed during export.
>
> My questions are:
>
> - what's the difference between using ID and CUSTOM_ID?
Custom ID is human-readable, ID is usually a sha1 hash. ID's have
the advantage that in HTML, they can link from one file to another
one.
> - the cases "Third" and "Fourth" are the more elegant from my point
> of view.
> Is this the right way of doing?
No, see above
>
> - what's the difference between cases "First" and "Second" (I mean
> between
> using PROPERTIES and # <<X>>)?
Only in the way that the property might be conceived as cleaner - but
this
is really a matter of taste at this point.
>
> - in the documentation (section 4.2), we talk about "CUSTOM_ID
> property" does
> it mean that we should use it as in case 1?
Yes.
HTH
- Carsten
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: LaTeX export of section links
[not found] ` <361B87B2-29D2-465C-84BE-A82376059D35-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2009-11-20 15:14 ` Francesco Pizzolante
2009-11-20 15:18 ` Carsten Dominik
0 siblings, 1 reply; 6+ messages in thread
From: Francesco Pizzolante @ 2009-11-20 15:14 UTC (permalink / raw)
To: Carsten Dominik; +Cc: mailing-list-org-mode
Hi Carsten,
>> --8<---------------cut here---------------start------------->8---
>> * First
>> :PROPERTIES:
>> :CUSTOM_ID: heading-a
>> :END:
>>
>> Hello Toto!
>>
>> * Second
>> # <<heading-b>>
>>
>> Hello Tata!
>>
>> * Third
>> #+CUSTOM_ID: heading-c
>>
>> Hello Titi!
>>
>> * Fourth
>> #+ID: heading-d
>>
>> Hello Tete!
>>
>> [[heading-a]]
>> [[heading-b]]
>> [[heading-c]]
>> [[heading-d]]
>> --8<---------------cut here---------------end--------------->8---
>>
>> Which give the following LaTeX code:
>>
>> --8<---------------cut here---------------start------------->8---
>> \section{First}
>> \label{sec-1}
>> \label{heading-a}
>>
>>
>> Hello Toto!
>>
>> \section{Second}
>> \label{sec-2}
>> \label{heading-b}
>>
>>
>> Hello Tata!
>>
>> \section{Third}
>> \label{sec-3}
>>
>>
>> Hello Titi!
>>
>> \section{Fourth}
>> \label{sec-4}
>>
>>
>> Hello Tete!
>>
>> \hyperref[sec-1]{heading-a}
>> \hyperref[sec-2]{heading-b}
>> \hyperref[sec-3]{heading-c}
>> \hyperref[sec-4]{heading-d}
>> --8<---------------cut here---------------end--------------->8---
>>
>> The third and fourth cases are very elegant as they use only aliases (which
>> are dropped from the LaTeX code).
>
> Third and forth are non-existent syntax in Org, these lines are just treated
> as comments and are removed during export.
OK. But the information in these 2 comments is correctly used to replace the
alias (heading-c and heading-d) with the label generated by org during the
export. See the last 2 references in my example: these references are correct.
They thus have been correctly processed from heading-c and heading-d to sec-3
and sec-4... these comments are thus not simply removed... right?
In the case of the :CUSTOM_ID: property, the property is also used to convert
the alias to the label (heading-a to sec-1) but additionally an extra label
(heading-a) is created and not used.
That's why, when creating references to sections I found the #+CUSTOM_ID very
elegant... But apparently I don't have to use such syntax...
I wanted to know the recommended way of doing references...
Thanks a lot for your help.
Francesco
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode-mXXj517/zsQ@public.gmane.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: LaTeX export of section links
2009-11-20 15:14 ` Francesco Pizzolante
@ 2009-11-20 15:18 ` Carsten Dominik
[not found] ` <224945F4-65E4-4904-9065-ADF3FE9F4DD2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Carsten Dominik @ 2009-11-20 15:18 UTC (permalink / raw)
To: Francesco Pizzolante; +Cc: mailing-list-org-mode
On Nov 20, 2009, at 4:14 PM, Francesco Pizzolante wrote:
> Hi Carsten,
>
>>> --8<---------------cut here---------------start------------->8---
>>> * First
>>> :PROPERTIES:
>>> :CUSTOM_ID: heading-a
>>> :END:
>>>
>>> Hello Toto!
>>>
>>> * Second
>>> # <<heading-b>>
>>>
>>> Hello Tata!
>>>
>>> * Third
>>> #+CUSTOM_ID: heading-c
>>>
>>> Hello Titi!
>>>
>>> * Fourth
>>> #+ID: heading-d
>>>
>>> Hello Tete!
>>>
>>> [[heading-a]]
>>> [[heading-b]]
>>> [[heading-c]]
>>> [[heading-d]]
>>> --8<---------------cut here---------------end--------------->8---
>>>
>>> Which give the following LaTeX code:
>>>
>>> --8<---------------cut here---------------start------------->8---
>>> \section{First}
>>> \label{sec-1}
>>> \label{heading-a}
>>>
>>>
>>> Hello Toto!
>>>
>>> \section{Second}
>>> \label{sec-2}
>>> \label{heading-b}
>>>
>>>
>>> Hello Tata!
>>>
>>> \section{Third}
>>> \label{sec-3}
>>>
>>>
>>> Hello Titi!
>>>
>>> \section{Fourth}
>>> \label{sec-4}
>>>
>>>
>>> Hello Tete!
>>>
>>> \hyperref[sec-1]{heading-a}
>>> \hyperref[sec-2]{heading-b}
>>> \hyperref[sec-3]{heading-c}
>>> \hyperref[sec-4]{heading-d}
>>> --8<---------------cut here---------------end--------------->8---
>>>
>>> The third and fourth cases are very elegant as they use only
>>> aliases (which
>>> are dropped from the LaTeX code).
>>
>> Third and forth are non-existent syntax in Org, these lines are
>> just treated
>> as comments and are removed during export.
>
> OK. But the information in these 2 comments is correctly used to
> replace the
> alias (heading-c and heading-d) with the label generated by org
> during the
> export. See the last 2 references in my example: these references
> are correct.
> They thus have been correctly processed from heading-c and heading-d
> to sec-3
> and sec-4... these comments are thus not simply removed... right?
This is only by chance, because a simple text search does match these
two lines.
if you'd happen to have the string headline-a anywhere in the file,
the link would point to the enclosing section.
>
> In the case of the :CUSTOM_ID: property, the property is also used
> to convert
> the alias to the label (heading-a to sec-1) but additionally an
> extra label
> (heading-a) is created and not used.
>
> That's why, when creating references to sections I found the #
> +CUSTOM_ID very
> elegant... But apparently I don't have to use such syntax...
>
Not if you want to have reliable links, no.
- Carsten
> I wanted to know the recommended way of doing references...
>
> Thanks a lot for your help.
>
> Francesco
- Carsten
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: LaTeX export of section links
[not found] ` <224945F4-65E4-4904-9065-ADF3FE9F4DD2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2009-11-20 15:23 ` Francesco Pizzolante
0 siblings, 0 replies; 6+ messages in thread
From: Francesco Pizzolante @ 2009-11-20 15:23 UTC (permalink / raw)
To: Carsten Dominik; +Cc: mailing-list-org-mode
Carsten,
>> OK. But the information in these 2 comments is correctly used to replace the
>> alias (heading-c and heading-d) with the label generated by org during the
>> export. See the last 2 references in my example: these references are
>> correct.
>> They thus have been correctly processed from heading-c and heading-d
>> to sec-3
>> and sec-4... these comments are thus not simply removed... right?
>
> This is only by chance, because a simple text search does match these two
> lines.
> if you'd happen to have the string headline-a anywhere in the file, the link
> would point to the enclosing section.
>
>> That's why, when creating references to sections I found the #
>> +CUSTOM_ID very
>> elegant... But apparently I don't have to use such syntax...
>
> Not if you want to have reliable links, no.
It's understood now.
Thanks a lot for your detailed answers.
Francesco
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode-mXXj517/zsQ@public.gmane.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-11-20 15:23 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-20 11:34 LaTeX export of section links Francesco Pizzolante
2009-11-20 12:42 ` Bernt Hansen
2009-11-20 14:13 ` Carsten Dominik
[not found] ` <361B87B2-29D2-465C-84BE-A82376059D35-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-11-20 15:14 ` Francesco Pizzolante
2009-11-20 15:18 ` Carsten Dominik
[not found] ` <224945F4-65E4-4904-9065-ADF3FE9F4DD2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-11-20 15:23 ` Francesco Pizzolante
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).