From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: Bib file path relative to home using tilde ~ in Ubuntu Date: Sun, 14 Oct 2012 00:57:35 -0400 Message-ID: <14518.1350190655@alphaville> References: <87391i31i3.fsf@yagnesh.org> <87r4p21d9a.fsf@yagnesh.org> Reply-To: nicholas.dokos@hp.com Return-path: Received: from eggs.gnu.org ([208.118.235.92]:37663) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TNGGi-0004sL-JE for emacs-orgmode@gnu.org; Sun, 14 Oct 2012 00:57:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TNGGh-00032b-9q for emacs-orgmode@gnu.org; Sun, 14 Oct 2012 00:57:40 -0400 Received: from g4t0015.houston.hp.com ([15.201.24.18]:11542) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TNGGh-00032T-3J for emacs-orgmode@gnu.org; Sun, 14 Oct 2012 00:57:39 -0400 In-Reply-To: Message from Sanjib Sikder of "Sat, 13 Oct 2012 23:40:38 +0530." List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Sanjib Sikder Cc: Yagnesh Raghava Yakkala , emacs-orgmode@gnu.org Sanjib Sikder wrote: > Hi, > > "The easiest way to update is logout from the computer, login again and start emacs." > > I did that. Still not working :( > When you have problems like this, you need to take it in small steps. o What shell are you using? Yagnesh's recommendation assumes that you are running bash as your shell (presumably on some Linux/Unix system). Is this assumption correct? o Assuming you are using bash, there are two relevant initialization files: a login shell sources $HOME/.profile and any shell (be it a login shell or one that is started as a descendant of your login shell) sources $HOME/.bashrc. o Adding export FOO=bar to such an initialization file causes the variable FOO to be defined (with value "bar") and to be exported (i.e. it is available in the environment of *any* subprocess of this shell). o So log out and log back in[fn:2], start a shell and at the prompt say echo $FOO Does it say "bar"? If not, don't go any further: the problem has nothing to do with emacs (note that this is the first time I mention emacs). o If this part is OK, start emacs *from this shell*: it should inherit the variable. You can check by evaluating this form: (getenv "FOO") Then the variable will also be available to any subprocesses started by emacs. o In particular, if you define BIBINPUTS as Yagnesh suggests, then the bibtex invoked by the latex exporter under emacs will find the bib file where you told it. o What can go wrong? The usual problem is that you use some graphical desktop environment and start emacs by clicking on some icon. Then the emacs process does not have a bash shell as its parent, so it does not inherit the exported variables. Try starting emacs from a bash command line.[fn:2] Nick Footnotes: [fn:1] If you define it in .bashrc, you shouldn't have to log out and log back in: just start a new bash shell. [fn:2] I prefer defining variables in my .profile and I have arranged for my .profile to be sourced by the appropriate initialization file of my graphical desktop environment, so I get it whether I log in at the console or through the graphical login. That way *every* process, no matter how it is started, has the variables available to it. I use .bashrc only for aliases (which I use very rarely, so most of the time I don't have a .bashrc file at all).