Text FormattingHow to cancel indentation and change the line spacing

Information and discussion about LaTeX's general text formatting features (e.g. bold, italic, enumerations, ...)
Post Reply
abclatex
Posts: 17
Joined: Wed Nov 28, 2012 10:09 pm

How to cancel indentation and change the line spacing

Post by abclatex »

Hi forum members,

I've two issues:

1. I wonder if which codes change the default layout and indent the first line of each paragraph. Please help me to find it, I don't need any indentation.

2. I want to change the line spacing between different lines of a footnote (not that among different footnotes). How to make it?

Thanks!

Codes:

Code: Select all

\documentclass{article}

\usepackage[%
    a4paper,
    left=2cm,
    textheight=24cm,
    textwidth=10cm,
    marginparsep=2cm,
    marginparwidth=5cm
    ]{geometry}

\usepackage{forarray,etoolbox,xifthen,,graphicx,picture,calc,atbegshi,lipsum,color}

\newlength{\vincrement}

\newlength{\fmvorigin}
\newlength{\fmhorigin}
\newlength{\fmvoffset}
\newlength{\nextfmvoffset}
\newlength{\fmvskip}

\setlength{\fmvorigin}{-1in-\voffset-\topmargin-\headheight-\headsep-\textheight}
\makeatletter
    \ifthenelse{\isundefined{\Gm@lmargin}}%
    {\setlength{\fmhorigin}{1in+\hoffset+\oddsidemargin+\textwidth+\marginparsep}}%
    {\setlength{\fmhorigin}{\Gm@lmargin+\textwidth+\marginparsep}}
\makeatother
\setlength{\fmvoffset}{0pt}
\setlength{\fmvskip}{3ex}

\newlength{\tmvorigin}
\newlength{\tmhorigin}
\newlength{\tmvoffset}
\newlength{\nexttmvoffset}
\newlength{\tmvskip}
\newlength{\maxtmnheight}

\setlength{\tmvorigin}{-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip}
\setlength{\tmhorigin}{\fmhorigin}
\setlength{\tmvoffset}{0pt}
\setlength{\tmvskip}{6ex}

\newcounter{fmn}
\newcounter{tmn}

\newboolean{marginisfull}

\newcommand{\fmnbuffer}{}
\newcommand{\currentfmnqueue}{}
\newcommand{\nextfmnqueue}{}

\newcommand{\tmnbuffer}{}
\newcommand{\currenttmnqueue}{}
\newcommand{\nexttmnqueue}{}

