My work has decided to issue their own certificate authority (CA) to handle different aspects of our work securely without paying for certificates. Cryptographically sign emails Encrypt email cont...
will byers stan first human second

izzy's playlists!
Monterey Bay Aquarium
sheepfilms

JVL
we're not kids anymore.
$LAYYYTER
hello vonnie
cherry valley forever

ellievsbear
Acquired Stardust

JBB: An Artblog!

Origami Around

blake kathryn
Misplaced Lens Cap

pixel skylines
styofa doing anything

Kiana Khansmith
RMH

seen from Latvia
seen from Germany
seen from United States

seen from United States
seen from Netherlands
seen from United States

seen from Japan

seen from Poland
seen from Spain

seen from China

seen from United States
seen from China

seen from Czechia
seen from Belgium
seen from United States

seen from Singapore
seen from Netherlands

seen from Singapore
seen from United States
seen from Romania
@jossco
My work has decided to issue their own certificate authority (CA) to handle different aspects of our work securely without paying for certificates. Cryptographically sign emails Encrypt email cont...

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch β’ No registration required β’ HD streaming
Importing a single math simple from a LaTeX package
The mathabx package has a bunch of somewhat rare mathematical symbols, but loading the package replaces the entire math font (and some of the replacements are not so nice). Over at LaTeX Stack Exchange there is a general method for loading only the symbols that one needs.
VirtualBox, Shared Folders, and Symlinks
Contrary to the documentation, VirtualBox 4.1.8+ does not support the creation (on the guest system) of symlinks inside a shared folder -- at least not by default. Support can be re-enabled thusly:
VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1
Presumably the caveats mentioned in the documentation still apply; namely, the host system must support symlinks (i.e., not Windows), and the guest must be running Linux or Solaris.
Here's a handy trick: you can use biber in tool mode to pull citations out of a generated .bcf file, and export them in bibtex. And there is a switch that will eliminate crossreferences, by incorporating the data into the directly into the main bibtex entry:
biber --output_format=bibtex --output_resolve prawf3.bcf
Programming LaTeX3, packages, category codes, tokens and token lists, variables, mappings and functions
Why, exactly, is it that the only useful introductory tutorial for LaTeX3 is a two-year-old archived copy of an even older series of blog posts?

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch β’ No registration required β’ HD streaming
Who can remember when to use \@ in a (La)TeX document? I thought I knew, but an exception caught me by surprise today.
In approximate detail, the idea of \@ is to indicate when punctuation is or isnβt ending a sentence. Why would you want to do that? By default, Plain TeX and LaTeX both have aβ¦
Checkout one file from another branch
When you give a path spec to git checkout, it does not switch branches, but instead checks the indicated file out from the other branch. So one can merge changes to file from branchname into current like so:
git checkout branchname -- path/to/file
OK, but what if file already exists on the current branch, and you want to add a copy of the version from branchname?
git show branchname:path/to/file > newfile
Building custom math symbols is tricky, if you want them to resize properly and get the correct horizontal spacing. But this post is a good intro.
Center an overly wide table
Using the adjustbox package:
\begin{adjustbox}{center} you table here \end{adjustbox}
If you don't have any verbatim contents in the table, you can probably get away without adjustbox, like this:
\makebox[\textwidth][c]{your table here}
Visual merge/diff tool
p4merge is a decent visual merge and diff tool that integrates well with git, and supports 3 way merge. To use as an external merge and diff tool, you first need to download the executable (which is free). Then save this script as /usr/local/bin/p4merge:
#!/bin/bash for arg; do [[ $arg = /* ]] || arg=$PWD/$arg; absargs+=("$arg"); done; /Applications/p4merge.app/Contents/Resources/launchp4merge "${absargs[@]}"
Then configure git like this:
$ chmod 755 /usr/local/bin/p4merge $ git config --global merge.tool p4merge $ git config --global mergetool.prompt false $ git config --global mergetool.keepBackup false $ git config --global mergetool.p4merge.path /usr/local/bin/p4merge
Then both the commands git difftool and git mergetool will launch p4merge.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch β’ No registration required β’ HD streaming
Setting git attributes
Just like with the gitignore file, attributes can be set at the user level (by default in the file ~/.config/git/attributes), or in the repository at the directory level using a .gitattributes file.
For a LaTeX project, you probably want to set at least these:
*.pdf binary .gitignore export-ignore .gitattributes export-ignore *.tex diff=tex
The last line should define both what a word looks like in a TeX file (useful if you are setting git diff to compare words instead of lines), and should also include the section or subsection commands with the line numbers for each chunk.
gitignore for LaTeX
Here is a quick .gitignore file for LaTeX projects. Add a copy to the root directory of your repository for project-specific ignores, or you can paste these lines into ~/.config/git/ignore to ignore these files universally.
*.pdf *.aux *.glo *.idx *.log *.toc *.ist *.acn *.acr *.alg *.blg *.dvi *.glg *.gls *.gin *.ilg *.ind *.lof *.lot *.maf *.mtc *.mtc1 *.nav *.out *.synctex.gz *.cb *.cb2
Sample git config file
Here's an excerpt from my .gitconfig file. You can create a user-level configuration file as ~/.gitconfig.
[core] ; default exclude file is ~/.config/git/ignore excludesfile = /path/to/gitignore ; can also set editor with $GIT_EDITOR editor = /path/to/edit pager = less --chop-long-lines [alias] co = checkout ci = commit st = status br = branch hist = log --pretty=format:\"%h%x09%C(white blue bold)%d%Creset%x20%s%x09%C(cyan)(%cr)%Creset \" --graph --date=short --branches --all --color tree = log --pretty=format:\"%h%x09%C(white bold)%d%Creset%x20%s \" --graph --branches --all --simplify-by-decoration --color type = cat-file -t dump = cat-file -p last = cat-file commit HEAD ldiff = diff --color-words [color] ; The colors might not work in Terminal.app ui = auto branch = auto [color "branch"] current = blue bold remote = white [color "status"] added = white bold changed = blue bold untracked = red branch = cyan bold [color "diff"] old = red new = white [push] default = simple [diff] ; how many lines of context to display in diff? default=3 context=1
Note that you can set values in this file from the command line like this:
git config --global core.editor /usr/local/bin/emacs
repository permissions
If you are setting up a repo on the unix system to share with others inside the department, you need to set the permissions correctly so that they can access it. To give access to eveyrone in IT:
mkdir my_repo.git chmod +rwx:g my_repo.git
To limit access to just the astra group, you also need this:
chgrp astra my_repo.git chmod +rwx:g my_repo.git chmod g+s my_repo.git
That last line is critical; it recursively sets the group ID of subfiles and subdirectories. If you've already got a repo and you didn't do this up front, you'll need to also reset some things recursively:
chmod -R +rwx:g my_repo.git chgrp -R astra my_repo.git find my_repo.git -type d -exec chmod g+s '{}' \;
biber 1.8 error: /var/... file not found
Update β Stack Exchange's canonical solution for this issue is much simpler:
rm -rf `biber --cache`
Biber will occasionally (twice, in the past 6 months) stop working on my machine. The culprit seems to be a transient bug in version 1.8. The result is that biber simply begins to fail on every run, and includes something like this in the error messages:
Running Biber... data source /var/folders/m1/qbtvykm558z83gx42fg582_w0084sz/T/par-6a6f65/cache-1ea1c894d061cba85b64a1b380f6c297de02c7c4//inc/lib/Biber/LaTeX/recode_data.xml not found in . INFO - This is Biber 1.8 INFO - Logfile is 'bounded-domain.blg' FAILURE
You can fix this manually by deleting the cache directory from the error message. So for the above:
sudo rm -rf /var/folders/m1/qbtvykm558z83gx42fg582_w0084sz/T/par-6a6f65

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch β’ No registration required β’ HD streaming
Improving diff for LaTeX source
git diff --color-words will do a word-level diff, instead of the usual line-level diff. I don't know how to make that the default behaviour, but it's easy enough to create an alias in your .gitconfig file:
[alias] ldiff = diff --color-words
Then git ldiff mysource.tex will do the trick.
That's still not quite nice enough, because by default a command like \section{Introduction} looks like one big word. To get smarter word-level parsing, you need to add this to a .gitattributes file:
*.tex diff=tex
git completion
If you use command completion for bash, you should be aware that your git distribution includes a couple of interesting add-ons:
your_git_installation/etc/bash_completion.d/git-completion.bash your_git_installation/etc/bash_completion.d/git-prompt.sh
The first file adds git to the bash completion module; all you have to do is source the git completion file in your .bash_rc file, and then bash will understand how to complete git commands.
git-prompt.sh lets you customize your bash prompt to include information from git whenever the working directory is part of a git repo. For example, my prompt looks like this:
(567)niflheim:~/path/to/repo[master *%]$
That last bit in the square brackets is the name of the current branch, followed by symbols to show that I have untracked files, and that some tracked files have been modified since the last commit.
Instructions are included in the file.