Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

[ca7a2a]: source / placeholders.rst Maximize Restore History

Download this file

placeholders.rst    533 lines (295 with data), 13.9 kB

Placeholders

A very powerful feature of TeXnicCenter are placeholders. They are used on occasions when values or commands need to be specified that will change dynamically during runtime. This feature allows the user a very flexible configuration of TeXnicCenter because command line arguments, DDE-commands or other values do not have to be specified statically, but will be dynamically generated by TeXnicCenter when needed.

Placeholders are a kind of variables. The user specifies the name of the variable and TeXnicCenter sets the variable's value dynamically by replacing its name with the current value, when needed.

There a two types of placeholders in TeXnicCenter:

:ref:`placeholder-single`
This type of placeholders is often used to define command-line arguments and DDE-commands.
:ref:`placeholder-sets`
This kind of placeholders are used to deal with more than one file at a time.

Placeholders for single files

Placeholders referring to single files are used in such cases, where arguments for command line tools (like LaTeX) and DDE-commands need to be defined.

Placeholders for single files have to begin with a percent sign % followed by up to three characters. The last character specifies which files the placeholder refers to:

The character before the last character describes how to reference the specified file:

Instead of :placeholder:`p`, :placeholder:`w`, :placeholder:`d` and :placeholder:`m` use the uppercase variants of these characters to get slashes / instead of backslashes \\ as path separators.

The percent sign % can be followed by an :placeholder:`s`. In this case, the placeholders will be replaced with paths matching the old 8.3 path convention.

To get a percent sign in the resulting string you have to use the placeholder :placeholder:`%%` which will always be replaced by %.

Placeholders referring to project's main file

The following placeholders are used as a reference to a project's main file. If the :menuselection:`Build --> Current File...` command is used, these placeholders will be replaced with the equivalents for the current file.

The examples in brackets show how the placeholder will be replaced, if the current project's main file is :file:`C:\\My Documents\\TxcTest\\JustATest.tex`.

Placeholders with slashes instead of backslashes

Placeholders for 8.3 path notation

Placeholders for 8.3 path notation with slashes instead of backslashes

Placeholders referring to current file

The following placeholders are used to reference the current file. The current file is the file opened in the editor, i.e it has the input focus. If no file is open in the editor the placeholders will not be replaced.

The examples in brackets show how the placeholder will be replaced, if the current file is :file:`C:\\My Documents\\TxcTest\\SubDir\\AnotherTest.tex` and the current project's main file is :file:`C:\\My Documents\\TxcTest\\JustATest.tex`.

Placeholders with slashes instead of backslashes

Placeholders for 8.3 path notation

Placeholders for 8.3 path notation with slashes instead of backslashes

Placeholders referrening to a selection in the current file

Other placeholders

Placeholders for sets of files

Placeholders can be used for handling sets of files.

Note

These placeholders will never generate duplicates of a filename.

$[q][s][f][r]<FILESET>

$

Starts the placeholder. Use :placeholder:`$$` to get $.

q

All filenames will be separately quoted using ".

s

All filenames will be issued in 8.3-format.

f

The forward slash / is used as directory separator.

r

The filenames will be given relative to the working directory of the project.

<FILESET>

One of the following:

Examples

$qTPF

Lists all (La)TeX-files reported by the structure parser of TeXnicCenter. File names in quotes and separated by a space, like:

"D:\Temp\test\curvature3d.tex" "D:\Temp\test\definitions\macros.tex" "D:\Temp\test\chaptertwo.tex"

$fBPF

Lists all BibTeX-files reported by the structure parser of TeXnicCenter. The forward slash is used as directory separator. File names separated by a space, like:

D:/Temp/test/xbib.bib D:/Temp/test/morebibs/morexbib.bib

$COF

Lists all files, which are currently opened in the editor. File names separated by a space (no quotes!), like:

D:\Temp\test\curvature3d.tex D:\Program Files\texmf\pdftex\latex\config\pdflatex.ini

$qsrAPF

Lists all files of the project as reported by the structure parser of TeXnicCenter. File names displayed in 8.3-format, path relative to the working directory, file names separated by a space, like:

"curvat~1.tcp" "curvat~1.tps" "curvat~1.tex" "xbib.bib" "morebibs\morexb~1.bib" "defini~1\macros.tex"
"chapte~1.tex"

Application example

A good idea to use placeholders is a tool like the one defined below. This tool will build a ZIP archive of all files of the current project. A compression program (like WinZip or WinRAR) is required. Adjust path and arguments for that program.