*.tex 和 *.txt 文件之间的区别

*.tex 和 *.txt 文件之间的区别

.tex这两种文件格式之间有什么区别吗?当我使用 Windows 中的标准文本编辑器打开文件时,我能看到所有数据吗?.tex文件是否包含我看不到的某种元数据或伪装数据?

我的问题如下。我收到一个.tex想要处理的文件。如果我:

  1. 直接处理
  2. 使用标准 Windows 文本编辑器打开它,将内容复制粘贴到新创建的.tex文件(例如使用 TexnicCenter),然后处理该生成的.tex文件。

我想避免任何类型的恶意软件或类似的东西。当我使用第二种方法时,我实际上可以看到内容,因为我只复制粘贴了可见的数据。

答案1

.txt文件扩展名主要是一种命名约定。几乎所有编程语言的源代码都是纯文本,文件名称或.tex或或任何其他名称之间没有技术差异.asdasdasd

答案2

正如评论中提到的,.tex文件只是纯文本文件,因此它们没有“隐藏元数据”。

如果您使用任何文本编辑器(如 Notepad、TeXnicCenter 等)检查它...您将看到逐字节的内容(除了编码问题,这似乎是题外话)。

latex如果您担心在文件上运行(或变体)是否安全,答案很简单。它非常安全,最糟糕的情况是陷入循环并以易于删除的临时.aux文件形式产生一些垃圾。如果您使用参数编译它,情况就会发生变化-shell-escape:这将允许文件执行外部程序,这可能会造成危害。您可以通过运行带有参数的命令.tex来明确禁用此行为。latex-no-shell-escape

有些软件包可以合法使用此功能(minted我想到了)。为了确保不会发生任何不良情况,您需要检查.tex文件的内容。

但:使用文本编辑器检查文件绝对不会造成任何损害。

如前所述,即使是纯文本文件,如果被分配了扩展名,指示操作系统将它们解释为程序(例如.bat文件或.vbs),在 Windows 中也可能是有害的。为了避免这种情况,您可以从文本编辑器的菜单中打开文件:这样您就避免了 Windows 猜测如何打开文件。

答案3

稍微扩展一下其他答案,文件与操作系统的.tex文件格式相同。两者都是纯文本文件。.txt

纯文本文件只包含一系列字符代码,文本编辑器会根据代码告诉计算机将其显示为字母。有不同的编码,目前几乎普遍使用 UTF-8。没有不可见的数据或元数据(文件名本身、时间戳等特定于操作系统的除外)。

您可以将.txt文件后缀更改为.tex,或反之亦然,然后没有什么变化除了文件名。这只是一个惯例,以这种方式命名文件。如果给出一个没有扩展名的文件名,TeX 引擎将查找.tex; 但除此之外并不重要。

您可以在任何编辑器中创建 .tex 文件,而不仅仅是特殊的 TeX 程序。在类 Unix 系统上,您甚至可以从命令行创建一个。

相关内容