Eu designei para fazer a seguinte tarefa. Como não sou bom em látex, fico imaginando suas possibilidades.
Gostaria de atribuir parâmetros durante o desenvolvimento do documento. EX:
file1.tex
\chapter chapter_name1 [arg1=true]or [arg1]
file2.tex
\chapter chapter_name2 [arg1][arg2]
\include<file3> (here it should go to file3.tex and again checks there relevant argument in order to include correct chapter/section)
file3.tex
\section chapter_name1 [arg2][arg3]
\subsection sunsection_name [arg4]
myfile.tex
possui alguns loops e analisador para dividir parâmetros de entrada a fim de incluir arquivos relevantes.
Na hora de compilar no terminal devo decidir (passando argumentos) qual capítulo será inserido no myfile.pdf
arquivo. EX:
pdflatex "\def \parameter {arg2 arg3} input{myfile.tex}"
Então myfile.pdf
deveria ter
chapter_name2
section_name1
Já ouvi falar de xargs
pacotes xkeyval
, mas dificilmente os entendo. Ainda não tenho certeza de como isso vai me ajudar. Minha tarefa é possível? Se sim, por favor me sugira o que devo fazer?
Para evitar confusões, modifiquei a pergunta.
Eu tenho um grande conjunto de conteúdos para o usuário. Para usuários diferentes, gostaria de mostrar conteúdos diferentes. para isso, gostaria de produzir resultados diferentes, mostrando ou não alguns dos conteúdos (digamos, subseção de seções de capítulos) do documento.
Minha ideia é: ao escrever o capítulo/seção, declaro que é possível mostrar a que tipo de usuário, definindo o argumento como verdadeiro ou falso.
se user1==true então deve estar lá em user1.pdf
por exemplo
A macro é (ex): \Modifiedchapter [bool arg1][bool arg2][bool arg3]
\Modifiedchapter <chapterName1> [user1==true][user2==false][user3==false]
\Modifiedchapter <chapterName2> [user1==true][user2==true][user3==false]
\Modifiedsection <sectionName1> [user1==true][user2==true][user3==true]
Se eu passar user1
e user3
como 'True', minha saída deverá conter
comando (ex): "\def\arg1=true, arg2=false, arg1=true \input{meuarquivo}"
chapterName1
sectionName1
Como posso fazer isso?
Responder1
É uma boa ideianãopara alterar a sintaxe de comandos padrão como \chapter
e \section
. Embora o LaTeX permita refinar qualquer parte do sistema, aproveitar essa flexibilidade tornará difícil processar os fragmentos do seu documento em qualquer outro contexto.
Você já está usando \include
o qual foi projetado para suportar compilação parcial, o que parece ser seu caso de uso real.
Ao usar \include
você devenãouse a extensão do arquivo, você deve apenas usar
\include{file3}
Caso contrário, o LaTeX não encontrará os aux
arquivos relevantes.
adicionar \includeonly{file3}
(que pode ser feito através de uma linha de comando semelhante ao seu exemplo, ou apenas adicionado ao seu arquivo principal) fará com que file3
todos os outros arquivos referenciados \include
sejam ignorados.