# Incompability of the revtex4 class with the abstract package

I'm trying to change the width of the abstract with \absleftindent and \absrightindent, using the abstract package. But when compiling the document I get the following error message

I installed the package manually using latex abstract.ins (together with the source file abstract.dtx). Also I was trying to install the package by downloading the abstract.zip from the CTAN directly but still the problem persists in abstract.sty. Someone could help me please, I do not have much knowledge in .ins programming so I have not been able to correct the code on my own.

• Welcome to TeX.SX!! Can you please give a full minimal working example. Currently we have to guess what packages etc you are using and this makes it really hard to help you. A MWE should start with a \documentclass command, have a minimal preamble and then \begin{document}...\end{document}. The code should compile and be as small as possible to demonstrate your problem. Cutting your code down to a MWE may well reveal what your problem actually is. In any case, it is really difficult to help you without more information. – Andrew Jul 24 '17 at 4:10
• Don't install things manually. Use the MikTeX package manager to install instead. – Alan Munn Jul 24 '17 at 4:53

Your problem is not related to the installation itself. Your error messages assume a properly installed abstract package. The problem simply arises from the fact that abstract is implicitely designed for the standard classes - or at least you can say: only for classes that provide a titlepage option, actually the \if@titlepage switch. revtex4 does not define it. Hence you get an error. You can set up the missing part manually:

\documentclass{revtex4}
\makeatletter
\newif\if@titlepage
\@titlepagefalse
\makeatother
...


This should eliminate the error on the spot.

Remark. Although your issue has nothing to do with the installation of the package you want to use here are some clarifications about the design of LaTeX packaging.

2. You create the file called abstract.sty from abstract.dtx by using the instruction latex abstract.ins. LaTeX actually only uses abstract.sty if you say \usepackage{abstract}. The corresponding abstract.zip file contains the .ins and .dtx file and is not necessary (in addition) to install the package.

Thanks for you help.

I solved the problem in the following way, apparently the document revtex4 does not support \usepackage{abstract} because it is already integrated in the revtex4.

It is not necessary to use the \usepackage{abstract} command in the \documentclass[11pt]{revtex4}

I managed to change the width of the abstract with the code in revtex4.

\makeatletter
\renewcommand\frontmatter@abstractwidth{\dimexpr\textwidth\relax}


This code changes the width of the abstract for the width of the document, it can also be changed by assigning values as 1 inch at the ends More detail here

\renewcommand\frontmatter@abstractwidth{\dimexpr\textwidth-1in\relax}


The second problem was that I could not install packages from Miktex, because I got error "C:\Program Files(x86)\Miktex 2.9...\initexmf.exe did not succeed." I solved it by reinstalling Miktex by selecting an external folder created in the "C:\Miktex 2.9" directory, since installing in "C:\Program Files (x86)" requires permissions, i.e. it can not automatically install and create files by the Miktex manager.See more here

• You should add somewhere that this is a workaround (by avoiding the use of the abstract package, which was not the intention of your question originally). – Ruben Sep 25 '17 at 9:34