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:
- Placeholders for single files
- This type of placeholders is often used to define command-line arguments and DDE-commands.
- Placeholders for sets of files
- 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:
- m¶
Current project’s main filename.
- c¶
Current filename, i.e. the file opened in the editor that has the input focus.
The character before the last character describes how to reference the specified file:
- p¶
The file’s fully qualified path.
- w¶
The file’s relative path starting in project directory, i.e. working directory.
- d¶
The file’s directory.
- n¶
The file’s name (name and extension).
- t¶
The file’s title (name without extension).
- e¶
The file’s extension.
- b¶
The file’s base (fully qualified path without the file extension).
- r¶
The file’s drive letter (followed by colon :).
Instead of p, w, d and 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 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 %% 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 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 C:\My Documents\TxcTest\JustATest.tex.
- %pm¶
Will be replaced by the full path of the current project’s main file, e.g.
C:\My Documents\TxcTest\JustATest.tex
- %wm¶
Will be replaced by the relative path of the current project’s main file, e.g.
JustATest.tex
- %dm¶
Will be replaced by the directory of the current project’s main file, e.g.
C:\My Documents\TxcTest
- %nm¶
Will be replaced by the name of the current project’s main file. The name includes the file extension, e.g.
JustATest.tex
- %tm¶
Will be replaced by the title of the current project’s main file. The title does not include the file extension, e.g.
JustATest
- %em¶
Will be replaced by the extension of the current project’s main file. tex
- %bm¶
Will be replaced by the base of the current project’s main file. The base includes the directory followed by the file’s title without the file extension, e.g.
C:\My Documents\TxcTest\JustATest
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 C:\My Documents\TxcTest\SubDir\AnotherTest.tex and the current project’s main file is C:\My Documents\TxcTest\JustATest.tex.
- %pc¶
Will be replaced by the full path of the current file, e.g.
C:\My Documents\TxcTest\SubDir\AnotherTest.tex
- %wc¶
Will be replaced by the relative path of the current file, e.g.
SubDir\AnotherTest.tex
- %dc¶
Will be replaced by the directory of the current file, e.g.
C:\My Documents\TxcTest\SubDir
- %nc¶
Will be replaced by the name of the current file. The name includes the file extension, e.g.
AnotherTest.tex
- %tc¶
Will be replaced by the title of the current file. The title does not include the file extension, e.g.
AnotherTest
- %ec¶
Will be replaced by the extension of the current file, e.g.
tex
- %bc¶
Will be replaced by the base of the current file. The base includes the directory followed by the file’s title without the file extension, e.g.
C:\My Documents\TxcTest\SubDir\AnotherTest
Placeholders with slashes instead of backslashes¶
Placeholders for 8.3 path notation¶
Placeholders referrening to a selection in the current file¶
- %l¶
Will be replaced with the line number, the cursor is placed in this line in the current file. The first line has the number 1.
- %s¶
Will be replaced with the current selection in the current file. If nothing has been selected this placeholder will be replaced by the word the cursor is currently placed on.
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 $$ 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>
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.
- Command: zip.exe
- Arguments: a "%tm.zip" $qrAPF
- Initial Directory: %dm