Giter VIP home page Giter VIP logo

latex-proposal's Introduction

LaTeX-proposal: A set of LaTeX classes for preparing proposals

Writing grant proposals is a collaborative effort that requires the integration of contributions from many individuals. The use of an ASCII-based format like LATEX allows to coordinate the process via a source code control system like Git or Subversion, allowing the proposal writing team to concentrate on the contents rather than the mechanics of wrangling with text fragments and revisions. In fact the proposal package has evolved out of a series of collaborative proposal writing efforts, where large teams (up to 30 individuals from up to 20 sites) have written a 100-page proposal in three weeks (with over 2000 commits). Such collaborative writing sprints are impossible without a revision control system and a “semantic” document class that generates tables, charts, and deliverable lists from content markup and thus takes care of many of the routine tasks of keeping information consistent.

Using the LaTeX Proposal Class

In the simplest case, just clone the repository, and extend your TEXINPUTS environment variable so that it can find it. On a UNIX system something like the following should work.

cd /path/to/project
git clone https://github.com/KWARC/LaTeX-proposal
echo 'export TEXINPUTS = "$(TEXINPUTS):/path/to/project/LaTeX-proposal//:"' >> ~/.bashrc

Of course you will have to replace /path/to/project with a path appropriate to your system. A simple git pull will update you to the newest version.

Getting Started with a New Proposal

