2009-07-30 7 views
2

Mon ami a ce qui suit dans son ordinateur dans un document LaTeX

\includegraphics[width=13.0cm]{/Users/max/Dropbox/2_user_cases.png}  

Je voudrais avoir une variable pour le nom d'utilisateur de telle sorte que nous pouvons collaborer plus rapidement.

pseudo-code à ce que je wont

\includegraphics[width=13.0cm]{/Users/`echo $USER`/Dropbox/2_user_cases.png}  

Comment pouvez-vous avoir une telle commande à l'intérieur LATEX?

Répondre

2

dans le package graphicx, vous pouvez définir un dossier pour le latex à rechercher toutes vos images, comme ceci:

\graphicspath{{images/}} 

Dans cette configuration particulière, le latex a l'air d'un dossier dans le même répertoire que votre fichier appelé "images".

Je ne vois pas pourquoi vous voulez utiliser un chemin complet juste pour obtenir une image en ...

Faire un dossier, mettez votre fichier source .tex là-dedans, créez un dossier pour vos images . Stick vous travaillez dans une sorte de système de contrôle de révision (git, SVN, etc etc) Engagez-vous souvent, et vous êtes sur votre chemin.

+0

Merci pour votre réponse! J'aime ta façon de répondre. Vous avez noté la source du problème dans le PATH que je ne connaissais pas auparavant. –

+0

vous pariez. Je suis un rédacteur technique ... et je suis à LaTeX toute la journée, presque 8 heures par jour. : P – Mica

1

utilisation ~ pour votre homedirectory (ce qui est probablement/Users/$ USER):

\includegraphics[width=13.0cm]{~/Dropbox/2_user_cases.png} 
+1

Le tilde est certainement le meilleur moyen pour un répertoire personnel. Et si ce n'est pas? Le mieux que je puisse faire est de faire en sorte que le document LaTeX en inclue un autre, qui est généré à partir de variables d'environnement, et qui en définit correctement les LaTeX. Cela pourrait ensuite être automatisé avec un Makefile, qui a une règle indiquant que la sortie LaTeX dépend du fichier généré. La règle pour le fichier généré appelle un script créé par l'utilisateur ... bit kludgy mais ça marcherait. – Cascabel

+0

Je ne peux pas utiliser ~ pour une raison inconnue. - Dropbox peut être la cause du problème. –

+0

Avez-vous l'autorisation d'afficher le fichier des autres? –

2

Je ne suis pas sûr que vous pouvez accéder à envvars de LaTeX. Comme l'a dit Rutger Nijlunsing, vous pouvez essayer "~ /" puisque c'est un pseudonyme de "/ Users/< nom d'utilisateur >".

S'il y a d'autres envvars auxquels vous devez accéder, ma suggestion utilise Makefile pour 'compiler' .tex (ou un script shell) en appelant sed pour remplacer ce mot.

sed -i "s/max/$USER/" file.tex 
latex file.tex 
bibtex ... 
latex ...