J'ai un document LaTeX avec un grand nombre de dessins inclus à partir de fichiers externes avec \includegraphics{bla.pdf}
. Les dessins sont faits dans Inkscape. Tout cela fonctionne très bien. Cependant, il est parfois difficile de garder une trace de tous les dessins et de leurs fichiers sources. Par conséquent, je cherche un moyen d'inclure le nom du fichier source, dans l'exemple bla.pdf
, dans la légende. N'étant pas un expert en laTeX, je n'ai pas trouvé un moyen d'accéder automatiquement à la chaîne du nom de fichier à partir de la légende. L'utilisation de Google-foo n'a pas non plus donné de résultat. Existe-t-il un moyen de faire référence au nom de fichier et de l'inclure dans la légende, comme \caption{A fancy drawing of bla (\filename}
?Dans LaTeX existe-t-il un moyen d'inclure le nom de fichier d'un graphique dans une légende?
3
A
Répondre
0
Redéfinir \includegraphics
. Pour le cas d'aucun argument (width = 3cm, échelle = 2 ou quelque chose comme ça), nous avons
\let \saveinclude \includegraphics
\def \includegraphics#1{\def\filename{#1}\saveinclude{#1}}
L'utilisation
\includegraphics{bla.pdf}
\caption{A fancy drawing of bla (\filename)}
+0
Et si j'avais des arguments? J'ai également inclure des images à l'intérieur des commandes personnalisées dans le préambule. –
1
Vous pouvez capturer le nom du fichier d'image en patcher une partie de la imbriquée appels à l'intérieur \includegraphics
:
\documentclass{article}
\usepackage{graphicx,etoolbox}
\makeatletter
\patchcmd{\[email protected]}% <cmd>
{\ProvidesFile}% <search>
{\xdef\imgfilename{#3}\ProvidesFile}% <replace>
{}{}% <success><failure>
\makeatother
\begin{document}
\begin{figure}
\centering
\includegraphics[width=.5\linewidth]{example-image}
\caption{Image: \imgfilename}
\end{figure}
\end{document}
\imgfilename
contiendra le nom de fichier utilisé dans \includegraphics
seulement après il est utilisé.
Connaissez-vous [Tex, LaTeX et ses amis] (http://tex.stackexchange.com)? Les questions sur le latex sont encore à l'ordre du jour, mais vous obtiendrez peut-être des réponses meilleures ou plus rapides. – dmckee
Si vous pouviez nous donner un petit exemple de ce que vous faites actuellement, nous pourrions peut-être trouver une solution sur mesure ... –