我经常上网论文集阅读新文章。我通常会从这种努力中获得双重好处:其次是数学知识,我喜欢学习不同的 LaTeX 技术,这些技术用于排版漂亮的文档。但最近我得到了一个相当奇特的.tex
文件。它的起源来自一篇关于代数拓扑的精彩文章,可以在这里。
整个文件太大了,无法在我的评论中完整发布,所以我将其包含在我的 Google Drive 中。然而我能表达我的两点看法:
.sty
通过 Google Drive 分析可以识别出多个文件被打包成一个文件,这对我来说似乎很奇怪.tex
;更准确地说,似乎 8 个单独的文件( 1 .aux
、 1 .bbl
、 3.sty
和 3 .tex
)以某种方式被压缩在一个.tex
文件中。很奇怪。
.tex
为了进一步澄清,也为了让社区的情况更简单,我决定发布“大”文档的开头:
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{Cobordism}[2011/03/01]
\RequirePackage{tikz}
\usepackage{forarray}
\newcommand\ignore[1]{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Variables, Variable Commands, and Styles
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Variables %%%
\newlength{\cobordismhalfendwidth}
\newlength{\cobordismhalfendheight}
\newlength{\cobordismendwidth}
%%% New Variables %%%
\newlength{\cobheight} % Height of a pair of pants
\newlength{\cobwidth} % Width of a cylinder
\newlength{\cobgap} % Gap between adjacent cylinders
\newlength{\cupheight} % Height of a cup or cap
\newlength{\ellipseheight} % Height of a boundary ellipse
\newcommand{\ellipsewidth}{\cobwidth}
\newlength{\cobordismlinewidth} % Width of line used to draw cobordisms
\newlength{\coboffset} % cobwidth + cobgap; the horizontal offset between adjacent cylinders
\newlength{\obscurewidth}
\setlength{\obscurewidth}{4pt}
\newlength{\inseamheight}
\newlength{\selectwidth}
\setlength{\selectwidth}{1pt}
\newlength{\dashlength}
\setlength{\dashlength}{2pt}
那些想要帮助我的人可以找到完整的文件这里。
那些花时间打开我上传的.tex
文件的人可能会明白我困惑的根源。我的主要要求是尽可能向我澄清语法。还有一个额外收获:我怎样才能以正常格式实现论文中呈现的漂亮结果?提前谢谢您。(请不要将此标记为离题;这只是一个复杂的问题。)
答案1
arXiv 对来源有如下评论:
来源
如果有多个文件,则以 gzip 压缩的 tar (.tar.gz) 文件形式交付,否则以 PDF 文件形式交付,或者根据提交格式以 gzip 压缩的 TeX、DVI、PostScript 或 HTML (.gz、.dvi.gz、.ps.gz 或 .html.gz) 文件形式交付。
事实上,我的终端告诉我:
$ file 1509.06811
1509.06811: POSIX tar archive (GNU)
因此,您不能直接重命名文件,而需要解压/提取文件。具体细节取决于系统,在 Kubuntu 中,我只需右键单击文件并选择提取即可。
解压后,你会看到有八个不同的文件:
$ ls
Cobordism.sty knots.sty paperIV.bbl spath.sty
header.tex paperII.aux paperIV.tex stringdiagram-header.tex
该文件paperIV.tex
是主要文章文件。其他两个.tex
文件包含 的大部分前言paperIV.tex
,并包含在该文件的第 8-9 行中:
7 % Import the preamble
8 \include{header}
9 \include{stringdiagram-header}
(数字表示行号。请注意,在序言中应该使用\input
,而不是\include
,参见何时应使用 \input 和 \include?)
因此,不应编译其他两个.tex
文件,因为它们是为了让“主”文件的前言更整洁。您可以用paperIV.tex
这些文件中的 700 多行代码替换第 8 行和第 9 行,结果是一样的。
从理论上讲,要制作 PDF 你只需这样做pdflatex paperIV.tex
,但不幸的是,这会引发一个错误Cobordism.sty
:
! Undefined control sequence.
\anchor ... \csname pgf@anchor@\pgf@sm@shape@name
@#1\endcsname {#2}
l.4118 }
我不知道为什么会发生这种情况,可能是Cobordism.sty
为 TikZ 2.x 编写的,需要进行一些更新才能与 TikZ 3 一起使用。不过,这只是在黑暗中进行的尝试,我建议就该特定问题提出一个新问题。
LaTeX 将始终在当前文件夹中查找包,因此您不必将.sty
文件移动到其他任何地方,但供参考:我应该将自己的 .sty 或 .cls 文件放在哪里,以使它们可供我的所有 .tex 文件使用?
但请注意以下几点:
- 在 CTAN 和 TeXLive/MikTeX 中已经有一个更新版本
spath
,称为。spath3
- 您可能对该包感兴趣
tqft
,请参见使用 tqft 绘制共边