how to align a text in the center?

Cecilia Lucía Gigena shared this question 9 months ago
Answered

I have a multiple line text.

All lines appear on the left.

I want them to align in the center.


for example:


ABCDE

F


The F letter should be below the C letter, not the A letter.

Comments (9)

photo
1

eso es posible haciendo tablas de texto como en


TableText({{"esta linea que es tan larga"}, {"tiene centrada"}, {"una corta"}}, "c")

es fácil de hacer y manejar partiendo de lineas en una hoja de cálculo

photo
1

¡Muchas gracias! ¿Y cómo puedo insertar eso en una secuencia?


Secuencia(Texto(" " + (0 + 2i) + "\\ " + "cm", l4(i + 0), true, true), i, 0, 30)


Entiendo que en una TableText podría omitir algunas cosas:

Texto(" " + (0 + 2i) + "\\ " + "cm") → TablaTexto({(0 + 2i)} + { "cm"}...


Pero no sé cómo lograr que interprete el dato de la secuencia: 0 + 2i

y dónde poner el dato de la alineación, ya que también se necesita el dato de la posición de cada texto de la secuencia.

photo
1

Como no sé lo que es l4 ni para qué se pone el salto de línea \\ he suprimido un poco de la secuencia

de todas formas parece que l4 es una lista de puntos de posicionamiento, pero si usas table text no hay posicionamiento posible porque se posiciona el texto al completo no cada linea y si lo que quieres es centrar cada texto no tiene sentido porque una sola linea está centrada en la caja del texto porque no tiene derecha o izquierda

no sé si se parece a lo que quieres espero que sí . si lo que quieres es algo como marcar los ejes di cómo lo quieres; mejor haces un dibujo a mano y adjuntas una foto `porque poner en los ejes cm es fácil


otra cosa que no entiendo es el 0+2i. parece querer un complejo pero es se contrapone a que i,0,30 indica que i es un contador

si pruebas este comando y no es puedes escribir lo que buscas en un papel y adjuntar una foto

TablaTexto(Secuencia(" " + (0 + 2i) + "cm", i, 0, 150), "vc")

he puesto 150 para que se vea que centra las lineas

photo
1

NUEVAS IDEAS

he leído otros de tus posts y he visto uno en el que rami y tu parecíais no entenderos en absoluto, y te ha dado todas las instrucciones, pero parece que tú no las has comprendido

usa estas dos lineas de comandos y dime si es lo que quieres

l1 = Sequence(Text("" + (2i), (2i, 0), true, true, 0, -1), i, 0, 30)

l2 = Sequence(Text("cm", (2i, -0.3), true, true, 0, -1), i, 0, 30)

luego presiona ctrl+R

o haciendo un todo en uno y usando matrices látex en una sola linea

Sequence(Text("\begin{array}{c}" (0+2i) "\\cm \end{array}", (2i, 0), true, true, 0, -1), i, 0, 30)

photo
1

Gracias. No he logrado entender la explicación de rami. He consultado el link que rami me proporcionó, pero tampoco resolvió mi duda.

Actualmente tengo esto:


I2 = Secuencia(Texto(" " + (-1 + 2i) + "\\ " + "cm", l5(i + 0), true, true), i, 1, 30)

I3 = Secuencia(Texto(" " + (0 + 2i) + "\\ " + "cm", l4(i + 0), true, true), i, 0, 30)

I4 = Secuencia((k - 0.9, h + 1.8), k, 1, 15, 1)

I5 = Secuencia((k - 0.5, -0.4), k, 1, 15, 1)


La secuencia I4 es una lista de puntos que sirve para indicar la posición de cada uno de los textos de I2. La secuencia I5 es una lista de puntos que sirve para indicar la posición de cada uno de los textos de I3.


Me gustaría conservar las secuencias I4 e I5 como dato para las secuencias I2, I3, lo cual en principio no estaría sucedidendo con tu propuesta, ya que tendría que tipearlas nuevamente dentro de la nueva secuencia. Veo que tu lista de puntos quedó perfectamente centrada, pero no está ubicada en los puntos que ya tengo previamente establecidos. Me gustaría introducir el comando "c" en alguna parte de las secuencias I2, I3, sin perjuicio de los otros datos que contienen.

photo
1

en l2 cambia " " + (-1 + 2i) + "\\ " + "cm" por "\begin{array}{c}" (-1+2i) "\\cm \end{array}" y true, true por true, true, 0, 0

o sea I2 = Secuencia(Texto("\begin{array}{c}" (-1+2i) "\\cm \end{array}", l5(i + 0), true, true,0,0), i, 1, 30)

y creo que será lo que quieres, y sobre todo asegurate que entiendes los elemnetos de los comandos

similar para l3

photo
1

Muchas gracias. La I3 me quedó perfecta, pero no sé por qué algo está fallando en la I2. Me grafica los siguientes valores:

1-3-5-...-29


y el primer valor lo ubica en el segundo punto (eso es correcto). No he logrado que rotule el primer punto, que debería valer 0 cm. Probé de varias maneras y todas tienen algún bug:


Esta es la que rotula correctamente 15 de los 16 puntos:

Secuencia(Texto("\begin{array}{c}" + (-2 + 2i) + "\\cm \end{array}", l5(i - 1), true, true), i, 1, 30)


Con esta alternativa, inicia el conteo en 4 en el segundo punto y el último punto tiene dos rótulos superpuestos, 0 y 32:

Secuencia(Texto("\begin{array}{c}" + (-2 + 2i) + "\\cm \end{array}", l5(i - 2), true, true), i, 1, 30)


Con esta alternativa, inicia el conteo en 2 en el segundo punto y el último punto tiene dos rótulos superpuestos, 30 y -2:

Secuencia(Texto("\begin{array}{c}" + (-2 + 2i) + "\\cm \end{array}", l5(i - 1), true, true), i, 0, 30)


En resumen, las modificaciones que se me ocurrieron agregan un rótulo adicional superpuesto con otro rótulo y siguen dejando el primer punto sin rotular.

photo
2

si quieres que rotule los pares desde 0 pon 0+2i en lugar de -1+2i

I2 = Secuencia(Texto("\begin{array}{c}" (0+2i) "\\cm \end{array}", l5(i + 0), true, true,0,0), i, 1, 30)

por otro lado I5(i-1) no tiene sentido si i es un 1 pues sería I5(0) y no hay elemento cero en una secuencia

repito que hagas un dibujo de lo que quieres y te doy el comando. si se te superponen rotulos es porque I5 tiene valores muy cercanos o porque están mal definidos

hacer pruebas a lo loco no creo que sea util

yo pondría I5 = Secuencia((k , 0), k, 1, 15, 1)

pero no entiendo porqué quieres posicionarlos de un cm en un cm y rotularlos de dos en dos

photo
1

Muchas gracias por tu orientación.

Te cuento cómo quedó resuelto:

I5=Secuencia((k - 1.65, -0.4), k, 1, 16, 1)

El cambio necesario era que esta secuencia termine en 16, así se refiere a 16 puntos (me faltaba uno).

I2=Secuencia(Texto("\begin{array}{c}" + (-2 + 2i) + "\\cm \end{array}", l5(i + 0), true, true), i, 0, 30)


En este caso el cambio fue empezar en -2... Eso no logré entender por qué. Esperaba que cuando i=0 la cuenta dé 0, pero no.

En este caso es irrelevante el valor final de i (donde puse 30) ya que simplemente continúa el conteo hasta que I5 se queda sin puntos.


La razón por la que voy de dos en dos es que hay dos secuencias: los números pares los rotulo abajo y los números impares los rotulo arriba.

photo
© 2021 International GeoGebra Institute