5

So, I generally like letting LaTeX make most of my typesetting decisions for me--- it generally knows what is typographically "good" better than I do.

One area I just haven't been able to turn control over to LaTeX for is margin size. As has been noted before, the default margins are fairly large in LaTeX. I understand that this is so in order to allow for a reasonable number of characters per line (I've seen 60-80 characters frequently quoted as the target range).

Currently, I am just setting exact margins with geometry (e.g., with \usepackage[margin=1in]{geometry} in the preamble, because 60 characters is just too strange looking for me. Lines of around 80 characters I'm fine with, though.

Is there any way to tell LaTeX to set the margins larger without having to fix an absolute length (like 1 inch above)? Say by telling LaTeX to aim more for the 80 character-per-line limit?

  • 1
    Have you considered the koma-script classes (beginning with scr? These are designed, as I understand it, to get just this sort of setting right. (Whether it will look too strange I can't say...) – cfr Jan 28 '14 at 4:24
  • 3
    The typearea package that comes as part of KOMA-Script but can be used with the standard classes seems to be exactly what you want (this is probably what @cfr meant) – clemens Jan 28 '14 at 8:58
  • 1
    The rmpage package has options such as wider. – Andrew Swann Jan 28 '14 at 9:28
  • @AndrewSwann The rmpage package with the widish option seems to give me just what I want. This is could be an answer, and is in fact what I've gone with. Thanks! – Dennis Jan 28 '14 at 17:48
  • Dropping this link here since egreg's answer provides a helpful approach to directly specify the number of characters per line: nicely force 66 characters per line. – Dennis Feb 26 '14 at 0:00
2

The rmpage package has text width options of the form wider, widest, narrower, with variations like touchwider, t@ouchnarrower. It also has text height options such as long and shorter.

Sample output

\documentclass[a4paper]{article}

\usepackage[wider]{rmpage}

\usepackage{lipsum} %for dummy text

\begin{document}

\lipsum[1-5]

\end{document}

which reports

   the width of one column = 980 (characters x 10) 

Package rmpage Warning: \textwidth is too wide for comfy reading.

%
% -----------------------
% LaTeX layout parameters
% -----------------------
%
   \paperheight = 845.04684pt
   \textheight = 634.0pt
   \paperwidth = 597.50787pt
   \textwidth = 430.9705pt

in the .log file. A widish option will not be regard as too wide for comfy reading.

The package is a predecessor to the geometry package, but is often a useful alternative, with the added bonus of a fun and informative manual.

6

I don't understand your unwillingness to use the geometry package. However, you can use the layout package to see what lengths you can touch in order to customize the margins, and how they look in your document. Then you can adjust the size of \textwidth or \hoffset and check the results:

\documentclass[a4paper,12pt]{article}
\usepackage{layout} % show a page layout
\setlength{\hoffset}{0.0in}
\setlength{\oddsidemargin}{-.5in}
\setlength{\textwidth}{.85\paperwidth}
\usepackage{blindtext}  % dummy text
\begin{document}
\layout
\blinddocument 
\end{document}

Then, setting a text width to 80 characters should be rather obvious with a monospaced font, but with a proportional font it simply isn't possible. A workaround could be obtain a good Average number of characters in one line and change \textwith accordingly.

But if your problem is simply some homesickness of Word's style, the simplest way is use the wordlike package:

\documentclass[a4paper,12pt]{article}
\usepackage{wordlike}
\usepackage{blindtext} 
\begin{document}
\blinddocument
\end{document}

Take a look also to the savetrees package (just change "wordlike" by "savetrees" in the above MWE).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.