summaryrefslogtreecommitdiff
path: root/dviware/dvisirule/README.md
blob: 0198e97d08d041fdb654aa6be330faa4b6652eef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130

---
```
Copyright 2012-2022 Jiro Senju

This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
any later version.

This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this package.  If not, see <http://www.gnu.org/licenses/>.
```
---

# dvisirule

Superimpose the covered / hidden or covered `\hline` and `\vline` in a
LaTeX tabular / colortbl environment.

Here *hidden* or *covered* means the unintentionally overwritten
`\hline`s and `\vline`s in a tabular.
They are surely drawn but other things such as a row background color
painted after hide them unintentionally.
See the example in `dvisirule.pdf`.

This package provides `dvisirule.sty` and `dvisirule` command.
The command is a `sh` script, and it internally uses `dvisirule-bin`,
`dvisirule-pgnum.awk`, `dvisirule-expg.mk`, and `dvisirule-marker.awk`
files.


## Compile & Install

```
$ cd $this_dir/src
$ configure -q
$ cd ..
$ make -s Dir=/tmp
```

Then you will get these files.

```
/tmp/dvisirule
/tmp/dvisirule-bin
/tmp/dvisirule-expg.mk
/tmp/dvisirule-marker.awk
/tmp/dvisirule-pgnum.awk
/tmp/dvisirule.sty
```

Now you can install them by

```
$ make InstallBase=/tmp/texmf-dist
```

Here `${InstallBase}` is a make-variable which is referred by other make-variables.

```
InstallBin ?= ${InstallBase}/bin
InstallLib ?= ${InstallBase}/lib
InstallSty ?= ${InstallBase}/lib/texinputs
```

and the files will be installed to these dirs.

```
${InstallBin}/dvisirule

${InstallLib}/dvisirule-bin
${InstallLib}/dvisirule-expg.mk
${InstallLib}/dvisirule-marker.awk
${InstallLib}/dvisirule-pgnum.awk

${InstallSty}/dvisirule.sty
```

Please note that these installed dirs have to be recognized by
`Kpathsea` since the main `sh` script `dvisirule` searches these
sub-files by `kpsewhich(1)`.


## Usage

`sitabular` environment is a wrapper of `tabular`, and all the syntax
is kept. You can use it by simply replacing `tabular` by `sitabular`.

`a.tex`

> `\usepackage{dvisirule}`

> `\begin{sitabular} ... \end{sitabular}`

and then

```
$ latex a.tex
$ cp -p a.dvi a.dvi.save
$ dvisirule a.dvi a-si.dvi
$ mv a-si.dvi a.dvi
```

For more details, refer to `dvisirule.pdf` and other source files.


## Supported TeX Distribution

Basically I am a Linux / TeXLive user, and `dvisirule` is developed
and tested on TeXLive 2019 (Don't blame me for my laziness. I know the
version is old), and on Debian.
So I guess `dvisirule` will work well on Linux / TeXLive.

I have tried Linux / MiKTeX 22.8.28 too and `dvisirule` succeded with
a simple installation test.
I used `make -s DVISELECT=/brabra/dviselect DVICONCAT=/.../dviconcat`.
But I am not sure MS-Windows users would success, particularly some
executables including some scripts and a binary.
Someone said that Perl script is the best solution to run on both of
linux and windows. But I am not a Perl user (Ok, you can blame me for
my laziness).

If anyone contributes some scripts which are Windows-capable, I would
gladly review and merge into this pkg.