4

I have large outer margins and I want some time more text, on the left for even pages and on the right for odd pages. I tried:

\begin{addmargin*}
...
\end{addmargin*}

But the result is good only on the first page. Can anyone help me?

Here is my MWE (after trying to implement solutions in Dennis's answer):

\documentclass{scrbook} 
\usepackage[inner=1.5 cm,outer=5.5cm]{geometry} 
\usepackage{lipsum} 
%\usepackage{scrextend} % load it if you're not using a KOMA class 
\usepackage{lipsum} 
\begin{document} 
\chapter{One} 
\lipsum[1-6] 
\section{One-one} 
\lipsum[1-3] 
\setlength{\oddsidemargin}{15.5pt} 
\setlength{\evensidemargin}{15.5pt} 
\lipsum[2-11] 
\lipsum[1-12] 
\setlength{\oddsidemargin}{0pt} 
\setlength{\evensidemargin}{0pt} 
\section{One-two} 
\lipsum[1-3] 
\end{document}
  • Did you try using the geometry package? Which document class you are using? – Masroor Dec 26 '13 at 7:00
  • 2
    KOMA Script includes its own package for adjust the layout, it is typearea and I suggest to use it instead of geometry. Take a look at the documentation. – Aradnix Dec 26 '13 at 18:55
  • The addmargin* environment has one mandatory (and one optional) argument, what I miss in your example before the MWE. It is in my eyes thought for short margin changes. And note, what can be read in KOMA-Script documentation: “Whether a page is going to be on the left or right side of the book can not be determined for certain in the first LATEX run.” – Speravir Dec 27 '13 at 23:40
3

I think all problems are now solved (also with the header) with this code:

\documentclass[twoside]{scrbook}
\usepackage{adjmulticol}
\usepackage{xcolor,graphicx,lipsum,multicol}
\usepackage[paperwidth=17.5cm,paperheight=23cm, inner=1.5cm,outer=5.5cm,top=3cm,bottom=3cm]{geometry}
\newenvironment{TwoCol}{\small\begin{adjmulticols}{2}{0cm}{-4cm}}{\end{adjmulticols}}
\newenvironment{OneCol}{\small\begin{adjmulticols}{1}{0cm}{-4cm}}{\end{adjmulticols}}
\makeindex

\usepackage{fancyhdr}
\setlength{\headheight}{15pt}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{2pt}
\fancyhf{}
\fancyhfoffset[LE]{4cm}%
    \fancyhfoffset[RO]{4cm}%
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\fancypagestyle{plain}{%
\fancyhead{} % get rid of headers
\renewcommand{\headrulewidth}{0pt} % and the line
}

\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{One}

\lipsum[1]\marginpar{\includegraphics[width=3cm]{pseudosfera.png}}
\section{One-one}
\begin{OneCol}
\lipsum[1-15]
\end{OneCol}
\marginpar{\textcolor{cyan}{Mauris ut leo. Cras
viverra metus rhoncus sem. Nulla et lectus vestibulum urna
fringilla ultrices. Phasellus eu tellus sit amet tortor gravida
placerat. Integer sapien est, iaculis in, pretium quis, viverra
ac, nunc.}}\lipsum[1]
\lipsum[2]
\lipsum[1]\marginpar{\includegraphics[width=3cm]{pseudosfera.png}}
\section{One-two}
\lipsum[1]

\begin{TwoCol}
\lipsum[2-12]
\end{TwoCol}

\lipsum[3-4]
\end{document}

I show some page of output: enter image description here enter image description here

  • Looks good! Glad you were able to find a fix. If you think that this answers your question, feel free to mark it as the accepted answer. – Dennis Dec 31 '13 at 21:33
2

To expand upon MMA's suggestion, you could probably fix the issue by using the geometry package with the option outermargin=n units for whatever value of n and unit you want. Although, you might want to check out this question on alternating margins in the book class if you're having problems implementing the geometry solution.

If for whatever reason you don't want to use geometry, then vmargin might be a barebones option for you.

You can find a whole host of options by consulting the LaTeX wikibook section on page layout, specifically the margin section of that article.

UPDATE:

I'm still not 100% sure what you're looking for, but here are two attempts using geometry.

2 inch outer margins (right for odd pages, left for even):

\documentclass{scrbook} 
\usepackage{lipsum} 
\usepackage[outermargin=2 in]{geometry}
\begin{document} 
\chapter{One} 
\lipsum[1-6] 
\section{One-one} 
\lipsum[1-3] 
\lipsum[2-11] 
\lipsum[1-12] 
\section{One-two} 
\lipsum[1-3] 
\end{document}

A somewhat absurd example to show changing margins on specific pages:

\documentclass{scrbook} 
\usepackage{lipsum} 
\usepackage[outermargin=2 in]{geometry}
\begin{document} 
\chapter{One} 
\lipsum[1-6] 
\section{One-one}
\newgeometry{outermargin= 5 in} 
\lipsum[1-3] 
\lipsum[2-11] 
\restoregeometry 
\lipsum[1-12] 
\section{One-two} 
\lipsum[1-3] 
\end{document}

Here we use \newgeometry to override what was set in the preamble (in this case, 2 inch outer margins) and specify a new option (in this case, the somewhat absurd 5 inch margins). \restoregeometry allows you to revert back to what was set in the preamble.

Both of these solutions, however, do alter the placement of the header/footer as you noted in comments.

UPDATE 2:

Here is an option using the changepage package that doesn't change the placement of headers and footers:

\documentclass{scrbook} 
\usepackage{lipsum} 
\usepackage{changepage} 
\begin{document} 
\chapter{One} 
\begin{adjustwidth}{}{1in}  % <----                  
Dummy text to test. \lipsum[1]
\end{adjustwidth} 
\pagebreak 
\section{One-one}
\begin{adjustwidth}{1in}{}                  
Dummy text to test. \lipsum[1]
\end{adjustwidth} 
\end{document}

This option allow you to manually set the width of a block of text. Doing this allows you to adjust the width of the text included in the adjustwidth environment. So long as the environment stays on a single page, it gets the desired result (I think). But obviously a somewhat of a pain of a solution.

  • Your answer alter also the setting of header and/or fouter. – Raffaele Santoro Dec 26 '13 at 8:08
  • Which one? Also, could you post a Minimum Working Example (MWE) so that I can test my proposed solutions rather than guess at how your .tex file is set. – Dennis Dec 26 '13 at 18:21
  • \documentclass{scrbook} \usepackage[inner=1.5 cm,outer=5.5cm]{geometry} \usepackage{lipsum} %\usepackage{scrextend} % load it if you're not using a KOMA class \usepackage{lipsum} \begin{document} \chapter{One} \lipsum[1-6] \section{One-one} \lipsum[1-3] \setlength{\oddsidemargin}{15.5pt} \setlength{\evensidemargin}{15.5pt} \lipsum[2-11] \lipsum[1-12] \setlength{\oddsidemargin}{0pt} \setlength{\evensidemargin}{0pt} \section{One-two} \lipsum[1-3] \end{document} – Raffaele Santoro Dec 26 '13 at 18:40
  • @RaffaeleSantoro I edited my answer based on what you gave me. This seems to work for me, let me know if it isn't what you wanted. – Dennis Dec 26 '13 at 18:54
  • In fact isn't what I want; the margin changes not when I want; your's instruction in the preambule for me means a change for the whole document; I dont undestand wy only at centain points, we have a change... – Raffaele Santoro Dec 26 '13 at 19:59

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.