From 900f7f39363ab6b72ec7aeeec48b61b029d0986a Mon Sep 17 00:00:00 2001 From: mstsirkin Date: Mon, 25 Nov 2013 15:48:56 +0000 Subject: makehtml: proper fix for t4ht So recent Fedora and some other distros have broken t4ht packages, making makehtml fail. The correct fix is to put a working t4ht somewhere in your path. For example, for Fedora one can get an old copy from here: http://pkgs.fedoraproject.org/repo/pkgs/tetex-tex4ht/tex4ht-1.0.2008_02_28_2058.tar.gz/dc9d78c8ad22acd4b40dfd2cbbe2b8de/tex4ht-1.0.2008_02_28_2058.tar.gz after unpacking, t4ht is under ./bin/linux/t4ht, put it on path. tex4ht.env is under texmf/tex4ht/base/unix/tex4ht.env, put it in $HOME (you can rename it .tex4ht) or under current directory. Revert the work-around in makehtml, but keep it around in a comment for people who want to use it. alternatively, someone might want to implement auto-detection of the broken t4ht and apply the work-around automatically. Signed-off-by: Michael S. Tsirkin git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@125 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652 --- makehtml.sh | 7 +- t4ht | 2 - t4ht-workaround/t4ht | 2 + t4ht-workaround/virtio-v1.0-csd01.css | 175 ++++++++++++++++++++++++++++++++++ virtio-v1.0-csd01.css | 175 ---------------------------------- 5 files changed, 182 insertions(+), 179 deletions(-) delete mode 100755 t4ht create mode 100755 t4ht-workaround/t4ht create mode 100644 t4ht-workaround/virtio-v1.0-csd01.css delete mode 100644 virtio-v1.0-csd01.css diff --git a/makehtml.sh b/makehtml.sh index bc65b6d..a708775 100755 --- a/makehtml.sh +++ b/makehtml.sh @@ -2,7 +2,9 @@ SPECDOC=virtio-v1.0-csd01-html -PATH=.:${PATH} htlatex $SPECDOC.tex "virtiohtml,info,charset=utf-8" " -cunihtf -utf8" +#uncomment if you have a broken t4ht +#PATH=./t4ht-workaround:${PATH} htlatex $SPECDOC.tex "virtiohtml,info,charset=utf-8" " -cunihtf -utf8" +htlatex $SPECDOC.tex "virtiohtml,info,charset=utf-8" " -cunihtf -utf8" rm $SPECDOC.aux mv $SPECDOC.html $SPECDOC.tmp1 @@ -15,6 +17,7 @@ sed 's/~$SPECDOC.tmp5 mv $SPECDOC.tmp5 $SPECDOC.html rm $SPECDOC.tmp* -cp virtio-v1.0-csd01.css $SPECDOC.css +#uncomment if you have a broken t4ht +#cp ./t4ht-workaround/virtio-v1.0-csd01.css $SPECDOC.css zip $SPECDOC.zip $SPECDOC.html $SPECDOC.css images/*.png diff --git a/t4ht b/t4ht deleted file mode 100755 index 2b6e781..0000000 --- a/t4ht +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -echo t4ht is broken on Fedora F19, skip it diff --git a/t4ht-workaround/t4ht b/t4ht-workaround/t4ht new file mode 100755 index 0000000..2b6e781 --- /dev/null +++ b/t4ht-workaround/t4ht @@ -0,0 +1,2 @@ +#!/bin/sh +echo t4ht is broken on Fedora F19, skip it diff --git a/t4ht-workaround/virtio-v1.0-csd01.css b/t4ht-workaround/virtio-v1.0-csd01.css new file mode 100644 index 0000000..f5342e8 --- /dev/null +++ b/t4ht-workaround/virtio-v1.0-csd01.css @@ -0,0 +1,175 @@ + +/* start css.sty */ +.aebx-10{font-weight: bold;} +.aebx-10{font-weight: bold;} +.aebx-10{font-weight: bold;} +.aebx-10{font-weight: bold;} +.aebx-10{font-weight: bold;} +.aeti-10{ font-style: italic;} +.aeti-10{ font-style: italic;} +.aeti-10{ font-style: italic;} +.aeti-10{ font-style: italic;} +.aeti-10{ font-style: italic;} +.pcrr8t-{font-weight: bold;} +.pcrr8t-{font-weight: bold;} +.pcrr8t-{font-weight: bold;} +.pcrr8t-{font-weight: bold;} +.pcrr8t-{font-weight: bold;} +.pcrb8t-{ font-weight: bold; font-family: monospace;} +.aer-9{font-size:90%;} +.aer-8{font-size:80%;} +.pcrro8t-{font-family: monospace; font-style: oblique;} +.pcrro8t-{font-family: monospace; font-style: oblique;} +.pcrr8t-x-x-80{font-size:80%;font-weight: bold;} +.pcrr8t-x-x-80{font-weight: bold;} +.pcrr8t-x-x-80{font-weight: bold;} +.pcrr8t-x-x-80{font-weight: bold;} +.pcrr8t-x-x-80{font-weight: bold;} +.pcrro8t-x-x-80{font-size:80%;font-family: monospace; font-style: oblique;} +.pcrro8t-x-x-80{font-family: monospace; font-style: oblique;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc, .appendixToc a, .appendixToc {line-height: 200%; font-weight:bold;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +div.author{white-space: nowrap;} +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +h1.partHead{text-align: center} +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +.figure img.graphics {margin-left:10%;} +.lstlisting .label{margin-right:0.5em; } +div.lstlisting{font-family: monospace; white-space: nowrap; margin-top:0.5em; margin-bottom:0.5em; } +div.lstinputlisting{ font-family: monospace; white-space: nowrap; } +.lstinputlisting .label{margin-right:0.5em;} +P.fancyvrb {white-space: nowrap; margin:0em;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +div.array {text-align:center;} +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +div.longtable{text-align:center;} +body { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; } +h1 { color:#552681; font-size:150%; } +h2 { color:#552681; font-size:140%; } +h3 { color:#552681; font-size:130%; } +h4 { color:#552681; font-size:120%; } +h5 { color:#552681; font-size:110%; } +h6 { color:#552681; font-size:100%; } +table.tabular { margin-left: 0em; } +dt { margin-top: 0.5em; } +div.lstlisting, div.lstinputlisting {font-family: Courier New, monospace; white-space: nowrap; margin-top:0.5em; margin-bottom:0.5em; padding: 5px; border: 1px solid black; color: black; background-color: #F5F5F5;} +/* end css.sty */ + diff --git a/virtio-v1.0-csd01.css b/virtio-v1.0-csd01.css deleted file mode 100644 index f5342e8..0000000 --- a/virtio-v1.0-csd01.css +++ /dev/null @@ -1,175 +0,0 @@ - -/* start css.sty */ -.aebx-10{font-weight: bold;} -.aebx-10{font-weight: bold;} -.aebx-10{font-weight: bold;} -.aebx-10{font-weight: bold;} -.aebx-10{font-weight: bold;} -.aeti-10{ font-style: italic;} -.aeti-10{ font-style: italic;} -.aeti-10{ font-style: italic;} -.aeti-10{ font-style: italic;} -.aeti-10{ font-style: italic;} -.pcrr8t-{font-weight: bold;} -.pcrr8t-{font-weight: bold;} -.pcrr8t-{font-weight: bold;} -.pcrr8t-{font-weight: bold;} -.pcrr8t-{font-weight: bold;} -.pcrb8t-{ font-weight: bold; font-family: monospace;} -.aer-9{font-size:90%;} -.aer-8{font-size:80%;} -.pcrro8t-{font-family: monospace; font-style: oblique;} -.pcrro8t-{font-family: monospace; font-style: oblique;} -.pcrr8t-x-x-80{font-size:80%;font-weight: bold;} -.pcrr8t-x-x-80{font-weight: bold;} -.pcrr8t-x-x-80{font-weight: bold;} -.pcrr8t-x-x-80{font-weight: bold;} -.pcrr8t-x-x-80{font-weight: bold;} -.pcrro8t-x-x-80{font-size:80%;font-family: monospace; font-style: oblique;} -.pcrro8t-x-x-80{font-family: monospace; font-style: oblique;} -p.noindent { text-indent: 0em } -td p.noindent { text-indent: 0em; margin-top:0em; } -p.nopar { text-indent: 0em; } -p.indent{ text-indent: 1.5em } -@media print {div.crosslinks {visibility:hidden;}} -a img { border-top: 0; border-left: 0; border-right: 0; } -center { margin-top:1em; margin-bottom:1em; } -td center { margin-top:0em; margin-bottom:0em; } -.Canvas { position:relative; } -img.math{vertical-align:middle;} -li p.indent { text-indent: 0em } -li p:first-child{ margin-top:0em; } -li p:last-child, li div:last-child { margin-bottom:0.5em; } -li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } -.enumerate1 {list-style-type:decimal;} -.enumerate2 {list-style-type:lower-alpha;} -.enumerate3 {list-style-type:lower-roman;} -.enumerate4 {list-style-type:upper-alpha;} -div.newtheorem { margin-bottom: 2em; margin-top: 2em;} -.obeylines-h,.obeylines-v {white-space: nowrap; } -div.obeylines-v p { margin-top:0; margin-bottom:0; } -.overline{ text-decoration:overline; } -.overline img{ border-top: 1px solid black; } -td.displaylines {text-align:center; white-space:nowrap;} -.centerline {text-align:center;} -.rightline {text-align:right;} -div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } -.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } -div.fbox {display:table} -div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } -div.minipage{width:100%;} -div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} -div.center div {text-align: left;} -div.flushright, div.flushright div.flushright {text-align: right;} -div.flushright div {text-align: left;} -div.flushleft {text-align: left;} -.underline{ text-decoration:underline; } -.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } -.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } -.framebox-c {text-align:center;} -.framebox-l {text-align:left;} -.framebox-r {text-align:right;} -span.thank-mark{ vertical-align: super } -span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } -div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } -table.tabular td p{margin-top:0em;} -table.tabular {margin-left: auto; margin-right: auto;} -td p:first-child{ margin-top:0em; } -td p:last-child{ margin-bottom:0em; } -div.td00{ margin-left:0pt; margin-right:0pt; } -div.td01{ margin-left:0pt; margin-right:5pt; } -div.td10{ margin-left:5pt; margin-right:0pt; } -div.td11{ margin-left:5pt; margin-right:5pt; } -table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } -td.td00{ padding-left:0pt; padding-right:0pt; } -td.td01{ padding-left:0pt; padding-right:5pt; } -td.td10{ padding-left:5pt; padding-right:0pt; } -td.td11{ padding-left:5pt; padding-right:5pt; } -table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } -.hline hr, .cline hr{ height : 1px; margin:0px; } -.tabbing-right {text-align:right;} -span.TEX {letter-spacing: -0.125em; } -span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} -a span.TEX span.E {text-decoration: none; } -span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} -span.LATEX span.TEX{ position:relative; left: -0.4em; } -div.float, div.figure {margin-left: auto; margin-right: auto;} -div.float img {text-align:center;} -div.figure img {text-align:center;} -.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} -.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} -table.equation {width:100%;} -.equation td{text-align:center; } -td.equation { margin-top:1em; margin-bottom:1em; } -td.equation-label { width:5%; text-align:center; } -td.eqnarray4 { width:5%; white-space: normal; } -td.eqnarray2 { width:5%; } -table.eqnarray-star, table.eqnarray {width:100%;} -div.eqnarray{text-align:center;} -div.array {text-align:center;} -div.pmatrix {text-align:center;} -table.pmatrix {width:100%;} -span.pmatrix img{vertical-align:middle;} -div.pmatrix {text-align:center;} -table.pmatrix {width:100%;} -span.bar-css {text-decoration:overline;} -img.cdots{vertical-align:middle;} -.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} -.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc, .appendixToc a, .appendixToc {line-height: 200%; font-weight:bold;} -.index-item, .index-subitem, .index-subsubitem {display:block} -div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} -div.caption span.id{font-weight: bold; white-space: nowrap; } -h1.partHead{text-align: center} -p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } -p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } -.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} -.subparagraphHead, .likesubparagraphHead { font-weight: bold;} -.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} -.verse{white-space:nowrap; margin-left:2em} -div.maketitle {text-align:center;} -h2.titleHead{text-align:center;} -div.maketitle{ margin-bottom: 2em; } -div.author, div.date {text-align:center;} -div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } -div.author{white-space: nowrap;} -.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } -h1.partHead{text-align: center} -.abstract p {margin-left:5%; margin-right:5%;} -div.abstract {width:100%;} -.figure img.graphics {margin-left:10%;} -.lstlisting .label{margin-right:0.5em; } -div.lstlisting{font-family: monospace; white-space: nowrap; margin-top:0.5em; margin-bottom:0.5em; } -div.lstinputlisting{ font-family: monospace; white-space: nowrap; } -.lstinputlisting .label{margin-right:0.5em;} -P.fancyvrb {white-space: nowrap; margin:0em;} -div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } -table.tabular td p{margin-top:0em;} -table.tabular {margin-left: auto; margin-right: auto;} -td p:first-child{ margin-top:0em; } -td p:last-child{ margin-bottom:0em; } -div.td00{ margin-left:0pt; margin-right:0pt; } -div.td01{ margin-left:0pt; margin-right:5pt; } -div.td10{ margin-left:5pt; margin-right:0pt; } -div.td11{ margin-left:5pt; margin-right:5pt; } -table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } -td.td00{ padding-left:0pt; padding-right:0pt; } -td.td01{ padding-left:0pt; padding-right:5pt; } -td.td10{ padding-left:5pt; padding-right:0pt; } -td.td11{ padding-left:5pt; padding-right:5pt; } -table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } -.hline hr, .cline hr{ height : 1px; margin:0px; } -div.array {text-align:center;} -table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } -div.longtable{text-align:center;} -body { font-family: Arial, Helvetica, sans-serif; font-size: 10pt; } -h1 { color:#552681; font-size:150%; } -h2 { color:#552681; font-size:140%; } -h3 { color:#552681; font-size:130%; } -h4 { color:#552681; font-size:120%; } -h5 { color:#552681; font-size:110%; } -h6 { color:#552681; font-size:100%; } -table.tabular { margin-left: 0em; } -dt { margin-top: 0.5em; } -div.lstlisting, div.lstinputlisting {font-family: Courier New, monospace; white-space: nowrap; margin-top:0.5em; margin-bottom:0.5em; padding: 5px; border: 1px solid black; color: black; background-color: #F5F5F5;} -/* end css.sty */ - -- cgit v1.2.3