是否可以在文件2中引用文件1中的一些文本?

是否可以在文件2中引用文件1中的一些文本?

我有两个文件,分别是 file1 和 file2

假设在file1中

...bla bla bla,我是文件 1 中的文本...,我想在文件 2 中重复它...bla bla bla...

我想在文件2中重复文件1中的某些文本(我是文件1中的文本......,我想在文件2中重复它......)。

预期文件 2 中的内容:

一些文本,一些文本...文件 1 中的以下句子“我是文件 1 中的文本...,我想在文件 2 中重复它...”已被修改。更多文本,更多文本

这只是为了避免在两个文件中重复修改这些文本。

可以自动完成吗?

就在几秒钟前,我发现下面的代码适用于一个文件,但如何改进它以适应两个文件的情况?

\documentclass{minimal}

\makeatletter

\newcommand{\customlabel}[2]{%

\protected@write \@auxout {}{\string \newlabel {#1}{{#2}{}}}#2}

\makeatother

\begin{document}

Here is some text. \customlabel{foobar}{asdasd asdfasdf asdfasdf}

Here is some more text \ref{foobar}.

\end{document} 

答案1

迄今为止最简单的方法是

(I am text in file1..., I want to repeat it in file2...) 

在一个文件中,然后让file-shared.tex每个file1都说file2

\input{file-shared}

在文中的相关点。

答案2

以下是仅使用一个文件来保存要重复的内容的策略的伪代码。您必须记住各个部分的名称,但这对于 ref 命令也是必要的。

大纲太长,无法发表评论。

我现在没有足够的时间(或知识)来弄清楚细节。也许你可以做到,也许使用你在问题中添加的代码,或者其他人可以做到。如果有人提供有效的代码,我可以删除这个答案。

文件1

% file1.tex
\documentclass[12pt]{article}

%first argument is the name of the stuff to repeat
%second argument is the content
\newcommand{\stufftorepeat}[2]{%
   % write to stufftorepeat.tex, expanding just the right
   % amount of input (not something I know how to do)
   % \newcommand{\#1}{#2}
   %
   % now just put stuff here
   #2
}

% open file stufftorepeat.tex
\begin{document}

Some normal text 
\stufftorepeat{firstbatch}{blah, blah, blah}
More text.
\stufftorepeat{secondbatch}{whatever}
% close stufftorepeat.tex

\end{document}

这是文件2

# file2.tex
\documentclass[12pt]{article}

\input{stufftorepeat}

\begin{document}

Repeated from file1:
\firstbatch{}
More text from file1:
\secondbatch{}

\end{document}

相关内容