2013-05-02 3 views
12

Sto lavorando in org-mode e sto provando a generare un link per fare riferimento a una sezione in base al numero e non al titolo.Come posso fare riferimento a una sezione per numero nell'esportazione in modalità org?

* Section One 
:PROPERTIES: 
:CUSTOM_ID: sec:one 
:END: 

* Section Two 
#+label: sec:two 

I can reference Section One with [[#sec:one]] and [[#sec:one][Section One]], 
but I can't get the actual section number (1) to resolve. 

Voglio vedere

As you can see in Section 1 

Scrivendo qualcosa come

As you can see in Section [[sec:one]], 

Tutte le idee?

risposta

14

Io uso obiettivi dedicati per questo:

* Section One 
    <<sec:one>> 

* Section Two 
    <<sec:two>> 

I can reference Section One with [[sec:one]] and [[sec:one][Section One]], 
but I can get the actual section number (1) to resolve. 

Questo funziona come previsto; vedi the orgmode documentation on internal links come riferimento.

+0

Hey Tom, quando provo questo gli obiettivi dedicati sembrano presentarsi nell'output come <> ecc. –

+0

Inoltre, i numeri di riga non vengono risolti nell'esportazione del latex a meno che non faccia qualcosa di simile (setq org-export-latex-hyperref-format "\\ ref {% s}"). –

+1

Strano - quale versione di org-mode stai usando? Io uso 8.0.2, emacs 24. Sto controllando il mio setup domani per le variabili, ma la documentazione di org 8 suggerisce che questo dovrebbe funzionare così com'è senza impostazioni speciali. –

3

L'approccio di Tom Regner funziona, tuttavia, non è necessario utilizzare target dedicati, è comunque possibile utilizzare il link custom_id, ma senza una descrizione. Come questo:

* Section One 
:PROPERTIES: 
:CUSTOM_ID: sec:one 
:END: 

* Section Two 
You can reference Section One with [[#sec:one]] but NOT 
[[#sec:one][Section One]], i.e., the link without description 
will get you the actual section number (1). 
2

È possibile fare riferimento alle sezioni per nome:

* Section One 

* Section Two 

* Links 
    This is a number link: [[Section One]] 
    This is a textual link: [[Section One][Some text for the link]] 

Ecco l'output LaTeX:

\section{Section One} 
\label{sec:orgheadline1} 

\section{Section Two} 
\label{sec:orgheadline2} 

\section{Links} 
\label{sec:orgheadline3} 
This is a number link: \ref{sec:orgheadline1} 
This is a textual link: \hyperref[sec:orgheadline1]{Some text for the link} 
+0

Se compilo il file di output in lattice, tutto va bene. Se uso esportazione org per produrre il pdf, i riferimenti lasciati come '???'. – Edityouprofile

+0

Verificato il 03 giugno 2017 questa soluzione funziona con Emacs 25.1.1 e Org 9.0.6 e molto semplice. –