.tex
这两种文件格式之间有什么区别吗?当我使用 Windows 中的标准文本编辑器打开文件时,我能看到所有数据吗?.tex
文件是否包含我看不到的某种元数据或伪装数据?
我的问题如下。我收到一个.tex
想要处理的文件。如果我:
- 直接处理
- 使用标准 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 系统上,您甚至可以从命令行创建一个。