2017-10-06 19 views
0

Je ne suis pas bon en anglais, donc, je suis désolé si j'écris quelque chose de mal.Je dois utiliser des variables définies en python dans le document latex

Je crée un programme en python qui reçoit un fichier avec les inscriptions et retourne un fichier .pdf avec les parenthèses du championnat.

Le programme en python fonctionne bien, mais maintenant je dois dessiner les crochets the image attached.

Donc, j'ai le "dessin" du support fait (here is how it looks), maintenant je dois le compléter avec les noms des concurrents.

Mon programme en python me donne un tableau avec le nom des concurrents pour chaque catégorie, donc j'ai besoin de définir des variables dans mon document latex qui seront classées par le tableau que j'ai de mon programme. Par exemple, mon programme dit que le nom du premier concurrent est Vivian Horing, donc je dois le mettre du numéro 1 dans la parenthèse. Comment puis-je faire ceci?

----------------------------- Je résous déjà cette partie (j'ai mis la réponse dans la finale) --- J'ai pensé à faire cette image en latex, en écrivant son code dans le script python, mais si quelqu'un a une meilleure solution, je suis prêt à le prendre.

Mon problème est que je ne peux pas faire les dessins où je veux sur la page. Essayer de faire la première place dans l'image (celle avec un intérieur), j'essaie ceci:

\documentclass{article} 
\usepackage[a4paper,margin=0in,landscape]{geometry} 
\usepackage{tikz} 

\begin{document} 
\begin{tikzpicture} 
    \draw (2mm,3mm) rectangle (10mm,10mm); 
\end{tikzpicture} 
\end{document} 

Mais je ne peux pas changer où la place est sur la page. J'ai essayé de changer le (2mm, 3mm) pour beaucoup de nombres différents, mais rien ne semble changer. Et il semble que le (10mm, 10mm) soit la taille du rectangle.

J'ai aussi besoin de savoir dessiner toutes les autres lignes.

Ceci est la page d'une catégorie; Je dois le faire pour toutes les catégories, donc j'ai besoin d'utiliser une variable pour chaque nom afin que je puisse mettre ce code LaTex en boucle, puis créer le support pour toutes les catégories.

J'ai beaucoup cherché sur Google pour trouver une réponse à mon problème, mais je ne trouve rien pour m'aider.

Merci beaucoup à tous ceux qui essaient de m'aider.

----------------------- J'ai résolu le problème du dessin de support en utilisant le script de latex suivant:

\documentclass{article} 
\usepackage[a4paper,margin=0in,landscape]{geometry} 
\usepackage{tikz} 
\usetikzlibrary{plotmarks} 

\begin{document} 
    \setlength{\unitlength}{5mm} 
    \begin{picture}(500,42) 
    \linethickness{1pt} 
    \put(4.4,39.2){\line(1,0){50}} 
    \put(49,39.7){\makebox(0,0){C\'odigo}} 
    \put(49,38.6){\makebox(0,0){Tatame}} 
    \put(49,37.4){\makebox(0,0){In\'icio}} 
    \put(49,36.2){\makebox(0,0){Premia\c c\H ao}} 
    \put(49,35.0){\makebox(0,0){Atletas}} 
    %linhas do desenho 
    %linhas da primeira coluna 
    \multiput(4.4,38.2)(0,-2){16}{\line(1,0){12.5}} 
    %linhas da segunda coluna 
    \multiput(16.9,37.2)(0,-4){8}{\line(1,0){12.5}} 
    %linhas da terceira coluna 
    \multiput(29.4,35.2)(0,-8){4}{\line(1,0){12.5}} 
    %linhas da quarta coluna 
    \multiput(41.9,31.2)(0,-16){2}{\line(1,0){12.5}} 
    \put(48.2,30.7){\makebox(0,0){vencedor de A}} 
    \put(48.2,14.7){\makebox(0,0){vencedor de B}} 
    %linhas verticais primeira coluna 
    \multiput(16.9,36.2)(0,-4){8}{\line(0,1){2}} 
    %linhas verticais segunda coluna 
    \multiput(29.4,33.2)(0,-8){4}{\line(0,1){4}} 
    %linhas verticais terceira coluna 
    \multiput(41.9,27.2)(0,-16){2}{\line(0,1){8}} 
    %Numeros da primeira coluna 
    \put(4.9,38.5){\makebox(0,0){1}} 
    \put(4.9,36.5){\makebox(0,0){2}} 
    \put(4.9,34.5){\makebox(0,0){3}} 
    \put(4.9,32.5){\makebox(0,0){4}} 
    \put(4.9,30.5){\makebox(0,0){5}} 
    \put(4.9,28.5){\makebox(0,0){6}} 
    \put(4.9,26.5){\makebox(0,0){7}} 
    \put(4.9,24.5){\makebox(0,0){8}} 
    \put(4.9,22.5){\makebox(0,0){9}} 
    \put(4.9,20.5){\makebox(0,0){10}} 
    \put(4.9,18.5){\makebox(0,0){11}} 
    \put(4.9,16.5){\makebox(0,0){12}} 
    \put(4.9,14.5){\makebox(0,0){13}} 
    \put(4.9,12.5){\makebox(0,0){14}} 
    \put(4.9,10.5){\makebox(0,0){15}} 
    \put(4.9,8.5){\makebox(0,0){16}} 
    %Complementos finais 
    \put(4.4,6.2){\line(1,0){13.5}} 
    \put(11,5.7){\makebox(0,0){Chefe de Quadra}} 
    \put(4.4,3.2){\line(1,0){13.5}} 
    \put(11,2.7){\makebox(0,0){Mes\'ario}} 
    \put(26.5,7.2){\makebox(0,0){Atletas}} 
    \put(19.8,6.2){\line(1,0){13.5}} 
    \put(19.8,5.2){\line(1,0){13.5}} 
    \put(19.8,4.2){\line(1,0){13.5}} 
    \put(19.8,3.2){\line(1,0){13.5}} 
    \put(35.3,7.2){\makebox(0,0){Classifica\c c\H ao}} 
    \put(35.3,6.2){\makebox(0,0){1º}} 
    \put(35.3,5.2){\makebox(0,0){2º}} 
    \put(35.3,4.2){\makebox(0,0){3º}} 
    \put(35.3,3.2){\makebox(0,0){4º}} 
    \put(44,7.2){\makebox(0,0){Entidades}} 
    \put(37.3,6.2){\line(1,0){13.5}} 
    \put(37.3,5.2){\line(1,0){13.5}} 
    \put(37.3,4.2){\line(1,0){13.5}} 
    \put(37.3,3.2){\line(1,0){13.5}} 
    \begin{tikzpicture} 
    %quadrados da primeira coluna 
    \multiput(4.4,38.2)(0,-2){16}{\draw(0,0)rectangle(0.5,0.5);} 
    %quadrados da segunda coluna 
    \multiput(16.9,37.2)(0,-4){8}{\draw(0,0)rectangle(0.5,0.5);} 
    %quadrados do cabeçalho 
    \multiput(51,39.3)(0,-1.2){5}{\draw(0,0)rectangle(1.5,0.5);} 
    %\put(52,39.5){\draw(0,0)rectangle(1.5,0.5);} 
    \end{tikzpicture} 
\end{picture} 
\end{document} 
+0

J'ai besoin des parenthèses exactement comme l'image jointe, c'est une parenthèse officielle au championnat de karaté, et je dois le garder dans exactement le même format. –

Répondre

0

Avez-vous regardé this answer on google pour voir comment gérer cela? À mon avis, combiner python et LaTeX de cette façon n'est pas la solution. Une meilleure option est probablement ce dedicated python package qui fait exactement ce que vous essayez de faire.

+1

Le paquet python ne fonctionne pas pour moi, parce que je dois créer un .pdf du support avec seulement les concurrents.Je fais ce programme pour faire des championnats de karaté, et ils impriment ces crochets à utiliser pendant les affrontements, et en l'occurrence, ils écrivent le vainqueur de la confrontation et ainsi de suite. La réponse sur google peut m'aider, mais il suffit de la copier et de la lancer pour retourner quelques erreurs. Je vais essayer de le comprendre. Je vous remercie!! –