\newcommand{\append}[2]{%
    \ifdefempty{#1}{}{\eappto{#1}{,}}%
    \eappto{#1}{#2}%
    }

\newcommand{\prepend}[2]{%
    \ifdefempty{#1}{}{\epreto{#1}{,}}%
    \epreto{#1}{#2}%
    }

\newcommand{\footmarginnote}[1]{%
    \addtocounter{fmn}{1}%
    \expandafter\newsavebox\csname fmnbox\roman{fmn}\endcsname%
    \expandafter\savebox\csname fmnbox\roman{fmn}\endcsname{\parbox[b]{\marginparwidth}{#1}}%
    \append{\currentfmnqueue}{\roman{fmn}}%
    }

\newcommand{\topmarginnote}[1]{%
    \addtocounter{tmn}{1}%
    \expandafter\newsavebox\csname tmnbox\roman{tmn}\endcsname%
    \expandafter\savebox\csname tmnbox\roman{tmn}\endcsname{\parbox[t]{\marginparwidth}{\vskip-0.75\baselineskip#1}}%
    \append{\currenttmnqueue}{\roman{tmn}}%
    }

\newcommand{\printfmn}{%
    \setlength{\fmvoffset}{0pt}%
    \setboolean{marginisfull}{false}%
    \ifdefempty{\currentfmnqueue}{}{%
        \gdef\nextfmnqueue{}%
        \gdef\fmnbuffer{}%
        \ForEachX{,}{%
            \ifthenelse{\boolean{marginisfull}}%
                {\append{\nextfmnqueue}{\thislevelitem}}%
                {%
                \setlength{\vincrement}%
                    {\fmvskip+\expandafter\ht\csname fmnbox\thislevelitem\endcsname+\dp\csname fmnbox\thislevelitem\endcsname}%
                \setlength{\nextfmvoffset}{\fmvoffset+\vincrement}%
                \ifthenelse{\lengthtest{\nextfmvoffset>\textheight}}{%
                    \setboolean{marginisfull}{true}%
                    \append{\nextfmnqueue}{\thislevelitem}%
                    }{%
                    \prepend{\fmnbuffer}{\thislevelitem}%
                    \addtolength{\fmvoffset}{\vincrement}%
                    }%
                }%
            }%
            {\currentfmnqueue}%
        \setlength{\fmvoffset}{0pt}%
        \ForEachX{,}{%
            \put(\fmhorigin,\fmvorigin+\fmvoffset){\expandafter\usebox\csname fmnbox\thislevelitem\endcsname}%
            \setlength{\vincrement}%
                {\fmvskip+\expandafter\ht\csname fmnbox\thislevelitem\endcsname+\dp\csname fmnbox\thislevelitem\endcsname}%
            \addtolength{\fmvoffset}{\vincrement}%
            }%
            {\fmnbuffer}%
        \global\let\currentfmnqueue\nextfmnqueue%
        }%
    }

\newcommand{\printtmn}{%
    \setlength{\maxtmnheight}{\textheight-\fmvoffset}%
    \setlength{\tmvoffset}{0pt}%
    \setboolean{marginisfull}{false}%
    \ifdefempty{\currenttmnqueue}{}{%
        \gdef\nexttmnqueue{}%
        \gdef\tmnbuffer{}%
        \ForEachX{,}{%
            \ifthenelse{\boolean{marginisfull}}%
                {\append{\nexttmnqueue}{\thislevelitem}}%
                {%
                \setlength{\vincrement}%
                    {\tmvskip+\expandafter\ht\csname tmnbox\thislevelitem\endcsname+\dp\csname tmnbox\thislevelitem\endcsname}%
                \setlength{\nexttmvoffset}{\tmvoffset+\vincrement}%
                \ifthenelse{\lengthtest{\nexttmvoffset>\maxtmnheight}}{%
                    \setboolean{marginisfull}{true}%
                    \append{\nexttmnqueue}{\thislevelitem}%
                    }{%
                    \append{\tmnbuffer}{\thislevelitem}%
                    \addtolength{\tmvoffset}{\vincrement}%
                    }%
                }%
            }%
            {\currenttmnqueue}%
        \setlength{\tmvoffset}{0pt}%
        \ifdefempty{\tmnbuffer}{}{%
            \ForEachX{,}{%
                \put(\tmhorigin,\tmvorigin-\tmvoffset){\expandafter\usebox\csname tmnbox\thislevelitem\endcsname}%
                \setlength{\vincrement}%
                    {\tmvskip+\expandafter\ht\csname tmnbox\thislevelitem\endcsname+\dp\csname tmnbox\thislevelitem\endcsname}%
                \addtolength{\tmvoffset}{\vincrement}%
                }%
                {\tmnbuffer}%
            }%
        \global\let\currenttmnqueue\nexttmnqueue%
        }%
    }

\AtBeginShipout{\AtBeginShipoutUpperLeft{\printfmn\printtmn}}

\makeatletter
\renewcommand{\footnote}[1]{\footnotemark\footmarginnote{\textsuperscript{\@thefnmark}\,#1}}
\makeatother

\begin{document}
Text\footnote{This is the first footnote.} \lipsum[1]
Text\footnote{This is the second and somewhat longer footnote.} \lipsum[1]
Text\footnote{This is the third footnote.} \lipsum[1]
Text\footnote{This is the fourth footnote.} \lipsum[1]
\end{document}

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org

NEW: TikZ book now 40% off at Amazon.com for a short time.

localghost
Site Moderator
Posts: 9202
Joined: Fri Feb 02, 2007 12:06 pm

How to cancel indentation and change the line spacing

Post by localghost »

abclatex wrote:[…] I wonder if which codes change the default layout and indent the first line of each paragraph. Please help me to find it, I don't need any indentation. […]
Modify the length \parindent and set it to e.g. 0pt.

Please don't mix two different topics in one thread and open a new one for the second problem. And don't forget to reduce the problem to a proper, self-contained and minimal example.


Thorsten
abclatex
Posts: 17
Joined: Wed Nov 28, 2012 10:09 pm

How to cancel indentation and change the line spacing

Post by abclatex »

Thank you, Thorsten.

Code: Select all

\setlength{\parindent}{0pt} 
could be used to cancel indentation.

I'll open a new topic for the second problem.
Post Reply