emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Re: changing \href to \myhref in LaTex export


From: Carsten Dominik
Subject: Re: [Orgmode] Re: changing \href to \myhref in LaTex export
Date: Wed, 20 Jan 2010 13:08:11 +0100

Cool, I did not know this.

Thanks!

- Carsten

On Jan 20, 2010, at 12:10 PM, Sébastien Vauban wrote:

Hi Martin,

"Martin G. Skjæveland" wrote:
Sébastien Vauban wrote:
"Martin G. Skjæveland" wrote:

is it possible to change how hyperlinks are exported to LaTex without going into to org-latex.el, but setting by a variable or similar in my
.emacs file?

I would like to export hyperlinks in Latex as \myhref (or something else) instead of \href, so that I can redefine \myhref using \href, like this

  \usepackage{ifthen}
  \newcommand{\myhref}[2]{
    \ifthenelse{\equal{#1}{#2}}
      {\href{#1}{#2}}
      {\href{#1}{#2}\footnote{\url{#1}}}
    }

and thus include the URLs of the links as footnotes.

Not answering clearly your question, but an alternative (that works) is to redefine \href either in your private class (if you use one) or in your TeX
file.

In the latter case, put the `renewcommand' in your Org source, so that it
gets exported every time.

Example (with a `newcommand' here):

--8<---------------cut here---------------start------------->8---
#+LaTeX_HEADER: \newcommand{\figtext}[2]{\begin{tikzpicture} \draw (-#1/2,-#1/2) rectangle (#1/2,#1/2); \node[text width=#1] at (0,0) {\color{blue}\scriptsize{#2}}; \end{tikzpicture}}
--8<---------------cut here---------------end--------------->8---

I think, for this case, this offers more flexibility and allows you to get
what you want.

yes, this looks like the flexibility I'm after, but my problem with your solution is that by using \renewcommand I would be defining a recursive command, which does not work. (I should have mentioned that in my first email, sorry.) This is the reason for renaming the \href command in the
export, so I can define my own href command using the standard href.

Nope!  You can do that by simply renaming the old version first.

In your case:

--8<---------------cut here---------------start------------->8---
address@hidden
\renewcommand\href[2]{%
 \ifthenelse{\equal{#1}{#2}}
     address@hidden
   address@hidden
}% href

\href{http://www.mygooglest.com/}{Test}
\href{http://www.mygooglest.com/}{http://www.mygooglest.com/}
--8<---------------cut here---------------end--------------->8---


The reason I want to do this in the first place is to make URLs available
when the latex pdf is printed.

That makes sense. I'll reuse your idea!

Best regards,
 Seb

--
Sébastien Vauban



_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

- Carsten







reply via email to

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