Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 19

Thema: Rückgabeparameter Textbox

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57

    Rückgabeparameter Textbox

    Hallo,

    ich habe eine Frage.
    Ist es möglich, eine Parameter zu bekommen, der mir sagt, wie viel Platz der Text eingenommen hat?
    also wenn ich etwas generiere, erstellt Latex ja .aux, .dvi, .log, .pdf, .ps Dateien.
    Steht in irgendeiner dieser Dateien so etwas wie:
    Die Textbox hat eine höhe von 13 cm, als Parameter?
    ich hatte mir schonmal die .log Datei angesehen und soetwas wie:
    Code:
    (typearea)             \paperheight     = 845.04694pt
    (typearea)              \textheight     = 538.0pt
    gefunden. wenn ich das aber umrechne, stimmt das leider nicht.

    ich hoffe ihr könnt mir helfen,
    Danke und LG
    peyo

  2. #2
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57
    Wird beim ersten Latex durchlauf eine weitere Datei generiert?

    ich weiß, dass man bei Seitenanzahlangaben Latex 2 mal durchlaufen muss, weil es ja beim ersten mal nicht weiß, wie viele Seiten das Dokument besitzt.
    Ist es möglich, über diesen Weg herauszufinden, wie lange der Text, Tabelle, Box etc. ist?
    ich weiß, dass ich die Breite meist einstellen kann und die sich auch nicht verändert.

    Vielen Dank schonmal für Eure Bemühungen,
    LG

    Peyo

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Zitat Zitat von peyo Beitrag anzeigen
    wenn ich das aber umrechne, stimmt das leider nicht.
    Das dürfte aber an Deiner Umrechnung liegen.

    Wenn Du Breite und Höhe (vielleicht auch noch Tiefe) eines nahezu beliebigen "Blockes" wissen willst, kannst Du diesen in eine box packen und diese dann ausmessen lassen. (Stichworte \savebox, \usebox usw.)

    Falls das das ist, was Du suchst.

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57
    ja genau das ist es.

    hättest du ein minimalbeispiel mit dem ausmessen?

    ich weiß nicht, von wo ich dann die größe der box bekomme.

  5. #5
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Ansatzweise:

    Code:
    % Preamble:
    \usepackage{xcalc}
    \newsavebox{\mysavebox}
    \newlength{\mywidth}
    \newlength{\myrest}
    
    \savebox{\mysavebox}{Hier kommt Dein Material hin!}
    \setlength{\mywidth}{\wd\mysavebox+}
    \setlength{\myrest}{\textwidth-\mywidth}
    \usebox{\mysavebox}
    Einfacher und zielgerichteter geht so etwas, wenn Du ein Minimalbeispiel spendierst.

  6. #6
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57
    okay danke,

    und wo krieg ich jetzt die länge der box her?

  7. #7
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Schau Dir mal diesen thread an.

  8. #8
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57
    ah okay danke.
    eins versteh ich noch nicht
    wo schreibe ich dann
    Code:
    \ht\MessBox
    mein Code schaut so aus:
    Code:
    \documentclass[12pt,a4paper,twoside]{scrartcl}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \pagestyle{empty}
    
    
    \begin{document}
    \newsavebox\MessBox
    \savebox{\MessBox}{Das zu messende}
    \begin{lrbox}{\MessBox}Das zu messende\end{lrbox}
    
    \end{document}

  9. #9
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Wenn Du die Ausgabe in der log-Datei haben möchtest, kannst Du Folgendes machen:

    Code:
    \documentclass[12pt,a4paper,twoside]{scrartcl}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \pagestyle{empty}
    
    
    \begin{document}
    \newsavebox\MessBox
    \savebox{\MessBox}{Das zu messende}
    \begin{lrbox}{\MessBox}Das zu messende\end{lrbox}
    
    \showthe\ht\MessBox
    \showthe\wd\MessBox
    \showthe\dp\MessBox
    
    \end{document}

  10. #10
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57
    Hallo LuPi,
    Dieser Codeteil kann bei mir nicht verarbeitet werden.
    Ich kriege als ausgabe auf der Commandozeile ein ?.

    Code:
    \showthe\ht\MessBox
    \showthe\wd\MessBox
    \showthe\dp\MessBox

    Edit: man muss den Codeteil außerhalb von \end{document} schreiben

    Edit: leider ist mein Dokument leer und irgendwelche Angaben habe ich auch nicht bekommen :/
    Geändert von peyo (30-11-2010 um 13:52 Uhr)

  11. #11
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Dann bin ich hier mit meinem Latein am Ende. Mein pdfLaTeX spuckt mir in der Log-Datei (und an der Konsole) folgende Zeilen aus:

    Code:
    \MessBox=\box27
    
    > 8.26465pt.
    l.13 \showthe\ht\MessBox
    
    ?
    > 0.0pt.
    l.14 \showthe\dp\MessBox
    
    ?
    > 86.82878pt.
    l.15 \showthe\wd\MessBox
    
    ?
    Dass das Ergebnis ein leeres Dokument ist, ist klar, da die Box nur bestückt wird, aber nicht gesetzt. Wenn Du dem Ganzen ein \usebox{\MessBox} hinterschickst, ist das Dokument auch nicht mehr leer.

  12. #12
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57
    hallo =)

    hab den Code:
    Code:
    \documentclass[12pt,a4paper,twoside]{scrartcl}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \pagestyle{empty}
    
    
    \begin{document}
    \newsavebox\MessBox
    \savebox{\MessBox}{Das zu messende Das zu messende Das zu messende
    Das zu messende Das zu messende Das zu messende Das zu messende Das zu messende}
    \begin{lrbox}{\MessBox}Das zu messende Das zu messende Das zu messende 
    Das zu messende Das zu messende Das zu messende\end{lrbox}
    
    \end{document}
    
    \showthe\ht\MessBox
    \showthe\wd\MessBox
    \showthe\dp\MessBox
    jetzt mal mit dem Aufruf: pdflatex minipage123.tex ausprobiert.

    Meine Log Datei schaut jetzt so aus:
    Code:
    ...
    Package typearea Info: These are the values describing the layout:
    (typearea)             DIV  = 12
    (typearea)             BCOR = 0.0pt
    (typearea)             \paperwidth      = 597.50793pt
    (typearea)              \textwidth      = 448.13095pt
    (typearea)              DIV-departure   = -6/100
    (typearea)              \evensidemargin = 27.31467pt
    (typearea)              \oddsidemargin  = -22.47766pt
    (typearea)             \paperheight     = 845.04694pt
    (typearea)              \textheight     = 635.5pt
    (typearea)              \topmargin      = -41.72441pt
    (typearea)              \headheight     = 18.125pt
    (typearea)              \headsep        = 21.75pt
    (typearea)              \topskip        = 12.0pt
    (typearea)              \footskip       = 50.75pt
    (typearea)              \baselineskip   = 14.5pt
    (typearea)              on input line 832.
    ...
    Meine Kommandozeile hat das ausgespuckt:
    Code:
    This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
     %&-line parsing enabled.
    entering extended mode
    (./minipage123.tex
    LaTeX2e <2005/12/01>
    Babel  and hyphenation patterns for english, usenglishmax, dumylang, noh
    yphenation, german, ngerman, loaded.
    (/usr/share/texmf-texlive/tex/latex/koma-script/scrartcl.cls
    Document Class: scrartcl 2006/07/30 v2.95b KOMA-Script document class (article)
    
    (/usr/share/texmf-texlive/tex/latex/koma-script/scrkbase.sty
    (/usr/share/texmf-texlive/tex/latex/koma-script/scrlfile.sty
    Package scrlfile, 2006/03/28 v2.95 KOMA-Script package (loading files)
                      Copyright (C) Markus Kohm
    
    ) (/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty))
    (/usr/share/texmf-texlive/tex/latex/base/size12.clo)
    (/usr/share/texmf-texlive/tex/latex/koma-script/typearea.sty
    Package typearea, 2006/07/30 v2.95b KOMA-Script package (type area)
                      Copyright (C) Frank Neukam, 1992-1994
                      Copyright (C) Markus Kohm, 1994-2002
    
    )) (/usr/share/texmf-texlive/tex/latex/base/fontenc.sty
    (/usr/share/texmf-texlive/tex/latex/base/t1enc.def))
    (/usr/share/texmf-texlive/tex/latex/base/inputenc.sty
    (/usr/share/texmf-texlive/tex/latex/base/utf8.def
    (/usr/share/texmf-texlive/tex/latex/base/t1enc.dfu)
    (/usr/share/texmf-texlive/tex/latex/base/ot1enc.dfu)
    (/usr/share/texmf-texlive/tex/latex/base/omsenc.dfu)))
    (/usr/share/texmf-texlive/tex/generic/babel/babel.sty
    (/usr/share/texmf-texlive/tex/generic/babel/ngermanb.ldf
    (/usr/share/texmf-texlive/tex/generic/babel/babel.def))) (./minipage123.aux)
    (./minipage123.aux) )
    No pages of output.
    Transcript written on minipage123.log.
    Leider bekomme ich die Ausgabe nicht so, wie du sie bekommst :/

    mache ich noch etwas falsch?

    Danke für eure Hilfe

  13. #13
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Warum schreibst du die \showthe-Befehle hinter \end{document}? \end{document} ist nun mal das Ende der Kompilation. Da kannst du Romane hinschreiben, LaTeX wird sie nicht sehen.

  14. #14
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57
    hatte das gestern mal ausprobiert, und da kam dann ein ? bei der Konsole.

    Hab jetzt wieder
    Code:
    \documentclass[12pt,a4paper,twoside]{scrartcl}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{tabularx}
    \pagestyle{empty}
    
    
    \begin{document}
    \newsavebox\MessBox
    \savebox{\MessBox}{\begin{tabularx}{12cm}[t]{p{6cm}}Das zu messende Das zu messende \\Das zu messende
    Das zu messende Das zu messende Das zu messende Das zu messende Das zu messende\end{tabularx}}
    \begin{lrbox}{\MessBox}{\begin{tabularx}{12cm}[t]{p{12cm}}Das zu messende Das zu messende Das zu messende 
    Das zu messende Das zu messende Das zu messende\end{tabularx}}\end{lrbox}
    \usebox{\MessBox}
    
    \showthe\ht\MessBox
    \showthe\wd\MessBox
    \showthe\dp\MessBox
    
    
    \end{document}
    Danke für die Hilfe, man musste 3 mal enter drücken um alle Abfragen zu bekommen ^^
    Geht das auch ohne Enter zu drücken?

    Ich bekomme auch eine Ausgabe im PDF Dokument, allerdings verstehe ich nicht, welchen tabularx Befehl ich für die Ausgabe brauche.
    Den oberen oder den unteren und welchen Text er dann abmisst. den bei \begin{lrbox}{\MessBox} oder den bei \savebox{\MessBox}.

    Bitte nochmals um Hilfe,

    Vielen Dank
    Geändert von peyo (01-12-2010 um 10:24 Uhr)

  15. #15
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Danke für die Hilfe, man musste 3 mal enter drücken um alle Abfragen zu bekommen ^^
    Geht das auch ohne Enter zu drücken?
    Nun, du kannst \scrollmode einstellen. Aber normalerweise willst du \showthe ja nicht dauernd im Dokument haben, es ist ja nur zum Testen, und da willst du die Ausgabe ja vielleicht sofort sehen.

    Wenn du Messwerte irgendwo verwenden willst, kannst du das direkt tun:

    Code:
    \rule{\ht\MessBox}{\wd\MessBox}
    Den oberen oder den unteren und welchen Text er dann abmisst.
    Nun, ich empfehle einen Test: Ändere eine der beiden und schau, was \showthe macht. Oder füge auch \showthe-Befehle vor dem zweiten Code ein.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •