2010-01-09 7 views
9

J'ai un fichier LaTeX, 'myfile.tex' disons, que quelque part au milieu du code un fichier ASCII avec des macros LaTeX doit être entré, 'macrofile.tex, disons , via une commande '\ input {macrofile}'. En fait, il y a plus d'un 'macrofile', donc chaque fois que je dois éditer 'myfile' et changer le nom de 'macrofile'. Je peux éviter la partie d'édition en utilisant une commande \ typein, mais je dois quand même entrer le nom à partir du clavier. Y a-t-il un moyen de le faire à partir de la ligne de commande? Donc, pour résumer, 'myfile.tex' ressemble à:Passage des arguments de ligne de commande au document LaTeX

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

Puis-je transmettre le nom de 'macrofile' comme argument pour 'myfile.tex'?

Merci

John

+1

Vous avez réussi à poser une question avec exactement le même titre qu'une autre question qui demande la même chose: http://stackoverflow.com/questions/1465665/passing-command-line-arguments-to-latex-document –

+0

Cela peut être vrai, mais * cette * question m'a aidé, et ce n'est pas le cas. J'ai lu celui-là en premier aussi. – zebediah49

Répondre

11

Eh oui, quelque chose comme:

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

devrait-vous. Vous pouvez ensuite utiliser \ myvar dans votre document.

Le \input{...} spécifie le nom de fichier de la commande latex.

Questions connexes