Usare un font typewriter di default

  • Creatore
    Topic
  • #3619
    Up
    0
    Down
    ::


    Ciao a tutti,

    vorrei utilizzare come font di dafault un carattere di tipo typewriter (ad esempio un courier). Ho spulciato il forum e qualche altra risorsa on line e ho provato ad utilizzare nel preambolo il comando

    `\renewcommand{\rmdefault}{\ttdefault}`

    Compilando ho quello che voglio, cioè l’uso di un carattere tipo courier in tutto il testo.

    Il problema è che mi sembra che non venga più gestita correttamente la lunghezza delle righe che appaiono più lunghe del normale. Talvolta il testo sborda anche oltre il limite della pagina. Inoltre non funziona più la sillabazione delle parole.

    Qualche suggerimento?

    Grazie mille, Luca.

Visualizzazione 17 filoni di risposte
  • Autore
    Risposte
    • #3620
      Up
      0
      Down
      ::


      Beh, alla fine sono riuscito a risolvere da solo spulciando qua e là il forum: non c’era proprio una risposta al mio problema, ma ho provato ad applicare qualcosa che veniva detto e mi sembra che funzioni.

      Nella speranza che possa servire a qualcuno, dico cosa ho fatot.
      Ho messo tutto il testo dopo il \begin{document} tra i comandi
      `\begin{sloppypar}

      \end{sloppypar}`

      Ora il testo rientra nei margini, anche se non viene comunque sillabato (ma questo è un problema secondario).

      La cosa funziona, ok, ma malgrado ricerche con google non ho ben capito cosa fa questo ambiente.

      Chi mi può consigliare una guida?

      Ciao, Luca

    • #3621
      Up
      0
      Down
      ::

      Chi mi può consigliare una guida?

      Per questo argomanto va bene una qualunque di quelle recensite su questo sito.

    • #3622
      Up
      0
      Down
      ::

      Chi mi può consigliare una guida?

      Per questo argomanto va bene una qualunque di quelle recensite su questo sito.

      Grazie Aragorn, ma le guide recensite sul sito sono tutte cartacee (e mi pare anche di aver capito che sono costose).

      Non esiste una guida disonibilie online e, possibilmente, gratuita? In tutte quelle che ho consultato mi è capitato di trovare sloppypar, ma nessuna spiegava effettivamente cosa fa di preciso.

      Grazie mille, Luca.

    • #3623
      Up
      0
      Down
      ::

      Non esiste una guida disonibilie online e, possibilmente, gratuita? In tutte quelle che ho consultato mi è capitato di trovare sloppypar, ma nessuna spiegava effettivamente cosa fa di preciso.

      La differenza tra le guide cartacee e quelle free sta proprio in questo: quelle free trattano quasi tutti gli argomenti ma in modo molto superficiale senza spiegare cosa fa il TeX. Quando si arriva al punto di aver bisogno come funziona il motore che sta dietro ai comandi, è necessario passare ai manuali.

      Su qualche guida free magari viene spiegato anche come funziona lo sloppypar, ma adesso non saprei cosa consigliarti.

    • #3624
      Up
      0
      Down
      ::

      Non esiste una guida disonibilie online e, possibilmente, gratuita? In tutte quelle che ho consultato mi è capitato di trovare sloppypar, ma nessuna spiegava effettivamente cosa fa di preciso.

      La differenza tra le guide cartacee e quelle free sta proprio in questo: quelle free trattano quasi tutti gli argomenti ma in modo molto superficiale senza spiegare cosa fa il TeX. Quando si arriva al punto di aver bisogno come funziona il motore che sta dietro ai comandi, è necessario passare ai manuali.
      Su qualche guida free magari viene spiegato anche come funziona lo sloppypar, ma adesso non saprei cosa consigliarti.

      Per abilitare la sillabazione nei font a spaziatura costante si usi il pacchetto hyphenat, con l’opzione htt:`\usepackage[htt]{hyphenat}`L’ambiente sloppypar rilassa gli stretti criteri di TeX per la composizione dei paragrafi, permettendo che ne siano prodotti di brutti.
      Ciao
      Enrico

    • #3625
      Up
      0
      Down
      ::


      Ciao egreg9,

      Per abilitare la sillabazione nei font a spaziatura costante si usi il pacchetto hyphenat, con l’opzione htt:

      Grazie mille, proprio quello che mi serviva! Ora mi leggo la guida del comando, potrei trovare altre cose molto utili.

      Ciao, Luca.

    • #3626
      Up
      0
      Down
      ::


      ciao,
      vorrei solo metterti una pulce nell’orecchio, ma magari sto parlando per niente:
      da un precedente 3d mi pareva di aver capito che a te interessava scrivere come si fa con una macchina da scrivere, in modo da contare esattamente le battute. mi sbaglio?
      in tal caso non è esattamente quello che stai facendo, perché te stai usando un carattere a spaziatura costante, ovvero con tutte le lettere della stessa larghezza. ma lo spazio fra due parole non è il solito, a meno che tu non allinei le frasi a sinistra.
      se non era questo quello che volevi fare ignora questo messaggio.

      fermo restando quello che dice aragorn “impara latex e mettilo da parte” e la “not so short…” sono due ottime guide, entrambe disponibili in italiano, pur restando molto superficiali.
      ciao
      f

    • #3627
      Up
      0
      Down
      ::


      Ciao fabustra,

      hai perfettamente ragione.

      Utilizzando nel preambolo

      `\renewcommand{\rmdefault}{\ttdefault}`

      il testo non viene più giustificato, ma è allineato a sinistra. Mi interessa contare le battute, anche se non ad un livello esatto. L’importante è poter valutare, seppure in modo approssimativo, di quante cartelle 30×60 è composto il testo, magari potendolo anche visualizzare a video. Naturalmente le pagine non avranno esattamente 1800 battute, ma a me basta avere un’idea di massima.

      Utilizzando le guide che mi avete consigliato e spulciando qua e là alcuni pacchetti sono riuscito ad ottenere una serie di comandi che mi permettono di convertire il testo in cartelle 30×60 con carattere monospazio. Ho preso questi comandi e li ho messi in un file .sty, creando un pacchetto un po’ rozzo ma efficace.
      Mi basta metterlo nel preambolo e commentarlo se voglio il testo normale, decommentarlo se voglio la visualizzazione in cartelle.

      E’ un modo di fare poco elegante, ma funzoina. Se vi interessa posso postare i comandi, magari mi date qualche dritta in più 🙂

      Ciao e grazie, Luca.

    • #3628
      Up
      0
      Down
      ::

      il testo non viene più giustificato, ma è allineato a sinistra.

      automaticamente? se ne impara sempre di nuove…
      altrimenti c’era \raggedright

      E’ un modo di fare poco elegante, ma funzoina.

      questa è la cosa più importante. poi uno studia e raffina via via.

      Se vi interessa posso postare i comandi, magari mi date qualche dritta in più

      certo. per esempio io ti consiglierei un \sloppy, perché mi pare logicamente più pulito che infilare tutto il documento dentro un panino sloppypar, visto che oltre a paragrifi ci sono comandi di sezionamento…
      ciao
      f

    • #3629
      Up
      0
      Down
      ::


      Ciao a tutti,

      automaticamente? se ne impara sempre di nuove…

      Già, la cosa ha stupito anche me!

      per esempio io ti consiglierei un \sloppy

      Avevo dimenticato di dirlo, ma sto utilizzando un \sloppy, che mi rende il codice più semplice.

      Ora sono in ufficio, non appena mi sarà possibile posterò i comandi che uso, così vi faccio inorridire un po’ 😳 😯 😀
      Magari mi date una mano a migliorarli. 😉

      A presto, Luca.[/code]

    • #3630
      Up
      0
      Down
      ::


      Ciao a tutti.

      Riporto il codice che ho utilizzato per passare agevolmente da una formattazione tradizionale ad una 30×60.

      Premetto che uso Latex da poco tempo e vi prego di non inorridire per la rozzezza del mio codice.

      Questo è il documento .tex di partenza:

      `
      \documentclass[12pt,a4paper,openany, twoside]{mwbk}

      %%% Pacchetti base
      \usepackage[T1]{fontenc}
      \usepackage[latin1]{inputenc}
      \usepackage[italian]{babel}
      \frenchspacing
      %\usepackage{newcent} % newcent, palatino, times \larg{37em} !!!

      %%% Fancy Headings
      \usepackage{fancyhdr}
      \pagestyle{fancy}
      %% Personalizza fancy
      \fancyhead{}
      \fancyhead[LE]{Luca Di Gialleonardo}
      \fancyhead[RE]{P~S~I}
      \fancyhead[LO]{\leftmark}
      \fancyhead[RO]{\rightmark}
      \cfoot{\thepage}
      %% Cambia Mark
      \renewcommand{\chaptermark}[1]{\markboth{\chaptername\ \thechapter}{#1}}

      %%% Comandi veloci
      \newcommand{\e}[1]{\emph{#1}} % Per creare del testo enfatizzato
      \newcommand{\spazio}{\bigskip \noindent}

      %%%%% Conversione in CARTELLA %%%%%
      \addtolength{\headwidth}{1cm}
      %% TESTO NORMALE %% Disattiva se 30×60
      \usepackage[rilegatura=1cm]{layaureo}
      %% TESTO CARTELLA %%
      % \usepackage{cartella}
      % \larg{37em}

      %%% Title Page
      \title{P~S~I}
      \author{Luca Di Gialleonardo}
      \date{\small Romanzo}

      %%%%%%%%%%%%%%%%%%%%%%%%%%%% Inizio Documento %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      \begin{document}

      % \sloppy % Attivare solo in modalità 30×60 %%%%%%%%%%%%

      \frontmatter
      \maketitle

      \tableofcontents

      \mainmatter

      \include{00prologo}

      `

      Con questo preambolo ho un testo standard.

      Se voglio passare al 30×60, imposto il oneside (ma solo per semplicità), decommento le righe:

      `
      \usepackage{cartella}

      \sloppy
      `

      e commento la riga che attiva il layaureo.

      Questo è il contenuto del pacchetto cartella.sty:

      `
      \ProvidesPackage{cartella}[2004/07/30 v0.1 costruzione cartella 30×60]

      %% TESTO CARTELLA %%
      \renewcommand{\rmdefault}{\ttdefault} % Carattere monospazio
      \setlength{\parindent}{0pt} % Togli indentazione
      \linespread{1.6} % Interlinea doppia
      \usepackage[htt]{hyphenat} % Sillabazione per carattere monospazio
      \setlength{\textwidth}{32em} % Righe di 60 caratteri DEFAULT
      \newcommand{\larg}[1]{\setlength{\textwidth}{#1}
      \setlength{\headwidth}{\textwidth}} % rivedi larghezza
      \setlength{\headwidth}{\textwidth} % Correzione larghezza intestazione
      `

      In questo modo ottengo pagine con caratteri monospazio di 60 righe e con un massimo di 30 battute per riga.
      Ho dovuto aggiungere il comando \larg perché se utililizzo il pacchetto newcent (ma anche palatino e altri) viene utilizzato il courier come carattere monospazio e la larghezza di 32em della pagina non è più sufficiente per avere righe di 30 battute. Utilizzando questi pacchetti devo decommentare la righa \larg{37em} nel preambolo del documento per correggere il tutto.
      Ma ho un dubbio: mi pare di aver capito che l’unità di misura em equivale alla larghezza della lettera m (o M?) nel font di default. Pensavo che settando la larghezza del testo a 30em avrei ottenuto il risultato cercato, ma sbagliavo. Ciò avviene perché la ridefinizione dell’rmdefault, non cambia il font di base?

      In ogni caso spero di non aver commesso gravi errori e che qualcuno di voi possa darmi buoni consigli per migliorare il codice.
      Magari si potrebbe creare un pacchetto come si deve e metterlo a disposizione degli altri, forse non sono l’unico ad avere questa esigenza.

      Grazie mille a tutti, Luca.

    • #3631
      Up
      0
      Down
      ::


      ciao,
      qui si va ot rispetto al messaggi originale, ma dentro ad un file .sty non si sua \usepackage per una serie di ragioni.
      ti consiglio di sfogliare la guida destinata agli autori di pacchetti e classi che trovi su loria, che spiega perché usare \requirepackage
      ciao
      f

    • #3632
      Up
      0
      Down
      ::


      Ho scaricato proprio ieri sera la guida che mi consigli, perché sono conaspev ole che un pacchetto scritto in questo modo non è corretto.
      Ma avevo creato il file .sty solo per raggruppare in un semplice comando una serie di righe che avrei dovuo commentare e decommentare all’occorrenza. Non ricordo in quale guida si consigliava di raggruppare dei comandi in questo modo per facilitare le cose.

      In ogni caso era mia intenzione migliorare il tutto, per questo avevo stampato la guida, ho intenzione di leggerla quanto prima.

      Grazie mille, Luca.

    • #3633
      Up
      0
      Down
      ::


      Mi rendo solo ora conto che nel messaggio in cui postavo il codice avevo invertito a volte le righe con le battute. 😳

      Naturalmente il numero di righe è 30, mentre quello delle battute è 60 😀

      Chiedo scusa per la confusione,

      Luca.

    • #3634
      Up
      0
      Down
      ::


      Ciao a tutti.

      Ho modificato il cartella.sty come segue:

      `\ProvidesPackage{cartella}[2004/07/30 v0.2 costruzione cartella 30×60]

      %% TESTO CARTELLA %%
      \renewcommand{\rmdefault}{\ttdefault} % Carattere monospazio
      \setlength{\parindent}{0pt} % Togli indentazione
      \linespread{1.6} % Interlinea doppia
      \RequirePackage[htt]{hyphenat} % Sillabazione per carattere monospazio
      \setlength{\textwidth}{32em} % Righe di 60 caratteri DEFAULT
      \newcommand{\larg}[1]{\setlength{\textwidth}{#1}}
      \pagestyle{plain}
      \AtBeginDocument {\sloppy}
      `

      Ho (grazie del consiglio!) utilizzato il \RequirePackage al posto di \usepackage, eliminato le intestazioni fancy (in una 30×60 non mi servono) e fatto in modo di non dover più decommentare la riga \sloppy nel documento di partenza.

      Oltre a rendere il pacchetto più aderente allo standard, mi piacerebbe fare in modo che nel momento in cui si usa il pacchetto si attivi in automatico l’opzione oneside, senza doverla specificare nel preambolo del documento. Esiste un comando che faccia ciò?

      Grazie mille, Luca.

    • #3635
      Up
      0
      Down
      ::


      mi pareva di ricordare che nella guida che hai letto ci fosse come passare in giro opzioni alle classi.
      la cosa più semplice che puoi fare cmq è un requirepackage su geometry e scrivere nel tuo .sty tutte le impostazioni di layout che vuoi. io nel mio layaureo ho fatto più o meno così. in questo modo eviti di toccare direttamente la larghezza del testo ma passi per geometry, che è sempre preferibile. e per l’altezza? nel manuale di geometry mi pare ricordare che è spiegato come fare una pagina con un numero determinato di righe…

      usando geometry ricordati di caricare il tuo pacchetto dopo uno che modifichi l’impaginazione, come appunto layaureo.
      ciao
      f

    • #3636
      Up
      0
      Down
      ::

      i pareva di ricordare che nella guida che hai letto ci fosse come passare in giro opzioni alle classi.

      Sì, ci dovrebbe essere. Ho letto la guida, ma ammetto che in alcuni punti è risultata alquanto complicata. Mi pare però di capire che nel passare un comando ad una classe, rendo il pacchetto utilizzabile solo per quella classe. Ad esempio, se passo l’opzione a mwbk, poi non potrei utilizzare lo stesso pacchetto su un article o report, giusto? Mi sa che mi conviene fare un po’ prove.

      la cosa più semplice che puoi fare cmq è un requirepackage su geometry

      Lo penso anche io. Per ora mi ero trovato bene modificando le larghezze e la lunghezza del testo, visto che anocra non mi ero impratichito con geometry. Ma mi rileggerò al guida, magari mi aiuto studiadomi il layaureo e spero di farcela.

      Bene, mi sa che ho trovato qualcosa da fare durante le ferie ormai prossime! 😀

      Ciao, Luca.

    • #3637
      Up
      0
      Down
      ::


      Ciao a tutti.

      Grazie ai prezioni consigli di fabusdra ho migliorato di molto il mio pacchetto (anche se chiamarlo “pacchetto” mi sembra un po’ esagerato, vista la sua semplicità!).

      Ecco il nuovo codice:

      `\ProvidesPackage{cartella}[2004/08/12 v0.3 Costruzione cartella 30×60]

      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      % Usando il pacchetto cartella.sty il testo viene %
      % convertito in cartelle di 30 righe di max 60 battute %
      % con un carattere monospazio %
      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

      \renewcommand{\rmdefault}{\ttdefault} % Carattere monospazio

      \setlength{\parindent}{0pt} % Togli indentazione

      \RequirePackage[htt]{hyphenat} % Sillabazione per carattere monospazio

      \linespread{1.6} % Interlinea doppia

      \RequirePackage[twoside=false, % Imposta oneside
      width=32em, % Righe di max 60 battute
      vmarginratio=1:1, % Imposta rapporto 1:1 per margini top e bottom
      lines=48] % Imposta pagina di 30 righe [48 = 30 x 1.6]
      {geometry} % Chiama pacchetto 'geometry'

      \pagestyle{plain} % Elimina intestazioni

      \AtBeginDocument {\sloppy} % Migliora 'a capo' delle righe`

      Usando geometry ho proprio le pagine come le volevo. Ora mi basta richiamare il pacchetto cartella.sty ed ottengo il risultato che cercavo.

      Mi restano due cose da vedere:
      1- Se utilizzo un paccketto che mi cambia il font roman (es. palatino), il carattere monospazio viene cambiato in courier, costringendomi a settare una larghezza di 37em invece di 32em per ottenere la giusta lunghezza della riga. Potrei riprendere il comando \larg che avevo usato nella precedente versione del pacchetto, ma non mi sembra l’ideale. Forse è sufficiente operare con un comando che imposta il font TT non come courier ma sempre come quello usato normalmente
      2- Ho provato ad utilizzare nello stesso documento layaureo e cartella, mettendo il secondo dopo il primo. Ma se non commento la riga di layaureo prima di compilare ho un errore: Option clash for package geometry. Immagino che i due pacchetti vadano in conflitto…

      In ogni caso sono soddisfatto dei risultati, grazie mille!!! 😀

Visualizzazione 17 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top