1
1
Fork 0

Bump a few things

This commit is contained in:
Kenwood 2024-09-30 13:32:02 -04:00
parent 23d7c0d52f
commit ce836a568c
3 changed files with 102 additions and 0 deletions

91
.local/bin/qalctex Executable file
View File

@ -0,0 +1,91 @@
#!/bin/python
import subprocess
import re
# Dictionary for symbol conversion to LaTeX format
latex_symbols = {
"Ω": r"\Omega",
"ohm": r"\Omega",
"A": r"\text{A}",
"V": r"\text{V}",
"*": r"\cdot",
"N*m": r"\text{N} \cdot \text{m}",
"in*lb": r"\text{in} \cdot \text{lb}",
"||": r"\|",
}
def run_qalc(expression):
# Run qalc with the provided expression
result = subprocess.run(["qalc", expression], stdout=subprocess.PIPE, text=True)
output = result.stdout
return output
def format_expression_for_latex(expression):
# Replace the units and special characters in the input expression using the dictionary
for symbol, latex_symbol in latex_symbols.items():
expression = expression.replace(symbol, latex_symbol)
return expression
def format_result_for_latex(output):
# Get the last line of qalc output (the answer)
output = output.strip().split("\n")[-1]
# Check if the result is approximate (contains "≈")
approx_match = "≈" in output
# Extract the value and unit from the result
match = re.search(r"(≈|=)\s*([-\d\.]+)\s*(.*)", output)
if match:
_, value, unit = match.groups()
# Replace the units and special characters using the dictionary
unit = unit.strip()
for symbol, latex_symbol in latex_symbols.items():
unit = unit.replace(symbol, latex_symbol)
# Use = or \approx in LaTeX based on whether the result is approximate
equal_symbol = r"\approx" if approx_match else "="
# Only add \, if there's a unit
if unit:
latex_result = f"{equal_symbol} {value.strip()} \\, {unit}"
else:
latex_result = f"{equal_symbol} {value.strip()}"
return latex_result
return output # Fallback to returning the raw qalc output if no match
def copy_to_clipboard(text):
# Use wl-copy to send the text to the clipboard
subprocess.run(["wl-copy"], input=text, text=True)
def main():
# Input the qalc expression
expression = input("Enter qalc expression: ")
# Run qalc and get the result
qalc_output = run_qalc(expression)
# Format the input expression for LaTeX
latex_expression = format_expression_for_latex(expression)
# Format the output result for LaTeX
latex_result = format_result_for_latex(qalc_output)
# Combine both input expression and result for final LaTeX output
final_latex_output = f"${latex_expression} {latex_result}$"
# Print and copy to clipboard
print(f"Final LaTeX output:\n{final_latex_output}")
copy_to_clipboard(final_latex_output)
print("LaTeX result copied to clipboard!")
if __name__ == "__main__":
main()

View File

@ -12,6 +12,10 @@ host edge
HostName 10.85.5.52
User joe
host bitwarden
HostName 10.85.3.83
User joe
host frigate
IdentityFile ~/.ssh/hydroxonium
HostName 10.85.3.22
@ -123,6 +127,12 @@ Host stdocker1
HostName 10.20.30.225
IdentityFile ~/.ssh/stdocker
# Little mini-pc in the IOT room
Host pioremote
# This is actually a zerotier ip
HostName 10.144.0.15
IdentityFile ~/.ssh/silvertech/silvertech
# Work laptop
Host workLaptop
HostName 10.144.236.234

1
.zshrc
View File

@ -5,6 +5,7 @@ fortune -a
# Add my bins to path
path+=("$HOME/.local/bin")
path+=("$HOME/Pictures/Furry/Scripts")
export PATH
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.