From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?S=C3=A9bastien_Vauban?= Subject: Re: changing \href to \myhref in LaTex export Date: Wed, 20 Jan 2010 12:10:21 +0100 Message-ID: <87vdexav6q.fsf@mundaneum.com> References: <4B55D04B.7050305@ifi.uio.no> <87ockpdv93.fsf@mundaneum.com> <4B56CAB8.7080706@ifi.uio.no> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org Hi Martin, "Martin G. Skj=C3=A6veland" wrote: > S=C3=A9bastien Vauban wrote: >> "Martin G. Skj=C3=A6veland" 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 els= e) >>> 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=3D#1] at (0,0) {\color{blu= e}\scriptsize{#2}}; \end{tikzpicture}} >> --8<---------------cut here---------------end--------------->8--- >> >> I think, for this case, this offers more flexibility and allows you to g= et >> 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--- \let\orig@href=3D\href \renewcommand\href[2]{% \ifthenelse{\equal{#1}{#2}} {\orig@href{#1}{#2}} {\orig@href{#1}{#2}\footnote{\url{#1}}} }% 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 --=20 S=C3=A9bastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode-mXXj517/zsQ@public.gmane.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode