On 2017/03/21 15:41:20 -0700, Paul E. McKenney wrote: > On Wed, Mar 22, 2017 at 07:04:45AM +0900, Akira Yokosawa wrote: >> On 2017/03/22 3:35, Paul E. McKenney wrote: >>> On Mon, Mar 20, 2017 at 01:58:15PM +0900, Akira Yokosawa wrote: >>>> >From 25fb5aea63049454a5df2c923dac59285fe40720 Mon Sep 17 00:00:00 2001 >>>> From: Akira Yokosawa <akiyks@xxxxxxxxx> >>>> Date: Mon, 20 Mar 2017 13:10:38 +0900 >>>> Subject: [PATCH] Choose 'cmtt' font for code snippets in targets 'msnt' and 'mstx' >>>> >>>> By specifying "cmtt" (Computer Modern Teletype) font as \ttdefault >>>> in verbatim, verbbox, table, tabular, tabulary, and minipage >>>> environments, we can improve consistency of looks independent of >>>> monospace font choice for main text. cmtt font is more than suitable >>>> for listing of code snippet and program output. >>>> >>>> However, when mixed used with Times Roman (clone) font, cmtt's >>>> slightly lower x-height than Times Roman, and its similar thickness >>>> as Times Roman, it is not distinctive enough as can be seen in >>>> "mslm" target. >>>> >>>> In this respect, "txtt" and its enhanced version "newtxtt" fonts >>>> are more suitable as is described in [1]. >>>> >>>> This commit enables the font choice of cmtt for code snippets in >>>> targets "msnt" and "mstx". >>>> >>>> Help messages in Makefile are updated accordingly. >>>> >>>> Any feedback on the font choice is welcome. >>>> >>>> [1] Excerpt from newtxtt documentation: >>>> >>>> This package provides an interface to another alternative---the >>>> typewriter fonts provided with txfonts, with some enhancements. >>>> They have the same widths as cmtt, but are taller, heavier, >>>> more geometric and less shapely, with very low contrast, and >>>> are more suited to match Roman fonts of height and weight >>>> approximating that of Times. >>>> >>>> Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx> >>> >>> Queued and pushed, thank you! >>> >>> I did remove some trailing whitespace that this patch added to >>> perfbook.tex. Please let me know if this whitespace was needed for >>> some reason. >> >> My bad. And thanks for the fix. >> >> Is there any config option to flag trailing whitespaces at "git add"? > > There is! > > You can create a pre-commit hook, which is a script that lives in your > .git/hooks/pre-commit file. I believe that the default hook checks for > trailing whitespace. You need to make the script executable. To make > the commit fail, make the script exit non-zero. If you want to force the > commit despite the script complaining, give "git commit" the "-n" flag. > > It has been years since I set mine up, so I am probably forgetting > something, but there is always: > > https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks Thanks! I'll try it. > >> And please try the modified targets and see if you really want to promote >> "msnt" as the default font choice. > > Now that you mention it, I get this: > > ! LaTeX Error: File `newtxtt.sty' not found. > > I downloaded this file from: > > ftp://ftp.dante.de/tex-archive/fonts/newtxtt/tex/newtxtt.sty > > and it was much happier. But I bet that I should put it somewhere > other than in the main perfbook directory, given that I don't want > "git status" to gripe about it forever. Any advice on location? I thought you are already on Ubuntu 16.04. TeX Live 2015/Debian package should have this package. But let me check later. > > One thing I am not all that happy with is that it is hard for me > to distinguish the inline fixed-width font from the normal font. > Or is that the fault of my setup? You might be accustomed to the thinner courier font. newtxtt font looks thiker than Times Roman, doesn't it? Thanks, Akira > > Thanx, Paul > > Thanx, Paul > >>>> --- >>>> Makefile | 17 +++++++++++------ >>>> perfbook.tex | 13 +++++++++++++ >>>> 2 files changed, 24 insertions(+), 6 deletions(-) >>>> >>>> diff --git a/Makefile b/Makefile >>>> index 2c88e6c..e5f620c 100644 >>>> --- a/Makefile >>>> +++ b/Makefile >>>> @@ -110,7 +110,8 @@ perfbook-msns.tex: perfbook.tex >>>> sed -e 's/\[scaled=\.94\]{couriers}/{courier}/' < $< > $@ >>>> >>>> perfbook-mstx.tex: perfbook.tex >>>> - sed -e 's/usepackage\[scaled=\.94\]{couriers}/renewcommand*\\ttdefault{txtt}/' < $< > $@ >>>> + sed -e 's/usepackage\[scaled=\.94\]{couriers}/renewcommand*\\ttdefault{txtt}/' \ >>>> + -e 's/setboolean{cmttforcode}{false}/setboolean{cmttforcode}{true}/' < $< > $@ >>>> >>>> perfbook-msr.tex: perfbook.tex >>>> sed -e 's/\[scaled=\.94\]{couriers}/[scaled=.94]{nimbusmono}/' < $< > $@ >>>> @@ -121,8 +122,10 @@ perfbook-msn.tex: perfbook.tex >>>> @echo "## This target requires font package nimbus15. ##" >>>> >>>> perfbook-msnt.tex: perfbook.tex >>>> - sed -e 's/\[scaled=\.94\]{couriers}/[zerostyle=a]{newtxtt}/' < $< > $@ >>>> + sed -e 's/\[scaled=\.94\]{couriers}/[zerostyle=a]{newtxtt}/' \ >>>> + -e 's/setboolean{cmttforcode}{false}/setboolean{cmttforcode}{true}/' < $< > $@ >>>> @echo "## This target requires font package newtxtt. ##" >>>> + @echo "## If build fails, try target 'mstx' instead. ##" >>>> >>>> perfbook-mslm.tex: perfbook.tex >>>> sed -e 's/%\\usepackage{lmodern}/\\usepackage{lmodern}/' \ >>>> @@ -181,17 +184,19 @@ help: >>>> @echo >>>> @echo "Experimental targets:" >>>> @echo " Full, Abbr." >>>> - @echo " perfbook-msr.pdf, msr: 2c with regular thickness courier clone" >>>> - @echo " perfbook-msn.pdf, msn: 2c with narrow courier clone" >>>> - @echo " perfbook-mstx.pdf, mstx: 2c with txtt as monospace" >>>> @echo " perfbook-msnt.pdf, msnt: 2c with newtxtt as monospace (non-slashed 0)" >>>> + @echo " perfbook-mstx.pdf, mstx: 2c with txtt as monospace" >>>> @echo " perfbook-mslm.pdf, mslm: 2c with lmtt (Latin Modern Typewriter) as monospace" >>>> @echo " (Latin Modern is a clone of Computer Modern with additional type faces)" >>>> + @echo " perfbook-msr.pdf, msr: 2c with regular thickness courier clone" >>>> + @echo " perfbook-msn.pdf, msn: 2c with narrow courier clone" >>>> + >>>> @echo " perfbook-1csf.pdf, 1csf: 1c with sans serif font" >>>> @echo " perfbook-msns.pdf, msns: 2c with non-scaled courier" >>>> + @echo " \"msnt\" requires \"newtxtt\". \"mstx\" is fallback target for older TeX env." >>>> + @echo " \"msnt\" and \"mstx\" use \"cmtt\" font for code snippet." >>>> @echo " \"msr\" and \"msn\" require \"nimbus15\"." >>>> @echo " \"msn\" doesn't cover bold face for monospace." >>>> - @echo " \"msnt\" requires \"newtxtt\"." >>>> @echo " \"1csf\" requires recent version (>=1.3i) of \"mathastext\"." >>>> >>>> clean: >>>> diff --git a/perfbook.tex b/perfbook.tex >>>> index e8234c4..94f2f4b 100644 >>>> --- a/perfbook.tex >>>> +++ b/perfbook.tex >>>> @@ -15,6 +15,7 @@ >>>> % Improves the text layout >>>> \usepackage{microtype} >>>> \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts >>>> +\usepackage{etoolbox} >>>> >>>> \usepackage{lscape} >>>> \usepackage{epsfig} >>>> @@ -64,6 +65,9 @@ >>>> \newboolean{sansserif} >>>> \setboolean{sansserif}{false} >>>> \newcommand{\IfSansSerif}[2]{\ifthenelse{\boolean{sansserif}}{#1}{#2}} >>>> +\newboolean{cmttforcode} >>>> +\setboolean{cmttforcode}{false} >>>> +\newcommand{\IfCmttForCode}[2]{\ifthenelse{\boolean{cmttforcode}}{#1}{#2}} >>>> >>>> \newcommand{\OneColumnHSpace}[1]{\IfTwoColumn{}{\hspace*{#1}}} >>>> >>>> @@ -74,6 +78,15 @@ >>>> \renewcommand{\path}[1]{\nolinkurl{#1}} % workaround of interference with mathastext >>>> }{} >>>> >>>> +\IfCmttForCode{ >>>> +\AtBeginEnvironment{verbatim}{\renewcommand{\ttdefault}{cmtt}} >>>> +\AtBeginEnvironment{verbbox}{\renewcommand{\ttdefault}{cmtt}} >>>> +\AtBeginEnvironment{table}{\renewcommand{\ttdefault}{cmtt}} >>>> +\AtBeginEnvironment{tabular}{\renewcommand{\ttdefault}{cmtt}} >>>> +\AtBeginEnvironment{tabulary}{\renewcommand{\ttdefault}{cmtt}} >>>> +\AtBeginEnvironment{minipage}{\renewcommand{\ttdefault}{cmtt}} >>>> +}{} >>>> + >>>> \begin{document} >>>> >>>> %%HTMLSKIP >>>> -- >>>> 2.7.4 >>>> >>> >>> >> > > -- To unsubscribe from this list: send the line "unsubscribe perfbook" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html