Deutsch English Français Italiano |
<li5i3hFl6f1U1@mid.individual.net> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!3.eu.feeder.erje.net!feeder.erje.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: vallor <vallor@cultnix.org> Newsgroups: comp.os.linux.misc Subject: Document processing -- modern deroff(1)? Date: 15 Aug 2024 05:30:25 GMT Lines: 43 Message-ID: <li5i3hFl6f1U1@mid.individual.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net /TvbbQEFjZpCrrYcHBR0mAdCRl1U31JmKMIqfY33U+JzG7aqk0 Cancel-Lock: sha1:fcu3ttFePt6+x7p0xa2VCWCVFiI= sha256:5GJdxER7ryeUc1rgJp8HDOmfcGO7DBWkixsWUdIrC+k= X-Face: +McU)#<-H?9lTb(Th!zR`EpVrp<0)1p5CmPu.kOscy8LRp_\u`:tW;dxPo./(fCl CaKku`)]}.V/"6rISCIDP` User-Agent: Pan/0.160 (Toresk; f608461; Linux-6.11.0-rc3) Bytes: 2136 So I'm (finally) writing a book, and using groff -mom macros for typesetting. Wanted to run what I have so far through style(1) and diction(1), which on Linux requires one to run the input through deroff(1) first. Linux doesn't seem to have deroff. So, here is my q&d solution: $ cat mini_deroff.pl #!/usr/bin/perl %roffchars = ('.',1,' ',1,"\\",1); while(<>) { if(/^\.PP/) { print "\n"; } next if (exists($roffchars{substr($_,0,1)})); print; } exit 0; Constructive comments appreciated. BTW, if there's interest in the document processing, I have a Makefile that eases the pain of processing, including a "make look" rule that gens the pdf and views it. Also, if anyone knows where there is source for a working Linux deroff(1), would very much appreciate the pointer. So far I found the OpenBSD one, but it seems to rely on a lot of preprocessor macros that Linux doesn't have. Finally, one last look on Google, and I found a version of deroff for Debian... but it seems to be dated 1996, and doesn't grok -mom macros. (It is, however, written in lex, which might be an opportunity for me to learn that lingo and fix it...) -- -v System76 Thelio Mega v1.1 x86_64 NVIDIA RTX 3090 Ti OS: Linux 6.11.0-rc3 Release: Mint 21.3 Mem: 258G "Cause of crash: Inadvertent contact with the ground."