当我使用 rail 包时出现问号

当我使用 rail 包时出现问号

我正在尝试使用该rail包编译语法图,但所有图表,无论多大,都像下面的屏幕截图一样,一个圆角框,里面有三个问号。

在此处输入图片描述

抱歉,我的问题很愚蠢,但有人能告诉我这个的正确用法吗?我在尝试编译此处的“LaTeX 语法图”文档时遇到了这个问题:http://ctan.mirrorcatalogs.com/support/rail/rail.tex

The \Rail\ package allows you to include syntax diagrams (also known as
\emph{railroad diagrams}) in a \LaTeX\ document. Such a diagram looks
like this:
\label{example}
\begin{rail}

decl : 'def' identifier '=' ( expression + ';' )
     | 'type' identifier '=' type
     ;

\end{rail}
(If you like arrow-heads where the lines enter the boxes, a nice feature
contributed by J.~Olsson, see Section \ref{sec:options}.)

我刚刚从 ctan 下载了 rail 包,解压后移至rail.sty/usr/share/texmf/tex/latex/rail然后使用 更新了我的数据库texhash。我下载的 rails 包附带一个.exe文件,但我没有看到任何可以在 Ubuntu 上运行的东西,而 Ubuntu 正是我正在使用的。

答案1

获取最终输出需要运行附带的rail程序;该发行版为 Windows 和 C 源代码提供了可执行文件。

但是,尝试运行make该程序会引发很多错误。除非您能够正确编译该程序,否则我认为您无法使用该包。请注意,中的横幅rail.c

static char SccsId[]="@(#)rail 26-Jul-1998";

对于这种事情来说十七年是一段很长的时间。

答案2

我花了一些时间修复了许多问题。您可以找到Github 上 rails 软件包的固定版本

$ curl -L https://github.com/Holzhaus/latex-rail/archive/v1.2.1.tar.gz | tar xzvf -
$ cd latex-rail-1.2.1

$  gcc --version | head -n 1
gcc (GCC) 6.3.1 20170306

$ make
bison -y  -dv gram.y
gram.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
cmp -s gram.c y.tab.c || cp y.tab.c gram.c
cmp -s gram.h y.tab.h || cp y.tab.h gram.h
gcc -DYYDEBUG -O   -c -o rail.o rail.c
gcc -DYYDEBUG -O   -c -o gram.o gram.c
flex  -t lex.l > lex.c
gcc -DYYDEBUG -O   -c -o lex.o lex.c
gcc -DYYDEBUG -O rail.o gram.o lex.o -o rail

$ rail --help
This is Rail, Version 1.2 #1
usage: rail [-+acdit] [file]

相关内容