2010-01-09 4 views
9

У меня есть файл LaTeX, 'myfile.tex' say, что когда-то в середине кода должен быть введен ASCII-файл с макросами LaTeX , 'macrofile.tex, say , с помощью команды \ input {macrofile}. На самом деле, существует более одного «макрофайла», поэтому каждый раз, когда мне приходится редактировать «myfile» и изменять имя «macrofile». Я могу избежать части редактирования с помощью команды \ typein, но мне все равно придется вводить имя с клавиатуры. Есть ли способ сделать это из командной строки? Таким образом, чтобы подвести итог, «myfile.tex» выглядит следующим образом:Передача аргументов командной строки в документ LaTeX

\documentclass{article} 
........................ 
....................... 
....................... 
\begin{document} 
....................... 
...................... 
....................... 
....................... 
........................ 
....................... 
\input{macrofile1} OR {macrofile2} OR {macrofile3} ETC... 
....................... 
...................... 
...................... 
.................... 
..................... 
\end{document} 

Могу ли я передать имя «macrofile» в качестве аргумента «myfile.tex»?

Благодаря

Джон

+1

Вы каким-то образом задали вопрос с тем же названием, что и другой вопрос, который задает одно и то же: http://stackoverflow.com/questions/1465665/passing-command-line-arguments-to-latex-document –

+0

Это может быть правдой, но этот вопрос мне помог, и этого не случилось. Я тоже прочитал этот первый. – zebediah49

ответ

11

Да, что-то вроде:

latex "\def\myvar{info-to-pass} \input{<filename>}" 

должен делать вам. Затем вы можете использовать \ myvar в своем документе.

\input{...} указывает имя файла для команды latex.

Смежные вопросы