Enclosing multiple LaTeX documents - latex

I am not sure if this question is suitable for superuser instead, but I'll ask anyway.
Currently I'm writing on my documentation for my final project. I must append several other LaTeX documents as enclosure. They must be mentioned in the first Table of Contents as alphabetical appendix. I tried the package subfiles, but the subsequent TOC´s are always empty exept in case of translating them alone.
Is there any other way to append multiple full documents with there own documentclass??

subfiles is a very simple package - it doesn't try to do anything other than manage the document-level macros. You will need to issue an \appendix cs before each inclusion of a subfile.
Beware of the different latex documents sharing auxiliary files: if they do this, then subfiles will basically not work - you will be better off using the pdfpages package that absz mentions.
Postscript If you want the subsidiary documents to have their own tables of contents, you have either to change their auxiliary files (at least, their .aux and .toc files), or switch to another mechanism. Maybe minitoc will fit better?

Couldn't you strip out the preamble of the other LaTeX documents and then use \include or \input depending on whether you want pagebreaks?

Related

LaTeX create ONLY table of contents

I have some documents scanned as pdf, and since I want to hand them in to my university combined as one document, I want to attach a table of contents to make the reader aware of the fact, that there are several documents inside this pdf. So, since I already have the documents and I am not producing them in Latex anymore, I only want to create the table of contents in Latex. Usually, Latex pulls its information for the toc out of the document it won't have this time. So, is there manual way of creating a table of contents, where I can type in myself, which section exists and what page it is on?
Thank you all in advance
and have a nice weekend!
PS: I double checked if that topic was already dealt with, but I didn't find anything.
So, apparently the answer lies in the .toc file which is auto generated when compiling. This document contains commands with the pattern
\contentsline {section}{\numberline {<number of enumeration>}\ignorespaces <heading>}{<pagenumber>}%
this comment also works when used after the \tableofcontents command.

Latex, TikZ and separate compilation of chapters and figures

I have fairly large Latex document with a lot of TikZ figures inside. I have a habit of frequent recompilation and it takes forever to compile it using pdflatex. Figures in TikZ take most of the time.
My question is what is the best way to split the document into separate tex files (figures/chapters) to achieve separate compilation of figures and chapters, separate chapter pdfs, and a whole document pdf file ?
Have you tried compiling each picture on its own and then including them in your tex file as pdf rather than the tikz code? You can use the package standalone so that the picture will be the exact size you need. So :
\documentclass{standalone}
\usepackage{tikz,pgf} %and any other packages or tikzlibraries your picture needs
\begin{document}
\begin{tikzpicture}
%your tikz code here
\end{tikzpicture}
\end{document}
The good thing about this is that you can either include the compile this document directly to get a pdf figure to include in your document, or you can use the command \input to include it in your main document as a tikz code by adding
\usepackage{standalone}
in your main document (together with the tikz packages and libraries), and then
\begin{figure}
\input{tikzfile.tex}
\end{figure}
There is a possibly better way (imho) to cache tikz-pictures. Add the following lines in your
preamble:
\usetikzlibrary{external}
\tikzexternalize[prefix=i/]
After a pdflatex-run you'll see all pictures in the subdirectory ./i .
If you update the code of a tikz-picture simply throw away its corresponding pdf-file and it will be regenerated. For more info see the manual of PFG/TikZ section 32.4 Externalizing Graphics
and possibly 32.5 Using External Graphics Without pgf Installed.
How about putting each chapter in a separate file and then using \include to put them into some master file? Then you can use \includeonly to only compile the chapter you're currently working on. That should save some time at least.
I expect some sort of makefile based solution would be even better than this, but I don't know anything about makefiles...
The way I generally do this is to apply Latex to just part of the file: Emacs and several other Latex editors allow you to compiler regions: with Auctex, you can run TeX-pin-region to specify the current chapter, and then TeX-command-region to run Latex on the selected region.
The traditional way to do this is cut parts of the big file into smaller parts that are \included, and then either comment out parts you don't want to work on, or put some macrology at the beginning and end of each file that allows them to be compiled separately.

MLA-style bibliography with BibLaTeX: How to organise by section?

I'm using the MLA authoring style. I would like to print out a bibliography subdivided into different sections. I also want annotations on each source. Is this possible with BibLaTeX? Should I just do it manually?
Yes, I think you can do that with Biblatex, but I think you should still just do it manually.
Note, though, that you are probably wanting to craft your notes differently for each citation from one paper to the next, which leads to the question: why use Bibtex at all? You can generate a Bibtex file the usual way, until all the references are there, then cut&paste the .bbl file into place in your Latex file, and annotate and reformat away to your heart's content.
So I think that Bibtex makes sense as a standard repository of the basic facts about citations you might make again and again: in particular you can get it error-free; my experience as a scientific editor is that most authors are sure that their bibliographies are error-free, most have between 10% and 60% of entries having errors in them. Latex users tend to be better that Word users in this respect, and I think that it is because of Bibtex.
Caveat: you will need to mess about with the thebibliography environment to do this. But that is another question... Also, if there are errors in your Bibtex file, you will need to correct them in two places.
Why I don't like Biblatex: the Bibtex prepresentation is a standard, and is accepted by all kinds of other document processors. You shouldn't put special Latex formatting into your bibliographic database: that will reduce the utility of that database. For m in particular, I use both Latex and Context: both use Bibtex, but only Latex uses Biblatex.
I managed to write a quite nice MLA-style bibliography with bibtex and the style provided by the Reed College (which is based on Natbib), and BibUnits to subdivide the entries in sections (as discussed here)
(let me know if you have any tips with MLA styles, my paper is not finished yet)
EDIT: my answer was for standard bibtex, not biblatex, sorry
yes, you can do it easily with biblatexwith the headings:
For instance:
\defbibheading{general}{\section*{General Architecture}}
\defbibheading{european}{\section*{European Architecture}}
\printbibliography[heading=general,keyword=general]
\printbibliography[heading=european,keyword=european]
and add the relevant keywords={architecture} keywords={general} in your *.bib files
Here is a biblatex MLA-style, if you need biblatex-mla (and a related question, you may also face this problem)

