## `pathname` -- create a platform dependent path name

#### Introduction

`pathname``(dir, subdir...)` returns a relative path name valid on the used operating system.

#### Call(s)

`pathname(dir, subdir, ..)`
`pathname(Root, dir, subdir, ..)`

#### Parameters

`dir, subdir, ..` | - | names of directories: character strings

#### Options

`Root` | - | makes `pathname` generate an absolute path name

#### Returns

a string.

#### Related Functions

`fclose`, `finput`, `fopen`, `fprint`, `fread`, `ftextinput`, `LIBPATH`, `loadproc`, `package`, `print`, `protocol`, `read`, `READPATH`, `write`, `WRITEPATH`

#### Details

- `pathname` is used to specify pathnames via MuPAD strings. Directories and subdirectories are concatenated in a suitable way creating a valid pathname for the currently used operating system. For example, this mechanism may be used to specify the location of library files independent of the platform.
- In order to create valid path names for the operating systems supported by MuPAD, the conventions holding for the corresponding operating system must be complied with. In particular, the names must not contain the characters ```/`'' , ```\`'' or ```:`''. Compliance with these conventions is tested by `pathname`.
- Under Windows, `pathname` does not allow to specify a volume to become part of the path name. Names are always relative to the current volume.
- Examples:

  call | result | platform
  `pathname("lib", "linalg")` | `"lib/linalg/"` | UNIX/Linux
  | `"lib\\linalg\\"` | Windows
  | `":lib:linalg:"` | MacOS
  `pathname(Root, "lib", "linalg")` | `"/lib/linalg/"` | UNIX/Linux
  | `"\\lib\\linalg\\"` | Windows
  | `"lib:linalg:"` | MacOS

#### Example 1

The following examples are created on a UNIX/Linux system:

    >> pathname("lib", "linalg")

                                   "lib/linalg/"

    >> pathname(Root, "lib", "linalg") . "det.mu"

                               "/lib/linalg/det.mu"

#### Changes

- no changes

Do you have questions or comments?
Copyright © SciFace Software GmbH & Co. KG 2000