The simplest way to start a new proposal is to copy one of the examples at LaTeX-proposal/examples/*/* to your system and start editing. You should probably adapt the three variables in the upper section of the Makefile accordingly, if you want to use (UNIX) Makefile automation (recommended). If you want to use the LaTeX proposal class in a revision control system for a larger group, read (far) below.

Here is what you would do on a UNIX system after the initial steps above to prepare a DFG proposal (for an EU proposal the same setup works as well, but with suitably adapted paths).

cp examples/dfg/proposal .
sed -i .bak s/PROP.dir = ..\/..\/..\//Prop.dir = ./ proposal/Makefile
sed -i .bak s/BIB = ..\/lib/BIB = ./ proposal/Makefile

Disclaimer

The LaTeX proposal class has been developed to "scratch my own itch" over many proposals and will likely be developed further driven by future proposals. It is still quite poorly documented (but see proposal.pdf, euproposal.pdf, and dfgproposal.pdf), and experimental in places. It should really be re-coded to be more uniform; but it works for me and saves me (and my friends who use it) a lot of work.

License

The proposal class is distributed under the terms of the LaTeX Project Public License from CTAN archives, see the file macros/latex/base/lppl.txt at CTAN, either version 1.0 or, at your option, any later version.

Help wanted: submit issues, feature requests, pull requests

As this is just a side project for me, please submit issues and feature requests to the issue tracker. Even better, improve the code and submit a pull request.

Repository Layout

The base proposal class supports many of the general elements of project proposals. It is optimized towards collaborating on writing project proposals. This class is intended to be specialized to particular funding bodies that have their own styles.

  • base: the base proposal class (documentation)
  • dfg: the instance for Deutsche Forschungsgemeinschaft (documentation, examples)
  • eu: the instance for EU proposals (documentation, examples)
  • examples: example proposal (stubs).
  • etc: style files from the sTeX bundle added for convenience (only on GitHub, not on CTAN)
  • lib: Makefiles for the management of self-documenting packages
  • bin: utilities, e.g. a script that makes GitHub issues from the deliverables of a proposal for project management if the proposal is granted.

Using this repo in a paper repository

The best way to write a collaborative proposal is to use a revision control system. It is usually a good idea to make this repository into an external sub-repository that can be updated as necessary. In the instructions below we assume that you - as the paper repos maintainer - want to add the proposal classes as a sub-repository at path lib/LaTeX-proposal from the top of the paper repository.

The best way for Git

is via the git-subrepo extension of git. Unfortunately this is not part of Git (yet). So you as the paper repos maintainer have to install it first if you want to install the proposal classes as a subrepos. Your users do not, they will get the subrepos automatically on git clone or git pull.

  1. go to the top of your paper prehistory:
    cd /path/to/top
    
    (you can only make a"subrepo" from there)
  2. add the LaTeX-proposal distribution repos as a "subrepo":
    git subrepo clone [email protected]:KWARC/LaTeX-proposal.git LaTeX-proposal
    

Note that under git-subrepo the "external" is not updated automatically, a maintainer has to "pull" it. This can be seen as a feature and not a bug (there is less of a chance to break things).

  1. go to the top of your paper repository:
    cd /path/to/top
    
    (you can only pull from there)
  2. pull the proposal classes repos as a "subrepo":
    git subrepo pull LaTeX-proposal
    

To contribute changes back to the the LaTeX-proposal repository, you analogously do

  1. go to the top of your paper prehistory:
    cd /path/to/top
    
    (you can only push from there)
  2. do the push:
    git subrepo push LaTeX-proposal
    

Easypeasy!

The second best way for Git

is via git subtree.

  1. go to the top of your paper repository:
    cd /path/to/top
    
  2. add the LaTeX-proposal repos as a remote:
    git remote add LaTeX-proposal [email protected]:KWARC/LaTeX-proposal.git
    
    under the name LaTex-proposal.
  3. add the remote LaTeX-proposal as a subtree:
    git subtree add --prefix=LaTeX-proposal LaTeX-proposal master --squash
    
    (here under the path LaTeX-proposal). The --squash reduces history noise.

When you want to update the subrepository to the newest version, you have to "subtree pull" as below:

  1. go to the top of your paper repository:
    cd /path/to/top
    
  2. subtree-pull:
    git subtree pull --prefix=LaTeX-proposal LaTeX-proposal master --squash
    

This is a bit inconvenient, but works well.

Contributing back to the LaTeX-proposal repository is somewhat more complex; RTFM!

Externals in SVN

In a Subversion repository you must make an external by

  1. go to the top of your paper prehistory:
    cd /path/to/top
    
  2. make the lib subdir if necessary:
    mkdir lib
    
  3. add the external:
    svn propedit svn:externals lib
    
  4. an editor will appear, add the line
    LaTeX-proposal LaTeX-proposal https://github.com/KWARC/LaTeX-proposal/trunk
    
  5. commit your work:
    svn commit -m 'adding external for the LaTeX-proposal'
    

Note that in SVN any svn update@ will update the LaTeX-proposal repository in the external as well.

latex-proposal's People

Contributors

florian-rabe avatar harmanpa avatar kohlhase avatar magger avatar minrk avatar nthiery avatar rappatoni avatar romangrothausmann avatar slel avatar teoric avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

latex-proposal's Issues

Warn when length limit of topic and summary is exceeded

The topic and summary of a proposal are length limited:

  • proposal environment, "thema" key (140 characters)
  • Summary environment (1600)
  • Abriss environment (same)

It would be nice to get a warning when this limit is exceeded: both on the error output, but also visually in the rendered document (when in draft mode)

How to get rid of table of contents?

I wrote a DFG proposal using this package. But the .pdf contains a table of contents ("Inhaltsverzeichnis") on the title page. Even the examples for this class contain a table of contents.

How can I get rid of the table of contents (the DFG does not allow it)?

Philipp

visual variant for the coherence table

I suspect that tikz has a way of automatically arranging nodes into a circle, then we could generate a circular graph of coherence automatically from the coherence information. We could then give the \coherencefig macro a style attribute that says which one we want.

Usage/Documentation dfgprojpapers

Hi there,

the syntax of \dfgprojpapers is not really clear to me. What does <keys> and <refs> refer to exactly?

A comma seperated list of bibtex refs does result in a single citation. Maybe a ramped up documentation with a short example would help.

thanks and best regards,

M

Spurious vspace below task environment

Just re-reporting this, so we don't forget:

Sometimes, a spurious vspace is inserted below a task environment. Apparently this happens whenever there is some cross-reference (ref or cite) close to the end of a text line that fills the whole text width.

Makefiles of the examples are broken.

[email protected] [email protected] reports

ch schreibe gerade an einem DFG-Antrag und wollte dfgproposal.cls verwenden. Ich habe ein Unix-basiertes System und meine TEX-Dibstribution ist auf dem neusten Stand. Wenn ich aber das make-file für das Beispiel-Proposal, welches sich in

https://github.com/KWARC/LaTeX-proposal/blob/master/dfg/examples/proposal

befindet, ausführe, dann erscheint eine Fehlermeldung

*** No rule to make target `proposal1-blx.aux', needed by `proposal1-blx.bbl'.  Stop.

In der Tat erscheinen keine Publikationen in Abschnitt 1.1.1. Das ist aber auch in der PDF-Datei so, die sich im oben genannten Verzeichnis auf Ihrer Webseite befindet.

No title page generated

I am trying to compile the examples on master, also see #40. Ubuntu 18.04 with TeXlive 2019.

simple-proposal/proposal.tex compiles without error, but it is missing the title page. In particular, the red disclaimer is shown, but neither

Neuantrag auf Sachbeihilfe
iPoWr: Intelligent Proposal Writing
Acronym: iPoWr
January 13, 2015
Michael Kohlhase
Jacobs University
Great Communicator
Power Consulting
,

nor the table of contents.

I have read through the logfile carefully and multiple times, but I am unable to find anything that would seem related. I am stumped with regard to debugging this any further, would you have any pointers?

I do not necessarily need the latest and greatest version, but the example also refuses to compile with proposal shipped with TeXlive. Any general pointers to get a working setup would be greatly appreciated!

Bug: dfgprojpapers dumps whole bibliography

Hi there,

when using \dfgprojpapers[articles]{cat_2017,parrot_2018} the all referenced citations are dumped regardless of the {selectors}.

From the documentation I suppose that this is not the intended behaviour?

Thanks for this really helpful template! :)

Marius

Related? #30

Interaction with proposal shipped by TeXLive

Thanks for a great package, it helped me on several previous applications! But I do have some trouble with current master on Ubuntu 18.04 with TeXlive 2019.

Changing the TEXINPUTS as described in the README did not do the trick for me. The examples would still find the version shipped with TeXLive. These would fail because they use bibtex, but the Makefile always started biber. It took me a while until I realised that.

I solved this by placing LaTeX-proposal in my local texmf directory.

Then, however, the "ed" package shipped with TeXlive is unable to handle the marginnote option, so I ended up patching that manually with what I found at https://gl.kwarc.info/kwarc/macros/tree/master/ed

It then runs through without error, but the DFG examples do not generate the title page. I will open a separate issue on that.

no WApersons

Hallo Michael,

thanks for putting that together! I tried compiling final report.tex and it doesn't find /lib/WApersons

Cheers!
erik

[INFO] change how the milestones are referenced

I want to change the way milestones are references. At present, the reference which I obtain by using
\mileref{myMilestone} is M1. I would like to change it to MS1 but I can't find the line to change this reference style. Any idea?

Have a nested task number in work package

Hello,

Currently, in the proposal, the task number is initialized to 1.1 whenever a new work package is started.
For example, package 3.1, tasks will be numbered as 1.1, 1.2, etc.

Is there a way by which it can have a nesting numbering like for work package 3.1, the tasks have numbering like 3.1.1, 3.1.2, etc.

[BUG] Last page is zeroed if no bibliography is used

This is related to #14. I tried the latest LaTeX-proposal code (cloned from github) and the problem persists. The last page is labelled 0. I found out a workaround consisting in writing something in between \end{proposal} and \end{document}. This was actually why initially I was assuming the problem related to the finalised version (see my previous issue pdebuyl/FET_Proposal#1).

print list of todos?

This is a great stylesheet!

how is it possible to generate a list of todos? I am not sure what package is being used to generate the todos in the first place, but clearly \listoftodos does not do the job.

thx!

gitinfo2 support

How would I go about removing or disabling the native SVN requirement and instead use gitinfo2?
Currently, if I simply add \usepackage[pcount,grumpy,mark,markifdirty]{gitinfo2} I get a messy heading on the title page and have duplicate footers with SVN.

Error with loading both amssymb + wasysym

Using a fully updated TeXLive 2015 (and pdflatex) the dfgproposal.cls throws the following error:

/usr/local/texlive/2015/texmf-dist/tex/latex/amsmath/amsmath.sty:557: LaTeX Error: Command \iint already defined. [...d{\iint}{\DOTSI\protect\MultiIntegral{2}}]
/usr/local/texlive/2015/texmf-dist/tex/latex/amsmath/amsmath.sty:558: LaTeX Error: Command \iiint already defined. [...{\iiint}{\DOTSI\protect\MultiIntegral{3}}]

This seems to be caused by loading both amssymb and wasysym in the proposal.cls, in any particular order. Only removing wasysym fixes it.

Projekt without Acronym

Are projects without acronym supported?
I tried changing

  acronym={iPoWr},
  acrolong={\underline{I}ntelligent} {\underline{P}r\underline{o}posal} {\underline{Wr}iting},
  title=\pn: \protect\pnlong,

to

  title=test,

in the so called "simple" proposal DFG template. But I get:

! Undefined control sequence.
\prop@proposal ...RGE Acronym: {\prop@gen@acronym 
                                                  }}\\[.2cm] {\large \today ...
l.30   areas=Knowledge Management]

Philipp

Removing class defaults to allow their setting by user

After a distro update (including texlive, biber, biblatex) my proposal would not compile any more. It seems that the newer versions do not allow to overwrite defaults set for usepackages in the class, e.g. I used to set

\PassOptionsToPackage{
  backend= biber, % overwriting backend works
  style= numeric, % overwriting style does not work, although it should?
}{biblatex}
\documentclass[11pt,numericcites,gitinfo,noworkareas,RAM\classoptions]{proposal}

without the need to remove backend=bibtex, in base/proposal.sty. The new biblatex now did not complain about my \PassOptionsToPackage but did not use my overwrite either.

Similar for setting the font size. Only after removing the scaled option in the STY I was able to change it with

\PassOptionsToPackage{scaled=1.00375% relative to 11pt of documentclass option! % <=> 11 pt  postscript points: https://tex.stackexchange.com/questions/167402/how-to-set-font-size-at-exactly-11-pt#167404
}{helvet}

Also changing the TOC depth and removing the auto section "list of attachments" needed modifications to the corresponding STYs.

It would be great if these could be overwritten (or demanded to be set) by the user.

setting TeXinputs as recommended gives access to the wrong TeX/sty files in examples

@CFGrote wrote:

when setting my TEXINPUTS to LaTeX-proposal//, any \input{propB} (as an example) would also see the propB.tex in the examples directory under LaTeX-proposal//. While this may still be acceptable for sources present in $PWD (tex should find these first) it poses a risk if it comes to the autogenerated .pdata and .delivs . If sth goes wrong in generating the .pdata (as it did due to the eupdata.sty bug, tex will then take the .pdata in the examples dir. For someone starting a new proposal from a given example, this can be very hard to detect. i guess for this reason, the examples are not included in the ctan package (make ctan).

I agree this is very unfortunate. I think the only way to really change this is to move the examples directories to the top level.

How to specify unaffiliated persons

According to the manual "The proposal package uses the workaddress package for representation of
personal metadata". And workadress requires everyone to have both institution and department. How can unaffiliated people be handled? How about people at institutions so small that they don't have individual departments?

Philipp

Numericcites doesn't work

I'm using:
\documentclass[12pt,numericcites]{proposal}

Yet my citations are still being done in [NamYY].

sorting and labelling based on main bibliography (not dfgprojpapers)

When using numericcites (and biber), I noticed that sorting and labelling/numbering is based on the first bibliography generated by \dfgprojpapers, such that the sorting of the main bibliography (created by \printbibliography) is then not numbered consecutively. It seems to me that this depends on the initial creation of the *.bcf file. For example as a dirty hack I get the desired sorting when I first comment \dfgprojpapers, build and then uncomment again and build again. It would be great if that could be done in a more sophisticated (latex) way.

Errors from introduction of \ganttchart[draft,xscale=.45]

I've been building up a workplan with success but when I added the following code from your example I start to get errors:

\ganttchart[draft,xscale=.45]

Errors:

LaTeX Warning: title for wa wa1 undefined on input line 19.
LaTeX Warning: title for wp wp1 undefined on input line 23.
LaTeX Warning: RM for wp wp1 undefined on input line 23.
! Missing number, treated as zero.
<to be read again> 
                   p
l.35     \ganttchart[draft,xscale=.45]

? 

I'm not sure how to further diagnose but would be happy to provide more details as needed.

How to get started (for non-experts)?

Hi team,

I have used the LaTeX-proposal class before, but didn't have to set it up. I am trying to advocate use of this convenient LaTeX-proposal class for a group of people. However, making the first step seems quite hard at the moment (for LaTeX users who are not experts).

Would it be possible to give more guidance on how to get started? For example, before/after having cloned the proposal class in the directory demo (for example) like this:

cd $HOME
mkdir demo
cd demo
git clone https://github.com/KWARC/LaTeX-proposal.git

what "cp" commands does one need to carry out to compile the EU example proposal shown in https://github.com/KWARC/LaTeX-proposal/blob/master/eu/examples/strep/propB.pdf ? Which command should be used (and in which directory to trigger compilation)? We may also have to adjust the paths in the Makefile in the strep directory.

It would be great to have a minimum working example for this to build on. Thank you!

"submit" version does not know last page

How to reproduce:

git clone https://github.com/KWARC/LaTeX-proposal
cd LaTeX-proposal
make

have a look at, i.e., dfg/examples/proposal/public.pdf and dfg/examples/proposal/submit.pdf. The submit.pdf files reports "page 1 of 0", etc. The same behavior exists in eu/examples/fetopenstrep.

Normally, there should be a jobname.pdata file in those directories but I can't find it after the build. In https://github.com/pdebuyl/FET_Proposal the file is still present after a make -B draft or make -B final. Then, draft.pdata has the line

\@pdata@def{prop}{page}{last}{17}

but final.pdata does not. I have no idea why despite reading carefully proposal.sty.

Change Citation Style

Hi there,

can one change the citation style to other than numeric or alphabetic? A little more flexibility here would be great.

\keypubs is broken in euproposal.pdf

We are using the bibLaTeX category system for generating these. This works well for dfgproposal.cls which has only one of these. But here we get the same publications for every site, since they are only featured. We should at least give a keyword or category per site and add that to the publications. It would probably be good to also add the category (or use; are categories exclusive?) keypubs. Then we can remove them from the regular publications.

Simple self-contained report example that compiles without errors?

Would it be possible to add a simple example for the final report to the documentation?

  • It should compile without errors (I can get a .pdf from the current example, but that is due to batchmode, and thus errors being ignored).
  • It should be self-contained, i.e. not depend on other files, such as a proposal.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.