From ce6622244d868348a6381f1372f9972734a54839 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Tue, 7 Feb 2023 19:38:27 -0800 Subject: [PATCH] More Doc Updates Mostly formatting cleanup this time. --- Doc/RomWBW Applications.pdf | Bin 216071 -> 216070 bytes Doc/RomWBW Disk Catalog.pdf | Bin 124529 -> 124531 bytes Doc/RomWBW Errata.pdf | Bin 28914 -> 28707 bytes Doc/RomWBW ROM Applications.pdf | Bin 159778 -> 159778 bytes Doc/RomWBW System Guide.pdf | Bin 497146 -> 497144 bytes Doc/RomWBW User Guide.pdf | Bin 421228 -> 421223 bytes ReadMe.md | 21 +- ReadMe.txt | 208 ++++++++++---------- Source/Doc/Basic.h | 16 ++ Source/Doc/Build.cmd | 7 +- Source/Doc/ReadMe.md | 22 +-- Source/Doc/UserGuide.md | 4 +- Source/Doc/pandoc.css | 327 ++++++++++++++++++++++++++++++++ 13 files changed, 470 insertions(+), 135 deletions(-) create mode 100644 Source/Doc/pandoc.css diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index c8aa04dfbc582de5d16f7be67fcee49d519d66ed..2300111428a1ada7063c40333eb7c23d9d033fd9 100644 GIT binary patch delta 13956 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 diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index 04e76a9fa914ddc4a5a941038f88546cb0fe8388..b3326d38bbffee824df727489c560089d6310421 100644 GIT binary patch delta 4984 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 dApvstFn9CtakG8}g8Y732!WWGk{vYMRI+Oqa delta 9252 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 diff --git a/Doc/RomWBW ROM Applications.pdf b/Doc/RomWBW ROM Applications.pdf index 97805ceee63d9245b7da2989ea84321119b6e3bd..809b01ac3e27b1277829dc24f4f2a1c86a9f1be3 100644 GIT binary patch delta 561 zcmZ4VfOF9U&Izsclh67cHsCq_zP4-6fhPM$H6AO3?lK(Yy(0ang=IPC!Qb))LEF8{ z6DB`5>-_)k=EnoImIeLHF_l;13tj}Aa6jW`QE}ph-MPc(8|1zypPu-x^5zzg=pB_- zi>+(<^?$`~=Ue@1;pDl`9zIhPJ${s#+ts{2kMYbKX1A}8iUrN*-@RS0%i#W?Xnon0 z=bQ~mUmySev&SRwi-XP$??6sFgVpNu6-$E-tZ94P=yXwZ(!_|pEXKOVbFNI9wa+8& zp6lY4E0a{uJ>jr148EoAH&4Yf>5JxZ-H&%YR@jM5?Fd~qeXW6Kd0=?puV24@;Y1Hr&ujc!R&RLVeSX{I%W<3L^7Ixt{`zaQ z?fP-P$u$=O9b}Kioa)lNoRz%BJmmNN$FUdNvwx+A{CjQ|y068LZTEj^wz(^W=Jo}g zx-DONRglA7T6~Ak3bCBG4^lh}H?B*pop$y9`NQ(8Iv2M$D>Ah!GBIvfWMWeCW;Zvq zG&V9aneOGwBm?7Y&-G;rRZ1{4b2f1@G&6T|GBYzabu@BxaWXNnv@iv-4UA2U?G$WW j2r7wHu(RVTE=epZsVGWK<1#cgu(UMcQdM>JcjE#8u9f)` delta 561 zcmZ4VfOF9U&Izsc!6*F=JMip%uKkSN>Z{Q_SEq@ywkhmrEOMSR;l)a)5C7S1Iw$*8 zDNKBQ=F#_g)0=i%6!^>Dsk{V2m#<~iOq-EjEETlwI^7@G|NC6BL59XMl`5Tb7!dN<+AkyolSGG{$pGVMx=><*`@I3(l+Uiv%_v+Oi?k=Th*M*bt#9sqL$m+z{t> zy`!VP@n}of5u?uN*O8Ogvoc+&dRFhst)(U>#%A?}qfPwLDwSJ%UtOQl?0lAMYW8Kb zlk*n(I8T{*E6QK#^O8!Xl`pS-+iJ-(HF(vel&=oit*rO6w%wE2HsSJFgOzhs|Hk>; zz8$PQx#mKkgY2=GQ%b>YM}I|FhrGUjYIm^wyQ}9Hf7+kt{51MSLelp7!wZB%7hM+g zs+7+Smu)QAQrLLACF@WapPyUTW>ePeNU?gk-S*6S7q>MlGPNr*F>Y66Vp8&EH#0IY zFfuio?&ZrQ1LJJZ^<@fGO0YDsur#!EGcq(YHE=O@b2fEyb8<2@Ff=zXGIupHw^Oij jA*du)!Oo7WxFoTtq@pM_jmyx~z|zu$OI6j?-;E0ZI!N-C diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 7d23bdddc8f9316c3b6446dece39655d3ab21af7..475a2e63ea03e878461e1ee19723868c379f5d3f 100644 GIT binary patch delta 21167 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 b^}!GQ(Fd=-W^>hIi<-^bwynM8!p;8&&Z|xD delta 21175 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 -06 Feb 2023 + + +**RomWBW ReadMe** \ +Version 3.1 Pre-release \ +Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ +07 Feb 2023 # Overview @@ -14,7 +16,7 @@ communities: - [RetroBrew Computers](https://www.retrobrewcomputers.org) - [RC2014](https://rc2014.co.uk), [RC2014-Z80](https://groups.google.com/g/rc2014-z80) -- [retro-comp](https://groups.google.com/g/retro-comp) +- [retro-comp](https://groups.google.com/forum/#!forum/retro-comp) - [Small Computer Central](https://smallcomputercentral.com/) General features include: @@ -25,8 +27,8 @@ General features include: - Video drivers including TMS9918, SY6545, MOS8563, HD6445 - Keyboard (PS/2) drivers via VT8242 or PPI interfaces - Real time clock drivers including DS1302, BQ4845 -- OS Adaptations of CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, - p-System, and FreeRTOS +- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and + FreeRTOS - Built-in VT-100 terminal emulation support RomWBW is distributed as both source code and pre-built ROM and disk @@ -40,7 +42,7 @@ ROM firmware itself: A dynamic disk drive letter assignment mechanism allows mapping operating system drive letters to any available disk media. -Additionally, mass media devices (IDE Disk, CF Card, SD Card) support +Additionally, mass storage devices (IDE Disk, CF Card, SD Card) support the use of multiple slices (up to 256 per device). Each slice contains a complete CP/M filesystem and can be mapped independently to any drive letter. This overcomes the inherent size limitations in legacy OSes and @@ -104,8 +106,7 @@ Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf) ## Documentation -This document is part of a set of documentation for RomWBW that also -includes: +Documentation for RomWBW includes: - [RomWBW User Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf) diff --git a/ReadMe.txt b/ReadMe.txt index 67131255..8bd8b8b4 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,12 +1,11 @@ +RomWBW ReadMe +Wayne Warthen (wwarthen@gmail.com) +07 Feb 2023 -RomWBW ReadMe -Version 3.1 Pre-release -Wayne Warthen () -06 Feb 2023 -Overview -======== +OVERVIEW + RomWBW software provides a complete, commercial quality implementation of CP/M (and workalike) operating systems and applications for modern @@ -14,36 +13,35 @@ Z80/180/280 retro-computing hardware systems. A wide variety of platforms are supported including those produced by these developer communities: -- [RetroBrew Computers](https://www.retrobrewcomputers.org) -- [RC2014](https://rc2014.co.uk), - [RC2014-Z80](https://groups.google.com/g/rc2014-z80) -- [retro-comp](https://groups.google.com/g/retro-comp) -- [Small Computer Central](https://smallcomputercentral.com/) +- RetroBrew Computers +- RC2014, RC2014-Z80 +- retro-comp +- Small Computer Central General features include: -- Banked memory services for several banking designs -- Disk drivers for RAM, ROM, Floppy, IDE, CF, and SD -- Serial drivers including UART (16550-like), ASCI, ACIA, SIO -- Video drivers including TMS9918, SY6545, MOS8563, HD6445 -- Keyboard (PS/2) drivers via VT8242 or PPI interfaces -- Real time clock drivers including DS1302, BQ4845 -- OS Adaptations of CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, - p-System, and FreeRTOS -- Built-in VT-100 terminal emulation support +- Banked memory services for several banking designs +- Disk drivers for RAM, ROM, Floppy, IDE, CF, and SD +- Serial drivers including UART (16550-like), ASCI, ACIA, SIO +- Video drivers including TMS9918, SY6545, MOS8563, HD6445 +- Keyboard (PS/2) drivers via VT8242 or PPI interfaces +- Real time clock drivers including DS1302, BQ4845 +- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and + FreeRTOS +- Built-in VT-100 terminal emulation support RomWBW is distributed as both source code and pre-built ROM and disk images. Some of the provided software can be launched directly from the ROM firmware itself: -- System Monitor -- Operating Systems (CP/M 2.2, ZSDOS) -- ROM BASIC (Nascom BASIC and Tasty BASIC) -- ROM Forth +- System Monitor +- Operating Systems (CP/M 2.2, ZSDOS) +- ROM BASIC (Nascom BASIC and Tasty BASIC) +- ROM Forth A dynamic disk drive letter assignment mechanism allows mapping operating system drive letters to any available disk media. -Additionally, mass media devices (IDE Disk, CF Card, SD Card) support +Additionally, mass storage devices (IDE Disk, CF Card, SD Card) support the use of multiple slices (up to 256 per device). Each slice contains a complete CP/M filesystem and can be mapped independently to any drive letter. This overcomes the inherent size limitations in legacy OSes and @@ -75,27 +73,29 @@ The FAT filesystem may be coresident on the same disk media as RomWBW slices or on stand-alone media. This makes exchanging files with modern OSes such as Windows, MacOS, and Linux very easy. -Acquiring RomWBW -================ - -The [RomWBW Repository](https://github.com/wwarthen/RomWBW) on GitHub is -the official distribution location for all project source and -documentation. The fully-built distribution releases are available on -the [RomWBW Releases Page](https://github.com/wwarthen/RomWBW/releases) -of the repository. On this page, you will normally see a Development -Snapshot as well as recent stable releases. Unless you have a specific -reason, I suggest you stick to the most recent stable release. Expand -the “Assets” drop-down for the release you want to download, then select -the asset named RomWBW-vX.X.X-Package.zip. The Package asset includes -all pre-built ROM and Disk images as well as full source code. The other -assets contain only source code and do not have the pre-built ROM or -disk images. + + +ACQUIRING ROMWBW + + +The RomWBW Repository on GitHub is the official distribution location +for all project source and documentation. The fully-built distribution +releases are available on the RomWBW Releases Page of the repository. On +this page, you will normally see a Development Snapshot as well as +recent stable releases. Unless you have a specific reason, I suggest you +stick to the most recent stable release. Expand the “Assets” drop-down +for the release you want to download, then select the asset named +RomWBW-vX.X.X-Package.zip. The Package asset includes all pre-built ROM +and Disk images as well as full source code. The other assets contain +only source code and do not have the pre-built ROM or disk images. All source code and distributions are maintained on GitHub. Code contributions are very welcome. -Installation & Operation -======================== + + +INSTALLATION & OPERATION + In general, installation of RomWBW on your platform is very simple. You just need to program your ROM with the correct ROM image from the RomWBW @@ -104,28 +104,23 @@ drives (IDE disk, CF Card, SD Card, etc.) which then provides even more functionality. Complete instructions for installation and operation of RomWBW are found -in the [RomWBW User -Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf). +in the RomWBW User Guide. + Documentation -------------- -This document is part of a set of documentation for RomWBW that also -includes: +Documentation for RomWBW includes: -- [RomWBW User - Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20User%20Guide.pdf) -- [RomWBW System - Guide](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20System%20Guide.pdf) -- [RomWBW - Applications](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20Applications.pdf) -- [RomWBW ROM - Applications](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20ROM%20Applications.pdf) -- [RomWBW - Errata](https://github.com/wwarthen/RomWBW/raw/dev/Doc/RomWBW%20Errata.pdf) +- RomWBW User Guide +- RomWBW System Guide +- RomWBW Applications +- RomWBW ROM Applications +- RomWBW Errata + + + +ACKNOWLEDGMENTS -Acknowledgments -=============== I want to acknowledge that a great deal of the code and inspiration for RomWBW has been provided by or derived from the work of others in the @@ -133,59 +128,62 @@ RetroBrew Computers Community. I sincerely appreciate all of their contributions. The list below is probably missing many names – please let me know if I missed you! -- Andrew Lynch started it all when he created the N8VEM Z80 SBC which - became the first platform RomWBW supported. Some of his code can still - be found in RomWBW. +- Andrew Lynch started it all when he created the N8VEM Z80 SBC which + became the first platform RomWBW supported. Some of his code can + still be found in RomWBW. -- Dan Werner wrote much of the code from which RomWBW was originally - derived and he has always been a great source of knowledge and advice. +- Dan Werner wrote much of the code from which RomWBW was originally + derived and he has always been a great source of knowledge and + advice. -- Douglas Goodall contributed code, time, testing, and advice in “the - early days”. He created an entire suite of application programs to - enhance the use of RomWBW. Unfortunately, they have become unusable - due to internal changes within RomWBW. As of RomWBW 2.6, these - applications are no longer provided. +- Douglas Goodall contributed code, time, testing, and advice in “the + early days”. He created an entire suite of application programs to + enhance the use of RomWBW. Unfortunately, they have become unusable + due to internal changes within RomWBW. As of RomWBW 2.6, these + applications are no longer provided. -- David Giles created support for the Z180 CSIO which is now included SD - Card driver. +- David Giles created support for the Z180 CSIO which is now included + SD Card driver. -- Ed Brindley contributed some of the code that supports the RC2014 - platform. +- Ed Brindley contributed some of the code that supports the RC2014 + platform. -- Phil Summers contributed the Forth and BASIC adaptations in ROM, the - AY-3-8910 sound driver as well as a long list of general code - enhancements. +- Phil Summers contributed the Forth and BASIC adaptations in ROM, the + AY-3-8910 sound driver as well as a long list of general code + enhancements. -- Spencer Owen created the RC2014 series of hobbyist kit computers which - has exponentially increased RomWBW usage. +- Spencer Owen created the RC2014 series of hobbyist kit computers + which has exponentially increased RomWBW usage. -- Stephen Cousins has likewise created a series of hobbyist kit - computers at Small Computer Central and is distributing RomWBW with - many of them. +- Stephen Cousins has likewise created a series of hobbyist kit + computers at Small Computer Central and is distributing RomWBW with + many of them. -- The CP/NET client files were developed by Douglas Miller. +- The CP/NET client files were developed by Douglas Miller. -- Phillip Stevens contributed support for FreeRTOS. +- Phillip Stevens contributed support for FreeRTOS. -- Curt Mayer contributed the original Linux / MacOS build process. +- Curt Mayer contributed the original Linux / MacOS build process. -- UNA BIOS and FDISK80 are the products of John Coffman. +- UNA BIOS and FDISK80 are the products of John Coffman. -- FLASH4 is a product of Will Sowerbutts. +- FLASH4 is a product of Will Sowerbutts. -- CLRDIR is a product of Max Scane. +- CLRDIR is a product of Max Scane. -- Tasty Basic is a product of Dimitri Theulings. +- Tasty Basic is a product of Dimitri Theulings. -- Dean Netherton contributed the sound driver interface and the SN76489 - sound driver. +- Dean Netherton contributed the sound driver interface and the + SN76489 sound driver. -- The RomWBW Disk Catalog document was produced by Mykl Orders. +- The RomWBW Disk Catalog document was produced by Mykl Orders. Contributions of all kinds to RomWBW are very welcome. -Licensing -========= + + +LICENSING + RomWBW 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 @@ -198,7 +196,7 @@ 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 RomWBW. If not, see . +with RomWBW. If not, see https://www.gnu.org/licenses/. Portions of RomWBW were created by, contributed by, or derived from the work of others. It is believed that these works are being used in @@ -207,7 +205,7 @@ accordance with the intentions and/or licensing of their creators. If anyone feels their work is being used outside of it’s intended licensing, please notify: -> Wayne Warthen wwarthen@gmail.com + Wayne Warthen wwarthen@gmail.com RomWBW is an aggregate work. It is composed of many individual, standalone programs that are distributed as a whole to function as a @@ -226,19 +224,19 @@ control system to ensure their contributions are clearly documented. All contributions to RomWBW are subject to this license. -Getting Assistance -================== + + +GETTING ASSISTANCE + The best way to get assistance with RomWBW or any aspect of the RetroBrew Computers projects is via one of the community forums: -- [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/) -- [RC2014 Google - Group](https://groups.google.com/forum/#!forum/rc2014-z80) -- [retro-comp Google - Group](https://groups.google.com/forum/#!forum/retro-comp) +- RetroBrew Computers Forum +- RC2014 Google Group +- retro-comp Google Group -Submission of issues and bugs are welcome at the [RomWBW GitHub -Repository](https://github.com/wwarthen/RomWBW). +Submission of issues and bugs are welcome at the RomWBW GitHub +Repository. -Also feel free to email Wayne Warthen at . +Also feel free to email Wayne Warthen at wwarthen@gmail.com. diff --git a/Source/Doc/Basic.h b/Source/Doc/Basic.h index e3d28960..e43876e9 100644 --- a/Source/Doc/Basic.h +++ b/Source/Doc/Basic.h @@ -45,3 +45,19 @@ header-includes: \renewcommand*{\familydefault}{\sfdefault} ``` --- + +```{=gfm} +**$doc_product$ $doc_title$** \ +$doc_ver$ \ +$doc_author$ ([$doc_authmail$](mailto:$doc_authmail$)) \ +$doc_date$ + +``` + +```{=dokuwiki} +**$doc_product$ $doc_title$**\\ +$doc_ver$\\ +$doc_author$ <$doc_authmail$>\\ +$doc_date$\\ + +``` diff --git a/Source/Doc/Build.cmd b/Source/Doc/Build.cmd index 37ab3795..dc15293c 100644 --- a/Source/Doc/Build.cmd +++ b/Source/Doc/Build.cmd @@ -48,9 +48,10 @@ gpp -o %1.tmp -U "$" "$" "{" "}{" "}$" "{" "}" "@@@" "" -M "$" "$" "{" "}{" "}$" ::goto :eof pandoc %1.tmp -f markdown -t pdf -s -o %1.pdf --default-image-extension=pdf --pdf-engine=lualatex || exit /b -pandoc %1.tmp -f markdown -t html -s -o %1.html --default-image-extension=png || exit /b +pandoc %1.tmp -f markdown -t html -s -o %1.html --default-image-extension=png --css pandoc.css --embed-resources || exit /b pandoc %1.tmp -f markdown -t dokuwiki -s -o %1.dw --default-image-extension=png || exit /b -pandoc %1.tmp -f markdown -t gfm -o %1.gfm --default-image-extension=png || exit /b -pandoc %1.tmp -f markdown -t gfm-yaml_metadata_block -s -o %1.txt --markdown-headings=setext --default-image-extension=png || exit /b +pandoc %1.tmp -f markdown -t gfm-yaml_metadata_block -s -o %1.gfm --default-image-extension=png || exit /b +::pandoc %1.tmp -f markdown -t gfm-yaml_metadata_block -s -o %1.txt --markdown-headings=setext --default-image-extension=png || exit /b +pandoc %1.tmp -f markdown -t plain+gutenberg -s -o %1.txt || exit /b goto :eof \ No newline at end of file diff --git a/Source/Doc/ReadMe.md b/Source/Doc/ReadMe.md index aa296138..0d82ee4f 100644 --- a/Source/Doc/ReadMe.md +++ b/Source/Doc/ReadMe.md @@ -1,11 +1,6 @@ $define{doc_title}{ReadMe}$ $include{"Basic.h"}$ -| $doc_product$ $doc_title$ -| $doc_ver$ -| $doc_author$ ([$doc_authmail$](mailto:$doc_authmail$)) -| $doc_date$ - # Overview RomWBW software provides a complete, commercial quality @@ -16,7 +11,7 @@ produced by these developer communities: * [RetroBrew Computers](https://www.retrobrewcomputers.org) * [RC2014](https://rc2014.co.uk), [RC2014-Z80](https://groups.google.com/g/rc2014-z80) -* [retro-comp](https://groups.google.com/g/retro-comp) +* [retro-comp](https://groups.google.com/forum/#!forum/retro-comp) * [Small Computer Central](https://smallcomputercentral.com/) General features include: @@ -27,7 +22,7 @@ General features include: * Video drivers including TMS9918, SY6545, MOS8563, HD6445 * Keyboard (PS/2) drivers via VT8242 or PPI interfaces * Real time clock drivers including DS1302, BQ4845 -* OS Adaptations of CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and FreeRTOS +* OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and FreeRTOS * Built-in VT-100 terminal emulation support RomWBW is distributed as both source code and pre-built ROM and disk @@ -41,7 +36,7 @@ ROM firmware itself: A dynamic disk drive letter assignment mechanism allows mapping operating system drive letters to any available disk media. -Additionally, mass media devices (IDE Disk, CF Card, SD Card) support +Additionally, mass storage devices (IDE Disk, CF Card, SD Card) support the use of multiple slices (up to 256 per device). Each slice contains a complete CP/M filesystem and can be mapped independently to any drive letter. This overcomes the inherent size limitations in legacy @@ -68,10 +63,10 @@ such that all of the operating systems and applications on a disk will run on any RomWBW-based system. To put it simply, you can take a disk (or CF/SD Card) and move it between systems transparently. -A tool is provided that allows you to access a FAT-12/16/32 filesystem. -The FAT filesystem may be coresident on the same disk media as RomWBW slices -or on stand-alone media. This makes exchanging files with modern OSes -such as Windows, MacOS, and Linux very easy. +A tool is provided that allows you to access a FAT-12/16/32 filesystem. +The FAT filesystem may be coresident on the same disk media as RomWBW +slices or on stand-alone media. This makes exchanging files with modern +OSes such as Windows, MacOS, and Linux very easy. # Acquiring RomWBW @@ -104,8 +99,7 @@ found in the $doc_user$. ## Documentation -This document is part of a set of documentation for $doc_product$ that -also includes: +Documentation for $doc_product$ includes: * $doc_user$ * $doc_sys$ diff --git a/Source/Doc/UserGuide.md b/Source/Doc/UserGuide.md index d798d6ce..bff49ba0 100644 --- a/Source/Doc/UserGuide.md +++ b/Source/Doc/UserGuide.md @@ -3112,9 +3112,7 @@ Also feel free to email $doc_author$ at [$doc_authmail$](mailto:$doc_authmail$). # Appendixes -```{=latex} -\newpage -``` +`\newpage`{=latex} ## Appendix A - Device Summary diff --git a/Source/Doc/pandoc.css b/Source/Doc/pandoc.css new file mode 100644 index 00000000..dab2decd --- /dev/null +++ b/Source/Doc/pandoc.css @@ -0,0 +1,327 @@ +/* + * I add this to html files generated with pandoc. + */ + +html { + font-size: 100%; + overflow-y: scroll; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +body { + color: #444; + font-family: sans-serif; + font-size: 12px; + line-height: 1.7; + padding: 1em; + margin: auto; + max-width: 42em; + background: #fefefe; +} + +a { + color: #0645ad; + text-decoration: none; +} + +a:visited { + color: #0b0080; +} + +a:hover { + color: #06e; +} + +a:active { + color: #faa700; +} + +a:focus { + outline: thin dotted; +} + +*::-moz-selection { + background: rgba(255, 255, 0, 0.3); + color: #000; +} + +*::selection { + background: rgba(255, 255, 0, 0.3); + color: #000; +} + +a::-moz-selection { + background: rgba(255, 255, 0, 0.3); + color: #0645ad; +} + +a::selection { + background: rgba(255, 255, 0, 0.3); + color: #0645ad; +} + +p { + margin: 1em 0; +} + +img { + max-width: 100%; +} + +h1, h2, h3, h4, h5, h6 { + color: #111; + line-height: 125%; + margin-top: 2em; + font-weight: normal; +} + +h4, h5, h6 { + font-weight: bold; +} + +h1 { + font-size: 2.5em; +} + +h2 { + font-size: 2em; +} + +h3 { + font-size: 1.5em; +} + +h4 { + font-size: 1.2em; +} + +h5 { + font-size: 1em; +} + +h6 { + font-size: 0.9em; +} + +blockquote { + color: #666666; + margin: 0; + padding-left: 3em; + border-left: 0.5em #EEE solid; +} + +hr { + display: block; + height: 2px; + border: 0; + border-top: 1px solid #aaa; + border-bottom: 1px solid #eee; + margin: 1em 0; + padding: 0; +} + +pre, code, kbd, samp { + color: #000; + font-family: monospace, monospace; + _font-family: 'courier new', monospace; + font-size: 0.98em; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +b, strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +ins { + background: #ff9; + color: #000; + text-decoration: none; +} + +mark { + background: #ff0; + color: #000; + font-style: italic; + font-weight: bold; +} + +sub, sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +ul, ol { + margin: 1em 0; + padding: 0 0 0 2em; +} + +li p:last-child { + margin-bottom: 0; +} + +ul ul, ol ol { + margin: .3em 0; +} + +dl { + margin-bottom: 1em; +} + +dt { + font-weight: bold; + margin-bottom: .8em; +} + +dd { + margin: 0 0 .8em 2em; +} + +dd:last-child { + margin-bottom: 0; +} + +img { + border: 0; + -ms-interpolation-mode: bicubic; + vertical-align: middle; +} + +figure { + display: block; + text-align: center; + margin: 1em 0; +} + +figure img { + border: none; + margin: 0 auto; +} + +figcaption { + font-size: 0.8em; + font-style: italic; + margin: 0 0 .8em; +} + +table { + margin-bottom: 2em; + border-bottom: 1px solid #ddd; + border-right: 1px solid #ddd; + border-spacing: 0; + border-collapse: collapse; +} + +table th { + padding: .2em 1em; + background-color: #eee; + border-top: 1px solid #ddd; + border-left: 1px solid #ddd; +} + +table td { + padding: .2em 1em; + border-top: 1px solid #ddd; + border-left: 1px solid #ddd; + vertical-align: top; +} + +.author { + font-size: 1.2em; +} + +@media only screen and (min-width: 480px) { + body { + font-size: 14px; + } +} +@media only screen and (min-width: 768px) { + body { + font-size: 16px; + } +} +@media print { + * { + background: transparent !important; + color: black !important; + filter: none !important; + -ms-filter: none !important; + } + + body { + font-size: 12pt; + max-width: 100%; + } + + a, a:visited { + text-decoration: underline; + } + + hr { + height: 1px; + border: 0; + border-bottom: 1px solid black; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { + content: ""; + } + + pre, blockquote { + border: 1px solid #999; + padding-right: 1em; + page-break-inside: avoid; + } + + tr, img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + @page :left { + margin: 15mm 20mm 15mm 10mm; +} + + @page :right { + margin: 15mm 10mm 15mm 20mm; +} + + p, h2, h3 { + orphans: 3; + widows: 3; + } + + h2, h3 { + page-break-after: avoid; + } +}