Risposte nei forum create
-
AutoreRisposte
-
::
A rischio di parer pedante, pignolo e saccente, ribadisco che la seconda proposta funziona a meraviglia con le opzioni che hai indicato tu in uno dei messaggi precedenti e con l’ultima versione di jurabib disponibile su CTAN (considerando che non è mai stata tirata in ballo la versione che usi ho basato i miei esperimenti sull’ultima disponibile).
::comunque proverò ps2ps… credevo che ci azzeccasse qualcosa ma ho visti esempio del suo utilizzo che (almeno all’apparenza) fanno paura. anche perché facendo nel modo detto sopra i crops si perdono.
ps2ps != pstops.
per utilizzare ps2ps in che formato devo produrre il ps da cui partire (il -T il dvips in pratica)?
pstops non ha problemi a gestire formati qualunque, ma secondo me ti conviene produrre il primo ps nel formato “reale” delle pagine prodotte (quel c7: magari sarai costretto a definirtelo).
::
Secondo tentativo: quanto segue funziona sicuramente con le opzioni che hai indicato nel tuo messaggio precedente (se funziona anche con altre combinazioni “arcane”, tanto meglio, ma a memoria dei futuri, ipotetici utilizzatori ricordo che non assicuro nulla, come indicato nella licenza d’uso).
`%%
%% *** This is jura-extra v0.2 (2005/01/28) ***
%%
%% LaTeX package for altering citation styles provide by jurabib package to
%% satisfy unreasonable requests (a horrible hack :-))
%%
%% Copyright (C) 2005 Emanuele Vicentini
%%
%% Based on Jurabib (Copyright (C) 1999-2004 Jens Berger
%% (http://www.jurabib.org))
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License
%% as published by the Free Software Foundation; either version 2
%% of the License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful,
%% but WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
%% GNU General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA.
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{jura-extra}[2005/01/28 v0.2 jura-extra]
\RequirePackage{jurabib}\def\@citex[#1][#2]#3{%
\stepcounter{jb@cites@in@footnote}%
\ifjb@ssed@mult@works\jb@check@edn{#3}\fi
\ifthenelse{\boolean{jb@foot}\or\(\boolean{jb@super}\and\not\boolean{jb@fn}%
\and\not\boolean{jbweareinbib}\and\not\boolean{jbweareinendnotes}\)}{%
\renewcommand*{\@cite}[2]{\unskip\footnote{##1##2\ifthenelse{\boolean{jb@footnote@period}}{\unskip.}{}}}%
}{%
\renewcommand*{\@cite}[2]{%
\ifjb@fn\else\ifjbweareinbib\else\ifjbcross\else\jb@open\fi\fi\fi
##1##2%
\ifjb@fn\else\ifjbweareinbib\else\ifjbcross\else\jb@close\fi\fi\fi
}%
}%
\ifx\relax#1\relax
\ifx\relax#2\relax
\ifjb@debug
\typeout{#3: @citex arg1 and @citex arg2 are empty,}%
\typeout{#3: I assume \string\cite{key}}%
\fi
\def\jb@@newannotatorcite{}%
\def\jb@@newpagecite{\jbprformat{}}%
\else
\ifjb@debug
\typeout{#3: @citex arg1 is empty or missing/@citex arg2 is #2}%
\typeout{#3: I assume \string\cite[#2]{key} or \string\cite[][#2]{key}}%
\fi
\def\jb@@newannotatorcite{}%
\def\jb@@newpagecite{\jbprformat{#2}}%
\fi
\else
\ifx\relax#2\relax
\ifjb@debug
\typeout{#3: @citex arg1 is #1/@citex arg2 is empty or missing}%
\typeout{#3: I assume \string\cite[#1][]{key}}%
\fi
\ifjb@old@order
\def\jb@@newannotatorcite{}%
\def\jb@@newpagecite{\jbprformat{#1}}%
\else
\def\jb@@newannotatorcite{#1}%
\def\jb@@newpagecite{\jbprformat{}}%
\fi
\else
\ifjb@debug
\typeout{#3: @citex arg1 is #1/@citex arg2 is #2}%
\typeout{#3: I assume \string\cite[#1][#2]{key}}%
\fi
\ifjb@old@order
\def\jb@@newannotatorcite{#2}%
\def\jb@@newpagecite{\jbprformat{#1}}%
\else
\def\jb@@newannotatorcite{#1}%
\def\jb@@newpagecite{\jbprformat{#2}}%
\fi
\fi
\fi
\ifjb@no@nested@crossrefs
\let\origcrossref\jbcrossrefchecked
\renewcommand*{\jbcrossrefchecked}[2][]{}%
\let\origbibces\bibces
\renewcommand*{\bibces}{}%
\fi
\let\@citea\@empty%
\@cite{%
\@for\@citeb:=#3\do{%
\@citea%
\def\@citea{;\penalty\@m\ %
\@ifundefined{jb@morethanonecite}{%
\global\@namedef{jb@morethanonecite}{}}{}%
\ifthenelse{\equal{\jb@@newpagecite}{\@empty}}{\relax}{%
\jb@package@warning{\jb@pkg@name}{%
I assume you know what you're doing %
using `\jb@@newpagecite'\MessageBreak
on a citation with more than one\MessageBreak
author}{\relax}%
}%
}%
\@ifundefined{b@\@citeb}{}{%
\protected@edef\@tempa{\csname b@\@citeb\endcsname}%
\protected@edef\jb@@new@@author{\expandafter\jb@fifthofseven\@tempa\@empty}%
}%
\ifthenelse{\equal{\jb@@last@@author}{\jb@@new@@author}\and\not\equal{\jb@@new@@author}{}}{%
\jb@same@fullauthortrue
}{%
\jb@same@fullauthorfalse
}%
\global\let\jb@@last@@author\jb@@new@@author
\@ifundefined{jb@morethanonecite}{\relax}{%
\let\jb@@newannotatorcite\@empty
\let\idemname\idemmidname
}%
\edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
\if@filesw
\immediate\write
\@newciteauxhandle{%
\jb@makehowcited\string\citation{\@citeb}%
}%
\fi
\@ifundefined{b@\@citeb\@extra@b@citeb}{%
\mbox{\reset@font{\bfseries ?}, #1}%
\G@refundefinedtrue
\@latex@warning{%
Citation `\@citeb' on page \thepage \space undefined
}%
}{%
\begingroup
\jb@extract%
\ifjb@always@pageranges\else\ifjb@tested@pageranges
\ifthenelse{\equal{\jb@@newpagecite}{}}{}{\jb@make@pageranges@for@first@cite}%
\else\jb@make@pageranges@for@first@cite\fi\fi
\def\jb@@newauthorcite{\@citeb}%
\jb@make@opcit
\jb@call@index{aut}{\@citeb}%
\jb@call@index{ed}{\@citeb}%
\jb@call@index{org}{\@citeb}%
\jb@changefontsforfullcite
\ifjb@allow@hyper@cite\hyper@jblinkstart{\@citeb}\fi
\jb@extract%
\jb@do@ibidem@name@title@test%
\ifthenelse{%
\equal{\jb@@fullname}{\@empty}%
\and
\equal{\jb@@author}{\@empty}%
}{%
\let\jbhowsepbeforetitle\@empty
}{}%
\jbonlyforcitations%
\jb@cite@title@for@type@hook%
\jb@cite@full@first@fortype@hook%
\jb@cite@title@for@work@hook%
\jb@start@page@for@type@hook%
\jb@make@superscript@edition%
\@ifundefined{jb@fm@\@citeb}{}{%
\ifthenelse{\equal{\jb@@mult@switch}{0}}{%
\@ifundefined{jb@fmmess@\@citeb}{% only one message per entry
\global\@namedef{jb@fmmess@\@citeb}{}%
\jb@package@warning{\jb@pkg@name}{%
Multiple use of `et. al.' for the author(s)\MessageBreak
of `#3' \MessageBreak
detected, printing the title to\MessageBreak
avoid ambiguity}}{}}{\relax}%
\jb@do@if@multiple@bibetal% the things to do if true
}%
\ifjb@babel
\ifthenelse{%
\equal{\jb@@language}{\bbl@main@language}%
}{}{%
\ifthenelse{%
\equal{\jb@@language}{\@empty}%
}{% if no language is given, use the main language
\expandafter\jbselectlanguage%
\expandafter{\bbl@main@language}%
}{% if a language is given, use it
\language=\csname l@\jb@@language\endcsname\relax%
}%
}%
\fi
\jb@checktitlefields
\@ifundefined{jb@morethanonecite}{\jb@makeibidem}{\relax}%
\jb@makeidem
\jb@firstcitefull
\jb@checked@etal
\jb@makeagainfullcite%
\jb@relaxforemptyauthor
\jb@warningfootciteusage
\jb@maketitlewishestrue
\ifjb@lookat
\ifjb@firstcite@full
\ifjb@allow@lookat@for@fullcite
\ifjb@all@full\else
\ifthenelse{%
\equal{\@nameuse{look@\@citeb}}{firsttime}%
}{%
\relax
}{%
\jb@lookat@fortype@hook
\ifthenelse{\equal{\jb@@lookat@for@type@switch}{1}}{%
\unskip\lookatprefix%
\endgroup
\begingroup
\lookatsuffix%
\jb@extract%
}{}%
}%
\fi % allfull end
\fi % allow@lookat@for@fullcite end
\fi % jb@firstcite@full end
\fi % jb@lookat end
\jb@cite@no@title@for@type@hook%
\ifjb@debug
\textcolor[named]{Dandelion}{%
\ifjb@debug@br[\fi\jb@makecheckedcite\ifjb@debug@br]\fi}%
\else
\jb@makecheckedcite%
\fi
\OpCit%
\jb@checkperiod{#2}%
\jb@extract@starting@page{\jb@@pages}%
\jb@makecheckedpages
\ifjb@allow@hyper@cite\hyper@jblinkend\fi
\endgroup
\ifx\relax#1\relax\ifx\relax#2\relax
\gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{EMPTY}%
\else
\gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{\jbprformat{#2}}%
\fi
\else
\ifx\relax#2\relax
\ifjb@old@order
\gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{\jbprformat{#1}}%
\else
\gdef\jb@@lastannotatorcite{}\gdef\jb@@lastpagecite{EMPTY}%
\fi
\else
\ifjb@old@order
\gdef\jb@@lastannotatorcite{#2}\gdef\jb@@lastpagecite{\jbprformat{#1}}%
\else
\gdef\jb@@lastannotatorcite{#1}\gdef\jb@@lastpagecite{\jbprformat{#2}}%
\fi
\fi
\fi
\ifjbweareinbib\else\gdef\jb@@lastauthorcite{#3}\fi
\global\let\jb@morethanonecite\@undefined
\let\ibidem\@undefined
\ifjb@no@nested@crossrefs
\global\let\jbcrossrefchecked\origcrossref
\fi\ifjb@fn
\let\jb@close\@empty
\let\jb@open\@empty
\fi
\stepcounter{citefull}%
\stepcounter{opcit}%
\jb@allow@adding@of@pagerangetrue
}%
}%
\global\jb@fullcite@againfalse
\jb@noauthorforcitetitlefalse
}{}%
\ifjb@fn\else\jb@fnfalse\fi
\jb@ssed@recent@kernedfalse
\@restore@auxhandle
}\AtBeginDocument{%
\def\lookatprefix{Cfr.~}%
\def\lookatsuffix{}}
\endinput`
L’autore di jurabib avrebbe sicuramente fatto un lavoro migliore e con maggior cognizione di causa.
::
Modifica non troppo complicata, ma spero di non aver commesso troppi errori (nel caso, il forum serve anche a questo)`%%
%% Rimosso!!!
%%`Per testarlo ho usato questo:`\documentclass{article}
\usepackage[citefull=first, lookat]{jurabib}
\usepackage{jura-extra}
\begin{document}
ciao\footcite{bs-1629}
\clearpage
ciao\footcite{bs-1629}
\clearpage
\bibliography{test}
\bibliographystyle{jurabib}
\end{document}`Speriamo in bene 😉
::Come faccio ad inserire le lettere iniziali per ordinare l’indice?
Dovrai creare un piccolo file di testo (chiamiamolo indice.ist) nel quale inserire:`heading_prefix “{\\bfseries\\hfil ”
heading_suffix “\\hfil}\\nopagebreak\n”
headings_flag 1`Quando genererai l’indice vero e proprio con makeindex, dovrai indicare esplicitamente l’uso di quel piccolo file di cui sopra:`makeindex -s indice.ist.idx`
::Come da topic, mi sono ritrovato nell’output della mia relazione un oggetto fluttuante (una tabella, per l’esattezza) sotto lo spazio delle note. Sono mica incorso in un “errore tipico” da aggiungere alla lista dei peccati capitali? O c’è bisogno vi fornisca maggiori dettagli?
Non si tratta di un tuo errore ma di una “peculiarità” di LaTeX (discutibile fin che si vuole). Soluzione sbrigativa:`\usepackage[bottom]{footmisc}`Il fatto che usi una delle classi del bundle KOMA, però, potrebbe causare qualche problema a me ignoto (mai usate), quindi prova a tuo rischio e pericolo.
-
AutoreRisposte