Instead of iterating over all keys/values, would it not be easier to do e.g.

```ruby
opts << '--process-html' if params.fetch(:process_html, false)
opts << '--compatibility' if params.fetch(:compatibility, false)
```

Or even better, maybe simply do

```ruby
opts = params[:opts]
```

which then lets the user use the full MultiMarkdown executable without bothering about writing things in a Ruby-like way:

```ruby
filter :multimarkdown, opts: %w( --compatibility --to-latex)
```

and reduces the filter implementation quite a bit in size.