Macro: Como aplicar as mesmas edições dentro de um {} em arquivos externos usando comando em LaTeX

Macro: Como aplicar as mesmas edições dentro de um {} em arquivos externos usando comando em LaTeX

Estou usando o Overleaf para editar alguns arquivos.

É possível no LaTeX definir um comando que vincule partes de um arquivo a outro? Quero copiar exatamente tudo dentro de um {}para outro arquivo externo no mesmo projeto (aplicar todas as alterações lá para que não precise copiar e colar essa seção no segundo arquivo)?

Por exemplo, tenho dois .texarquivos nomeados como A.texe B.tex. O que espero é se A.texeu tiver:

\documentclass{article}
\newcommand\MycommandA[1]{\textcolor{red}{#1}}
\begin{document}

\MycommandA{This is a text}

\end{document}

e em que B.texeu tenho é como

\documentclass{article}
\newcommand\MycommandA[1]{\textcolor{red}{#1}}
\begin{document}

\MycommandA{This is text}

\end{document}

Então eu quero que se eu mudar para \MycommandA{This is a text}, o LaTeX aplique automaticamente a mesma mudança em .A.tex\MycommandA{This is a book}B.tex

Responder1

Muitos editores de desktop suportam edições de vários arquivos, mas não acho que o Overleaf o faça, não é realmente uma questão de látex, pois o látex nunca edita sua fonte.

Uma maneira de látex seria ter qualquer texto compartilhado ou texto de comandos em apenas um arquivo, como no exemplo abaixo.

meuscomandos.tex

\newcommand\MycommandA[1]{\textcolor{red}{#1}}
\newcommand\textA{This is a shared text}

Para fragmentos pequenos como This is a shared texté conveniente usar um comando como acima. Para fragmentos maiores, como uma seção inteira, você pode usar um arquivo separado.

Então o texto só aparece em um lugar, e o seu A.texe B.texpode parecer

A.tex

\documentclass{article}
\input{mycommands}
\begin{document}

\section{Intro for A}% not shared

\MycommandA{\textA}% shared

\MycommandA{Text just in A but using the shared command}

\input{sharedsec}% shared
\end{document}

B.tex

\documentclass{report}
\input{mycommands}
\begin{document}

\section{Intro for B}% not shared

\MycommandA{\textA}% shared

Some text just in B.

\input{sharedsec}% shared
\end{document}

compartilhadosec.tex

\section{Something}
This text just appears once in the source but appears in A and B

informação relacionada