这不是一个直接的 LaTeX 问题,而是有关编译 LaTeX 的问题。
我正在使用 eclipse,并在我的项目属性中设置Output File = document.pdf
。我的演示项目编译并输出文件。
我想要的是定义类似的东西document_$DATE$_$VERSION$.pdf
。
我希望 eclipse 生成日期并且希望我的演示项目设置版本。
\documentclass{article}
\Version{A}
\begin{document}
This is my document.
\end{document}
我该如何做这样的事?
答案1
我可以通过 提供间接答案arara
。:)
这条规则可能正是你想要的(未经在 Windows 上测试,但我相信它有效):
!config
identifier: renamer
name: Renamer
commands:
- <arara> @{isWindows("cmd /c rename", "mv")} "@{getBasename(file)}.pdf" "@{getBasename(file)}_@{date.concat(version)}.pdf"
arguments:
- identifier: date
default: <arara> @{(new java.text.SimpleDateFormat("yyyy-MM-dd")).format(new java.util.Date())}
- identifier: version
flag: <arara> @{"_".concat(parameters.version)}
我选择了这种yyyy-MM-dd
模式,但这很容易改变。:)
这里的想法是:
- 得到
foo.pdf
。 - 获取当前日期(例如
2014-03-26
)。 - 将日期附加到文件名。
- 如果通过指令提供了任何版本,也请将其附加。
???
- 利润。
:)
一个简单的例子:
% arara: pdftex
% arara: renamer
Hello world!
\bye
跑步arara
:
paulo@alexandria paulo$ ls
vtest.tex
paulo@alexandria paulo$ arara vtest.tex
__ _ _ __ __ _ _ __ __ _
/ _` | '__/ _` | '__/ _` |
| (_| | | | (_| | | | (_| |
\__,_|_| \__,_|_| \__,_|
Running PDFTeX... SUCCESS
Running Renamer... SUCCESS
paulo@alexandria paulo$ ls
vtest_2014-03-26.pdf vtest.log vtest.tex
如果我想附加版本 ID:
% arara: pdftex
% arara: renamer: { version: 'draft' }
Hello world!
\bye
现在:
paulo@alexandria paulo$ arara vtest.tex
__ _ _ __ __ _ _ __ __ _
/ _` | '__/ _` | '__/ _` |
| (_| | | | (_| | | | (_| |
\__,_|_| \__,_|_| \__,_|
Running PDFTeX... SUCCESS
Running Renamer... SUCCESS
paulo@alexandria paulo$ ls
vtest_2014-03-26_draft.pdf vtest_2014-03-26.pdf vtest.log vtest.tex
好了!:)