Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have a function which takes a filepath as an argument. How can I extract the basename (file.c in the example below) from the argument?

\mycommand{path/to/file.c}

...

\def\@mycommand#1{
  ...
  \section{\basename{#1})}
  ...
}
share|improve this question
add comment

1 Answer

up vote 7 down vote accepted

LaTeX includes a filepath parser (the exact syntax it parses depends on the system)

\makeatletter

\filename@parse{path/to/file.c}

\typeout{area: \filename@area}

\typeout{name: \filename@base}

\typeout{ext: \filename@ext}

\makeatother

Produces this on the terminal:

area: path/to/
name: file
ext: c
share|improve this answer
    
Works beautifully. Thanks! –  Roberto Aloi Jul 31 '12 at 13:52
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.