Combine the stock, orange juice, spices and ½ teaspoon salt in a saucepan. Bring to the boil and stir in the couscous. Remove from the heat, cover and leave to soak for 10 minutes.
Put the raisins, tomatoes, preserved lemon, if using, herbs, garlic and oil in a large bowl and toss well. Stir in the soaked couscous and season with salt and pepper. Serve warm or leave to cool and serve at room temperature.