Is there a way to override a bibtex style file for a particular entry?

My preferred bibtex style file cites via author's initials. However, there are various texts which should be cited differently (for example, Elements Geometrie Algebrique should always be cited as [EGA]). I know how to modify this in the .bbl file that bibtex outputs, but then I have to do this for every file. Is there a way to do this from my .bib file?
My preferred bibtex style file cites via author's initials. However, there are various texts which should be cited differently...
I hope I don't get flamed for this, but your preferred bibtex style file does not serve your readers very well. Part of my job is to review papers, and a jumble of initials like [GKS] is not nearly as helpful as a full author-date citation like [Guibas, Knuth, and Sharir 1990]. For a knowledgeable reader, the authors and date often make it unneccessary to refer to the bibliography. For a naïve reader, a group of names is much easier to remember then a group of letters, especially when one or more of the names may be familiar. These issues are discussed in detail by, e.g., the Chicago Manual of Style, which explains the proper way to cite from the professional literature.
I go on at such length because I believe you are solving the wrong problem. Although I believe your readers will quickly recognize [EGA], I would hope they would also recognize (Grothendieck 1960) or (Grothendieck and Dieudonné 1967).
Can I [modify the way a work is cited] by changing my .bib file?
Not if you want to use any of the standard BibTeX styles. BibTeX uses one of the world's worst programming languages, and the standard programs are very firm about using the author or editor of a work for form the citation key. If you really want to do this, I recommend the following procedure:
Clone and modify something like the plainnat.bst file. This will enable you to create a new "bibliography style."
Create a new type of BibTeX entry which will enable you to specify the citation key using a special field (key is a popular choice).
Alter the calc.label function to do the right thing with your new type of entry. If you're lucky, changing calc.label will be enough to be sure the thing is sorted properly.
Use your nonstandard type in your .bib file and use your nonstandard \bibliographystyle{...} in all your LaTeX documents.
The gods really don't want you to do this—and neither do your coauthors...
You can modify the .bst program so that it looks for an additional field, say shown-key, and if it is set uses that rather than the usual.
If you are willing to use a different bib style there is a way pointed out by this answer. Using the abstract style, the bibtex key is used as the cite key. Then, you edit each key in the bib file anyway you want it.
A straightforward disadvantage of this approach is that you will have to edit every item in your bib file, however I believe that it is a fair price to pay for such flexibility.
I've seen other possible solutions involving natbib or biblatex, but I wanted to avoid those packages as I sometimes get compilation problems when using them.

Including full LaTeX documents within others

I'm currently finishing off my dissertation, and would like to be able to include some documents within my LaTeX document.
The files I'd like to include are weekly reports done in LaTeX to my supervisor. Obviously all documents are page numbered seperately.
I would like them to be included in the final document.
I could concatenate all the final PDFs using GhostScript or some other tool, but I would like to have consistent numbering throughout the document.
I have tried including the LaTeX from each document in the main document, but the preamble etc causes problems and the small title I have in each report takes a whole page...
In summary, I'm looking for a way of including a number of 1 or 2 page self-complete LaTeX files in a large report, keeping their original layouts, but changing the page numbering.
For a possible solution of \input-ing the original LaTeX files while skipping their preamble, the newclude package might help.
Otherwise, you can use pdfpages for inserting pre-existing PDFs into your dissertation. I seem to recall that it has a feature of "suppressing" the original page numbers by covering them up with white boxes.
The suggestion from #Will Robertson works great. I'd just like to add an example for all lazy people:
\usepackage{pdfpages}
...
% Insert _all_ pages from some_pdf.pdf:
\includepdf[pages=-]{some_pdf} % the .pdf extension may be omitted
From the documentation of the package:
To include a specific range of pages, you could do pages={4-9}. If start is omitted, it defaults to the first page, if end is omitted, it defaults to the last page.
To include it in landscape mode, do landscape=true
Maintaining the original formatting per document will be difficult if they're using different formats. For example, concatenating different document classes will be near impossible.
I would suggest you go with the GhostScript solution with a slight twist. Latex allows you to set the starting page number using \setcounter{page}{13} for example. If you can find an application that can count the pages of a PDF document (pdfinfo in the pdfjam Ubuntu package is one example), then you can do the following:
Compile the next document to PDF
Concatenate the latest PDF with the current full PDF
Find the page count of the full PDF
Use sed to pluck in a \setcounter{page}{N} command into the next latex file
Go back to the beginning
If you need to do any other processing, again use sed. You should (assuming you fix the infinite loop in the above algorithm ;-) ) end up with a final PDF document with all original PDFs concatenated and continuous line numbers.
Have a look a the combine package, which seems to be exactly what you're searching for.
Since it merges documents at the source level, I guess the page numbers will be correct.

Resources