What's the best way to write nested "and" clauses?

Solution 1:

Parallel construction is good for simplifying sentences for your audience:

I went to the store to buy regular [milk], chocolate [milk], and soy milk.

Here, the parallel construction removes the repeated word milk, simplifying communication and making it more pleasing to the ear. Unfortunately, as you've noted, it can become awkward when not all of the elements of the sentence fit into the parallel structure. It's not too bad if you keep the parallel elements together at the beginning of the list:

I went to the store to buy regular, chocolate, and soy milk, eggs, apples, and bread.

That's still fairly easy to understand, and it keeps people from mis-parsing the list as “eggs milk, . . . and soy milk.” However, in more complex constructions, you may simply want to keep all words for clarity. You can break up the repeated words to help reduce the monotony:

I went to the store to buy eggs, milk, bread, apples, chocolate milk, and soy milk.

Solution 2:

One option is not to write your sentence, and instead to write a different sentence. Of course, that's the option you already pointed out:

I went to the store to buy eggs, regular milk, chocolate milk, soy milk, apples, and bread.

And WS2's answer gives another sentence you could say instead. But if you want to stick to your original sentence, you have several options:

  1. Leave it the way it is. It's understandable, but it requires effort on the part of the reader. It's not a good sentence, but it's not ungrammatical.
  2. Use semicolons as well as commas:

    I went to the store to buy: eggs; regular, chocolate and soy milk; apples; and bread.

    This doesn't seem great stylistically, but it has the advantage of being readily comprehensible. If you want to stick with convention, this may be the best choice.

  3. Add parentheses:

    I went to the store to buy eggs, (regular, chocolate and soy) milk, apples, and bread.

    This is also not great stylistically, but I think it's comprehensible. However, some people might complain that that's Not What Parentheses are For.

  4. Leave out the interior comma(s):

    I went to the store to buy eggs, regular chocolate and soy milk, apples, and bread.

    This has the advantage of being closer to how I'd actually say it out loud, with pauses where the commas are and no pauses where they aren't. I also think it's comprehensible, but it's got two disadvantages: someone might read regular as modifying chocolate, and leaving out the comma is unconventional at best.

None of these options seem all that great to me. You may want to reconsider writing this sentence.

Solution 3:

I would say 'I went to the shop to buy eggs, milk (regular, chocolate and soy), some apples and bread.' The introduction of the word 'some' is to help separate the 'nested' list from the main items.

Or another way might be to leave the nested items to the end: 'I went to the shop to buy eggs, apples, bread, and milk - regular, chocolate and soy'. That way it should be clear to anyone that 'regular, chocolate and soy' can only be categories of milk.

Solution 4:

Best? It depends on your priorities. For maximum readability and minimum confusion, something like this is best:

I went to the store to buy:

  • eggs
  • milk:
    • regular
    • chocolate
    • soy
  • apples
  • bread

Solution 5:

You could easily increase clarity by changing the order of the items, putting the milk types at the end.

I went to the store to by eggs, bread, apples, and regular, chocolate, and soy milk.

Now "regular" clearly does not modify one of the non milk items, and it is fairly obvious that "chocolate" is a modifier rather than a noun.