Well, all the hard work and perseverance has finally paid off. I have passed my thesis defense, and I don't have any revisions to my thesis! Those so inclined may download my dissertation for fun and enrichment.
Next stop, adulthood!
Well, all the hard work and perseverance has finally paid off. I have passed my thesis defense, and I don't have any revisions to my thesis! Those so inclined may download my dissertation for fun and enrichment.
Next stop, adulthood!
Today I dreamt of paired, hyphenated words.
And the bonus word:
I will never utter the mundane word 'hookah' again. Why prefer a common, understandable word when a ludicrous, fanciful one is available?
On certain pages---and only certain pages---of my LaTeX-written dissertation, sub-pixel anti-aliasing was strangely unavailable. On these pages, where I'd embedded PDFs created in Illustrator, the print quality would also suffer. And this behavior only appeared in documents generated on one computer, which has pdftex-1.40.12; not my other, which has pdftex-1.40.11. Moving the PDF file from one computer to the other preserved the behavior of that PDF.
After a little hunting, I determined the problem to occur only when Illustrator saved its PDFs in a CMYK color space, which were then embedded in the newer pdftex-generated document. Telling Illustrator to use an RGB color space for that document fixed the problem.
The things you learn as a nuclear engineer.
Google voice transcription of background noise when someone accidentally pocket dialed me:
Hey hey, how sorry bye. Hey, Just okay bye bye bye. Ciao. Thank you. Hello How, yeah Okay bye. Ohh okay, bye. But quo, okay bye bye, okay bye okay Kirk, bye. Cook please bye hey. Hello Hello. Hello. I think. Bye still talk, cost the commercial. Okay bye. Dick, call and Mark, dot, com hey, book. Hey check. Thanks, hey, spoke out bye drop left bye bye, back okay okay bye bye. Hey. Okay bye. Okay, bye Park City. Hey, hey. Hey, bye hey hey you, bye hey pitch. That's perfect book, good okay. I'll talk to you. If you are. I love you bye bye. What's up are you back bro. Hello, hey hello.
Clearly, Google expects a large fraction of phone messages to consist of "hey," "hello," "bye."
The Rackham dissertation requirements state that "at least" the first sentence of all figure captions must appear in the "List of figures" at the beginning of the thesis. I follow the stylistic convention of having a brief description of the figure as the first sentence, and a sometimes lengthy elaboration afterward. It is unwieldy to have a paragraph of explanatory text appear in the index at the beginning, so I've been using the \caption[as it appears in index]{as it appears on the page}
feature of LaTeX captions to have only the first sentence show in the index. To prevent the duplication of text, and to comply with the requirement that the first sentence must exactly match, I wrote the following simple but very useful LaTeX macro:
\newcommand{\Caption}[2]{\caption[#1]{#1#2}}
Now, I can write my caption as \Caption{Cross-sections in my test problem.}{Light regions have $\sigma=1$.}
without having to manually duplicate the first sentence.
If anyone else is as tired as I am of spurious warnings when compiling Epetra, Teuchos, and Belos modules in Trilinos with -Wall -Wextra
, I have created a patchfile that corrects the deficient code.
I've been less than pleased with TeXShop on Lion. I do most of my editing in Vim using Vim-LaTeX, but I compile with TeXShop. Most importantly, I sometimes use SyncTeX to jump between my compiled document and source.
To switch away from TeXShop, I want both an integrated compiler and an external editor with SyncTeX. Skim with this configuration fit the bill. Yet Vim-LaTeX won't play nicely with my dissertation, which uses a file for each chapter and the TeXShop convention of
% !TEX root = ../thesis.tex
to denote the true TeX file. The solution involves this feature of Vim-LaTeX, and the following function I wrote:
" Look for main file by looking in the first 20 lines, same as TeXShop, for:
" % !TEX root = [filename].tex
" Author: Seth R. Johnson
let g:Tex_MainFileExpression = 'SRJMainFile(modifier)'
function! SRJMainFile(fmod)
let s:Tex_Match = '\v^\s*\%\s+!TEX\s+root\s+\=\s+\zs(.*\.tex)\ze\s*$'
let s:lnum = 1
while s:lnum < 20
let s:basefile = matchstr( getline(s:lnum), s:Tex_Match)
if !empty(s:basefile)
break
endif
let s:lnum += 1
endwhile
if !empty(s:basefile)
let s:origdir = fnameescape(getcwd())
let s:newdir = fnameescape(expand('%:p:h'))
exec 'cd'.s:newdir
let s:basefile = fnamemodify(s:basefile, a:fmod)
exec 'cd'.s:origdir
else
let s:basefile = expand('%'.a:fmod)
endif
return s:basefile
endfunction
" Command-R will write, open for viewing, compile, go to the end of the quickfix, hide the
" preview, switch back to main window
map <D-r> :w<cr><leader>lv<leader>llG<C-w>p:q<cr>
imap <D-r> <ESC><D-r>
" Inverse search
nnoremap <D-S-LeftMouse> <leader>ls
Now typing \ll
in my individual chapter files will compile the true thesis. Typing \lv
will open the thesis in Skim, \ls
will jump from the TeX source to the corresponding output line, and command-shift-clicking in Skim will cause MacVim to jump to the appropriate source line. Command-R is a shortcut to compile and view.
UPDATE 2011/9/25: I've uploaded my vim scripts to GitHub.
UPDATE 2011/9/27: Modify the "reverse lookup" in Skim to be --remote-silent +":silent %line" "%file"
to avoid the obnoxious Press ENTER to continue
prompt in Vim.
I've had my research in a git repository for more than a year and a half. Because most of my computational experiments are small (i.e., single processor rather than supercluster), I've stored a number of results in the repository rather than in a separate directory. Well, 18 months and many obsolete and regenerated results later, my repository is rather bloated. Preferring to only modify my thesis, figures, and related files on my new MacBook Air, I chose to create a new "thesis" repository.
To preserve the history of modifications I'd already performed, git filter-branch
is the way to go. (Stack Overflow was helpful in finding out the details.) The only sticking point was in getting the large HDF5 files to be removed in garbage collection (git gc
): removing .git/refs/original
and expiring the reflog.
#!/bin/bash
git clone --no-hardlinks /Users/seth/_research thesis
cd thesis
git filter-branch -f --index-filter "git rm -rf --cached --ignore-unmatch \
research_* _testproblems* _python* meeting_notes* *.h5 *.silo \
.gitignore .gitxattr_json anisotropic_ss ideas_include technotes" \
--prune-empty -- --all
git remote rm origin
rm -rf .git/refs/original/
git reflog expire --expire=0 --all
git gc --prune=now
Anyhow, I now have a nice, clean, 20MB repository suitable for putting on an ultraportable and for later uploading to GitHub/elsewhere to serve mankind.
After updating my vim installation, my command set iskeyword+=:
in ~/.vim/after/ftplugin/tex.vim
stopped functioning. (This was recommended by the Vim-LaTeX project.) My auto-completion for chapter references chap:intro
and equations eq:blahBlah
was broken because the colon was no longer interpreted as a command character.
To make a long story short, I found the :verbose set isk
command which told me the last file to set iskeyword
:
/Applications/MacVim.app/Contents/Resources/vim/runtime/syntax/tex.vim
Somehow, that syntax file is hard-wired to reset iskeyword
. The solution is to add the following line or equivalent:
let g:tex_isk='48-57,a-z,A-Z,192-255,:'
Those who are in the nuclear engineering business might be interested to know that I've updated the LaTeX class for ANS transaction summaries. It is now more compliant with the ANS-specified guidelines, and it uses a much better version of the Times math font.
Reference Man is defined as being between 20-30 years of age, weighing 70 kg, is 170 cm in height, and lives in a climate with an average temperature of from 10 to 20 degrees Centigrade. He is a caucasian and is a Western European or North American in habitat and custom.
I sucessfully completed my Ph.D. in nuclear engineering at the University of Michigan, Ann Arbor, in 2011.